Learn R Programming

glpkAPI (version 1.3.4)

glpkConstants: Constants, Return and Status Codes of GLPK

Description

This is a list containing constants used by GLPK. Cunsult the glpk manual for more information, in praticular for the control parameters.

Arguments

Control Parameters

Simplex

MSG_LEV <- 101Message level for terminal output (default: GLP_MSG_ALL).
METH <- 102Simplex method option (default: GLP_PRIMAL).
PRICING <- 103Pricing technique (default: GLP_PT_PSE).
R_TEST <- 104Ratio test technique (default: GLP_RT_HAR).
IT_LIM <- 105Simplex iteration limit (default: INT_MAX).
TM_LIM <- 106Searching time limit, in milliseconds (default: INT_MAX).
OUT_FRQ <- 107Output frequency, in iterations (default: 500).
OUT_DLY <- 108Output delay, in milliseconds (default: 0).
PRESOLVE <- 109LP presolver option (default: GLP_OFF).
TOL_BND <- 201Tolerance used to check if the basic solution is primal feasible (default: 1e-7).
TOL_DJ <- 202Tolerance used to check if the basic solution is dual feasible (default: 1e-7).
TOL_PIV <- 203Tolerance used to choose eligble pivotal elements of the simplex table (default: 1e-10).
OBJ_LL <- 204Lower limit of the objective function (default: -DBL_MAX).
OBJ_UL <- 205Upper limit of the objective function (default: DBL_MAX).

The exact simplex method uses only the parameters IT_LIM and TM_LIM.

Interior

MSG_LEV <- 101Message level for terminal output (default: GLP_MSG_ALL).
ORD_ALG <- 301Ordering algorithm used prior to Cholesky factorization (default: GLP_ORD_AMD).

MIP

MSG_LEV <- 101Message level for terminal output (default: GLP_MSG_ALL).
TM_LIM <- 106Searching time limit, in milliseconds (default: INT_MAX).
OUT_FRQ <- 107Output frequency, in iterations (default: 5000).
OUT_DLY <- 108Output delay, in milliseconds (default: 10000).
PRESOLVE <- 109MIP presolver option (default: GLP_OFF).
BR_TECH <- 601Branching technique option (default: GLP_BR_DTH).
BT_TECH <- 602Backtracking technique option (default: GLP_BT_BLB).
PP_TECH <- 603Preprocessing technique option (default: GLP_PP_ALL).
FP_HEUR <- 604Feasibility pump heuristic option (default: GLP_OFF).
GMI_CUTS <- 605Gomory's mixed integer cut option (default: GLP_OFF).
MIR_CUTS <- 606Mixed integer rounding (MIR) cut option (default: GLP_OFF).
COV_CUTS <- 607Mixed cover cut option (default: GLP_OFF).
CLQ_CUTS <- 608Clique cut option (default: GLP_OFF).
CB_SIZE <- 609The number of extra (up to 256) bytes allocated for each node of the branch-and-bound tree to store application-specific data. On creating a node these bytes are initialized by binary zeros (default: 0).
BINARIZE <- 610LP presolver option (default: GLP_OFF).
CB_FUNC <- 651Use a user defined callback routine glpkCallback which is written in the file glpkCallback.c. This file should be edited according to the users requirements. If set to GLP_ON, the callback routine defined there is used (default: NULL).
TOL_INT <- 701Absolute tolerance used to check if optimal solution to the current LP relaxation is integer feasible (default: 1e-5).
TOL_OBJ <- 702Relative tolerance used to check if the objective value in optimal solution to the current LP relaxation is not better than in the best known inte- ger feasible solution (default: 1e-7).
MIP_GAP <- 703The relative mip gap tolerance. If the relative mip gap for currently known best integer feasible solution falls below this tolerance, the solver terminates the search. This allows obtainig suboptimal integer feasible solutions if solving the problem to optimality takes too long time (default: 0.0).

Basis Factorization

