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 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 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 44 of file heur_rounding.c. Referenced by SCIPincludeHeurRounding(). Function Documentation
update row violation arrays after a row's activity value changed
Definition at line 64 of file heur_rounding.c. References NULL, SCIP_Bool, SCIP_Real, SCIPisFeasGT(), SCIPisFeasLT(), SCIProwGetLhs(), SCIProwGetLPPos(), SCIProwGetRhs(), and updateActivities(). Referenced by updateActivities().
update row activities after a variable's solution value changed
Definition at line 122 of file heur_rounding.c. References NULL, SCIP_OKAY, SCIP_Real, SCIPcolGetNLPNonz(), SCIPcolGetRows(), SCIPcolGetVals(), SCIPinfinity(), SCIPisInfinity(), SCIProwGetLPPos(), SCIProwIsInLP(), SCIProwIsLocal(), SCIPvarGetCol(), selectRounding(), and updateViolations(). Referenced by updateViolations().
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 193 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(), SCIPvarGetType(), and selectIncreaseRounding(). Referenced by selectDecreaseRounding(), selectIncreaseRounding(), and updateActivities().
returns a variable, that increases the activity of the row
Definition at line 295 of file heur_rounding.c. References selectDecreaseRounding(), and selectRounding(). Referenced by selectRounding().
returns a variable, that decreases the activity of the row
Definition at line 310 of file heur_rounding.c. References selectEssentialRounding(), and selectRounding(). Referenced by selectIncreaseRounding().
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 329 of file heur_rounding.c. References NULL, SCIP_DECL_HEURCOPY(), SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPfeasCeil(), SCIPfeasFloor(), SCIPgetCutoffbound(), SCIPgetSolVal(), SCIPinfinity(), SCIPisFeasIntegral(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetObj(), and SCIPvarGetType(). Referenced by selectDecreaseRounding().
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 412 of file heur_rounding.c. Referenced by selectEssentialRounding().
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 426 of file heur_rounding.c.
initialization method of primal heuristic (called after problem was transformed) Definition at line 445 of file heur_rounding.c.
deinitialization method of primal heuristic (called before transformed problem is freed) Definition at line 463 of file heur_rounding.c.
solving process initialization method of primal heuristic (called when branch and bound process is about to begin) Definition at line 479 of file heur_rounding.c.
solving process deinitialization method of primal heuristic (called before branch and bound process data is freed) Definition at line 498 of file heur_rounding.c.
execution method of primal heuristic Definition at line 509 of file heur_rounding.c.
creates the rounding heuristic with infeasibility recovering and includes it in SCIP
Definition at line 741 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 SCIPincludeDefaultPlugins(). |