Scippy

SCIP

Solving Constraint Integer Programs

prop.c File Reference

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)
 
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)))
 
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)
 
SCIP_Bool SCIPpropDoesPresolve (SCIP_PROP *prop)
 
SCIP_PRESOLTIMING SCIPpropGetPresolTiming (SCIP_PROP *prop)
 
void SCIPpropSetPresolTiming (SCIP_PROP *prop, SCIP_PRESOLTIMING presoltiming)
 

Function Documentation

SCIP_DECL_SORTPTRCOMP ( SCIPpropComp  )

compares two propagators w. r. to their priority

Definition at line 43 of file prop.c.

SCIP_DECL_SORTPTRCOMP ( SCIPpropCompPresol  )

compares two propagators w. r. to their priority

Definition at line 49 of file prop.c.

SCIP_DECL_SORTPTRCOMP ( SCIPpropCompName  )

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

Definition at line 55 of file prop.c.

References SCIPpropGetName().

static SCIP_DECL_PARAMCHGD ( paramChgdPropPriority  )
static

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

Definition at line 62 of file prop.c.

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

static SCIP_DECL_PARAMCHGD ( paramChgdPropPresolPriority  )
static

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

Definition at line 77 of file prop.c.

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

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 91 of file prop.c.

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

Referenced by SCIPsetCopyPlugins().

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 109 of file prop.c.

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

Referenced by SCIPincludeProp(), and SCIPincludePropBasic().

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 231 of file prop.c.

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

SCIP_RETCODE SCIPpropExit ( SCIP_PROP prop,
SCIP_SET set 
)

calls exit method of propagator

Parameters
proppropagator
setglobal SCIP settings

Definition at line 326 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.

Referenced by SCIPsetInitPlugins().

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 392 of file prop.c.

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

Referenced by SCIPsetExitPlugins().

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 416 of file prop.c.

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

Referenced by SCIPsetExitprePlugins().

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 440 of file prop.c.

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

Referenced by SCIPsetInitsolPlugins().

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 465 of file prop.c.

References 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(), SCIPdebugMessage, and SCIPerrorMessage.

Referenced by presolveRound().

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 591 of file prop.c.

References SCIP_Prop::delay, 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_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPerrorMessage, and SCIP_Prop::wasdelayed.

Referenced by propagationRound().

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 682 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, SCIPvarGetLbAtIndex(), SCIPvarGetLbGlobal(), SCIPvarGetUbAtIndex(), SCIPvarGetUbGlobal(), and TRUE.

Referenced by conflictResolveBound().

void SCIPpropSetData ( SCIP_PROP prop,
SCIP_PROPDATA propdata 
)

sets user data of propagator; user has to free old data in advance!

Parameters
proppropagator
propdatanew propagator user data

Definition at line 745 of file prop.c.

References NULL, and SCIP_Prop::propdata.

Referenced by SCIP_DECL_PROPFREE().

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

sets copy method of propagator

Parameters
proppropagator

Definition at line 756 of file prop.c.

References NULL.

Referenced by SCIPsetPropCopy().

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

sets destructor method of propagator

Parameters
proppropagator

Definition at line 767 of file prop.c.

References NULL.

Referenced by SCIPsetPropFree().

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

sets initialization method of propagator

Parameters
proppropagator

Definition at line 778 of file prop.c.

References NULL.

Referenced by SCIPsetPropInit().

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

sets deinitialization method of propagator

Parameters
proppropagator

Definition at line 789 of file prop.c.

References NULL.

Referenced by SCIPsetPropExit().

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

sets solving process initialization method of propagator

Parameters
proppropagator

Definition at line 800 of file prop.c.

References NULL.

Referenced by SCIPsetPropInitsol().

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

sets solving process deinitialization method of propagator

Parameters
proppropagator

Definition at line 811 of file prop.c.

References NULL.

Referenced by SCIPsetPropExitsol().

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

sets preprocessing initialization method of propagator

Parameters
proppropagator

Definition at line 822 of file prop.c.

References NULL.

Referenced by SCIPsetPropInitpre().

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

sets preprocessing deinitialization method of propagator

Parameters
proppropagator

Definition at line 835 of file prop.c.

References NULL.

Referenced by SCIPsetPropExitpre().

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 846 of file prop.c.

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

Referenced by SCIPsetPropPresol().

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

sets propagation conflict resolving callback of propagator

Parameters
proppropagator

Definition at line 876 of file prop.c.

References NULL.

Referenced by SCIPsetPropResprop().

const char* SCIPpropGetDesc ( SCIP_PROP prop)

