SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches

Detailed Description

methods for primal heuristic plugins

Topics

 Special Methods
 methods commonly used by primal heuristics
 

Functions

 SCIP_DECL_SORTPTRCOMP (SCIPheurComp)
 
 SCIP_DECL_SORTPTRCOMP (SCIPheurCompPriority)
 
 SCIP_DECL_SORTPTRCOMP (SCIPheurCompName)
 
SCIP_HEURDATASCIPheurGetData (SCIP_HEUR *heur)
 
void SCIPheurSetData (SCIP_HEUR *heur, SCIP_HEURDATA *heurdata)
 
const char * SCIPheurGetName (SCIP_HEUR *heur)
 
const char * SCIPheurGetDesc (SCIP_HEUR *heur)
 
char SCIPheurGetDispchar (SCIP_HEUR *heur)
 
SCIP_HEURTIMING SCIPheurGetTimingmask (SCIP_HEUR *heur)
 
void SCIPheurSetTimingmask (SCIP_HEUR *heur, SCIP_HEURTIMING timingmask)
 
SCIP_Bool SCIPheurUsesSubscip (SCIP_HEUR *heur)
 
int SCIPheurGetPriority (SCIP_HEUR *heur)
 
int SCIPheurGetFreq (SCIP_HEUR *heur)
 
void SCIPheurSetFreq (SCIP_HEUR *heur, int freq)
 
int SCIPheurGetFreqofs (SCIP_HEUR *heur)
 
int SCIPheurGetMaxdepth (SCIP_HEUR *heur)
 
SCIP_Longint SCIPheurGetNCalls (SCIP_HEUR *heur)
 
SCIP_Longint SCIPheurGetNSolsFound (SCIP_HEUR *heur)
 
SCIP_Longint SCIPheurGetNBestSolsFound (SCIP_HEUR *heur)
 
SCIP_Bool SCIPheurIsInitialized (SCIP_HEUR *heur)
 
SCIP_Real SCIPheurGetSetupTime (SCIP_HEUR *heur)
 
SCIP_Real SCIPheurGetTime (SCIP_HEUR *heur)
 
SCIP_DIVESET ** SCIPheurGetDivesets (SCIP_HEUR *heur)
 
