Detailed DescriptionGomory MIR Cuts. Definition in file sepa_gomory.c. #include <assert.h> #include <string.h> #include "scip/sepa_gomory.h" #include "scip/pub_misc.h" #include "scip/pub_lp.h" Go to the source code of this file.
Macro Definition Documentation
Max y Subject to c1: -x + y <= 1 c2: 2x + 3y <= 12 c3: 3x + 2y <= 12 Bounds 0 <= x 0 <= y General x y END Definition at line 56 of file sepa_gomory.c. Referenced by SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAFREE(), and SCIPincludeSepaGomory().
Definition at line 57 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
Definition at line 58 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
Definition at line 59 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
Definition at line 60 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
does the separator use a secondary SCIP instance? Definition at line 61 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
should separation method be delayed, if other separators found cuts? Definition at line 62 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
maximal number of gomory separation rounds per node (-1: unlimited) Definition at line 64 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
maximal number of gomory separation rounds in the root node (-1: unlimited) Definition at line 65 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
maximal number of gomory cuts separated per separation round Definition at line 66 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
maximal number of gomory cuts separated per separation round in root node Definition at line 67 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
maximal rank of a gomory cut that could not be scaled to integral coefficients (-1: unlimited) Definition at line 68 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
maximal rank of a gomory cut that could be scaled to integral coefficients (-1: unlimited) Definition at line 69 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
should generated cuts be removed from the LP if they are no longer tight? Definition at line 70 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
maximal valid range max(|weights|)/min(|weights|) of row weights Definition at line 71 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
minimal integrality violation of a basis variable in order to try Gomory cut Definition at line 72 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
try to scale all cuts to integral coefficients Definition at line 73 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
if conversion to integral coefficients failed still consider the cut Definition at line 74 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
separate rows with integral slack Definition at line 75 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
should cuts be added to the delayed cut pool? Definition at line 76 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
choose side types of row (lhs/rhs) based on basis information? Definition at line 77 of file sepa_gomory.c. Referenced by SCIPincludeSepaGomory().
threshold for bound switching - see SCIPcalcMIR() Definition at line 79 of file sepa_gomory.c. Referenced by SCIP_DECL_SEPAEXECLP().
use variable bounds - see SCIPcalcMIR() Definition at line 80 of file sepa_gomory.c. Referenced by SCIP_DECL_SEPAEXECLP().
allow to generate local cuts - see SCIPcalcMIR() Definition at line 81 of file sepa_gomory.c. Referenced by SCIP_DECL_SEPAEXECLP().
try to generate an integral rhs - see SCIPcalcMIR() Definition at line 82 of file sepa_gomory.c. Referenced by SCIP_DECL_SEPAEXECLP().
convert continuous variable to integral variables in SCIPmakeRowIntegral() Definition at line 83 of file sepa_gomory.c. Referenced by evaluateCutNumerics().
maximal length of base inequality Definition at line 85 of file sepa_gomory.c. Referenced by SCIP_DECL_SEPAEXECLP(). Function Documentation
returns TRUE if the cut can be taken, otherwise FALSE if there some numerical evidences
Definition at line 111 of file sepa_gomory.c. References FALSE, MAKECONTINTEGRAL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPepsilon(), SCIPisInfinity(), SCIPmakeRowIntegral(), SCIProwGetRank(), SCIProwGetRhs(), SCIPsumepsilon(), and TRUE. Referenced by SCIP_DECL_SEPAEXECLP().
copy method for separator plugins (called when SCIP copies plugins) Definition at line 160 of file sepa_gomory.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPincludeSepaGomory(), SCIPsepaGetName(), and SEPA_NAME.
destructor of separator to free user data (called when SCIP is exiting) Definition at line 174 of file sepa_gomory.c. References NULL, SCIP_OKAY, SCIPfreeMemory, SCIPsepaGetData(), SCIPsepaGetName(), SCIPsepaSetData(), and SEPA_NAME.
LP solution separation method of separator Definition at line 194 of file sepa_gomory.c. References ALLOWLOCAL, BOUNDSWITCH, evaluateCutNumerics(), FALSE, FIXINTEGRALRHS, MAXAGGRLEN, NULL, SCIP_BASESTAT_LOWER, SCIP_BASESTAT_UPPER, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_Longint, SCIP_LPSOLSTAT_OPTIMAL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_SEPARATED, SCIP_VARTYPE_CONTINUOUS, SCIPaddCut(), SCIPaddDelayedPoolCut(), SCIPaddPoolCut(), SCIPaddVarToRow(), SCIPallocBufferArray, SCIPcacheRowExtensions(), SCIPcalcMIR(), SCIPcolGetPrimsol(), SCIPcolGetVar(), SCIPcreateEmptyRowSepa(), SCIPdebugMessage, SCIPfeasFrac(), SCIPflushRowExtensions(), SCIPfreeBufferArray, SCIPgetCutEfficacy(), SCIPgetDepth(), SCIPgetLPBasisInd(), SCIPgetLPBInvRow(), SCIPgetLPColsData(), SCIPgetLPRowsData(), SCIPgetLPSolstat(), SCIPgetMaxDepth(), SCIPgetNCutsFound(), SCIPgetNLPBranchCands(), SCIPgetNLPs(), SCIPgetRowActivity(), SCIPgetRowLPActivity(), SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPgetVarsData(), SCIPgetVarSol(), SCIPinfinity(), SCIPisCutEfficacious(), SCIPisEQ(), SCIPisFeasGT(), SCIPisFeasNegative(), SCIPisInfinity(), SCIPisLPSolBasic(), SCIPisStopped(), SCIPisZero(), SCIPreleaseRow(), SCIProwChgRank(), SCIProwGetBasisStatus(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetNorm(), SCIProwGetRhs(), SCIProwIsIntegral(), SCIProwIsModifiable(), SCIPsepaGetData(), SCIPsepaGetName(), SCIPsepaGetNCallsAtNode(), SCIPsepaWasLPDelayed(), SCIPsnprintf(), SCIPvarGetName(), SCIPvarGetType(), SEPA_NAME, TRUE, and USEVBDS.
creates the Gomory MIR cut separator and includes it in SCIP
Definition at line 596 of file sepa_gomory.c. References DEFAULT_AWAY, DEFAULT_DELAYEDCUTS, DEFAULT_DYNAMICCUTS, DEFAULT_FORCECUTS, DEFAULT_MAKEINTEGRAL, DEFAULT_MAXRANK, DEFAULT_MAXRANKINTEGRAL, DEFAULT_MAXROUNDS, DEFAULT_MAXROUNDSROOT, DEFAULT_MAXSEPACUTS, DEFAULT_MAXSEPACUTSROOT, DEFAULT_MAXWEIGHTRANGE, DEFAULT_SEPARATEROWS, DEFAULT_SIDETYPEBASIS, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_REAL_MAX, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPincludeSepaBasic(), SCIPsetSepaCopy(), SCIPsetSepaFree(), SEPA_DELAY, SEPA_DESC, SEPA_FREQ, SEPA_MAXBOUNDDIST, SEPA_NAME, SEPA_PRIORITY, SEPA_USESSUBSCIP, and TRUE. Referenced by SCIP_DECL_SEPACOPY(), and SCIPincludeDefaultPlugins(). |