Scippy

SCIP

Solving Constraint Integer Programs

Welcome!

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.



By default, SCIP comes with a bouquet of different plugins for solving MIPs and MINLPs.
If you are new to SCIP, want to dive in and don't know where to begin, then have a look at the Getting started page.

News

September/2024 SCIP version 9.1.1
The SCIP Optimization Suite 9.1.1 consists of SCIP 9.1.1, GCG 3.6.3, SoPlex 7.1.1, ZIMPL 3.6.2, PaPILO 2.3.1 and UG 1.0.0 beta 5. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
June/2024 SCIP version 9.1.0
The SCIP Optimization Suite 9.1.0 (minor release) consists of SCIP 9.1.0, GCG 3.6.2, SoPlex 7.1.0, ZIMPL 3.6.1, PaPILO 2.3.0 and UG 1.0.0 beta 5. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
May/2024 SCIP version 9.0.1
The SCIP Optimization Suite 9.0.1 consists of SCIP 9.0.1, GCG 3.6.1, SoPlex 7.0.1, ZIMPL 3.6.0, PaPILO 2.2.1 and UG 1.0.0 beta 4. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
Feb/2024 SCIP version 9.0.0
The SCIP Optimization Suite 9.0.0 consists of SCIP 9.0.0, GCG 3.6.0, SoPlex 7.0.0, ZIMPL 3.5.3, PaPILO 2.2.0 and UG 1.0.0 beta 4. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
Nov/2023 SCIP version 8.1.0
The SCIP Optimization Suite 8.1.0 consists of SCIP 8.1.0, GCG 3.5.5, SoPlex 6.0.4, ZIMPL 3.5.3, PaPILO 2.1.4 and UG 1.0.0 beta 3. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
Aug/2023 SCIP version 8.0.4
The SCIP Optimization Suite 8.0.4 consists of SCIP 8.0.4, GCG 3.5.3, SoPlex 6.0.4, ZIMPL 3.5.3, PaPILO 2.1.3 and UG 1.0.0 beta 3. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
Dec/2022 SCIP version 8.0.3
The SCIP Optimization Suite 8.0.3 consists of SCIP 8.0.3, GCG 3.5.3, SoPlex 6.0.3, ZIMPL 3.5.3, PaPILO 2.1.2 and UG 1.0.0 beta 3. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
04/Nov/2022 SCIP license update
Starting with the next release SCIP will be licensed under the Apache 2.0 License.
06/Oct/2022 SCIP version 8.0.2
The SCIP Optimization Suite 8.0.2 consists of SCIP 8.0.2, GCG 3.5.2, SoPlex 6.0.2, ZIMPL 3.5.3, PaPILO 2.1.1 and UG 1.0.0 beta 2. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
Aug/2022 Announcing the SCIP Workshop 2022 to the vicenary anniversary of SCIP in fall 2022.
Jun/2022 SCIP version 8.0.1
The SCIP Optimization Suite 8.0.1 consists of SCIP 8.0.1, GCG 3.5.1, SoPlex 6.0.1, ZIMPL 3.5.2, PaPILO 2.1.0 and UG 1.0.0 beta 2. Please check the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
28/Jan/2022 SCIP version 8.0.0
The SCIP Optimization Suite 8.0.0 consists of SCIP 8.0.0, GCG 3.5.0, SoPlex 6.0.0, ZIMPL 3.5.1, PaPILO 2.0.0 and UG 1.0.0 beta. Please check the release report on Optimization Online and the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
15/Dec/2021 Beta of SCIP version 8.0.0 released
12/Aug/2021 SCIP version 7.0.3
The version of the SCIP Optimization Suite 7.0.3 consists of SCIP 7.0.3, GCG 3.0.5, SoPlex 5.0.2, ZIMPL 3.4.0, PaPILO 1.0.2 and UG 0.9.1. It contains bugfixes for SCIP and GCG, see the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
5/Jun/2021 Beta of SCIP version 7.0.3 released
26/May/2021 Public Mirrors on GitHub
The two main development branches of SCIP, SoPlex and PaPILO are now publicly mirrored on GitHub.
13/Jan/2021 SCIP version 7.0.2
The SCIP Optimization Suite 7.0.2 consists of SCIP 7.0.2, SoPlex 5.0.2, ZIMPL 3.4.0, GCG 3.0.4, PaPILO 1.0.2 and UG 0.9.1. It contains important bugfixes and other improvements for all components of the Optimization Suite, see the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
19/Dec/2020 Beta of SCIP version 7.0.2 released
25/Sep/2020 Patched bliss fork now available on GitHub
For symmetry detection the SCIPOptSuite now uses a fork of bliss available on GitHub.
23/Jun/2020 SCIP version 7.0.1 released
The SCIP Optimization Suite 7.0.1 consists of SCIP 7.0.1, SoPlex 5.0.1, ZIMPL 3.4.0, GCG 3.0.3, PaPILO 1.0.1 and UG 0.9.0. It contains important bugfixes and other improvements for all components of the Optimization Suite, see the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
28/May/2020 Marc Pfetsch and Sebastian Pokutta wrote a blog post about an easy to use dockerized SCIP container for teaching .
12/May/2020 Open positions in the development team: 5 years PostDoc (apply here) and 3 years PhD (apply here)! After the underlying funding scheme of Research Campus MODAL has been extended until 2025, ZIB is looking to grow the SCIP team in different research directions for the next years to come.
20/Apr/2020 There will be a SCIP Online Workshop on 3rd and 4th of June 2020.
8/Apr/2020 SCIP version 7.0.0 packages updated
Source code package and windows executables have been updated to resolve an error with TBB.
30/Mar/2020 SCIP version 7.0.0 released
The SCIP Optimization Suite 7.0.0 consists of SCIP 7.0.0, SoPlex 5.0.0, ZIMPL 3.3.9, GCG 3.0.3, PaPILO 1.0.0 and UG 0.8.9. It contains important bugfixes and other improvements for all components of the Optimization Suite, see the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
10/Jul/2019 SCIP version 6.0.2 released
The SCIP Optimization Suite 6.0.2 consists of SCIP 6.0.2, SoPlex 4.0.2, ZIMPL 3.3.8, GCG 3.0.2, and UG 0.8.8. It contains important bugfixes and other improvements for all components of the Optimization Suite, see the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
28/Jun/2019 Beta of SCIP version 6.0.2 released
10/Jan/2019 SCIP version 6.0.1 released
The SCIP Optimization Suite 6.0.1 consists of SCIP 6.0.1, SoPlex 4.0.1, ZIMPL 3.3.7, GCG 3.0.1, and UG 0.8.7. It contains important bugfixes and other improvements for all components of the Optimization Suite, see the CHANGELOG of SCIP or browse the individual CHANGELOGs of the other projects.
02/Jul/2018 SCIP version 6.0.0 released
The SCIP Optimization Suite 6.0.0 consists of SCIP 6.0.0, SoPlex 4.0.0, ZIMPL 3.3.6, GCG 3.0.0, and UG 0.8.6. For details regarding the SCIP release, please see the current CHANGELOG. An in-depth description of the new features and improvements of all components of the SCIP Optimization Suite can be found in the technical report The SCIP Optimization Suite 6.0.
19/Feb/2018 Visualizing SCIP's branch-and-bound tree
Researchers looking for branch-and-bound tree visualizations for SCIP may consider the tool vbc2dot, which has been developed by our colleague Uwe Gotzes.

