GAMS [ Home | Downloads | Documentation | Solvers | APIs | Tools | Model Libraries | Resources | Sales | Support | Contact Us | Search ]

SCIP

Table of Contents

SCIP (Solving Constraint Integer Programs) is developed at the Zuse Institute Berlin (ZIB) in cooperation with TU Darmstadt, RWTH Aachen, and University of Erlangen-Nürnberg, see the SCIP webpage for the current list of developers.

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 or MINLP solver or as a framework for branch-cut-and-price. Within GAMS, the MIP and MINLP solving facilities of SCIP are available.

For more detailed information, we refer to [1, 2, 3, 4, 5, 7, 9] and the SCIP web site. For an overview on the new features in SCIP 3.2, we refer to [6].

GAMS/SCIP uses CPLEX, if licensed, and otherwise SOPLEX [10] as LP solver, the COIN-OR Interior Point Optimizer IPOPT [8] as nonlinear solver, and CppAD to compute derivatives of nonlinear functions.

SCIP supports continuous, binary, integer, semi-continuous, semi-integer variables, indicator constraints, special ordered sets, and branching priorities for discrete variables.

Usage

The following statement can be used inside your GAMS program to specify using SCIP

Option MIP = SCIP;     { or QCP or NLP or MIQCP or MINLP or ... }

The above statement should appear before the Solve statement. If SCIP was specified as the default solver during GAMS installation, the above statement is not necessary.

GAMS/SCIP currently does not support the GAMS Branch-and-Cut-and-Heuristic (BCH) Facility. If you need to use GAMS/SCIP with BCH, please consider to use a GAMS system of version ≤ 23.3.

Specification of SCIP Options

