Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

    methods and datastructures for propagators

    Author
    Tobias Achterberg
    Timo Berthold

    Definition in file prop.c.

    #include <assert.h>
    #include <string.h>
    #include "scip/def.h"
    #include "scip/set.h"
    #include "scip/stat.h"
    #include "scip/clock.h"
    #include "scip/paramset.h"
    #include "scip/var.h"
    #include "scip/scip.h"
    #include "scip/prop.h"
    #include "scip/pub_message.h"
    #include "scip/pub_misc.h"
    #include "scip/struct_prop.h"

    Go to the source code of this file.

    Functions

     SCIP_DECL_SORTPTRCOMP (SCIPpropComp)
     
     SCIP_DECL_SORTPTRCOMP (SCIPpropCompPresol)
     
     SCIP_DECL_SORTPTRCOMP (SCIPpropCompName)
     
    static SCIP_DECL_PARAMCHGD (paramChgdPropPriority)
     
    static SCIP_DECL_PARAMCHGD (paramChgdPropPresolPriority)
     
    SCIP_RETCODE SCIPpropCopyInclude (SCIP_PROP *prop, SCIP_SET *set)
     
    static SCIP_RETCODE doPropCreate (SCIP_PROP **prop, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int priority, int freq, SCIP_Bool delay, SCIP_PROPTIMING timingmask, int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming, SCIP_DECL_PROPCOPY((*propcopy)), SCIP_DECL_PROPFREE((*propfree)), SCIP_DECL_PROPINIT((*propinit)), SCIP_DECL_PROPEXIT((*propexit)), SCIP_DECL_PROPINITPRE((*propinitpre)), SCIP_DECL_PROPEXITPRE((*propexitpre)), SCIP_DECL_PROPINITSOL((*propinitsol)), SCIP_DECL_PROPEXITSOL((*propexitsol)), SCIP_DECL_PROPPRESOL((*proppresol)), SCIP_DECL_PROPEXEC((*propexec)), SCIP_DECL_PROPRESPROP((*propresprop)), SCIP_PROPDATA *propdata)
     
    SCIP_RETCODE SCIPpropCreate (SCIP_PROP **prop, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int priority, int freq, SCIP_Bool delay, SCIP_PROPTIMING timingmask, int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming, SCIP_DECL_PROPCOPY((*propcopy)), SCIP_DECL_PROPFREE((*propfree)), SCIP_DECL_PROPINIT((*propinit)), SCIP_DECL_PROPEXIT((*propexit)), SCIP_DECL_PROPINITPRE((*propinitpre)), SCIP_DECL_PROPEXITPRE((*propexitpre)), SCIP_DECL_PROPINITSOL((*propinitsol)), SCIP_DECL_PROPEXITSOL((*propexitsol)), SCIP_DECL_PROPPRESOL((*proppresol)), SCIP_DECL_PROPEXEC((*propexec)), SCIP_DECL_PROPRESPROP((*propresprop)), SCIP_PROPDATA *propdata)
     
    SCIP_RETCODE SCIPpropFree (SCIP_PROP **prop, SCIP_SET *set)
     
    SCIP_RETCODE SCIPpropInit (SCIP_PROP *prop, SCIP_SET *set)
     
    SCIP_RETCODE SCIPpropExit (SCIP_PROP *prop, SCIP_SET *set)
     
    SCIP_RETCODE SCIPpropInitpre (SCIP_PROP *prop, SCIP_SET *set)
     
    SCIP_RETCODE SCIPpropExitpre (SCIP_PROP *prop, SCIP_SET *set)
     
    SCIP_RETCODE SCIPpropInitsol (SCIP_PROP *prop, SCIP_SET *set)
     
    SCIP_RETCODE SCIPpropExitsol (SCIP_PROP *prop, SCIP_SET *set, SCIP_Bool restart)
     
    SCIP_RETCODE SCIPpropPresol (SCIP_PROP *prop, SCIP_SET *set, SCIP_PRESOLTIMING timing, int nrounds, int *nfixedvars, int *naggrvars, int *nchgvartypes, int *nchgbds, int *naddholes, int *ndelconss, int *naddconss, int *nupgdconss, int *nchgcoefs, int *nchgsides, SCIP_RESULT *result)
     
    SCIP_RETCODE SCIPpropExec (SCIP_PROP *prop, SCIP_SET *set, SCIP_STAT *stat, int depth, SCIP_Bool execdelayed, SCIP_Bool instrongbranching, SCIP_PROPTIMING proptiming, SCIP_RESULT *result)
     
    SCIP_RETCODE SCIPpropResolvePropagation (SCIP_PROP *prop, SCIP_SET *set, SCIP_VAR *infervar, int inferinfo, SCIP_BOUNDTYPE inferboundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT *result)
     
    SCIP_PROPDATASCIPpropGetData (SCIP_PROP *prop)
     
    void SCIPpropSetData (SCIP_PROP *prop, SCIP_PROPDATA *propdata)
     
    void SCIPpropSetCopy (SCIP_PROP *prop, SCIP_DECL_PROPCOPY((*propcopy)))
     
    void SCIPpropSetFree (SCIP_PROP *prop, SCIP_DECL_PROPFREE((*propfree)))
     
    void SCIPpropSetInit (SCIP_PROP *prop, SCIP_DECL_PROPINIT((*propinit)))
     
    void SCIPpropSetExit (SCIP_PROP *prop, SCIP_DECL_PROPEXIT((*propexit)))
     
    void SCIPpropSetInitsol (SCIP_PROP *prop, SCIP_DECL_PROPINITSOL((*propinitsol)))
     
    void SCIPpropSetExitsol (SCIP_PROP *prop, SCIP_DECL_PROPEXITSOL((*propexitsol)))
     
    void SCIPpropSetInitpre (SCIP_PROP *prop, SCIP_DECL_PROPINITPRE((*propinitpre)))
     
    void SCIPpropSetExitpre (SCIP_PROP *prop, SCIP_DECL_PROPEXITPRE((*propexitpre)))
     
    SCIP_RETCODE SCIPpropSetPresol (SCIP_PROP *prop, SCIP_DECL_PROPPRESOL((*proppresol)), int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming)
     
    void SCIPpropSetResprop (SCIP_PROP *prop, SCIP_DECL_PROPRESPROP((*propresprop)))
     
    void SCIPpropMarkExact (SCIP_PROP *prop)
     
    const char * SCIPpropGetName (SCIP_PROP *prop)
     
    const char * SCIPpropGetDesc (SCIP_PROP *prop)
     
    int SCIPpropGetPriority (SCIP_PROP *prop)
     
    int SCIPpropGetPresolPriority (SCIP_PROP *prop)
     
    void SCIPpropSetPriority (SCIP_PROP *prop, SCIP_SET *set, int priority)
     
    void SCIPpropSetPresolPriority (SCIP_PROP *prop, SCIP_SET *set, int presolpriority)
     
    int SCIPpropGetFreq (SCIP_PROP *prop)
     
    void SCIPpropEnableOrDisableClocks (SCIP_PROP *prop, SCIP_Bool enable)
     
    SCIP_Real SCIPpropGetSetupTime (SCIP_PROP *prop)
     
    void SCIPpropSetFreq (SCIP_PROP *prop, int freq)
     
    SCIP_Real SCIPpropGetTime (SCIP_PROP *prop)
     
    SCIP_Real SCIPpropGetStrongBranchPropTime (SCIP_PROP *prop)
     
    SCIP_Real SCIPpropGetRespropTime (SCIP_PROP *prop)
     
    SCIP_Real SCIPpropGetPresolTime (SCIP_PROP *prop)
     
    SCIP_Longint SCIPpropGetNCalls (SCIP_PROP *prop)
     
    SCIP_Longint SCIPpropGetNRespropCalls (SCIP_PROP *prop)
     
    SCIP_Longint SCIPpropGetNCutoffs (SCIP_PROP *prop)
     
    SCIP_Longint SCIPpropGetNDomredsFound (SCIP_PROP *prop)
     
    SCIP_Bool SCIPpropIsDelayed (SCIP_PROP *prop)
     
    SCIP_Bool SCIPpropWasDelayed (SCIP_PROP *prop)
     
    SCIP_Bool SCIPpropIsInitialized (SCIP_PROP *prop)
     
    int SCIPpropGetNFixedVars (SCIP_PROP *prop)
     
    int SCIPpropGetNAggrVars (SCIP_PROP *prop)
     
    int SCIPpropGetNChgVarTypes (SCIP_PROP *prop)
     
    int SCIPpropGetNChgBds (SCIP_PROP *prop)
     
    int SCIPpropGetNAddHoles (SCIP_PROP *prop)
     
    int SCIPpropGetNDelConss (SCIP_PROP *prop)
     
    int SCIPpropGetNAddConss (SCIP_PROP *prop)
     
    int SCIPpropGetNUpgdConss (SCIP_PROP *prop)
     
    int SCIPpropGetNChgCoefs (SCIP_PROP *prop)
     
    int SCIPpropGetNChgSides (SCIP_PROP *prop)
     
    int SCIPpropGetNPresolCalls (SCIP_PROP *prop)
     
    SCIP_PROPTIMING SCIPpropGetTimingmask (SCIP_PROP *prop)
     
    void SCIPpropSetTimingmask (SCIP_PROP *prop, SCIP_PROPTIMING timingmask)
     
    SCIP_Bool SCIPpropDoesPresolve (SCIP_PROP *prop)
     
    SCIP_PRESOLTIMING SCIPpropGetPresolTiming (SCIP_PROP *prop)
     
    void SCIPpropSetPresolTiming (SCIP_PROP *prop, SCIP_PRESOLTIMING presoltiming)
     

    Function Documentation

    ◆ SCIP_DECL_PARAMCHGD() [1/2]

    static SCIP_DECL_PARAMCHGD ( paramChgdPropPriority  )
    static

    method to call, when the priority of a propagator was changed

    Definition at line 71 of file prop.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetPropPriority().

    ◆ SCIP_DECL_PARAMCHGD() [2/2]

    static SCIP_DECL_PARAMCHGD ( paramChgdPropPresolPriority  )
    static

    method to call, when the presolving priority of a propagator was changed

    Definition at line 86 of file prop.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetPropPresolPriority().

    ◆ SCIPpropCopyInclude()

    SCIP_RETCODE SCIPpropCopyInclude ( SCIP_PROP prop,
    SCIP_SET set 
    )

    copies the given propagator to a new scip

    Parameters
    proppropagator
    setSCIP_SET of SCIP to copy to

    Definition at line 100 of file prop.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIPpropGetName(), and SCIPsetDebugMsg.

    Referenced by SCIPsetCopyPlugins().

    ◆ doPropCreate()

    static SCIP_RETCODE doPropCreate ( SCIP_PROP **  prop,
    SCIP_SET set,
    SCIP_MESSAGEHDLR messagehdlr,
    BMS_BLKMEM blkmem,
    const char *  name,
    const char *  desc,
    int  priority,
    int  freq,
    SCIP_Bool  delay,
    SCIP_PROPTIMING  timingmask,
    int  presolpriority,
    int  presolmaxrounds,
    SCIP_PRESOLTIMING  presoltiming,
    SCIP_DECL_PROPCOPY((*propcopy))  ,
    SCIP_DECL_PROPFREE((*propfree))  ,
    SCIP_DECL_PROPINIT((*propinit))  ,
    SCIP_DECL_PROPEXIT((*propexit))  ,
    SCIP_DECL_PROPINITPRE((*propinitpre))  ,
    SCIP_DECL_PROPEXITPRE((*propexitpre))  ,
    SCIP_DECL_PROPINITSOL((*propinitsol))  ,
    SCIP_DECL_PROPEXITSOL((*propexitsol))  ,
    SCIP_DECL_PROPPRESOL((*proppresol))  ,
    SCIP_DECL_PROPEXEC((*propexec))  ,
    SCIP_DECL_PROPRESPROP((*propresprop))  ,
    SCIP_PROPDATA propdata 
    )
    static

    internal method for creating a propagator

    Parameters
    proppointer to propagator data structure
    setglobal SCIP settings
    messagehdlrmessage handler
    blkmemblock memory for parameter settings
    namename of propagator
    descdescription of propagator
    prioritypriority of the propagator (>= 0: before, < 0: after constraint handlers)
    freqfrequency for calling propagator
    delayshould propagator be delayed, if other propagators found reductions?
    timingmaskpositions in the node solving loop where propagator should be executed
    presolprioritypriority of the propagator (>= 0: before, < 0: after constraint handlers)
    presolmaxroundsmaximal number of presolving rounds the propagator participates in (-1: no limit)
    presoltimingtiming mask of the propagator's presolving method
    propdatapropagator data

    Definition at line 119 of file prop.c.

    References BMSallocMemory, BMSclearMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_MAXTREEDEPTH, SCIP_OKAY, SCIP_PARAMETERWRONGVAL, SCIP_PRESOLTIMING_EXHAUSTIVE, SCIP_PRESOLTIMING_FAST, SCIP_PRESOLTIMING_FINAL, SCIP_PRESOLTIMING_MAX, SCIP_PRESOLTIMING_MEDIUM, SCIP_PRESOLTIMING_NONE, SCIP_PROPTIMING_AFTERLPLOOP, SCIP_PROPTIMING_ALWAYS, SCIP_PROPTIMING_BEFORELP, SCIP_PROPTIMING_DURINGLPLOOP, SCIP_PROPTIMING_NONE, SCIPclockCreate(), SCIPmessagePrintError(), SCIPsetAddBoolParam(), SCIPsetAddIntParam(), SCIPsnprintf(), and TRUE.

    Referenced by SCIPpropCreate().

    ◆ SCIPpropCreate()

    SCIP_RETCODE SCIPpropCreate ( SCIP_PROP **  prop,
    SCIP_SET set,
    SCIP_MESSAGEHDLR messagehdlr,
    BMS_BLKMEM blkmem,
    const char *  name,
    const char *  desc,
    int  priority,
    int  freq,
    SCIP_Bool  delay,
    SCIP_PROPTIMING  timingmask,
    int  presolpriority,
    int  presolmaxrounds,
    SCIP_PRESOLTIMING  presoltiming,
    SCIP_DECL_PROPCOPY((*propcopy))  ,
    SCIP_DECL_PROPFREE((*propfree))  ,
    SCIP_DECL_PROPINIT((*propinit))  ,
    SCIP_DECL_PROPEXIT((*propexit))  ,
    SCIP_DECL_PROPINITPRE((*propinitpre))  ,
    SCIP_DECL_PROPEXITPRE((*propexitpre))  ,
    SCIP_DECL_PROPINITSOL((*propinitsol))  ,
    SCIP_DECL_PROPEXITSOL((*propexitsol))  ,
    SCIP_DECL_PROPPRESOL((*proppresol))  ,
    SCIP_DECL_PROPEXEC((*propexec))  ,
    SCIP_DECL_PROPRESPROP((*propresprop))  ,
    SCIP_PROPDATA propdata 
    )

    creates a propagator

    Parameters
    proppointer to propagator data structure
    setglobal SCIP settings
    messagehdlrmessage handler
    blkmemblock memory for parameter settings
    namename of propagator
    descdescription of propagator
    prioritypriority of the propagator (>= 0: before, < 0: after constraint handlers)
    freqfrequency for calling propagator
    delayshould propagator be delayed, if other propagators found reductions?
    timingmaskpositions in the node solving loop where propagator should be executed
    presolprioritypriority of the propagator (>= 0: before, < 0: after constraint handlers)
    presolmaxroundsmaximal number of presolving rounds the propagator participates in (-1: no limit)
    presoltimingtiming mask of the propagator's presolving method
    propdatapropagator data

    Definition at line 243 of file prop.c.

    References doPropCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPpropFree().

    Referenced by SCIPincludeProp(), and SCIPincludePropBasic().

    ◆ SCIPpropFree()

    SCIP_RETCODE SCIPpropFree ( SCIP_PROP **  prop,
    SCIP_SET set 
    )

    calls destructor and frees memory of propagator

    Parameters
    proppointer to propagator data structure
    setglobal SCIP settings

    Definition at line 285 of file prop.c.

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

    Referenced by SCIPpropCreate().

    ◆ SCIPpropInit()

    ◆ SCIPpropExit()

    SCIP_RETCODE SCIPpropExit ( SCIP_PROP prop,
    SCIP_SET set 
    )

    calls exit method of propagator

    Parameters
    proppropagator
    setglobal SCIP settings

    Definition at line 381 of file prop.c.

    References FALSE, SCIP_Prop::initialized, SCIP_Prop::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Prop::setuptime.

    ◆ SCIPpropInitpre()

    ◆ SCIPpropExitpre()

    SCIP_RETCODE SCIPpropExitpre ( SCIP_PROP prop,
    SCIP_SET set 
    )

    informs propagator that the presolving process is finished

    Parameters
    proppropagator
    setglobal SCIP settings

    Definition at line 447 of file prop.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Prop::setuptime.

    ◆ SCIPpropInitsol()

    SCIP_RETCODE SCIPpropInitsol ( SCIP_PROP prop,
    SCIP_SET set 
    )

    informs propagator that the prop and bound process is being started

    Parameters
    proppropagator
    setglobal SCIP settings

    Definition at line 471 of file prop.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Prop::setuptime.

    ◆ SCIPpropExitsol()

    SCIP_RETCODE SCIPpropExitsol ( SCIP_PROP prop,
    SCIP_SET set,
    SCIP_Bool  restart 
    )

    informs propagator that the prop and bound process data is being freed

    Parameters
    proppropagator
    setglobal SCIP settings
    restartwas this exit solve call triggered by a restart?

    Definition at line 495 of file prop.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Prop::setuptime.

    ◆ SCIPpropPresol()

    SCIP_RETCODE SCIPpropPresol ( SCIP_PROP prop,
    SCIP_SET set,
    SCIP_PRESOLTIMING  timing,
    int  nrounds,
    int *  nfixedvars,
    int *  naggrvars,
    int *  nchgvartypes,
    int *  nchgbds,
    int *  naddholes,
    int *  ndelconss,
    int *  naddconss,
    int *  nupgdconss,
    int *  nchgcoefs,
    int *  nchgsides,
    SCIP_RESULT result 
    )

    executes presolving method of propagator

    Parameters
    proppropagator
    setglobal SCIP settings
    timingcurrent presolving timing
    nroundsnumber of presolving rounds already done
    nfixedvarspointer to total number of variables fixed of all presolvers
    naggrvarspointer to total number of variables aggregated of all presolvers
    nchgvartypespointer to total number of variable type changes of all presolvers
    nchgbdspointer to total number of variable bounds tightened of all presolvers
    naddholespointer to total number of domain holes added of all presolvers
    ndelconsspointer to total number of deleted constraints of all presolvers
    naddconsspointer to total number of added constraints of all presolvers
    nupgdconsspointer to total number of upgraded constraints of all presolvers
    nchgcoefspointer to total number of changed coefficients of all presolvers
    nchgsidespointer to total number of changed left/right hand sides of all presolvers
    resultpointer to store the result of the callback method

    Definition at line 520 of file prop.c.

    References SCIP_Prop::exact, SCIP_Prop::lastnaddconss, SCIP_Prop::lastnaddholes, SCIP_Prop::lastnaggrvars, SCIP_Prop::lastnchgbds, SCIP_Prop::lastnchgcoefs, SCIP_Prop::lastnchgsides, SCIP_Prop::lastnchgvartypes, SCIP_Prop::lastndelconss, SCIP_Prop::lastnfixedvars, SCIP_Prop::lastnupgdconss, SCIP_Prop::maxprerounds, SCIP_Prop::naddconss, SCIP_Prop::naddholes, SCIP_Prop::naggrvars, SCIP_Prop::name, SCIP_Prop::nchgbds, SCIP_Prop::nchgcoefs, SCIP_Prop::nchgsides, SCIP_Prop::nchgvartypes, SCIP_Prop::ndelconss, SCIP_Prop::nfixedvars, SCIP_Prop::npresolcalls, NULL, SCIP_Prop::nupgdconss, SCIP_Prop::presoltime, SCIP_Prop::presoltiming, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_SUCCESS, SCIP_UNBOUNDED, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIPsetDebugMsg.

    Referenced by presolveRound().

    ◆ SCIPpropExec()

    SCIP_RETCODE SCIPpropExec ( SCIP_PROP prop,
    SCIP_SET set,
    SCIP_STAT stat,
    int  depth,
    SCIP_Bool  execdelayed,
    SCIP_Bool  instrongbranching,
    SCIP_PROPTIMING  proptiming,
    SCIP_RESULT result 
    )

    calls execution method of propagator

    Parameters
    proppropagator
    setglobal SCIP settings
    statdynamic problem statistics
    depthdepth of current node
    execdelayedexecute propagator even if it is marked to be delayed
    instrongbranchingare we currently doing strong branching?
    proptimingcurrent point in the node solving process
    resultpointer to store the result of the callback method

    Definition at line 646 of file prop.c.

    References SCIP_Prop::delay, SCIP_Prop::exact, SCIP_Prop::freq, SCIP_Prop::name, SCIP_Stat::nboundchgs, SCIP_Prop::ncalls, SCIP_Prop::ncutoffs, SCIP_Prop::ndomredsfound, SCIP_Stat::nholechgs, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, NULL, SCIP_Prop::proptime, SCIP_Prop::sbproptime, SCIP_CALL, SCIP_CUTOFF, SCIP_DELAYED, SCIP_DELAYNODE, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPsetDebugMsg, and SCIP_Prop::wasdelayed.

    Referenced by propagationRound().

    ◆ SCIPpropResolvePropagation()

    SCIP_RETCODE SCIPpropResolvePropagation ( SCIP_PROP prop,
    SCIP_SET set,
    SCIP_VAR infervar,
    int  inferinfo,
    SCIP_BOUNDTYPE  inferboundtype,
    SCIP_BDCHGIDX bdchgidx,
    SCIP_Real  relaxedbd,
    SCIP_RESULT result 
    )

    resolves the given conflicting bound, that was deduced by the given propagator, by putting all "reason" bounds leading to the deduction into the conflict queue with calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), or SCIPaddConflictBinvar();

    Note
    it is sufficient to explain the relaxed bound change
    Parameters
    proppropagator
    setglobal SCIP settings
    infervarvariable whose bound was deduced by the constraint
    inferinfouser inference information attached to the bound change
    inferboundtypebound that was deduced (lower or upper bound)
    bdchgidxbound change index, representing the point of time where change took place
    relaxedbdthe relaxed bound
    resultpointer to store the result of the callback method

    Definition at line 739 of file prop.c.

    References SCIP_Prop::name, SCIP_Prop::nrespropcalls, NULL, SCIP_Prop::resproptime, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_SUCCESS, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE.

    Referenced by conflictResolveBound().

    ◆ SCIPpropSetCopy()

    void SCIPpropSetCopy ( SCIP_PROP prop,
    SCIP_DECL_PROPCOPY((*propcopy))   
    )

    sets copy method of propagator

    Parameters
    proppropagator

    Definition at line 812 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropCopy().

    ◆ SCIPpropSetFree()

    void SCIPpropSetFree ( SCIP_PROP prop,
    SCIP_DECL_PROPFREE((*propfree))   
    )

    sets destructor method of propagator

    Parameters
    proppropagator

    Definition at line 823 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropFree().

    ◆ SCIPpropSetInit()

    void SCIPpropSetInit ( SCIP_PROP prop,
    SCIP_DECL_PROPINIT((*propinit))   
    )

    sets initialization method of propagator

    Parameters
    proppropagator

    Definition at line 834 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropInit().

    ◆ SCIPpropSetExit()

    void SCIPpropSetExit ( SCIP_PROP prop,
    SCIP_DECL_PROPEXIT((*propexit))   
    )

    sets deinitialization method of propagator

    Parameters
    proppropagator

    Definition at line 845 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropExit().

    ◆ SCIPpropSetInitsol()

    void SCIPpropSetInitsol ( SCIP_PROP prop,
    SCIP_DECL_PROPINITSOL((*propinitsol))   
    )

    sets solving process initialization method of propagator

    Parameters
    proppropagator

    Definition at line 856 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropInitsol().

    ◆ SCIPpropSetExitsol()

    void SCIPpropSetExitsol ( SCIP_PROP prop,
    SCIP_DECL_PROPEXITSOL((*propexitsol))   
    )

    sets solving process deinitialization method of propagator

    Parameters
    proppropagator

    Definition at line 867 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropExitsol().

    ◆ SCIPpropSetInitpre()

    void SCIPpropSetInitpre ( SCIP_PROP prop,
    SCIP_DECL_PROPINITPRE((*propinitpre))   
    )

    sets preprocessing initialization method of propagator

    Parameters
    proppropagator

    Definition at line 878 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropInitpre().

    ◆ SCIPpropSetExitpre()

    void SCIPpropSetExitpre ( SCIP_PROP prop,
    SCIP_DECL_PROPEXITPRE((*propexitpre))   
    )

    sets preprocessing deinitialization method of propagator

    Parameters
    proppropagator

    Definition at line 889 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropExitpre().

    ◆ SCIPpropSetPresol()

    SCIP_RETCODE SCIPpropSetPresol ( SCIP_PROP prop,
    SCIP_DECL_PROPPRESOL((*proppresol))  ,
    int  presolpriority,
    int  presolmaxrounds,
    SCIP_PRESOLTIMING  presoltiming 
    )

    sets presolving method of propagator

    Parameters
    proppropagator
    presolprioritypresolving priority of the propagator (>= 0: before, < 0: after constraint handlers)
    presolmaxroundsmaximal number of presolving rounds the propagator participates in (-1: no limit)
    presoltimingtiming mask of the propagator's presolving method

    Definition at line 900 of file prop.c.

    References SCIP_Prop::maxprerounds, SCIP_Prop::name, NULL, SCIP_Prop::presolpriority, SCIP_Prop::presoltiming, SCIP_OKAY, SCIP_PARAMETERWRONGVAL, SCIP_PRESOLTIMING_MAX, and SCIPmessagePrintError().

    Referenced by SCIPsetPropPresol().

    ◆ SCIPpropSetResprop()

    void SCIPpropSetResprop ( SCIP_PROP prop,
    SCIP_DECL_PROPRESPROP((*propresprop))   
    )

    sets propagation conflict resolving callback of propagator

    Parameters
    proppropagator

    Definition at line 930 of file prop.c.

    References NULL.

    Referenced by SCIPsetPropResprop().

    ◆ SCIPpropSetPriority()

    void SCIPpropSetPriority ( SCIP_PROP prop,
    SCIP_SET set,
    int  priority 
    )

    sets priority of propagator

    Parameters
    proppropagator
    setglobal SCIP settings
    prioritynew priority of the propagator

    Definition at line 991 of file prop.c.

    References FALSE, NULL, and SCIP_Prop::priority.

    Referenced by SCIPsetPropPriority().

    ◆ SCIPpropSetPresolPriority()

    void SCIPpropSetPresolPriority ( SCIP_PROP prop,
    SCIP_SET set,
    int  presolpriority 
    )

    sets presolving priority of propagator

    Parameters
    proppropagator
    setglobal SCIP settings
    presolprioritynew priority of the propagator

    Definition at line 1005 of file prop.c.

    References FALSE, NULL, and SCIP_Prop::presolpriority.

    Referenced by SCIPsetPropPresolPriority().

    ◆ SCIPpropEnableOrDisableClocks()

    void SCIPpropEnableOrDisableClocks ( SCIP_PROP prop,
    SCIP_Bool  enable 
    )

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

    Parameters
    propthe propagator for which all clocks should be enabled or disabled
    enableshould the clocks of the propagator be enabled?

    Definition at line 1029 of file prop.c.

    References NULL, SCIP_Prop::presoltime, SCIP_Prop::proptime, SCIP_Prop::resproptime, SCIP_Prop::sbproptime, SCIPclockEnableOrDisable(), and SCIP_Prop::setuptime.