int SCIPheurGetNDivesets (SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPincludeHeur (SCIP *scip, 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)
 
SCIP_RETCODE SCIPincludeHeurBasic (SCIP *scip, SCIP_HEUR **heur, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, SCIP_HEURTIMING timingmask, SCIP_Bool usessubscip, SCIP_DECL_HEUREXEC((*heurexec)), SCIP_HEURDATA *heurdata)
 
SCIP_RETCODE SCIPsetHeurCopy (SCIP *scip, SCIP_HEUR *heur,)
 
SCIP_RETCODE SCIPsetHeurFree (SCIP *scip, SCIP_HEUR *heur,)
 
SCIP_RETCODE SCIPsetHeurInit (SCIP *scip, SCIP_HEUR *heur,)
 
SCIP_RETCODE SCIPsetHeurExit (SCIP *scip, SCIP_HEUR *heur,)
 
SCIP_RETCODE SCIPsetHeurInitsol (SCIP *scip, SCIP_HEUR *heur,)
 
SCIP_RETCODE SCIPsetHeurExitsol (SCIP *scip, SCIP_HEUR *heur,)
 
SCIP_HEURSCIPfindHeur (SCIP *scip, const char *name)
 
SCIP_HEUR ** SCIPgetHeurs (SCIP *scip)
 
int SCIPgetNHeurs (SCIP *scip)
 
SCIP_RETCODE SCIPsetHeurPriority (SCIP *scip, SCIP_HEUR *heur, int priority)
 

Function Documentation

◆ SCIP_DECL_SORTPTRCOMP() [1/3]

SCIP_DECL_SORTPTRCOMP ( SCIPheurComp )

compares two heuristics w.r.t. to their delay positions and priorities

Definition at line 51 of file heur.c.

References assert(), SCIP_Heur::delaypos, SCIP_Heur::freq, SCIP_Heur::name, SCIP_Heur::ncalls, NULL, and SCIP_Heur::priority.

◆ SCIP_DECL_SORTPTRCOMP() [2/3]

SCIP_DECL_SORTPTRCOMP ( SCIPheurCompPriority )

compares two heuristics w.r.t. to their priority values

Definition at line 77 of file heur.c.

References SCIPheurGetPriority().

◆ SCIP_DECL_SORTPTRCOMP() [3/3]

SCIP_DECL_SORTPTRCOMP ( SCIPheurCompName )

comparison method for sorting heuristics w.r.t. to their name

Definition at line 84 of file heur.c.

References SCIPheurGetName().

◆ SCIPheurGetData()

SCIP_HEURDATA * SCIPheurGetData ( SCIP_HEUR * heur)

gets user data of primal heuristic

Parameters
heurprimal heuristic

Definition at line 1364 of file heur.c.

References assert(), SCIP_Heur::heurdata, and NULL.

Referenced by addCandSolCyckerlin(), addLocalbranchingConstraintAndObjcutoff(), applyRepair(), createNewSol(), createSolFromNLP(), createSolFromNLP(), createSolFromSubScipSol(), createSolFromSubScipSol(), determineLimits(), determineLimits(), determineLimits(), executeDivingHeuristic(), executeHeuristic(), executeHeuristic(), executeLNSHeuristic(), initRest(), processNLPSol(), reoptimize(), SCIP_DECL_DIVESETAVAILABLE(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_TABLEOUTPUT(), SCIP_DECL_TABLEOUTPUT(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyLockFixings(), SCIPapplyProximity(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPdeleteSubproblemProximity(), SCIPfindObjHeur(), SCIPgetObjHeur(), SCIPgetStartCandidateHeurSubNlp(), SCIPheurPassIndicator(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPheurSyncPassSol(), SCIPinitHeurOptcumulative(), SCIPinitializeHeurListScheduling(), SCIPreoptsolsGetNCheckedsols(), SCIPreoptsolsGetNImprovingsols(), SCIPupdateStartpointHeurSubNlp(), setupAndSolveSubscip(), setupAndSolveSubscip(), setupAndSolveSubscipLocalbranching(), setupAndSolveSubscipMutation(), setupAndSolveSubscipTrustregion(), setupSubScip(), setupSubScip(), setupSubScip(), solveSubNLP(), solveSubproblem(), and storeSolution().

◆ SCIPheurSetData()

◆ SCIPheurGetName()

const char * SCIPheurGetName ( SCIP_HEUR * heur)

gets name of primal heuristic

Parameters
heurprimal heuristic

Definition at line 1453 of file heur.c.

References assert(), SCIP_Heur::name, and NULL.

Referenced by notifyNlhdlrNewsol(), paramsetSetHeuristicsAggressive(), paramsetSetHeuristicsDefault(), paramsetSetHeuristicsFast(), paramsetSetHeuristicsOff(), presolve(), presolveRound(), proposeFeasibleSolution(), SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA(), SCIP_DECL_CONSCHECK(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEURCOPY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURFREE(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_SORTPTRCOMP(), SCIPapplyProximity(), SCIPcopyConcurrentSolvingStats(), SCIPdivesetCreate(), SCIPgetStartCandidateHeurSubNlp(), SCIPheurCopyInclude(), SCIPheurPassIndicator(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPheurSyncPassSol(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPparamsetSetEmphasis(), SCIPparamsetSetToSubscipsOff(), SCIPperformGenericDivingAlgorithm(), SCIPprimalHeuristics(), SCIPprintHeuristicStatistics(), SCIPprintSolutionStatistics(), SCIPreoptAddSol(), SCIPupdateStartpointHeurSubNlp(), soltreeAddSol(), and solveComponent().

◆ SCIPheurGetDesc()

const char * SCIPheurGetDesc ( SCIP_HEUR * heur)

gets description of primal heuristic

Parameters
heurprimal heuristic

Definition at line 1463 of file heur.c.

References assert(), SCIP_Heur::desc, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

◆ SCIPheurGetDispchar()

char SCIPheurGetDispchar ( SCIP_HEUR * heur)

gets display character of primal heuristic

Parameters
heurprimal heuristic

Definition at line 1473 of file heur.c.

References assert(), SCIP_Heur::dispchar, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), and SCIP_DECL_DISPOUTPUT().

◆ SCIPheurGetTimingmask()

SCIP_HEURTIMING SCIPheurGetTimingmask ( SCIP_HEUR * heur)

returns the timing mask of the heuristic

Parameters
heurprimal heuristic

Definition at line 1483 of file heur.c.

References assert(), NULL, and SCIP_Heur::timingmask.

◆ SCIPheurSetTimingmask()

◆ SCIPheurUsesSubscip()

SCIP_Bool SCIPheurUsesSubscip ( SCIP_HEUR * heur)

does the heuristic use a secondary SCIP instance?

Parameters
heurprimal heuristic

Definition at line 1504 of file heur.c.

References assert(), NULL, SCIP_Bool, and SCIP_Heur::usessubscip.

Referenced by paramsetSetHeuristicsFast(), SCIPparamsetSetEmphasis(), and SCIPparamsetSetToSubscipsOff().

◆ SCIPheurGetPriority()

int SCIPheurGetPriority ( SCIP_HEUR * heur)

gets priority of primal heuristic

Parameters
heurprimal heuristic

Definition at line 1514 of file heur.c.

References assert(), NULL, and SCIP_Heur::priority.

Referenced by includeDivingHeurs(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SORTPTRCOMP(), and SCIPprimalHeuristics().

◆ SCIPheurGetFreq()

int SCIPheurGetFreq ( SCIP_HEUR * heur)

gets frequency of primal heuristic

Parameters
heurprimal heuristic

Definition at line 1538 of file heur.c.

References assert(), SCIP_Heur::freq, and NULL.

Referenced by checkParameters(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINITSOL(), and SCIPupdateStartpointHeurSubNlp().

◆ SCIPheurSetFreq()

void SCIPheurSetFreq ( SCIP_HEUR * heur,
int freq )

sets frequency of primal heuristic

Parameters
heurprimal heuristic
freqnew frequency of heuristic

Definition at line 1548 of file heur.c.

References assert(), SCIP_Heur::freq, and NULL.

Referenced by SCIP_DECL_HEUREXEC(), SCIPheurSyncPassSol(), and storeSolution().

◆ SCIPheurGetFreqofs()

int SCIPheurGetFreqofs ( SCIP_HEUR * heur)

gets frequency offset of primal heuristic

Parameters
heurprimal heuristic

Definition at line 1559 of file heur.c.

References assert(), SCIP_Heur::freqofs, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_HEURINITSOL(), and SCIP_DECL_HEURINITSOL().

◆ SCIPheurGetMaxdepth()

int SCIPheurGetMaxdepth ( SCIP_HEUR * heur)

gets maximal depth level for calling primal heuristic (returns -1, if no depth limit exists)

Parameters
heurprimal heuristic

Definition at line 1569 of file heur.c.

References assert(), SCIP_Heur::maxdepth, and NULL.

◆ SCIPheurGetNCalls()

◆ SCIPheurGetNSolsFound()

SCIP_Longint SCIPheurGetNSolsFound ( SCIP_HEUR * heur)

gets the number of primal feasible solutions found by this heuristic

Parameters
heurprimal heuristic

Definition at line 1589 of file heur.c.

References assert(), SCIP_Heur::nsolsfound, NULL, and SCIP_Longint.

Referenced by getLPIterlimit(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIPprintHeuristicStatistics(), and SCIPstatistic().

◆ SCIPheurGetNBestSolsFound()

◆ SCIPheurIsInitialized()

SCIP_Bool SCIPheurIsInitialized ( SCIP_HEUR * heur)

is primal heuristic initialized?

Parameters
heurprimal heuristic

Definition at line 1609 of file heur.c.

References assert(), SCIP_Heur::initialized, NULL, and SCIP_Bool.

◆ SCIPheurGetSetupTime()

SCIP_Real SCIPheurGetSetupTime ( SCIP_HEUR * heur)

gets time in seconds used in this heuristic for setting up for next stages

Parameters
heurprimal heuristic

Definition at line 1631 of file heur.c.

References assert(), NULL, SCIP_Real, SCIPclockGetTime(), and SCIP_Heur::setuptime.

Referenced by SCIPprintHeuristicStatistics().

◆ SCIPheurGetTime()

SCIP_Real SCIPheurGetTime ( SCIP_HEUR * heur)

gets time in seconds used in this heuristic

Parameters
heurprimal heuristic

Definition at line 1641 of file heur.c.

References assert(), SCIP_Heur::heurclock, NULL, SCIP_Real, and SCIPclockGetTime().

Referenced by reoptimize(), SCIPprintHeuristicStatistics(), and SCIPstatistic().

◆ SCIPheurGetDivesets()

SCIP_DIVESET ** SCIPheurGetDivesets ( SCIP_HEUR * heur)

returns array of divesets of this primal heuristic, or NULL if it has no divesets

Parameters
heurprimal heuristic

Definition at line 1651 of file heur.c.

References assert(), SCIP_Heur::divesets, and NULL.

Referenced by findAndStoreDivesets(), includeDivingHeurs(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), and SCIPprintHeuristicStatistics().

◆ SCIPheurGetNDivesets()

int SCIPheurGetNDivesets ( SCIP_HEUR * heur)

returns the number of divesets of this primal heuristic

Parameters
heurprimal heuristic

Definition at line 1661 of file heur.c.

References assert(), SCIP_Heur::ndivesets, and NULL.

Referenced by findAndStoreDivesets(), includeDivingHeurs(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), and SCIPprintHeuristicStatistics().

◆ SCIPincludeHeur()

SCIP_RETCODE SCIPincludeHeur ( SCIP * scip,
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 and includes it in SCIP.

Note
method has all heuristic callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeHeurBasic() and setter functions if you seek for a method which is less likely to change in future releases
Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
namename of primal heuristic
descdescription of primal heuristic
dispchardisplay character of primal heuristic
prioritypriority of the primal heuristic
freqfrequency for calling primal heuristic
freqofsfrequency offset for calling primal heuristic
maxdepthmaximal depth level to call heuristic at (-1: no limit)
timingmaskpositions in the node solving loop where heuristic should be executed; see definition of SCIP_HEURTIMING for possible values
usessubscipdoes the heuristic use a secondary SCIP instance?
heurdataprimal heuristic data

Definition at line 67 of file scip_heur.c.

References FALSE, heurdata, maxdepth, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_HEURCOPY, SCIP_DECL_HEUREXEC, SCIP_DECL_HEUREXIT, SCIP_DECL_HEUREXITSOL, SCIP_DECL_HEURFREE, SCIP_DECL_HEURINIT, SCIP_DECL_HEURINITSOL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPfindHeur(), SCIPheurCreate(), SCIPsetIncludeHeur(), and TRUE.

Referenced by SCIPincludeHeurLocks(), SCIPincludeHeurOptcumulative(), and SCIPincludeObjHeur().

◆ SCIPincludeHeurBasic()

SCIP_RETCODE SCIPincludeHeurBasic ( SCIP * scip,
SCIP_HEUR ** heur,
const char * name,
const char * desc,
char dispchar,
int priority,
int freq,
int freqofs,
int maxdepth,
SCIP_HEURTIMING timingmask,
SCIP_Bool usessubscip,
SCIP_DECL_HEUREXEC((*heurexec)) ,
SCIP_HEURDATA * heurdata )

creates a primal heuristic and includes it in SCIP with its most fundamental callbacks. All non-fundamental (or optional) callbacks as, e. g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetHeurCopy(), SCIPsetHeurFree(), SCIPsetHeurInit(), SCIPsetHeurExit(), SCIPsetHeurInitsol(), and SCIPsetHeurExitsol()

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeHeur() instead
Parameters
scipSCIP data structure
heurpointer to primal heuristic
namename of primal heuristic
descdescription of primal heuristic
dispchardisplay character of primal heuristic
prioritypriority of the primal heuristic
freqfrequency for calling primal heuristic
freqofsfrequency offset for calling primal heuristic
maxdepthmaximal depth level to call heuristic at (-1: no limit)
timingmaskpositions in the node solving loop where heuristic should be executed; see definition of SCIP_HEURTIMING for possible values
usessubscipdoes the heuristic use a secondary SCIP instance?
heurdataprimal heuristic data

Definition at line 117 of file scip_heur.c.

References assert(), FALSE, heurdata, maxdepth, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_HEUREXEC, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPfindHeur(), SCIPheurCreate(), SCIPsetIncludeHeur(), and TRUE.

Referenced by SCIPincludeHeurActconsdiving(), SCIPincludeHeurAdaptivediving(), SCIPincludeHeurAlns(), SCIPincludeHeurBound(), SCIPincludeHeurClique(), SCIPincludeHeurCoefdiving(), SCIPincludeHeurCompletesol(), SCIPincludeHeurConflictdiving(), SCIPincludeHeurCrossover(), SCIPincludeHeurCycGreedy(), SCIPincludeHeurCycKerlin(), SCIPincludeHeurDins(), SCIPincludeHeurDistributiondiving(), SCIPincludeHeurDps(), SCIPincludeHeurDualval(), SCIPincludeHeurFarkasdiving(), SCIPincludeHeurFeaspump(), SCIPincludeHeurFixandinfer(), SCIPincludeHeurFracdiving(), SCIPincludeHeurFuzzyround(), SCIPincludeHeurGins(), SCIPincludeHeurGuideddiving(), SCIPincludeHeurIndicator(), SCIPincludeHeurIndicatordiving(), SCIPincludeHeurInit(), SCIPincludeHeurIntdiving(), SCIPincludeHeurIntshifting(), SCIPincludeHeurLinesearchdiving(), SCIPincludeHeurListScheduling(), SCIPincludeHeurLocalbranching(), SCIPincludeHeurLpface(), SCIPincludeHeurMpec(), SCIPincludeHeurMultistart(), SCIPincludeHeurMutation(), SCIPincludeHeurNlpdiving(), SCIPincludeHeurObjpscostdiving(), SCIPincludeHeurOctane(), SCIPincludeHeurOfins(), SCIPincludeHeurOneopt(), SCIPincludeHeurPADM(), SCIPincludeHeurProximity(), SCIPincludeHeurPscostdiving(), SCIPincludeHeurRedsize(), SCIPincludeHeurReoptsols(), SCIPincludeHeurRepair(), SCIPincludeHeurRins(), SCIPincludeHeurRootsoldiving(), SCIPincludeHeurRounding(), SCIPincludeHeurScheduler(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurShifting(), SCIPincludeHeurSimplerounding(), SCIPincludeHeurSubNlp(), SCIPincludeHeurSync(), SCIPincludeHeurTrivial(), SCIPincludeHeurTrivialnegation(), SCIPincludeHeurTrustregion(), SCIPincludeHeurTrySol(), SCIPincludeHeurTwoopt(), SCIPincludeHeurUndercover(), SCIPincludeHeurVbounds(), SCIPincludeHeurVeclendiving(), SCIPincludeHeurZeroobj(), and SCIPincludeHeurZirounding().

◆ SCIPsetHeurCopy()

SCIP_RETCODE SCIPsetHeurCopy ( SCIP * scip,
SCIP_HEUR * heur )

sets copy method of primal heuristic

Parameters
scipSCIP data structure
heurprimal heuristic copy method of primal heuristic or NULL if you don't want to copy your plugin into sub-SCIPs

Definition at line 162 of file scip_heur.c.

References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_HEURCOPY, SCIP_OKAY, SCIPcheckStage(), SCIPheurSetCopy(), and TRUE.

Referenced by SCIPincludeHeurActconsdiving(), SCIPincludeHeurAdaptivediving(), SCIPincludeHeurAlns(), SCIPincludeHeurBound(), SCIPincludeHeurClique(), SCIPincludeHeurCoefdiving(), SCIPincludeHeurCompletesol(), SCIPincludeHeurConflictdiving(), SCIPincludeHeurCrossover(), SCIPincludeHeurCycGreedy(), SCIPincludeHeurCycKerlin(), SCIPincludeHeurDins(), SCIPincludeHeurDistributiondiving(), SCIPincludeHeurDps(), SCIPincludeHeurFarkasdiving(), SCIPincludeHeurFeaspump(), SCIPincludeHeurFixandinfer(), SCIPincludeHeurFracdiving(), SCIPincludeHeurGins(), SCIPincludeHeurGuideddiving(), SCIPincludeHeurIndicator(), SCIPincludeHeurIndicatordiving(), SCIPincludeHeurInit(), SCIPincludeHeurIntdiving(), SCIPincludeHeurIntshifting(), SCIPincludeHeurLinesearchdiving(), SCIPincludeHeurLocalbranching(), SCIPincludeHeurLpface(), SCIPincludeHeurMpec(), SCIPincludeHeurMultistart(), SCIPincludeHeurMutation(), SCIPincludeHeurNlpdiving(), SCIPincludeHeurObjpscostdiving(), SCIPincludeHeurOctane(), SCIPincludeHeurOfins(), SCIPincludeHeurOneopt(), SCIPincludeHeurPADM(), SCIPincludeHeurProximity(), SCIPincludeHeurPscostdiving(), SCIPincludeHeurRedsize(), SCIPincludeHeurReoptsols(), SCIPincludeHeurRins(), SCIPincludeHeurRootsoldiving(), SCIPincludeHeurRounding(), SCIPincludeHeurScheduler(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurShifting(), SCIPincludeHeurSimplerounding(), SCIPincludeHeurSubNlp(), SCIPincludeHeurTrivial(), SCIPincludeHeurTrivialnegation(), SCIPincludeHeurTrustregion(), SCIPincludeHeurTrySol(), SCIPincludeHeurTwoopt(), SCIPincludeHeurUndercover(), SCIPincludeHeurVbounds(), SCIPincludeHeurVeclendiving(), SCIPincludeHeurZeroobj(), and SCIPincludeHeurZirounding().

◆ SCIPsetHeurFree()

SCIP_RETCODE SCIPsetHeurFree ( SCIP * scip,
SCIP_HEUR * heur )

sets destructor method of primal heuristic

Parameters
scipSCIP data structure
heurprimal heuristic destructor of primal heuristic

Definition at line 178 of file scip_heur.c.

References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_HEURFREE, SCIP_OKAY, SCIPcheckStage(), SCIPheurSetFree(), and TRUE.

Referenced by SCIPincludeHeurActconsdiving(), SCIPincludeHeurAdaptivediving(), SCIPincludeHeurAlns(), SCIPincludeHeurBound(), SCIPincludeHeurClique(), SCIPincludeHeurCoefdiving(), SCIPincludeHeurCompletesol(), SCIPincludeHeurConflictdiving(), SCIPincludeHeurCrossover(), SCIPincludeHeurCycGreedy(), SCIPincludeHeurCycKerlin(), SCIPincludeHeurDins(), SCIPincludeHeurDistributiondiving(), SCIPincludeHeurDps(), SCIPincludeHeurDualval(), SCIPincludeHeurFarkasdiving(), SCIPincludeHeurFeaspump(), SCIPincludeHeurFixandinfer(), SCIPincludeHeurFracdiving(), SCIPincludeHeurGins(), SCIPincludeHeurGuideddiving(), SCIPincludeHeurIndicator(), SCIPincludeHeurIndicatordiving(), SCIPincludeHeurInit(), SCIPincludeHeurIntdiving(), SCIPincludeHeurLinesearchdiving(), SCIPincludeHeurListScheduling(), SCIPincludeHeurLocalbranching(), SCIPincludeHeurLpface(), SCIPincludeHeurMpec(), SCIPincludeHeurMultistart(), SCIPincludeHeurMutation(), SCIPincludeHeurNlpdiving(), SCIPincludeHeurObjpscostdiving(), SCIPincludeHeurOctane(), SCIPincludeHeurOfins(), SCIPincludeHeurOneopt(), SCIPincludeHeurPADM(), SCIPincludeHeurProximity(), SCIPincludeHeurPscostdiving(), SCIPincludeHeurRedsize(), SCIPincludeHeurReoptsols(), SCIPincludeHeurRepair(), SCIPincludeHeurRins(), SCIPincludeHeurRootsoldiving(), SCIPincludeHeurRounding(), SCIPincludeHeurScheduler(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurSimplerounding(), SCIPincludeHeurSubNlp(), SCIPincludeHeurSync(), SCIPincludeHeurTrustregion(), SCIPincludeHeurTrySol(), SCIPincludeHeurTwoopt(), SCIPincludeHeurUndercover(), SCIPincludeHeurVbounds(), SCIPincludeHeurVeclendiving(), SCIPincludeHeurZeroobj(), and SCIPincludeHeurZirounding().

◆ SCIPsetHeurInit()

SCIP_RETCODE SCIPsetHeurInit ( SCIP * scip,
SCIP_HEUR * heur )

sets initialization method of primal heuristic

Parameters
scipSCIP data structure
heurprimal heuristic initialize primal heuristic

Definition at line 194 of file scip_heur.c.

References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_HEURINIT, SCIP_OKAY, SCIPcheckStage(), SCIPheurSetInit(), and TRUE.

Referenced by SCIPincludeHeurActconsdiving(), SCIPincludeHeurAdaptivediving(), SCIPincludeHeurAlns(), SCIPincludeHeurClique(), SCIPincludeHeurCoefdiving(), SCIPincludeHeurConflictdiving(), SCIPincludeHeurCrossover(), SCIPincludeHeurCycGreedy(), SCIPincludeHeurCycKerlin(), SCIPincludeHeurDistributiondiving(), SCIPincludeHeurDualval(), SCIPincludeHeurFarkasdiving(), SCIPincludeHeurFeaspump(), SCIPincludeHeurFracdiving(), SCIPincludeHeurGins(), SCIPincludeHeurGuideddiving(), SCIPincludeHeurIndicator(), SCIPincludeHeurIndicatordiving(), SCIPincludeHeurIntdiving(), SCIPincludeHeurIntshifting(), SCIPincludeHeurLinesearchdiving(), SCIPincludeHeurLocalbranching(), SCIPincludeHeurLpface(), SCIPincludeHeurMultistart(), SCIPincludeHeurMutation(), SCIPincludeHeurNlpdiving(), SCIPincludeHeurObjpscostdiving(), SCIPincludeHeurOctane(), SCIPincludeHeurOneopt(), SCIPincludeHeurProximity(), SCIPincludeHeurPscostdiving(), SCIPincludeHeurReoptsols(), SCIPincludeHeurRepair(), SCIPincludeHeurRins(), SCIPincludeHeurRootsoldiving(), SCIPincludeHeurRounding(), SCIPincludeHeurScheduler(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurShifting(), SCIPincludeHeurSimplerounding(), SCIPincludeHeurSubNlp(), SCIPincludeHeurTrustregion(), SCIPincludeHeurTwoopt(), SCIPincludeHeurUndercover(), SCIPincludeHeurVeclendiving(), SCIPincludeHeurZeroobj(), and SCIPincludeHeurZirounding().

◆ SCIPsetHeurExit()

◆ SCIPsetHeurInitsol()

◆ SCIPsetHeurExitsol()

◆ SCIPfindHeur()

◆ SCIPgetHeurs()

SCIP_HEUR ** SCIPgetHeurs ( SCIP * scip)

returns the array of currently available primal heuristics

Parameters
scipSCIP data structure

Definition at line 271 of file scip_heur.c.

References assert(), and NULL.

Referenced by checkParameters(), findAndStoreDivesets(), includeDivingHeurs(), paramsetSetHeuristicsFast(), SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

◆ SCIPgetNHeurs()

int SCIPgetNHeurs ( SCIP * scip)

returns the number of currently available primal heuristics

Parameters
scipSCIP data structure

Definition at line 282 of file scip_heur.c.

References assert(), and NULL.

Referenced by checkParameters(), findAndStoreDivesets(), includeDivingHeurs(), paramsetSetHeuristicsFast(), SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

◆ SCIPsetHeurPriority()

SCIP_RETCODE SCIPsetHeurPriority ( SCIP * scip,
SCIP_HEUR * heur,
int priority )

sets the priority of a primal heuristic

Parameters
scipSCIP data structure
heurprimal heuristic
prioritynew priority of the primal heuristic

Definition at line 293 of file scip_heur.c.

References assert(), NULL, SCIP_OKAY, and SCIPheurSetPriority().

Referenced by SCIP_DECL_PARAMCHGD().