AMPL-Gurobi Parameter Reference#

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 = no limit)

ams_epsabs

absolute tolerance for reporting alternate MIP solutions (default = 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.

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 lpmethod=2 or nodemethod=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

  • 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.

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

clique cuts: 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

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

If the optimal objective value is no better than cutoff, report “objective cutoff” and do not return a solution; 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

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.

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 ∞, 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

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 (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: ∞)

impstartnodes

number of MIP nodes after which the solution strategy will change from improving the best bound to finding better feasible solutions (default: 0)

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

Wether 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

number of 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 (default)

  • 2 = use the (crushed) information to solve the presolved problem.

Note that if presolve is disabled, 1 prioritizes basis statuses, 2 prioritizes start vectors.

maxmipsub

maximum number of nodes for RINS 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). If the memory limit is exceeded no solution will be available.

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

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)

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 indicated by objno can be general; all others must 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 simplex

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 = ∞ - 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

  • 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: 1+2+4+8 = 15).


Values of .partition 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 partitionplace 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

poolabsgap

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

  • 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

    • -1 = automatic choice (default)

    • 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 = try to linearize quadratic parts, focusing on a strong LP relaxation

  • 2 = try to linearize quadratic parts, focusing 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 (default)

  • 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, 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 heuristic found a feasible solution (default: -1)

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 enforce integrality:

  • 0 = yes (default)

  • 1 = no: 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.

    • -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 will be returned if more memory is needed.

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 problems with integer variables and quadratic constraints, solnsens = 0 is assumed quietly.

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

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

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

tunebase

base name for results of running Gurobi’s search for better parameter settings. The search is run only when tuneparbase is specified. Results are written to files with names derived from tunebase by appending “.prm” if “.prm” does not occur in tuneparbase 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.

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 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: -1)