GitHub - chofchof/optimization: Optimization Tools and Exercises

SCIP Optimization Suite and PySCIPOpt

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. (https://www.scipopt.org)

PySCIPOpt is a Python interface for the SCIP Optimization Suite.

Installation on Linux and macOS with Anaconda

  1. Install Miniconda Python 3 (Python 3.8 or 3.9, 64-bit).

  2. Create a Python virtual environment and install pyscipopt and scip.

    $ conda create -n scip pyscipopt -c conda-forge
    $ conda activate scip
    $ conda config --add channels conda-forge --env

    It is also possible to install soplex, zimpl, and gcg using the conda-forge channel.

Installation on Windows 10 (64-bit only)

A. SCIPOptSuite-7.0.2

  1. Download SCIPOptSuite-7.0.2-win64-VS15.exe.

  2. Install by double click the icon of the file.

  3. Open Advanced system settings(고급 시스템 설정) in Windows 10 and click Environment variables(환경 변수) to add C:\Program Files\SCIPOptSuite 7.0.2\bin in the Path variable.

B. PySCIPOpt-3.1.2

  1. Requirements:

  2. Download one of the following wheels.

  3. Run the following commands from the command prompt.

    > conda create -n scip python=3.8
    > conda activate scip
    > pip install PySCIPOpt-3.1.2-cp38-cp38-win_amd64.whl

C. (Optional) Make PySCIPOpt-3.1.2 wheel

  1. Requirements:

  2. Download PySCIPOpt-3.1.2.zip (https://github.com/scipopt/PySCIPOpt/releases) and extract the file.

  3. Run the following commands from the command prompt to make a wheel.

    > conda create -n scip cython pytest
    > conda activate scip
     
    > cd PySCIPOpt-3.1.2
    > set SCIPOPTDIR="C:\Program Files\SCIPOptSuite 7.0.2"
    > pip wheel .
  4. Run the following commands from the command prompt to test the installation.

Google OR-Tools

Google OR-Tools is an open source software suite for optimization, tuned for tackling the world's toughest problems in vehicle routing, flows, integer and linear programming, and constraint programming. (https://developers.google.com/optimization)

Google Optimization Tools in GitHub (https://github.com/google/or-tools)

  1. Install Miniconda Python 3 (Python 3.8 or 3.9, 64-bit)

  2. Install or-tools by running

    $ conda activate scip
    $ conda install absl-py protobuf
    $ pip install ortools