Henry Robbins (2020) | Based on George Frentzel's Report
- Quick installation using terminal in conda
- Uses AMPL dat file (more or less identical)
- Abstract methods
- Syntax most similar to AMPL mod files
- Poor syntax - does not read well
- Lengthy variables
- Objectives and constraints defined by functions
- Instructions
conda install -c conda-forge pyomo
- Quick installation using terminal in conda
- Better syntax then Pyomo
- Does not differentiate between objective and constraints well
- Does not have abstract models
- Have to write .lp file before solving
- Instructions
pip install pulp
- World-class solver
- Similar syntax to open-source PySCIPOpt software
- Potential advantage to have students manipulating data not using .dat file
- Great syntax
- Not open-source - not as useful after students graduate
- Trying to obtain academic license as a remote student
- More steps to the installation process
- Must update model after declaring variables
- Instructions
- Acquire a Gurobi license
conda config --add channels http://conda.anaconda.org/gurobi
install gurobi
- Open-source
- Potential advantage to have students manipulating data not using .dat file
- Great syntax
- Nightmare to install
- Less reliable
- Potential issues with dual values
Somewhat helpful: Handout from University of Southern Denmark, Odense Lab
- Download Homebrew
brew install cmake
brew install gcc
brew install boost
- Download SCIP Optimization Suite (scipoptsuite-7.0.0.tgz)
- Further instructions in README Change the following lines in CMakeLists.text (double check this)
- option(PAPILO "should papilo library be linked" OFF)
- option(ZIMPL "should zimpl be linked" OFF)
- ption(GMP "should GMP be linked" OFF)
- option(GCG "should GCG be included" OFF)
- option(SOPLEX "should SOPLEX be included" OFF)
- Run the following in terminal from the unzipped scipoptsuite-7.0.0
mkdir build
cd build
cmake ..
make
make check
make install
- Install the PySCIPOpt module
export SCIPOPTDIR=<path_to_install_dir>
pip install pyscipopt
- Documentation and Classes
- Easy to download
- Uses open source LP optimization solver: Glop
- Uses open source MIP optimization solver: CBC
- Similar syntax to both GurobiPy and PySCIPOpt
- Excellent documentation
- No abstract models
- Instructions
python -m pip install --upgrade --user ortools
- NO LONGER NEED TO INSTALL FROM SOURCE TO USE GUROBI
- From source (to use third-party solvers): source installation
- Add to Makefile.local
UNIX_GUROBI_DIR = /Library/gurobi902/
GUROBI_LIB_VERSION = 90
- Add to Makefile.local
- Use solver:
OR.Solver.GUROBI_MIXED_INTEGER_PROGRAMMING
- External solvers