older news...

05/Feb/2018 SCIP version 5.0.1 released
This is the first bugfix release for version 5 of the SCIP Optimization Suite. A comprehensive list of the fixes and improvements for SCIP can be found in the release notes and the CHANGELOG.
21/Dec/2017 SCIP version 5.0.0 released
The SCIP Optimization Suite 5.0.0 consists of SCIP 5.0.0, SoPlex 3.1.0, ZIMPL 3.3.4, GCG 2.1.3, and UG 0.8.5. For more details regarding the SCIP release, please see the current release notes and the CHANGELOG. An in-depth description of the new features and improvements of all components of the SCIP Optimization Suite can be found in the technical report The SCIP Optimization Suite 5.0.
07/Dec/2017 We are happy to announce our upcoming SCIP workshop from March 6 to 8, 2018 at RWTH Aachen. The workshop provides a forum for current and prospective SCIP users to discuss their applications and share their experience with SCIP.
28/Sep/2017 SCIP featured in the ScaLP library
SCIP is interfaced by ScaLP. This new, lightweight C++ wrapper library provides a unique interface to several OR solvers and is developed by the digital technology group at the University of Kassel, Germany.
01/Sep/2017 SCIP version 4.0.1 released
The SCIP Optimization Suite 4.0.1 consists of SCIP 4.0.1, SoPlex 3.0.1, ZIMPL 3.3.4, GCG 2.1.2, and UG 0.8.4. For more details regarding the SCIP release, please see the current release notes and the CHANGELOG.
09/Mar/2017 SCIP version 4.0.0 released
The SCIP Optimization Suite 4.0.0 consists of SCIP 4.0.0, SoPlex 3.0.0, ZIMPL 3.3.4, GCG 2.1.2, and UG 0.8.3. For more details regarding the SCIP release, please see the current release notes and the CHANGELOG. An in-depth description of the new features and improvements of all components of the SCIP Optimization Suite can be found in the technical report The SCIP Optimization Suite 4.0.
01/Sep/2016 The Java interface is also now available on GitHub: JSCIPOpt.
08/Jul/2016 The Python interface has been externalized to GitHub for easier collaboration: PySCIPOpt. We also released a patched Makefile for the SCIP Optimization Suite 3.2.1 necessary to build the updated interface.
25/May/2016 Release of Version 2.1.0 of SCIP-SDP, the mixed-integer semidefinite programming plugin for SCIP, developed at TU Darmstadt.
29/Feb/2016 SCIP version 3.2.1 released
The SCIP Optimization Suite 3.2.1 consists of SCIP 3.2.1, SoPlex 2.2.1, ZIMPL 3.3.3, GCG 2.1.1, and UG 0.8.2. For more details, please see the current CHANGELOG. There is also a technical report about new features and improvements in the SCIP Optimization Suite 3.2.
27/Oct/2015 Normaliz in its new release 3.0 uses SCIP for subtasks requiring the solution of Integer Programming problems. Normaliz is a tool for computations in affine monoids, vector configurations, lattice polytopes, and rational cones developed at the University of Osnabrück.
28/Sep/2015 Workshop/Lecture/Winter School "Combinatorial Optimization @ Work" is held at ZIB! Check out the program here (including slides of all presentations).
03/Aug/2015 DSP – new open-source parallel solver for stochastic mixed-integer programming using SCIP
31/Jul/2015 Patched version UG 0.8.1 is released, replacing UG 0.8.0 of the SCIP Optimization Suite 3.2.0.
01/Jul/2015 SCIP version 3.2.0 released (see Release Notes and CHANGELOG).
The SCIP Optimization Suite 3.2.0 consists of SCIP 3.2.0, SoPlex 2.2.0, ZIMPL 3.3.3, GCG 2.1.0, and UG 0.8.0.
30/Jun/2015 New Release of SCIP-SDP, the mixed integer semidefinite programming plugin for SCIP, developed at TU Darmstadt.
23/Mar/2015 Windows binaries and libraries available for download.
09/Mar/2015 Upcoming event: Combinatorial Optimization @ Work in Berlin (ZIB) - application deadline: 01/Aug/2015
18/Dec/2014 SCIP version 3.1.1 released
The SCIP Optimization Suite 3.1.1 consists of SCIP 3.1.1, SoPlex 2.0.1, ZIMPL 3.3.2, GCG 2.0.1, and UG 0.7.5. See the CHANGELOG for details.
21/Jul/2014 OPTI toolbox is now available in version 2.10. OPTimization Interface (OPTI) Toolbox is a free MATLAB toolbox for constructing and solving linear, nonlinear, continuous and discrete optimization problems for Windows users. OPTI Toolbox in its current version comes with SCIP 3.0.2.
16/Jul/2014 We are happy to announce our upcoming SCIP workshop from September 30 to October 2, 2014. The workshop provides a forum for current and prospective SCIP users to discuss their applications and share their experience with SCIP.
16/Mar/2014 Windows binaries and libraries of SCIP 3.1.0 available for download.
27/Feb/2014 SCIP version 3.1.0 released (see Release Notes and CHANGELOG).
The SCIP Optimization Suite 3.1.0 consists of SCIP 3.1.0, SoPlex 2.0.0, ZIMPL 3.3.2, GCG 2.0.0, and UG 0.7.3.
25/Feb/2014 Website relaunched.
16/Oct/2013 SCIP version 3.0.2 released (bug fix release, see Release Notes and CHANGELOG).
The SCIP Optimization Suite 3.0.2 consists of SCIP 3.0.2, SoPlex 1.7.2, and ZIMPL 3.3.1, GCG 1.1.1, and UG 0.7.2.
17/Apr/2013 Released beta-version of SCIP which can solve MIP instances exactly over the rational numbers (based on SCIP 3.0.0). Download the source code and get information here.
18/Jan/2013 Recently, Sonja Mars from TU Darmstadt and Lars Schewe from the University of Erlangen-Nürnberg released an SDP-Package for SCIP.
04/Jan/2013 SCIP version 3.0.1 released (bug fix release, see Release Notes and CHANGELOG).
The SCIP Optimization Suite 3.0.1 consists of SCIP 3.0.1, SoPlex 1.7.1, and ZIMPL 3.3.1, GCG 1.1.0, and UG 0.7.1. Happy New Year!
31/Oct/2012 There are some new interfaces to SCIP available: The OPTI project provides a MATLAB interface; on top of this, YALMIP provides a free modeling language; PICOS is a python interface for conic optimization. Thanks to all developers, in particular Jonathan Currie, Johan Löfberg, and Guillaume Sagnol.
18/Aug/2012 The SCIP workshop 2012 will take place at TU Darmstadt on October 8 and 9: further information
See you there!
01/Aug/2012 SCIP version 3.0.0 released (see Release Notes and CHANGELOG).
The SCIP Optimization Suite 3.0.0 consists of SCIP 3.0.0, SoPlex 1.7.0, ZIMPL 3.3.0, GCG 1.0.0, and UG 0.7.0.
28/Dec/2011 SCIP version 2.1.1 released (bug fix release, see Release Notes and CHANGELOG).
The ZIB Optimization Suite 2.1.1 consists of SCIP 2.1.1, SoPlex 1.6.0, and ZIMPL 3.2.0.
31/Oct/2011 SCIP version 2.1.0 released (see Release Notes and CHANGELOG).
The ZIB Optimization Suite 2.1.0 consists of SCIP 2.1.0, SoPlex 1.6.0, and ZIMPL 3.2.0.
26/Aug/2011 SCIP version 2.0.2 released (see Release Notes and CHANGELOG).
04/Jan/2011 SCIP version 2.0.1 released (see Release Notes). The ZIB Optimization Suite 2.0.1 consists of SCIP 2.0.1, SoPlex 1.5.0, and ZIMPL 3.1.0
12/Nov/2010 There was a performance issue with the precompiled SCIP 2.0.0 binaries for Windows/PC which were compiled with the compilers cl 15 and Intel 11.1. If you downloaded these binaries before 12/Nov/2010, we recommend to download these binaries again.
30/Sep/2010 SCIP version 2.0.0 released (see Release Notes). The ZIB Optimization Suite 2.0.0 consists of SCIP 2.0.0, SoPlex 1.5.0, and ZIMPL 3.1.0
12/Jan/2010 A bug in the Makefiles of the SCIP examples may cause data loss. The SCIP 1.2.0 tarball in the download section has been patched. We strongly recommend to replace your current SCIP installation. If you have a custom Makefile, please ensure, that the target "clean" is changed as described here.
15/Sep/2009 SCIP version 1.2.0 released (see Release Notes). The ZIB Optimization Suite 1.2.0 consists of SCIP 1.2.0, SoPlex 1.4.2, and ZIMPL 3.0.0
13/Sep/2009 Ryan J. O'Neil provides a SCIP-python interface
04/Jul/2009 The results of the Pseudo-Boolean Competition 2009 are online. SCIP-Soplex participated in twelve categories and scored first eight times, second three times. SCIP-Clp participated in nine categories and scored first five times, second two times. Detailed results.
20/Feb/2009 SoPlex version 1.4.1 and Clp version 1.9.0 have been released. We recommend to upw-150. Some precompiled binaries can be found at the download page.
30/Sep/2008 Version 1.1.0 released.
27/Feb/2008 New SCIP Introduction by Cornelius Schwarz, see further documention.
05/Dec/2007 Upw-150d LP-interface for Mosek, see the download page.
11+12/Oct/2007 SCIP Workshop 2007 (in German).
27/Aug/2007 Version 1.0 released.
21/Aug/2007 Web site relaunched.
19/Jul/2007 Tobias Achterberg finished his PhD thesis, which includes a detailed description of SCIP. You can get it here.
14/May/2007 Tobias Achterberg submitted his PhD thesis. The log files for SCIP 0.90f and SCIP 0.90i of the benchmarks conducted in the thesis are available here and here.
01/Sep/2006 SCIP Version 0.90 released.
11/Aug/2006 Linux binaries linked to CLP 1.03.03 available (contributed by Hans Mittelmann).
11/Jul/2006 MS Visual C++ project files for SCIP 0.82 contributed by Martin C. Mueller.
15/May/2006 SCIP Version 0.82 released.
03/Jan/2006 SCIP Version 0.81 released.
20/Sep/2005 SCIP Version 0.80 released.

