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. Referenced by SCIP_DECL_SEPACOPY(), and SCIPincludeSepaCmir().
Definition at line 32 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
Definition at line 33 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
Definition at line 34 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
Definition at line 35 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
does the separator use a secondary SCIP instance? Definition at line 36 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
should separation method be delayed, if other separators found cuts? Definition at line 37 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of cmir separation rounds per node (-1: unlimited) Definition at line 39 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of cmir separation rounds in the root node (-1: unlimited) Definition at line 40 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of rows to start aggregation with per separation round (-1: unlimited) Definition at line 41 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of rows to start aggregation with per round in the root node (-1: unlimited) Definition at line 43 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of consecutive unsuccessful aggregation tries (-1: unlimited) Definition at line 45 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of consecutive unsuccessful aggregation tries in the root node (-1: unlimited) Definition at line 46 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of aggregations for each row per separation round Definition at line 48 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of aggregations for each row per round in the root node Definition at line 49 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of cmir cuts separated per separation round Definition at line 50 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of cmir cuts separated per separation round in root node Definition at line 51 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal slack of rows to be used in aggregation Definition at line 52 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal slack of rows to be used in aggregation in the root node Definition at line 53 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
weight of row density in the aggregation scoring of the rows Definition at line 54 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
weight of slack in the aggregation scoring of the rows Definition at line 55 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal density of aggregated row Definition at line 56 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal density of row to be used in aggregation Definition at line 57 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
additional number of variables allowed in row on top of density Definition at line 58 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal row aggregation factor Definition at line 59 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of different deltas to try (-1: unlimited) Definition at line 60 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of active continuous variables in aggregated row Definition at line 61 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
maximal number of active continuous variables in aggregated row in the root Definition at line 62 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
aggregation heuristic: tolerance for bound distances used to select real variable in current aggregated constraint to be eliminated Definition at line 63 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
should negative values also be tested in scaling? Definition at line 65 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
should an additional variable be complemented if f0 = 0? Definition at line 66 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
should generated cuts be removed from the LP if they are no longer tight? Definition at line 67 of file sepa_cmir.c. Referenced by SCIPincludeSepaCmir().
Definition at line 69 of file sepa_cmir.c. Referenced by aggregation().
Definition at line 70 of file sepa_cmir.c. Referenced by aggregation().
Definition at line 71 of file sepa_cmir.c. Referenced by aggregation(), and separateCuts().
Definition at line 72 of file sepa_cmir.c. Referenced by aggregation().
Definition at line 73 of file sepa_cmir.c. Referenced by aggregation().
Definition at line 74 of file sepa_cmir.c. Referenced by addCut().
Definition at line 75 of file sepa_cmir.c.
maximal length of base inequality Definition at line 77 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 125 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 172 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 281 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 315 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 335 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 421 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 623 of file sepa_cmir.c. References SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, and SCIPvarGetType(). Referenced by aggregation(), and getBounddist().
returns the minimal distance of the solution of a continuous variable to its bounds
Definition at line 640 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 678 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 1188 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(). Referenced by SCIP_DECL_SEPAEXECLP(), and SCIP_DECL_SEPAEXECSOL().
copy method for separator plugins (called when SCIP copies plugins) Definition at line 1470 of file sepa_cmir.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPincludeSepaCmir(), SCIPsepaGetName(), and SEPA_NAME.
destructor of separator to free user data (called when SCIP is exiting) Definition at line 1484 of file sepa_cmir.c. References NULL, SCIP_OKAY, SCIPfreeMemory, SCIPsepaGetData(), and SCIPsepaSetData().
LP solution separation method of separator Definition at line 1502 of file sepa_cmir.c. References NULL, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPgetLPSolstat(), SCIPgetNLPBranchCands(), SCIPisStopped(), and separateCuts().
arbitrary primal solution separation method of separator Definition at line 1527 of file sepa_cmir.c. References SCIP_CALL, SCIP_DIDNOTRUN, SCIP_OKAY, and separateCuts().
creates the cmir separator and includes it in SCIP
Definition at line 1543 of file sepa_cmir.c. References DEFAULT_AGGRTOL, DEFAULT_DENSITYOFFSET, DEFAULT_DENSITYSCORE, DEFAULT_DYNAMICCUTS, DEFAULT_FIXINTEGRALRHS, DEFAULT_MAXAGGDENSITY, DEFAULT_MAXAGGRS, DEFAULT_MAXAGGRSROOT, DEFAULT_MAXCONTS, DEFAULT_MAXCONTSROOT, DEFAULT_MAXFAILS, DEFAULT_MAXFAILSROOT, DEFAULT_MAXROUNDS, DEFAULT_MAXROUNDSROOT, DEFAULT_MAXROWDENSITY, DEFAULT_MAXROWFAC, DEFAULT_MAXSEPACUTS, DEFAULT_MAXSEPACUTSROOT, DEFAULT_MAXSLACK, DEFAULT_MAXSLACKROOT, DEFAULT_MAXTESTDELTA, DEFAULT_MAXTRIES, DEFAULT_MAXTRIESROOT, DEFAULT_SLACKSCORE, DEFAULT_TRYNEGSCALING, 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(). |