Detailed Descriptionhandle partial solutions for linear problems with indicators and otherwise continuous variables For linear problems with indicators and otherwise continuous variables, the indicator constraint handler can produce partial solutions, i.e., values for the indicator variables. This partial solution can be passed to this heuristic, which then fixes these values and solves an LP. Additionally a local search for a better solution is added. Definition in file heur_indicator.c. #include <assert.h> #include <string.h> #include "scip/scip.h" #include "scip/heur_indicator.h" #include "scip/cons_indicator.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 33 of file heur_indicator.c. Referenced by SCIP_DECL_HEURCOPY(), SCIPheurPassIndicator(), and SCIPincludeHeurIndicator().
Definition at line 34 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
Definition at line 35 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
Definition at line 36 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
Definition at line 37 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
Definition at line 38 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
Definition at line 39 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
Definition at line 40 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
does the heuristic use a secondary SCIP instance? Definition at line 41 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
whether the one-opt heuristic should be started Definition at line 43 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator().
Try to improve other solutions by one-opt? Definition at line 44 of file heur_indicator.c. Referenced by SCIPincludeHeurIndicator(). Function Documentation
try one-opt on given solution
Definition at line 65 of file heur_indicator.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPbacktrackProbing(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPconsIsActive(), SCIPcreateSol(), SCIPdebugMessage, SCIPendProbing(), SCIPgetBinaryVarIndicator(), SCIPgetDepth(), SCIPgetDepthLimit(), SCIPgetLPSolstat(), SCIPgetSolTransObj(), SCIPlinkLPSol(), SCIPnewProbingNode(), SCIPpropagateProbing(), SCIPsolveProbingLP(), SCIPstartProbing(), SCIPtrySolFree(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE. Referenced by SCIP_DECL_HEUREXEC(), and trySolCandidate().
try given solution
Definition at line 199 of file heur_indicator.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPconsIsActive(), SCIPcreateSol(), SCIPdebugMessage, SCIPendProbing(), SCIPgetBinaryVarIndicator(), SCIPgetDepth(), SCIPgetDepthLimit(), SCIPgetLPSolstat(), SCIPgetSolTransObj(), SCIPlinkLPSol(), SCIPnewProbingNode(), SCIPprintSol(), SCIPpropagateProbing(), SCIPsolveProbingLP(), SCIPstartProbing(), SCIPtrySolFree(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), TRUE, and tryOneOpt(). Referenced by SCIP_DECL_HEUREXEC().
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 337 of file heur_indicator.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurIndicator().
initialization method of primal heuristic (called after problem was transformed) Definition at line 351 of file heur_indicator.c. References NULL, SCIP_OKAY, SCIPfindConshdlr(), SCIPheurGetData(), and SCIPwarningMessage().
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 376 of file heur_indicator.c. References NULL, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, SCIPfreeMemory, SCIPheurGetData(), and SCIPheurSetData().
execution method of primal heuristic Definition at line 400 of file heur_indicator.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_FOUNDSOL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconshdlrGetConss(), SCIPconshdlrGetNConss(), SCIPconsIsActive(), SCIPdebugMessage, SCIPfreeBlockMemoryArray, SCIPfreeBufferArray, SCIPgetBestSol(), SCIPgetBinaryVarIndicator(), SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetSolOrigObj(), SCIPgetSolVal(), SCIPgetSubscipDepth(), SCIPheurGetData(), SCIPisFeasIntegral(), SCIPsolGetHeur(), TRUE, tryOneOpt(), and trySolCandidate().
creates the indicator primal heuristic and includes it in SCIP
Definition at line 515 of file heur_indicator.c. References DEFAULT_IMPROVESOLS, DEFAULT_ONEOPT, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPallocMemory, SCIPincludeHeurBasic(), SCIPsetHeurCopy(), SCIPsetHeurFree(), SCIPsetHeurInit(), and TRUE. Referenced by SCIP_DECL_HEURCOPY(), and SCIPincludeDefaultPlugins().
pass partial solution for indicator variables to heuristic
Definition at line 558 of file heur_indicator.c. References BMScopyMemoryArray, HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPduplicateBlockMemoryArray, SCIPfreeBlockMemoryArray, SCIPheurGetData(), and SCIPheurGetName(). Referenced by extendToCover(). |