Google Optimization Tools (OR-Tools) is a fast and portable software suite for solving combinatorial optimization problems.
-
or-tools - Google's Operations Research tools in GitHub
- Install Anaconda Python 3.6 or 3.7
- Open a conda prompt
- Install or-tools 6.8 by running
pip install ortools
SCIP is currently one of the fastest non-commercial solvers for mixed integer programming (MIP) and mixed integer nonlinear programming (MINLP). It is also a framework for constraint integer programming and branch-cut-and-price. It allows for total control of the solution process and the access of detailed information down to the guts of the solver.
-
Installation on Mac OS X 10.13.6
- Download SCIPOptSuite-6.0.0-Darwin.dmg
- Open
SCIPOptSuite-6.0.0-Darwin.dmg
and copy the three directories,bin
,include
, andlib
into some place (e.g.,sudo mkdir -p /opt/scip
and thensudo cp -R /Volumes/SCIPOptSuite-6.0.0-Darwin/bin /Volumes/SCIPOptSuite-6.0.0-Darwin/include /Volumes/SCIPOptSuite-6.0.0-Darwin/lib /opt/scip
) - Assume Anaconda Python is already installed on
/opt/conda
- Change the dyld path as follows: (Repeat the same process for
soplex
andzimpl
as well as/opt/scip/lib/libscip.6.0.0.0.dylib
instead ofscip
.)
$ cd /opt/scip/bin
$ otool -L scip (shows the current dyld path)
scip:
/usr/local/opt/gmp/lib/libgmp.10.dylib (...)
/usr/local/opt/gmp/lib/libgmpxx.4.dylib (...)
...
$ sudo install_name_tool -change /usr/local/opt/gmp/lib/libgmp.10.dylib @rpath/libgmp.10.dylib scip
$ sudo install_name_tool -change /usr/local/opt/gmp/lib/libgmpxx.4.dylib @rpath/libgmpxx.4.dylib scip
$ sudo install_name_tool -add_rpath /opt/conda/lib
$ otool -L scip (checks whether the dyld path was changed properly)
scip:
@rpath/libgmp.10.dylib (...)
@rpath/libgmpxx.4.dylib (...)
...
$ scip (checks whether it works)
SCIP version 6.0.0 ...
-
Installation on Windows Subsystem for Linux (e.g. openSUSE Leap 42 under Windows Subsystem for Linux)
- Download SCIPOptSuite-6.0.0-Linux.sh
- Install by running
sudo bash SCIPOptSuite-6.0.0-Linux.sh --prefix=/opt
and thencd /opt && sudo ln -s SCIPOptSuite-6.0.0-Linux scip
- Install the packages
liblapack3
andlibblas3
(in the case of openSUSE Leap 42, runsudo zypper install liblapack3 libblas3
)
Note: In the case of Cent OS 7, you may need
patchelf
to adjust the ld path. You can install it by runningconda install patchelf
under Linux. -
Installation on Windows 10
- Download SCIPOptSuite-6.0.0-win64-VS15.exe
- Install by double click the icon of the file
SCIPOptSuite-6.0.0-win64-VS15.exe
- Be sure to add the path.
-
PySCIPOpt - Python interface for the SCIP Optimization Suite
- Install Anaconda Python 3.6
- Install SCIP 6.0.0
- Open a conda prompt and run
conda activate
- Check that
cython
is already installed by runningconda list | grep cython
. Otherwise, runconda install cython
- Set the environment variable
export SCIPOPTDIR=/opt/scip
(Linux & Mac OS X) orset SCIPOPTDIR=C:\Program Files\SCIPOptSuite 6.0.0
(Windows 10) (See INSTALL.rst for more details) - Install PySCIPOpt 2.0.0 by running
pip install pyscipopt
- How to check whether PySCIPOPt 2.0.0 is installed properly.
- Mac OS X:
DYLD_LIBRARY_PATH=/opt/scip/lib; ipython -c 'import pyscipopt'
orexport DYLD_LIBRARY_PATH=/opt/scip/lib
- Linux:
LD_LIBRARY_PATH=/opt/scip/lib; ipython -c 'import pyscipopt'
orexport LD_LIBRARY_PATH=/opt/scip/lib
- Windows 10:
ipython -c "import pyscipopt"
- (Optional: Mac OS X) Change the dyld path directly:
$ cd /opt/conda/lib/python3.6/site-packages/pyscipopt
$ otool -L scip.cpython-36m-darwin.so (shows the current dyld path)
scip.cpython-36m-darwin.so:
libscip.6.0.dylib (...)
...
$ sudo install_name_tool -change libscip.6.0.dylib @rpath/libscip.6.0.dylib -add_rpath /opt/scip/lib scip.cpython-36m-darwin.so
$ otool -L scip.cpython-36m-darwin.so (checks whether the dyld path was changed properly)
scip.cpython-36m-darwin.so:
@rpath/libscip.6.0.dylib (...)
...
$ ipython -c 'import pyscipopt' (checks whether it works)