GLPK Options

GAMS/CoinGlpk brings the open source LP/MIP solver Glpk from the GNU Open Software foundation to the broad audience of GAMS users. The code has been written primarily by A. Makhorin. The GAMS interface for Glpk is maintained by Stefan Vigerske, Humboldt University, in a COIN-OR project called GAMSlinks. The interface uses the OSI Glpk interface written by Vivian De Smedt, Braden Hunsaker, and Lou Hafer.
For more information visit the web site for COIN-OR, OSI, Glpk, and GAMSlinks.
For documentation of GAMS parameters, see the GAMS parameters documentation.

For more information about this solver please inspect the complete GLPK manual.

Summary of GLPK Options

General Options

backtracking backtracking heuristic
cliquecuts clique cuts
covercuts cover cuts
cuts turning on or off all cut generators
factorization basis factorization method
gomorycuts gomorys mixed-integer cuts
initbasis method for initial basis
iterlim iteration limit
mircuts mixed-integer rounding cuts
names indicates whether row and column names should be given to glpk
noiterlim turn off iteration limit
optcr relative stopping tolerance on MIP gap
presolve LP presolver
pricing pricing method
reslim resource limit
reslim_fixedrun resource limit for solve with fixed discrete variables
scaling scaling method
solvefinal switch for the solve of the problem with fixed discrete variables
startalg LP solver for root node
tol_dual dual feasibility tolerance
tol_integer integer feasibility tolerance
tol_primal primal feasibility tolerance
writemps create MPS file for problem

Detailed Descriptions of GLPK Options

backtracking (string) backtracking heuristic

Determines which method to use for the backtracking heuristic.
(default = bestprojection)
depthfirst. Let GLPK use a depth first search.
breadthfirst. Let GLPK use a breadth first search.
bestprojection. Let GLPK use a best projection heuristic.

cliquecuts (integer) clique cuts

Whether to enable clique cuts.
(default = 1)
0. Turn off clique cuts
1. Turn on clique cuts

covercuts (integer) cover cuts

Whether to enable cover cuts.
(default = 1)
0. Turn off cover cuts
1. Turn on cover cuts

cuts (integer) turning on or off all cut generators

Determines which cuts generator to use: none, all, or user-defined
(default = 0)
-1. Turn off all cut generators
0. Turn on or off each cut generators separately
1. Turn on all cut generators

factorization (string) basis factorization method

Sets the method for the LP basis factorization.
If you observe that GLPK reports numerical instabilities than you could try to use a more stable factorization method.
(default = forresttomlin)
forresttomlin. Does a LU factorization followed by Forrest-Tomlin updates. This method is fast, but less stable than others.
bartelsgolub. Does a LU factorization followed by a Schur complement and Bartels-Golub updates. This method is slower than Forrest-Tomlin, but more stable.
givens. Does a LU factorization followed by a Schur complement and Givens rotation updates. This method is slower than Forrest-Tomlin, but more stable.

gomorycuts (integer) gomorys mixed-integer cuts

Whether to enable Gomorys mixed-integer linear cuts.
(default = 1)
0. Turn off gomory cuts
1. Turn on gomory cuts

initbasis (string) method for initial basis

Sets the method that computes the initial basis. Setting this option has only effect if the presolver is turned off, which is on by default.
(default = advanced)
standard. Uses the standard initial basis of all slacks.
advanced. Computes an advanced initial basis.
bixby. Uses Bixby's initial basis.

iterlim (integer) iteration limit

Maximum number of simplex iterations. You can remove the limit on the simplex iterations by setting the noiterlim option.
(default = GAMS iterlim)

mircuts (integer) mixed-integer rounding cuts

Whether to enable mixed-integer rounding cuts.
(default = 0)
0. Turn off mir cuts
1. Turn on mir cuts

names (integer) indicates whether row and column names should be given to glpk

This option causes GAMS names for the variables and equations to be loaded into Glpk. These names will then be used for error messages, log entries, and so forth. Turing names off may help if memory is very tight.
(default = 0)
0. Do not load variable and equation names.
1. Load variable and equation names.

noiterlim (integer) turn off iteration limit

Allows to switch off the simplex iteration limit.
(default = 0)
0. Keeps simplex iteration limit.
1. Turns off simplex iteration limit.

optcr (real) relative stopping tolerance on MIP gap

Relative optimality criterion for a MIP. The search is stoped when the relative gap between the incumbent and the bound given by the LP relaxation is smaller than this value.
(default = GAMS optcr)

presolve (integer) LP presolver

Determines whether the LP presolver should be used.
(default = 1)
0. Turns off the LP presolver.
1. Turns on the LP presolver.

pricing (string) pricing method

Sets the pricing method for both primal and dual simplex.
(default = steepestedge)
textbook. Use a textbook pricing rule.
steepestedge. Use a steepest edge pricing rule.

reslim (real) resource limit

Maximum time in seconds.
(default = GAMS reslim)

reslim_fixedrun (real) resource limit for solve with fixed discrete variables

Maximum time in seconds for solving the MIP with fixed discrete variablesal solve o Without the nal solve no proper marginal values are available and only zeros are returned to GAMS..
(default = 1000)

scaling (string) scaling method

This option determines the method how the constraint matrix is scaled. Note that scaling is only applied when the presolver is turned off (which by default is on).
(default = meanequilibrium)
off. Turn off scaling.
equilibrium. Let GLPK use an equilibrium scaling method.
mean. Let GLPK use a geometric mean scaling method.
meanequilibrium. Let GLPK use first a geometric mean scaling, then an equilibrium scaling.

solvefinal (integer) switch for the solve of the problem with fixed discrete variables

Sometimes the solution process after the branch-and-cut that solves the problem with fixed discrete variables takes a long time and the user is interested in the primal values of the solution only. In these cases, this option can be used to turn this final solve off. Without the final solve no proper marginal values are available and only zeros are returned to GAMS.
(default = 1)
0. Do not solve the fixed problem
1. Solve the fixed problem and return duals

startalg (string) LP solver for root node

This option determines whether a primal or dual simplex algorithm should be used to solve an LP or the root node of a MIP.
(default = primal)
primal. Let GLPK use a primal simplex algorithm.
dual. Let GLPK use a dual simplex algorithm.

tol_dual (real) dual feasibility tolerance

Absolute tolerance used to check if the current basis solution is dual feasible. (Glpk manual: Do not change this parameter without detailed understanding its purpose.)
(default = 1e-7)

tol_integer (real) integer feasibility tolerance

Absolute tolerance used to check if the current basis solution is integer feasible. (Glpk manual: Do not change this parameter without detailed understanding its purpose.)
(default = 1e-5)

tol_primal (real) primal feasibility tolerance

Relative tolerance used to check if the current basis solution is primal feasible. (Glpk manual: Do not change this parameter without detailed understanding its purpose.)
(default = 1e-7)

writemps (string) create MPS file for problem

Write an MPS problem file. The parameter value is the name of the MPS file.