GUROBIASL Options#
ampl: option solver gurobiasl; # change the solver
ampl: option gurobiasl_options 'option1=value1 option2=value2'; # specify options
ampl: solve; # solve the problem
Solver options obtained with $ gurobiasl -=
.
aggfill Amount of fill allowed during aggregation during
gurobi's presolve (default -1).
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 0 = no limit).
ams_epsabs Absolute tolerance for reporting alternate MIP solutions
(default 0 = no limit).
ams_limit Limit on number of alternate MIP solutions written,
with no limit when ams_limit = 0 (default).
ams_mode Search mode for MIP solutions when ams_stub is specified
to request finding several alternative solutions:
0 = ignore ams_stub; seek just one optimal solution
1 = make some effort at finding additional solutions
2 = seek "ams_limit" best solutions (default).
ams_stub Stub for alternative MIP solutions, written to files with
names obtained by appending "1.sol", "2.sol", etc., to
ams_stub. The number of such files written is affected
by four keywords:
ams_mode specifies how much effort to expend;
ams_limit gives the maximum number of files written,
with no limit when ams_limit = 0 (default);
ams_eps gives a relative tolerance on the objective
values of alternative solutions; and
ams_epsabs gives an absolute tolerance on how much
worse the objectives can be.
The number of alternative MIP solution files written is
returned in suffix npool on the objective and problem.
Suffix poolignore can be used to keep only one solution
with the best objective value among solutions that
differ only in variables where the suffix is 1.
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)
barhomogeneous Whether to use the homogeneous barrier algorithm
(e.g., when method=2 is specified):
-1 = only when solving a MIP node relaxation (default)
0 = never
1 = always.
The homogeneous barrier algorithm can detect infeasibility or
unboundedness directly, without crossover, but is a bit slower
than the nonhomogeneous barrier algorithm.
bariterlim Limit on the number of barrier iterations (default 1000).
barorder Ordering used to reduce fill in sparse-matrix factorizations
during the barrier algorithm:
-1 = automatic choice (default)
0 = approximate minimum degree
1 = nested dissection.
barqcptol Convergence tolerance on the relative difference between
primal and dual objective values for barrier algorithms when
solving problems with quadratic constraints (default 1e-6).
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).
For problems with integer variables and quadratic constraints,
basis = 0 is assumed quietly unless qcpdual=1 is specified.
basisdebug Whether to honor basis and solnsens when an optimal solution
was not found:
0 = only if a feasible solution was found (default)
1 = yes
2 = no.
bestbndstop Stop once the best bound on the objective value
is at least as good as this value.
bestbound Whether to return suffix .bestbound for the best known bound
on the objective value:
0 = no (default)
1 = yes
The suffix is on the objective and problem and is +Infinity
for minimization problems and -Infinity for maximization
problems if there are no integer variables or if an integer
feasible solution has not yet been found.
bestobjstop Stop after a feasible solution with objective value
at least as good as this value has been found.
bqpcuts Whether to enable Boolean Quadric Polytope cut generation:
-1 = automatic choice (default)
0 = disallow BQP cuts
1 = enable moderate BQP cut generation
2 = enable aggressive BQP cut generation.
Values 1 and 2 override the "cuts" keyword.
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 Overrides "cuts"; choices as for "cuts".
cloudhost Host for Gurobi Instant Cloud.
cloudid Use Gurobi Instant Cloud with this "accessID".
cloudkey Use Gurobi Instant Cloud with this "secretKey".
Both cloudid and cloudkey are required.
cloudpool Optional "machine pool" to use with Gurobi Instant Cloud.
cloudpriority Priority of Cloud job, an integer >= -100 and <= 100.
Default 0. Jobs with priority 100 run immediately -- use
caution when specifying this value.
concurrentmip How many independent MIP solves to allow at once when multiple
threads are available. The available threads are divided as
evenly as possible among the concurrent solves. Default = 1.
concurrentwin Whether to return the winning method after a continuous
problem has been solved with concurrent optimization:
0 = do not return (default)
1 = return as problem suffix "concurrentwinmethod".
See option "method" for a description of the returned values.
covercuts 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 If the optimal objective value is worse than cutoff,
report "objective cutoff" and do not return a solution.
Default: +Infinity for minimizing, -Infinity 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.
degenmoves Limit on the number of degenerate simplex moves -- for use
when too much time is taken after solving the initial root
relaxation of a MIP problem and before cut generation or root
heuristics have started. Default -1 ==> automatic choice.
disconnected Whether to exploit independent MIP sub-models:
-1 = automatic choice (default)
0 = no
1 = use moderate effort
2 = use aggressive effort.
dualreductions Whether Gurobi's presolve should use dual reductions, which
may be useful on a well-posed problem but can prevent
distinguishing whether a problem is infeasible or unbounded:
0 = no
1 = yes (default).
feasrelax Whether to modify the problem into a feasibility
relaxation problem:
0 = no (default)
1 = yes, minimizing the weighted sum of violations
2 = yes, minimizing the weighted count of violations
3 = yes, minimizing the sum of squared violations
4-6 = same objective as 1-3, but also optimize the
original objective, subject to the violation
objective being minimized
Weights are given by suffixes .lbpen and .ubpen on variables
and .rhspen on constraints (when positive), else by keywords
lbpen, ubpen, and rhspen, respectively (default values = 1).
Weights <= 0 are treated as Infinity, allowing no violation.
feasrelaxbigm Value of "big-M" sometimes used with constraints when doing
a feasibility relaxation. Default = 1e6.
feastol Primal feasibility tolerance (default 1e-6).
fixedmethod Value of "method" to use when seeking a basis for MIP problems
when "basis=2" or (the default) "basis=3" has been specified.
Default: if "method" is 0 or 1 then "method" else 1.
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 gubcover 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 (irreducible infeasible set of
constraints and variable bounds, via suffix .iis on
constraints and variables) when the problem is infeasible:
0 = no (default)
1 ==> yes.
When iisfind=1 and the problem is infeasible, suffixes
iisforce, iisforcelb, and iisforceub can be used to influence
the IIS found, either forcing an entity to be in or not in the
IIS or letting the algorithm decide:
0 = algorithm decides (default)
1 = force to be excluded from the IIS
2 = force to be included in the IIS.
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).
impstartnodes Number of MIP nodes after which the solution strategy
will change from improving the best bound to finding better
feasible solutions (default Infinity).
infproofcuts Whether to generate infeasibility proof cuts:
-1 = automatic choice (default)
0 = no
1 = moderate cut generation
2 = aggressive cut generation.
integrality Setting this parameter to 1 requests the solver to work
harder at finding solutions that are still (nearly) feasible
when all integer variables are rounded to exact integral
values:
0 = no (default)
1 = yes.
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)
kappa Whether to return the estimated condition number (kappa) of
the optimal basis (default 0): sum of
1 = report kappa in Gurobi's result message;
2 = return kappa in the solver-defined suffix kappa on
the objective and problem.
The request is ignored when there is no optimal basis.
lazy Whether to honor suffix .lazy on linear constraints in
problems with binary or integer variables:
0 = no (ignore .lazy)
1 = yes (default).
Lazy constraints are indicated with .lazy values of -1, 1, 2,
or 3 and are ignored until a solution feasible to the
remaining constraints is found. What happens next depends
on the value of .lazy:
-1 ==> treat the constraint as a user cut; the
constraint must be redundant with respect to the
rest of the model, although it can cut off LP
solutions;
1 ==> the constraint may still be ignored if another
lazy constraint cuts off the current solution;
2 ==> the constraint will henceforth be enforced if it
is violated by the current solution;
3 ==> the constraint will henceforth be enforced.
lbpen See feasrelax.
liftprojectcuts Whether to generate lift-and-project cuts:
-1 = automatic choice (default)
0 = no
1 = moderate cut generation
2 = aggressive cut generation.
logfile Name of file to receive log lines (default: none);
implies outlev = 1.
logfreq Interval in seconds between log lines (default 5).
lpmethod Synonym for method.
lpwarmstart Controls how gurobi uses warm-start in LP optimization:
0 = ignore information
1 = use information to solve the original problem
2 = use the (crushed) information to solve the
presolved problem.
Note that if presolve is disabled, 1 prioritizes basis
statuses, 2 prioritizes start vectors. Default = 1.
maxmipsub Maximum number of nodes for RIMS heuristic to explore
on MIP problems (default 500).
maxvio Whether to return the maximum of all (unscaled) violations to
the current problem:
0 = do not return (default)
1 = return in the problem suffix "maxvio".
memlimit Maximum amount of memory available to Gurobi (in GB, default
no limit). The solution will fail if more memory is needed.
method Which algorithm to use for non-MIP problems or for the root
node of MIP problems:
-1 automatic (default): 3 for LP, 2 for QP, 1 for MIP
root node
0 = primal simplex
1 = dual simplex
2 = barrier
3 = nondeterministic concurrent (several solves in
parallel)
4 = deterministic concurrent
5 = deterministic concurrent simplex.
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 -1 ==> automatic
choice.
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 max. 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).
miqcpmethod Method for solving mixed-integer quadratically constrained
(MIQCP) problems:
-1 = automatic choice (default)
0 = solve continuous QCP relaxations at each node
1 = use linearized outer approximations.
mircuts MIR cuts: Overrides "cuts"; choices as for "cuts".
modkcuts mod-k cuts: Overrides "cuts"; choices as for "cuts".
multiobj Whether to do multi-objective optimization:
0 = no (default)
1 = yes
When multiobj = 1 and several objectives are present, suffixes
.objpriority, .objweight, .objreltol, and .objabstol on the
objectives are relevant. Objectives with greater .objpriority
values (integer values) have higher priority. Objectives with
the same .objpriority are weighted by .objweight. Objectives
with positive .objabstol or .objreltol are allowed to be
degraded by lower priority objectives by amounts not exceeding
the .objabstol (absolute) and .objreltol (relative) limits.
The objective must all be linear. Objective-specific
convergence tolerances and method values may be assigned via
keywords of the form obj_n_name, such as obj_1_method for the
first objective.
multiobjmethod Choice of optimization algorithm for lower-priority
objectives:
-1 = automatic choice (default)
0 = primal simplex
1 = dual simplex
2 = ignore warm-start information; use the algorithm
specified by the method keyword.
The method keyword determines the algorithm to use for the
highest priority objective.
multiobjpre How to apply Gurobi's presolve when doing
multi-objective optimization:
-1 = automatic choice (default)
0 = do not use Gurobi's presolve
1 = conservative presolve
2 = aggressive presolve, which may degrade lower-
priority objectives.
multprice_norm Choice of norm used in multiple pricing:
-1 = automatic choice (default)
0, 1, 2, 3 = specific choices: hard to describe,
but sometimes a specific choice will perform
much better than the automatic choice.
networkalg Controls whether to use network simplex, if an LP is a
network problem:
-1 = automatic choice (default)
0 = do not use network simplex
1 = use network sinmplex.
networkcuts Network cuts: Overrides "cuts"; choices as for "cuts".
nlpheur Controls the NLP heuristic, affecting non-convex quadratic
problems:
0 = Do not apply heuristic
1 = Apply heuristic (default).
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:
-1 = automatic choice (default)
0 = primal simplex
1 = dual simplex (default)
2 = barrier.
nonconvex How to handle non-convex quadratic objectives and constraints:
-1 = default choice (currently the same as 1)
0 = complain about nonquadratic terms
1 = complain if Gurobi's presolve cannot discard or
eliminate nonquadratic terms
2 = translate quadratic forms to bilinear form and use
spatial branching.
norelheurtime Limits the amount of time spent in the NoRel heuristic;
see the description of norelheurwork for details. This
parameter will introduce non determinism; use norelheurwork
for deterministic results. Default 0.
norelheurwork Limits the amount of work spent in the NoRel heuristic.
This heuristics searches for high-quality feasible solutions
before solving the root relaxation. The work metrix is hard
to define precisely, as it depends on the machine. Default 0.
normadjust Synonym for multprice_norm.
numericfocus How much to try detecting and managing numerical issues:
0 = automatic choice (default)
1-3 = increasing focus on more stable computations.
obbt Controls aggressiveness of Optimality-Based Bound Tightening:
-1 = automatic choice (default)
0 = do not use OBBT
1 = low aggressiveness
2 = moderate aggressiveness
3 = high aggressiveness.
objno Objective to optimize:
0 = none
1 = first (default, if available),
2 = second (if available), etc.
objrep Whether to replace
minimize obj: v;
with
minimize obj: f(x)
when variable v appears linearly in exactly one constraint
of the form
s.t. c: v >= f(x);
or
s.t. c: v == f(x);
Possible objrep values:
0 = no
1 = yes for v >= f(x)
2 = yes for v == f(x) (default)
3 = yes in both cases
For maximization problems, ">= f(x)" is changed to "<= f(x)"
in the description above.
objscale How to scale the objective:
0 ==> automatic choice (default)
negative >= -1 ==> divide by max abs. coefficient
raised to this power
positive ==> 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.
partitionplace Whether and how to use the .partition suffix on variables
in the partition heuristic for MIP problems: sum of
1 ==> when the branch-and-cut search ends
2 ==> at nodes in the branch-and-cut search
4 ==> after the root-cut loop
8 ==> at the start of the root-cut loop
16 ==> before solving the root relaxation.
Default = 15. Values of .parition determine how variables
participate in the partition heuristic. Variables with
.partition = -1 are always held fixed;
.partition = 0 can vary in all sub-MIP models;
.partition > 0 can vary only in in that sub-MIP model.
The partition heuristic is only run when partition_place is
between 1 and 31 and some variables have suitable .partition
suffix values.
perturb Magnitude of simplex perturbation (when needed; default 2e-4).
pivtol Markowitz pivot tolerance (default 7.8125e-3)
poolgap Synonym for ams_eps.
poolgapabs Synonym for ams_epsabs.
poolsearchmode Synonym for ams_mode.
poolsolutions Synonym for ams_limit.
poolstub Synonym for ams_stub.
predeprow Whether Gurobi's presolve should remove linearly
dependent constraint-matrix rows:
-1 = only for continuous models (default)
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.
premiqcpform For mixed-integer quadratically constrained (MIQCP) problems,
how Gurobi should transform quadratic constraints:
-1 = automatic choice (default)
0 = retain MIQCP form
1 = transform to second-order cone contraints
2 = transform to rotated cone constraints
Choices 0 and 1 work with general quadratic constraints.
Choices 1 and 2 only work with constraints of suitable forms.
prepases deprecated synonym for "prepasses"
prepasses Limit on the number of Gurobi presolve passes:
-1 = automatic choice (automatic)
n >= 0: at most n passes.
preqlinearize How Gurobi's presolve should treat quadratic problems:
-1 = automatic choice (default)
0 = do not modify the quadratic part(s)
1 or 2 = try to linearize quadratic parts:
1 = focus on a strong LP relaxation
2 = focus on a compact relaxation.
presolve Whether to use Gurobi's presolve:
-1 = automatic choice (default)
0 = no
1 = conservative presolve
2 = aggressive presolve.
presos1bigm Big-M for converting SOS1 constraints to binary form:
-1 = automatic choice (default)
0 = no conversion
Large values (e.g., 1e8) may cause numeric trouble.
presos2bigm Big-M for converting SOS2 constraints to binary form:
-1 = automatic choice
0 = no conversion (default)
Large values (e.g., 1e8) may cause numeric trouble.
presos1enc Encoding used for SOS1 reformulation:
-1 = automatic choice (default)
0 = multiple choice model, produces an LP relaxation
that is easy to solve
1 = incremental model, reduces the amount of branching
2 = formulation whose LP relaxation is easier to solve
3 = formulation with better branching behavior,
requires sum of the variables == 1.
Options 0 and 1 produce reformulations that are linear in
size; options 2 and 3 use reformulation logarithmic in size.
Option 2 and 3 apply only when all the variables are >=0.
presos2enc Encoding used for SOS2 reformulation, see presos1enc.
presparsify Whether Gurobi's presolve should use its "sparsify reduction",
which sometimes gives significant problem-size reductions:
-1 = automatic choice
0 = no
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 (default 0).
Possible values for "priorities":
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 -1 = automatic choice.
qcpdual Whether to compute dual variables when the problem
has quadratic constraints (which can be expensive):
0 = no (default)
1 = yes.
quad Whether simplex should use quad-precision:
-1 = automatic choice (default)
0 = no
1 = yes.
rays Whether to return suffix .unbdd if the objective is unbounded
or suffix .dunbdd if the constraints are infeasible:
0 = neither
1 = just .unbdd
2 = just .dunbdd
3 = both (default).
relax Whether to relax integrality:
0 = no (default)
1 = yes: treat integer and binary variables
as continuous.
relaxliftcuts Whether to enable relax-and-lift cut generation:
-1 = automatic choice (default)
0 = disallow relax-and-lift cuts
1 = enable moderate relax-and-lift cut generation
2 = enable aggressive relax-and-lift cut generation.
Values 1 and 2 override the "cuts" keyword.
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.
return_mipgap Whether to return mipgap suffixes or include mipgap values
(|objectve - best_bound|) in the solve_message: sum of
1 = return relmipgap suffix (relative to |obj|);
2 = return absmipgap suffix (absolute mipgap);
4 = suppress mipgap values in solve_message.
Default = 0. The suffixes are on the objective and problem.
Returned suffix values are +Infinity if no integer-feasible
solution has been found, in which case no mipgap values are
reported in the solve_message.
rhspen See feasrelax.
rins How often to apply the RINS heuristic for MIP problems:
-1 = automatic choice (default)
0 = never
n > 0: every n-th node.
rltcuts Whether to enable generation of cuts by the Relaxation
Linearization Technique (RLT):
-1 = automatic choice (default)
0 = disallow RLT cuts
1 = enable moderate RLT cut generation
2 = enable aggressive RLT cut generation.
Values 1 and 2 override the "cuts" keyword.
round Whether to round integer variables to integral values before
returning the solution, and whether to report that GUROBI
returned noninteger values for integer values: sum of
1 ==> round nonintegral integer variables
2 ==> modify solve_result
4 ==> modify solve_message
Default = 7. Modifications that were or would be made are
reported in solve_result and solve_message only if the maximum
deviation from integrality exceeded round_reptol.
round_reptol Tolerance for reporting rounding of integer variables to
integer values; see "round". Default = 1e-9.
scale Whether to scale the problem:
-1 = automatic choice (default)
0 = no
1 = yes
2 = yes, more aggressively
3 = yes, even more aggressively.
seed Random number seed (default 0), affecting perturbations that
may influence the solution path.
server Comma-separated list of Gurobi compute servers, specified
either by name or by IP address. Default: run Gurobi locally
(i.e., do not use a remote Gurobi server).
server_insecure Whether to use "insecure mode" with the Gurobi Compute
Server. Should be left at default value (0) unless an
administrator specifies another value.
server_password Password (if needed) for specified Guruobi compute server(s).
server_priority Priority for Gurobi compute server(s). Default = 0.
Highest priority = 100.
server_timeout Report job as rejected by Gurobi compute server if the
job is not started within server_timeout seconds.
Default = -1 (no limit).
serverlic Name of file containing "server = ..." and possibly
values for server_password, server_port, and server_timeout.
Synonyms for server: computeserver, servers.
Synonym for server_password: password.
servers Synonym for server.
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 method.
softmemlimit Maximum amount of memory available to Gurobi (in GB; default
= no limit). The solution is returned even if more memory
could be used.
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.
For range constraints Lconst <= expr <= Uconst or equivalently
Uconst >= expr >= Lconst (where both Lconst and Uconst are
constants and expr is an expression involving variables,
.sensrhslo and .sensrhshi apply to Lconst and
.sensrhslo2 = smallest Uconst
.sensrhslo2 = greatest Uconst.
Note that AMPL converts constraints with a single relational
operator into the form expr relop Const. If you write
Const relop expr, AMPL converts it to -(expr) relop -(Const).
You need to take this into account when examining the
.sensrhslo and .sensrhshi values.
For problems with integer variables and quadratic constraints,
solnsens = 0 is quietly assumed.
solutiontarget Specifies the solution targetfor linear programs (LP):
-1 = automatic (default)
0 = primal and dual optimal and basic
1 = primal and dual optimal.
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:
0 = no
1 = yes (default), using suffixes .sos and .sosref
provided by AMPL.
startnodelimit Limit on how many branch-and-bound nodes to explore when
doing a partial MIP start:
-2 = suppress MIP start processing
-1 = use submipnodes (default)
>= 0 ==> specific node limit.
submipcuts sub-MIP cuts: Overrides "cuts"; choices as for "cuts".
submipnodes Limit on nodes explored by MIP-based heuristics, e.g., RINS.
Default = 500.
symmetry MIP symmetry detection:
-1 = automatic choice (default)
0 = none
1 = conservative
2 = agressive.
threads How many threads to use when using the barrier algorithm
or solving MIP problems; default 0 ==> automatic choice.
timelim limit on solve time (in seconds; default: no limit)
timing Whether to report timing:
0 = no (default)
1 = report times on stdout
2 = report times on stderr.
tunebase Base name for results of running Gurobi's search for better
parameter settings. The search is run only when tunebase
is specified. Results are written to files with names derived
from tunebase by appending ".prm" if ".prm" does not occur in
tunebase and inserting 1, 2, ... (for the first, second,
... set of parameter settings) before the right-most ".prm".
The file with "1" inserted is the best set and the solve
results returned are for this set. In a subsequent "solve;",
you can use paramfile=... to apply the settings in results
file ... .
tuneoutput Amount of tuning output when tunebase is specified:
0 = none
1 = summarize each new best parameter set
2 = summarize each set tried (default)
3 = summary plus detailed solver output for each trial.
tuneresults Limit on the number of tuning result files to write
when tunerbase is specified. The default (-1) is to write
results for all parameter sets on the efficient frontier.
tunetimelimit Time limit (in seconds) on tuning when tunebase
is specified. Default -1 ==> automatic choice of time limit.
tunetrials Number of trials for each parameter set when tunebase
is specified, each with a different random seed value.
Default = 3.
ubpen See feasrelax.
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.
version Report version details before solving the problem. This is a
single-word "phrase" that does not accept a value assignment.
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.
warmstart Whether to use incoming primal and dual variable values
(if both are available) in a simplex warm start:
0 = no;
1 = yes if there is no incoming basis (default);
2 = yes, ignoring the incoming basis (if any);
3 = no, but on MIP problems, use the incoming primal
values as hints, ignoring the .hintpri suffix;
4 = similar to 3, but use the .hintpri suffix on
variables: larger (integer) values give greater
priority to the initial value of the associated
variable.
Note that specifying basis=0 or basis=2 causes there to be
no incoming basis. This is relevant to warmstart values
1, 3, and 4. For continuous problems, warmstart values >= 2
are treated as 1.
Normally an incoming solution vector disables Gurobi's
LP presolve; to enable it set lpwarmstart to 2.
work Whether to report the amount of (deterministic) work spent on
the latest optimization:
0 = do not report (default)
1 = report in the problem suffix "work".
worklimit Maximum amount of work expended (in work units); in contrast
to timelim, work limits are deterministic (default no limit).
writeprob Name of a GUROBI-format file to be written (for debugging);
must end in one of ".bas", ".lp", ".mps", ".prm", ".rew",
".rlp", ".sol", or for the "fixed" model used to recover a
basis or dual values for problems with integer variables or
quadratic constraints, ".fix_lp" or ".fix_mps"; the '_' will
be replaced by '.' in the name of the file written for
".fix_lp" or ".fix_mps". Can appear more than once with
different filenames.
zerohalfcuts zero-half cuts: Overrides "cuts"; choices as for "cuts".
zeroobjnodes Number of nodes to explore at the root MIP node if no other
heuristic has found a feasible solution. Default = -1
(automatic choice).