Overview
What is SCIP?
SCIP is a framework to solve constraint integer programs (CIPs) and mixed-integer nonlinear programs. In particular,
- SCIP incorporates a mixed-integer programming (MIP) solver as well as
- an LP based mixed-integer nonlinear programming (MINLP) solver, and
- is a framework for branch-and-cut-and-price.
See the web site of SCIP for more information about licensing and to download SCIP.
Structure of this manual
This manual gives an accessible introduction to the functionality of the SCIP code in the following chapters
- Getting started Installation and license information and an interactive shell tutorial
- Example projects Coding examples in C and C++ in the source code distribution
- Application projects Extensions of SCIP for specific applications
- List of all SCIP parameters List of all SCIP parameters
- Programming with SCIP Important programming concepts for working with(in) SCIP.
- How to add ... Detailed guides for adding user plugins
- How to use ... Detailed guides for advanced SCIP topics
- Frequently Asked Questions (FAQ) Frequently asked questions (FAQ)
- Release notes and changes between different versions of SCIP Release notes and changelog
- SCIP Authors SCIP Authors
Quickstart
Let's consider the following minimal example in LP format. A 4-variable problem with a single, general integer variable and three linear constraints
Maximize obj: x1 + 2 x2 + 3 x3 + x4 Subject To c1: - x1 + x2 + x3 + 10 x4 <= 20 c2: x1 - 3 x2 + x3 <= 30 c3: x2 - 3.5 x4 = 0 Bounds 0 <= x1 <= 40 2 <= x4 <= 3 General x4 End
Saving this file as "simple.lp" allows to read it into SCIP and solve it.
scip -c "read simple.lp optimize quit"
reads and optimizes this model in no time:
SCIP version 6.0.2 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 4.0.2] [GitHash: a834f8a0b5] Copyright (C) 2002-2019 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB) External codes: Readline 7.0 GNU library for command line editing (gnu.org/s/readline) SoPlex 4.0.2 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: b8833cd3] CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD) ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net) GMP 6.1.2 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org) user parameter file <scip.set> not found - using default parameters read problem <doc/inc/simpleinstance/simple.lp> ============ original problem has 4 variables (0 bin, 1 int, 0 impl, 3 cont) and 3 constraints presolving: (round 1, fast) 2 del vars, 1 del conss, 0 add conss, 4 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs (round 2, fast) 2 del vars, 1 del conss, 0 add conss, 6 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs (round 3, fast) 2 del vars, 1 del conss, 0 add conss, 7 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs (0.0s) probing cycle finished: starting next cycle presolving (4 rounds: 4 fast, 1 medium, 1 exhaustive): 2 deleted vars, 1 deleted constraints, 0 added constraints, 7 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients 2 implications, 0 cliques presolved problem has 3 variables (1 bin, 0 int, 0 impl, 2 cont) and 2 constraints 2 constraints of type <linear> Presolving Time: 0.00 time | node | left |LP iter|LP it/n| mem |mdpt |frac |vars |cons |cols |rows |cuts |confs|strbr| dualbound | primalbound | gap t 0.0s| 1 | 0 | 0 | - | 563k| 0 | - | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 1.630000e+02 | 3.400000e+01 | 379.41% t 0.0s| 1 | 0 | 0 | - | 563k| 0 | - | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 1.630000e+02 | 5.300000e+01 | 207.55% k 0.0s| 1 | 0 | 0 | - | 566k| 0 | - | 3 | 2 | 3 | 2 | 0 | 0 | 0 | 1.630000e+02 | 1.225000e+02 | 33.06% 0.0s| 1 | 0 | 2 | - | 566k| 0 | 1 | 3 | 2 | 3 | 2 | 0 | 0 | 0 | 1.252083e+02 | 1.225000e+02 | 2.21% 0.0s| 1 | 0 | 2 | - | 566k| 0 | 1 | 3 | 2 | 3 | 2 | 0 | 0 | 0 | 1.252083e+02 | 1.225000e+02 | 2.21% 0.0s| 1 | 0 | 3 | - | 568k| 0 | - | 3 | 2 | 3 | 3 | 1 | 0 | 0 | 1.225000e+02 | 1.225000e+02 | 0.00% 0.0s| 1 | 0 | 3 | - | 568k| 0 | - | 3 | 2 | 3 | 3 | 1 | 0 | 0 | 1.225000e+02 | 1.225000e+02 | 0.00% SCIP Status : problem is solved [optimal solution found] Solving Time (sec) : 0.00 Solving Nodes : 1 Primal Bound : +1.22500000000000e+02 (3 solutions) Dual Bound : +1.22500000000000e+02 Gap : 0.00 %
- Version
- 6.0.2