Detailed Description
methods for primal heuristics
Definition in file heur.c.
#include <assert.h>
#include <string.h>
#include "scip/def.h"
#include "scip/set.h"
#include "scip/clock.h"
#include "scip/paramset.h"
#include "scip/primal.h"
#include "scip/scip.h"
#include "scip/heur.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/misc.h"
#include "scip/struct_heur.h"
Go to the source code of this file.
Function Documentation
◆ SCIP_DECL_PARAMCHGD()
|
static |
method to call, when the priority of a heuristic was changed
Definition at line 91 of file heur.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetHeurPriority().
◆ resetDivesetStats()
|
static |
resets diving statistics
- Parameters
-
divesetstats dive set statistics
Definition at line 106 of file heur.c.
References SCIP_DivesetStats::maxdepth, SCIP_DivesetStats::maxsoldepth, SCIP_DivesetStats::mindepth, SCIP_DivesetStats::minsoldepth, SCIP_DivesetStats::nbestsolsfound, SCIP_DivesetStats::ncalls, SCIP_DivesetStats::nconflictsfound, SCIP_DivesetStats::nlpiterations, SCIP_DivesetStats::nlps, SCIP_DivesetStats::nsolcalls, SCIP_DivesetStats::nsolsfound, NULL, SCIP_DivesetStats::totaldepth, SCIP_DivesetStats::totalnbacktracks, SCIP_DivesetStats::totalnnodes, and SCIP_DivesetStats::totalsoldepth.
Referenced by SCIPdivesetReset().
◆ SCIPdivesetReset()
SCIP_RETCODE SCIPdivesetReset | ( | SCIP_DIVESET * | diveset, |
SCIP_SET * | set | ||
) |
resets diving settings counters
- Parameters
-
diveset diveset to be reset set global SCIP settings
Definition at line 130 of file heur.c.
References SCIP_Diveset::divesetstats, SCIP_Diveset::initialseed, NULL, SCIP_Diveset::randnumgen, resetDivesetStats(), SCIP_OKAY, SCIPrandomSetSeed(), and SCIPsetInitializeRandomSeed().
Referenced by SCIPdivesetCreate(), and SCIPheurInit().
◆ updateDivesetstats()
|
static |
update dive set statistics
- Parameters
-
divesetstats dive set statistics depth the depth reached this time nprobingnodes the number of probing nodes explored this time nbacktracks the number of backtracks during probing this time nsolsfound number of new solutions found this time nbestsolsfound number of new best solutions found this time nconflictsfound number of new conflicts found this time leavesol has the diving heuristic reached a feasible leaf
Definition at line 154 of file heur.c.
References MAX, SCIP_DivesetStats::maxdepth, SCIP_DivesetStats::maxsoldepth, MIN, SCIP_DivesetStats::mindepth, SCIP_DivesetStats::minsoldepth, SCIP_DivesetStats::nbestsolsfound, SCIP_DivesetStats::ncalls, SCIP_DivesetStats::nconflictsfound, SCIP_DivesetStats::nsolcalls, SCIP_DivesetStats::nsolsfound, SCIP_DivesetStats::totaldepth, SCIP_DivesetStats::totalnbacktracks, SCIP_DivesetStats::totalnnodes, and SCIP_DivesetStats::totalsoldepth.
Referenced by SCIPdivesetUpdateStats().
◆ divesetGetStats()
|
static |
returns the dive set statistics for the given context
- Parameters
-
diveset diveset to be reset divecontext context for diving statistics
Definition at line 188 of file heur.c.
References SCIP_Diveset::divesetstats, NULL, SCIP_DIVECONTEXT_ADAPTIVE, SCIP_DIVECONTEXT_SCHEDULER, SCIP_DIVECONTEXT_SINGLE, and SCIP_DIVECONTEXT_TOTAL.
Referenced by SCIPdivesetGetAvgDepth(), SCIPdivesetGetAvgSolutionDepth(), SCIPdivesetGetMaxDepth(), SCIPdivesetGetMaxSolutionDepth(), SCIPdivesetGetMinDepth(), SCIPdivesetGetMinSolutionDepth(), SCIPdivesetGetNBacktracks(), SCIPdivesetGetNCalls(), SCIPdivesetGetNConflicts(), SCIPdivesetGetNLPIterations(), SCIPdivesetGetNProbingNodes(), SCIPdivesetGetNSols(), SCIPdivesetGetNSolutionCalls(), SCIPdivesetGetSolSuccess(), SCIPdivesetUpdateLPStats(), and SCIPdivesetUpdateStats().
◆ SCIPdivesetUpdateStats()
void SCIPdivesetUpdateStats | ( | SCIP_DIVESET * | diveset, |
SCIP_STAT * | stat, | ||
int | depth, | ||
int | nprobingnodes, | ||
int | nbacktracks, | ||
SCIP_Longint | nsolsfound, | ||
SCIP_Longint | nbestsolsfound, | ||
SCIP_Longint | nconflictsfound, | ||
SCIP_Bool | leavesol, | ||
SCIP_DIVECONTEXT | divecontext | ||
) |
update diveset statistics and global diveset statistics
- Parameters
-
diveset diveset to be reset stat global SCIP statistics depth the depth reached this time nprobingnodes the number of probing nodes explored this time nbacktracks the number of backtracks during probing this time nsolsfound number of new solutions found this time nbestsolsfound number of new best solutions found this time nconflictsfound number of new conflicts found this time leavesol has the diving heuristic reached a feasible leaf divecontext context for diving statistics
Definition at line 203 of file heur.c.
References divesetGetStats(), SCIP_Stat::ndivesetcalls, NULL, SCIP_DIVECONTEXT_ADAPTIVE, SCIP_DIVECONTEXT_SCHEDULER, SCIP_DIVECONTEXT_SINGLE, SCIP_DIVECONTEXT_TOTAL, SCIP_Stat::totaldivesetdepth, and updateDivesetstats().
Referenced by SCIPupdateDivesetStats().
◆ heurAddDiveset()
|
static |
append diveset to heuristic array of divesets
- Parameters
-
heur the heuristic to which this dive setting belongs diveset pointer to the freshly created diveset
Definition at line 236 of file heur.c.
References BMSallocMemoryArray, BMSreallocMemoryArray, SCIP_Heur::divesets, SCIP_Diveset::heur, SCIP_Heur::ndivesets, NULL, SCIP_ALLOC, and SCIP_OKAY.
Referenced by SCIPdivesetCreate().
◆ SCIPdivesetCreate()
SCIP_RETCODE SCIPdivesetCreate | ( | SCIP_DIVESET ** | divesetptr, |
SCIP_HEUR * | heur, | ||
const char * | name, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_Real | minreldepth, | ||
SCIP_Real | maxreldepth, | ||
SCIP_Real | maxlpiterquot, | ||
SCIP_Real | maxdiveubquot, | ||
SCIP_Real | maxdiveavgquot, | ||
SCIP_Real | maxdiveubquotnosol, | ||
SCIP_Real | maxdiveavgquotnosol, | ||
SCIP_Real | lpresolvedomchgquot, | ||
int | lpsolvefreq, | ||
int | maxlpiterofs, | ||
unsigned int | initialseed, | ||
SCIP_Bool | backtrack, | ||
SCIP_Bool | onlylpbranchcands, | ||
SCIP_Bool | ispublic, | ||
SCIP_DIVETYPE | divetypemask, | ||
SCIP_DECL_DIVESETGETSCORE((*divesetgetscore)) | , | ||
SCIP_DECL_DIVESETAVAILABLE((*divesetavailable)) | |||
) |
create a set of diving heuristic settings
- Parameters
-
divesetptr pointer to the freshly created diveset heur the heuristic to which this dive setting belongs name name for the diveset, or NULL if the name of the heuristic should be used set global SCIP settings messagehdlr message handler blkmem block memory for parameter settings minreldepth minimal relative depth to start diving maxreldepth maximal relative depth to start diving maxlpiterquot maximal fraction of diving LP iterations compared to node LP iterations maxdiveubquot maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit) maxdiveavgquot maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit) maxdiveubquotnosol maximal UBQUOT when no solution was found yet (0.0: no limit) maxdiveavgquotnosol maximal AVGQUOT when no solution was found yet (0.0: no limit) lpresolvedomchgquot percentage of immediate domain changes during probing to trigger LP resolve lpsolvefreq LP solve frequency for (0: only if enough domain reductions are found by propagation) maxlpiterofs additional number of allowed LP iterations initialseed initial seed for random number generation backtrack use one level of backtracking if infeasibility is encountered? onlylpbranchcands should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection? ispublic is this dive set publicly available (ie., can be used by other primal heuristics?) divetypemask bit mask that represents the supported dive types by this dive set
Definition at line 266 of file heur.c.
References SCIP_Diveset::backtrack, BMSallocBlockMemory, BMSduplicateMemoryArray, SCIP_Diveset::divesetstats, SCIP_Diveset::divetypemask, FALSE, SCIP_Diveset::heur, heurAddDiveset(), SCIP_Diveset::initialseed, SCIP_Diveset::ispublic, SCIP_Diveset::lpresolvedomchgquot, SCIP_Diveset::lpsolvefreq, SCIP_Diveset::maxdiveavgquot, SCIP_Diveset::maxdiveavgquotnosol, SCIP_Diveset::maxdiveubquot, SCIP_Diveset::maxdiveubquotnosol, SCIP_Diveset::maxlpiterofs, SCIP_Diveset::maxlpiterquot, SCIP_Diveset::maxreldepth, SCIP_Diveset::minreldepth, SCIP_Diveset::name, NULL, SCIP_Diveset::onlylpbranchcands, paramname, SCIP_Diveset::randnumgen, SCIP_ALLOC, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_REAL_MAX, SCIPdivesetReset(), SCIPheurGetName(), SCIPrandomCreate(), SCIPsetAddBoolParam(), SCIPsetAddIntParam(), SCIPsetAddRealParam(), SCIPsnprintf(), SCIP_Diveset::sol, and TRUE.
Referenced by SCIPcreateDiveset().
◆ SCIPdivesetGetHeur()
SCIP_HEUR * SCIPdivesetGetHeur | ( | SCIP_DIVESET * | diveset | ) |
get the heuristic to which this diving setting belongs
- Parameters
-
diveset diving settings
Definition at line 416 of file heur.c.
References SCIP_Diveset::heur.
Referenced by SCIP_DECL_DIVESETAVAILABLE(), and SCIP_DECL_DIVESETGETSCORE().
◆ SCIPdivesetGetWorkSolution()
SCIP_SOL * SCIPdivesetGetWorkSolution | ( | SCIP_DIVESET * | diveset | ) |
get the working solution of this dive set
- Parameters
-
diveset diving settings
Definition at line 424 of file heur.c.
References NULL, and SCIP_Diveset::sol.
Referenced by SCIP_DECL_DIVESETGETSCORE().
◆ SCIPdivesetSetWorkSolution()
void SCIPdivesetSetWorkSolution | ( | SCIP_DIVESET * | diveset, |
SCIP_SOL * | sol | ||
) |
set the working solution for this dive set
- Parameters
-
diveset diving settings sol new working solution for this dive set, or NULL
Definition at line 434 of file heur.c.
References NULL, and SCIP_Diveset::sol.
Referenced by SCIPperformGenericDivingAlgorithm().
◆ updateDivesetstatsLP()
|
static |
updates LP related diveset statistics
- Parameters
-
divesetstats diving settings niterstoadd additional number of LP iterations to be added
Definition at line 775 of file heur.c.
References SCIP_DivesetStats::nlpiterations, SCIP_DivesetStats::nlps, and NULL.
Referenced by SCIPdivesetUpdateLPStats().
◆ SCIPdivesetUpdateLPStats()
void SCIPdivesetUpdateLPStats | ( | SCIP_DIVESET * | diveset, |
SCIP_STAT * | stat, | ||
SCIP_Longint | niterstoadd, | ||
SCIP_DIVECONTEXT | divecontext | ||
) |
update diveset LP statistics, should be called after every LP solved by this diving heuristic
- Parameters
-
diveset diving settings stat global SCIP statistics niterstoadd additional number of LP iterations to be added divecontext context for diving statistics
Definition at line 787 of file heur.c.
References divesetGetStats(), SCIP_Stat::ndivesetlpiterations, SCIP_Stat::ndivesetlps, NULL, SCIP_DIVECONTEXT_ADAPTIVE, SCIP_DIVECONTEXT_SCHEDULER, SCIP_DIVECONTEXT_SINGLE, SCIP_DIVECONTEXT_TOTAL, and updateDivesetstatsLP().
Referenced by SCIPupdateDivesetLPStats().
◆ divesetFree()
|
static |
frees memory of a diveset
- Parameters
-
divesetptr general diving settings blkmem block memory for parameter settings
Definition at line 808 of file heur.c.
References BMSfreeBlockMemory, BMSfreeMemoryArray, SCIP_Diveset::divesetstats, SCIP_Diveset::name, NULL, SCIP_Diveset::randnumgen, and SCIPrandomFree().
Referenced by SCIPheurFree().
◆ SCIPdivesetGetScore()
SCIP_RETCODE SCIPdivesetGetScore | ( | SCIP_DIVESET * | diveset, |
SCIP_SET * | set, | ||
SCIP_DIVETYPE | divetype, | ||
SCIP_VAR * | divecand, | ||
SCIP_Real | divecandsol, | ||
SCIP_Real | divecandfrac, | ||
SCIP_Real * | candscore, | ||
SCIP_Bool * | roundup | ||
) |
get the candidate score and preferred rounding direction for a candidate variable
- Parameters
-
diveset general diving settings set SCIP settings divetype the type of diving that should be applied divecand the candidate for which the branching direction is requested divecandsol LP solution value of the candidate divecandfrac fractionality of the candidate candscore pointer to store the candidate score roundup pointer to store whether preferred direction for diving is upwards
Definition at line 834 of file heur.c.
References SCIP_Diveset::divetypemask, NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPgetDivesetScore().
◆ SCIPdivesetIsAvailable()
SCIP_RETCODE SCIPdivesetIsAvailable | ( | SCIP_DIVESET * | diveset, |
SCIP_SET * | set, | ||
SCIP_Bool * | available | ||
) |
check specific preconditions for diving, e.g., if an incumbent solution is available
- Parameters
-
diveset diving heuristic settings set SCIP settings available pointer to store if the diving can run at the current solving stage
Definition at line 858 of file heur.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, and TRUE.
Referenced by SCIPisDivesetAvailable().
◆ SCIPheurCopyInclude()
SCIP_RETCODE SCIPheurCopyInclude | ( | SCIP_HEUR * | heur, |
SCIP_SET * | set | ||
) |
copies the given primal heuristic to a new scip
- Parameters
-
heur primal heuristic set SCIP_SET of SCIP to copy to
Definition at line 882 of file heur.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPsetDebugMsg.
Referenced by SCIPsetCopyPlugins().
◆ doHeurCreate()
|
static |
internal method for creating a primal heuristic
- Parameters
-
heur pointer to primal heuristic data structure set global SCIP settings messagehdlr message handler blkmem block memory for parameter settings name name of primal heuristic desc description of primal heuristic dispchar display character of primal heuristic priority priority of the primal heuristic freq frequency for calling primal heuristic freqofs frequency offset for calling primal heuristic maxdepth maximal depth level to call heuristic at (-1: no limit) timingmask positions in the node solving loop where heuristic should be executed usessubscip does the heuristic use a secondary SCIP instance? heurdata primal heuristic data
Definition at line 902 of file heur.c.
References BMSallocMemory, BMSclearMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_MAXTREEDEPTH, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), SCIPsnprintf(), and TRUE.
Referenced by SCIPheurCreate().
◆ SCIPheurCreate()
SCIP_RETCODE SCIPheurCreate | ( | SCIP_HEUR ** | heur, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
BMS_BLKMEM * | blkmem, | ||
const char * | name, | ||
const char * | desc, | ||
char | dispchar, | ||
int | priority, | ||
int | freq, | ||
int | freqofs, | ||
int | maxdepth, | ||
SCIP_HEURTIMING | timingmask, | ||
SCIP_Bool | usessubscip, | ||
SCIP_DECL_HEURCOPY((*heurcopy)) | , | ||
SCIP_DECL_HEURFREE((*heurfree)) | , | ||
SCIP_DECL_HEURINIT((*heurinit)) | , | ||
SCIP_DECL_HEUREXIT((*heurexit)) | , | ||
SCIP_DECL_HEURINITSOL((*heurinitsol)) | , | ||
SCIP_DECL_HEUREXITSOL((*heurexitsol)) | , | ||
SCIP_DECL_HEUREXEC((*heurexec)) | , | ||
SCIP_HEURDATA * | heurdata | ||
) |
creates a primal heuristic
- Parameters
-
heur pointer to primal heuristic data structure set global SCIP settings messagehdlr message handler blkmem block memory for parameter settings name name of primal heuristic desc description of primal heuristic dispchar display character of primal heuristic priority priority of the primal heuristic freq frequency for calling primal heuristic freqofs frequency offset for calling primal heuristic maxdepth maximal depth level to call heuristic at (-1: no limit) timingmask positions in the node solving loop where heuristic should be executed usessubscip does the heuristic use a secondary SCIP instance? heurdata primal heuristic data
Definition at line 989 of file heur.c.
References doHeurCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPheurFree().
Referenced by SCIPincludeHeur(), and SCIPincludeHeurBasic().
◆ SCIPheurFree()
SCIP_RETCODE SCIPheurFree | ( | SCIP_HEUR ** | heur, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem | ||
) |
calls destructor and frees memory of primal heuristic
- Parameters
-
heur pointer to primal heuristic data structure set global SCIP settings blkmem block memory
Definition at line 1028 of file heur.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, divesetFree(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
Referenced by SCIPheurCreate().
◆ SCIPheurInit()
SCIP_RETCODE SCIPheurInit | ( | SCIP_HEUR * | heur, |
SCIP_SET * | set | ||
) |
initializes primal heuristic
- Parameters
-
heur primal heuristic set global SCIP settings
Definition at line 1064 of file heur.c.
References SCIP_Heur::delaypos, SCIP_Heur::divesets, FALSE, SCIP_Heur::heurclock, SCIP_Heur::initialized, SCIP_Heur::name, SCIP_Heur::nbestsolsfound, SCIP_Heur::ncalls, SCIP_Heur::ndivesets, SCIP_Heur::nsolsfound, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPdivesetReset(), SCIPerrorMessage, SCIP_Heur::setuptime, and TRUE.
◆ SCIPheurExit()
SCIP_RETCODE SCIPheurExit | ( | SCIP_HEUR * | heur, |
SCIP_SET * | set | ||
) |
calls exit method of primal heuristic
- Parameters
-
heur primal heuristic set global SCIP settings
Definition at line 1117 of file heur.c.
References FALSE, SCIP_Heur::initialized, SCIP_Heur::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Heur::setuptime.
◆ SCIPheurInitsol()
SCIP_RETCODE SCIPheurInitsol | ( | SCIP_HEUR * | heur, |
SCIP_SET * | set | ||
) |
informs primal heuristic that the branch and bound process is being started
- Parameters
-
heur primal heuristic set global SCIP settings
Definition at line 1147 of file heur.c.
References SCIP_Heur::delaypos, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Heur::setuptime.
◆ SCIPheurExitsol()
SCIP_RETCODE SCIPheurExitsol | ( | SCIP_HEUR * | heur, |
SCIP_SET * | set | ||
) |
informs primal heuristic that the branch and bound process data is being freed
- Parameters
-
heur primal heuristic set global SCIP settings
Definition at line 1177 of file heur.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Heur::setuptime.
◆ SCIPheurShouldBeExecuted()
SCIP_Bool SCIPheurShouldBeExecuted | ( | SCIP_HEUR * | heur, |
int | depth, | ||
int | lpstateforkdepth, | ||
SCIP_HEURTIMING | heurtiming, | ||
SCIP_Bool * | delayed | ||
) |
should the heuristic be executed at the given depth, frequency, timing, ...
- Parameters
-
heur primal heuristic depth depth of current node lpstateforkdepth depth of the last node with solved LP heurtiming current point in the node solving process delayed pointer to store whether the heuristic should be delayed
Definition at line 1201 of file heur.c.
References SCIP_Heur::delaypos, FALSE, SCIP_Heur::freq, SCIP_Heur::freqofs, SCIP_Heur::maxdepth, SCIP_Bool, SCIP_HEURTIMING_AFTERLPNODE, SCIP_HEURTIMING_AFTERLPPLUNGE, SCIP_HEURTIMING_AFTERPSEUDONODE, SCIP_HEURTIMING_AFTERPSEUDOPLUNGE, SCIP_HEURTIMING_BEFOREPRESOL, SCIP_HEURTIMING_DURINGPRESOLLOOP, SCIP_Heur::timingmask, and TRUE.
Referenced by SCIPheurExec(), and SCIPprimalHeuristics().
◆ SCIPheurExec()
SCIP_RETCODE SCIPheurExec | ( | SCIP_HEUR * | heur, |
SCIP_SET * | set, | ||
SCIP_PRIMAL * | primal, | ||
int | depth, | ||
int | lpstateforkdepth, | ||
SCIP_HEURTIMING | heurtiming, | ||
SCIP_Bool | nodeinfeasible, | ||
int * | ndelayedheurs, | ||
SCIP_RESULT * | result | ||
) |
calls execution method of primal heuristic
- Parameters
-
heur primal heuristic set global SCIP settings primal primal data depth depth of current node lpstateforkdepth depth of the last node with solved LP heurtiming current point in the node solving process nodeinfeasible was the current node already detected to be infeasible? ndelayedheurs pointer to count the number of delayed heuristics result pointer to store the result of the callback method
Definition at line 1263 of file heur.c.
References SCIP_Heur::delaypos, FALSE, SCIP_Heur::freq, SCIP_Heur::freqofs, SCIP_Heur::heurclock, SCIP_Heur::maxdepth, SCIP_Heur::name, SCIP_Heur::nbestsolsfound, SCIP_Primal::nbestsolsfound, SCIP_Heur::ncalls, SCIP_Heur::nsolsfound, SCIP_Primal::nsolsfound, NULL, SCIP_Bool, SCIP_CALL, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_FOUNDSOL, SCIP_HEURTIMING_BEFOREPRESOL, SCIP_HEURTIMING_DURINGPRESOLLOOP, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_UNBOUNDED, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPheurShouldBeExecuted(), and SCIPsetDebugMsg.
Referenced by SCIPprimalHeuristics().
◆ SCIPheurSetCopy()
void SCIPheurSetCopy | ( | SCIP_HEUR * | heur, |
SCIP_DECL_HEURCOPY((*heurcopy)) | |||
) |
sets copy callback of primal heuristic
- Parameters
-
heur primal heuristic
Definition at line 1387 of file heur.c.
References NULL.
Referenced by SCIPsetHeurCopy().
◆ SCIPheurSetFree()
void SCIPheurSetFree | ( | SCIP_HEUR * | heur, |
SCIP_DECL_HEURFREE((*heurfree)) | |||
) |
sets destructor callback of primal heuristic
- Parameters
-
heur primal heuristic
Definition at line 1398 of file heur.c.
References NULL.
Referenced by SCIPsetHeurFree().
◆ SCIPheurSetInit()
void SCIPheurSetInit | ( | SCIP_HEUR * | heur, |
SCIP_DECL_HEURINIT((*heurinit)) | |||
) |
sets initialization callback of primal heuristic
- Parameters
-
heur primal heuristic
Definition at line 1409 of file heur.c.
References NULL.
Referenced by SCIPsetHeurInit().
◆ SCIPheurSetExit()
void SCIPheurSetExit | ( | SCIP_HEUR * | heur, |
SCIP_DECL_HEUREXIT((*heurexit)) | |||
) |
sets deinitialization callback of primal heuristic
- Parameters
-
heur primal heuristic
Definition at line 1420 of file heur.c.
References NULL.
Referenced by SCIPsetHeurExit().
◆ SCIPheurSetInitsol()
void SCIPheurSetInitsol | ( | SCIP_HEUR * | heur, |
SCIP_DECL_HEURINITSOL((*heurinitsol)) | |||
) |
sets solving process initialization callback of primal heuristic
- Parameters
-
heur primal heuristic
Definition at line 1431 of file heur.c.
References NULL.
Referenced by SCIPsetHeurInitsol().
◆ SCIPheurSetExitsol()
void SCIPheurSetExitsol | ( | SCIP_HEUR * | heur, |
SCIP_DECL_HEUREXITSOL((*heurexitsol)) | |||
) |
sets solving process deinitialization callback of primal heuristic
- Parameters
-
heur primal heuristic
Definition at line 1442 of file heur.c.
References NULL.
Referenced by SCIPsetHeurExitsol().
◆ SCIPheurSetPriority()
sets priority of primal heuristic
- Parameters
-
heur primal heuristic set global SCIP settings priority new priority of the primal heuristic
Definition at line 1524 of file heur.c.
References FALSE, NULL, and SCIP_Heur::priority.
Referenced by SCIPsetHeurPriority().
◆ SCIPheurEnableOrDisableClocks()
enables or disables all clocks of heur
, depending on the value of the flag
- Parameters
-
heur the heuristic for which all clocks should be enabled or disabled enable should the clocks of the heuristic be enabled?
Definition at line 1619 of file heur.c.
References SCIP_Heur::heurclock, NULL, SCIPclockEnableOrDisable(), and SCIP_Heur::setuptime.
◆ fillVariableGraph()
|
static |
- Parameters
-
scip SCIP data structure vargraph variable graph data structure for breadth-first-search neighborhoods relaxdenseconss should dense constraints (at least as dense as density
) be ignored by connectivity graph?relaxdensity density (with respect to number of variables) to relax constraint from graph nrelaxedconstraints pointer to store the number of constraints that were relaxed, or NULL if not needed
Definition at line 1893 of file heur.c.
References NULL, SCIP_VGraph::nvarconss, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPallocBufferArray, SCIPcalcMemGrowSize(), SCIPconsIsChecked(), SCIPfreeBufferArray, SCIPgetConsNVars(), SCIPgetConss(), SCIPgetConsVars(), SCIPgetNConss(), SCIPgetNVars(), SCIPreallocBlockMemoryArray, SCIPvarGetProbindex(), SCIP_VGraph::varconss, and SCIP_VGraph::varconssize.
Referenced by SCIPvariableGraphCreate().