AMPLGurobi Parameter Reference
AMPLGurobi Parameter Reference
aggfill  amount of fill allowed during aggregation during Gurobi's presolve (default: 1) 

aggregate  whether to use aggregation during Gurobi presolve:

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:

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:
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: 1e8) 
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):
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 sparsematrix factorizations during the barrier algorithm:

barqcptol  convergence tolerance on the relative difference between primal and dual objective values for barrier algorithms when solving problems with quadratic constraints (default: 1e6) 
basis  whether to use or return a basis:

basisdebug  whether to honor basis and solnsens when an optimal solution was not found:

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

branchdir  which child node to explore first when branching:

cliquecuts  clique cuts: overrides "cuts"; choices as for "cuts" 
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) 
covercuts  cover cuts: overrides "cuts"; choices as for "cuts" 
crossover  how to transform a barrier solution to a basic one:

crossoverbasis  strategy for initial basis construction during crossover:

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 cuttingplane passes to do during rootcut generation (default: 1 = automatic choice) 
cuts  global cut generation control, valid unless overridden by individual
cuttype controls:

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 submodels:

dualreductions 
whether Gurobi's presolve should use dual reductions, which may be useful on a
wellposed problem but can prevent distinguishing whether a problem is
infeasible or unbounded:

feasrelax 
Whether to modify the problem into a feasibility
relaxation problem:

feasrelaxbigm  Value of "bigM" sometimes used with constraints when doing a feasibility relaxation (default: 1e6) 
feastol  primal feasibility tolerance (default: 1e6) 
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 (via suffix .iis) when the problem is infeasible:

iismethod  which method to use when finding an IIS (irreducible infeasible set of
constraints, including variable bounds):

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:

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:

intfeastol  feasibility tolerance for integer variables (default: 1e05) 
intstart  when there are integer variables, whether to use an initial guess (if available):

iterlim  iteration limit (default: no limit) 
kappa  Whether to return the estimated condition number (kappa) of
the optimal basis (default 0): sum of
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:
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:

lbpen  See feasrelax 
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" 
maxmipsub  maximum number of nodes for RINS heuristic to explore on MIP problems (default: 500) 
method  Which algorithm to use for nonMIP problems or for the root
node of MIP problems:

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:

mipgap  maximum relative MIP optimality gap (default: 1e4) 
mipgapabs  absolute MIP optimality gap (default: 1e10) 
mipsep  MIPsep cuts: overrides "cuts"; choices as for "cuts" 
mipstart  whether to use initial guesses in problems with integer variables:

miqcpmethod  Method for solving mixedinteger quadratically constrained
(MIQCP) problems:

mircuts  MIR cuts: overrides "cuts"; choices as for "cuts" 
modkcuts  modk cuts: overrides "cuts"; choices as for "cuts" 
multiobj  whether to do multiobjective optimization:
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. Objectivespecific 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 lowerpriority
objectives:

multiobjpre  how to apply Gurobi's presolve when doing
multiobjective optimization:

multprice_norm  choice of norm used in multiple 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 = ∞  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:

nonconvex 
How to handle nonconvex quadratic objectives and constraints:

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 highquality 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:

objno  objective to optimize:

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:
For maximization problems, ">= f(x)" is changed to "<= f(x)" in the description above. 
objscale  how to scale the objective:

opttol  optimality tolerance on reduced costs (default: 1e6) 
outlev  whether to write Gurobi log lines (chatter) to stdout:

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
Values of .partition determine how variables participate in the partition heuristic. Variables with
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: 2e4) 
pivtol  Markowitz pivot tolerance (default: 7.8125e3) 
pl_bigm  When some variables applear in piecewiselinear terms in the objective and AMPL's "option pl_lineraize 0" is specified, lower bounds of pl_bigm are assumed for such variables that are not bounded below and upper bounds of +pl_bigm are assumed for such variables that are not bounded above. (Default = 1e6) 
pool_distmip  number of machines in the server pool (if specified by pool_servers) to use for solving each MIP instance 
pool_mip  number of independent MIP jobs (default 0) to generate and solve using the server pool (if specified by pool_servers); Gurobi automatically chooses different algorithm parameter values for each job 
pool_password  password for the server pool (if needed) 
pool_servers  commaseparated list of server names or IP addresses of machines in the server pool (default "" = none) 
pool_tunejobs  number of parallel tuning jobs (default 0) to run on the server (if specified by pool_servers); tuning results are not normalized by server performance, so tuning is most effective when all the servers in the server pool have similar performance characteristics 
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 constraintmatrix rows:

predual  whether gurobi's presolve should form the dual of a continuous model:

premiqcpform  For mixedinteger quadratically constrained (MIQCP) problems,
how Gurobi should transform quadratic constraints:
Choices 0 and 1 work with general quadratic constraints. Choices 1 and 2 only work with constraints of suitable forms. 
prepasses  limit on the number of Gurobi presolve passes:

preqlinearize  How Gurobi's presolve should treat quadratic problems:

presolve  whether to use Gurobi's presolve:

presos1bigm 
BigM for converting SOS1 constraints to binary form:

presos2bigm 
BigM for converting SOS2 constraints to binary form:

presparsify  whether Gurobi's presolve should use its sparsify reduction, which
sometimes gives significant problemsize reductions:

pricing  pricing strategy:

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:

psdtol  maximum diagonal perturbation to correct indefiniteness in quadratic objectives (default: 1e6) 
pumppasses  number of feasibilitypump 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):

quad  whether simplex should use quadprecision:

rays  Whether to return suffix .unbdd if the objective is unbounded or suffix
.dunbdd if the constraints are infeasible:

relax  whether to enforce integrality:

relaxliftcuts 
Whether to enable relaxandlift cut generation:

resultfile  name of a file of extra information written after completion of optimization. The name's suffix determines what is written:

return_mipgap  Whether to return mipgap suffixes or include mipgap values
(objectve  best_bound) in the solve_message: sum of
Default = 0. The suffixes are on the objective and problem. Returned suffix values are +Infinity if no integerfeasible 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:

rltcuts 
Whether to enable generation of cuts by the Relaxation
Linearization Technique (RLT):

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

round_reptol  Tolerance for reporting rounding of integer variables to integer values; see "round". Default = 1e9. 
scale  whether to scale the problem:

seed  random number seed, affecting perturbations that may influence the solution path (default: 0) 
server  Commaseparated list of Gurobi compute servers, specified either by name or by IP address. (default: unspecified  solve according to license key) 
server_insecure  Whether to user "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 Gurobi Compute Server(s) 
server_priority  Priority for Gurobi Compute Server(s) (default: 1; maximum 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) 
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:

siftmethod  algorithm to use for sifting with the dual simplex method:

simplex  synonym for method 
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 righthand side value .sensrhshi = greatest righthand 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:

sos2  whether to tell Gurobi about SOS2 constraints for nonconvex piecewiselinear terms

startnodelimit  limit on how many branchandbound nodes to explore when
doing a partial MIP start:

submipcuts  subMIP cuts: overrides "cuts"; choices as for "cuts" 
submipnodes  limit on nodes explored by MIPbased heuristics, e.g., RINS. Default = 500. 
symmetry  MIP symmetry detection:

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:

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 rightmost ".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:

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:

version  Report version details before solving the problem. This is a singleword "phrase" that does not accept a value assignment. 
wantsol  solution report without AMPL: sum of

warmstart 
Whether to use incoming primal and dual variable values
(if both are available) in a simplex warm start:

writeprob  name of a GUROBIformat 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  zerohalf 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) 