About

What is SCIP?

A similar technique is used for solving both Integer Programs and Constraint Programs: the problem is successively divided into smaller subproblems (branching) that are solved recursively.

On the other hand, Integer Programming and Constraint Programming have different strengths: Integer Programming uses LP relaxations and cutting planes to provide strong dual bounds, while Constraint Programming can handle arbitrary (non-linear) constraints and uses propagation to tighten domains of variables.

SCIP is a framework for Constraint Integer Programming oriented towards the needs of mathematical programming experts who want to have total control of the solution process and access detailed information down to the guts of the solver. SCIP can also be used as a pure MIP and MINLP solver or as a framework for branch-cut-and-price.

SCIP is implemented as C callable library and provides C++ wrapper classes for user plugins. It can also be used as a standalone program to solve mixed integer linear and nonlinear programs given in various formats such as MPS, LP, flatzinc, CNF, OPB, WBO, PIP, etc. Furthermore, SCIP can directly read ZIMPL models.


Interfaces and LP solvers usable with SCIP

There are a number of interfaces to SCIP:

Interface implementing custom plugins building and solving static models modifying and iterated solving querying solution pool setting parameters
C/C++-API all yes yes yes yes
Python/PySCIPOpt all yes yes yes yes
Julia/SCIP.jl all yes yes yes yes
Matlab no yes no no yes
Java/JSCIPOpt no yes no yes yes
AMPL no yes no no yes
GAMS no yes no yes yes
Rust yes yes yes yes yes

