Scippy

SCIP

Solving Constraint Integer Programs

scip::ObjProp Class Referenceabstract

Detailed Description

C++ wrapper for propagators.

This class defines the interface for propagators implemented in C++. Note that there is a pure virtual function (this function has to be implemented). This function is: scip_exec().

Definition at line 43 of file objprop.h.

C++ wrapper for propagators. More...

#include <objprop.h>

Public Member Functions

 ObjProp (SCIP *scip, const char *name, const char *desc, int priority, int freq, SCIP_Bool delay, SCIP_PROPTIMING timingmask, int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming)
 
virtual ~ObjProp ()
 
virtual SCIP_DECL_PROPFREE (scip_free)
 
virtual SCIP_DECL_PROPINIT (scip_init)
 
virtual SCIP_DECL_PROPEXIT (scip_exit)
 
virtual SCIP_DECL_PROPINITPRE (scip_initpre)
 
virtual SCIP_DECL_PROPEXITPRE (scip_exitpre)
 
virtual SCIP_DECL_PROPINITSOL (scip_initsol)
 
virtual SCIP_DECL_PROPEXITSOL (scip_exitsol)
 
virtual SCIP_DECL_PROPPRESOL (scip_presol)
 
virtual SCIP_DECL_PROPEXEC (scip_exec)=0
 
virtual SCIP_DECL_PROPRESPROP (scip_resprop)
 
- Public Member Functions inherited from scip::ObjCloneable
virtual ~ObjCloneable ()
 
virtual SCIP_DECL_OBJCLONEABLECLONE (ObjCloneable *clone)
 
virtual SCIP_DECL_OBJCLONEABLEISCLONEABLE (iscloneable)
 

Data Fields

SCIPscip_
 
char * scip_name_
 
char * scip_desc_
 
const int scip_priority_
 
const int scip_freq_
 
const SCIP_Bool scip_delay_
 
const SCIP_PROPTIMING scip_timingmask_
 
const int scip_presol_priority_
 
const int scip_presol_maxrounds_
 
const SCIP_PRESOLTIMING scip_presol_timing_
 

Constructor & Destructor Documentation

◆ ObjProp()

scip::ObjProp::ObjProp ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  freq,
SCIP_Bool  delay,
SCIP_PROPTIMING  timingmask,
int  presolpriority,
int  presolmaxrounds,
SCIP_PRESOLTIMING  presoltiming 
)
inline

default constructor

Parameters
scipSCIP data structure
namename of propagator
descdescription of propagator
prioritypriority of the propagator
freqfrequency for calling propagator
delayshould propagator be delayed, if other propagators found reductions?
timingmaskpositions in the node solving loop where propagator should be executed
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 80 of file objprop.h.

References SCIP_CALL_ABORT, and SCIPduplicateMemoryArray.

◆ ~ObjProp()

virtual scip::ObjProp::~ObjProp ( )
inlinevirtual

destructor

Definition at line 109 of file objprop.h.

References SCIPfreeMemoryArray.

Member Function Documentation

◆ SCIP_DECL_PROPFREE()

virtual scip::ObjProp::SCIP_DECL_PROPFREE ( scip_free  )
inlinevirtual

destructor of propagator to free user data (called when SCIP is exiting)

See also
SCIP_DECL_PROPFREE(x) in type_prop.h

Definition at line 121 of file objprop.h.

References SCIP_OKAY.

◆ SCIP_DECL_PROPINIT()

virtual scip::ObjProp::SCIP_DECL_PROPINIT ( scip_init  )
inlinevirtual

initialization method of propagator (called after problem was transformed)

See also
SCIP_DECL_PROPINIT(x) in type_prop.h

Definition at line 130 of file objprop.h.

References SCIP_OKAY.

◆ SCIP_DECL_PROPEXIT()

virtual scip::ObjProp::SCIP_DECL_PROPEXIT ( scip_exit  )
inlinevirtual

deinitialization method of propagator (called before transformed problem is freed)

See also
SCIP_DECL_PROPEXIT(x) in type_prop.h

Definition at line 139 of file objprop.h.

References SCIP_OKAY.

◆ SCIP_DECL_PROPINITPRE()

virtual scip::ObjProp::SCIP_DECL_PROPINITPRE ( scip_initpre  )
inlinevirtual

presolving initialization method of propagator (called when presolving is about to begin)

See also
SCIP_DECL_PROPINITPRE(x) in type_prop.h

Definition at line 148 of file objprop.h.

References SCIP_OKAY.

