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