For further details, check out the interface section of the documentation.

Also, a number of LP solvers can be linked and used by SCIP:

Detailed list of SCIP's features

  • very fast standalone solver for linear programming (LP), mixed integer programming (MIP), and mixed integer nonlinear programming (MINLP)
  • framework for branching, cutting plane separation, propagation, pricing, and Benders' decomposition,
  • highly flexible through many possible user plugins:
    • constraint handlers to implement arbitrary constraints,
    • variable pricers to dynamically create problem variables,
    • domain propagators to apply constraint independent propagations on the variables' domains,
    • separators for cutting planes based on the LP relaxation; benefit from a dynamic cut pool management,
    • relaxators can be included to provide relaxations (e.g., semidefinite relaxations or Lagrangian relaxations) and dual bounds in addition to the LP relaxation, working in parallel or interleaved
    • plugins to apply Benders' decomposition and implement Benders' cuts,
    • primal heuristics to search for feasible solutions with specific support for probing and diving,
    • node selectors to guide the search,
    • branching rules to split the problem into subproblems; arbitrarily many children per node can be created, and the different children can be arbitrarily defined,
    • presolvers to simplify the solved problem,
    • file readers to parse different input file formats,
    • event handlers to be informed on specific events, e.g., after a node was solved, a specific variable changes its bounds, or a new primal solution is found,
    • display handlers to create additional columns in the solver's output.
    • dialog handlers to extend the included command shell.
    • conflict analysis can be applied to learn from infeasible subproblems
    • dynamic memory management to reduce the number of operation system calls with automatic memory leakage detection in debug mode