GAMS/SCIP supports the GAMS parameters reslim, iterlim, nodlim, optca, optcr, and workspace. Further, the option threads can be used to control the number of threads used in the linear algebra routines of IPOPT and for solving LPs (if CPLEX' barrier solver is used).

Options can be specified by a SCIP options file. A SCIP options file consists of one option or comment per line. A pound sign (#) at the beginning of a line causes the entire line to be ignored. Otherwise, the line will be interpreted as an option name and value separated by an equal sign (=) and any amount of white space (blanks or tabs). Further, string values have to be enclosed in quotation marks.

A small example for a scip.opt file is:

propagating/probing/maxprerounds = 0
separating/maxrounds             = 0
separating/maxroundsroot         = 0

It causes GAMS/SCIP to disable probing during presolve and to turn off all cut generators.

Specification of Indicators

Indicators are a modeling tool to specify that certain equations in a model must only be satisfied if certain binary variables take a specified value. Indicators are not supported by the GAMS language, but can be passed to SCIP via a separate file, see Indicator Constraints for more details on its syntax. The name of that file is specified via the option gams/indicatorfile in a SCIP option file. Currently, indicators can only be used for linear equations.

Special Features

SCIP interactive shell

The interactive shell in SCIP is a powerful tool that allows the user to display various information (e.g., branching statistics, presolved model), load emphasis settings, interrupt a solve to change parameters or trigger a restart, write the model in various file formats, start SCIPs solution counter, and many more things.

When setting the option gams/interactive to a nonempty string, the GAMS/SCIP interface opens the interactive shell of SCIP after having load the GAMS problem and parameters and passes the value of the gams/interactive parameter to the SCIP interactive shell.

By default, SCIP behaves as if gams/interactive has been set to "optimize write gamssol quit", that is, SCIP is requested to solve the problem, then to pass the solution back to GAMS, and to quit.

An example use of the SCIP interactive shell feature via GAMS is to add the following line to your SCIP options file:

gams/interactive = "write prob orig.lp presolve write transprob presol.mps opt write gamssol quit"

This instructs SCIP to write the original problem to the file orig.lp in LP format, to presolve the instance, to write the presolved problem to the file presolved.mps in MPS format, to solve the instance, to write the solution out to GAMS, and to finish.

By omitting the quit command, SCIPs interactive shell remains open and awaits user input. The command help prints a list of available commands. Note, that on Windows, GAMS need to be called with the option interactivesolver enabled to allow user input for the solver process.

A tutorial on using the SCIP shell is available at http://scip.zib.de/doc/html/SHELL.php.

Emphasis Settings

SCIP includes various emphasis settings, which are predefined values for a set of SCIP parameters. Such predefined settings are available for setting the effort that SCIP should spend for, e.g., presolving, separation, or heuristics.

The emphasis settings are not available as single parameters, but can be set via SCIPs interactive shell. E.g., writing set heuristics emphasis in the shell displays the available emphasis settings for heuristics (aggressive, fast, off) and expects the user to input which setting to use. Further, general emphasis settings are available in the set emphasis menu, some of them giving predefined settings similar to the CPLEX option mipemphasis.

Via the gams/interactive option, c.f. Section SCIP interactive shell, emphasis settings can be activated via a SCIP options file. For example, adding the option

gams/interactive = "set emphasis feasibility optimize write gamssol quit"

instructs SCIP to load the emphasis setting feasibility prior to optimizing the model and passing the solution back to GAMS.

The following emphasis settings are available in SCIP:

shell command purpose
set emphasis easycip use for easy problems
set emphasis feasibility emphasize finding a feasible solution
set emphasis hardlp use for problems with a hard LP
set emphasis optimality emphasize proving optimality
set heuristic emphasis aggressive use primal heuristics aggressively
set heuristic emphasis fast use only fast primal heuristics
set heuristic emphasis off disable all primal heuristics
set presolving emphasis aggressive do aggressive presolving
set presolving emphasis fast use only fast presolving steps
set presolving emphasis off disable presolving
set separating emphasis aggressive use cutting plane separators aggressively
set separating emphasis fast use only fast cutting plane separators
set separating emphasis off disable all cutting plane separators

Solution Pool

When SCIP solves a problem, it may find several solutions, whereof only the best one is available to the GAMS user via the variable level values in the GAMS model. If the option gams/dumpsolutions is specified, then all alternative solutions found by SCIP are written into GDX files and an index file with the name given by the this option is written.

The GAMS testlib model dumpsol shows an example use for this option via GUROBI. It can easily be adapted to be used with SCIP.

Solving process tracing

The option gams/solvetrace/file can be used to specify the name of a file where information about the progress of the branch-and-bound tree search in SCIP is stored. The file is created and updated during the solution process, so it may also be used to monitor the progress of SCIP while it still solves the model.

New entries are written periodically, depending on how many nodes have been processed or how much time has been elapsed since the last entry was written. Each entry contains information on the current primal and dual bound.

Notes on solving MINLPs with SCIP

SCIP includes capabilities to handle nonlinear functions that are specified via algebraic expressions. Therefore, neither external/extrinsic functions nor all GAMS operands (e.g., trigonometric ones) are supported yet.

Nonconvex MINLPs are solved via a spatial branch-and-bound algorithm using linear relaxations. The tightness of this relaxation depends heavily on the variable bounds, thus tight bounds for the nonlinear variables are crucial for SCIP.

Special options for convex MINLPs

Convex MINLPs are much easier to solve for SCIP, provided it recognizes the convexity of the model. So far, only a simple convexity check is implemented in SCIP, which may not give a conclusive answer in all cases. However, setting the option constraints/nonlinear/assumeconvex to TRUE can be used to tell SCIP that it should assume all nonlinear constraints to be of convex type. This may help to improve solving times for convex MINLPs considerably.

Another useful feature especially for convex MINLPs is to enable the generation of cuts in the solution of the NLP relaxation in the root node and to consider using these cuts during the whole solution process. This is achieved by the parameters

constraints/quadratic/sepanlpmincont = 0
constraints/soc/sepanlpmincont = 0
constraints/nonlinear/sepanlpmincont = 0
constraints/abspower/sepanlpmincont = 0
separating/poolfreq = 1

Components

In the following, we list components that are available in SCIP together with some common properties. Some of these properties can be modified with corresponding parameters.

Branching Rules

branching rule priority maxdepth maxbounddist description
relpscost 10000 -1 100 reliability branching on pseudo cost values
pscost 2000 -1 100 branching on pseudo cost values
inference 1000 -1 100 inference history branching
mostinf 100 -1 100 most infeasible branching
leastinf 50 -1 100 least infeasible branching
cloud 0 -1 100 branching rule that considers several alternative LP optima
fullstrong 0 -1 100 full strong branching
distribution 0 -1 100 branching rule based on variable influence on cumulative normal distribution of row activities
multaggr 0 -1 100 fullstrong branching on fractional and multi-aggregated variables
allfullstrong -1000 -1 100 all variables full strong branching
random -100000 -1 100 random variable branching
nodereopt -9000000 -1 100 branching rule for node reoptimization

See http://scip.zib.de/doc/html/BRANCH.php for a detailed description of the branching rule properties.

Conflict Handler

conflict handler priority description
logicor 800000 conflict handler creating logic or constraints
setppc 700000 conflict handler creating set covering constraints
indicatorconflict 200000 replace slack variables and generate logicor constraints
linear -1000000 conflict handler creating linear constraints
bounddisjunction -3000000 conflict handler creating bound disjunction constraints

Constraint Handler

constraint handler checkprio enfoprio sepaprio sepafreq propfreq eagerfreq presolvetimings description
integral 0 0 0 -1 -1 -1 always integrality constraint
soc -10 -40 10 1 1 100 always constraint handler for second order cone constraints
SOS1 -10 100 1000 10 1 100 medium SOS1 constraint handler
SOS2 -10 100 10 0 1 100 fast SOS2 constraint handler
varbound -500000 -500000 900000 0 1 100 fast medium variable bounds lhs <= x + c*y <= rhs, x non-binary, y non-continuous
knapsack -600000 -600000 600000 0 1 100 always knapsack constraint of the form a^T x <= b, x binary and a >= 0
setppc -700000 -700000 700000 0 1 100 always set partitioning / packing / covering constraints
and -850100 -850100 850100 1 1 100 fast exhaustive constraint handler for AND-constraints: r = and(x1, ..., xn)
linear -1000000 -1000000 100000 0 1 100 fast exhaustive linear constraints of the form lhs <= a^T x <= rhs
indicator -1000000 -100 10 10 1 100 fast indicator constraint handler
logicor -2000000 -2000000 10000 0 1 100 always logic or constraints
bounddisjunction -3000000 -3000000 0 -1 1 100 fast bound disjunction constraints
abspower -3500000 -30 0 1 1 100 fast medium constraint handler for absolute power constraints lhs <= sign(x+offset)abs(x+offset)^n + c*z <= rhs
bivariate -3600000 -55 5 1 1 100 fast constraint handler for constraints of the form lhs <= f(x,y) + c*z <= rhs where f(x,y) is a bivariate function
quadratic -4000000 -50 10 1 1 100 always quadratic constraints of the form lhs <= b' x + x' A x <= rhs
nonlinear -4000010 -60 10 1 1 100 always constraint handler for nonlinear constraints

See http://scip.zib.de/doc/html/CONS.php for a detailed description of the constraint handler properties.

Display Columns

display column header position width priority status description
solfound 0 1 80000 auto letter that indicates the heuristic which found the solution
time time 50 5 4000 auto total solution time
nnodes node 100 7 100000 auto number of processed nodes
nodesleft left 200 7 90000 auto number of unprocessed nodes
lpiterations LP iter 1000 7 30000 auto number of simplex iterations
lpavgiterations LP it/n 1400 7 25000 auto average number of LP iterations since the last output line
lpcond LP cond 1450 7 0 auto estimate on condition number of LP solution
memused mem 1500 5 20000 auto total number of bytes used in block memory
depth depth 2000 5 500 auto depth of current node
maxdepth mdpt 2100 5 5000 auto maximal depth of all processed nodes
plungedepth pdpt 2200 5 10 auto current plunging depth
nfrac frac 2500 5 700 auto number of fractional variables in the current solution
nexternbranchcands extbr 2600 5 650 auto number of extern branching variables in the current node
vars vars 3000 5 3000 auto number of variables in the problem
conss cons 3100 5 3100 auto number of globally valid constraints in the problem
curconss ccons 3200 5 600 auto number of enabled constraints in current node
curcols cols 3300 5 800 auto number of LP columns in current node
currows rows 3400 5 900 auto number of LP rows in current node
cuts cuts 3500 5 2100 auto total number of cuts applied to the LPs
separounds sepa 3600 4 100 auto number of separation rounds performed at the current node
poolsize pool 3700 5 50 auto number of LP rows in the cut pool
conflicts confs 4000 5 2000 auto total number of conflicts found in conflict analysis
strongbranchs strbr 5000 5 1000 auto total number of strong branching calls
pseudoobj pseudoobj 6000 14 300 auto current pseudo objective value
lpobj lpobj 6500 14 300 auto current LP objective value
curdualbound curdualbound 7000 14 400 auto dual bound of current node
estimate estimate 7500 14 200 auto estimated value of feasible solution in current node
avgdualbound avgdualbound 8000 14 40 auto average dual bound of all unprocessed nodes
dualbound dualbound 9000 14 70000 auto current global dual bound
primalbound primalbound 10000 14 80000 auto current primal bound
cutoffbound cutoffbound 10100 14 10 auto current cutoff bound
gap gap 20000 8 60000 auto current (relative) gap using |primal-dual|/MIN(|dual|,|primal|)
primalgap primgap 21000 8 20000 off current (relative) gap using |primal-dual|/|primal|
nsols nsols 30000 5 0 auto current number of solutions found
sols sols 100000 7 110000 off number of detected feasible solutions
feasST feasST 110000 6 110000 off number of detected non trivial feasible subtrees

See http://scip.zib.de/doc/html/DISP.php for a detailed description of the display column properties.

Node Selectors

node selector standard priority memsave priority description
estimate 200000 100 best estimate search
bfs 100000 0 best first search
hybridestim 50000 50 hybrid best estimate / best bound search
restartdfs 10000 50000 depth first search with periodical selection of the best node
uct 10 0 node selector which balances exploration and exploitation
dfs 0 100000 depth first search
breadthfirst -10000 -1000000 breadth first search

See http://scip.zib.de/doc/html/NODESEL.php for a detailed description of the node selector properties.

Presolvers

presolver priority timing maxrounds description
trivial 9000000 fast -1 round fractional bounds on integers, fix variables with equal bounds
boundshift 7900000 fast 0 converts variables with domain [a,b] to variables with domain [0,b-a]
inttobinary 7000000 fast -1 converts integer variables with domain [a,a+1] to binaries
convertinttobin 6000000 fast 0 converts integer variables to binaries
gateextraction 1000000 exhaustive -1 presolver extracting gate(and)-constraints
stuffing -100 exhaustive -1 fix redundant singleton continuous variables
dualinfer -200 exhaustive 0 exploit dual informations for fixings and side changes
domcol -1000 exhaustive -1 dominated column presolver
implfree -1000 exhaustive 0 exploit implied free variables for multi-aggregation
implics -10000 medium -1 implication graph aggregator
dualagg -12000 exhaustive 0 aggregate variables by dual arguments
tworowbnd -500000 exhaustive 0 do bound tigthening by using two rows
redvub -9000000 exhaustive 0 detect redundant variable bound constraints
components -9200000 exhaustive -1 components presolver

See http://scip.zib.de/doc/html/PRESOL.php for a detailed description of the presolver properties.

Primal Heuristics

primal heuristic char priority freq freqoffset description
ofins A 60000 -1 0 primal heuristic for reoptimization, objective function induced neighborhood search
trivialnegation j 40000 -1 0 negate solution entries if an objective coefficient changes the sign, enters or leaves the objective.
reoptsols J 40000 -1 0 primal heuristic updating solutions found in a previous optimization round
trivial t 10000 0 0 start heuristic which tries some trivial solutions
shiftandpropagate T 1000 0 0 Pre-root heuristic to expand an auxiliary branch-and-bound tree and apply propagation techniques
zeroobj Z 100 -1 0 heuristic trying to solve the problem without objective
simplerounding r 0 1 0 simple and fast LP rounding heuristic
dualval Y 0 -1 0 primal heuristic using dual values
randrounding G -200 20 0 fast LP rounding heuristic
zirounding z -500 1 0 LP rounding heuristic as suggested by C. Wallace taking row slacks and bounds into account
rounding R -1000 1 0 LP rounding heuristic with infeasibility recovering
shifting s -5000 10 0 LP rounding heuristic with infeasibility recovering also using continuous variables
intshifting i -10000 10 0 LP rounding heuristic with infeasibility recovering and final LP solving
oneopt b -20000 1 0 1-opt heuristic which tries to improve setting of single integer variables
twoopt B -20100 -1 0 primal heuristic to improve incumbent solution by flipping pairs of variables
indicator A -20200 1 0 indicator heuristic to create feasible solutions from values for indicator variables
fixandinfer I -500000 -1 0 iteratively fixes variables and propagates inferences
feaspump F -1000000 20 0 objective feasibility pump 2.0
clique Q -1000500 -1 0 LNS heuristic using a clique partition to restrict the search neighborhood
coefdiving c -1001000 10 1 LP diving heuristic that chooses fixings w.r.t. the matrix coefficients
pscostdiving p -1002000 10 2 LP diving heuristic that chooses fixings w.r.t. the pseudo cost values
fracdiving f -1003000 10 3 LP diving heuristic that chooses fixings w.r.t. the fractionalities
nlpdiving d -1003000 10 3 NLP diving heuristic that chooses fixings w.r.t. the fractionalities
veclendiving v -1003100 10 4 LP diving heuristic that rounds variables with long column vectors
distributiondiving e -1003300 10 3 Diving heuristic that chooses fixings w.r.t. changes in the solution density
intdiving n -1003500 -1 9 LP diving heuristic that fixes binary variables with large LP value to one
actconsdiving a -1003700 -1 5 LP diving heuristic that chooses fixings w.r.t. the active constraints
objpscostdiving o -1004000 20 4 LP diving heuristic that changes variable's objective values instead of bounds, using pseudo costs as guide
rootsoldiving S -1005000 20 5 LP diving heuristic that changes variable's objective values using root LP solution as guide
linesearchdiving l -1006000 10 6 LP diving heuristic that chooses fixings following the line from root solution to current solution
guideddiving g -1007000 10 7 LP diving heuristic that chooses fixings in direction of incumbent solutions
octane O -1008000 -1 0 octane primal heuristic for pure {0;1}-problems based on Balas et al.
rens E -1100000 0 0 LNS exploring fractional neighborhood of relaxation's optimum
rins N -1101000 25 0 relaxation induced neighborhood search by Danna, Rothberg, and Le Pape
localbranching L -1102000 -1 0 local branching heuristic by Fischetti and Lodi
mutation M -1103000 -1 8 mutation heuristic randomly fixing variables
crossover C -1104000 30 0 LNS heuristic that fixes all variables that are identic in a couple of solutions
dins D -1105000 -1 0 distance induced neighborhood search by Ghosh
vbounds V -1106000 -1 0 LNS heuristic uses the variable lower and upper bounds to determine the search neighborhood
bound H -1107000 -1 0 heuristic which fixes all integer variables to a bound and solves the remaining LP
undercover U -1110000 0 0 solves a sub-CIP determined by a set covering approach
proximity P -2000000 -1 0 heuristic trying to improve the incumbent by an auxiliary proximity objective function
subnlp q -2000000 1 0 primal heuristic that performs a local search in an NLP after fixing integer variables and presolving
trysol y -3000000 1 0 try solution heuristic

See http://scip.zib.de/doc/html/HEUR.php for a detailed description of the primal heuristic properties.

Propagators

propagator propprio freq presolveprio presolvetiming description
rootredcost 10000000 1 0 always reduced cost strengthening using root node reduced costs and the cutoff bound
dualfix 8000000 0 8000000 fast roundable variables dual fixing
vbounds 3000000 1 0 always propagates variable upper and lower bounds
pseudoobj 3000000 1 6000000 fast pseudo objective function propagator
genvbounds 3000000 1 -2000000 fast generalized variable bounds propagator
redcost 1000000 1 0 always reduced cost strengthening propagator
probing -100000d -1 -100000 exhaustive probing propagator on binary variables
obbt -1000000d 0 0 always optimization-based bound tightening propagator

See http://scip.zib.de/doc/html/PROP.php for a detailed description of the propagator properties.

Separators

separator priority freq bounddist description
closecuts 1000000 -1 1 closecuts meta separator
disjunctive 10d 0 0 disjunctive cut separator
impliedbounds -50 0 0 implied bounds separator
intobj -100 -1 0 integer objective value separator
cgmip -1000 -1 0 Chvatal-Gomory cuts via MIPs separator
gomory -1000 0 0 Gomory MIR cuts separator
strongcg -2000 0 0 Strong CG cuts separator (Letchford and Lodi)
cmir -3000 0 0 complemented mixed integer rounding cuts separator (Marchand's version)
flowcover -4000 0 0 flow cover cuts separator (c-MIR approach)
clique -5000 0 0 clique separator of stable set relaxation
zerohalf -6000 -1 0 {0,1/2}-cuts separator
mcf -10000 0 0 multi-commodity-flow network cut separator
eccuts -13000 -1 1 separator for edge-concave functions
oddcycle -15000 -1 1 odd cycle separator
rapidlearning -1200000 -1 1 rapid learning heuristic and separator

See http://scip.zib.de/doc/html/SEPA.php for a detailed description of the separator properties.

List of SCIP Options

SCIP supports a large set of options. In the following, we give a detailed list of all SCIP options.

gams

Option Description Default
gams/dumpsolutions name of solutions index gdx file for writing all solutions
gams/indicatorfile name of GAMS options file that contains definitions on indicators
gams/interactive command to be issued to the SCIP shell instead of issuing a solve command
gams/mipstart whether to try GAMS variable level values as initial primal solution 1
gams/resolvenlp whether to resolve MINLP with fixed discrete variables if best solution violates some constraints 1

gams/solvetrace

Option Description Default
gams/solvetrace/file name of file where to write branch-and-bound trace information too
gams/solvetrace/nodefreq frequency in number of nodes when to write branch-and-bound trace information, 0 to disable 100
gams/solvetrace/timefreq frequency in seconds when to write branch-and-bound trace information, 0.0 to disable 5

branching

Option Description Default
branching/checksol should LP solutions during strong branching with propagation be checked for feasibility? 1
branching/clamp minimal relative distance of branching point to bounds when branching on a continuous variable
Range: [0, 0.5]
0.2
branching/delaypscostupdate should updating pseudo costs for continuous variables be delayed to the time after separation? 1
branching/divingpscost should pseudo costs be updated also in diving and probing mode? 1
branching/firstsbchild child node to be regarded first during strong branching (only with propagation): 'u'p child, 'd'own child, or 'a'utomatic a
branching/forceallchildren should all strong branching children be regarded even if one is detected to be infeasible? (only with propagation) 0
branching/lpgainnormalize strategy for normalization of LP gain when updating pseudocosts of continuous variables (divide by movement of 'l'p value, reduction in 'd'omain width, or reduction in domain width of 's'ibling) s
branching/preferbinary should branching on binary variables be preferred? 0
branching/roundsbsol should LP solutions during strong branching with propagation be rounded? (only when checksbsol=TRUE) 1
branching/scorefac branching score factor to weigh downward and upward gain prediction in sum score function
Range: [0, 1]
0.167
branching/scorefunc branching score function ('s'um, 'p'roduct, 'q'uotient) p

branching/allfullstrong

Option Description Default
branching/allfullstrong/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/allfullstrong/maxdepth maximal depth level, up to which branching rule <allfullstrong> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/allfullstrong/priority priority of branching rule <allfullstrong>
Range: [-536870912, 536870911]
-1000

branching/cloud

Option Description Default
branching/cloud/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/cloud/maxdepth maximal depth level, up to which branching rule <cloud> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/cloud/maxdepthunion maximum depth for the union
Range: [0, 65000]
65000
branching/cloud/maxpoints maximum number of points for the cloud (-1 means no limit)
Range: [-1, ∞]
-1
branching/cloud/minsuccessrate minimum success rate for the cloud
Range: [0, 1]
0
branching/cloud/minsuccessunion minimum success rate for the union
Range: [0, 1]
0
branching/cloud/onlyF2 should only F2 be used? 0
branching/cloud/priority priority of branching rule <cloud>
Range: [-536870912, 536870911]
0
branching/cloud/usecloud should a cloud of points be used? 1
branching/cloud/useunion should the union of candidates be used? 0

branching/distribution

Option Description Default
branching/distribution/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/distribution/maxdepth maximal depth level, up to which branching rule <distribution> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/distribution/onlyactiverows should only rows which are active at the current node be considered? 0
branching/distribution/priority priority of branching rule <distribution>
Range: [-536870912, 536870911]
0
branching/distribution/scoreparam the score;largest 'd'ifference, 'l'owest cumulative probability,'h'ighest c.p., 'v'otes lowest c.p., votes highest c.p.('w') v
branching/distribution/weightedscore should the branching score weigh up- and down-scores of a variable 0

branching/fullstrong

Option Description Default
branching/fullstrong/forcestrongbranch should strong branching be applied even if there is just a single candidate? 0
branching/fullstrong/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/fullstrong/maxdepth maximal depth level, up to which branching rule <fullstrong> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/fullstrong/maxproprounds maximum number of propagation rounds to be performed during strong branching before solving the LP (-1: no limit, -2: parameter settings)
Range: [-2, ∞]
-2
branching/fullstrong/priority priority of branching rule <fullstrong>
Range: [-536870912, 536870911]
0
branching/fullstrong/probingbounds should valid bounds be identified in a probing-like fashion during strong branching (only with propagation)? 1
branching/fullstrong/reevalage number of intermediate LPs solved to trigger reevaluation of strong branching value for a variable that was already evaluated at the current node 10

branching/inference

Option Description Default
branching/inference/conflictweight weight in score calculations for conflict score 1000
branching/inference/cutoffweight weight in score calculations for cutoff score 1
branching/inference/fractionals should branching on LP solution be restricted to the fractional variables? 1
branching/inference/inferenceweight weight in score calculations for inference score
Range: [-∞, ∞]
1
branching/inference/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/inference/maxdepth maximal depth level, up to which branching rule <inference> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/inference/priority priority of branching rule <inference>
Range: [-536870912, 536870911]
1000
branching/inference/reliablescore weight in score calculations for conflict score 0.001
branching/inference/useweightedsum should a weighted sum of inference, conflict and cutoff weights be used? 1

branching/leastinf

Option Description Default
branching/leastinf/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/leastinf/maxdepth maximal depth level, up to which branching rule <leastinf> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/leastinf/priority priority of branching rule <leastinf>
Range: [-536870912, 536870911]
50

branching/mostinf

Option Description Default
branching/mostinf/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/mostinf/maxdepth maximal depth level, up to which branching rule <mostinf> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/mostinf/priority priority of branching rule <mostinf>
Range: [-536870912, 536870911]
100

branching/multaggr

Option Description Default
branching/multaggr/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/multaggr/maxdepth maximal depth level, up to which branching rule <multaggr> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/multaggr/maxproprounds maximum number of propagation rounds to be performed during multaggr branching before solving the LP (-1: no limit, -2: parameter settings)
Range: [-2, ∞]
0
branching/multaggr/priority priority of branching rule <multaggr>
Range: [-536870912, 536870911]
0
branching/multaggr/probingbounds should valid bounds be identified in a probing-like fashion during multaggr branching (only with propagation)? 1
branching/multaggr/reevalage number of intermediate LPs solved to trigger reevaluation of strong branching value for a variable that was already evaluated at the current node 0

branching/nodereopt

Option Description Default
branching/nodereopt/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/nodereopt/maxdepth maximal depth level, up to which branching rule <nodereopt> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/nodereopt/priority priority of branching rule <nodereopt>
Range: [-536870912, 536870911]
-9000000

branching/pscost

Option Description Default
branching/pscost/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/pscost/maxdepth maximal depth level, up to which branching rule <pscost> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/pscost/maxscoreweight weight for maximum of scores of a branching candidate when building weighted sum of min/max/sum of scores
Range: [-∞, ∞]
1.3
branching/pscost/minscoreweight weight for minimum of scores of a branching candidate when building weighted sum of min/max/sum of scores
Range: [-∞, ∞]
0.8
branching/pscost/narymaxdepth maximal depth where to do n-ary branching, -1 to turn off
Range: [-1, ∞]
-1
branching/pscost/naryminwidth minimal domain width in children when doing n-ary branching, relative to global bounds
Range: [0, 1]
0.001
branching/pscost/narywidthfactor factor of domain width in n-ary branching when creating nodes with increasing distance from branching value
Range: [1, ∞]
2
branching/pscost/nchildren number of children to create in n-ary branching
Range: [2, ∞]
2
branching/pscost/priority priority of branching rule <pscost>
Range: [-536870912, 536870911]
2000
branching/pscost/strategy strategy for utilizing pseudo-costs of external branching candidates (multiply as in pseudo costs 'u'pdate rule, or by 'd'omain reduction, or by domain reduction of 's'ibling, or by 'v'ariable score) u
branching/pscost/sumscoreweight weight for sum of scores of a branching candidate when building weighted sum of min/max/sum of scores
Range: [-∞, ∞]
0.1

branching/random

Option Description Default
branching/random/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/random/maxdepth maximal depth level, up to which branching rule <random> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/random/priority priority of branching rule <random>
Range: [-536870912, 536870911]
-100000
branching/random/seed initial random seed value 0

branching/relpscost

Option Description Default
branching/relpscost/confidencelevel the confidence level for statistical methods, between 0 (Min) and 4 (Max).
Range: [0, 4]
2
branching/relpscost/conflictlengthweight weight in score calculations for conflict length score
Range: [-∞, ∞]
0
branching/relpscost/conflictweight weight in score calculations for conflict score
Range: [-∞, ∞]
0.01
branching/relpscost/cutoffweight weight in score calculations for cutoff score
Range: [-∞, ∞]
0.0001
branching/relpscost/higherrortol high relative error tolerance for reliability 1
branching/relpscost/inferenceweight weight in score calculations for inference score
Range: [-∞, ∞]
0.0001
branching/relpscost/initcand maximal number of candidates initialized with strong branching per node 100
branching/relpscost/inititer iteration limit for strong branching initializations of pseudo cost entries (0: auto) 0
branching/relpscost/lowerrortol low relative error tolerance for reliability 0.05
branching/relpscost/maxbdchgs maximal number of bound tightenings before the node is reevaluated (-1: unlimited)
Range: [-1, ∞]
5
branching/relpscost/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
branching/relpscost/maxdepth maximal depth level, up to which branching rule <relpscost> should be used (-1 for no limit)
Range: [-1, ∞]
-1
branching/relpscost/maxlookahead maximal number of further variables evaluated without better score
Range: [1, ∞]
9
branching/relpscost/maxproprounds maximum number of propagation rounds to be performed during strong branching before solving the LP (-1: no limit, -2: parameter settings)
Range: [-2, ∞]
-2
branching/relpscost/maxreliable maximal value for minimum pseudo cost size to regard pseudo cost value as reliable 5
branching/relpscost/minreliable minimal value for minimum pseudo cost size to regard pseudo cost value as reliable 1
branching/relpscost/nlscoreweight weight in score calculations for nlcount score
Range: [-∞, ∞]
0.1
branching/relpscost/priority priority of branching rule <relpscost>
Range: [-536870912, 536870911]
10000
branching/relpscost/probingbounds should valid bounds be identified in a probing-like fashion during strong branching (only with propagation)? 1
branching/relpscost/pscostweight weight in score calculations for pseudo cost score
Range: [-∞, ∞]
1
branching/relpscost/randinitorder should candidates be initialized in randomized order? 0
branching/relpscost/sbiterofs additional number of allowed strong branching LP iterations 100000
branching/relpscost/sbiterquot maximal fraction of strong branching LP iterations compared to node relaxation LP iterations 0.5
branching/relpscost/skipbadinitcands should branching rule skip candidates that have a low probability to be better than the best strong-branching or pseudo-candidate? 1
branching/relpscost/startrandseed start seed for random number generation 12345
branching/relpscost/storesemiinitcosts should strong branching result be considered for pseudo costs if the other direction was infeasible? 0
branching/relpscost/usedynamicconfidence should the confidence level be adjusted dynamically? 0
branching/relpscost/usehyptestforreliability should the strong branching decision be based on a hypothesis test? 0
branching/relpscost/userelerrorreliability should reliability be based on relative errors? 0
branching/relpscost/usesblocalinfo should the scoring function use only local cutoff and inference information obtained for strong branching candidates? 0

conflict

Option Description Default
conflict/allowlocal should conflict constraints be generated that are only valid locally? 1
conflict/conflictgraphweight the weight the VSIDS score is weight by updating the VSIDS for a variable if it is part of a conflict graph
Range: [0, 1]
1
conflict/conflictweight the weight the VSIDS score is weight by updating the VSIDS for a variable if it is part of a conflict
Range: [0, 1]
0
conflict/depthscorefac score factor for depth level in bound relaxation heuristic of LP analysis
Range: [-∞, ∞]
1
conflict/dynamic should the conflict constraints be subject to aging? 1
conflict/enable should conflict analysis be enabled? 1
conflict/fuiplevels number of depth levels up to which first UIP's are used in conflict analysis (-1: use All-FirstUIP rule)
Range: [-1, ∞]
-1
conflict/fullshortenconflict try to shorten the whole conflict set or terminate early (depending on the 'maxvarsdetectimpliedbounds' parameter) 1
conflict/ignorerelaxedbd should relaxed bounds be ignored? 0
conflict/interconss maximal number of intermediate conflict constraints generated in conflict graph (-1: use every intermediate constraint)
Range: [-1, ∞]
-1
conflict/keepreprop should constraints be kept for repropagation even if they are too long? 1
conflict/lpiterations maximal number of LP iterations in each LP resolving loop (-1: no limit)
Range: [-1, ∞]
10
conflict/maxconss maximal number of conflict constraints accepted at an infeasible node (-1: use all generated conflict constraints)
Range: [-1, ∞]
10
conflict/maxlploops maximal number of LP resolving loops during conflict analysis (-1: no limit)
Range: [-1, ∞]
2
conflict/maxvarsdetectimpliedbounds maximal number of variables to try to detect global bound implications and shorten the whole conflict set (0: disabled) 250
conflict/maxvarsfac maximal fraction of variables involved in a conflict constraint 0.1
conflict/minmaxvars minimal absolute maximum of variables involved in a conflict constraint 30
conflict/preferbinary should binary conflicts be preferred? 0
conflict/reconvlevels number of depth levels up to which UIP reconvergence constraints are generated (-1: generate reconvergence constraints in all depth levels)
Range: [-1, ∞]
-1
conflict/removable should the conflict's relaxations be subject to LP aging and cleanup? 1
conflict/repropagate should earlier nodes be repropagated in order to replace branching decisions by deductions? 1
conflict/restartfac factor to increase restartnum with after each restart 1.5
conflict/restartnum number of successful conflict analysis calls that trigger a restart (0: disable conflict restarts) 0
conflict/scorefac factor to decrease importance of variables' earlier conflict scores
Range: [1e-06, 1]
0.98
conflict/separate should the conflict constraints be separated? 1
conflict/settlelocal should conflict constraints be attached only to the local subtree where they can be useful? 0
conflict/useboundlp should bound exceeding LP conflict analysis be used? 0
conflict/useinflp should infeasible LP conflict analysis be used? 1
conflict/useprop should propagation conflict analysis be used? 1
conflict/usepseudo should pseudo solution conflict analysis be used? 1
conflict/usesb should infeasible/bound exceeding strong branching conflict analysis be used? 0

conflict/bounddisjunction

Option Description Default
conflict/bounddisjunction/continuousfrac maximal percantage of continuous variables within a conflict
Range: [0, 1]
0.4
conflict/bounddisjunction/priority priority of conflict handler <bounddisjunction>
Range: [-2147483648, ∞]
-3000000

conflict/indicatorconflict

Option Description Default
conflict/indicatorconflict/priority priority of conflict handler <indicatorconflict>
Range: [-2147483648, ∞]
200000

conflict/linear

Option Description Default
conflict/linear/priority priority of conflict handler <linear>
Range: [-2147483648, ∞]
-1000000

conflict/logicor

Option Description Default
conflict/logicor/priority priority of conflict handler <logicor>
Range: [-2147483648, ∞]
800000

conflict/setppc

Option Description Default
conflict/setppc/priority priority of conflict handler <setppc>
Range: [-2147483648, ∞]
700000

constraints

Option Description Default
constraints/agelimit maximum age an unnecessary constraint can reach before it is deleted (0: dynamic, -1: keep all constraints)
Range: [-1, ∞]
0
constraints/disableenfops should enforcement of pseudo solution be disabled? 0
constraints/obsoleteage age of a constraint after which it is marked obsolete (0: dynamic, -1 do not mark constraints obsolete)
Range: [-1, ∞]
-1

constraints/SOS1

Option Description Default
constraints/SOS1/addbdsfeas minimal feasibility value for bound inequalities in order to be added to the branching node
Range: [-∞, ∞]
1
constraints/SOS1/addcomps if TRUE then add complementarity constraints to the branching nodes (can be used in combination with neighborhood or bipartite branching) 0
constraints/SOS1/addcompsdepth only add complementarity constraints to branching nodes for predefined depth (-1: no limit)
Range: [-1, ∞]
30
constraints/SOS1/addcompsfeas minimal feasibility value for complementarity constraints in order to be added to the branching node
Range: [-∞, ∞]
-0.6
constraints/SOS1/addextendedbds should added complementarity constraints be extended to SOS1 constraints to get tighter bound inequalities 1
constraints/SOS1/autocutsfromsos1 if TRUE then automatically switch to separating initial SOS1 constraints if the SOS1 constraints do not overlap 1
constraints/SOS1/autosos1branch if TRUE then automatically switch to SOS1 branching if the SOS1 constraints do not overlap 1
constraints/SOS1/boundcutsdepth node depth of separating bound cuts (-1: no limit)
Range: [-1, ∞]
40
constraints/SOS1/boundcutsfreq frequency for separating bound cuts; zero means to separate only in the root node
Range: [-1, ∞]
10
constraints/SOS1/boundcutsfromgraph if TRUE separate bound inequalities from the conflict graph 1
constraints/SOS1/boundcutsfromsos1 if TRUE separate bound inequalities from initial SOS1 constraints 0
constraints/SOS1/branchingrule which branching rule should be applied ? ('n': neighborhood, 'b': bipartite, 's': SOS1/clique) (note: in some cases an automatic switching to SOS1 branching is possible) n
constraints/SOS1/branchnonzeros Branch on SOS constraint with most number of nonzeros? 0
constraints/SOS1/branchsos Use SOS1 branching in enforcing (otherwise leave decision to branching rules)? This value can only be set to false if all SOS1 variables are binary 1
constraints/SOS1/branchweight Branch on SOS cons. with highest nonzero-variable weight for branching (needs branchnonzeros = false)? 0
constraints/SOS1/conflictprop whether to use conflict graph propagation 1
constraints/SOS1/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/SOS1/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/SOS1/depthimplanalysis number of recursive calls of implication graph analysis (-1: no limit)
Range: [-1, ∞]
-1
constraints/SOS1/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/SOS1/fixnonzero if neighborhood branching is used, then fix the branching variable (if positive in sign) to the value of the feasibility tolerance 0
constraints/SOS1/implcutsdepth node depth of separating implied bound cuts (-1: no limit)
Range: [-1, ∞]
40
constraints/SOS1/implcutsfreq frequency for separating implied bound cuts; zero means to separate only in the root node
Range: [-1, ∞]
0
constraints/SOS1/implprop whether to use implication graph propagation 1
constraints/SOS1/maxaddcomps maximal number of complementarity constraints added per branching node (-1: no limit)
Range: [-1, ∞]
-1
constraints/SOS1/maxboundcuts maximal number of bound cuts separated per branching node 50
constraints/SOS1/maxboundcutsroot maximal number of bound cuts separated per iteration in the root node 150
constraints/SOS1/maxextensions maximal number of extensions that will be computed for each SOS1 constraint (-1: no limit)
Range: [-1, ∞]
1
constraints/SOS1/maximplcuts maximal number of implied bound cuts separated per branching node 50
constraints/SOS1/maximplcutsroot maximal number of implied bound cuts separated per iteration in the root node 150
constraints/SOS1/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/SOS1/maxsosadjacency do not create an adjacency matrix if number of SOS1 variables is larger than predefined value (-1: no limit)
Range: [-1, ∞]
10000
constraints/SOS1/maxtightenbds maximal number of bound tightening rounds per presolving round (-1: no limit)
Range: [-1, ∞]
5
constraints/SOS1/nstrongiter maximal number LP iterations to perform for each strong branching round (-2: auto, -1: no limit)
Range: [-2, ∞]
10000
constraints/SOS1/nstrongrounds maximal number of strong branching rounds to perform for each node (-1: auto); only available for neighborhood and bipartite branching
Range: [-1, ∞]
0
constraints/SOS1/perfimplanalysis if TRUE then perform implication graph analysis (might add additional SOS1 constraints) 1
constraints/SOS1/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
8
constraints/SOS1/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/SOS1/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/SOS1/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
10
constraints/SOS1/sosconsprop whether to use SOS1 constraint propagation 0
constraints/SOS1/strthenboundcuts if TRUE then bound cuts are strengthened in case bound variables are available 1

constraints/SOS2

Option Description Default
constraints/SOS2/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/SOS2/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/SOS2/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/SOS2/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/SOS2/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
4
constraints/SOS2/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/SOS2/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/SOS2/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
0

constraints/abspower

Option Description Default
constraints/abspower/addvarboundcons should variable bound constraints be added for derived variable bounds? 1
constraints/abspower/branchminconverror whether to compute branching point such that the convexification error is minimized (after branching on 0.0) 0
constraints/abspower/cutmaxrange maximal coef range of a cut (maximal coefficient divided by minimal coefficient) in order to be added to LP relaxation 1e+07
constraints/abspower/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/abspower/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/abspower/dualpresolve should dual presolve be applied? 1
constraints/abspower/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/abspower/enfocutsremovable are cuts added during enforcement removable from the LP in the same node? 0
constraints/abspower/linfeasshift whether to try to make solutions in check function feasible by shifting the linear variable z 1
constraints/abspower/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/abspower/minefficacyenfofac minimal target efficacy of a cut in order to add it to relaxation during enforcement as factor of feasibility tolerance (may be ignored)
Range: [1, ∞]
2
constraints/abspower/minefficacysepa minimal efficacy for a cut to be added to the LP during separation; overwrites separating/efficacy 0.0001
constraints/abspower/preferzerobranch how much to prefer branching on 0.0 when sign of variable is not fixed yet: 0 no preference, 1 prefer if LP solution will be cutoff in both child nodes, 2 prefer always, 3 ensure always
Range: [0, 3]
1
constraints/abspower/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
12
constraints/abspower/projectrefpoint whether to project the reference point when linearizing an absolute power constraint in a convex region 1
constraints/abspower/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/abspower/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
15
constraints/abspower/scaling whether scaling of infeasibility is 'o'ff, by sup-norm of function 'g'radient, or by left/right hand 's'ide o
constraints/abspower/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/abspower/sepainboundsonly whether to separate linearization cuts only in the variable bounds (does not affect enforcement) 0
constraints/abspower/sepanlpmincont minimal required fraction of continuous variables in problem to use solution of NLP relaxation in root for separation
Range: [0, 2]
1

constraints/and

Option Description Default
constraints/and/aggrlinearization should an aggregated linearization be used? 0
constraints/and/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/and/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/and/dualpresolving should dual presolving be performed? 1
constraints/and/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/and/enforcecuts should cuts be separated during LP enforcing? 1
constraints/and/linearize should the AND-constraint get linearized and removed (in presolving)? 0
constraints/and/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/and/presolpairwise should pairwise constraint comparison be performed in presolving? 1
constraints/and/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
20
constraints/and/presolusehashing should hash table be used for detecting redundant constraints in advance 1
constraints/and/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/and/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/and/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/and/upgraderesultant should all binary resultant variables be upgraded to implicit binary variables? 1

constraints/bivariate

Option Description Default
constraints/bivariate/cutmaxrange maximal coef range of a cut (maximal coefficient divided by minimal coefficient) in order to be added to LP relaxation 1e+07
constraints/bivariate/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/bivariate/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/bivariate/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/bivariate/enfocutsremovable are cuts added during enforcement removable from the LP in the same node? 0
constraints/bivariate/linfeasshift whether to try to make solutions in check function feasible by shifting a linear variable (esp. useful if constraint was actually objective function) 1
constraints/bivariate/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/bivariate/maxproprounds limit on number of propagation rounds for a single constraint within one round of SCIP propagation 1
constraints/bivariate/minefficacyenfo minimal target efficacy of a cut in order to add it to relaxation during enforcement (may be ignored) 2e-06
constraints/bivariate/minefficacysepa minimal efficacy for a cut to be added to the LP during separation; overwrites separating/efficacy 0.0001
constraints/bivariate/ninitlprefpoints number of reference points in each direction where to compute linear support for envelope in LP initialization 3
constraints/bivariate/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
4
constraints/bivariate/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/bivariate/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/bivariate/scaling whether scaling of infeasibility is 'o'ff, by sup-norm of function 'g'radient, or by left/right hand 's'ide o
constraints/bivariate/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
1

constraints/bounddisjunction

Option Description Default
constraints/bounddisjunction/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/bounddisjunction/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/bounddisjunction/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/bounddisjunction/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/bounddisjunction/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
4
constraints/bounddisjunction/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/bounddisjunction/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/bounddisjunction/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
-1

constraints/indicator

Option Description Default
constraints/indicator/addcoupling Add coupling constraints if big-M is small enough? 1
constraints/indicator/addcouplingcons Add initial coupling inequalities as linear constraints, if 'addcoupling' is true? 0
constraints/indicator/addopposite Add opposite inequality in nodes in which the binary variable has been fixed to 0? 0
constraints/indicator/branchindicators Branch on indicator constraints in enforcing? 0
constraints/indicator/conflictsupgrade Try to upgrade bounddisjunction conflicts by replacing slack variables? 0
constraints/indicator/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/indicator/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/indicator/dualreductions Should dual reduction steps be performed? 1
constraints/indicator/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/indicator/enforcecuts In enforcing try to generate cuts (only if sepaalternativelp is true)? 0
constraints/indicator/forcerestart Force restart if we have a max FS instance and gap is 1? 0
constraints/indicator/generatebilinear Do not generate indicator constraint, but a bilinear constraint instead? 0
constraints/indicator/genlogicor Generate logicor constraints instead of cuts? 0
constraints/indicator/maxconditionaltlp maximum estimated condition of the solution basis matrix of the alternative LP to be trustworthy (0.0 to disable check) 0
constraints/indicator/maxcouplingvalue maximum coefficient for binary variable in coupling constraint
Range: [0, 1e+09]
10000
constraints/indicator/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/indicator/maxsepacuts maximal number of cuts separated per separation round 100
constraints/indicator/maxsepacutsroot maximal number of cuts separated per separation round in the root node 2000
constraints/indicator/nolinconscont Decompose problem (do not generate linear constraint if all variables are continuous)? 0
constraints/indicator/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
4
constraints/indicator/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/indicator/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/indicator/removeindicators Remove indicator constraint if corresponding variable bound constraint has been added? 0
constraints/indicator/restartfrac fraction of binary variables that need to be fixed before restart occurs (in forcerestart)
Range: [0, 1]
0.9
constraints/indicator/scaleslackvar Scale slack variable coefficient at construction time? 0
constraints/indicator/sepaalternativelp Separate using the alternative LP? 0
constraints/indicator/sepacouplingcuts Should the coupling inequalities be separated dynamically? 0
constraints/indicator/sepacouplinglocal Allow to use local bounds in order to separated coupling inequalities? 0
constraints/indicator/sepacouplingvalue maximum coefficient for binary variable in separated coupling constraint
Range: [0, 1e+09]
10000
constraints/indicator/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
10
constraints/indicator/trysolfromcover Try to construct a feasible solution from a cover? 0
constraints/indicator/trysolutions Try to make solutions feasible by setting indicator variables? 1
constraints/indicator/updatebounds Update bounds of original variables for separation? 0
constraints/indicator/upgradelinear Try to upgrade linear constraints to indicator constraints? 0
constraints/indicator/useobjectivecut Use objective cut with current best solution to alternative LP? 0
constraints/indicator/useotherconss Collect other constraints to alternative LP? 0

constraints/integral

Option Description Default
constraints/integral/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/integral/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/integral/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
-1
constraints/integral/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
0
constraints/integral/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
28
constraints/integral/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
constraints/integral/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/integral/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
-1

constraints/knapsack

Option Description Default
constraints/knapsack/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/knapsack/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/knapsack/detectcutoffbound should presolving try to detect constraints parallel to the objective function defining an upper bound and prevent these constraints from entering the LP? 1
constraints/knapsack/detectlowerbound should presolving try to detect constraints parallel to the objective function defining a lower bound and prevent these constraints from entering the LP? 1
constraints/knapsack/disaggregation should disaggregation of knapsack constraints be allowed in preprocessing? 1
constraints/knapsack/dualpresolving should dual presolving steps be performed? 1
constraints/knapsack/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/knapsack/maxcardbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for separating knapsack cuts
Range: [0, 1]
0
constraints/knapsack/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/knapsack/maxrounds maximal number of separation rounds per node (-1: unlimited)
Range: [-1, ∞]
5
constraints/knapsack/maxroundsroot maximal number of separation rounds per node in the root node (-1: unlimited)
Range: [-1, ∞]
-1
constraints/knapsack/maxsepacuts maximal number of cuts separated per separation round 50
constraints/knapsack/maxsepacutsroot maximal number of cuts separated per separation round in the root node 200
constraints/knapsack/negatedclique should negated clique information be used in solving process 1
constraints/knapsack/presolpairwise should pairwise constraint comparison be performed in presolving? 1
constraints/knapsack/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
28
constraints/knapsack/presolusehashing should hash table be used for detecting redundant constraints in advance 1
constraints/knapsack/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/knapsack/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/knapsack/sepacardfreq multiplier on separation frequency, how often knapsack cuts are separated (-1: never, 0: only at root)
Range: [-1, ∞]
1
constraints/knapsack/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
0
constraints/knapsack/simplifyinequalities should presolving try to simplify knapsacks 1
constraints/knapsack/usegubs should GUB information be used for separation? 0

constraints/linear

Option Description Default
constraints/linear/aggregatevariables should presolving search for aggregations in equations 1
constraints/linear/checkrelmaxabs should the violation for a constraint with side 0.0 be checked relative to 1.0 (FALSE) or to the maximum absolute value in the activity (TRUE)? 0
constraints/linear/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/linear/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/linear/detectcutoffbound should presolving try to detect constraints parallel to the objective function defining an upper bound and prevent these constraints from entering the LP? 1
constraints/linear/detectlowerbound should presolving try to detect constraints parallel to the objective function defining a lower bound and prevent these constraints from entering the LP? 1
constraints/linear/detectpartialobjective should presolving try to detect subsets of constraints parallel to the objective function? 1
constraints/linear/dualpresolving should dual presolving steps be performed? 1
constraints/linear/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/linear/maxaggrnormscale maximal allowed relative gain in maximum norm for constraint aggregation (0.0: disable constraint aggregation) 0
constraints/linear/maxcardbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for separating knapsack cardinality cuts
Range: [0, 1]
0
constraints/linear/maxeasyactivitydelta maximum activity delta to run easy propagation on linear constraint (faster, but numerically less stable) 1e+06
constraints/linear/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/linear/maxrounds maximal number of separation rounds per node (-1: unlimited)
Range: [-1, ∞]
5
constraints/linear/maxroundsroot maximal number of separation rounds per node in the root node (-1: unlimited)
Range: [-1, ∞]
-1
constraints/linear/maxsepacuts maximal number of cuts separated per separation round 50
constraints/linear/maxsepacutsroot maximal number of cuts separated per separation round in the root node 200
constraints/linear/mingainpernmincomparisons minimal gain per minimal pairwise presolve comparisons to repeat pairwise comparison round
Range: [0, 1]
1e-06
constraints/linear/multaggrremove should multi-aggregations only be performed if the constraint can be removed afterwards? 0
constraints/linear/nmincomparisons number for minimal pairwise presolve comparisons
Range: [1, ∞]
200000
constraints/linear/presolpairwise should pairwise constraint comparison be performed in presolving? 1
constraints/linear/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
20
constraints/linear/presolusehashing should hash table be used for detecting redundant constraints in advance 1
constraints/linear/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/linear/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/linear/rangedrowartcons should presolving and propagation extract sub-constraints from ranged rows and equations? 1
constraints/linear/rangedrowfreq frequency for applying ranged row propagation
Range: [1, ∞]
1
constraints/linear/rangedrowmaxdepth maximum depth to apply ranged row propagation maxint
constraints/linear/rangedrowpropagation should presolving and propagation try to improve bounds, detect infeasibility, and extract sub-constraints from ranged rows and equations? 1
constraints/linear/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
0
constraints/linear/separateall should all constraints be subject to cardinality cut generation instead of only the ones with non-zero dual value? 0
constraints/linear/simplifyinequalities should presolving try to simplify inequalities 1
constraints/linear/sortvars apply binaries sorting in decr. order of coeff abs value? 1
constraints/linear/tightenboundsfreq multiplier on propagation frequency, how often the bounds are tightened (-1: never, 0: only at root)
Range: [-1, ∞]
1

constraints/linear/upgrade

Option Description Default
constraints/linear/upgrade/indicator enable linear upgrading for constraint handler <indicator> 1
constraints/linear/upgrade/knapsack enable linear upgrading for constraint handler <knapsack> 1
constraints/linear/upgrade/logicor enable linear upgrading for constraint handler <logicor> 1
constraints/linear/upgrade/setppc enable linear upgrading for constraint handler <setppc> 1
constraints/linear/upgrade/varbound enable linear upgrading for constraint handler <varbound> 1
constraints/linear/upgrade/xor enable linear upgrading for constraint handler <xor> 1

constraints/logicor

Option Description Default
constraints/logicor/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/logicor/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/logicor/dualpresolving should dual presolving steps be performed? 1
constraints/logicor/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/logicor/implications should implications/cliques be used in presolving 1
constraints/logicor/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/logicor/negatedclique should negated clique information be used in presolving 1
constraints/logicor/presolpairwise should pairwise constraint comparison be performed in presolving? 1
constraints/logicor/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
28
constraints/logicor/presolusehashing should hash table be used for detecting redundant constraints in advance 1
constraints/logicor/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/logicor/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/logicor/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
0
constraints/logicor/strengthen should pairwise constraint comparison try to strengthen constraints by removing superflous non-zeros? 1

constraints/nonlinear

Option Description Default
constraints/nonlinear/assumeconvex whether to assume that nonlinear functions in inequalities (≤) are convex (disables reformulation) 0
constraints/nonlinear/cutmaxrange maximal coef range of a cut (maximal coefficient divided by minimal coefficient) in order to be added to LP relaxation 1e+07
constraints/nonlinear/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/nonlinear/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/nonlinear/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/nonlinear/enfocutsremovable are cuts added during enforcement removable from the LP in the same node? 0
constraints/nonlinear/linfeasshift whether to try to make solutions in check function feasible by shifting a linear variable (esp. useful if constraint was actually objective function) 1
constraints/nonlinear/maxexpansionexponent maximal exponent where still expanding non-monomial polynomials in expression simplification
Range: [1, ∞]
2
constraints/nonlinear/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/nonlinear/maxproprounds limit on number of propagation rounds for a single constraint within one round of SCIP propagation 1
constraints/nonlinear/minefficacyenfofac minimal target efficacy of a cut in order to add it to relaxation during enforcement as a factor of the feasibility tolerance (may be ignored)
Range: [1, ∞]
2
constraints/nonlinear/minefficacysepa minimal efficacy for a cut to be added to the LP during separation; overwrites separating/efficacy 0.0001
constraints/nonlinear/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
28
constraints/nonlinear/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/nonlinear/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/nonlinear/reformulate whether to reformulate expression graph 1
constraints/nonlinear/scaling whether scaling of infeasibility is 'o'ff, by sup-norm of function 'g'radient, or by left/right hand 's'ide o
constraints/nonlinear/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/nonlinear/sepanlpmincont minimal required fraction of continuous variables in problem to use solution of NLP relaxation in root for separation
Range: [0, 2]
1

constraints/nonlinear/upgrade

Option Description Default
constraints/nonlinear/upgrade/abspower enable nonlinear upgrading for constraint handler <abspower> 1
constraints/nonlinear/upgrade/and enable nonlinear upgrading for constraint handler <and> 1
constraints/nonlinear/upgrade/bivariate enable nonlinear upgrading for constraint handler <bivariate> 0
constraints/nonlinear/upgrade/linear enable nonlinear upgrading for constraint handler <linear> 1
constraints/nonlinear/upgrade/quadratic enable nonlinear upgrading for constraint handler <quadratic> 1

constraints/quadratic

Option Description Default
constraints/quadratic/binreforminitial whether to make non-varbound linear constraints added due to replacing products with binary variables initial 0
constraints/quadratic/binreformmaxcoef limit (as factor on 1/feastol) on coefficients and coef. range in linear constraints created when replacing products with binary variables 0.0001
constraints/quadratic/branchscoring which score to give branching candidates: convexification 'g'ap, constraint 'v'iolation, 'c'entrality of variable value in domain g
constraints/quadratic/checkcurvature whether multivariate quadratic functions should be checked for convexity/concavity 1
constraints/quadratic/checkfactorable whether constraint functions should be checked to be factorable 1
constraints/quadratic/cutmaxrange maximal coef range of a cut (maximal coefficient divided by minimal coefficient) in order to be added to LP relaxation 1e+07
constraints/quadratic/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/quadratic/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/quadratic/disaggregate whether to disaggregate quadratic parts that decompose into a sum of non-overlapping quadratic terms 0
constraints/quadratic/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/quadratic/empathy4and empathy level for using the AND constraint handler: 0 always avoid using AND; 1 use AND sometimes; 2 use AND as often as possible
Range: [0, 2]
0
constraints/quadratic/enfocutsremovable are cuts added during enforcement removable from the LP in the same node? 0
constraints/quadratic/enfolplimit maximum number of enforcement rounds before declaring the LP relaxation infeasible (-1: no limit); WARNING: changing this parameter might lead to incorrect results!
Range: [-1, ∞]
-1
constraints/quadratic/gaugecuts should convex quadratics generated strong cuts via gauge function? 1
constraints/quadratic/interiorcomputation how the interior point should be computed: 'a'ny point per constraint, 'm'ost interior per constraint a
constraints/quadratic/linearizeheursol whether linearizations of convex quadratic constraints should be added to cutpool in a solution found by some heuristic 1
constraints/quadratic/linfeasshift whether to try to make solutions in check function feasible by shifting a linear variable (esp. useful if constraint was actually objective function) 1
constraints/quadratic/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/quadratic/maxproprounds limit on number of propagation rounds for a single constraint within one round of SCIP propagation during solve 1
constraints/quadratic/maxproproundspresolve limit on number of propagation rounds for a single constraint within one round of SCIP presolve 10
constraints/quadratic/minefficacyenfofac minimal target efficacy of a cut in order to add it to relaxation during enforcement as a factor of the feasibility tolerance (may be ignored)
Range: [1, ∞]
2
constraints/quadratic/minefficacysepa minimal efficacy for a cut to be added to the LP during separation; overwrites separating/efficacy 0.0001
constraints/quadratic/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
28
constraints/quadratic/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/quadratic/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/quadratic/replacebinaryprod max. length of linear term which when multiplied with a binary variables is replaced by an auxiliary variable and a linear reformulation (0 to turn off) maxint
constraints/quadratic/scaling whether scaling of infeasibility is 'o'ff, by sup-norm of function 'g'radient, or by left/right hand 's'ide o
constraints/quadratic/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/quadratic/sepanlpmincont minimal required fraction of continuous variables in problem to use solution of NLP relaxation in root for separation
Range: [0, 2]
1

constraints/quadratic/upgrade

Option Description Default
constraints/quadratic/upgrade/abspower enable quadratic upgrading for constraint handler <abspower> 1
constraints/quadratic/upgrade/bivariate enable quadratic upgrading for constraint handler <bivariate> 0
constraints/quadratic/upgrade/bounddisjunction enable quadratic upgrading for constraint handler <bounddisjunction> 1
constraints/quadratic/upgrade/linear enable quadratic upgrading for constraint handler <linear> 1
constraints/quadratic/upgrade/setppc enable quadratic upgrading for constraint handler <setppc> 1
constraints/quadratic/upgrade/soc enable quadratic upgrading for constraint handler <soc> 1

constraints/setppc

Option Description Default
constraints/setppc/addvariablesascliques should we try to generate extra cliques out of all binary variables to maybe fasten redundant constraint detection 0
constraints/setppc/cliquelifting should we try to lift variables into other clique constraints, fix variables, aggregate them, and also shrink the amount of variables in clique constraints 0
constraints/setppc/cliqueshrinking should we try to shrink the number of variables in a clique constraints, by replacing more than one variable by only one 1
constraints/setppc/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/setppc/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/setppc/dualpresolving should dual presolving steps be performed? 1
constraints/setppc/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/setppc/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/setppc/npseudobranches number of children created in pseudo branching (0: disable pseudo branching) 2
constraints/setppc/presolpairwise should pairwise constraint comparison be performed in presolving? 1
constraints/setppc/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
28
constraints/setppc/presolusehashing should hash table be used for detecting redundant constraints in advance 1
constraints/setppc/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/setppc/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/setppc/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
0

constraints/soc

Option Description Default
constraints/soc/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/soc/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/soc/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/soc/enfocutsremovable are cuts added during enforcement removable from the LP in the same node? 0
constraints/soc/generalsocupgrade try to upgrade more general quadratics to soc? 1
constraints/soc/glineur whether the Glineur Outer Approximation should be used instead of Ben-Tal Nemirovski 1
constraints/soc/linfeasshift whether to try to make solutions feasible in check by shifting the variable on the right hand side 1
constraints/soc/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/soc/minefficacy minimal efficacy of a cut to be added to LP in separation 0.0001
constraints/soc/nauxvars number of auxiliary variables to use when creating a linear outer approx. of a SOC3 constraint; 0 to turn off 0
constraints/soc/nlpform which formulation to use when adding a SOC constraint to the NLP (a: automatic, q: nonconvex quadratic form, s: convex sqrt form, e: convex exponential-sqrt form, d: convex division form) a
constraints/soc/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
28
constraints/soc/projectpoint whether the reference point of a cut should be projected onto the feasible set of the SOC constraint 0
constraints/soc/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/soc/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/soc/scaling whether scaling of infeasibility is 'o'ff, by sup-norm of function 'g'radient, or by left/right hand 's'ide o
constraints/soc/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/soc/sepanlpmincont minimal required fraction of continuous variables in problem to use solution of NLP relaxation in root for separation
Range: [0, 2]
1
constraints/soc/sparsify whether to sparsify cuts 0
constraints/soc/sparsifymaxloss maximal loss in cut efficacy by sparsification
Range: [0, 1]
0.2
constraints/soc/sparsifynzgrowth growth rate of maximal allowed nonzeros in cuts in sparsification
Range: [1, ∞]
1.3

constraints/varbound

Option Description Default
constraints/varbound/delayprop should propagation method be delayed, if other propagators found reductions? 0
constraints/varbound/delaysepa should separation method be delayed, if other separators found cuts? 0
constraints/varbound/eagerfreq frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
Range: [-1, ∞]
100
constraints/varbound/maxlpcoef maximum coefficient in varbound constraint to be added as a row into LP 1e+09
constraints/varbound/maxprerounds maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Range: [-1, ∞]
-1
constraints/varbound/presolpairwise should pairwise constraint comparison be performed in presolving? 1
constraints/varbound/presoltiming timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
12
constraints/varbound/propfreq frequency for propagating domains (-1: never, 0: only in root node)
Range: [-1, ∞]
1
constraints/varbound/proptiming timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
Range: [1, 15]
1
constraints/varbound/sepafreq frequency for separating cuts (-1: never, 0: only in root node)
Range: [-1, ∞]
0
constraints/varbound/usebdwidening should bound widening be used in conflict analysis? 1

display

Option Description Default
display/allviols display all violations of the best solution after the solving process finished? 0
display/freq frequency for displaying node information lines
Range: [-1, ∞]
100
display/headerfreq frequency for displaying header lines (every n'th node information line)
Range: [-1, ∞]
15
display/lpinfo should the LP solver display status messages? 0
display/statistics whether to print statistics on a solve 0
display/verblevel verbosity level of output
Range: [0, 5]
4
display/width maximal number of characters in a node information line 139 (80 for Windows without IDE)

display/avgdualbound

Option Description Default
display/avgdualbound/active display activation status of display column <avgdualbound> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/conflicts

Option Description Default
display/conflicts/active display activation status of display column <conflicts> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/conss

Option Description Default
display/conss/active display activation status of display column <conss> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/curcols

Option Description Default
display/curcols/active display activation status of display column <curcols> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/curconss

Option Description Default
display/curconss/active display activation status of display column <curconss> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/curdualbound

Option Description Default
display/curdualbound/active display activation status of display column <curdualbound> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/currows

Option Description Default
display/currows/active display activation status of display column <currows> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/cutoffbound

Option Description Default
display/cutoffbound/active display activation status of display column <cutoffbound> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/cuts

Option Description Default
display/cuts/active display activation status of display column <cuts> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/depth

Option Description Default
display/depth/active display activation status of display column <depth> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/dualbound

Option Description Default
display/dualbound/active display activation status of display column <dualbound> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/estimate

Option Description Default
display/estimate/active display activation status of display column <estimate> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/feasST

Option Description Default
display/feasST/active display activation status of display column <feasST> (0: off, 1: auto, 2:on)
Range: [0, 2]
0

display/gap

Option Description Default
display/gap/active display activation status of display column <gap> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/lpavgiterations

Option Description Default
display/lpavgiterations/active display activation status of display column <lpavgiterations> (0: off, 1: auto, 2:on)
Range: [0, 2]
1 (0 for Windows without IDE)

display/lpcond

Option Description Default
display/lpcond/active display activation status of display column <lpcond> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/lpiterations

Option Description Default
display/lpiterations/active display activation status of display column <lpiterations> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/lpobj

Option Description Default
display/lpobj/active display activation status of display column <lpobj> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/maxdepth

Option Description Default
display/maxdepth/active display activation status of display column <maxdepth> (0: off, 1: auto, 2:on)
Range: [0, 2]
1 (0 for Windows without IDE)

display/memused

Option Description Default
display/memused/active display activation status of display column <memused> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/nexternbranchcands

Option Description Default
display/nexternbranchcands/active display activation status of display column <nexternbranchcands> (0: off, 1: auto, 2:on)
Range: [0, 2]
1 (2 for nonlinear instances)

display/nfrac

Option Description Default
display/nfrac/active display activation status of display column <nfrac> (0: off, 1: auto, 2:on)
Range: [0, 2]
1 (2 if discrete variables)

display/nnodes

Option Description Default
display/nnodes/active display activation status of display column <nnodes> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/nodesleft

Option Description Default
display/nodesleft/active display activation status of display column <nodesleft> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/nsols

Option Description Default
display/nsols/active display activation status of display column <nsols> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/plungedepth

Option Description Default
display/plungedepth/active display activation status of display column <plungedepth> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/poolsize

Option Description Default
display/poolsize/active display activation status of display column <poolsize> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/primalbound

Option Description Default
display/primalbound/active display activation status of display column <primalbound> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/primalgap

Option Description Default
display/primalgap/active display activation status of display column <primalgap> (0: off, 1: auto, 2:on)
Range: [0, 2]
0

display/pseudoobj

Option Description Default
display/pseudoobj/active display activation status of display column <pseudoobj> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/separounds

Option Description Default
display/separounds/active display activation status of display column <separounds> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/solfound

Option Description Default
display/solfound/active display activation status of display column <solfound> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/sols

Option Description Default
display/sols/active display activation status of display column <sols> (0: off, 1: auto, 2:on)
Range: [0, 2]
0

display/strongbranchs

Option Description Default
display/strongbranchs/active display activation status of display column <strongbranchs> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

display/time

Option Description Default
display/time/active display activation status of display column <time> (0: off, 1: auto, 2:on)
Range: [0, 2]
1 (2 for Windows without IDE)

display/vars

Option Description Default
display/vars/active display activation status of display column <vars> (0: off, 1: auto, 2:on)
Range: [0, 2]
1

heuristics/actconsdiving

Option Description Default
heuristics/actconsdiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/actconsdiving/freq frequency for calling primal heuristic <actconsdiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/actconsdiving/freqofs frequency offset for calling primal heuristic <actconsdiving> 5
heuristics/actconsdiving/lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve 0.15
heuristics/actconsdiving/lpsolvefreq LP solve frequency for diving heuristics (0: only after enough domain changes have been found) 0
heuristics/actconsdiving/maxdepth maximal depth level to call primal heuristic <actconsdiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/actconsdiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/actconsdiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 1
heuristics/actconsdiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/actconsdiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
1
heuristics/actconsdiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/actconsdiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/actconsdiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/actconsdiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/actconsdiving/onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? 1
heuristics/actconsdiving/priority priority of heuristic <actconsdiving>
Range: [-536870912, 536870911]
-1003700

heuristics/bound

Option Description Default
heuristics/bound/bound to which bound should integer variables be fixed? ('l'ower, 'u'pper, or 'b'oth) l
heuristics/bound/freq frequency for calling primal heuristic <bound> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/bound/freqofs frequency offset for calling primal heuristic <bound> 0
heuristics/bound/maxdepth maximal depth level to call primal heuristic <bound> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/bound/maxproprounds maximum number of propagation rounds during probing (-1 infinity, -2 parameter settings)
Range: [-1, 536870911]
0
heuristics/bound/onlywithoutsol Should heuristic only be executed if no primal solution was found, yet? 1
heuristics/bound/priority priority of heuristic <bound>
Range: [-536870912, 536870911]
-1107000

heuristics/clique

Option Description Default
heuristics/clique/copycuts should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/clique/freq frequency for calling primal heuristic <clique> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/clique/freqofs frequency offset for calling primal heuristic <clique> 0
heuristics/clique/initseed initial random seed value to permutate variables 0
heuristics/clique/maxdepth maximal depth level to call primal heuristic <clique> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/clique/maxnodes maximum number of nodes to regard in the subproblem 5000
heuristics/clique/maxproprounds maximum number of propagation rounds during probing (-1 infinity)
Range: [-1, 536870911]
2
heuristics/clique/minfixingrate minimum percentage of integer variables that have to be fixable
Range: [0, 1]
0.25
heuristics/clique/minimprove factor by which clique heuristic should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/clique/minnodes minimum number of nodes required to start the subproblem 500
heuristics/clique/multiplier value to increase nodenumber to determine the next run 1.1
heuristics/clique/nodesofs number of nodes added to the contingent of the total nodes 500
heuristics/clique/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/clique/priority priority of heuristic <clique>
Range: [-536870912, 536870911]
-1000500

heuristics/coefdiving

Option Description Default
heuristics/coefdiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/coefdiving/freq frequency for calling primal heuristic <coefdiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/coefdiving/freqofs frequency offset for calling primal heuristic <coefdiving> 1
heuristics/coefdiving/lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve 0.15
heuristics/coefdiving/lpsolvefreq LP solve frequency for diving heuristics (0: only after enough domain changes have been found) 0
heuristics/coefdiving/maxdepth maximal depth level to call primal heuristic <coefdiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/coefdiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/coefdiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 0
heuristics/coefdiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/coefdiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
0.1
heuristics/coefdiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/coefdiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/coefdiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/coefdiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/coefdiving/onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? 0
heuristics/coefdiving/priority priority of heuristic <coefdiving>
Range: [-536870912, 536870911]
-1001000

heuristics/crossover

Option Description Default
heuristics/crossover/copycuts if uselprows == FALSE, should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/crossover/dontwaitatroot should the nwaitingnodes parameter be ignored at the root node? 0
heuristics/crossover/freq frequency for calling primal heuristic <crossover> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
30
heuristics/crossover/freqofs frequency offset for calling primal heuristic <crossover> 0
heuristics/crossover/lplimfac factor by which the limit on the number of LP depends on the node limit
Range: [1, ∞]
2
heuristics/crossover/maxdepth maximal depth level to call primal heuristic <crossover> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/crossover/maxnodes maximum number of nodes to regard in the subproblem 5000
heuristics/crossover/minfixingrate minimum percentage of integer variables that have to be fixed
Range: [0, 1]
0.666
heuristics/crossover/minimprove factor by which Crossover should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/crossover/minnodes minimum number of nodes required to start the subproblem 50
heuristics/crossover/nodesofs number of nodes added to the contingent of the total nodes 500
heuristics/crossover/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/crossover/nusedsols number of solutions to be taken into account
Range: [2, ∞]
3
heuristics/crossover/nwaitingnodes number of nodes without incumbent change that heuristic should wait 200
heuristics/crossover/permute should the subproblem be permuted to increase diversification? 0
heuristics/crossover/priority priority of heuristic <crossover>
Range: [-536870912, 536870911]
-1104000
heuristics/crossover/randomization should the choice which sols to take be randomized? 1
heuristics/crossover/uselprows should subproblem be created out of the rows in the LP rows? 0

heuristics/dins

Option Description Default
heuristics/dins/copycuts if uselprows == FALSE, should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/dins/freq frequency for calling primal heuristic <dins> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/dins/freqofs frequency offset for calling primal heuristic <dins> 0
heuristics/dins/lplimfac factor by which the limit on the number of LP depends on the node limit
Range: [1, ∞]
1.5
heuristics/dins/maxdepth maximal depth level to call primal heuristic <dins> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/dins/maxnodes maximum number of nodes to regard in the subproblem 5000
heuristics/dins/minfixingrate minimum percentage of integer variables that have to be fixable
Range: [0, 1]
0.3
heuristics/dins/minimprove factor by which dins should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/dins/minnodes minimum number of nodes required to start the subproblem 50
heuristics/dins/neighborhoodsize radius (using Manhattan metric) of the incumbent's neighborhood to be searched
Range: [1, ∞]
18
heuristics/dins/nodesofs number of nodes added to the contingent of the total nodes 5000
heuristics/dins/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.05
heuristics/dins/nwaitingnodes number of nodes without incumbent change that heuristic should wait 200
heuristics/dins/priority priority of heuristic <dins>
Range: [-536870912, 536870911]
-1105000
heuristics/dins/solnum number of pool-solutions to be checked for flag array update (for hard fixing of binary variables)
Range: [1, ∞]
5
heuristics/dins/uselprows should subproblem be created out of the rows in the LP rows? 0

heuristics/distributiondiving

Option Description Default
heuristics/distributiondiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/distributiondiving/freq frequency for calling primal heuristic <distributiondiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/distributiondiving/freqofs frequency offset for calling primal heuristic <distributiondiving> 3
heuristics/distributiondiving/lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve 0.15
heuristics/distributiondiving/lpsolvefreq LP solve frequency for diving heuristics (0: only after enough domain changes have been found) 0
heuristics/distributiondiving/maxdepth maximal depth level to call primal heuristic <distributiondiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/distributiondiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/distributiondiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 0
heuristics/distributiondiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/distributiondiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
0.1
heuristics/distributiondiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/distributiondiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/distributiondiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/distributiondiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/distributiondiving/onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? 1
heuristics/distributiondiving/priority priority of heuristic <distributiondiving>
Range: [-536870912, 536870911]
-1003300
heuristics/distributiondiving/scoreparam the score;largest 'd'ifference, 'l'owest cumulative probability,'h'ighest c.p., 'v'otes lowest c.p., votes highest c.p.('w'), 'r'evolving r

heuristics/dualval

Option Description Default
heuristics/dualval/dynamicdepth says if and how the recursion depth is computed at runtime
Range: [0, 1]
0
heuristics/dualval/forceimprovements exit if objective doesn't improve 0
heuristics/dualval/freq frequency for calling primal heuristic <dualval> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/dualval/freqofs frequency offset for calling primal heuristic <dualval> 0
heuristics/dualval/heurverblevel verblevel of the heuristic, default is 0 to display nothing
Range: [0, 4]
0
heuristics/dualval/lambdaobj scaling factor for the objective function
Range: [0, 1]
0
heuristics/dualval/lambdaslack value added to objective of slack variables, must not be zero
Range: [0.1, ∞]
1
heuristics/dualval/maxcalls maximal number of recursive calls of the heuristic (if dynamicdepth is off) 25
heuristics/dualval/maxdepth maximal depth level to call primal heuristic <dualval> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/dualval/maxequalranks maximal number of variables that may have maximal rank, quit if there are more, turn off by setting -1
Range: [-1, ∞]
50
heuristics/dualval/mingap minimal gap for which we still run the heuristic, if gap is less we return without doing anything
Range: [0, 100]
5
heuristics/dualval/nlpverblevel verblevel of the nlp solver, can be 0 or 1
Range: [0, 1]
0
heuristics/dualval/onlycheaper add constraint to ensure that discrete vars are improving 1
heuristics/dualval/onlyleaves disable the heuristic if it was not called at a leaf of the B&B tree 0
heuristics/dualval/priority priority of heuristic <dualval>
Range: [-536870912, 536870911]
0
heuristics/dualval/rankvalue number of ranks that should be displayed when the heuristic is called 10
heuristics/dualval/relaxcontvars relax the continous variables 0
heuristics/dualval/relaxindicators relax the indicator variables by introducing continuous copies 0

heuristics/feaspump

Option Description Default
heuristics/feaspump/alpha initial weight of the objective function in the convex combination
Range: [0, 1]
1
heuristics/feaspump/alphadiff threshold difference for the convex parameter to perform perturbation
Range: [0, 1]
1
heuristics/feaspump/beforecuts should the feasibility pump be called at root node before cut separation? 1
heuristics/feaspump/copycuts should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/feaspump/cyclelength maximum length of cycles to be checked explicitly in each round
Range: [1, 100]
3
heuristics/feaspump/freq frequency for calling primal heuristic <feaspump> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
20
heuristics/feaspump/freqofs frequency offset for calling primal heuristic <feaspump> 0
heuristics/feaspump/maxdepth maximal depth level to call primal heuristic <feaspump> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/feaspump/maxloops maximal number of pumping loops (-1: no limit)
Range: [-1, ∞]
10000
heuristics/feaspump/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/feaspump/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.01
heuristics/feaspump/maxsols total number of feasible solutions found up to which heuristic is called (-1: no limit)
Range: [-1, ∞]
10
heuristics/feaspump/maxstallloops maximal number of pumping rounds without fractionality improvement (-1: no limit)
Range: [-1, ∞]
10
heuristics/feaspump/minflips minimum number of random variables to flip, if a 1-cycle is encountered
Range: [1, ∞]
10
heuristics/feaspump/neighborhoodsize radius (using Manhattan metric) of the neighborhood to be searched in stage 3
Range: [1, ∞]
18
heuristics/feaspump/objfactor factor by which the regard of the objective is decreased in each round, 1.0 for dynamic
Range: [0, 1]
0.1
heuristics/feaspump/pertsolfound should a random perturbation be performed if a feasible solution was found? 1
heuristics/feaspump/perturbfreq number of iterations until a random perturbation is forced
Range: [1, ∞]
100
heuristics/feaspump/priority priority of heuristic <feaspump>
Range: [-536870912, 536870911]
-1000000
heuristics/feaspump/stage3 should we solve a local branching sub-MIP if no solution could be found? 0
heuristics/feaspump/usefp20 should an iterative round-and-propagate scheme be used to find the integral points? 0

heuristics/fixandinfer

Option Description Default
heuristics/fixandinfer/freq frequency for calling primal heuristic <fixandinfer> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/fixandinfer/freqofs frequency offset for calling primal heuristic <fixandinfer> 0
heuristics/fixandinfer/maxdepth maximal depth level to call primal heuristic <fixandinfer> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/fixandinfer/minfixings minimal number of fixings to apply before dive may be aborted 100
heuristics/fixandinfer/priority priority of heuristic <fixandinfer>
Range: [-536870912, 536870911]
-500000
heuristics/fixandinfer/proprounds maximal number of propagation rounds in probing subproblems (-1: no limit, 0: auto)
Range: [-1, ∞]
0

heuristics/fracdiving

Option Description Default
heuristics/fracdiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/fracdiving/freq frequency for calling primal heuristic <fracdiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/fracdiving/freqofs frequency offset for calling primal heuristic <fracdiving> 3
heuristics/fracdiving/lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve 0.15
heuristics/fracdiving/lpsolvefreq LP solve frequency for diving heuristics (0: only after enough domain changes have been found) 0
heuristics/fracdiving/maxdepth maximal depth level to call primal heuristic <fracdiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/fracdiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/fracdiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 0
heuristics/fracdiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/fracdiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
0.1
heuristics/fracdiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/fracdiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/fracdiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/fracdiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/fracdiving/onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? 0
heuristics/fracdiving/priority priority of heuristic <fracdiving>
Range: [-536870912, 536870911]
-1003000

heuristics/guideddiving

Option Description Default
heuristics/guideddiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/guideddiving/freq frequency for calling primal heuristic <guideddiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/guideddiving/freqofs frequency offset for calling primal heuristic <guideddiving> 7
heuristics/guideddiving/lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve 0.15
heuristics/guideddiving/lpsolvefreq LP solve frequency for diving heuristics (0: only after enough domain changes have been found) 0
heuristics/guideddiving/maxdepth maximal depth level to call primal heuristic <guideddiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/guideddiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/guideddiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 1
heuristics/guideddiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/guideddiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
1
heuristics/guideddiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/guideddiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/guideddiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/guideddiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/guideddiving/onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? 0
heuristics/guideddiving/priority priority of heuristic <guideddiving>
Range: [-536870912, 536870911]
-1007000

heuristics/indicator

Option Description Default
heuristics/indicator/freq frequency for calling primal heuristic <indicator> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
1
heuristics/indicator/freqofs frequency offset for calling primal heuristic <indicator> 0
heuristics/indicator/improvesols Try to improve other solutions by one-opt? 0
heuristics/indicator/maxdepth maximal depth level to call primal heuristic <indicator> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/indicator/oneopt whether the one-opt heuristic should be started 1
heuristics/indicator/priority priority of heuristic <indicator>
Range: [-536870912, 536870911]
-20200

heuristics/intdiving

Option Description Default
heuristics/intdiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/intdiving/freq frequency for calling primal heuristic <intdiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/intdiving/freqofs frequency offset for calling primal heuristic <intdiving> 9
heuristics/intdiving/maxdepth maximal depth level to call primal heuristic <intdiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/intdiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/intdiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 0
heuristics/intdiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/intdiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
0.1
heuristics/intdiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/intdiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/intdiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/intdiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/intdiving/priority priority of heuristic <intdiving>
Range: [-536870912, 536870911]
-1003500

heuristics/intshifting

Option Description Default
heuristics/intshifting/freq frequency for calling primal heuristic <intshifting> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/intshifting/freqofs frequency offset for calling primal heuristic <intshifting> 0
heuristics/intshifting/maxdepth maximal depth level to call primal heuristic <intshifting> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/intshifting/priority priority of heuristic <intshifting>
Range: [-536870912, 536870911]
-10000

heuristics/linesearchdiving

Option Description Default
heuristics/linesearchdiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/linesearchdiving/freq frequency for calling primal heuristic <linesearchdiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/linesearchdiving/freqofs frequency offset for calling primal heuristic <linesearchdiving> 6
heuristics/linesearchdiving/lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve 0.15
heuristics/linesearchdiving/lpsolvefreq LP solve frequency for diving heuristics (0: only after enough domain changes have been found) 0
heuristics/linesearchdiving/maxdepth maximal depth level to call primal heuristic <linesearchdiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/linesearchdiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/linesearchdiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 0
heuristics/linesearchdiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/linesearchdiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
0.1
heuristics/linesearchdiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/linesearchdiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/linesearchdiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/linesearchdiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/linesearchdiving/onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? 0
heuristics/linesearchdiving/priority priority of heuristic <linesearchdiving>
Range: [-536870912, 536870911]
-1006000

heuristics/localbranching

Option Description Default
heuristics/localbranching/copycuts if uselprows == FALSE, should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/localbranching/freq frequency for calling primal heuristic <localbranching> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/localbranching/freqofs frequency offset for calling primal heuristic <localbranching> 0
heuristics/localbranching/lplimfac factor by which the limit on the number of LP depends on the node limit
Range: [1, ∞]
1.5
heuristics/localbranching/maxdepth maximal depth level to call primal heuristic <localbranching> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/localbranching/maxnodes maximum number of nodes to regard in the subproblem 10000
heuristics/localbranching/minimprove factor by which localbranching should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/localbranching/minnodes minimum number of nodes required to start the subproblem 1000
heuristics/localbranching/neighborhoodsize radius (using Manhattan metric) of the incumbent's neighborhood to be searched
Range: [1, ∞]
18
heuristics/localbranching/nodesofs number of nodes added to the contingent of the total nodes 1000
heuristics/localbranching/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.05
heuristics/localbranching/nwaitingnodes number of nodes without incumbent change that heuristic should wait 200
heuristics/localbranching/priority priority of heuristic <localbranching>
Range: [-536870912, 536870911]
-1102000
heuristics/localbranching/uselprows should subproblem be created out of the rows in the LP rows? 0

heuristics/mutation

Option Description Default
heuristics/mutation/copycuts if uselprows == FALSE, should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/mutation/freq frequency for calling primal heuristic <mutation> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/mutation/freqofs frequency offset for calling primal heuristic <mutation> 8
heuristics/mutation/maxdepth maximal depth level to call primal heuristic <mutation> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/mutation/maxnodes maximum number of nodes to regard in the subproblem 5000
heuristics/mutation/minfixingrate percentage of integer variables that have to be fixed
Range: [1e-06, 0.999999]
0.8
heuristics/mutation/minimprove factor by which mutation should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/mutation/minnodes minimum number of nodes required to start the subproblem 500
heuristics/mutation/nodesofs number of nodes added to the contingent of the total nodes 500
heuristics/mutation/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/mutation/nwaitingnodes number of nodes without incumbent change that heuristic should wait 200
heuristics/mutation/priority priority of heuristic <mutation>
Range: [-536870912, 536870911]
-1103000
heuristics/mutation/uselprows should subproblem be created out of the rows in the LP rows? 0

heuristics/nlpdiving

Option Description Default
heuristics/nlpdiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/nlpdiving/fixquot percentage of fractional variables that should be fixed before the next NLP solve
Range: [0, 1]
0.2
heuristics/nlpdiving/freq frequency for calling primal heuristic <nlpdiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/nlpdiving/freqofs frequency offset for calling primal heuristic <nlpdiving> 3
heuristics/nlpdiving/lp should the LP relaxation be solved before the NLP relaxation? 0
heuristics/nlpdiving/maxdepth maximal depth level to call primal heuristic <nlpdiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/nlpdiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/nlpdiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 0
heuristics/nlpdiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/nlpdiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
0.1
heuristics/nlpdiving/maxfeasnlps maximal number of NLPs with feasible solution to solve during one dive
Range: [1, ∞]
10
heuristics/nlpdiving/maxnlpiterabs minimial absolute number of allowed NLP iterations 200
heuristics/nlpdiving/maxnlpiterrel additional allowed number of NLP iterations relative to successfully found solutions 10
heuristics/nlpdiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/nlpdiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/nlpdiving/minsuccquot heuristic will not run if less then this percentage of calls succeeded (0.0: no limit)
Range: [0, 1]
0.1
heuristics/nlpdiving/nlpfastfail should the NLP solver stop early if it converges slow? 1
heuristics/nlpdiving/nlpstart which point should be used as starting point for the NLP solver? ('n'one, last 'f'easible, from dive's'tart) s
heuristics/nlpdiving/prefercover should variables in a minimal cover be preferred? 1
heuristics/nlpdiving/preferlpfracs prefer variables that are also fractional in LP solution? 0
heuristics/nlpdiving/priority priority of heuristic <nlpdiving>
Range: [-536870912, 536870911]
-1003000
heuristics/nlpdiving/solvesubmip should a sub-MIP be solved if all cover variables are fixed? 0
heuristics/nlpdiving/varselrule which variable selection should be used? ('f'ractionality, 'c'oefficient, 'p'seudocost, 'g'uided, 'd'ouble, 'v'eclen) d

heuristics/objpscostdiving

Option Description Default
heuristics/objpscostdiving/depthfac maximal diving depth: number of binary/integer variables times depthfac 0.5
heuristics/objpscostdiving/depthfacnosol maximal diving depth factor if no feasible solution was found yet 2
heuristics/objpscostdiving/freq frequency for calling primal heuristic <objpscostdiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
20
heuristics/objpscostdiving/freqofs frequency offset for calling primal heuristic <objpscostdiving> 4
heuristics/objpscostdiving/maxdepth maximal depth level to call primal heuristic <objpscostdiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/objpscostdiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/objpscostdiving/maxlpiterquot maximal fraction of diving LP iterations compared to total iteration number
Range: [0, 1]
0.01
heuristics/objpscostdiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/objpscostdiving/maxsols total number of feasible solutions found up to which heuristic is called (-1: no limit)
Range: [-1, ∞]
-1
heuristics/objpscostdiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/objpscostdiving/priority priority of heuristic <objpscostdiving>
Range: [-536870912, 536870911]
-1004000

heuristics/octane

Option Description Default
heuristics/octane/ffirst number of 0-1-points to be tested at first whether they violate a common row
Range: [1, ∞]
10
heuristics/octane/fmax number of 0-1-points to be tested as possible solutions by OCTANE
Range: [1, ∞]
100
heuristics/octane/freq frequency for calling primal heuristic <octane> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/octane/freqofs frequency offset for calling primal heuristic <octane> 0
heuristics/octane/maxdepth maximal depth level to call primal heuristic <octane> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/octane/priority priority of heuristic <octane>
Range: [-536870912, 536870911]
-1008000
heuristics/octane/useavgnbray should the weighted average of the nonbasic cone be used as one ray direction? 1
heuristics/octane/useavgray should the average of the basic cone be used as one ray direction? 1
heuristics/octane/useavgwgtray should the weighted average of the basic cone be used as one ray direction? 1
heuristics/octane/usediffray should the difference between the root solution and the current LP solution be used as one ray direction? 0
heuristics/octane/usefracspace execute OCTANE only in the space of fractional variables (TRUE) or in the full space? 1
heuristics/octane/useobjray should the inner normal of the objective be used as one ray direction? 1

heuristics/ofins

Option Description Default
heuristics/ofins/addallsols should all subproblem solutions be added to the original SCIP? 0
heuristics/ofins/copycuts should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/ofins/freq frequency for calling primal heuristic <ofins> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/ofins/freqofs frequency offset for calling primal heuristic <ofins> 0
heuristics/ofins/lplimfac factor by which the limit on the number of LP depends on the node limit
Range: [1, ∞]
2
heuristics/ofins/maxchange maximal rate of change per coefficient to get fixed
Range: [0, 1]
0.04
heuristics/ofins/maxchangerate maximal rate of changed coefficients
Range: [0, 1]
0.5
heuristics/ofins/maxdepth maximal depth level to call primal heuristic <ofins> (-1: no limit)
Range: [-1, ∞]
0
heuristics/ofins/maxnodes maximum number of nodes to regard in the subproblem 5000
heuristics/ofins/minimprove factor by which RENS should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/ofins/minnodes minimum number of nodes required to start the subproblem 50
heuristics/ofins/nodesofs number of nodes added to the contingent of the total nodes 500
heuristics/ofins/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/ofins/priority priority of heuristic <ofins>
Range: [-536870912, 536870911]
60000

heuristics/oneopt

Option Description Default
heuristics/oneopt/beforepresol should the heuristic be called before presolving? 0
heuristics/oneopt/duringroot should the heuristic be called before and during the root node? 1
heuristics/oneopt/forcelpconstruction should the construction of the LP be forced even if LP solving is deactivated? 0
heuristics/oneopt/freq frequency for calling primal heuristic <oneopt> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
1
heuristics/oneopt/freqofs frequency offset for calling primal heuristic <oneopt> 0
heuristics/oneopt/maxdepth maximal depth level to call primal heuristic <oneopt> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/oneopt/priority priority of heuristic <oneopt>
Range: [-536870912, 536870911]
-20000
heuristics/oneopt/weightedobj should the objective be weighted with the potential shifting value when sorting the shifting candidates? 1

heuristics/proximity

Option Description Default
heuristics/proximity/binvarquot threshold for percentage of binary variables required to start
Range: [0, 1]
0.1
heuristics/proximity/freq frequency for calling primal heuristic <proximity> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/proximity/freqofs frequency offset for calling primal heuristic <proximity> 0
heuristics/proximity/lpitersquot quotient of sub-MIP LP iterations with respect to LP iterations so far
Range: [0, 1]
0.2
heuristics/proximity/maxdepth maximal depth level to call primal heuristic <proximity> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/proximity/maxlpiters maximum number of LP iterations to be performed in the subproblem
Range: [-1, ∞]
100000
heuristics/proximity/maxnodes maximum number of nodes to regard in the subproblem 10000
heuristics/proximity/mingap minimum primal-dual gap for which the heuristic is executed 0.01
heuristics/proximity/minimprove factor by which proximity should at least improve the incumbent
Range: [0, 1]
0.02
heuristics/proximity/minlpiters minimum number of LP iterations performed in subproblem 200
heuristics/proximity/minnodes minimum number of nodes required to start the subproblem 1
heuristics/proximity/nodesofs number of nodes added to the contingent of the total nodes 50
heuristics/proximity/nodesquot sub-MIP node limit w.r.t number of original nodes 0.1
heuristics/proximity/priority priority of heuristic <proximity>
Range: [-536870912, 536870911]
-2000000
heuristics/proximity/restart should the heuristic immediately run again on its newly found solution? 1
heuristics/proximity/usefinallp should the heuristic solve a final LP in case of continuous objective variables? 0
heuristics/proximity/uselprows should subproblem be constructed based on LP row information? 0
heuristics/proximity/waitingnodes waiting nodes since last incumbent before heuristic is executed 100

heuristics/pscostdiving

Option Description Default
heuristics/pscostdiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/pscostdiving/freq frequency for calling primal heuristic <pscostdiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/pscostdiving/freqofs frequency offset for calling primal heuristic <pscostdiving> 2
heuristics/pscostdiving/lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve 0.15
heuristics/pscostdiving/lpsolvefreq LP solve frequency for diving heuristics (0: only after enough domain changes have been found) 0
heuristics/pscostdiving/maxdepth maximal depth level to call primal heuristic <pscostdiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/pscostdiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/pscostdiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 0
heuristics/pscostdiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/pscostdiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
0.1
heuristics/pscostdiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/pscostdiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/pscostdiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/pscostdiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/pscostdiving/onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? 1
heuristics/pscostdiving/priority priority of heuristic <pscostdiving>
Range: [-536870912, 536870911]
-1002000

heuristics/randrounding

Option Description Default
heuristics/randrounding/freq frequency for calling primal heuristic <randrounding> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
20
heuristics/randrounding/freqofs frequency offset for calling primal heuristic <randrounding> 0
heuristics/randrounding/maxdepth maximal depth level to call primal heuristic <randrounding> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/randrounding/maxproprounds limit of rounds for each propagation call
Range: [-1, ∞]
1
heuristics/randrounding/oncepernode should the heuristic only be called once per node? 0
heuristics/randrounding/priority priority of heuristic <randrounding>
Range: [-536870912, 536870911]
-200
heuristics/randrounding/propagateonlyroot should the probing part of the heuristic be applied exclusively at the root node? 1
heuristics/randrounding/usesimplerounding should the heuristic apply the variable lock strategy of simple rounding, if possible? 0

heuristics/rens

Option Description Default
heuristics/rens/addallsols should all subproblem solutions be added to the original SCIP? 0
heuristics/rens/binarybounds should general integers get binary bounds [floor(.),ceil(.)] ? 1
heuristics/rens/copycuts if uselprows == FALSE, should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/rens/extratime should the RENS sub-CIP get its own full time limit? This is only for tesing and not recommended! 0
heuristics/rens/freq frequency for calling primal heuristic <rens> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
0
heuristics/rens/freqofs frequency offset for calling primal heuristic <rens> 0
heuristics/rens/fullscale should the RENS sub-CIP be solved with cuts, conflicts, strong branching,... This is only for tesing and not recommended! 0
heuristics/rens/lplimfac factor by which the limit on the number of LP depends on the node limit
Range: [1, ∞]
2
heuristics/rens/maxdepth maximal depth level to call primal heuristic <rens> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/rens/maxnodes maximum number of nodes to regard in the subproblem 5000
heuristics/rens/minfixingrate minimum percentage of integer variables that have to be fixable
Range: [0, 1]
0.5
heuristics/rens/minimprove factor by which RENS should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/rens/minnodes minimum number of nodes required to start the subproblem 50
heuristics/rens/nodesofs number of nodes added to the contingent of the total nodes 500
heuristics/rens/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/rens/priority priority of heuristic <rens>
Range: [-536870912, 536870911]
-1100000
heuristics/rens/startsol solution that is used for fixing values ('l'p relaxation, 'n'lp relaxation) l
heuristics/rens/uselprows should subproblem be created out of the rows in the LP rows? 0

heuristics/reoptsols

Option Description Default
heuristics/reoptsols/freq frequency for calling primal heuristic <reoptsols> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/reoptsols/freqofs frequency offset for calling primal heuristic <reoptsols> 0
heuristics/reoptsols/maxdepth maximal depth level to call primal heuristic <reoptsols> (-1: no limit)
Range: [-1, ∞]
0
heuristics/reoptsols/maxruns check solutions of the last k runs. (-1: all)
Range: [-1, ∞]
-1
heuristics/reoptsols/maxsols maximal number solutions which should be checked. (-1: all)
Range: [-1, ∞]
1000
heuristics/reoptsols/priority priority of heuristic <reoptsols>
Range: [-536870912, 536870911]
40000

heuristics/rins

Option Description Default
heuristics/rins/copycuts if uselprows == FALSE, should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/rins/freq frequency for calling primal heuristic <rins> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
25
heuristics/rins/freqofs frequency offset for calling primal heuristic <rins> 0
heuristics/rins/lplimfac factor by which the limit on the number of LP depends on the node limit
Range: [1, ∞]
2
heuristics/rins/maxdepth maximal depth level to call primal heuristic <rins> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/rins/maxnodes maximum number of nodes to regard in the subproblem 5000
heuristics/rins/minfixingrate minimum percentage of integer variables that have to be fixed
Range: [0, 1]
0.3
heuristics/rins/minimprove factor by which rins should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/rins/minnodes minimum number of nodes required to start the subproblem 50
heuristics/rins/nodesofs number of nodes added to the contingent of the total nodes 500
heuristics/rins/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/rins/nwaitingnodes number of nodes without incumbent change that heuristic should wait 200
heuristics/rins/priority priority of heuristic <rins>
Range: [-536870912, 536870911]
-1101000
heuristics/rins/uselprows should subproblem be created out of the rows in the LP rows? 0

heuristics/rootsoldiving

Option Description Default
heuristics/rootsoldiving/alpha soft rounding factor to fade out objective coefficients
Range: [0, 1]
0.9
heuristics/rootsoldiving/depthfac maximal diving depth: number of binary/integer variables times depthfac 0.5
heuristics/rootsoldiving/depthfacnosol maximal diving depth factor if no feasible solution was found yet 2
heuristics/rootsoldiving/freq frequency for calling primal heuristic <rootsoldiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
20
heuristics/rootsoldiving/freqofs frequency offset for calling primal heuristic <rootsoldiving> 5
heuristics/rootsoldiving/maxdepth maximal depth level to call primal heuristic <rootsoldiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/rootsoldiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/rootsoldiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.01
heuristics/rootsoldiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/rootsoldiving/maxsols total number of feasible solutions found up to which heuristic is called (-1: no limit)
Range: [-1, ∞]
-1
heuristics/rootsoldiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/rootsoldiving/priority priority of heuristic <rootsoldiving>
Range: [-536870912, 536870911]
-1005000

heuristics/rounding

Option Description Default
heuristics/rounding/freq frequency for calling primal heuristic <rounding> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
1
heuristics/rounding/freqofs frequency offset for calling primal heuristic <rounding> 0
heuristics/rounding/maxdepth maximal depth level to call primal heuristic <rounding> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/rounding/oncepernode should the heuristic only be called once per node? 0
heuristics/rounding/priority priority of heuristic <rounding>
Range: [-536870912, 536870911]
-1000
heuristics/rounding/successfactor number of calls per found solution that are considered as standard success, a higher factor causes the heuristic to be called more often
Range: [-1, ∞]
100

heuristics/shiftandpropagate

Option Description Default
heuristics/shiftandpropagate/binlocksfirst should binary variables with no locks be preferred in the ordering? 0
heuristics/shiftandpropagate/collectstats should variable statistics be collected during probing? 1
heuristics/shiftandpropagate/cutoffbreaker The number of cutoffs before heuristic stops
Range: [-1, 1000000]
15
heuristics/shiftandpropagate/fixbinlocks should binary variables with no locks in one direction be fixed to that direction? 1
heuristics/shiftandpropagate/freq frequency for calling primal heuristic <shiftandpropagate> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
0
heuristics/shiftandpropagate/freqofs frequency offset for calling primal heuristic <shiftandpropagate> 0
heuristics/shiftandpropagate/impliscontinuous should implicit integer variables be treated as continuous variables? 1
heuristics/shiftandpropagate/maxcutoffquot maximum percentage of allowed cutoffs before stopping the heuristic
Range: [0, 2]
0
heuristics/shiftandpropagate/maxdepth maximal depth level to call primal heuristic <shiftandpropagate> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/shiftandpropagate/normalize should coefficients and left/right hand sides be normalized by max row coeff? 1
heuristics/shiftandpropagate/nozerofixing should variables with a zero shifting value be delayed instead of being fixed? 0
heuristics/shiftandpropagate/nproprounds The number of propagation rounds used for each propagation
Range: [-1, 1000]
10
heuristics/shiftandpropagate/onlywithoutsol Should heuristic only be executed if no primal solution was found, yet? 1
heuristics/shiftandpropagate/preferbinaries Should binary variables be shifted first? 1
heuristics/shiftandpropagate/priority priority of heuristic <shiftandpropagate>
Range: [-536870912, 536870911]
1000
heuristics/shiftandpropagate/probing Should domains be reduced by probing? 1
heuristics/shiftandpropagate/relax Should continuous variables be relaxed? 1
heuristics/shiftandpropagate/selectbest should the heuristic choose the best candidate in every round? (set to FALSE for static order)? 0
heuristics/shiftandpropagate/sortkey the key for variable sorting: (n)orms down, norms (u)p, (v)iolations down, viola(t)ions up, or (r)andom v
heuristics/shiftandpropagate/sortvars Should variables be sorted for the heuristic? 1
heuristics/shiftandpropagate/stopafterfeasible Should the heuristic stop calculating optimal shift values when no more rows are violated? 1
heuristics/shiftandpropagate/updateweights should row weight be increased every time the row is violated? 0

heuristics/shifting

Option Description Default
heuristics/shifting/freq frequency for calling primal heuristic <shifting> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/shifting/freqofs frequency offset for calling primal heuristic <shifting> 0
heuristics/shifting/maxdepth maximal depth level to call primal heuristic <shifting> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/shifting/priority priority of heuristic <shifting>
Range: [-536870912, 536870911]
-5000

heuristics/simplerounding

Option Description Default
heuristics/simplerounding/freq frequency for calling primal heuristic <simplerounding> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
1
heuristics/simplerounding/freqofs frequency offset for calling primal heuristic <simplerounding> 0
heuristics/simplerounding/maxdepth maximal depth level to call primal heuristic <simplerounding> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/simplerounding/oncepernode should the heuristic only be called once per node? 0
heuristics/simplerounding/priority priority of heuristic <simplerounding>
Range: [-536870912, 536870911]
0

heuristics/subnlp

Option Description Default
heuristics/subnlp/forbidfixings whether to add constraints that forbid specific fixings that turned out to be infeasible 1
heuristics/subnlp/freq frequency for calling primal heuristic <subnlp> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
1
heuristics/subnlp/freqofs frequency offset for calling primal heuristic <subnlp> 0
heuristics/subnlp/itermin contingent of NLP iterations in relation to the number of nodes in SCIP 300
heuristics/subnlp/iteroffset number of iterations added to the contingent of the total number of iterations 500
heuristics/subnlp/iterquotient contingent of NLP iterations in relation to the number of nodes in SCIP 0.1
heuristics/subnlp/keepcopy whether to keep SCIP copy or to create new copy each time heuristic is applied 1
heuristics/subnlp/maxdepth maximal depth level to call primal heuristic <subnlp> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/subnlp/maxpresolverounds limit on number of presolve rounds in sub-SCIP (-1 for unlimited, 0 for no presolve)
Range: [-1, ∞]
-1
heuristics/subnlp/minimprove factor by which NLP heuristic should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/subnlp/nlpiterlimit iteration limit of NLP solver; 0 to use solver default 0
heuristics/subnlp/nlpoptfile name of an NLP solver specific options file
heuristics/subnlp/nlptimelimit time limit of NLP solver; 0 to use solver default 0
heuristics/subnlp/nlpverblevel verbosity level of NLP solver 0
heuristics/subnlp/priority priority of heuristic <subnlp>
Range: [-536870912, 536870911]
-2000000
heuristics/subnlp/resolvefromscratch should the NLP resolve be started from the original starting point or the infeasible solution? 1
heuristics/subnlp/resolvetolfactor if SCIP does not accept a NLP feasible solution, resolve NLP with feas. tolerance reduced by this factor (set to 1.0 to turn off resolve)
Range: [0, 1]
0.001
heuristics/subnlp/runalways whether to run NLP heuristic always if starting point available (does not use iteroffset,iterquot,itermin) 0

heuristics/trivial

Option Description Default
heuristics/trivial/freq frequency for calling primal heuristic <trivial> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
0
heuristics/trivial/freqofs frequency offset for calling primal heuristic <trivial> 0
heuristics/trivial/maxdepth maximal depth level to call primal heuristic <trivial> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/trivial/priority priority of heuristic <trivial>
Range: [-536870912, 536870911]
10000

heuristics/trivialnegation

Option Description Default
heuristics/trivialnegation/freq frequency for calling primal heuristic <trivialnegation> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/trivialnegation/freqofs frequency offset for calling primal heuristic <trivialnegation> 0
heuristics/trivialnegation/maxdepth maximal depth level to call primal heuristic <trivialnegation> (-1: no limit)
Range: [-1, ∞]
0
heuristics/trivialnegation/priority priority of heuristic <trivialnegation>
Range: [-536870912, 536870911]
40000

heuristics/trysol

Option Description Default
heuristics/trysol/freq frequency for calling primal heuristic <trysol> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
1
heuristics/trysol/freqofs frequency offset for calling primal heuristic <trysol> 0
heuristics/trysol/maxdepth maximal depth level to call primal heuristic <trysol> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/trysol/priority priority of heuristic <trysol>
Range: [-536870912, 536870911]
-3000000

heuristics/twoopt

Option Description Default
heuristics/twoopt/freq frequency for calling primal heuristic <twoopt> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/twoopt/freqofs frequency offset for calling primal heuristic <twoopt> 0
heuristics/twoopt/intopt Should Integer-2-Optimization be applied or not? 0
heuristics/twoopt/matchingrate parameter to determine the percentage of rows two variables have to share before they are considered equal
Range: [0, 1]
0.5
heuristics/twoopt/maxdepth maximal depth level to call primal heuristic <twoopt> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/twoopt/maxnslaves maximum number of slaves for one master variable
Range: [-1, 1000000]
199
heuristics/twoopt/priority priority of heuristic <twoopt>
Range: [-536870912, 536870911]
-20100
heuristics/twoopt/waitingnodes user parameter to determine number of nodes to wait after last best solution before calling heuristic
Range: [0, 10000]
0

heuristics/undercover

Option Description Default
heuristics/undercover/beforecuts should the heuristic be called at root node before cut separation? 1
heuristics/undercover/conflictweight weight for conflict score in fixing order
Range: [-∞, ∞]
1000
heuristics/undercover/copycuts should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/undercover/coverbd should bounddisjunction constraints be covered (or just copied)? 0
heuristics/undercover/coveringobj objective function of the covering problem (influenced nonlinear 'c'onstraints/'t'erms, 'd'omain size, 'l'ocks, 'm'in of up/down locks, 'u'nit penalties) u
heuristics/undercover/cutoffweight weight for cutoff score in fixing order 1
heuristics/undercover/fixingalts prioritized sequence of fixing values used ('l'p relaxation, 'n'lp relaxation, 'i'ncumbent solution) li
heuristics/undercover/fixingorder order in which variables should be fixed (increasing 'C'onflict score, decreasing 'c'onflict score, increasing 'V'ariable index, decreasing 'v'ariable index v
heuristics/undercover/fixintfirst should integer variables in the cover be fixed first? 0
heuristics/undercover/freq frequency for calling primal heuristic <undercover> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
0
heuristics/undercover/freqofs frequency offset for calling primal heuristic <undercover> 0
heuristics/undercover/inferenceweight weight for inference score in fixing order
Range: [-∞, ∞]
1
heuristics/undercover/locksrounding shall LP values for integer vars be rounded according to locks? 1
heuristics/undercover/maxbacktracks maximum number of backtracks in fix-and-propagate 6
heuristics/undercover/maxcoversizeconss maximum coversize maximum coversize (as ratio to the percentage of non-affected constraints) maxdouble
heuristics/undercover/maxcoversizevars maximum coversize (as fraction of total number of variables)
Range: [0, 1]
1
heuristics/undercover/maxdepth maximal depth level to call primal heuristic <undercover> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/undercover/maxnodes maximum number of nodes to regard in the subproblem 500
heuristics/undercover/maxrecovers maximum number of recoverings 0
heuristics/undercover/maxreorders maximum number of reorderings of the fixing order 1
heuristics/undercover/mincoveredabs minimum number of nonlinear constraints in the original problem 5
heuristics/undercover/mincoveredrel minimum percentage of nonlinear constraints in the original problem
Range: [0, 1]
0.15
heuristics/undercover/minimprove factor by which the heuristic should at least improve the incumbent
Range: [-1, 1]
0
heuristics/undercover/minnodes minimum number of nodes required to start the subproblem 500
heuristics/undercover/nodesofs number of nodes added to the contingent of the total nodes 500
heuristics/undercover/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/undercover/onlyconvexify should we only fix variables in order to obtain a convex problem? 0
heuristics/undercover/postnlp should the NLP heuristic be called to polish a feasible solution? 1
heuristics/undercover/priority priority of heuristic <undercover>
Range: [-536870912, 536870911]
-1110000
heuristics/undercover/recoverdiv fraction of covering variables in the last cover which need to change their value when recovering
Range: [0, 1]
0.9
heuristics/undercover/reusecover shall the cover be reused if a conflict was added after an infeasible subproblem? 0

heuristics/vbounds

Option Description Default
heuristics/vbounds/copycuts should all active cuts from cutpool be copied to constraints in subproblem? 1
heuristics/vbounds/freq frequency for calling primal heuristic <vbounds> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/vbounds/freqofs frequency offset for calling primal heuristic <vbounds> 0
heuristics/vbounds/maxdepth maximal depth level to call primal heuristic <vbounds> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/vbounds/maxnodes maximum number of nodes to regard in the subproblem 5000
heuristics/vbounds/maxproprounds maximum number of propagation rounds during probing (-1 infinity)
Range: [-1, 536870911]
2
heuristics/vbounds/minfixingrate minimum percentage of integer variables that have to be fixable
Range: [0, 1]
0.25
heuristics/vbounds/minimprove factor by which vbounds heuristic should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/vbounds/minnodes minimum number of nodes required to start the subproblem 500
heuristics/vbounds/nodesofs number of nodes added to the contingent of the total nodes 500
heuristics/vbounds/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/vbounds/priority priority of heuristic <vbounds>
Range: [-536870912, 536870911]
-1106000

heuristics/veclendiving

Option Description Default
heuristics/veclendiving/backtrack use one level of backtracking if infeasibility is encountered? 1
heuristics/veclendiving/freq frequency for calling primal heuristic <veclendiving> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
10
heuristics/veclendiving/freqofs frequency offset for calling primal heuristic <veclendiving> 4
heuristics/veclendiving/lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve 0.15
heuristics/veclendiving/lpsolvefreq LP solve frequency for diving heuristics (0: only after enough domain changes have been found) 0
heuristics/veclendiving/maxdepth maximal depth level to call primal heuristic <veclendiving> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/veclendiving/maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) 0
heuristics/veclendiving/maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) 0
heuristics/veclendiving/maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Range: [0, 1]
0.8
heuristics/veclendiving/maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit)
Range: [0, 1]
0.1
heuristics/veclendiving/maxlpiterofs additional number of allowed LP iterations 1000
heuristics/veclendiving/maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations 0.05
heuristics/veclendiving/maxreldepth maximal relative depth to start diving
Range: [0, 1]
1
heuristics/veclendiving/minreldepth minimal relative depth to start diving
Range: [0, 1]
0
heuristics/veclendiving/onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? 0
heuristics/veclendiving/priority priority of heuristic <veclendiving>
Range: [-536870912, 536870911]
-1003100

heuristics/zeroobj

Option Description Default
heuristics/zeroobj/addallsols should all subproblem solutions be added to the original SCIP? 0
heuristics/zeroobj/freq frequency for calling primal heuristic <zeroobj> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
-1
heuristics/zeroobj/freqofs frequency offset for calling primal heuristic <zeroobj> 0
heuristics/zeroobj/maxdepth maximal depth level to call primal heuristic <zeroobj> (-1: no limit)
Range: [-1, ∞]
0
heuristics/zeroobj/maxlpiters maximum number of LP iterations to be performed in the subproblem
Range: [-1, ∞]
5000
heuristics/zeroobj/maxnodes maximum number of nodes to regard in the subproblem 1000
heuristics/zeroobj/minimprove factor by which zeroobj should at least improve the incumbent
Range: [0, 1]
0.01
heuristics/zeroobj/minnodes minimum number of nodes required to start the subproblem 100
heuristics/zeroobj/nodesofs number of nodes added to the contingent of the total nodes 100
heuristics/zeroobj/nodesquot contingent of sub problem nodes in relation to the number of nodes of the original problem
Range: [0, 1]
0.1
heuristics/zeroobj/onlywithoutsol should heuristic only be executed if no primal solution was found, yet? 1
heuristics/zeroobj/priority priority of heuristic <zeroobj>
Range: [-536870912, 536870911]
100

heuristics/zirounding

Option Description Default
heuristics/zirounding/freq frequency for calling primal heuristic <zirounding> (-1: never, 0: only at depth freqofs)
Range: [-1, ∞]
1
heuristics/zirounding/freqofs frequency offset for calling primal heuristic <zirounding> 0
heuristics/zirounding/maxdepth maximal depth level to call primal heuristic <zirounding> (-1: no limit)
Range: [-1, ∞]
-1
heuristics/zirounding/maxroundingloops determines maximum number of rounding loops
Range: [-1, ∞]
2
heuristics/zirounding/minstopncalls determines the minimum number of calls before percentage-based deactivation of Zirounding is applied
Range: [1, ∞]
1000
heuristics/zirounding/priority priority of heuristic <zirounding>
Range: [-536870912, 536870911]
-500
heuristics/zirounding/stoppercentage if percentage of found solutions falls below this parameter, Zirounding will be deactivated
Range: [0, 1]
0.02
heuristics/zirounding/stopziround flag to determine if Zirounding is deactivated after a certain percentage of unsuccessful calls 1

history

Option Description Default
history/allowmerge should variable histories be merged from sub-SCIPs whenever possible? 0
history/allowtransfer should variable histories be transferred to initialize SCIP copies? 0
history/valuebased should statistics be collected for variable domain value pairs? 0

limits

Option Description Default
limits/absgap solving stops, if the absolute gap = |primalbound - dualbound| is below the given value GAMS optca
limits/autorestartnodes if solve exceeds this number of nodes for the first time, an automatic restart is triggered (-1: no automatic restart)
Range: [-1, ∞]
-1
limits/bestsol solving stops, if the given number of solution improvements were found (-1: no limit)
Range: [-1, ∞]
-1
limits/gap solving stops, if the relative gap = |primal - dual|/MIN(|dual|,|primal|) is below the given value GAMS optcr
limits/maxorigsol maximal number of solutions candidates to store in the solution storage of the original problem 10
limits/maxsol maximal number of solutions to store in the solution storage
Range: [1, ∞]
100
limits/memory maximal memory usage in MB; reported memory usage is lower than real memory usage! GAMS workspace
limits/nodes maximal number of nodes to process (-1: no limit)
Range: [-1, ∞]
GAMS nodlim, if set, otherwise -1
limits/restarts solving stops, if the given number of restarts was triggered (-1: no limit)
Range: [-1, ∞]
-1
limits/softtime soft time limit which should be applied after first solution was found
Range: [-1, ∞]
-1
limits/solutions solving stops, if the given number of solutions were found (-1: no limit)
Range: [-1, ∞]
-1
limits/stallnodes solving stops, if the given number of nodes was processed since the last improvement of the primal solution value (-1: no limit)
Range: [-1, ∞]
-1
limits/time maximal time in seconds to run GAMS reslim
limits/totalnodes maximal number of total nodes (incl. restarts) to process (-1: no limit)
Range: [-1, ∞]
-1

lp

Option Description Default
lp/checkdualfeas should LP solutions be checked for dual feasibility, resolving LP when numerical troubles occur? 1
lp/checkprimfeas should LP solutions be checked for primal feasibility, resolving LP when numerical troubles occur? 1
lp/checkstability should LP solver's return status be checked for stability? 1
lp/cleanupcols should new non-basic columns be removed after LP solving? 0
lp/cleanupcolsroot should new non-basic columns be removed after root LP solving? 0
lp/cleanuprows should new basic rows be removed after LP solving? 1
lp/cleanuprowsroot should new basic rows be removed after root LP solving? 1
lp/clearinitialprobinglp should lp state be cleared at the end of probing mode when lp was initially unsolved, e.g., when called right after presolving? 1
lp/colagelimit maximum age a dynamic column can reach before it is deleted from the LP (-1: don't delete columns due to aging)
Range: [-1, ∞]
10
lp/conditionlimit maximum condition number of LP basis counted as stable (-1.0: no limit)
Range: [-1, ∞]
-1
lp/disablecutoff disable the cutoff bound in the LP solver? (0: enabled, 1: disabled, 2: auto)
Range: [0, 2]
2
lp/fastmip which FASTMIP setting of LP solver should be used? 0: off, 1: low
Range: [0, 1]
1
lp/freesolvalbuffers should the buffers for storing LP solution values during diving be freed at end of diving? 0
lp/initalgorithm LP algorithm for solving initial LP relaxations (automatic 's'implex, 'p'rimal simplex, 'd'ual simplex, 'b'arrier, barrier with 'c'rossover) s
lp/iterlim iteration limit for each single LP solve (-1: no limit)
Range: [-1, ∞]
-1
lp/lexdualalgo should the lexicographic dual algorithm be used? 0
lp/lexdualbasic choose fractional basic variables in lexicographic dual algorithm? 0
lp/lexdualmaxrounds maximum number of rounds in the lexicographic dual algorithm (-1: unbounded)
Range: [-1, ∞]
2
lp/lexdualrootonly should the lexicographic dual algorithm be applied only at the root node 1
lp/lexdualstalling turn on the lex dual algorithm only when stalling? 1
lp/presolving should presolving of LP solver be used? 1
lp/pricing LP pricing strategy ('l'pi default, 'a'uto, 'f'ull pricing, 'p'artial, 's'teepest edge pricing, 'q'uickstart steepest edge pricing, 'd'evex pricing) l
lp/resolvealgorithm LP algorithm for resolving LP relaxations if a starting basis exists (automatic 's'implex, 'p'rimal simplex, 'd'ual simplex, 'b'arrier, barrier with 'c'rossover) s
lp/resolveiterfac factor of average LP iterations that is used as LP iteration limit for LP resolve (-1: unlimited)
Range: [-1, ∞]
-1
lp/resolveitermin minimum number of iterations that are allowed for LP resolve
Range: [1, ∞]
1000
lp/resolverestore should the LP be resolved to restore the state at start of diving (if FALSE we buffer the solution values)? 0
lp/rootiterlim iteration limit for initial root LP solve (-1: no limit)
Range: [-1, ∞]
-1
lp/rowagelimit maximum age a dynamic row can reach before it is deleted from the LP (-1: don't delete rows due to aging)
Range: [-1, ∞]
10
lp/rowrepswitch simplex algorithm shall use row representation of the basis if number of rows divided by number of columns exceeds this value (-1.0 to disable row representation)
Range: [-1, ∞]
1.2
lp/scaling should scaling of LP solver be used? 1
lp/solvedepth maximal depth for solving LP at the nodes (-1: no depth limit)
Range: [-1, ∞]
-1
lp/solvefreq frequency for solving LP at the nodes (-1: never; 0: only root LP)
Range: [-1, ∞]
1
lp/solver LP solver to use (clp, cplex, soplex, soplex2) cplex, if licensed, otherwise soplex
lp/threads number of threads used for solving the LP (0: automatic)
Range: [0, 64]
GAMS threads

memory

Option Description Default
memory/arraygrowfac memory growing factor for dynamically allocated arrays
Range: [1, 10]
1.2
memory/arraygrowinit initial size of dynamically allocated arrays 4
memory/pathgrowfac memory growing factor for path array
Range: [1, 10]
2
memory/pathgrowinit initial size of path array 256
memory/savefac fraction of maximal memory usage resulting in switch to memory saving mode
Range: [0, 1]
0.8
memory/treegrowfac memory growing factor for tree array
Range: [1, 10]
2
memory/treegrowinit initial size of tree array 65536

misc

Option Description Default
misc/allowdualreds should dual reductions in propagation methods and presolver be allowed? 1
misc/allowobjprop should propagation to the current objective be allowed in propagation methods? 1
misc/calcintegral should SCIP calculate the primal dual integral value? 1
misc/catchctrlc should the CTRL-C interrupt be caught by SCIP? 1
misc/estimexternmem should the usage of external memory be estimated? 1
misc/finitesolutionstore should SCIP try to remove infinite fixings from solutions copied to the solution store? 0
misc/improvingsols should only solutions be checked which improve the primal bound 0
misc/outputorigsol should the best solution be transformed to the orignal space and be output in command line run? 1
misc/permutationseed seed value for permuting the problem after the problem was transformed (-1: no permutation)
Range: [-1, ∞]
-1
misc/permuteconss should order of constraints be permuted (depends on permutationseed)? 1
misc/permutevars should order of variables be permuted (depends on permutationseed)? 0
misc/printreason should the reason be printed if a given start solution is infeasible 0
misc/resetstat should the statistics be reset if the transformed problem is freed (in case of a Benders decomposition this parameter should be set to FALSE) 1
misc/transorigsols should SCIP try to transfer original solutions to the transformed space (after presolving)? 1
misc/transsolsorig should SCIP try to transfer transformed solutions to the original space (after solving)? 1
misc/useconstable should a hashtable be used to map from constraint names to constraints? 1
misc/usesmalltables should smaller hashtables be used? yields better performance for small problems with about 100 variables 0
misc/usevartable should a hashtable be used to map from variable names to variables? 1

nodeselection

Option Description Default
nodeselection/childsel child selection rule ('d'own, 'u'p, 'p'seudo costs, 'i'nference, 'l'p value, 'r'oot LP value difference, 'h'ybrid inference/root LP value difference) h

nodeselection/bfs

Option Description Default
nodeselection/bfs/maxplungedepth maximal plunging depth, before new best node is forced to be selected (-1 for dynamic setting)
Range: [-1, ∞]
-1
nodeselection/bfs/maxplungequot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where plunging is performed 0.25
nodeselection/bfs/memsavepriority priority of node selection rule <bfs> in memory saving mode
Range: [-536870912, 536870911]
0
nodeselection/bfs/minplungedepth minimal plunging depth, before new best node may be selected (-1 for dynamic setting)
Range: [-1, ∞]
-1
nodeselection/bfs/stdpriority priority of node selection rule <bfs> in standard mode
Range: [-536870912, 536870911]
100000

nodeselection/breadthfirst

Option Description Default
nodeselection/breadthfirst/memsavepriority priority of node selection rule <breadthfirst> in memory saving mode
Range: [-536870912, 536870911]
-1000000
nodeselection/breadthfirst/stdpriority priority of node selection rule <breadthfirst> in standard mode
Range: [-536870912, 536870911]
-10000

nodeselection/dfs

Option Description Default
nodeselection/dfs/memsavepriority priority of node selection rule <dfs> in memory saving mode
Range: [-536870912, 536870911]
100000
nodeselection/dfs/stdpriority priority of node selection rule <dfs> in standard mode
Range: [-536870912, 536870911]
0

nodeselection/estimate

Option Description Default
nodeselection/estimate/bestnodefreq frequency at which the best node instead of the best estimate is selected (0: never) 10
nodeselection/estimate/breadthfirstdepth depth until breadth-first search is applied
Range: [-1, ∞]
-1
nodeselection/estimate/maxplungedepth maximal plunging depth, before new best node is forced to be selected (-1 for dynamic setting)
Range: [-1, ∞]
-1
nodeselection/estimate/maxplungequot maximal quotient (estimate - lowerbound)/(cutoffbound - lowerbound) where plunging is performed 0.25
nodeselection/estimate/memsavepriority priority of node selection rule <estimate> in memory saving mode
Range: [-536870912, 536870911]
100
nodeselection/estimate/minplungedepth minimal plunging depth, before new best node may be selected (-1 for dynamic setting)
Range: [-1, ∞]
-1
nodeselection/estimate/plungeoffset number of nodes before doing plunging the first time 0
nodeselection/estimate/stdpriority priority of node selection rule <estimate> in standard mode
Range: [-536870912, 536870911]
200000

nodeselection/hybridestim

Option Description Default
nodeselection/hybridestim/bestnodefreq frequency at which the best node instead of the hybrid best estimate / best bound is selected (0: never) 1000
nodeselection/hybridestim/estimweight weight of estimate value in node selection score (0: pure best bound search, 1: pure best estimate search)
Range: [0, 1]
0.1
nodeselection/hybridestim/maxplungedepth maximal plunging depth, before new best node is forced to be selected (-1 for dynamic setting)
Range: [-1, ∞]
-1
nodeselection/hybridestim/maxplungequot maximal quotient (estimate - lowerbound)/(cutoffbound - lowerbound) where plunging is performed 0.25
nodeselection/hybridestim/memsavepriority priority of node selection rule <hybridestim> in memory saving mode
Range: [-536870912, 536870911]
50
nodeselection/hybridestim/minplungedepth minimal plunging depth, before new best node may be selected (-1 for dynamic setting)
Range: [-1, ∞]
-1
nodeselection/hybridestim/stdpriority priority of node selection rule <hybridestim> in standard mode
Range: [-536870912, 536870911]
50000

nodeselection/restartdfs

Option Description Default
nodeselection/restartdfs/countonlyleaves count only leaf nodes (otherwise all nodes)? 1
nodeselection/restartdfs/memsavepriority priority of node selection rule <restartdfs> in memory saving mode
Range: [-536870912, 536870911]
50000
nodeselection/restartdfs/selectbestfreq frequency for selecting the best node instead of the deepest one 100
nodeselection/restartdfs/stdpriority priority of node selection rule <restartdfs> in standard mode
Range: [-536870912, 536870911]
10000

nodeselection/uct

Option Description Default
nodeselection/uct/memsavepriority priority of node selection rule <uct> in memory saving mode
Range: [-536870912, 536870911]
0
nodeselection/uct/nodelimit maximum number of nodes before switching to default rule
Range: [0, 1000000]
31
nodeselection/uct/stdpriority priority of node selection rule <uct> in standard mode
Range: [-536870912, 536870911]
10
nodeselection/uct/useestimate should the estimate (TRUE) or lower bound of a node be used for UCT score? 0
nodeselection/uct/weight weight for visit quotient of node selection rule
Range: [0, 1]
0.1

numerics

Option Description Default
numerics/barrierconvtol LP convergence tolerance used in barrier algorithm
Range: [1e-17, 0.001]
1e-10
numerics/boundstreps minimal relative improve for strengthening bounds
Range: [1e-17, ∞]
0.05
numerics/checkfeastolfac feasibility tolerance factor; for checking the feasibility of the best solution 1
numerics/dualfeastol feasibility tolerance for reduced costs in LP solution
Range: [1e-17, 0.001]
1e-07
numerics/epsilon absolute values smaller than this are considered zero
Range: [1e-20, 0.001]
1e-09
numerics/feastol feasibility tolerance for constraints
Range: [1e-17, 0.001]
1e-06
numerics/hugeval values larger than this are considered huge and should be handled separately (e.g., in activity computation) 1e+15
numerics/lpfeastol primal feasibility tolerance of LP solver
Range: [1e-17, 0.001]
1e-06
numerics/pseudocostdelta minimal objective distance value to use for branching pseudo cost updates 0.0001
numerics/pseudocosteps minimal variable distance value to use for branching pseudo cost updates
Range: [1e-17, 1]
0.1
numerics/recomputefac minimal decrease factor that causes the recomputation of a value (e.g., pseudo objective) instead of an update 1e+07
numerics/sumepsilon absolute values of sums smaller than this are considered zero
Range: [1e-17, 0.001]
1e-06

presolving

Option Description Default
presolving/abortfac abort presolve, if at most this fraction of the problem was changed in last presolve round
Range: [0, 1]
0.001
presolving/donotaggr should aggregation of variables be forbidden? 0
presolving/donotmultaggr should multi-aggregation of variables be forbidden? 0
presolving/immrestartfac fraction of integer variables that were fixed in the root node triggering an immediate restart with preprocessing
Range: [0, 1]
0.1
presolving/maxrestarts maximal number of restarts (-1: unlimited)
Range: [-1, ∞]
-1
presolving/maxrounds maximal number of presolving rounds (-1: unlimited, 0: off)
Range: [-1, ∞]
-1
presolving/restartfac fraction of integer variables that were fixed in the root node triggering a restart with preprocessing after root node evaluation
Range: [0, 1]
0.025
presolving/restartminred minimal fraction of integer variables removed after restart to allow for an additional restart
Range: [0, 1]
0.1
presolving/subrestartfac fraction of integer variables that were globally fixed during the solving process triggering a restart with preprocessing
Range: [0, 1]
1

presolving/boundshift

Option Description Default
presolving/boundshift/flipping is flipping allowed (multiplying with -1)? 1
presolving/boundshift/integer shift only integer ranges? 1
presolving/boundshift/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
0
presolving/boundshift/maxshift absolute value of maximum shift maxint
presolving/boundshift/priority priority of presolver <boundshift>
Range: [-536870912, 536870911]
7900000
presolving/boundshift/timing timing mask of presolver <boundshift> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
4

presolving/components

Option Description Default
presolving/components/feastolfactor factor to increase the feasibility tolerance of the main SCIP in all sub-SCIPs, default value 1.0
Range: [0, 1e+06]
1
presolving/components/intfactor the weight of an integer variable compared to binary variables 1
presolving/components/maxintvars maximum number of integer (or binary) variables to solve a subproblem directly (-1: unlimited)
Range: [-1, ∞]
500
presolving/components/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
-1
presolving/components/nodelimit maximum number of nodes to be solved in subproblems
Range: [-1, ∞]
10000
presolving/components/priority priority of presolver <components>
Range: [-536870912, 536870911]
-9200000
presolving/components/reldecrease percentage by which the number of variables has to be decreased after the last component solving to allow running again (1.0: do not run again)
Range: [0, 1]
0.2
presolving/components/timing timing mask of presolver <components> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16
presolving/components/writeproblems should the single components be written as an .cip-file? 0

presolving/convertinttobin

Option Description Default
presolving/convertinttobin/maxdomainsize absolute value of maximum domain size for converting an integer variable to binaries variables maxint
presolving/convertinttobin/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
0
presolving/convertinttobin/onlypoweroftwo should only integer variables with a domain size of 2^p - 1 be converted(, there we don't need an knapsack-constraint for restricting the sum of the binaries) 0
presolving/convertinttobin/priority priority of presolver <convertinttobin>
Range: [-536870912, 536870911]
6000000
presolving/convertinttobin/samelocksinbothdirections should only integer variables with uplocks equals downlocks be converted 0
presolving/convertinttobin/timing timing mask of presolver <convertinttobin> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
4

presolving/domcol

Option Description Default
presolving/domcol/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
-1
presolving/domcol/nummaxpairs maximal number of pair comparisons
Range: [1024, 1000000000]
1048576
presolving/domcol/numminpairs minimal number of pair comparisons
Range: [100, 1048576]
1024
presolving/domcol/predbndstr should predictive bound strengthening be applied? 0
presolving/domcol/priority priority of presolver <domcol>
Range: [-536870912, 536870911]
-1000
presolving/domcol/timing timing mask of presolver <domcol> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16

presolving/dualagg

Option Description Default
presolving/dualagg/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
0
presolving/dualagg/priority priority of presolver <dualagg>
Range: [-536870912, 536870911]
-12000
presolving/dualagg/timing timing mask of presolver <dualagg> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16

presolving/dualinfer

Option Description Default
presolving/dualinfer/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
0
presolving/dualinfer/priority priority of presolver <dualinfer>
Range: [-536870912, 536870911]
-200
presolving/dualinfer/timing timing mask of presolver <dualinfer> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16

presolving/gateextraction

Option Description Default
presolving/gateextraction/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
-1
presolving/gateextraction/onlysetpart should we only try to extract set-partitioning constraints and no and-constraints 0
presolving/gateextraction/priority priority of presolver <gateextraction>
Range: [-536870912, 536870911]
1000000
presolving/gateextraction/searchequations should we try to extract set-partitioning constraint out of one logicor and one corresponding set-packing constraint 1
presolving/gateextraction/sorting order logicor contraints to extract big-gates before smaller ones (-1), do not order them (0) or order them to extract smaller gates at first (1)
Range: [-1, 1]
1
presolving/gateextraction/timing timing mask of presolver <gateextraction> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16

presolving/implfree

Option Description Default
presolving/implfree/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
0
presolving/implfree/priority priority of presolver <implfree>
Range: [-536870912, 536870911]
-1000
presolving/implfree/timing timing mask of presolver <implfree> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16

presolving/implics

Option Description Default
presolving/implics/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
-1
presolving/implics/priority priority of presolver <implics>
Range: [-536870912, 536870911]
-10000
presolving/implics/timing timing mask of presolver <implics> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
8

presolving/inttobinary

Option Description Default
presolving/inttobinary/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
-1
presolving/inttobinary/priority priority of presolver <inttobinary>
Range: [-536870912, 536870911]
7000000
presolving/inttobinary/timing timing mask of presolver <inttobinary> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
4

presolving/redvub

Option Description Default
presolving/redvub/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
0
presolving/redvub/priority priority of presolver <redvub>
Range: [-536870912, 536870911]
-9000000
presolving/redvub/timing timing mask of presolver <redvub> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16

presolving/stuffing

Option Description Default
presolving/stuffing/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
-1
presolving/stuffing/priority priority of presolver <stuffing>
Range: [-536870912, 536870911]
-100
presolving/stuffing/timing timing mask of presolver <stuffing> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16

presolving/trivial

Option Description Default
presolving/trivial/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
-1
presolving/trivial/priority priority of presolver <trivial>
Range: [-536870912, 536870911]
9000000
presolving/trivial/timing timing mask of presolver <trivial> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
4

presolving/tworowbnd

Option Description Default
presolving/tworowbnd/maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit)
Range: [-1, ∞]
0
presolving/tworowbnd/priority priority of presolver <tworowbnd>
Range: [-536870912, 536870911]
-500000
presolving/tworowbnd/timing timing mask of presolver <tworowbnd> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [4, 28]
16

propagating

Option Description Default
propagating/abortoncutoff should propagation be aborted immediately? setting this to FALSE could help conflict analysis to produce more conflict constraints 1
propagating/maxrounds maximal number of propagation rounds per node (-1: unlimited)
Range: [-1, ∞]
100
propagating/maxroundsroot maximal number of propagation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
1000

propagating/dualfix

Option Description Default
propagating/dualfix/delay should propagator be delayed, if other propagators found reductions? 0
propagating/dualfix/freq frequency for calling propagator <dualfix> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
propagating/dualfix/maxprerounds maximal number of presolving rounds the propagator participates in (-1: no limit)
Range: [-1, ∞]
-1
propagating/dualfix/presolpriority presolving priority of propagator <dualfix>
Range: [-536870912, 536870911]
8000000
propagating/dualfix/presoltiming timing mask of the presolving method of propagator <dualfix> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [2, 28]
4
propagating/dualfix/priority priority of propagator <dualfix>
Range: [-536870912, 536870911]
8000000
propagating/dualfix/timingmask timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
Range: [1, 15]
1

propagating/genvbounds

Option Description Default
propagating/genvbounds/delay should propagator be delayed, if other propagators found reductions? 0
propagating/genvbounds/freq frequency for calling propagator <genvbounds> (-1: never, 0: only in root node)
Range: [-1, ∞]
1
propagating/genvbounds/global apply global propagation? 1
propagating/genvbounds/maxprerounds maximal number of presolving rounds the propagator participates in (-1: no limit)
Range: [-1, ∞]
-1
propagating/genvbounds/presolpriority presolving priority of propagator <genvbounds>
Range: [-536870912, 536870911]
-2000000
propagating/genvbounds/presoltiming timing mask of the presolving method of propagator <genvbounds> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [2, 28]
4
propagating/genvbounds/priority priority of propagator <genvbounds>
Range: [-536870912, 536870911]
3000000
propagating/genvbounds/propasconss should genvbounds be transformed to (linear) constraints? 0
propagating/genvbounds/propinrootnode apply genvbounds in root node if no new incumbent was found? 1
propagating/genvbounds/sort sort genvbounds and wait for bound change events? 1
propagating/genvbounds/timingmask timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
Range: [1, 15]
15

propagating/obbt

Option Description Default
propagating/obbt/applyfilterrounds try to filter bounds in so-called filter rounds by solving auxiliary LPs? 0
propagating/obbt/applytrivialfilter try to filter bounds with the LP solution after each solve? 1
propagating/obbt/boundstreps minimal relative improve for strengthening bounds
Range: [0, 1]
0.001
propagating/obbt/conditionlimit maximum condition limit used in LP solver (-1.0: no limit)
Range: [-1, ∞]
-1
propagating/obbt/creategenvbounds should obbt try to provide genvbounds if possible? 1
propagating/obbt/delay should propagator be delayed, if other propagators found reductions? 1
propagating/obbt/dualfeastol feasibility tolerance for reduced costs used in obbt; this value is used if SCIP's dual feastol is greater 1e-09
propagating/obbt/freq frequency for calling propagator <obbt> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
propagating/obbt/genvbdsduringfilter should we try to generate genvbounds during trivial and aggressive filtering? 1
propagating/obbt/genvbdsduringsepa try to create genvbounds during separation process? 1
propagating/obbt/itlimitfactor multiple of root node LP iterations used as total LP iteration limit for obbt (≤ 0: no limit )
Range: [-∞, ∞]
10
propagating/obbt/maxprerounds maximal number of presolving rounds the propagator participates in (-1: no limit)
Range: [-1, ∞]
-1
propagating/obbt/minfilter minimal number of filtered bounds to apply another filter round
Range: [1, ∞]
2
propagating/obbt/minitlimit minimum LP iteration limit 5000
propagating/obbt/normalize should coefficients in filtering be normalized w.r.t. the domains sizes? 1
propagating/obbt/onlynonconvexvars only apply obbt on non-convex variables 0
propagating/obbt/orderingalgo select the type of ordering algorithm which should be used (0: no special ordering, 1: greedy, 2: greedy reverse)
Range: [0, 2]
1
propagating/obbt/presolpriority presolving priority of propagator <obbt>
Range: [-536870912, 536870911]
0
propagating/obbt/presoltiming timing mask of the presolving method of propagator <obbt> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [2, 28]
28
propagating/obbt/priority priority of propagator <obbt>
Range: [-536870912, 536870911]
-1000000
propagating/obbt/propagatefreq trigger a propagation round after that many bound tightenings (0: no propagation) 0
propagating/obbt/sepamaxiter maximum number of iteration spend to separate an obbt LP solution 10
propagating/obbt/sepaminiter minimum number of iteration spend to separate an obbt LP solution 0
propagating/obbt/separatesol should the obbt LP solution be separated? 0
propagating/obbt/tightcontboundsprobing should continuous bounds be tightened during the probing mode? 0
propagating/obbt/tightintboundsprobing should integral bounds be tightened during the probing mode? 1
propagating/obbt/timingmask timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
Range: [1, 15]
4

propagating/probing

Option Description Default
propagating/probing/delay should propagator be delayed, if other propagators found reductions? 1
propagating/probing/freq frequency for calling propagator <probing> (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
propagating/probing/maxdepth maximal depth until propagation is executed(-1: no limit)
Range: [-1, ∞]
-1
propagating/probing/maxfixings maximal number of fixings found, until probing is interrupted (0: don't iterrupt) 25
propagating/probing/maxprerounds maximal number of presolving rounds the propagator participates in (-1: no limit)
Range: [-1, ∞]
-1
propagating/probing/maxruns maximal number of runs, probing participates in (-1: no limit)
Range: [-1, ∞]
1
propagating/probing/maxsumuseless maximal number of probings without fixings, until probing is aborted (0: don't abort) 0
propagating/probing/maxtotaluseless maximal number of successive probings without fixings, bound changes, and implications, until probing is aborted (0: don't abort) 50
propagating/probing/maxuseless maximal number of successive probings without fixings, until probing is aborted (0: don't abort) 1000
propagating/probing/presolpriority presolving priority of propagator <probing>
Range: [-536870912, 536870911]
-100000
propagating/probing/presoltiming timing mask of the presolving method of propagator <probing> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [2, 28]
16
propagating/probing/priority priority of propagator <probing>
Range: [-536870912, 536870911]
-100000
propagating/probing/proprounds maximal number of propagation rounds in probing subproblems (-1: no limit, 0: auto)
Range: [-1, ∞]
-1
propagating/probing/timingmask timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
Range: [1, 15]
4

propagating/pseudoobj

Option Description Default
propagating/pseudoobj/delay should propagator be delayed, if other propagators found reductions? 0
propagating/pseudoobj/force should the propagator be forced even if active pricer are present? 0
propagating/pseudoobj/freq frequency for calling propagator <pseudoobj> (-1: never, 0: only in root node)
Range: [-1, ∞]
1
propagating/pseudoobj/maximplvars maximum number of binary variables the implications are used if turned on (-1: unlimited)?
Range: [-1, ∞]
50000
propagating/pseudoobj/maxnewvars number of variable added after the propgatore is reinitialized? 1000
propagating/pseudoobj/maxprerounds maximal number of presolving rounds the propagator participates in (-1: no limit)
Range: [-1, ∞]
-1
propagating/pseudoobj/maxvarsfrac maximal fraction of non-binary variables with non-zero objective without a bound reduction before aborted
Range: [0, 1]
0.1
propagating/pseudoobj/minuseless minimal number of successive non-binary variable propagator whithout a bound reduction before aborted 100
propagating/pseudoobj/presolpriority presolving priority of propagator <pseudoobj>
Range: [-536870912, 536870911]
6000000
propagating/pseudoobj/presoltiming timing mask of the presolving method of propagator <pseudoobj> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [2, 28]
4
propagating/pseudoobj/priority priority of propagator <pseudoobj>
Range: [-536870912, 536870911]
3000000
propagating/pseudoobj/propcutoffbound propagate new cutoff bound directly globally 1
propagating/pseudoobj/propfullinroot do we want to propagate all non-binary variables if we are propagating the root node 1
propagating/pseudoobj/propuseimplics use implications to strengthen the propagation of binary variable (increasing the objective change)? 1
propagating/pseudoobj/respropuseimplics use implications to strengthen the resolve propagation of binary variable (increasing the objective change)? 1
propagating/pseudoobj/timingmask timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
Range: [1, 15]
7

propagating/redcost

Option Description Default
propagating/redcost/continuous should reduced cost fixing be also applied to continuous variables? 0
propagating/redcost/delay should propagator be delayed, if other propagators found reductions? 0
propagating/redcost/force should the propagator be forced even if active pricer are present? 0
propagating/redcost/freq frequency for calling propagator <redcost> (-1: never, 0: only in root node)
Range: [-1, ∞]
1
propagating/redcost/maxprerounds maximal number of presolving rounds the propagator participates in (-1: no limit)
Range: [-1, ∞]
-1
propagating/redcost/presolpriority presolving priority of propagator <redcost>
Range: [-536870912, 536870911]
0
propagating/redcost/presoltiming timing mask of the presolving method of propagator <redcost> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [2, 28]
28
propagating/redcost/priority priority of propagator <redcost>
Range: [-536870912, 536870911]
1000000
propagating/redcost/timingmask timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
Range: [1, 15]
6
propagating/redcost/useimplics should implications be used to strength the reduced cost for binary variables? 1

propagating/rootredcost

Option Description Default
propagating/rootredcost/delay should propagator be delayed, if other propagators found reductions? 0
propagating/rootredcost/force should the propagator be forced even if active pricer are present? 0
propagating/rootredcost/freq frequency for calling propagator <rootredcost> (-1: never, 0: only in root node)
Range: [-1, ∞]
1
propagating/rootredcost/maxprerounds maximal number of presolving rounds the propagator participates in (-1: no limit)
Range: [-1, ∞]
-1
propagating/rootredcost/onlybinary should only binary variables be propagated? 0
propagating/rootredcost/presolpriority presolving priority of propagator <rootredcost>
Range: [-536870912, 536870911]
0
propagating/rootredcost/presoltiming timing mask of the presolving method of propagator <rootredcost> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [2, 28]
28
propagating/rootredcost/priority priority of propagator <rootredcost>
Range: [-536870912, 536870911]
10000000
propagating/rootredcost/timingmask timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
Range: [1, 15]
5

propagating/vbounds

Option Description Default
propagating/vbounds/delay should propagator be delayed, if other propagators found reductions? 0
propagating/vbounds/dotoposort should the bounds be topologically sorted in advance? 1
propagating/vbounds/freq frequency for calling propagator <vbounds> (-1: never, 0: only in root node)
Range: [-1, ∞]
1
propagating/vbounds/maxprerounds maximal number of presolving rounds the propagator participates in (-1: no limit)
Range: [-1, ∞]
-1
propagating/vbounds/presolpriority presolving priority of propagator <vbounds>
Range: [-536870912, 536870911]
0
propagating/vbounds/presoltiming timing mask of the presolving method of propagator <vbounds> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE)
Range: [2, 28]
28
propagating/vbounds/priority priority of propagator <vbounds>
Range: [-536870912, 536870911]
3000000
propagating/vbounds/sortcliques should cliques be regarded for the topological sort? 0
propagating/vbounds/timingmask timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
Range: [1, 15]
5
propagating/vbounds/usebdwidening should bound widening be used to initialize conflict analysis? 1
propagating/vbounds/usecliques should cliques be propagated? 0
propagating/vbounds/useimplics should implications be propagated? 0
propagating/vbounds/usevbounds should vbounds be propagated? 1

separating

Option Description Default
separating/cutagelimit maximum age a cut can reach before it is deleted from the global cut pool, or -1 to keep all cuts
Range: [-1, ∞]
100
separating/cutselrestart cut selection during restart ('a'ge, activity 'q'uotient) a
separating/cutselsubscip cut selection for sub SCIPs ('a'ge, activity 'q'uotient) a
separating/efficacynorm row norm to use for efficacy calculation ('e'uclidean, 'm'aximum, 's'um, 'd'iscrete) e
separating/feastolfac factor on cut infeasibility to limit feasibility tolerance for relaxation solver (-1: off)
Range: [-1, 1]
-1
separating/maxaddrounds maximal additional number of separation rounds in subsequent price-and-cut loops (-1: no additional restriction)
Range: [-1, ∞]
1
separating/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
separating/maxcuts maximal number of cuts separated per separation round (0: disable local separation) 100
separating/maxcutsroot maximal number of separated cuts at the root node (0: disable root node separation) 2000
separating/maxrounds maximal number of separation rounds per node (-1: unlimited)
Range: [-1, ∞]
5
separating/maxroundsroot maximal number of separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
-1
separating/maxroundsrootsubrun maximal number of separation rounds in the root node of a subsequent run (-1: unlimited)
Range: [-1, ∞]
1
separating/maxruns maximal number of runs for which separation is enabled (-1: unlimited)
Range: [-1, ∞]
-1
separating/maxstallrounds maximal number of consecutive separation rounds without objective or integrality improvement (-1: no additional restriction)
Range: [-1, ∞]
5
separating/minactivityquot minimum cut activity quotient to convert cuts into constraints during a restart (0.0: all cuts are converted)
Range: [0, 1]
0.8
separating/minefficacy minimal efficacy for a cut to enter the LP 0.05
separating/minefficacyroot minimal efficacy for a cut to enter the LP in the root node 0.001
separating/minortho minimal orthogonality for a cut to enter the LP
Range: [0, 1]
0.5
separating/minorthoroot minimal orthogonality for a cut to enter the LP in the root node
Range: [0, 1]
0.5
separating/objparalfac factor to scale objective parallelism of cut in separation score calculation 0.0001
separating/orthofac factor to scale orthogonality of cut in separation score calculation (0.0 to disable orthogonality calculation) 1
separating/orthofunc function used for calc. scalar prod. in orthogonality test ('e'uclidean, 'd'iscrete) e
separating/poolfreq separation frequency for the global cut pool (-1: disable global cut pool, 0: only separate pool at the root)
Range: [-1, ∞]
0

separating/cgmip

Option Description Default
separating/cgmip/addviolationcons add constraint to subscip that only allows violated cuts (otherwise add obj. limit)? 0
separating/cgmip/addviolconshdlr add constraint handler to filter out violated cuts? 0
separating/cgmip/allowlocal Allow to generate local cuts? 0
separating/cgmip/cmirownbounds tell CMIR-generator which bounds to used in rounding? 0
separating/cgmip/conshdlrusenorm should the violation constraint handler use the norm of a cut to check for feasibility? 1
separating/cgmip/contconvert Convert some integral variables to be continuous to reduce the size of the sub-MIP? 0
separating/cgmip/contconvfrac fraction of integral variables converted to be continuous (if contconvert)
Range: [0, 1]
0.1
separating/cgmip/contconvmin minimum number of integral variables before some are converted to be continuous
Range: [-1, ∞]
100
separating/cgmip/cutcoefbnd bounds on the values of the coefficients in the CG-cut 1000
separating/cgmip/decisiontree Use decision tree to turn separation on/off? 0
separating/cgmip/delay should separator be delayed, if other separators found cuts? 0
separating/cgmip/dynamiccuts should generated cuts be removed from the LP if they are no longer tight? 1
separating/cgmip/earlyterm terminate separation if a violated (but possibly sub-optimal) cut has been found? 1
separating/cgmip/freq frequency for calling separator <cgmip> (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
separating/cgmip/intconvert Convert some integral variables attaining fractional values to have integral value? 0
separating/cgmip/intconvfrac fraction of frac. integral variables converted to have integral value (if intconvert)
Range: [0, 1]
0.1
separating/cgmip/intconvmin minimum number of integral variables before some are converted to have integral value
Range: [-1, ∞]
100
separating/cgmip/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <cgmip> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/cgmip/maxdepth maximal depth at which the separator is applied (-1: unlimited)
Range: [-1, ∞]
-1
separating/cgmip/maxnodelimit maximum number of nodes considered for sub-MIP (-1: unlimited)
Range: [-1, ∞]
5000
separating/cgmip/maxrounds maximal number of cgmip separation rounds per node (-1: unlimited)
Range: [-1, ∞]
5
separating/cgmip/maxroundsroot maximal number of cgmip separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
50
separating/cgmip/maxrowage maximal age of rows to consider if onlyactiverows is false
Range: [-1, ∞]
-1
separating/cgmip/memorylimit memory limit for sub-MIP maxdouble
separating/cgmip/minnodelimit minimum number of nodes considered for sub-MIP (-1: unlimited)
Range: [-1, ∞]
500
separating/cgmip/objlone Should the objective of the sub-MIP minimize the l1-norm of the multipliers? 0
separating/cgmip/objweight weight used for the row combination coefficient in the sub-MIP objective 0.001
separating/cgmip/objweightsize Weight each row by its size? 1
separating/cgmip/onlyactiverows Use only active rows to generate cuts? 0
separating/cgmip/onlyintvars Generate cuts for problems with only integer variables? 0
separating/cgmip/onlyrankone Separate only rank 1 inequalities w.r.t. CG-MIP separator? 0
separating/cgmip/output Should information about the sub-MIP and cuts be displayed? 0
separating/cgmip/primalseparation only separate cuts that are tight for the best feasible solution? 1
separating/cgmip/priority priority of separator <cgmip>
Range: [-536870912, 536870911]
-1000
separating/cgmip/skipmultbounds Skip the upper bounds on the multipliers in the sub-MIP? 1
separating/cgmip/subscipfast Should the settings for the sub-MIP be optimized for speed? 1
separating/cgmip/timelimit time limit for sub-MIP maxdouble
separating/cgmip/usecmir use CMIR-generator (otherwise add cut directly)? 1
separating/cgmip/usecutpool use cutpool to store CG-cuts even if the are not efficient? 1
separating/cgmip/useobjlb Use lower bound on objective function (via primal solution)? 0
separating/cgmip/useobjub Use upper bound on objective function (via primal solution)? 0
separating/cgmip/usestrongcg use strong CG-function to strengthen cut? 0

separating/clique

Option Description Default
separating/clique/backtrackfreq frequency for premature backtracking up to tree level 1 (0: no backtracking) 1000
separating/clique/cliquedensity minimal density of cliques to use a dense clique table
Range: [0, 1]
0.05
separating/clique/cliquetablemem maximal memory size of dense clique table (in kb)
Range: [0, 2.09715e+06]
20000
separating/clique/delay should separator be delayed, if other separators found cuts? 0
separating/clique/freq frequency for calling separator <clique> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
separating/clique/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <clique> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/clique/maxsepacuts maximal number of clique cuts separated per separation round (-1: no limit)
Range: [-1, ∞]
10
separating/clique/maxtreenodes maximal number of nodes in branch and bound tree (-1: no limit)
Range: [-1, ∞]
10000
separating/clique/maxzeroextensions maximal number of zero-valued variables extending the clique (-1: no limit)
Range: [-1, ∞]
1000
separating/clique/priority priority of separator <clique>
Range: [-536870912, 536870911]
-5000
separating/clique/scaleval factor for scaling weights
Range: [1, ∞]
1000

separating/closecuts

Option Description Default
separating/closecuts/closethres threshold on number of generated cuts below which the ordinary separation is started
Range: [-1, ∞]
50
separating/closecuts/delay should separator be delayed, if other separators found cuts? 0
separating/closecuts/freq frequency for calling separator <closecuts> (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
separating/closecuts/inclobjcutoff include an objective cutoff when computing the relative interior? 0
separating/closecuts/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <closecuts> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
separating/closecuts/maxlpiterfactor factor for maximal LP iterations in relative interior computation compared to node LP iterations (negative for no limit)
Range: [-1, ∞]
10
separating/closecuts/maxunsuccessful turn off separation in current node after unsuccessful calls (-1 never turn off)
Range: [-1, ∞]
0
separating/closecuts/priority priority of separator <closecuts>
Range: [-536870912, 536870911]
1000000
separating/closecuts/recomputerelint recompute relative interior point in each separation call? 0
separating/closecuts/sepacombvalue convex combination value for close cuts
Range: [0, 1]
0.3
separating/closecuts/separelint generate close cuts w.r.t. relative interior point (best solution otherwise)? 1

separating/cmir

Option Description Default
separating/cmir/aggrtol tolerance for bound distances used to select continuous variable in current aggregated constraint to be eliminated 0.1
separating/cmir/delay should separator be delayed, if other separators found cuts? 0
separating/cmir/densityoffset additional number of variables allowed in row on top of density 100
separating/cmir/densityscore weight of row density in the aggregation scoring of the rows 0.0001
separating/cmir/dynamiccuts should generated cuts be removed from the LP if they are no longer tight? 1
separating/cmir/fixintegralrhs should an additional variable be complemented if f0 = 0? 1
separating/cmir/freq frequency for calling separator <cmir> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
separating/cmir/maxaggdensity maximal density of aggregated row
Range: [0, 1]
0.2
separating/cmir/maxaggrs maximal number of aggregations for each row per separation round 3
separating/cmir/maxaggrsroot maximal number of aggregations for each row per separation round in the root node 6
separating/cmir/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <cmir> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/cmir/maxconts maximal number of active continuous variables in aggregated row 10
separating/cmir/maxcontsroot maximal number of active continuous variables in aggregated row in the root node 10
separating/cmir/maxfails maximal number of consecutive unsuccessful aggregation tries (-1: unlimited)
Range: [-1, ∞]
20
separating/cmir/maxfailsroot maximal number of consecutive unsuccessful aggregation tries in the root node (-1: unlimited)
Range: [-1, ∞]
100
separating/cmir/maxrounds maximal number of cmir separation rounds per node (-1: unlimited)
Range: [-1, ∞]
3
separating/cmir/maxroundsroot maximal number of cmir separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
10
separating/cmir/maxrowdensity maximal density of row to be used in aggregation
Range: [0, 1]
0.05
separating/cmir/maxrowfac maximal row aggregation factor 10000
separating/cmir/maxsepacuts maximal number of cmir cuts separated per separation round 100
separating/cmir/maxsepacutsroot maximal number of cmir cuts separated per separation round in the root node 500
separating/cmir/maxslack maximal slack of rows to be used in aggregation 0
separating/cmir/maxslackroot maximal slack of rows to be used in aggregation in the root node 0.1
separating/cmir/maxtestdelta maximal number of different deltas to try (-1: unlimited)
Range: [-1, ∞]
-1
separating/cmir/maxtries maximal number of rows to start aggregation with per separation round (-1: unlimited)
Range: [-1, ∞]
100
separating/cmir/maxtriesroot maximal number of rows to start aggregation with per separation round in the root node (-1: unlimited)
Range: [-1, ∞]
-1
separating/cmir/priority priority of separator <cmir>
Range: [-536870912, 536870911]
-3000
separating/cmir/slackscore weight of slack in the aggregation scoring of the rows 0.001
separating/cmir/trynegscaling should negative values also be tested in scaling? 1

separating/disjunctive

Option Description Default
separating/disjunctive/delay should separator be delayed, if other separators found cuts? 1
separating/disjunctive/freq frequency for calling separator <disjunctive> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
separating/disjunctive/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <disjunctive> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/disjunctive/maxconfsdelay delay separation if number of conflict graph edges is larger than predefined value (-1: no limit)
Range: [-1, ∞]
100000
separating/disjunctive/maxdepth node depth of separating bipartite disjunctive cuts (-1: no limit)
Range: [-1, ∞]
-1
separating/disjunctive/maxinvcuts maximal number of cuts investigated per iteration in a branching node 50
separating/disjunctive/maxinvcutsroot maximal number of cuts investigated per iteration in the root node 250
separating/disjunctive/maxrank maximal rank of a disj. cut that could not be scaled to integral coefficients (-1: unlimited)
Range: [-1, ∞]
20
separating/disjunctive/maxrankintegral maximal rank of a disj. cut that could be scaled to integral coefficients (-1: unlimited)
Range: [-1, ∞]
-1
separating/disjunctive/maxrounds maximal number of separation rounds per iteration in a branching node (-1: no limit)
Range: [-1, ∞]
25
separating/disjunctive/maxroundsroot maximal number of separation rounds in the root node (-1: no limit)
Range: [-1, ∞]
100
separating/disjunctive/maxweightrange maximal valid range max(|weights|)/min(|weights|) of row weights
Range: [1, ∞]
1000
separating/disjunctive/priority priority of separator <disjunctive>
Range: [-536870912, 536870911]
10
separating/disjunctive/strengthen strengthen cut if integer variables are present. 1

separating/eccuts

Option Description Default
separating/eccuts/cutmaxrange maximal coef. range of a cut (max coef. divided by min coef.) in order to be added to LP relaxation 1e+07
separating/eccuts/delay should separator be delayed, if other separators found cuts? 0
separating/eccuts/dynamiccuts should generated cuts be removed from the LP if they are no longer tight? 1
separating/eccuts/freq frequency for calling separator <eccuts> (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
separating/eccuts/maxaggrsize search for edge-concave aggregations of at most this size
Range: [3, 5]
4
separating/eccuts/maxbilinterms maximum number of bilinear terms allowed to be in a quadratic constraint 500
separating/eccuts/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <eccuts> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
separating/eccuts/maxdepth maximal depth at which the separator is applied (-1: unlimited)
Range: [-1, ∞]
-1
separating/eccuts/maxrounds maximal number of eccuts separation rounds per node (-1: unlimited)
Range: [-1, ∞]
10
separating/eccuts/maxroundsroot maximal number of eccuts separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
250
separating/eccuts/maxsepacuts maximal number of edge-concave cuts separated per separation round 10
separating/eccuts/maxsepacutsroot maximal number of edge-concave cuts separated per separation round in the root node 50
separating/eccuts/maxstallrounds maximum number of unsuccessful rounds in the edge-concave aggregation search 5
separating/eccuts/minaggrsize search for edge-concave aggregations of at least this size
Range: [3, 5]
3
separating/eccuts/minviolation minimal violation of an edge-concave cut to be separated
Range: [0, 0.5]
0.3
separating/eccuts/priority priority of separator <eccuts>
Range: [-536870912, 536870911]
-13000

separating/flowcover

Option Description Default
separating/flowcover/delay should separator be delayed, if other separators found cuts? 0
separating/flowcover/dynamiccuts should generated cuts be removed from the LP if they are no longer tight? 1
separating/flowcover/freq frequency for calling separator <flowcover> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
separating/flowcover/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <flowcover> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/flowcover/maxfails maximal number of consecutive fails to generate a cut per separation round (-1: unlimited)
Range: [-1, ∞]
50
separating/flowcover/maxfailsroot maximal number of consecutive fails to generate a cut per separation round in the root (-1: unlimited)
Range: [-1, ∞]
100
separating/flowcover/maxrounds maximal number of separation rounds per node (-1: unlimited)
Range: [-1, ∞]
5
separating/flowcover/maxroundsroot maximal number of separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
15
separating/flowcover/maxrowdensity maximal density of row to separate flow cover cuts for
Range: [0, 1]
1
separating/flowcover/maxsepacuts maximal number of flow cover cuts separated per separation round 100
separating/flowcover/maxsepacutsroot maximal number of flow cover cuts separated per separation round in the root 200
separating/flowcover/maxslack maximal slack of rows to separate flow cover cuts for maxdouble
separating/flowcover/maxslackroot maximal slack of rows to separate flow cover cuts for in the root maxdouble
separating/flowcover/maxtestdelta cut generation heuristic: maximal number of different deltas to try 10
separating/flowcover/maxtries maximal number of rows to separate flow cover cuts for per separation round (-1: unlimited)
Range: [-1, ∞]
100
separating/flowcover/maxtriesroot maximal number of rows to separate flow cover cuts for per separation round in the root (-1: unlimited)
Range: [-1, ∞]
-1
separating/flowcover/multbyminusone should flow cover cuts be separated for 0-1 single node flow set with reversed arcs in addition? 1
separating/flowcover/priority priority of separator <flowcover>
Range: [-536870912, 536870911]
-4000
separating/flowcover/slackscore weight of slack in the scoring of the rows 0.001

separating/gomory

Option Description Default
separating/gomory/away minimal integrality violation of a basis variable in order to try Gomory cut
Range: [0.0001, 0.5]
0.01
separating/gomory/delay should separator be delayed, if other separators found cuts? 0
separating/gomory/delayedcuts should cuts be added to the delayed cut pool? 1
separating/gomory/dynamiccuts should generated cuts be removed from the LP if they are no longer tight? 1
separating/gomory/forcecuts if conversion to integral coefficients failed still consider the cut 1
separating/gomory/freq frequency for calling separator <gomory> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
separating/gomory/makeintegral try to scale cuts to integral coefficients 1
separating/gomory/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <gomory> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/gomory/maxrank maximal rank of a gomory cut that could not be scaled to integral coefficients (-1: unlimited)
Range: [-1, ∞]
3
separating/gomory/maxrankintegral maximal rank of a gomory cut that could be scaled to integral coefficients (-1: unlimited)
Range: [-1, ∞]
-1
separating/gomory/maxrounds maximal number of gomory separation rounds per node (-1: unlimited)
Range: [-1, ∞]
5
separating/gomory/maxroundsroot maximal number of gomory separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
10
separating/gomory/maxsepacuts maximal number of gomory cuts separated per separation round 50
separating/gomory/maxsepacutsroot maximal number of gomory cuts separated per separation round in the root node 200
separating/gomory/maxweightrange maximal valid range max(|weights|)/min(|weights|) of row weights
Range: [1, ∞]
10000
separating/gomory/priority priority of separator <gomory>
Range: [-536870912, 536870911]
-1000
separating/gomory/separaterows separate rows with integral slack 1
separating/gomory/sidetypebasis choose side types of row (lhs/rhs) based on basis information? 0

separating/impliedbounds

Option Description Default
separating/impliedbounds/delay should separator be delayed, if other separators found cuts? 0
separating/impliedbounds/freq frequency for calling separator <impliedbounds> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
separating/impliedbounds/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <impliedbounds> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/impliedbounds/priority priority of separator <impliedbounds>
Range: [-536870912, 536870911]
-50
separating/impliedbounds/usetwosizecliques should violated inequalities for cliques with 2 variables be separated? 1

separating/intobj

Option Description Default
separating/intobj/delay should separator be delayed, if other separators found cuts? 0
separating/intobj/freq frequency for calling separator <intobj> (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
separating/intobj/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <intobj> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/intobj/priority priority of separator <intobj>
Range: [-536870912, 536870911]
-100

separating/mcf

Option Description Default
separating/mcf/checkcutshoreconnectivity should we separate only if the cuts shores are connected? 1
separating/mcf/delay should separator be delayed, if other separators found cuts? 0
separating/mcf/dynamiccuts should generated cuts be removed from the LP if they are no longer tight? 1
separating/mcf/fixintegralrhs should an additional variable be complemented if f0 = 0? 1
separating/mcf/freq frequency for calling separator <mcf> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
separating/mcf/maxarcinconsistencyratio maximum inconsistency ratio of arcs not to be deleted 0.5
separating/mcf/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <mcf> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/mcf/maxinconsistencyratio maximum inconsistency ratio for separation at all 0.02
separating/mcf/maxsepacuts maximal number of mcf cuts separated per separation round
Range: [-1, ∞]
100
separating/mcf/maxsepacutsroot maximal number of mcf cuts separated per separation round in the root node – default separation
Range: [-1, ∞]
200
separating/mcf/maxtestdelta maximal number of different deltas to try (-1: unlimited) – default separation
Range: [-1, ∞]
20
separating/mcf/maxweightrange maximal valid range max(|weights|)/min(|weights|) of row weights
Range: [1, ∞]
1e+06
separating/mcf/modeltype model type of network (0: auto, 1:directed, 2:undirected)
Range: [0, 2]
0
separating/mcf/nclusters number of clusters to generate in the shrunken network – default separation
Range: [2, 32]
5
separating/mcf/priority priority of separator <mcf>
Range: [-536870912, 536870911]
-10000
separating/mcf/separateflowcutset should we separate flowcutset inequalities on the network cuts? 1
separating/mcf/separateknapsack should we separate knapsack cover inequalities on the network cuts? 1
separating/mcf/separatesinglenodecuts should we separate inequalities based on single-node cuts? 1
separating/mcf/trynegscaling should negative values also be tested in scaling? 0

separating/oddcycle

Option Description Default
separating/oddcycle/addselfarcs add links between a variable and its negated 1
separating/oddcycle/allowmultiplecuts even if a variable is already covered by a cut, still allow another cut to cover it too 1
separating/oddcycle/cutthreshold maximal number of other cuts s.t. separation is applied (-1 for direct call)
Range: [-1, ∞]
-1
separating/oddcycle/delay should separator be delayed, if other separators found cuts? 0
separating/oddcycle/freq frequency for calling separator <oddcycle> (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
separating/oddcycle/includetriangles separate triangles found as 3-cycles or repaired larger cycles 1
separating/oddcycle/liftoddcycles should odd cycle cuts be lifted? 0
separating/oddcycle/lpliftcoef choose lifting candidate by coef*lpvalue or only by coef 0
separating/oddcycle/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <oddcycle> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
separating/oddcycle/maxcutslevel maximal number of oddcycle cuts generated in every level of the level graph 50
separating/oddcycle/maxcutsroot maximal number of oddcycle cuts generated per chosen variable as root of the level graph 1
separating/oddcycle/maxnlevels maximal number of levels in level graph 20
separating/oddcycle/maxpernodeslevel percentage of nodes allowed in the same level of the level graph [0-100]
Range: [0, 100]
100
separating/oddcycle/maxreference minimal weight on an edge (in level graph or bipartite graph) 0
separating/oddcycle/maxrounds maximal number of oddcycle separation rounds per node (-1: unlimited)
Range: [-1, ∞]
10
separating/oddcycle/maxroundsroot maximal number of oddcycle separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
10
separating/oddcycle/maxsepacuts maximal number of oddcycle cuts separated per separation round 5000
separating/oddcycle/maxsepacutsroot maximal number of oddcycle cuts separated per separation round in the root node 5000
separating/oddcycle/maxunsucessfull number of unsuccessful calls at current node 3
separating/oddcycle/multiplecuts even if a variable is already covered by a cut, still try it as start node for a cycle search 0
separating/oddcycle/offsetnodeslevel offset of nodes allowed in the same level of the level graph (additional to the percentage of levelnodes) 10
separating/oddcycle/offsettestvars offset of variables to try the chosen method on (additional to the percentage of testvars) 100
separating/oddcycle/percenttestvars percentage of variables to try the chosen method on [0-100]
Range: [0, 100]
0
separating/oddcycle/priority priority of separator <oddcycle>
Range: [-536870912, 536870911]
-15000
separating/oddcycle/recalcliftcoef calculate lifting coefficient of every candidate in every step (or only if its chosen) 1
separating/oddcycle/repaircycles try to repair violated cycles with double appearance of a variable 1
separating/oddcycle/scalingfactor factor for scaling of the arc-weights
Range: [1, ∞]
1000
separating/oddcycle/sortrootneighbors sort level of the root neighbors by fractionality (maxfrac) 1
separating/oddcycle/sortswitch use sorted variable array (unsorted(0),maxlp(1),minlp(2),maxfrac(3),minfrac(4))
Range: [0, 4]
3
separating/oddcycle/usegls should the search method by Groetschel, Lovasz, Schrijver be used? Otherwise use levelgraph method by Hoffman, Padberg. 1

separating/rapidlearning

Option Description Default
separating/rapidlearning/applybdchgs should the found global bound deductions be applied in the original SCIP? 1
separating/rapidlearning/applyconflicts should the found conflicts be applied in the original SCIP? 1
separating/rapidlearning/applyinfervals should the inference values be used as initialization in the original SCIP? 1
separating/rapidlearning/applyprimalsol should the incumbent solution be copied to the original SCIP? 1
separating/rapidlearning/applysolved should a solved status be copied to the original SCIP? 1
separating/rapidlearning/contvars should rapid learning be applied when there are continuous variables? 0
separating/rapidlearning/contvarsquot maximal portion of continuous variables to apply rapid learning
Range: [0, 1]
0.3
separating/rapidlearning/copycuts should all active cuts from cutpool be copied to constraints in subproblem? 1
separating/rapidlearning/delay should separator be delayed, if other separators found cuts? 0
separating/rapidlearning/freq frequency for calling separator <rapidlearning> (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
separating/rapidlearning/lpiterquot maximal fraction of LP iterations compared to node LP iterations 0.2
separating/rapidlearning/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <rapidlearning> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
1
separating/rapidlearning/maxnconss maximum problem size (constraints) for which rapid learning will be called 10000
separating/rapidlearning/maxnodes maximum number of nodes considered in rapid learning run 5000
separating/rapidlearning/maxnvars maximum problem size (variables) for which rapid learning will be called 10000
separating/rapidlearning/minnodes minimum number of nodes considered in rapid learning run 500
separating/rapidlearning/priority priority of separator <rapidlearning>
Range: [-536870912, 536870911]
-1200000
separating/rapidlearning/reducedinfer should the inference values only be used when rapidlearning found other reductions? 0

separating/strongcg

Option Description Default
separating/strongcg/delay should separator be delayed, if other separators found cuts? 0
separating/strongcg/dynamiccuts should generated cuts be removed from the LP if they are no longer tight? 1
separating/strongcg/freq frequency for calling separator <strongcg> (-1: never, 0: only in root node)
Range: [-1, ∞]
0
separating/strongcg/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <strongcg> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/strongcg/maxrounds maximal number of strong CG separation rounds per node (-1: unlimited)
Range: [-1, ∞]
5
separating/strongcg/maxroundsroot maximal number of strong CG separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
20
separating/strongcg/maxsepacuts maximal number of strong CG cuts separated per separation round 50
separating/strongcg/maxsepacutsroot maximal number of strong CG cuts separated per separation round in the root node 500
separating/strongcg/maxweightrange maximal valid range max(|weights|)/min(|weights|) of row weights
Range: [1, ∞]
10000
separating/strongcg/priority priority of separator <strongcg>
Range: [-536870912, 536870911]
-2000

separating/zerohalf

Option Description Default
separating/zerohalf/delay should separator be delayed, if other separators found cuts? 0
separating/zerohalf/delayedcuts should cuts be added to the delayed cut pool? 1
separating/zerohalf/dynamiccuts should generated cuts be removed from the LP if they are no longer tight? 1
separating/zerohalf/freq frequency for calling separator <zerohalf> (-1: never, 0: only in root node)
Range: [-1, ∞]
-1
separating/zerohalf/ignoreprevzhcuts should zerohalf cuts found in previous callbacks ignored? 0
separating/zerohalf/maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <zerohalf> (0.0: only on current best node, 1.0: on all nodes)
Range: [0, 1]
0
separating/zerohalf/maxcutsfound maximal number of {0,1/2}-cuts determined per separation round
# (this includes separated but inefficacious cuts)
Range: [0, 1000000]
100
separating/zerohalf/maxcutsfoundroot maximal number of {0,1/2}-cuts determined per separation round in the root node
# (this includes separated but inefficacious cuts)
Range: [0, 1000000]
1000
separating/zerohalf/maxdepth separating cuts only if depth ≤ maxdepth (-1: unlimited)
Range: [-1, ∞]
-1
separating/zerohalf/maxncalls maximal number of calls (-1: unlimited)
Range: [-1, ∞]
-1
separating/zerohalf/maxrounds maximal number of zerohalf separation rounds per node (-1: unlimited)
Range: [-1, ∞]
5
separating/zerohalf/maxroundsroot maximal number of zerohalf separation rounds in the root node (-1: unlimited)
Range: [-1, ∞]
10
separating/zerohalf/maxsepacuts maximal number of {0,1/2}-cuts separated per separation round 50
separating/zerohalf/maxsepacutsroot maximal number of {0,1/2}-cuts separated per separation round in the root node 500
separating/zerohalf/maxtestdelta maximal number of different deltas to try for cmir (-1: unlimited, 0: delta=1)
Range: [-1, ∞]
10
separating/zerohalf/onlyorigrows should only original LP rows be considered (i.e. ignore previously added LP rows)? 0
separating/zerohalf/priority priority of separator <zerohalf>
Range: [-536870912, 536870911]
-6000
separating/zerohalf/relaxcontvars should continuous variables be relaxed by adding variable bounds? 0
separating/zerohalf/scalefraccoeffs should rows be scaled to make fractional coefficients integer? 1
separating/zerohalf/trynegscaling should negative values also be tested in scaling for cmir? 1
separating/zerohalf/usezhcutpool should zerohalf cuts be filtered using a cutpool? 1

separating/zerohalf/preprocessing

Option Description Default
separating/zerohalf/preprocessing/decomposeproblem should problem be decomposed into subproblems (if possible) before applying preprocessing? 0
separating/zerohalf/preprocessing/delta value of delta parameter used in preprocessing method 'd'
Range: [0, 1]
0.5
separating/zerohalf/preprocessing/ppmethods preprocessing methods and ordering:
# 'd' columns with small LP solution, # 'G' modified Gaussian elimination, # 'i' identical columns, # 'I' identical rows, # 'L' large slack rows, # 'M' large slack rows (minslack), # 's' column singletons, # 'X' add trivial zerohalf cuts, # 'z' zero columns, # 'Z' zero rows, # 'C' fast {'z','s'}, # 'R' fast {'Z','L','I'} # # '-' no preprocessing #
CXGXIM

separating/zerohalf/separating

Option Description Default
separating/zerohalf/separating/forcecutstolp should the cuts be forced to enter the LP? 0
separating/zerohalf/separating/forcecutstosepastore should the cuts be forced to enter SCIP's sepastore? 0
separating/zerohalf/separating/minviolation minimal violation of a {0,1/2}-cut to be separated
Range: [0.001, 0.5]
0.3
separating/zerohalf/separating/sepamethods separating methods and ordering:
# '!' stop further processing if a cut was found, # '2' exact polynomial time algorithm (only if matrix has max 2 odd entries per row), # 'e' enumeration heuristics (k=1: try all preprocessed rows), # 'E' enumeration heuristics (k=2: try all combinations of up to two preprocessed rows), # 'g' Extended Gaussian elimination heuristics, # 's' auxiliary IP heuristics (i.e. number of solved nodes is limited) # 'S' auxiliary IP exact (i.e. unlimited number of nodes) # # '-' no processing #
2g

separating/zerohalf/separating/auxip

Option Description Default
separating/zerohalf/separating/auxip/objective auxiliary IP objective:
# 'v' maximize cut violation, # 'u' minimize number of aggregated rows in cut, # 'w' minimize number of aggregated rows in cut # weighted by the number of rows in the aggregation, # 'p' maximize cut violation and penalize a high number # of aggregated rows in the cut weighted by the number # of rows in the aggregation and the penalty factor p #
v
separating/zerohalf/separating/auxip/penaltyfactor penalty factor used with objective function 'p' of auxiliary IP
Range: [0, 1]
0.001
separating/zerohalf/separating/auxip/settingsfile optional settings file of the auxiliary IP (-: none) -
separating/zerohalf/separating/auxip/sollimit limits/solutions setting of the auxiliary IP
Range: [-1, ∞]
-1
separating/zerohalf/separating/auxip/useallsols should all (proper) solutions of the auxiliary IP be used to generate cuts instead of using only the best? 1

timing

Option Description Default
timing/clocktype default clock type (1: CPU user seconds, 2: wall clock time)
Range: [1, 2]
1
timing/enabled is timing enabled? 1
timing/rareclockcheck should clock checks of solving time be performed less frequently (note: time limit could be exceeded slightly) 0
timing/reading belongs reading time to solving time? 0
timing/statistictiming should timing for statistic output be performed? 1