Detailed Descriptionrandomized LP rounding heuristic which also generates conflicts via an auxiliary probing tree Randomized LP rounding uses a random variable from a uniform distribution over [0,1] to determine whether the fractional LP value x should be rounded up with probability x - floor(x) or down with probability ceil(x) - x. This implementation uses domain propagation techniques to tighten the variable domains after every rounding step. Definition in file heur_randrounding.c. Go to the source code of this file.
Macro Definition Documentation
Definition at line 36 of file heur_randrounding.c. Referenced by SCIP_DECL_HEURCOPY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINITSOL(), and SCIPincludeHeurRandrounding().
Definition at line 37 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
Definition at line 38 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
Definition at line 39 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
Definition at line 40 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
Definition at line 41 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
Definition at line 42 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
Definition at line 43 of file heur_randrounding.c. Referenced by SCIP_DECL_HEUREXITSOL(), and SCIPincludeHeurRandrounding().
does the heuristic use a secondary SCIP instance? Definition at line 44 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
should the heuristic only be called once per node? Definition at line 46 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
default random seed Definition at line 47 of file heur_randrounding.c. Referenced by SCIP_DECL_HEURINIT().
should the heuristic apply the variable lock strategy of simple rounding, if possible? Definition at line 48 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
limit of rounds for each propagation call Definition at line 51 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding().
should the probing part of the heuristic be applied exclusively at the root node Definition at line 52 of file heur_randrounding.c. Referenced by SCIPincludeHeurRandrounding(). Function Documentation
perform randomized rounding of the given solution. Domain propagation is optionally applied after every rounding step
Definition at line 75 of file heur_randrounding.c. References FALSE, NULL, performLPRandRounding(), SCIP_Bool, SCIP_CALL, SCIP_FOUNDSOL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPallColsInLP(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPdebugMessage, SCIPduplicateBufferArray, SCIPenableVarHistory(), SCIPendProbing(), SCIPfeasCeil(), SCIPfeasFloor(), SCIPfreeBufferArray, SCIPgetDepth(), SCIPgetDepthLimit(), SCIPgetRandomReal(), SCIPgetSolVal(), SCIPinProbing(), SCIPisFeasEQ(), SCIPisFeasGE(), SCIPisFeasIntegral(), SCIPisFeasLE(), SCIPisGT(), SCIPisLT(), SCIPisStopped(), SCIPnewProbingNode(), SCIPpermuteArray(), SCIPprintSol(), SCIPpropagateProbing(), SCIPsetSolVal(), SCIPstartProbing(), SCIPtrySol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), and TRUE. Referenced by performLPRandRounding().
perform randomized LP-rounding
Definition at line 278 of file heur_randrounding.c. References NULL, performRandRounding(), SCIP_CALL, SCIP_DECL_HEURCOPY(), SCIP_DIDNOTFIND, SCIP_HEURTIMING_DURINGPRICINGLOOP, SCIP_Longint, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPdebugMessage, SCIPgetCutoffbound(), SCIPgetLPBranchCands(), SCIPgetLPObjval(), SCIPgetLPSolstat(), SCIPgetNLPs(), SCIPisGE(), and SCIPlinkLPSol(). Referenced by performRandRounding(), and SCIP_DECL_HEUREXEC().
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 335 of file heur_randrounding.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_DECL_HEURFREE(), SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurRandrounding(). Referenced by performLPRandRounding().
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 349 of file heur_randrounding.c. References HEUR_NAME, NULL, SCIP_DECL_HEURINIT(), SCIP_OKAY, SCIPfreeMemory, SCIPheurGetData(), SCIPheurGetName(), and SCIPheurSetData(). Referenced by SCIP_DECL_HEURCOPY().
initialization method of primal heuristic (called after problem was transformed) Definition at line 368 of file heur_randrounding.c. References DEFAULT_RANDSEED, HEUR_NAME, NULL, SCIP_CALL, SCIP_DECL_HEUREXIT(), SCIP_OKAY, SCIPcreateSol(), SCIPheurGetData(), and SCIPheurGetName(). Referenced by SCIP_DECL_HEURFREE().
deinitialization method of primal heuristic (called before transformed problem is freed) Definition at line 386 of file heur_randrounding.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_DECL_HEURINITSOL(), SCIP_OKAY, SCIPfreeSol(), SCIPheurGetData(), and SCIPheurGetName(). Referenced by SCIP_DECL_HEURINIT().
solving process initialization method of primal heuristic (called when branch and bound process is about to begin) Definition at line 402 of file heur_randrounding.c. References HEUR_NAME, NULL, SCIP_DECL_HEUREXITSOL(), SCIP_HEURTIMING_AFTERLPNODE, SCIP_OKAY, SCIPheurGetData(), SCIPheurGetName(), and SCIPheurSetTimingmask(). Referenced by SCIP_DECL_HEUREXIT().
solving process deinitialization method of primal heuristic (called before branch and bound process data is freed) Definition at line 422 of file heur_randrounding.c. References HEUR_TIMING, SCIP_DECL_HEUREXEC(), SCIP_OKAY, and SCIPheurSetTimingmask(). Referenced by SCIP_DECL_HEURINITSOL().
execution method of primal heuristic Definition at line 432 of file heur_randrounding.c. References HEUR_NAME, NULL, performLPRandRounding(), SCIP_Bool, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPgetCutoffbound(), SCIPgetDepth(), SCIPgetLPObjval(), SCIPgetLPSolstat(), SCIPgetNLPs(), SCIPhasCurrentNodeLP(), SCIPheurGetData(), SCIPheurGetName(), SCIPincludeHeurRandrounding(), SCIPisGE(), and SCIPisRelaxSolValid(). Referenced by SCIP_DECL_HEUREXITSOL().
creates the rand rounding heuristic and includes it in SCIP
Definition at line 472 of file heur_randrounding.c. References DEFAULT_MAXPROPROUNDS, DEFAULT_ONCEPERNODE, DEFAULT_PROPAGATEONLYROOT, DEFAULT_USESIMPLEROUNDING, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPallocMemory, SCIPincludeHeurBasic(), SCIPsetHeurCopy(), SCIPsetHeurExit(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInit(), SCIPsetHeurInitsol(), and TRUE. Referenced by SCIP_DECL_HEURCOPY(), SCIP_DECL_HEUREXEC(), and SCIPincludeDefaultPlugins(). |