What is the SCIP Optimization Suite?

The SCIP Optimization Suite is a toolbox for generating and solving mixed integer nonlinear programs, in particular mixed integer linear programs, and constraint integer programs. It consists of the following parts:

SCIP mixed integer (linear and nonlinear) programming solver and constraint programming framework
SoPlex linear programming solver
PaPILO parallel presolve for integer and linear optimization
ZIMPL mathematical programming language
UG parallel framework for mixed integer (linear and nonlinear) programs
GCG generic branch-cut-and-price solver

The user can easily generate linear, mixed integer and mixed integer quadratically constrained programs with the modeling language ZIMPL. The resulting model can directly be loaded into SCIP and solved. In the solution process SCIP may use SoPlex as underlying LP solver.

Since all six components are available in source code and free for academic use, they are an ideal tool for academic research purposes and for teaching mixed integer programming.

Download the SCIP Optimization Suite below.

A further extension of SCIP in order to solve MISDPs (mixed-integer semidefinite programs) is available from TU Darmstadt: SCIP-SDP.


Locations of registered SCIP downloads

How to Cite

Any publication for which SCIP or the SCIP Optimization Suite is used must include an acknowledgement and a reference to one of the following articles, depending on the version used:

The SCIP Optimization Suite 9.0
Suresh Bolusani, Mathieu Besançon, Ksenia Bestuzheva, Antonia Chmiela, João Dionísio, Tim Donkiewicz, Jasper van Doornmalen, Leon Eifler, Mohammed Ghannam, Ambros Gleixner, Christoph Graczyk, Katrin Halbig, Ivo Hedtke, Alexander Hoen, Christopher Hojny, Rolf van der Hulst, Dominik Kamp, Thorsten Koch, Kevin Kofler, Jurgen Lentz, Julian Manns, Gioni Mexi, Erik Mühmer, Marc E. Pfetsch, Franziska Schlösser, Felipe Serrano, Yuji Shinano, Mark Turner, Stefan Vigerske, Dieter Weninger, Lixing Xu
Available at Optimization Online and as ZIB-Report 24-02-29, February 2024
BibTeX

Enabling Research through the SCIP Optimization Suite 8.0
Ksenia Bestuzheva, Mathieu Besançon, Wei-Kun Chen, Antonia Chmiela, Tim Donkiewicz, Jasper van Doornmalen, Leon Eifler, Oliver Gaul, Gerald Gamrath, Ambros Gleixner, Leona Gottwald, Christoph Graczyk, Katrin Halbig, Alexander Hoen, Christopher Hojny, Rolf van der Hulst, Thorsten Koch, Marco Lübbecke, Stephen J. Maher, Frederic Matter, Erik Mühmer, Benjamin Müller, Marc E. Pfetsch, Daniel Rehfeldt, Steffan Schlein, Franziska Schlösser, Felipe Serrano, Yuji Shinano, Boro Sofranac, Mark Turner, Stefan Vigerske, Fabian Wegscheider, Philipp Wellner, Dieter Weninger, Jakob Witzig
Available at ACM Digital Library, June 2023
BibTeX

