Scippy

UG

Ubiquity Generator framework

Quickstart

The stand-alone shared memory parallel MIP/MINLP solver FiberSCIP can be used easily via the fscip command. 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 FiberSCIP. Create a default parameter file for FiberSCIP:

# Quiet = FALSE
# OutputParaParams = 4 

The column starting with "#" is treated as a comment. Therefore, this parameter file contains all default settings. Save this file as "default.prm" and solve "simple.lp" with these settings by running the command:

fscip default.prm simple.lp -q

This model is solved by using the maximal number of cores on your PC:

The following solver is parallelized by UG version 1.0.0 [GitHash: 4f9860ca-dirty]
SCIP version 9.2.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 7.1.3] [GitHash: 92b83bdacc-dirty]
Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB)
External libraries: 
  Readline 8.2         GNU library for command line editing (gnu.org/s/readline)
  Soplex 7.1.3         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 60fd96f2]
  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)
  ZLIB 1.2.13          General purpose compression library by J. Gailly and M. Adler (zlib.net)
  GMP 6.2.1            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
  ZIMPL 3.6.2          Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
  AMPL/MP 690e9e7      AMPL .nl file reader library (github.com/ampl/mp)
  PaPILO 2.4.1         parallel presolve for integer and linear optimization (github.com/scipopt/papilo)
  Nauty 2.8.8          Computing Graph Automorphism Groups by Brendan D. McKay (users.cecs.anu.edu.au/~bdm/nauty)
  sassy 1.1            Symmetry preprocessor by Markus Anders (github.com/markusa4/sassy)
  Ipopt 3.14.16        Interior Point Optimizer developed by A. Waechter et.al. (github.com/coin-or/Ipopt)
Default LC presolving (default).
** Before presolving: virtualMemUsedAtLc = 1079545856, getVmSize() = 1079545856, SCIPgetMemUsed() = 420129, SCIPgetMemTotal() = 488113, SCIPgetMemExternEstim() = 1048576
** set memory limit for presolving in LC to 8.79464e+12 for SCIP **
** Estimated virtualMemUsedAtSolver = 719777336, getVmSize() = 1080627200, SCIPgetMemUsed() = 423391, SCIPgetMemTotal() = 510271, SCIPgetMemExternEstim() = 1048576
** set memory limit for solvers to 9.77246e+11 for each SCIP **
Original Problem   :
  Problem name     : simple
  Variables        : 4 (0 binary, 1 integer, 0 implicit integer, 3 continuous)
  Constraints      : 3
  Objective sense  : maximize
Presolved Problem  :
  Variables        : 3 (1 binary, 0 integer, 0 implicit integer, 2 continuous)
  Constraints      : 2
Constraints        : Number
  linear           : 2 
** Instance transfer method used: 0
** ParaScipInstance copy does not increase the number of variables. **
LC is working with racing ramp-up and with rebuilding tree after racing.
                               Nodes    Active                                            
     Time          Nodes        Left   Solvers     Best Integer        Best Node        Gap     Best Node(S)     Gap(S)
*       0              0           1         8          34.0000                -          -
*       0              0           1         8          53.0000                -          -
*       0              0           1         8         122.5000                -          -
        0              1           0         0         122.5000         122.5000      0.00%
        0              1           0         0         122.5000         122.5000      0.00%
        0              1           0         0         122.5000         122.5000      0.00%
        0              1           0         0         122.5000         122.5000      0.00%
        0              1           0         0         122.5000         122.5000      0.00%
        0              1           0         0         122.5000         122.5000      0.00%
        0              1           0         0         122.5000         122.5000      0.00%
        0              1           0         0         122.5000         122.5000      0.00%
        0              1           0         0         122.5000         122.5000      0.00%
SCIP Status        : problem is solved
Total Time         : 0.08
  solving          : 0.08
  presolving       : 0.00 (included in solving)
B&B Tree           :
  nodes (total)    : 1
Solution           :
  Solutions found  : 3
  Primal Bound     : +1.22500000000000e+02
  Dual Bound       : +1.22500000000000e+02
Gap                : 0.00000 %

The solution file "sample.sol" will be written as below:

[ Final Solution ]
objective value:                                122.5
x4                                                  3 	(obj:1)
x2                                               10.5 	(obj:2)
x3                                               19.5 	(obj:3)
x1                                                 40 	(obj:1)