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: cc58cd67]
SCIP version 9.0.0 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 7.0.0] [GitHash: 7205bedd94]
Copyright (c) 2002-2024 Zuse Institute Berlin (ZIB)
External libraries: 
  Readline 7.0         GNU library for command line editing (gnu.org/s/readline)
  Soplex 7.0.0         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 6657fb3b]
  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/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)
  AMPL/MP 690e9e7      AMPL .nl file reader library (github.com/ampl/mp)
  bliss 0.77           Computing Graph Automorphisms by T. Junttila and P. Kaski (users.aalto.fi/~tjunttil/bliss)
  sassy 1.1            Symmetry preprocessor by Markus Anders (github.com/markusa4/sassy)
Default LC presolving (default).
** Before presolving: virtualMemUsedAtLc = 45617152, getVmSize() = 45617152, SCIPgetMemUsed() = 415385, SCIPgetMemTotal() = 488113, SCIPgetMemExternEstim() = 1048576
** set memory limit for presolving in LC to 8.79603e+12 for SCIP **
** Estimated virtualMemUsedAtSolver = 30489713, getVmSize() = 46673920, SCIPgetMemUsed() = 418647, SCIPgetMemTotal() = 506087, SCIPgetMemExternEstim() = 1048576
** set memory limit for solvers to 9.7734e+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.04
  solving          : 0.04
  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)