or-tools:谷歌优化开源工具(Google Optimization Tools)
jopen
9年前
谷歌的组合优化工具or-tools的介绍。
The suite contains:
- A constraint programming solver.
- A simple and unified interface to several linear programming and mixed integer programming solvers, including CBC, CLP, GLOP, GLPK, Gurobi, SCIP, and Sulum.
- Knapsack algorithms
- Graph algorithms (shortest paths, min cost flow, max flow, linear sum assignment)
The or-tools suite is:
- Open source and free. Examples and source code are freely available for download under Apache License 2.0.
- Alive. The library is actively maintained; improvements are made frequently.
- Documented. In addition to this site, there are many examples available in C++, Python, Java, and C#.
- Portable. The code conforms strictly to Google C++ coding style. Everything is coded in C++ and available through SWIG in Python, Java, and .NET (using Mono on non-Windows platforms). It's known to compile on:
- gcc 4.4.x on Ubuntu 10.04 and up (10.10, 11.04, 11.10 and 12.04).
- Xcode >= 3.2.3 on Mac OS X Snow Leopard and Mac OS X Lion (gcc 4.2.1).
- Microsoft Visual Studio 10.
- Efficient. We use it internally at Google, where speed and memory consumption are critical.
- User-friendly. We try to make our code as easy to use as possible (especially in Python and C#).
- Well tested. We use it in mission-critical applications at Google, as do many external developers. </ul>
- A general introduction to combinatorial optimization.
- Installation instructions for or-tools.
- Code examples in the navigation bar for particular problems you might want to solve.
On this site you'll find:
These libraries have been tested under: - Ubuntu 10.04 and up (32 and 64 bit). - Mac OS X Mavericks and up with Xcode 5.x (64 bit). - Microsoft Windows with Visual Studio 2013 Upon checking out the repository, you will get the following structure: or-tools/ LICENSE-2.0.txt <- Apache license Makefile <- Top-level Makefile CONTRIBUTING <- Contribution guidelines README <- This file bin/ <- Compiled binaries com/ <- All Java code dependencies/ <- Built dependencies examples/ <- Root directory for all examples examples/com/ <- Java examples examples/cpp/ <- C++ examples examples/csharp/ <- C# examples examples/python/ <- Python examples examples/tests/ <- C# unit tests and bug reports lib/ <- Libraries and jar files makefiles/ <- Subsidiary makefiles objs/ <- C++ object files src/ <- Source code src/algorithms/ <- Basic algorithms src/base/ <- Basic utilities src/constraint_solver/ <- Constraint solver src/gen/ <- Generated files src/graph/ <- Graph algorithms src/linear_solver/ <- Linear solver wrapper src/util/ <- Utilities needed by the constraint solver tools/ <- Windows binaries