The SCIP Optimization Suite 8.0
Ksenia Bestuzheva, Mathieu Besançon, Wei-Kun Chen, Antonia Chmiela, Tim Donkiewicz, Jasper van Doornmalen, Leon Eifler, Oliver Gaul, Gerald Gamrath, Ambros Gleixner, Leona Gottwald, Christoph Graczyk, Katrin Halbig, Alexander Hoen, Christopher Hojny, Rolf van der Hulst, Thorsten Koch, Marco Lübbecke, Stephen J. Maher, Frederic Matter, Erik Mühmer, Benjamin Müller, Marc E. Pfetsch, Daniel Rehfeldt, Steffan Schlein, Franziska Schlösser, Felipe Serrano, Yuji Shinano, Boro Sofranac, Mark Turner, Stefan Vigerske, Fabian Wegscheider, Philipp Wellner, Dieter Weninger, Jakob Witzig
Available at Optimization Online and as ZIB-Report 21-41, December 2021
BibTeX

The SCIP Optimization Suite 7.0
Gerald Gamrath, Daniel Anderson, Ksenia Bestuzheva, Wei-Kun Chen, Leon Eifler, Maxime Gasse, Patrick Gemander, Ambros Gleixner, Leona Gottwald, Katrin Halbig, Gregor Hendel, Christopher Hojny, Thorsten Koch, Pierre Le Bodic, Stephen J. Maher, Frederic Matter, Matthias Miltenberger, Erik Mühmer, Benjamin Müller, Marc Pfetsch, Franziska Schlösser, Felipe Serrano, Yuji Shinano, Christine Tawfik, Stefan Vigerske, Fabian Wegscheider, Dieter Weninger, Jakob Witzig
Available at Optimization Online and as ZIB-Report 20-10, March 2020
BibTeX

The SCIP Optimization Suite 6.0
Ambros Gleixner, Michael Bastubbe, Leon Eifler, Tristan Gally, Gerald Gamrath, Robert Lion Gottwald, Gregor Hendel, Christopher Hojny, Thorsten Koch, Marco E. Lübbecke, Stephen J. Maher, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Franziska Schlösser, Christoph Schubert, Felipe Serrano, Yuji Shinano, Jan Merlin Viernickel, Matthias Walter, Fabian Wegscheider, Jonas T. Witt, Jakob Witzig
Available at Optimization Online and as ZIB-Report 18-26, July 2018
BibTeX

The SCIP Optimization Suite 5.0
Ambros Gleixner, Leon Eifler, Tristan Gally, Gerald Gamrath, Patrick Gemander, Robert Lion Gottwald, Gregor Hendel, Christopher Hojny, Thorsten Koch, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Franziska Schlösser, Felipe Serrano, Yuji Shinano, Jan Merlin Viernickel, Stefan Vigerske, Dieter Weninger, Jonas T. Witt, Jakob Witzig
Available at Optimization Online and as ZIB-Report 17-61, December 2017
BibTeX

The SCIP Optimization Suite 4.0
Stephen J. Maher, Tobias Fischer, Tristan Gally, Gerald Gamrath, Ambros Gleixner, Robert Lion Gottwald, Gregor Hendel, Thorsten Koch, Marco E. Lübbecke, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Sebastian Schenker, Robert Schwarz, Felipe Serrano, Yuji Shinano, Dieter Weninger, Jonas T. Witt, Jakob Witzig
Available at Optimization Online and as ZIB-Report 17-12, March 2017
BibTeX

The SCIP Optimization Suite 3.2
Gerald Gamrath, Tobias Fischer, Tristan Gally, Ambros M. Gleixner, Gregor Hendel, Thorsten Koch, Stephen J. Maher, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Sebastian Schenker, Robert Schwarz, Felipe Serrano, Yuji Shinano, Stefan Vigerske, Dieter Weninger, Michael Winkler, Jonas T. Witt, Jakob Witzig
Available at Optimization Online and as ZIB-Report 15-60, February 2016
BibTeX

In order to reference the general algorithmic design behind constraint integer programming and SCIP's solving techniques regarding mixed-integer linear and nonlinear programming, please cite the following articles:

and

A more detailed description of SCIP can be found in

The features for the global optimization of convex and nonconvex MINLPs are described in

The extension of SCIP to solve MIPs exactly over rational input data is described in

However, for the latest developments, please consult our series of release reports.

License

Since November 4 2022, SCIP is licensed under the Apache 2.0 License.

