All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed DescriptionLP rounding heuristic that tries to recover from intermediate infeasibilities. Definition in file heur_rounding.c. Go to the source code of this file.
Macro Definition Documentation
Definition at line 29 of file heur_rounding.c. Referenced by SCIP_DECL_HEURCOPY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINITSOL(), and SCIPincludeHeurRounding().
Definition at line 30 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding().
Definition at line 31 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding().
Definition at line 32 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding().
Definition at line 33 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding().
Definition at line 34 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding().
Definition at line 35 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding().
Definition at line 36 of file heur_rounding.c. Referenced by SCIP_DECL_HEUREXITSOL(), and SCIPincludeHeurRounding().
does the heuristic use a secondary SCIP instance? Definition at line 37 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding().
number of calls per found solution that are considered as standard success, a higher factor causes the heuristic to be called more often Definition at line 39 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding().
should the heuristic only be called once per node? Definition at line 42 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding(). Function Documentation
update row violation arrays after a row's activity value changed
Definition at line 62 of file heur_rounding.c. References NULL, SCIP_Bool, SCIP_Real, SCIPisFeasGT(), SCIPisFeasLT(), SCIProwGetLhs(), SCIProwGetLPPos(), and SCIProwGetRhs(). Referenced by updateActivities().
update row activities after a variable's solution value changed
Definition at line 120 of file heur_rounding.c. References NULL, SCIP_OKAY, SCIP_Real, SCIPcolGetNLPNonz(), SCIPcolGetRows(), SCIPcolGetVals(), SCIPinfinity(), SCIPisInfinity(), SCIProwGetLPPos(), SCIProwIsInLP(), SCIProwIsLocal(), SCIPvarGetCol(), and updateViolations(). Referenced by SCIP_DECL_HEUREXEC().
returns a variable, that pushes activity of the row in the given direction with minimal negative impact on other rows; if variables have equal impact, chooses the one with best objective value improvement in corresponding direction; rounding in a direction is forbidden, if this forces the objective value over the upper bound
Definition at line 191 of file heur_rounding.c. References NULL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcolGetVar(), SCIPfeasCeil(), SCIPfeasFloor(), SCIPgetCutoffbound(), SCIPgetSolVal(), SCIPinfinity(), SCIPisFeasIntegral(), SCIProwGetCols(), SCIProwGetNLPNonz(), SCIProwGetVals(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetObj(), and SCIPvarGetType(). Referenced by selectDecreaseRounding(), and selectIncreaseRounding().
returns a variable, that increases the activity of the row
Definition at line 293 of file heur_rounding.c. References selectRounding(). Referenced by SCIP_DECL_HEUREXEC().
returns a variable, that decreases the activity of the row
Definition at line 308 of file heur_rounding.c. References selectRounding(). Referenced by SCIP_DECL_HEUREXEC().
returns a fractional variable, that has most impact on rows in opposite direction, i.e. that is most crucial to fix in the other direction; if variables have equal impact, chooses the one with best objective value improvement in corresponding direction; rounding in a direction is forbidden, if this forces the objective value over the upper bound
Definition at line 327 of file heur_rounding.c. References NULL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPfeasCeil(), SCIPfeasFloor(), SCIPgetCutoffbound(), SCIPgetSolVal(), SCIPinfinity(), SCIPisFeasIntegral(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetObj(), and SCIPvarGetType(). Referenced by SCIP_DECL_HEUREXEC().
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 410 of file heur_rounding.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurRounding().
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 424 of file heur_rounding.c. References HEUR_NAME, NULL, SCIP_OKAY, SCIPfreeMemory, SCIPheurGetData(), SCIPheurGetName(), and SCIPheurSetData().
initialization method of primal heuristic (called after problem was transformed) Definition at line 443 of file heur_rounding.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateSol(), SCIPheurGetData(), and SCIPheurGetName().
deinitialization method of primal heuristic (called before transformed problem is freed) Definition at line 461 of file heur_rounding.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeSol(), SCIPheurGetData(), and SCIPheurGetName().
solving process initialization method of primal heuristic (called when branch and bound process is about to begin) Definition at line 477 of file heur_rounding.c. References HEUR_NAME, NULL, SCIP_HEURTIMING_AFTERLPNODE, SCIP_OKAY, SCIPheurGetData(), SCIPheurGetName(), and SCIPheurSetTimingmask().
solving process deinitialization method of primal heuristic (called before branch and bound process data is freed) Definition at line 496 of file heur_rounding.c. References HEUR_TIMING, SCIP_OKAY, and SCIPheurSetTimingmask().
execution method of primal heuristic Definition at line 507 of file heur_rounding.c. References FALSE, HEUR_NAME, NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_FOUNDSOL, SCIP_Longint, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPdebugMessage, SCIPfeasCeil(), SCIPfeasFloor(), SCIPfreeBufferArray, SCIPgetCutoffbound(), SCIPgetLPBranchCands(), SCIPgetLPObjval(), SCIPgetLPRowsData(), SCIPgetLPSolstat(), SCIPgetNLPs(), SCIPgetNNodes(), SCIPgetRowActivity(), SCIPgetSolOrigObj(), SCIPgetSolTransObj(), SCIPhasCurrentNodeLP(), SCIPheurGetData(), SCIPheurGetName(), SCIPheurGetNBestSolsFound(), SCIPheurGetNCalls(), SCIPheurGetNSolsFound(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisGE(), SCIPisLE(), SCIPlinkLPSol(), SCIPprintSol(), SCIPretransformObj(), SCIProwGetLhs(), SCIProwGetLPPos(), SCIProwGetName(), SCIProwGetRhs(), SCIProwIsLocal(), SCIPsetSolVal(), SCIPtrySol(), SCIPvarGetName(), SCIPvarGetObj(), selectDecreaseRounding(), selectEssentialRounding(), selectIncreaseRounding(), TRUE, and updateActivities().
creates the rounding heuristic with infeasibility recovering and includes it in SCIP
Definition at line 739 of file heur_rounding.c. References DEFAULT_ONCEPERNODE, DEFAULT_SUCCESSFACTOR, 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(), and SCIPincludeDefaultPlugins(). |