Similar Software#

Alternate MIP Solvers (with Python interfaces)#

In the following we will give a list of other mixed-integer optimizers with available python interfaces. As each solver has its own set of problem classes that it can solve we will use a table with reference keys to summarize these problem classes.

Note

This table is by no means complete.

Note

SCIP can solve of all the below problem classes (and many more).

Label Summaries#

Key

Feature

LP

Linear Programs

MILP

Mixed-Integer Linear Programs

QP

Quadratic Programs

MIQP

Mixed-Integer Quadratic Programs

QCP

Quadratically Constrained Programs

MIQCP

Mixed-Integer Quadratically Constrained Programs

MINLP

Mixed-Integer Nonlinear Programs

PB

Pseudo-Boolean Problems

SOCP

Second Order Cone Programming

SDP

Semidefinite Programming

MISDP

Mixed-Integer Semidefinite Programming

Open Source#

Closed Source#

  • CPLEX: LP, MILP, QP, MIQP, QCP, MIQCP, SOCP

  • Gurobi: LP, MILP, QP, MIQP, QCP, MIQCP, MINLP, PB, SOCP

  • Xpress: LP, MILP, QP, MIQP, QCP, MIQCP, MINLP, SOCP

  • COPT: LP, MILP, QP, MIQP, QCP, MIQCP, SOCP, SDP

  • MOSEK: LP, MILP, QP, MIQP, QCP, MIQCP, SOCP, SDP, MISDP

General Modelling Frameworks (Solver Agnostic)#

This list will contain general modelling frameworks that allow you to use swap out SCIP for other mixed-integer optimizers. While we recommend using PySCIPOpt for the many features it provides, which are for the most part not available via general modelling frameworks, if you want to simply use a mixed-integer optimizer then a general modelling framework allows you to swap out the solver in a single line. This is a big advantage if you are uncertain of the solver that you want to use, you believe the solver might change at some point, or you want to compare the performance of different solvers.

Software using PySCIPOpt#

This is software that is built on PySCIPOpt

  • PyGCGOpt: An extension of SCIP, using generic decompositions for solving MIPs

  • GeCO: Generators for Combinatorial Optimization

  • scip-routing: An exact VRPTW solver in Python

  • PySCIPOpt-ML: Python interface to automatically formulate Machine Learning models into Mixed-Integer Programs

  • SCIP Book: Mathematical Optimization: Solving Problems using SCIP and Python

Additional SCIP Resources#