gets description of propagator

Parameters
proppropagator

Definition at line 897 of file prop.c.

References SCIP_Prop::desc, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC().

int SCIPpropGetPriority ( SCIP_PROP prop)

gets priority of propagator

Parameters
proppropagator

Definition at line 907 of file prop.c.

References NULL, and SCIP_Prop::priority.

Referenced by propagationRound(), and SCIP_DECL_DIALOGEXEC().

int SCIPpropGetPresolPriority ( SCIP_PROP prop)

gets presolving priority of propagator

Parameters
proppropagator

Definition at line 917 of file prop.c.

References NULL, and SCIP_Prop::presolpriority.

Referenced by presolveRound(), and SCIP_DECL_DIALOGEXEC().

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 927 of file prop.c.

References FALSE, NULL, and SCIP_Prop::priority.

Referenced by SCIPsetPropPriority().

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 941 of file prop.c.

References FALSE, NULL, and SCIP_Prop::presolpriority.

Referenced by SCIPsetPropPresolPriority().

int SCIPpropGetFreq ( SCIP_PROP prop)

gets frequency of propagator

Parameters
proppropagator

Definition at line 955 of file prop.c.

References SCIP_Prop::freq, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC().

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 965 of file prop.c.

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

Referenced by SCIPsetSetReoptimizationParams().

SCIP_Real SCIPpropGetSetupTime ( SCIP_PROP prop)

gets time in seconds used for setting up this propagator for new stages

Parameters
proppropagator

Definition at line 980 of file prop.c.

References NULL, SCIPclockGetTime(), and SCIP_Prop::setuptime.

Referenced by printPresolverStatistics(), and printPropagatorStatistics().

void SCIPpropSetFreq ( SCIP_PROP prop,
int  freq 
)

sets frequency of propagator

Parameters
proppropagator
freqnew frequency of propagator

Definition at line 990 of file prop.c.

References SCIP_Prop::freq, and NULL.

SCIP_Real SCIPpropGetTime ( SCIP_PROP prop)

gets time in seconds used in this propagator for propagation

Parameters
proppropagator

Definition at line 1002 of file prop.c.

References NULL, SCIP_Prop::proptime, and SCIPclockGetTime().

Referenced by printPropagatorStatistics().

SCIP_Real SCIPpropGetStrongBranchPropTime ( SCIP_PROP prop)

gets time in seconds used in this propagator for propagation during strong branching

Parameters
proppropagator

Definition at line 1012 of file prop.c.

References NULL, SCIP_Prop::sbproptime, and SCIPclockGetTime().

Referenced by printPropagatorStatistics().

SCIP_Real SCIPpropGetRespropTime ( SCIP_PROP prop)

gets time in seconds used in this propagator for resolve propagation

Parameters
proppropagator

Definition at line 1022 of file prop.c.

References NULL, SCIP_Prop::resproptime, and SCIPclockGetTime().

Referenced by printPropagatorStatistics().

SCIP_Real SCIPpropGetPresolTime ( SCIP_PROP prop)

gets time in seconds used in this propagator for presolving

Parameters
proppropagator

Definition at line 1032 of file prop.c.

References NULL, SCIP_Prop::presoltime, and SCIPclockGetTime().

Referenced by printPresolverStatistics(), and printPropagatorStatistics().

SCIP_Longint SCIPpropGetNCalls ( SCIP_PROP prop)

gets the total number of times, the propagator was called

Parameters
proppropagator

Definition at line 1042 of file prop.c.

References SCIP_Prop::ncalls, and NULL.

Referenced by printPropagatorStatistics().

SCIP_Longint SCIPpropGetNRespropCalls ( SCIP_PROP prop)

gets the total number of times, the propagator was called for resolving a propagation

Parameters
proppropagator

Definition at line 1052 of file prop.c.

References SCIP_Prop::nrespropcalls, and NULL.

Referenced by printPropagatorStatistics().

SCIP_Longint SCIPpropGetNCutoffs ( SCIP_PROP prop)

gets total number of times, this propagator detected a cutoff

Parameters
proppropagator

Definition at line 1062 of file prop.c.

References SCIP_Prop::ncutoffs, and NULL.

Referenced by printPropagatorStatistics().

SCIP_Longint SCIPpropGetNDomredsFound ( SCIP_PROP prop)

gets total number of domain reductions found by this propagator

Parameters
proppropagator

Definition at line 1072 of file prop.c.

References SCIP_Prop::ndomredsfound, and NULL.

Referenced by printPropagatorStatistics().