TYPE <- 401Basis factorization type (default: GLP_BF_FT).
LU_SIZE <- 402Initial size of the Sparse Vector Area (default: 0).
PIV_LIM <- 403computing LU-factorization of the basis matrix (default: 4).
SUHL <- 404computing LU-factorization of the basis matrix (default: GLP_ON).
NFS_MAX <- 405Maximal number of additional row-like factors (default: 100).
NRS_MAX <- 406Maximal number of additional rows and columns (default: 100).
RS_SIZE <- 407Initial size of the Sparse Vector Area (default: 0).
PIV_TOL <- 501Threshold pivoting (Markowitz) tolerance (default: 0.10).
EPS_TOL <- 502Epsilon tolerance (default: 1e-15).
MAX_GRO <- 503Maximal growth of elements of factor U (default: 1e+10).
UPD_TOL <- 504Update tolerance (default: 1e-6).

LP/MIP problem object

optimization direction flag

GLP_MIN <- 1minimization
GLP_MAX <- 2maximization

kind of structural variable

GLP_CV <- 1continuous variable
GLP_IV <- 2integer variable
GLP_BV <- 3binary variable

type of auxiliary/structural variable

GLP_FR <- 1free variable
GLP_LO <- 2variable with lower bound
GLP_UP <- 3variable with upper bound
GLP_DB <- 4double-bounded variable
GLP_FX <- 5fixed variable

status of auxiliary/structural variable

GLP_BS <- 1basic variable
GLP_NL <- 2non-basic variable on lower bound
GLP_NU <- 3non-basic variable on upper bound
GLP_NF <- 4non-basic free variable
GLP_NS <- 5non-basic fixed variable

scaling options

GLP_SF_GM <- 0x01perform geometric mean scaling
GLP_SF_EQ <- 0x10perform equilibration scaling
GLP_SF_2N <- 0x20round scale factors to power of two
GLP_SF_SKIP <- 0x40skip if problem is well scaled
GLP_SF_AUTO <- 0x80choose scaling options automatically

solution indicator

GLP_SOL <- 1basic solution
GLP_IPT <- 2interior-point solution
GLP_MIP <- 3mixed integer solution

solution status

GLP_UNDEF <- 1solution is undefined
GLP_FEAS <- 2solution is feasible
GLP_INFEAS <- 3solution is infeasible
GLP_NOFEAS <- 4no feasible solution exists
GLP_OPT <- 5solution is optimal
GLP_UNBND <- 6solution is unbounded

basis factorization control parameters

type

GLP_BF_FT <- 0x01LUF + Forrest-Tomlin
GLP_BF_BG <- 0x02LUF + Schur compl. + Bartels-Golub
GLP_BF_GR <- 0x03LUF + Schur compl. + Givens rotation
GLP_BF_LUF <- 0x00plain LU-factorization
GLP_BF_BTF <- 0x10block triangular LU-factorization

simplex method control parameters

msg_lev message level:

GLP_MSG_OFF <- 0no output
GLP_MSG_ERR <- 1warning and error messages only
GLP_MSG_ON <- 2normal output
GLP_MSG_ALL <- 3full output
GLP_MSG_DBG <- 4debug output

meth simplex method option:

GLP_PRIMAL <- 1use primal simplex
GLP_DUALP <- 2use dual; if it fails, use primal
GLP_DUAL <- 3use dual simplex

pricing pricing technique:

GLP_PT_STD <- 0x11standard (Dantzig rule)
GLP_PT_PSE <- 0x22projected steepest edge

r_test ratio test technique:

GLP_RT_STD <- 0x11standard (textbook)
GLP_RT_HAR <- 0x22two-pass Harris' ratio test

interior-point solver control parameters

ord_alg ordering algorithm:

GLP_ORD_NONE <- 0natural (original) ordering
GLP_ORD_QMD <- 1quotient minimum degree (QMD)
GLP_ORD_AMD <- 2approx. minimum degree (AMD)
GLP_ORD_SYMAMD <- 3approx. minimum degree (SYMAMD)

