Scippy

    SCIP

    Solving Constraint Integer Programs

    heur.h File Reference

    Detailed Description

    internal methods for primal heuristics

    Author
    Tobias Achterberg

    Definition in file heur.h.

    #include "scip/def.h"
    #include "blockmemshell/memory.h"
    #include "scip/type_retcode.h"
    #include "scip/type_result.h"
    #include "scip/type_set.h"
    #include "scip/type_primal.h"
    #include "scip/type_heur.h"
    #include "scip/pub_heur.h"
    #include "scip/stat.h"

    Go to the source code of this file.

    Functions

    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)))
     
    SCIP_RETCODE SCIPdivesetReset (SCIP_DIVESET *diveset, SCIP_SET *set)
     
    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)
     
    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)
     
    SCIP_RETCODE SCIPdivesetIsAvailable (SCIP_DIVESET *diveset, SCIP_SET *set, SCIP_Bool *available)
     
    void SCIPdivesetUpdateLPStats (SCIP_DIVESET *diveset, SCIP_STAT *stat, SCIP_Longint niterstoadd, SCIP_DIVECONTEXT divecontext)
     
    SCIP_RETCODE SCIPheurCopyInclude (SCIP_HEUR *heur, SCIP_SET *set)
     
    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)
     
    SCIP_RETCODE SCIPheurFree (SCIP_HEUR **heur, SCIP_SET *set, BMS_BLKMEM *blkmem)
     
    SCIP_RETCODE SCIPheurInit (SCIP_HEUR *heur, SCIP_SET *set)
     
    SCIP_RETCODE SCIPheurExit (SCIP_HEUR *heur, SCIP_SET *set)
     
    SCIP_RETCODE SCIPheurInitsol (SCIP_HEUR *heur, SCIP_SET *set)
     
    SCIP_RETCODE SCIPheurExitsol (SCIP_HEUR *heur, SCIP_SET *set)
     
    SCIP_Bool SCIPheurShouldBeExecuted (SCIP_HEUR *heur, int depth, int lpstateforkdepth, SCIP_HEURTIMING heurtiming, SCIP_Bool *delayed)
     
    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)
     
    void SCIPheurSetPriority (SCIP_HEUR *heur, SCIP_SET *set, int priority)
     
    void SCIPheurSetCopy (SCIP_HEUR *heur, SCIP_DECL_HEURCOPY((*heurcopy)))
     
    void SCIPheurSetFree (SCIP_HEUR *heur, SCIP_DECL_HEURFREE((*heurfree)))
     
    void SCIPheurSetInit (SCIP_HEUR *heur, SCIP_DECL_HEURINIT((*heurinit)))
     
    void SCIPheurSetExit (SCIP_HEUR *heur, SCIP_DECL_HEUREXIT((*heurexit)))
     
    void SCIPheurSetInitsol (SCIP_HEUR *heur, SCIP_DECL_HEURINITSOL((*heurinitsol)))
     
    void SCIPheurSetExitsol (SCIP_HEUR *heur, SCIP_DECL_HEUREXITSOL((*heurexitsol)))
     
    void SCIPheurEnableOrDisableClocks (SCIP_HEUR *heur, SCIP_Bool enable)
     

    Function Documentation

    ◆ 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
    divesetptrpointer to the freshly created diveset
    heurthe heuristic to which this dive setting belongs
    namename for the diveset, or NULL if the name of the heuristic should be used
    setglobal SCIP settings
    messagehdlrmessage handler
    blkmemblock memory for parameter settings
    minreldepthminimal relative depth to start diving
    maxreldepthmaximal relative depth to start diving
    maxlpiterquotmaximal fraction of diving LP iterations compared to node LP iterations
    maxdiveubquotmaximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
    maxdiveavgquotmaximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit)
    maxdiveubquotnosolmaximal UBQUOT when no solution was found yet (0.0: no limit)
    maxdiveavgquotnosolmaximal AVGQUOT when no solution was found yet (0.0: no limit)
    lpresolvedomchgquotpercentage of immediate domain changes during probing to trigger LP resolve
    lpsolvefreqLP solve frequency for (0: only if enough domain reductions are found by propagation)
    maxlpiterofsadditional number of allowed LP iterations
    initialseedinitial seed for random number generation
    backtrackuse one level of backtracking if infeasibility is encountered?
    onlylpbranchcandsshould only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection?
    ispublicis this dive set publicly available (ie., can be used by other primal heuristics?)
    divetypemaskbit 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().

    ◆ SCIPdivesetReset()

    SCIP_RETCODE SCIPdivesetReset ( SCIP_DIVESET diveset,
    SCIP_SET set 
    )

    resets diving settings counters

    Parameters
    divesetdiveset to be reset
    setglobal 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().

    ◆ 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
    divesetdiveset to be reset
    statglobal SCIP statistics
    depththe depth reached this time
    nprobingnodesthe number of probing nodes explored this time
    nbacktracksthe number of backtracks during probing this time
    nsolsfoundnumber of new solutions found this time
    nbestsolsfoundnumber of new best solutions found this time
    nconflictsfoundnumber of new conflicts found this time
    leavesolhas the diving heuristic reached a feasible leaf
    divecontextcontext 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().

    ◆ 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
    divesetgeneral diving settings
    setSCIP settings
    divetypethe type of diving that should be applied
    divecandthe candidate for which the branching direction is requested
    divecandsolLP solution value of the candidate
    divecandfracfractionality of the candidate
    candscorepointer to store the candidate score
    rounduppointer 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
    divesetdiving heuristic settings
    setSCIP settings
    availablepointer 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().

    ◆ 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
    divesetdiving settings
    statglobal SCIP statistics
    niterstoaddadditional number of LP iterations to be added
    divecontextcontext 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().

    ◆ SCIPheurCopyInclude()

    SCIP_RETCODE SCIPheurCopyInclude ( SCIP_HEUR heur,
    SCIP_SET set 
    )

    copies the given primal heuristic to a new scip

    Parameters
    heurprimal heuristic
    setSCIP_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().

    ◆ 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
    heurpointer to primal heuristic data structure
    setglobal SCIP settings
    messagehdlrmessage handler
    blkmemblock memory for parameter settings
    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
    usessubscipdoes the heuristic use a secondary SCIP instance?
    heurdataprimal heuristic data

    Definition at line 990 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
    heurpointer to primal heuristic data structure
    setglobal SCIP settings
    blkmemblock memory

    Definition at line 1029 of file heur.c.

    References BMSfreeMemory, BMSfreeMemoryArrayNull, divesetFree(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().

    Referenced by SCIPheurCreate().

    ◆ SCIPheurInit()

    ◆ SCIPheurExit()

    SCIP_RETCODE SCIPheurExit ( SCIP_HEUR heur,
    SCIP_SET set 
    )

    calls exit method of primal heuristic

    Parameters
    heurprimal heuristic
    setglobal SCIP settings

    Definition at line 1118 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
    heurprimal heuristic
    setglobal SCIP settings

    Definition at line 1148 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
    heurprimal heuristic
    setglobal SCIP settings

    Definition at line 1178 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
    heurprimal heuristic
    depthdepth of current node
    lpstateforkdepthdepth of the last node with solved LP
    heurtimingcurrent point in the node solving process
    delayedpointer to store whether the heuristic should be delayed

    Definition at line 1202 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
    heurprimal heuristic
    setglobal SCIP settings
    primalprimal data
    depthdepth of current node
    lpstateforkdepthdepth of the last node with solved LP
    heurtimingcurrent point in the node solving process
    nodeinfeasiblewas the current node already detected to be infeasible?
    ndelayedheurspointer to count the number of delayed heuristics
    resultpointer to store the result of the callback method

    Definition at line 1264 of file heur.c.

    References SCIP_Heur::delaypos, SCIP_Heur::exact, 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().

    ◆ SCIPheurSetPriority()

    void SCIPheurSetPriority ( SCIP_HEUR heur,
    SCIP_SET set,
    int  priority 
    )

    sets priority of primal heuristic

    Parameters
    heurprimal heuristic
    setglobal SCIP settings
    prioritynew priority of the primal heuristic

    Definition at line 1538 of file heur.c.

    References FALSE, NULL, and SCIP_Heur::priority.

    Referenced by SCIPsetHeurPriority().

    ◆ SCIPheurSetCopy()

    void SCIPheurSetCopy ( SCIP_HEUR heur,
    SCIP_DECL_HEURCOPY((*heurcopy))   
    )

    sets copy callback of primal heuristic

    Parameters
    heurprimal heuristic

    Definition at line 1391 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
    heurprimal heuristic

    Definition at line 1402 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
    heurprimal heuristic

    Definition at line 1413 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
    heurprimal heuristic

    Definition at line 1424 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
    heurprimal heuristic

    Definition at line 1435 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
    heurprimal heuristic

    Definition at line 1446 of file heur.c.

    References NULL.

    Referenced by SCIPsetHeurExitsol().

    ◆ SCIPheurEnableOrDisableClocks()

    void SCIPheurEnableOrDisableClocks ( SCIP_HEUR heur,
    SCIP_Bool  enable 
    )

    enables or disables all clocks of heur, depending on the value of the flag

    Parameters
    heurthe heuristic for which all clocks should be enabled or disabled
    enableshould the clocks of the heuristic be enabled?

    Definition at line 1633 of file heur.c.

    References SCIP_Heur::heurclock, NULL, SCIPclockEnableOrDisable(), and SCIP_Heur::setuptime.