AMPL-Gurobi Parameter Reference

aggfill amount of fill allowed during aggregation during Gurobi's presolve (default 10)
aggregate whether to use aggregation during Gurobi presolve:
0 = no (sometimes reduces numerical errors)
1 = yes (default)
ams_eps relative tolerance for reporting alternate MIP solutions (default = no limit)
ams_epsabs absolute tolerance for reporting alternate MIP solutions (default = no limit)
ams_limit limit on number of alternate MIP solutions written (default = number of available alternate solutions)
ams_stub stub for alternate MIP solutions. The number of alternative MIP solution files written is determined by three keywords:
ams_limit gives the maximum number of files written;
ams_eps gives a relative tolerance on the objective values of alternative solutions;
ams_epsabs gives an absolute tolerance on how much worse the objectives can be.
barconvtol tolerance on the relative difference between the primal and dual objectives for stopping the barrier algorithm (default 1e-8)
barcorrectors Limit on the number of central corrections done in each barrier iteration (default -1 = automatic choice)
bariterlim Limit on the number of barrier iterations (default none)
barorder Ordering used to reduce fill in sparse-matrix factorizations during the barrier algorithm:
-1 = automatic choice
0 = approximate minimum degree
1 = nested dissection
basis whether to use or return a basis:
0 = no
1 = use incoming basis (if provided)
2 = return final basis
3 = both (1 + 2 = default)
bestbound whether to return suffix .bestbound for the best known bound on the objective value:
0 = no (default)
1 = yes
branchdir which child node to explore first when branching:
-1 = explore "down" branch first
0 = explore "most promising" branch first (default)
1 = explore "up" branch first
cliquecuts clique cuts: overrides "cuts"; choices as for "cuts"
covercuts cover cuts: overrides "cuts"; choices as for "cuts"
crossover how to transform a barrier solution to a basic one:
-1 = automatic choice (default)
0 = none: return an interior solution
1 = push dual vars first, finish with primal simplex
2 = push dual vars first, finish with dual simplex
3 = push primal vars first, finish with primal simplex
4 = push primal vars first, finish with dual simplex
crossoverbasis strategy for initial basis construction during crossover:
0 = favor speed (default)
1 = favor numerical stability
cutagg maximum number of constraint aggregation passes during cut generation (-1 = default = no limit); overrides "cuts"
cutoff sets a target objective value; optimization will terminate if the optimal objective value for the model is worse than the specified cutoff; default: -∞ for minimizing, +∞ for maximizing
cutpasses maximum number of cutting-plane passes to do during root-cut generation (default: -1 = automatic choice)
cuts global cut generation control, valid unless overridden by individual cut-type controls:
-1 = automatic choice (default)
0 = no cuts
1 = conservative cut generation
2 = aggressive cut generation
3 = very aggressive cut generation
feastol primal feasibility tolerance (default: 1e-6)
flowcover flowcover cuts: overrides "cuts"; choices as for "cuts"
flowpath flowpath cuts: overrides "cuts"; choices as for "cuts"
gomory maximum number of Gomory cut passes during cut generation
(-1 = default = no limit); overrides "cuts"
gubcover GUB cover cuts: overrides "cuts"; choices as for "cuts"
heurfrac fraction of time to spend in MIP heuristics (default: 0.05)
iisfind whether to return an IIS (via suffix .iis) when the problem is infeasible:
0 = no (default)
1 = yes
iismethod which method to use when finding an IIS (irreducible infeasible set of constraints, including variable bounds):
-1 = automatic choice (default)
0 = often faster than method 1
1 = can find a smaller IIS than method 0
implied implied cuts: overrides "cuts"; choices as for "cuts"
improvegap optimality gap below which the MIP solver switches from trying to improve the best bound to trying to find better feasible solutions (default 0)
improvetime execution seconds after which the MIP solver switches from trying to improve the best bound to trying to find better feasible solutions (default Infinity)
intfeastol feasibility tolerance for integer variables (default: 1e-05)
intstart when there are integer variables, whether to use an initial guess (if available):
0 = no
1 = yes (default)
iterlim iteration limit (default: no limit)
logfile name of file to receive log lines (default: none)
logfreq number of seconds between log lines (default: 5)
lpmethod which algorithm to use for continuous models (LP, QP) and for the root node of integer models (MIP, MIQP):
0 = primal simplex
1 = dual simplex (default)
2 = barrier
3 = concurrent
4 = deterministic concurrent
maxmipsub maximum number of nodes for RINS heuristic to explore on MIP problems (default: 500)
minrelnodes number of nodes for the Minimum Relaxation heuristic to explore at the MIP root node when a feasible solution has not been found by any other heuristic (default 0)
mipfocus MIP solution strategy:
0 = balance finding good feasible solutions and proving optimality (default)
1 = favor finding feasible solutions
2 = favor proving optimality
3 = focus on improving the best objective bound
mipgap maximum relative MIP optimality gap (default: 1e-4)
mipgapabs absolute MIP optimality gap (default 1e-10)
mipsep MIPsep cuts: overrides "cuts"; choices as for "cuts"
mipstart whether to use initial guesses in problems with integer variables:
0 = no
1 = yes (default)
mircuts MIR cuts: overrides "cuts"; choices as for "cuts"
modkcuts mod-k cuts: overrides "cuts"; choices as for "cuts"
multprice_norm choice of norm used in multiple pricing:
-1 = automatic choice (default)
0,1,2,3 = alternate norm pricing
networkcuts Network cuts: overrides "cuts"; choices as for "cuts"
nodefiledir directory where MIP tree nodes are written after memory for them exceeds nodefilestart (default: .)
nodefilestart gigabytes of memory to use for MIP tree nodes
(default = Infinity - no limit, i.e., no node files written)
nodelim maximum MIP nodes to explore (default: no limit)
nodemethod algorithm used to solve relaxed MIP node problems:
0 = primal simplex
1 = dual simplex (default)
2 = barrier
normadjust synonym for multprice_norm
objno objective to optimize:
0 = none
1 = first (default, if available),
2 = second (if available), etc.
objscale how to scale the objective:
objscale=0: automatic choice (default)
-1 ≤ objscale < 0: divide by max abs. coefficient raised to this power
objscale > 0: divide by this value
opttol optimality tolerance on reduced costs (default: 1e-6)
outlev whether to write Gurobi log lines (chatter) to stdout:
0 = no (default)
1 = yes (see logfreq)
param general way to specify values of both documented and undocumented Gurobi parameters; value should be a quoted string (delimited by ' or ") containing a parameter name, a space, and the value to be assigned to the parameter. Can appear more than once. Cannot be used to query current parameter values.
paramfile name of file (surrounded by 'single' or "double" quotes if the name contains blanks) of parameter names and values for them. Lines that start with # are ignored. Otherwise, each nonempty line should contain a name and a value, separated by a space.
perturb magnitude of simplex perturbation (when needed; default 2e-4)
pivtol Markowitz pivot tolerance (default: 7.8125e-3)
predeprow whether Gurobi's presolve should remove linearly dependent constraint-matrix rows:
-1 = only for continuous models
0 = never
1 = for all models
predual whether gurobi's presolve should form the dual of a continuous model:
-1 = automatic choice (default)
0 = no
1 = yes
2 = form both primal and dual and use two threads to choose heuristically between them
premiqpmethod how Gurobi's presolve should treat MIQP problems:
-1 = automatic choice (default)
0 = leave the problem as an MIQP
1 = try to transform an MIQP to an MILP
prepasses limit on the number of Gurobi presolve passes:
-1 = automatic choice (default)
n ≥ 0: at most n passes
presolve whether to use Gurobi's presolve:
-1 = automatic choice (default)
0 = no
1 = conservative presolve
2 = aggressive presolve
presparsify whether Gurobi's presolve should use its sparsify reduction, which sometimes results in significant problem-size reductions:
0 = no (default)
1 = yes
pricing pricing strategy:
-1 = automatic choice (default)
0 = partial pricing
1 = steepest edge
2 = Devex
3 = quick-start steepest edge
priorities whether to use the variable.priority suffix with MIP problems. When several branching candidates are available, a variable with the highest .priority is chosen for the next branch. Priorities are nonnegative integers, with a default priority of 0:
0 = ignore .priority; assume priority 0 for all vars
1 = use .priority if present (default)
psdtol maximum diagonal perturbation to correct indefiniteness in quadratic objectives (default 1e-6)
pumppasses number of feasibility-pump passes to do after the MIP root when no other root heuristoc found a feasible solution (default 0)
quad whether simplex should use quad-precision:
-1 = automatic choice (default)
0 = no
1 = yes
rays Whether to return suffix .unbdd when the objective is unbounded or suffix .dunbdd when the constraints are infeasible:
0 = neither
1 = just .unbdd
2 = just .dunbdd
3 = both (default)
relax whether to enforce integrality:
0 = yes (default)
1 = no: treat integer and binary variables as continuous
resultfile name of a file of extra information written after completion of optimization. The name's suffix determines what is written:
.sol - solution vector
.bas - simplex basis
.mst - integer variable solution vector
rins how often to apply the RINS heuristic for MIP problems:
-1 = automatic choice (default)
0 = never
n > 0: every n-th node
scale whether to scale the problem:
0 = no
1 = yes (default)
sifting whether to use sifting within the dual simplex algorithm, which can be useful when there are many more variables than constraints:
-1 = automatic choice (default)
0 = no
1 = yes, moderate sifting
2 = yes, aggressive sifting
siftmethod algorithm to use for sifting with the dual simplex method:
-1 = automatic choice (default)
0 = primal simplex
1 = dual simplex
2 = barrier
simplex synonym for lpmethod
solnlimit maximum MIP solutions to find (default: 2e9)
solnsens whether to return suffixes for solution sensitivities, i.e., ranges of values for which the optimal basis remains optimal:
0 = no (default)
1 = yes: suffixes return on variables are
.sensobjlo = smallest objective coefficient
.sensobjhi = greatest objective coefficient
.senslblo = smallest variable lower bound
.senslbhi = greatest variable lower bound
.sensublo = smallest variable upper bound
.sensubhi = greatest variable upper bound
suffixes for constraints are
.sensrhslo = smallest right-hand side value
.sensrhshi = greatest right-hand side value
sos whether to honor declared suffixes .sosno and .ref describing SOS sets:
0 = no
1 = yes (default): each distinct nonzero .sosno value designates an SOS set, of type 1 for positive .sosno values and of type 2 for negative values. The .ref suffix contains corresponding reference values
sos2 whether to tell GUROBI about SOS2 constraints for nonconvex piecewise-linear terms
1 = no
2 = yes (default), using suffixes .sos and .sosref provided by AMPL
submipcuts sub-MIP cuts: overrides "cuts"; choices as for "cuts"
symmetry MIP symmetry detection:
-1 = automatic choice (default)
0 = none
1 = conservative
2 = agressive
threads maximum threads to use on MIP problems (default: 0 - maximum possible)
timelim limit on solve time (in seconds; default: no limit)
timing whether to report timing:
0 (default) = no
1 = report times on stdout
2 = report times on stderr
varbranch MIP branch variable selection strategy:
-1 = automatic choice (default)
0 = pseudo reduced-cost branching
1 = pseudo shadow-price branching
2 = maximum infeasibility branching
3 = strong branching
wantsol solution report without -AMPL: sum of
1 => write .sol file
2 => print primal variable values
4 => print dual variable values
8 => do not print solution message
writeprob name of problem file to be written (for debugging); must end in one of ".bas", ".lp", ".mps", ".prm", or ".sol"; can appear more than once (with different filenames).
zerohalfcuts zero-half cuts: overrides "cuts"; choices as for "cuts"
zeroobjnodes number of nodes for the zero objective heuristic to explore at the MIP root node when a feasible solution has not been found by any other heuristic (default 0)