◆ SCIP_DECL_PROPEXITPRE()

virtual scip::ObjProp::SCIP_DECL_PROPEXITPRE ( scip_exitpre  )
inlinevirtual

presolving deinitialization method of propagator (called after presolving has been finished)

See also
SCIP_DECL_PROPEXITPRE(x) in type_prop.h

Definition at line 157 of file objprop.h.

References SCIP_OKAY.

◆ SCIP_DECL_PROPINITSOL()

virtual scip::ObjProp::SCIP_DECL_PROPINITSOL ( scip_initsol  )
inlinevirtual

solving process initialization method of propagator (called when branch and bound process is about to begin)

See also
SCIP_DECL_PROPINITSOL(x) in type_prop.h

Definition at line 166 of file objprop.h.

References SCIP_OKAY.

◆ SCIP_DECL_PROPEXITSOL()

virtual scip::ObjProp::SCIP_DECL_PROPEXITSOL ( scip_exitsol  )
inlinevirtual

solving process deinitialization method of propagator (called before branch and bound process data is freed)

See also
SCIP_DECL_PROPEXITSOL(x) in type_prop.h

Definition at line 175 of file objprop.h.

References SCIP_OKAY.

◆ SCIP_DECL_PROPPRESOL()

virtual scip::ObjProp::SCIP_DECL_PROPPRESOL ( scip_presol  )
inlinevirtual

presolving method of propagator

See also
SCIP_DECL_PROPPRESOL(x) in type_prop.h

Definition at line 184 of file objprop.h.

References NULL, SCIP_DECL_PROPEXEC(), SCIP_DIDNOTRUN, and SCIP_OKAY.

◆ SCIP_DECL_PROPEXEC()

virtual scip::ObjProp::SCIP_DECL_PROPEXEC ( scip_exec  )
pure virtual

execution method of propagator

See also
SCIP_DECL_PROPEXEC(x) in type_prop.h

Referenced by SCIP_DECL_PROPPRESOL().

◆ SCIP_DECL_PROPRESPROP()

virtual scip::ObjProp::SCIP_DECL_PROPRESPROP ( scip_resprop  )
inlinevirtual

propagation conflict resolving method of propagator

See also
SCIP_DECL_PROPRESPROP(x) in type_prop.h

Definition at line 201 of file objprop.h.

References NULL, SCIP_Bool, SCIP_DIDNOTFIND, SCIP_OKAY, SCIPfindObjProp(), SCIPgetObjProp(), and SCIPincludeObjProp().

Field Documentation

◆ scip_

SCIP* scip::ObjProp::scip_

SCIP data structure

Definition at line 49 of file objprop.h.

◆ scip_name_

char* scip::ObjProp::scip_name_

name of the propagator

Definition at line 52 of file objprop.h.

Referenced by SCIPincludeObjProp().

◆ scip_desc_

char* scip::ObjProp::scip_desc_

description of the propagator

Definition at line 55 of file objprop.h.

Referenced by SCIPincludeObjProp().

◆ scip_priority_

const int scip::ObjProp::scip_priority_

default priority of the propagator

Definition at line 58 of file objprop.h.

Referenced by SCIPincludeObjProp().

◆ scip_freq_

const int scip::ObjProp::scip_freq_

frequency for calling propagator

Definition at line 61 of file objprop.h.

Referenced by SCIPincludeObjProp().

◆ scip_delay_

const SCIP_Bool scip::ObjProp::scip_delay_

should propagator be delayed, if other propagators found reductions?

Definition at line 64 of file objprop.h.

Referenced by SCIPincludeObjProp().

◆ scip_timingmask_

const SCIP_PROPTIMING scip::ObjProp::scip_timingmask_

positions in the node solving loop where propagator should be executed

Definition at line 67 of file objprop.h.

Referenced by SCIPincludeObjProp().

◆ scip_presol_priority_

const int scip::ObjProp::scip_presol_priority_

default presolving priority of the propagator

Definition at line 70 of file objprop.h.

Referenced by SCIPincludeObjProp().

◆ scip_presol_maxrounds_

const int scip::ObjProp::scip_presol_maxrounds_

frequency for calling propagator timing mask of the propagator's presolving method

Definition at line 73 of file objprop.h.

Referenced by SCIPincludeObjProp().

◆ scip_presol_timing_

const SCIP_PRESOLTIMING scip::ObjProp::scip_presol_timing_

Definition at line 76 of file objprop.h.

Referenced by SCIPincludeObjProp().