Releases up to and including Version 8.0.2 remain under the ZIB Academic License as indicated by the files contained in the releases. The new license applies from Version 8.0.3 onwards.

Download

The files you can download here come without warranty. Use at your own risk!

Source Code

You can either download SCIP alone or the SCIP Optimization Suite (recommended), a complete source code bundle of SCIP, SoPlex, ZIMPL, GCG, PaPILO and UG.

Click here for information on different platforms ...

  • For compilation instructions please consult the installations section of the online documentation.
  • SCIP is completely implemented in C. The code should compile with any C compiler that supports the C99 standard.
    We have tested SCIP with GNU, Clang and Intel compilers on 32- and 64-bit versions of Linux, Mac and Windows.
  • If you are using the GNU compiler on SunOS and you experience a strange behavior of your program (segmentation faults), you might try a reduce the optimization level -O2. If problems occur with STL code, you might change to a different implementation by adding -library=stlport4 to CXX_COMPILER_FLAGS. (Note: There are different implementations of the STL on SUN platforms.)

Precompiled Packages

You can also download precompiled executables of SCIP with which you can solve MIP, MINLP, CIP, SAT, or PBO instances in various formats.
Note that these executables do not include the readline features (i.e., command line editing and history) due to license issues. However, you can download the free readline wrapper rlwrap to provide this missing feature to the executables.

Conda

If you use conda, you can install the components of the scipoptsuite using the conda packages.

Notes

  • Symmetry handling limits the number of search nodes and generators during the backtrack search and improves performance of symmetry handling in SCIP. Since SCIP version 9.1 nauty is the default symmetry library with sassy as symmetry presolving library. Nauty as well as sassy are included in the SCIP repository and are find automatically. An alternative to nauty is bliss. A patched bliss fork is available on GitHub.
  • For some of the mac packages you need the libgfortran and libtbb libraries, and bison. You can install them for example via homebrew: `brew install bison`, `brew install gcc` and `brew install tbb` before installing the scipoptsuite.
    After installation of the .sh package to a custom directory you may need to include the lib folder into your DYLD_LIBRARY_PATH.
    If you want to compile the Suite on a apple silicon M series processor you might need to set `ARCH=arm` as an argument to make.
  • The linux precompiled binaries are built on debian and ubuntu, both debian based distributions. Chances are that you won't be able to install them on a different one, like arch-linux.
  • If you download an executable containing PaPILO you might need a working installation of the TBB library in your machine. (This might also be available via your package manager, for debian, for example, it is called `libtbb2`.)
  • For GCG on a linux system you need a working installation of hMETIS version >= 2.0, and zsh (apt install zsh) in your system.
  • Here is the download section of MIPLIB 2017 benchmark MPS files.
  • SCIP is also available on the NEOS Server, where you can post your model in LP or MPS format, or as an AMPL, GAMS, or ZIMPL model and let the NEOS Server solve it with SCIP linked to CPLEX.
  • A development version of SCIP 7 to solve MIPs exactly without floating-point roundoff errors is available as a separate download on Github .

Related Work

If you know about further projects or papers that use SCIP, please let us know.

Contact

For general information or questions about SCIP please write to the SCIP mailing list scip@zib.de after subscribing to it at the SCIP mailing list page. For licensing questions, please see the license section of the web page and the contact provided there.
Trouble compiling SCIP from source? Please check the build documentation before sending an email.
For questions about our SCIP interfaces on GitHub please open an issue in the corresponding repository.

Mailing List

The SCIP mailing list can be accessed via the SCIP mailing list page. You can conveniently search the archives using Google: site:listserv.zib.de/pipermail/scip

Stack Overflow

We are also watching the SCIP tag on stackoverflow.com and will answer your questions there. Note that we will not answer faster only because you posted the same question both to stack overflow and the mailing list.

Reporting Bugs

SCIP has more than 500,000 lines of source code and is definitely not bug free. If you'd like to help us improve SCIP, visit our bug submission page and file a bug report in English or German.

Team Members

Current

Sebastian Pokutta Project Head
Ksenia Bestuzheva Head of development
Mathieu Besançon Mixed-integer linear and non-linear formulations
Suresh Bolusani Cutting planes
Antonia Chmiela Machine learning for optimization, cutting planes
Jasper van Doornmalen Symmetry handling
Mohammed Ghannam Rust interface
Ambros Gleixner General framework, exact SCIP & SoPlex, verification
Lara Glessen Mixed-integer nonlinear programming
Katrin Halbig Mixed-integer programming, decomposition heuristics
Alexander Hoen Presolving
Christopher Hojny Symmetry handling
Rolf van der Hulst Network optimization, total unimodularity
Dominik Kamp Robustness
Thorsten Koch Algebraic Modeling Language ZIMPL
Marco Lübbecke Decomposition framework GCG
Stephen J. Maher Shared memory parallelization, Benders decomposition
Gioni Mexi Primal heuristics, conflict analysis
Marc Pfetsch LP solvers, special math programming constraints, symmetry handling
Yuji Shinano Parallelization framework UG
Mark R. Turner Cutting planes selection and branching
Stefan Vigerske Mixed integer nonlinear programming, Test and release management
Matthias Walter Multilinear optimization
Dieter Weninger Presolving, mixed integer programming, decomposition methods
Liding Xu Mixed-integer nonlinear programming

