Commit b443244f authored by Valentin Platzgummer's avatar Valentin Platzgummer

or-tools src added

parent e3446ec6

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -10,6 +10,3 @@
[submodule "libs/polylabel"]
path = libs/polylabel
url = https://github.com/mapbox/polylabel.git
[submodule "libs/ortools-with-cmake"]
path = libs/ortools-with-cmake
url = https://github.com/jwdinius/ortools-with-cmake.git
......@@ -152,6 +152,12 @@ CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=QGroundControl
......@@ -205,7 +211,10 @@ CMAKE_STRIP:FILEPATH=/usr/bin/strip
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//The directory containing a CMake configuration file for GeographicLib.
GeographicLib_DIR:PATH=/usr/local/lib/cmake/GeographicLib
GeographicLib_DIR:PATH=GeographicLib_DIR-NOTFOUND
//Path to a library.
GeographicLib_LIBRARIES:FILEPATH=/usr/lib/x86_64-linux-gnu/libGeographic.so
//Path to a library.
M_LIB:FILEPATH=/usr/lib/x86_64-linux-gnu/libm.so
......@@ -240,6 +249,9 @@ Qt5Multimedia_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5Multimedia
//The directory containing a CMake configuration file for Qt5Network.
Qt5Network_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5Network
//The directory containing a CMake configuration file for Qt5PositioningQuick.
Qt5PositioningQuick_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5PositioningQuick
//The directory containing a CMake configuration file for Qt5Positioning.
Qt5Positioning_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5Positioning
......@@ -294,15 +306,15 @@ USE_RPATH:BOOL=ON
//The directory containing a CMake configuration file for ortools.
ortools_DIR:PATH=ortools_DIR-NOTFOUND
//Path to a library.
polyclipping:FILEPATH=polyclipping-NOTFOUND
//Value Computed by CMake
polyclipping_BINARY_DIR:STATIC=/home/valentin/Desktop/drones/qgroundcontrol/libs/clipper
//The directory containing a CMake configuration file for polyclipping.
polyclipping_DIR:PATH=polyclipping_DIR-NOTFOUND
//Dependencies for target
polyclipping_LIB_DEPENDS:STATIC=
//Value Computed by CMake
polyclipping_SOURCE_DIR:STATIC=/home/valentin/Desktop/drones/qgroundcontrol/libs/clipper
......@@ -318,8 +330,8 @@ shapelib_SOURCE_DIR:STATIC=/home/valentin/Desktop/drones/qgroundcontrol/libs/sha
//Dependencies for the target
shp_LIB_DEPENDS:STATIC=general;-lm;
//Dependencies for target
snake_LIB_DEPENDS:STATIC=
//Dependencies for the target
snake_LIB_DEPENDS:STATIC=general;/usr/lib/x86_64-linux-gnu/libGeographic.so;general;polyclipping;
########################
......@@ -335,9 +347,9 @@ CMAKE_CACHEFILE_DIR:INTERNAL=/home/valentin/Desktop/drones/qgroundcontrol
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=10
CMAKE_CACHE_MINOR_VERSION:INTERNAL=13
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
CMAKE_CACHE_PATCH_VERSION:INTERNAL=4
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable.
......@@ -396,6 +408,8 @@ CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
......@@ -432,7 +446,7 @@ CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.10
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.13
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
......@@ -463,4 +477,8 @@ CMAKE_STRIP-ADVANCED:INTERNAL=1
CMAKE_UNAME:INTERNAL=/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//Details about finding GeographicLib
FIND_PACKAGE_MESSAGE_DETAILS_GeographicLib:INTERNAL=[/usr/lib/x86_64-linux-gnu][/usr/lib/x86_64-linux-gnu/libGeographic.so][/usr/include][v()]
//ADVANCED property for variable: GeographicLib_LIBRARIES
GeographicLib_LIBRARIES-ADVANCED:INTERNAL=1
This diff is collapsed.
This diff is collapsed.
# Introduction
This file describes how to install the OR-Tools C++, Java and .Net binary archive.
OR-Tools is located at https://developers.google.com/optimization
These modules have been tested under:
- Ubuntu 14.04, 16.04, 17.10 and 18.04 (64-bit).
- macOS 10.13 High Sierra with Xcode 9.4 (64 bit).
- Microsoft Windows with Visual Studio 2015 and 2017 (64-bit)
Upon decompressing the archive, you will get the following structure:
```
or-tools/
LICENSE-2.0.txt <- Apache 2.0 License
README.md <- This file
Makefile <- Main Makefile for C++,Java and .Net
examples/ <- C++, Java and .Net examples
include/ <- all include files
objs/ <- directory containing C++ compiled object files (*.o)
classes/ <- directory containing Java class files.
packages/ <- directory containing .Net nuget packages.
lib/ <- directory containing libraries and jar files.
bin/ <- directory containing executable files
```
# C++
Running the examples will involve compiling them, then running them.
We have provided a makefile target to help you.
Use Makefile:
```shell
make run SOURCE=examples/cpp/golomb.cc
```
**OR** this is equivalent to compiling and running
`examples/cpp/golomb.cc`.
- on Unix:
```shell
make bin/golomb
./bin/golomb
```
- on Windows:
```shell
make bin\\golomb.exe
bin\\golomb.exe
```
# Java
Running the examples will involve compiling them, then running them.
We have provided a makefile target to help you. You need to have the
java and javac tools accessible from the command line.
Use Makefile:
```shell
make run SOURCE=examples/java/RabbitsPheasants.java
```
**OR** this is equivalent to compiling and running
`examples/java/RabbitsPheasants.java`.
- on Unix:
```shell
javac -d classes/RabbitsPheasants -cp lib/com.google.ortools.jar:lib/protobuf.jar examples/java/RabbitsPheasants.java
jar cvf lib/RabbitsPheasants.jar -C classes/RabbitsPheasants .
java -Djava.library.path=lib -cp lib/RabbitsPheasants.jar:lib/com.google.ortools.jar:lib/protobuf.jar RabbitsPheasants
```
- on Windows:
```shell
javac -d class/RabbitsPheasants -cp lib/com.google.ortools.jar;lib/protobuf.jar examples/java/RabbitsPheasants.java
jar cvf lib/RabbitsPheasants.jar -C classes/RabbitsPheasants .
java -Djava.library.path=lib -cp lib/RabbitPheasants.jar;lib/com.google.ortools.jar;lib/protobuf.jar RabbitsPheasants
```
# .Net
Running the examples will involve compiling them, then running them.
We have provided a makefile target to help you. You need to have the
dotnet/cli tools accessible from the command line.
Use Makefile:
```shell
make run SOURCE=examples/dotnet/csflow.cs
```
**OR** this is equivalent to compiling and running
`examples/dotnet/csflow.cs`.
- on Unix:
```shell
dotnet build examples/dotnet/csflow.csproj
dotnet run --no-build --project examples/dotnet/csflow.csproj
```
- on Windows:
```shell
dotnet build examples\dotnet\csflow.csproj
dotnet run --no-build --project examples\dotnet\csflow.csproj
```
# C++ examples
The following examples showcase how to use the different Operations Research libraries.
## Examples list
- Constraint Solver examples:
- cryptarithm.cc Demonstrates the use of basic modeling objects
(integer variables, arithmetic constraints and expressions,
simple search).
- golomb.cc Demonstrates how to handle objective functions and collect
solutions found during the search.
- magic_square.cc Shows how to use the automatic search to solve your
problem.