Scippy

SCIP

Solving Constraint Integer Programs

scip::ObjSepa Class Reference

Detailed Description

C++ wrapper for cut separators.

This class defines the interface for cut separators implemented in C++.

Definition at line 52 of file objsepa.h.

C++ wrapper for cut separators. More...

#include <objsepa.h>

Public Member Functions

 ObjSepa (SCIP *scip, const char *name, const char *desc, int priority, int freq, SCIP_Real maxbounddist, SCIP_Bool usessubscip, SCIP_Bool delay)
 
 ObjSepa (const ObjSepa &o)
 
 ObjSepa (ObjSepa &&o)
 
virtual ~ObjSepa ()
 
ObjSepaoperator= (const ObjSepa &o)=delete
 
ObjSepaoperator= (ObjSepa &&o)=delete
 
virtual SCIP_DECL_SEPAFREE (scip_free)
 
virtual SCIP_DECL_SEPAINIT (scip_init)
 
virtual SCIP_DECL_SEPAEXIT (scip_exit)
 
virtual SCIP_DECL_SEPAINITSOL (scip_initsol)
 
virtual SCIP_DECL_SEPAEXITSOL (scip_exitsol)
 
virtual SCIP_DECL_SEPAEXECLP (scip_execlp)
 
virtual SCIP_DECL_SEPAEXECSOL (scip_execsol)
 
- 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_freq_
 
const SCIP_Real scip_maxbounddist_
 
const SCIP_Bool scip_usessubscip_
 
const SCIP_Bool scip_delay_
 

Constructor & Destructor Documentation

◆ ObjSepa() [1/3]

scip::ObjSepa::ObjSepa ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  freq,
SCIP_Real  maxbounddist,
SCIP_Bool  usessubscip,
SCIP_Bool  delay 
)
inline

default constructor

Parameters
scipSCIP data structure
namename of cut separator
descdescription of cut separator
prioritypriority of the cut separator
freqfrequency for calling separator
maxbounddistmaximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation
usessubscipdoes the separator use a secondary SCIP instance?
delayshould separator be delayed, if other separators found cuts?

Definition at line 84 of file objsepa.h.

References scip_, SCIP_CALL_ABORT, scip_desc_, scip_name_, and SCIPduplicateMemoryArray.

◆ ObjSepa() [2/3]

scip::ObjSepa::ObjSepa ( const ObjSepa o)
inline

copy constructor

Definition at line 110 of file objsepa.h.

◆ ObjSepa() [3/3]

scip::ObjSepa::ObjSepa ( ObjSepa &&  o)
inline

move constructor

Definition at line 117 of file objsepa.h.

References scip_desc_, and scip_name_.

◆ ~ObjSepa()

virtual scip::ObjSepa::~ObjSepa ( )
inlinevirtual

destructor

Definition at line 132 of file objsepa.h.

References scip_, scip_desc_, scip_name_, and SCIPfreeMemoryArray.

Member Function Documentation

◆ operator=() [1/2]

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

assignment of polymorphic classes causes slicing and is therefore disabled.

◆ operator=() [2/2]

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

assignment of polymorphic classes causes slicing and is therefore disabled.

◆ SCIP_DECL_SEPAFREE()

virtual scip::ObjSepa::SCIP_DECL_SEPAFREE ( scip_free  )
inlinevirtual

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

See also
SCIP_DECL_SEPAFREE(x) in type_sepa.h

Definition at line 150 of file objsepa.h.

References SCIP_OKAY.

◆ SCIP_DECL_SEPAINIT()

virtual scip::ObjSepa::SCIP_DECL_SEPAINIT ( scip_init  )
inlinevirtual

initialization method of cut separator (called after problem was transformed)

See also
SCIP_DECL_SEPAINIT(x) in type_sepa.h

Definition at line 159 of file objsepa.h.

References SCIP_OKAY.

◆ SCIP_DECL_SEPAEXIT()

virtual scip::ObjSepa::SCIP_DECL_SEPAEXIT ( scip_exit  )
inlinevirtual

deinitialization method of cut separator (called before transformed problem is freed)

See also
SCIP_DECL_SEPAEXIT(x) in type_sepa.h

Definition at line 168 of file objsepa.h.

References SCIP_OKAY.

◆ SCIP_DECL_SEPAINITSOL()

virtual scip::ObjSepa::SCIP_DECL_SEPAINITSOL ( scip_initsol  )
inlinevirtual

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

See also
SCIP_DECL_SEPAINITSOL(x) in type_sepa.h

Definition at line 177 of file objsepa.h.

References SCIP_OKAY.

◆ SCIP_DECL_SEPAEXITSOL()

virtual scip::ObjSepa::SCIP_DECL_SEPAEXITSOL ( scip_exitsol  )
inlinevirtual

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

See also
SCIP_DECL_SEPAEXITSOL(x) in type_sepa.h

Definition at line 186 of file objsepa.h.

References SCIP_OKAY.

◆ SCIP_DECL_SEPAEXECLP()

virtual scip::ObjSepa::SCIP_DECL_SEPAEXECLP ( scip_execlp  )
inlinevirtual

LP solution separation method of separator

See also
SCIP_DECL_SEPAEXECLP(x) in type_sepa.h

Definition at line 195 of file objsepa.h.

References NULL, SCIP_DIDNOTRUN, and SCIP_OKAY.

◆ SCIP_DECL_SEPAEXECSOL()

virtual scip::ObjSepa::SCIP_DECL_SEPAEXECSOL ( scip_execsol  )
inlinevirtual

arbitrary primal solution separation method of separator

See also
SCIP_DECL_SEPAEXECSOL(x) in type_sepa.h

Definition at line 206 of file objsepa.h.

References NULL, SCIP_DIDNOTRUN, and SCIP_OKAY.

Field Documentation

◆ scip_

SCIP* scip::ObjSepa::scip_

SCIP data structure

Definition at line 58 of file objsepa.h.

Referenced by ObjSepa(), and ~ObjSepa().

◆ scip_name_

char* scip::ObjSepa::scip_name_

name of the cut separator

Definition at line 61 of file objsepa.h.

Referenced by ObjSepa(), SCIPincludeObjSepa(), and ~ObjSepa().

◆ scip_desc_

char* scip::ObjSepa::scip_desc_

description of the cut separator

Definition at line 64 of file objsepa.h.

Referenced by ObjSepa(), SCIPincludeObjSepa(), and ~ObjSepa().

◆ scip_priority_

const int scip::ObjSepa::scip_priority_

default priority of the cut separator

Definition at line 67 of file objsepa.h.

Referenced by SCIPincludeObjSepa().

◆ scip_freq_

const int scip::ObjSepa::scip_freq_

frequency for calling separator

Definition at line 70 of file objsepa.h.

Referenced by SCIPincludeObjSepa().

◆ scip_maxbounddist_

const SCIP_Real scip::ObjSepa::scip_maxbounddist_

maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation (0.0: only on current best node, 1.0: on all nodes)

Definition at line 75 of file objsepa.h.

Referenced by SCIPincludeObjSepa().

◆ scip_usessubscip_

const SCIP_Bool scip::ObjSepa::scip_usessubscip_

does the separator use a secondary SCIP instance?

Definition at line 78 of file objsepa.h.

Referenced by SCIPincludeObjSepa().

◆ scip_delay_

const SCIP_Bool scip::ObjSepa::scip_delay_

should separator be delayed, if other separators found cuts?

Definition at line 81 of file objsepa.h.

Referenced by SCIPincludeObjSepa().