|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptioncomplemented mixed integer rounding cuts separator (Marchand's version) Definition in file sepa_cmir.c. Go to the source code of this file.
Macro Definition Documentation
Definition at line 31 of file sepa_cmir.c.
Definition at line 32 of file sepa_cmir.c.
Definition at line 33 of file sepa_cmir.c.
Definition at line 34 of file sepa_cmir.c.
Definition at line 35 of file sepa_cmir.c.
does the separator use a secondary SCIP instance? Definition at line 36 of file sepa_cmir.c.
should separation method be delayed, if other separators found cuts? Definition at line 37 of file sepa_cmir.c.
maximal number of cmir separation rounds per node (-1: unlimited) Definition at line 39 of file sepa_cmir.c.
maximal number of cmir separation rounds in the root node (-1: unlimited) Definition at line 40 of file sepa_cmir.c.
maximal number of rows to start aggregation with per separation round (-1: unlimited) Definition at line 41 of file sepa_cmir.c.
maximal number of rows to start aggregation with per round in the root node (-1: unlimited) Definition at line 44 of file sepa_cmir.c.
maximal number of consecutive unsuccessful aggregation tries (-1: unlimited) Definition at line 47 of file sepa_cmir.c.
maximal number of consecutive unsuccessful aggregation tries in the root node (-1: unlimited) Definition at line 48 of file sepa_cmir.c.
maximal number of aggregations for each row per separation round Definition at line 51 of file sepa_cmir.c.
maximal number of aggregations for each row per round in the root node Definition at line 52 of file sepa_cmir.c.
maximal number of cmir cuts separated per separation round Definition at line 53 of file sepa_cmir.c.
maximal number of cmir cuts separated per separation round in root node Definition at line 54 of file sepa_cmir.c.
maximal slack of rows to be used in aggregation Definition at line 55 of file sepa_cmir.c.
maximal slack of rows to be used in aggregation in the root node Definition at line 56 of file sepa_cmir.c.
weight of row density in the aggregation scoring of the rows Definition at line 57 of file sepa_cmir.c.
weight of slack in the aggregation scoring of the rows Definition at line 58 of file sepa_cmir.c.
maximal density of aggregated row Definition at line 59 of file sepa_cmir.c.
maximal density of row to be used in aggregation Definition at line 60 of file sepa_cmir.c.
additional number of variables allowed in row on top of density Definition at line 61 of file sepa_cmir.c.
maximal row aggregation factor Definition at line 62 of file sepa_cmir.c.
maximal number of different deltas to try (-1: unlimited) Definition at line 63 of file sepa_cmir.c.
maximal number of active continuous variables in aggregated row Definition at line 64 of file sepa_cmir.c.
maximal number of active continuous variables in aggregated row in the root Definition at line 65 of file sepa_cmir.c.
aggregation heuristic: tolerance for bound distances used to select real variable in current aggregated constraint to be eliminated Definition at line 66 of file sepa_cmir.c.
should negative values also be tested in scaling? Definition at line 69 of file sepa_cmir.c.
should an additional variable be complemented if f0 = 0? Definition at line 70 of file sepa_cmir.c.
should generated cuts be removed from the LP if they are no longer tight? Definition at line 71 of file sepa_cmir.c.
Definition at line 73 of file sepa_cmir.c. Referenced by aggregation().
Definition at line 74 of file sepa_cmir.c. Referenced by aggregation().
Definition at line 75 of file sepa_cmir.c. Referenced by aggregation(), and separateCuts().
Definition at line 76 of file sepa_cmir.c. Referenced by aggregation().
Definition at line 77 of file sepa_cmir.c. Referenced by aggregation().
Definition at line 78 of file sepa_cmir.c. Referenced by addCut().
Definition at line 79 of file sepa_cmir.c.
maximal length of base inequality Definition at line 81 of file sepa_cmir.c. Referenced by aggregation(). Function Documentation
stores nonzero elements of dense coefficient vector as sparse vector, and calculates activity and norm
Definition at line 129 of file sepa_cmir.c. References NULL, SCIP_OKAY, SCIP_Real, and SCIPisZero(). Referenced by addCut().
adds given cut to LP if violated
Definition at line 176 of file sepa_cmir.c. References FALSE, MAKECONTINTEGRAL, NULL, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCut(), SCIPaddPoolCut(), SCIPaddVarsToRow(), SCIPallocBufferArray, SCIPcreateEmptyRowSepa(), SCIPdebug, SCIPdebugMessage, SCIPepsilon(), SCIPfreeBufferArray, SCIPgetCutEfficacy(), SCIPgetNLPs(), SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPgetVarsData(), SCIPgetVectorEfficacyNorm(), SCIPinfinity(), SCIPisCutEfficacious(), SCIPisEfficacious(), SCIPisPositive(), SCIPmakeRowIntegral(), SCIPprintRow(), SCIPreleaseRow(), SCIProwChgRank(), SCIProwGetRank(), SCIPsnprintf(), SCIPsumepsilon(), storeCutInArrays(), and TRUE. Referenced by SCIPcutGenerationHeuristicCmir().
adds delta to active continuous variables counter
Definition at line 285 of file sepa_cmir.c. References NULL, SCIP_Real, SCIPisLT(), SCIPvarGetProbindex(), and SCIPvarIsIntegral(). Referenced by aggregation().
decreases the score of a row in order to not aggregate it again too soon
Definition at line 319 of file sepa_cmir.c. References NULL. Referenced by aggregation().
calculates the c-MIR cut for the given rowweights and delta value, and updates testeddeltas, bestdelta, and bestefficacy
Definition at line 339 of file sepa_cmir.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcalcMIR(), SCIPdebugMessage, SCIPgetVectorEfficacyNorm(), SCIPisEQ(), SCIPisFeasGT(), and SCIPisFeasZero(). Referenced by SCIPcutGenerationHeuristicCmir().
Performs the cut generation heuristic of the c-MIR separation algorithm, i.e., tries to generate a c-MIR cut which is valid for the mixed knapsack set corresponding to the current aggregated constraint. Cuts will only be added here if no pointer to store best scaling factor delta is given.
Definition at line 425 of file sepa_cmir.c. References addCut(), FALSE, MAX, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPallocBufferArray, SCIPcalcMIR(), SCIPfreeBufferArray, SCIPgetNContVars(), SCIPgetNVars(), SCIPgetVars(), SCIPisEfficacious(), SCIPisEQ(), SCIPisFeasZero(), SCIPvarGetLbLocal(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarIsActive(), SCIPvarIsIntegral(), TRUE, and tryDelta(). Referenced by aggregation(), and createZerohalfCutFromZerohalfWeightvector(). returns whether the variable should be tried to be aggregated out
Definition at line 627 of file sepa_cmir.c. Referenced by aggregation(), and getBounddist().
returns the minimal distance of the solution of a continuous variable to its bounds
Definition at line 644 of file sepa_cmir.c. References MIN, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPisGE(), SCIPisLE(), SCIPvarGetLbGlobal(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarGetUbGlobal(), and varIsContinuous(). Referenced by aggregation().
aggregates different single mixed integer constraints by taking linear combinations of the rows of the LP
Definition at line 682 of file sepa_cmir.c. References ALLOWLOCAL, BMSclearMemoryArray, BOUNDSWITCH, decreaseRowScore(), FALSE, getBounddist(), MAX, MAXAGGRLEN, MAXFRAC, MIN, MINFRAC, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcolGetLPPos(), SCIPcolGetNLPNonz(), SCIPcolGetRows(), SCIPcolGetVals(), SCIPcolGetVar(), SCIPcutGenerationHeuristicCmir(), SCIPdebugMessage, SCIPdebugPrintf, SCIPfreeBufferArray, SCIPgetLPColsData(), SCIPgetLPRowsData(), SCIPgetNImplVars(), SCIPgetRowSolActivity(), SCIPgetVarsData(), SCIPisEQ(), SCIPisFeasIntegral(), SCIPisGT(), SCIPisInfinity(), SCIPisPositive(), SCIPisZero(), SCIProwGetCols(), SCIProwGetLhs(), SCIProwGetLPPos(), SCIProwGetName(), SCIProwGetNLPNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIProwIsModifiable(), SCIPsortedvecInsertDownRealInt(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarIsIntegral(), TRUE, updateNActiveConts(), USEVBDS, and varIsContinuous(). Referenced by separateCuts().
searches and adds c-MIR cuts that separate the given primal solution
Definition at line 1192 of file sepa_cmir.c. References aggregation(), ALLOWLOCAL, FALSE, MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIP_SEPARATED, SCIPallocBufferArray, SCIPdebugMessage, SCIPfreeBufferArray, SCIPgetDepth(), SCIPgetLPRowsData(), SCIPgetNContVars(), SCIPgetNImplVars(), SCIPgetNSepaRounds(), SCIPgetNVars(), SCIPgetObjNorm(), SCIPgetRowSolActivity(), SCIPgetSolVals(), SCIPgetVarClosestVlb(), SCIPgetVarClosestVub(), SCIPgetVars(), SCIPisInfinity(), SCIPisLE(), SCIPisPositive(), SCIPisStopped(), SCIProwGetDualsol(), SCIProwGetLhs(), SCIProwGetLPPos(), SCIProwGetName(), SCIProwGetNLPNonz(), SCIProwGetNorm(), SCIProwGetRhs(), SCIProwIsLocal(), SCIPsepaGetData(), SCIPsepaGetNCallsAtNode(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), and SCIPvarGetUbLocal().
copy method for separator plugins (called when SCIP copies plugins) Definition at line 1474 of file sepa_cmir.c.
destructor of separator to free user data (called when SCIP is exiting) Definition at line 1488 of file sepa_cmir.c.
LP solution separation method of separator Definition at line 1506 of file sepa_cmir.c.
arbitrary primal solution separation method of separator Definition at line 1531 of file sepa_cmir.c.
creates the cmir separator and includes it in SCIP
Definition at line 1547 of file sepa_cmir.c. Referenced by SCIPincludeDefaultPlugins(). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||