SCIP_Bool SCIPpropIsDelayed ( SCIP_PROP prop)

should propagator be delayed, if other propagators found reductions?

Parameters
proppropagator

Definition at line 1082 of file prop.c.

References SCIP_Prop::delay, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_Bool SCIPpropWasDelayed ( SCIP_PROP prop)

was propagator delayed at the last call?

Parameters
proppropagator

Definition at line 1092 of file prop.c.

References NULL, and SCIP_Prop::wasdelayed.

Referenced by propagationRound().

SCIP_Bool SCIPpropIsInitialized ( SCIP_PROP prop)

is propagator initialized?

Parameters
proppropagator

Definition at line 1102 of file prop.c.

References SCIP_Prop::initialized, and NULL.

Referenced by SCIPsetFindSepa().

int SCIPpropGetNFixedVars ( SCIP_PROP prop)

gets number of variables fixed during presolving of propagator

Parameters
proppropagator

Definition at line 1112 of file prop.c.

References SCIP_Prop::nfixedvars, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNAggrVars ( SCIP_PROP prop)

gets number of variables aggregated during presolving of propagator

Parameters
proppropagator

Definition at line 1122 of file prop.c.

References SCIP_Prop::naggrvars, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNChgVarTypes ( SCIP_PROP prop)

gets number of variable types changed during presolving of propagator

Parameters
proppropagator

Definition at line 1132 of file prop.c.

References SCIP_Prop::nchgvartypes, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNChgBds ( SCIP_PROP prop)

gets number of bounds changed during presolving of propagator

Parameters
proppropagator

Definition at line 1142 of file prop.c.

References SCIP_Prop::nchgbds, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNAddHoles ( SCIP_PROP prop)

gets number of holes added to domains of variables during presolving of propagator

Parameters
proppropagator

Definition at line 1152 of file prop.c.

References SCIP_Prop::naddholes, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNDelConss ( SCIP_PROP prop)

gets number of constraints deleted during presolving of propagator

Parameters
proppropagator

Definition at line 1162 of file prop.c.

References SCIP_Prop::ndelconss, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNAddConss ( SCIP_PROP prop)

gets number of constraints added during presolving of propagator

Parameters
proppropagator

Definition at line 1172 of file prop.c.

References SCIP_Prop::naddconss, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNUpgdConss ( SCIP_PROP prop)

gets number of constraints upgraded during presolving of propagator

Parameters
proppropagator

Definition at line 1182 of file prop.c.

References NULL, and SCIP_Prop::nupgdconss.

int SCIPpropGetNChgCoefs ( SCIP_PROP prop)

gets number of coefficients changed during presolving of propagator

Parameters
proppropagator

Definition at line 1192 of file prop.c.

References SCIP_Prop::nchgcoefs, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNChgSides ( SCIP_PROP prop)

gets number of constraint sides changed during presolving of propagator

Parameters
proppropagator

Definition at line 1202 of file prop.c.

References SCIP_Prop::nchgsides, and NULL.

Referenced by printPresolverStatistics().

int SCIPpropGetNPresolCalls ( SCIP_PROP prop)

gets number of times the propagator was called in presolving and tried to find reductions

Parameters
proppropagator

Definition at line 1212 of file prop.c.

References SCIP_Prop::npresolcalls, and NULL.

Referenced by printPresolverStatistics().

SCIP_PROPTIMING SCIPpropGetTimingmask ( SCIP_PROP prop)

returns the timing mask of the propagator

Parameters
proppropagator

Definition at line 1222 of file prop.c.

References NULL, and SCIP_Prop::timingmask.

Referenced by propagationRound().

SCIP_Bool SCIPpropDoesPresolve ( SCIP_PROP prop)

does the propagator perform presolving?

Parameters
proppropagator

Definition at line 1232 of file prop.c.

References NULL.

Referenced by printPresolverStatistics().

SCIP_PRESOLTIMING SCIPpropGetPresolTiming ( SCIP_PROP prop)

returns the timing mask of the presolving method of the propagator

Parameters
proppropagator

Definition at line 1242 of file prop.c.

References NULL, and SCIP_Prop::presoltiming.

Referenced by SCIP_DECL_DIALOGEXEC().

void SCIPpropSetPresolTiming ( SCIP_PROP prop,
SCIP_PRESOLTIMING  presoltiming 
)

sets the timing mask of the presolving method of the propagator

Parameters
proppropagator
presoltimingtiming mask to be set

Definition at line 1252 of file prop.c.

References NULL, and SCIP_Prop::presoltiming.