Scippy

SCIP

Solving Constraint Integer Programs

scip::ObjPresol Class Referenceabstract

Detailed Description

C++ wrapper for presolvers.

This class defines the interface for presolvers 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 53 of file objpresol.h.

C++ wrapper for presolvers. More...

#include <objpresol.h>

Public Member Functions

 ObjPresol (SCIP *scip, const char *name, const char *desc, int priority, int maxrounds, SCIP_PRESOLTIMING timing)
 
 ObjPresol (const ObjPresol &o)
 
 ObjPresol (ObjPresol &&o)
 
virtual ~ObjPresol ()
 
ObjPresoloperator= (const ObjPresol &o)=delete
 
ObjPresoloperator= (ObjPresol &&o)=delete
 
virtual SCIP_DECL_PRESOLFREE (scip_free)
 
virtual SCIP_DECL_PRESOLINIT (scip_init)
 
virtual SCIP_DECL_PRESOLEXIT (scip_exit)
 
virtual SCIP_DECL_PRESOLINITPRE (scip_initpre)
 
virtual SCIP_DECL_PRESOLEXITPRE (scip_exitpre)
 
virtual SCIP_DECL_PRESOLEXEC (scip_exec)=0
 
- Public Member Functions inherited from scip::ObjCloneable
virtual ~ObjCloneable ()
 
ObjCloneableoperator= (const ObjCloneable &o)=delete
 
ObjCloneableoperator= (ObjCloneable &&o)=delete
 
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_maxrounds_
 
const SCIP_PRESOLTIMING scip_timing_
 

Constructor & Destructor Documentation

◆ ObjPresol() [1/3]

scip::ObjPresol::ObjPresol ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  maxrounds,
SCIP_PRESOLTIMING  timing 
)
inline

default constructor

Parameters
scipSCIP data structure
namename of presolver
descdescription of presolver
prioritypriority of the presolver
maxroundsmaximal number of presolving rounds the presolver participates in (-1: no limit)
timingtiming mask of the presolver

Definition at line 77 of file objpresol.h.

References SCIP_CALL_ABORT, and SCIPduplicateMemoryArray.

◆ ObjPresol() [2/3]

scip::ObjPresol::ObjPresol ( const ObjPresol o)
inline

copy constructor

Definition at line 98 of file objpresol.h.

◆ ObjPresol() [3/3]

scip::ObjPresol::ObjPresol ( ObjPresol &&  o)
inline

move constructor

Definition at line 104 of file objpresol.h.

◆ ~ObjPresol()

virtual scip::ObjPresol::~ObjPresol ( )
inlinevirtual

destructor

Definition at line 117 of file objpresol.h.

References operator=(), and SCIPfreeMemoryArray.

Member Function Documentation

◆ operator=() [1/2]

ObjPresol& scip::ObjPresol::operator= ( const ObjPresol o)
delete

assignment of polymorphic classes causes slicing and is therefore disabled.

Referenced by ~ObjPresol().

◆ operator=() [2/2]

ObjPresol& scip::ObjPresol::operator= ( ObjPresol &&  o)
delete

assignment of polymorphic classes causes slicing and is therefore disabled.

◆ SCIP_DECL_PRESOLFREE()

virtual scip::ObjPresol::SCIP_DECL_PRESOLFREE ( scip_free  )
inlinevirtual

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

See also
SCIP_DECL_PRESOLFREE(x) in type_prop.h

Definition at line 135 of file objpresol.h.

References SCIP_OKAY.

◆ SCIP_DECL_PRESOLINIT()

virtual scip::ObjPresol::SCIP_DECL_PRESOLINIT ( scip_init  )
inlinevirtual

initialization method of presolver (called after problem was transformed)

See also
SCIP_DECL_PRESOLINIT(x) in type_prop.h

Definition at line 144 of file objpresol.h.

References SCIP_OKAY.

◆ SCIP_DECL_PRESOLEXIT()

virtual scip::ObjPresol::SCIP_DECL_PRESOLEXIT ( scip_exit  )
inlinevirtual

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

See also
SCIP_DECL_PRESOLEXIT(x) in type_prop.h

Definition at line 153 of file objpresol.h.

References SCIP_OKAY.

◆ SCIP_DECL_PRESOLINITPRE()

virtual scip::ObjPresol::SCIP_DECL_PRESOLINITPRE ( scip_initpre  )
inlinevirtual

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

See also
SCIP_DECL_PRESOLINITPRE(x) in type_prop.h

Definition at line 162 of file objpresol.h.

References SCIP_OKAY.

◆ SCIP_DECL_PRESOLEXITPRE()

virtual scip::ObjPresol::SCIP_DECL_PRESOLEXITPRE ( scip_exitpre  )
inlinevirtual

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

See also
SCIP_DECL_PRESOLEXITPRE(x) in type_prop.h

Definition at line 171 of file objpresol.h.

References SCIP_Bool, SCIP_DECL_PRESOLEXEC(), SCIP_OKAY, SCIPfindObjPresol(), SCIPgetObjPresol(), and SCIPincludeObjPresol().

◆ SCIP_DECL_PRESOLEXEC()

virtual scip::ObjPresol::SCIP_DECL_PRESOLEXEC ( scip_exec  )
pure virtual

execution method of presolver

See also
SCIP_DECL_PRESOLEXEC(x) in type_prop.h

Referenced by SCIP_DECL_PRESOLEXITPRE().

Field Documentation

◆ scip_

SCIP* scip::ObjPresol::scip_

SCIP data structure

Definition at line 59 of file objpresol.h.

◆ scip_name_

char* scip::ObjPresol::scip_name_

name of the presolver

Definition at line 62 of file objpresol.h.

Referenced by SCIPincludeObjPresol().

◆ scip_desc_

char* scip::ObjPresol::scip_desc_

description of the presolver

Definition at line 65 of file objpresol.h.

Referenced by SCIPincludeObjPresol().

◆ scip_priority_

const int scip::ObjPresol::scip_priority_

default priority of the presolver

Definition at line 68 of file objpresol.h.

Referenced by SCIPincludeObjPresol().

◆ scip_maxrounds_

const int scip::ObjPresol::scip_maxrounds_

default maximal number of presolving rounds the presolver participates in (-1: no limit) timing mask of the presolver

Definition at line 71 of file objpresol.h.

Referenced by SCIPincludeObjPresol().

◆ scip_timing_

const SCIP_PRESOLTIMING scip::ObjPresol::scip_timing_

Definition at line 74 of file objpresol.h.

Referenced by SCIPincludeObjPresol().