integer optimizer control parameters

br_tech branching technique:

GLP_BR_FFV <- 1first fractional variable
GLP_BR_LFV <- 2last fractional variable
GLP_BR_MFV <- 3most fractional variable
GLP_BR_DTH <- 4heuristic by Driebeck and Tomlin
GLP_BR_HPC <- 5hybrid pseudocost

bt_tech backtracking technique:

GLP_BT_DFS <- 1depth first search
GLP_BT_BFS <- 2breadth first search
GLP_BT_BLB <- 3best local bound
GLP_BT_BPH <- 4best projection heuristic

pp_tech preprocessing technique:

GLP_PP_NONE <- 0disable preprocessing
GLP_PP_ROOT <- 1preprocessing only on root level
GLP_PP_ALL <- 2preprocessing on all levels

additional row attributes

the row origin flag

GLP_RF_REG <- 0regular constraint
GLP_RF_LAZY <- 1"lazy" constraint
GLP_RF_CUT <- 2cutting plane constraint

the row class descriptor klass

GLP_RF_GMI <- 1Gomory's mixed integer cut
GLP_RF_MIR <- 2mixed integer rounding cut
GLP_RF_COV <- 3mixed cover cut
GLP_RF_CLQ <- 4clique cut

enable/disable flag

GLP_ON <- 1enable something
GLP_OFF <- 0disable something

reason codes

GLP_IROWGEN <- 0x01request for row generation
GLP_IBINGO <- 0x02better integer solution found
GLP_IHEUR <- 0x03request for heuristic solution
GLP_ICUTGEN <- 0x04request for cut generation
GLP_IBRANCH <- 0x05request for branching
GLP_ISELECT <- 0x06request for subproblem selection
GLP_IPREPRO <- 0x07request for preprocessing

branch selection indicator

GLP_NO_BRNCH <- 0select no branch
GLP_DN_BRNCH <- 1select down-branch
GLP_UP_BRNCH <- 2select up-branch

return codes

GLP_EBADB <- 0x01invalid basis
GLP_ESING <- 0x02singular matrix
GLP_ECOND <- 0x03ill-conditioned matrix
GLP_EBOUND <- 0x04invalid bounds
GLP_EFAIL <- 0x05solver failed
GLP_EOBJLL <- 0x06objective lower limit reached
GLP_EOBJUL <- 0x07objective upper limit reached
GLP_EITLIM <- 0x08iteration limit exceeded
GLP_ETMLIM <- 0x09time limit exceeded
GLP_ENOPFS <- 0x0Ano primal feasible solution
GLP_ENODFS <- 0x0Bno dual feasible solution
GLP_EROOT <- 0x0Croot LP optimum not provided
GLP_ESTOP <- 0x0Dsearch terminated by application
GLP_EMIPGAP <- 0x0Erelative mip gap tolerance reached
GLP_ENOFEAS <- 0x0Fno primal/dual feasible solution
GLP_ENOCVG <- 0x10no convergence
GLP_EINSTAB <- 0x11numerical instability
GLP_EDATA <- 0x12invalid data
GLP_ERANGE <- 0x13result out of range

condition indicator

GLP_KKT_PE <- 1primal equalities
GLP_KKT_PB <- 2primal bounds
GLP_KKT_DE <- 3dual equalities
GLP_KKT_DB <- 4dual bounds
GLP_KKT_CS <- 5complementary slackness

MPS file format

GLP_MPS_DECK <- 1fixed (ancient)
GLP_MPS_FILE <- 2free (modern)

Author

Gabriel Gelius-Dietrich <geliudie@uni-duesseldorf.de>

Maintainer: Mayo Roettger <mayo.roettger@hhu.de>

References

Based on the package glpk by Lopaka Lee.

The GNU GLPK home page at http://www.gnu.org/software/glpk/glpk.html.

See Also

status_codeGLPK, return_codeGLPK