Detailed Descriptionimprovement heuristic which uses an auxiliary objective instead of the original objective function which is itself added as a constraint to a sub-SCIP instance. The heuristic was presented by Matteo Fischetti and Michele Monaci Definition in file heur_proximity.c. #include <assert.h> #include <string.h> #include "scip/heur_proximity.h" #include "scip/cons_linear.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 33 of file heur_proximity.c. Referenced by SCIP_DECL_HEURCOPY(), SCIPapplyProximity(), SCIPdeleteSubproblemProximity(), and SCIPincludeHeurProximity().
Definition at line 34 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 35 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 36 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 37 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 38 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 39 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 40 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
does the heuristic use a secondary SCIP instance? Definition at line 41 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 44 of file heur_proximity.c. Referenced by SCIP_DECL_EVENTEXEC(), and SCIPapplyProximity().
Definition at line 45 of file heur_proximity.c. Referenced by SCIPapplyProximity().
Definition at line 49 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 50 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 51 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 52 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 53 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 54 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 55 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 56 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 57 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 58 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 59 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 60 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 61 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity().
Definition at line 62 of file heur_proximity.c. Referenced by SCIPincludeHeurProximity(). Function Documentation
optimizes the continuous variables in an LP diving by fixing all integer variables to the given solution values
Definition at line 106 of file heur_proximity.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPchgVarLbDive(), SCIPchgVarUbDive(), SCIPdebugMessage, SCIPendDive(), SCIPgetLPSolstat(), SCIPgetNLPIterations(), SCIPgetSolVal(), SCIPgetVarsData(), SCIPisNLPConstructed(), SCIPlinkLPSol(), SCIPsolveDiveLP(), SCIPstartDive(), SCIPtrySol(), SCIPvarGetLbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPwarningMessage(), and TRUE. Referenced by createNewSol().
creates a new solution for the original problem by copying the solution of the subproblem
Definition at line 191 of file heur_proximity.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPallocBufferArray, SCIPcreateSol(), SCIPfreeBufferArray, SCIPfreeSol(), SCIPgetNOrigVars(), SCIPgetObjNorm(), SCIPgetSolOrigObj(), SCIPgetSolVals(), SCIPgetVarsData(), SCIPisLPConstructed(), SCIPisZero(), SCIPsetSolVal(), SCIPsetSolVals(), SCIPstatisticMessage, SCIPtrySol(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarIsIntegral(), solveLp(), and TRUE. Referenced by SCIPapplyProximity().
sets solving parameters for the subproblem created by the heuristic
Definition at line 286 of file heur_proximity.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIPfindBranchrule(), SCIPfindConshdlr(), SCIPfindNodesel(), SCIPisParamFixed(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetPresolving(), SCIPsetSeparating(), SCIPsetSubscipsOff(), and TRUE. Referenced by SCIPapplyProximity().
creates the rows of the subproblem
Definition at line 364 of file heur_proximity.c. References FALSE, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPallocBufferArray, SCIPcolGetVar(), SCIPcreateConsLinear(), SCIPfreeBufferArray, SCIPgetLPRowsData(), SCIPreleaseCons(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIProwIsLocal(), SCIPvarGetProbindex(), and TRUE. Referenced by SCIPapplyProximity().
frees the subproblem
Definition at line 425 of file heur_proximity.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPfree(), SCIPfreeBlockMemoryArray, SCIPhashmapFree(), and SCIPreleaseCons(). Referenced by SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXITSOL(), SCIPapplyProximity(), and SCIPdeleteSubproblemProximity().
Definition at line 459 of file heur_proximity.c. References EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_NODESOLVED, SCIP_LPSOLSTAT_ITERLIMIT, SCIP_OKAY, SCIPeventGetType(), SCIPeventhdlrGetName(), SCIPgetLPSolstat(), SCIPgetNLPIterations(), and SCIPinterruptSolve().
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 485 of file heur_proximity.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurProximity().
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 499 of file heur_proximity.c. References NULL, SCIP_OKAY, SCIPfreeMemory, SCIPheurGetData(), and SCIPheurSetData().
initialization method of primal heuristic (called after problem was transformed) Definition at line 520 of file heur_proximity.c. References NULL, SCIP_OKAY, and SCIPheurGetData().
Definition at line 549 of file heur_proximity.c. References deleteSubproblem(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPheurGetData().
execution method of primal heuristic Definition at line 570 of file heur_proximity.c. References deleteSubproblem(), FALSE, MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_FOUNDSOL, SCIP_Longint, SCIP_OKAY, SCIPapplyProximity(), SCIPdebugMessage, SCIPdeleteSubproblemProximity(), SCIPgetNBinVars(), SCIPgetNNodes(), SCIPgetNObjVars(), SCIPgetNRootFirstLPIterations(), SCIPgetNVars(), SCIPheurGetData(), SCIPisStopped(), and TRUE.
frees the sub-MIP created by proximity
Definition at line 674 of file heur_proximity.c. References deleteSubproblem(), HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPfindHeur(), and SCIPheurGetData(). Referenced by SCIP_DECL_HEUREXEC().
main procedure of the proximity heuristic, creates and solves a sub-SCIP
Definition at line 701 of file heur_proximity.c. References createNewSol(), createRows(), deleteSubproblem(), EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, HEUR_NAME, MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_EVENTTYPE_NODESOLVED, SCIP_FOUNDSOL, SCIP_Longint, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIPaddCoefLinear(), SCIPaddCons(), SCIPallocBlockMemoryArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPcatchEvent(), SCIPchgRhsLinear(), SCIPchgVarLbGlobal(), SCIPchgVarObj(), SCIPchgVarUbGlobal(), SCIPcopy(), SCIPcopyPlugins(), SCIPcopyVars(), SCIPcreate(), SCIPcreateConsBasicLinear(), SCIPcreateProbBasic(), SCIPdebug, SCIPdebugMessage, SCIPdropEvent(), SCIPerrorMessage, SCIPfeasCeil(), SCIPfeasFloor(), SCIPfeastol(), SCIPfindEventhdlr(), SCIPfreeTransform(), SCIPgetBestSol(), SCIPgetGap(), SCIPgetLowerbound(), SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetNBinVars(), SCIPgetNFixedVars(), SCIPgetNLPIterations(), SCIPgetNNodes(), SCIPgetNRootLPIterations(), SCIPgetNSols(), SCIPgetNSolsFound(), SCIPgetPresolvingTime(), SCIPgetPrimalbound(), SCIPgetRealParam(), SCIPgetRhsLinear(), SCIPgetSolTransObj(), SCIPgetSolVal(), SCIPgetSolvingTime(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapGetImage(), SCIPheurGetData(), SCIPheurGetName(), SCIPincludeEventhdlrBasic(), SCIPinfinity(), SCIPisFeasEQ(), SCIPisFeasLE(), SCIPisFeasLT(), SCIPisFeasZero(), SCIPisInfinity(), SCIPisObjIntegral(), SCIPpresolve(), SCIPprintStatistics(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetRealParam(), SCIPsolGetHeur(), SCIPsolGetIndex(), SCIPsolGetNodenum(), SCIPsolIsOriginal(), SCIPsolve(), SCIPstatisticMessage, SCIPtransformProb(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIPwarningMessage(), setupSubproblem(), and TRUE. Referenced by SCIP_DECL_HEUREXEC().
creates the proximity primal heuristic and includes it in SCIP
Definition at line 1081 of file heur_proximity.c. References DEFAULT_BINVARQUOT, DEFAULT_LPITERSQUOT, DEFAULT_MAXLPITERS, DEFAULT_MAXNODES, DEFAULT_MINGAP, DEFAULT_MINIMPROVE, DEFAULT_MINLPITERS, DEFAULT_MINNODES, DEFAULT_NODESOFS, DEFAULT_NODESQUOT, DEFAULT_RESTART, DEFAULT_USEFINALLP, DEFAULT_USELPROWS, DEFAULT_WAITINGNODES, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_LONGINT_MAX, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddLongintParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPincludeHeurBasic(), SCIPinfinity(), SCIPsetHeurCopy(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInit(), and TRUE. Referenced by SCIP_DECL_HEURCOPY(), and SCIPincludeDefaultPlugins(). |