Former

Tobias Achterberg Creator and first developer of SCIP
Timo Berthold Primal heuristics, branching rules
Leon Eifler Verification, exact MIP
Tobias Fischer Constraint handler for special ordered sets, type one; cardinality constraint handler
Tristan Gally Relaxation Handlers, SCIP-SDP
Gerald Gamrath Column generation, mixed integer programming, branching
Leona Gottwald Shared memory parallelization, cutting planes, presolving, CMake
Christoph Graczyk Machine learning for optimization
Stefan Heinz Solution counting, global constraints, conflict analysis
Gregor Hendel Primal heuristics, mixed integer programming, solver intelligence, CMake, SCIP documentation
Julian Manns Test and release management
Alexander Martin Developer of SIP – the predecessor of SCIP
Matthias Miltenberger LP interfaces, Python interface, CMake
Cristina Muñoz Test management
Benjamin Müller Mixed integer nonlinear programming, domain propagation
Franziska Schlösser Test and release management
Felipe Serrano Nonlinear programming, cutting planes, Python interface
Boro Šofranac Parallelization, conflict analysis
Fabian Wegscheider Symmetries in mixed integer nonlinear programming
Michael Winkler Presolving, pseudo boolean constraint handler
Jakob Witzig Reoptimization, conflict analysis, mixed integer programming
Kati Jarck Cutting planes, exact integer programming

Student Assistants

Jacob von Holly-Ponientzietz Presolving
Matea Miskovic Primal heuristics

Click here for a list of further contributors ...

We are thankful to many people who over the years have contributed code to SCIP, among others:

Daniel Anderson Treemodel scoring rules, treesize estimation
Martin Ballerstein Constraint Handler for bivariate nonlinear constraints
Chris Beck Logic-based Bender's decomposition
Livio Bertacco Interface to FICO/Xpress
Andreas Bley VRP example
Pierre Le Bodic Treemodel scoring rules, treesize estimation
Tobias Buchwald Dual value heuristic
Weikun Chen Dual sparsify presolver
Frederic Didier Glop LP interface
Daniel Espinoza Interface to QSopt
John Forrest Interface to CLP
Fabian Frickenstein Verification
Maxime Gasse Vanilla full strong branching
Thorsten Gellermann Generic NLP interface
Patrick Gemander Presolving, mixed integer programming
Naga Venkata Chaitanya Gudapati Sudoku example
Bo Jensen Interface to MOSEK
Renke Kuhlmann Interface to WORHP
Manuel Kutschka Separator for {0,1/2}-cuts
Anna Melchiori Multi-aggregated variable branching rule
Dennis Michaels Constraint Handler for bivariate nonlinear constraints
Giacomo Nannicini GMI example
Michael Perregaard Interface to FICO/Xpress
Frédéric Pythoud Superindicator constraint handler
Christian Raack Separator for MCF cuts
Jörg Rambau Branch-and-Price contributions
Daniel Rehfeldt Steiner Tree Problem application
Domenico Salvagnin Feasibility Pump 2.0
Sebastian Schenker PolySCIP
Jens Schulz Scheduling plugins: cumulative and linking constraint handler, variable bounds propagator
Cornelius Schwarz Queens example
Robert Schwarz Python interface
Felix Hennings JNI interface
Yuji Shinano Parallel extension of SCIP
Dan Steffy Exact integer programming
Timo Strunk PolySCIP
Andreas Tuchscherer Branch-and-Price contributions
Ingmar Vierhaus Nonlinear constraint parsing in CIP reader
Stefan Weltge OBBT propagator

Cooperation

SCIP is developed in cooperation with

Imprint and privacy statement

© 2024 by Zuse Institute Berlin (ZIB). For the imprint and privacy statement we refer to the Imprint of ZIB with the following additions and modifications:

Download form

The number of SCIP downloads is tracked and used to generate statistics about the downloads and to generate the world map of download locations. The personal information is used to distinguish the number of downloads from the number of users per year that might download more than one version or archive. In addition to the privacy statements of ZIB, we hereby declare that your name and affiliation recorded for the SCIP download is used for purposes of granting licenses and for statistics about software downloads, and is processed and stored on our server for the duration of a year.