Learn R Programming

glpkAPI (version 1.2.9)

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

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

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

MIP ll{ MSG_LEV <- 101 Message level for terminal output (default: GLP_MSG_ALL). TM_LIM <- 106 Searching time limit, in milliseconds (default: INT_MAX). OUT_FRQ <- 107 Output frequency, in iterations (default: 5000). OUT_DLY <- 108 Output delay, in milliseconds (default: 10000). PRESOLVE <- 109 MIP presolver option (default: GLP_OFF). BR_TECH <- 601 Branching technique option (default: GLP_BR_DTH). BT_TECH <- 602 Backtracking technique option (default: GLP_BT_BLB). PP_TECH <- 603 Preprocessing technique option (default: GLP_PP_ALL). FP_HEUR <- 604 Feasibility pump heuristic option (default: GLP_OFF). GMI_CUTS <- 605 Gomory's mixed integer cut option (default: GLP_OFF). MIR_CUTS <- 606 Mixed integer rounding (MIR) cut option (default: GLP_OFF). COV_CUTS <- 607 Mixed cover cut option (default: GLP_OFF). CLQ_CUTS <- 608 Clique cut option (default: GLP_OFF). CB_SIZE <- 609 The 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 <- 610 LP presolver option (default: GLP_OFF). CB_FUNC <- 651 Use 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 <- 701 Absolute tolerance used to check if optimal solution to the current LP relaxation is integer feasible (default: 1e-5). TOL_OBJ <- 702 Relative 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 <- 703 The 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 ll{ TYPE <- 401 Basis factorization type (default: GLP_BF_FT). LU_SIZE <- 402 Initial size of the Sparse Vector Area (default: 0). PIV_LIM <- 403 computing LU-factorization of the basis matrix (default: 4). SUHL <- 404 computing LU-factorization of the basis matrix (default: GLP_ON). NFS_MAX <- 405 Maximal number of additional row-like factors (default: 100). NRS_MAX <- 406 Maximal number of additional rows and columns (default: 100). RS_SIZE <- 407 Initial size of the Sparse Vector Area (default: 0). PIV_TOL <- 501 Threshold pivoting (Markowitz) tolerance (default: 0.10). EPS_TOL <- 502 Epsilon tolerance (default: 1e-15). MAX_GRO <- 503 Maximal growth of elements of factor U (default: 1e+10). UPD_TOL <- 504 Update tolerance (default: 1e-6). }

LP/MIP problem object

optimization direction flag ll{ GLP_MIN <- 1 minimization GLP_MAX <- 2 maximization }

kind of structural variable ll{ GLP_CV <- 1 continuous variable GLP_IV <- 2 integer variable GLP_BV <- 3 binary variable } type of auxiliary/structural variable ll{ GLP_FR <- 1 free variable GLP_LO <- 2 variable with lower bound GLP_UP <- 3 variable with upper bound GLP_DB <- 4 double-bounded variable GLP_FX <- 5 fixed variable } status of auxiliary/structural variable ll{ GLP_BS <- 1 basic variable GLP_NL <- 2 non-basic variable on lower bound GLP_NU <- 3 non-basic variable on upper bound GLP_NF <- 4 non-basic free variable GLP_NS <- 5 non-basic fixed variable } scaling options ll{ GLP_SF_GM <- 0x01 perform geometric mean scaling GLP_SF_EQ <- 0x10 perform equilibration scaling GLP_SF_2N <- 0x20 round scale factors to power of two GLP_SF_SKIP <- 0x40 skip if problem is well scaled GLP_SF_AUTO <- 0x80 choose scaling options automatically } solution indicator ll{ GLP_SOL <- 1 basic solution GLP_IPT <- 2 interior-point solution GLP_MIP <- 3 mixed integer solution } solution status ll{ GLP_UNDEF <- 1 solution is undefined GLP_FEAS <- 2 solution is feasible GLP_INFEAS <- 3 solution is infeasible GLP_NOFEAS <- 4 no feasible solution exists GLP_OPT <- 5 solution is optimal GLP_UNBND <- 6 solution is unbounded }

basis factorization control parameters

type ll{ GLP_BF_FT <- 1 LUF + Forrest-Tomlin GLP_BF_BG <- 2 LUF + Schur compl. + Bartels-Golub GLP_BF_GR <- 3 LUF + Schur compl. + Givens rotation }

simplex method control parameters

msg_lev message level: ll{ GLP_MSG_OFF <- 0 no output GLP_MSG_ERR <- 1 warning and error messages only GLP_MSG_ON <- 2 normal output GLP_MSG_ALL <- 3 full output GLP_MSG_DBG <- 4 debug output }

meth simplex method option: ll{ GLP_PRIMAL <- 1 use primal simplex GLP_DUALP <- 2 use dual; if it fails, use primal GLP_DUAL <- 3 use dual simplex }

pricing pricing technique: ll{ GLP_PT_STD <- 0x11 standard (Dantzig rule) GLP_PT_PSE <- 0x22 projected steepest edge }

r_test ratio test technique: ll{ GLP_RT_STD <- 0x11 standard (textbook) GLP_RT_HAR <- 0x22 two-pass Harris' ratio test }

interior-point solver control parameters

ord_alg ordering algorithm: ll{ GLP_ORD_NONE <- 0 natural (original) ordering GLP_ORD_QMD <- 1 quotient minimum degree (QMD) GLP_ORD_AMD <- 2 approx. minimum degree (AMD) GLP_ORD_SYMAMD <- 3 approx. minimum degree (SYMAMD) }

integer optimizer control parameters

br_tech branching technique: ll{ GLP_BR_FFV <- 1 first fractional variable GLP_BR_LFV <- 2 last fractional variable GLP_BR_MFV <- 3 most fractional variable GLP_BR_DTH <- 4 heuristic by Driebeck and Tomlin GLP_BR_HPC <- 5 hybrid pseudocost }

bt_tech backtracking technique: ll{ GLP_BT_DFS <- 1 depth first search GLP_BT_BFS <- 2 breadth first search GLP_BT_BLB <- 3 best local bound GLP_BT_BPH <- 4 best projection heuristic }

pp_tech preprocessing technique: ll{ GLP_PP_NONE <- 0 disable preprocessing GLP_PP_ROOT <- 1 preprocessing only on root level GLP_PP_ALL <- 2 preprocessing on all levels }

additional row attributes

the row origin flag ll{ GLP_RF_REG <- 0 regular constraint GLP_RF_LAZY <- 1 "lazy" constraint GLP_RF_CUT <- 2 cutting plane constraint }

the row class descriptor klass ll{ GLP_RF_GMI <- 1 Gomory's mixed integer cut GLP_RF_MIR <- 2 mixed integer rounding cut GLP_RF_COV <- 3 mixed cover cut GLP_RF_CLQ <- 4 clique cut }

enable/disable flag

ll{ GLP_ON <- 1 enable something GLP_OFF <- 0 disable something }

reason codes

ll{ GLP_IROWGEN <- 0x01 request for row generation GLP_IBINGO <- 0x02 better integer solution found GLP_IHEUR <- 0x03 request for heuristic solution GLP_ICUTGEN <- 0x04 request for cut generation GLP_IBRANCH <- 0x05 request for branching GLP_ISELECT <- 0x06 request for subproblem selection GLP_IPREPRO <- 0x07 request for preprocessing }

branch selection indicator

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

return codes

ll{ GLP_EBADB <- 0x01 invalid basis GLP_ESING <- 0x02 singular matrix GLP_ECOND <- 0x03 ill-conditioned matrix GLP_EBOUND <- 0x04 invalid bounds GLP_EFAIL <- 0x05 solver failed GLP_EOBJLL <- 0x06 objective lower limit reached GLP_EOBJUL <- 0x07 objective upper limit reached GLP_EITLIM <- 0x08 iteration limit exceeded GLP_ETMLIM <- 0x09 time limit exceeded GLP_ENOPFS <- 0x0A no primal feasible solution GLP_ENODFS <- 0x0B no dual feasible solution GLP_EROOT <- 0x0C root LP optimum not provided GLP_ESTOP <- 0x0D search terminated by application GLP_EMIPGAP <- 0x0E relative mip gap tolerance reached GLP_ENOFEAS <- 0x0F no primal/dual feasible solution GLP_ENOCVG <- 0x10 no convergence GLP_EINSTAB <- 0x11 numerical instability GLP_EDATA <- 0x12 invalid data GLP_ERANGE <- 0x13 result out of range }

condition indicator

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

MPS file format

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

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