SCIP (Solving Constraint Integer Programs) is a mixed integer programming solver and a framework for branch and cut and branch and price, developed primarily at Zuse Institute Berlin. Unlike most commercial solvers, SCIP gives the user low-level control of and information about the solving process. Run as a standalone solver, it is one of the fastest non-commercial solvers for mixed integer programs.1
SCIP is implemented as C callable library. For user plugins, C++ wrapper classes are provided. The solver for the LP relaxations is not a native component of SCIP, an open LP interface is provided instead. Currently supported LP solvers are CLP, CPLEX, MOSEK, SoPlex, and Xpress. SCIP can be run on Linux, Mac, Sun, and Windows operating systems.
Prior versions of SCIP were distributed under a source-available license that allowed free academic use. Starting from version 8.0.3 the full suite was released under the Apache 2.0 license.2
The design of SCIP is based on the notion of constraints. It supports about 20 constraint types for mixed-integer linear programming, mixed-integer nonlinear programming, mixed-integer all-quadratic programming and Pseudo-Boolean3 optimization. It can also solve Steiner Trees and multi-objective optimization problems.45
There are several native interface libraries available for SCIP. SCIP can be accessed through the modeling system of GAMS. Interfaces to MATLAB and AMPL are available within the standard distribution. There are also currently externalized interfaces for Python, Java, Julia, and Rust.6
Mixed Integer Linear Programming Benchmark Mar 18, 2012. http://plato.asu.edu/ftp/milpc.html ↩
Release notes for SCIP 8.0 Feb 15, 2023. https://www.scipopt.org/doc-8.0.3/html/RN80.php ↩
Pseudo-Boolean challenge 2009 Feb 11, 2011. http://www.cril.univ-artois.fr/PB09/results/ranking.php?idev=28 ↩
A Generic Approach to Solving the Steiner Tree Problem and Variants Nov 9, 2015. https://opus4.kobv.de/opus4-zib/files/5781/MasterThesis.pdf ↩
PolySCIP Aug 15, 2016. http://polyscip.zib.de/ ↩
scipopt May 22, 2023. https://github.com/scipopt/ ↩