C++ wrapper for Benders' decomposition cut plugin.
This class defines the interface for the Benders' decomposition cuts implemented in C++. Note that there is a pure virtual function (this must be implemented). This function is: benderscut_exec().
Definition at line 56 of file objbenderscut.h.
C++ wrapper for Benders' decomposition cut plugin. More...
#include <objbenderscut.h>
Public Member Functions | |
ObjBenderscut (SCIP *scip, const char *name, const char *desc, int priority, SCIP_Bool islpcut) | |
ObjBenderscut (const ObjBenderscut &o) | |
ObjBenderscut (ObjBenderscut &&o) | |
virtual | ~ObjBenderscut () |
ObjBenderscut & | operator= (const ObjBenderscut &o)=delete |
ObjBenderscut & | operator= (ObjBenderscut &&o)=delete |
virtual | SCIP_DECL_BENDERSCUTCOPY (scip_copy) |
virtual | SCIP_DECL_BENDERSCUTFREE (scip_free) |
virtual | SCIP_DECL_BENDERSCUTINIT (scip_init) |
virtual | SCIP_DECL_BENDERSCUTEXIT (scip_exit) |
virtual | SCIP_DECL_BENDERSCUTINITSOL (scip_initsol) |
virtual | SCIP_DECL_BENDERSCUTEXITSOL (scip_exitsol) |
virtual | SCIP_DECL_BENDERSCUTEXEC (scip_exec)=0 |
Public Member Functions inherited from scip::ObjCloneable | |
virtual | ~ObjCloneable () |
ObjCloneable & | operator= (const ObjCloneable &o)=delete |
ObjCloneable & | operator= (ObjCloneable &&o)=delete |
virtual | SCIP_DECL_OBJCLONEABLECLONE (ObjCloneable *clone) |
virtual | SCIP_DECL_OBJCLONEABLEISCLONEABLE (iscloneable) |
Data Fields | |
SCIP * | scip_ |
char * | scip_name_ |
char * | scip_desc_ |
const int | scip_priority_ |
const SCIP_Bool | scip_islpcut_ |
|
inline |
default constructor
scip | SCIP data structure |
name | name of Benders' decomposition |
desc | description of Benders' decomposition |
priority | priority of the Benders' decomposition |
islpcut | is the cut generated from the LP relaxation |
Definition at line 77 of file objbenderscut.h.
References scip_, SCIP_Bool, SCIP_CALL_ABORT, scip_desc_, scip_islpcut_, scip_name_, scip_priority_, and SCIPduplicateMemoryArray.
Referenced by ObjBenderscut(), ObjBenderscut(), operator=(), and operator=().
|
inline |
copy constructor
Definition at line 96 of file objbenderscut.h.
References ObjBenderscut(), scip_, scip_desc_, scip_islpcut_, scip_name_, and scip_priority_.
|
inline |
move constructor
Definition at line 102 of file objbenderscut.h.
References ObjBenderscut(), scip_, scip_desc_, scip_islpcut_, scip_name_, and scip_priority_.
|
inlinevirtual |
destructor
Definition at line 110 of file objbenderscut.h.
References scip_, scip_desc_, scip_name_, and SCIPfreeMemoryArray.
|
delete |
assignment of polymorphic classes causes slicing and is therefore disabled.
References ObjBenderscut().
|
delete |
assignment of polymorphic classes causes slicing and is therefore disabled.
References ObjBenderscut().
|
inlinevirtual |
copy method for compression plugins (called when SCIP copies plugins)
Definition at line 128 of file objbenderscut.h.
References SCIP_OKAY.
|
inlinevirtual |
destructor of Benders' decomposition cuts to free user data (called when SCIP is exiting)
Definition at line 137 of file objbenderscut.h.
References SCIP_OKAY.
|
inlinevirtual |
initialization method of Benders' decomposition cuts (called after problem was transformed)
Definition at line 146 of file objbenderscut.h.
References SCIP_OKAY.
|
inlinevirtual |
deinitialization method of Benders' decomposition cuts (called before transformed problem is freed)
Definition at line 155 of file objbenderscut.h.
References SCIP_OKAY.
|
inlinevirtual |
solving process initialization method of Benders' decomposition cuts (called when branch and bound process is about to begin)
Definition at line 164 of file objbenderscut.h.
References SCIP_OKAY.
|
inlinevirtual |
solving process deinitialization method of Benders' decomposition cuts (called before branch and bound process data is freed)
This method is called before the branch and bound process is freed. The Benders' decomposition cuts should use this call to clean up its branch and bound data.
Definition at line 176 of file objbenderscut.h.
References SCIP_OKAY.
|
pure virtual |
execution method of Benders' decomposition cuts technique
SCIP* scip::ObjBenderscut::scip_ |
SCIP data structure
Definition at line 62 of file objbenderscut.h.
Referenced by ObjBenderscut(), ObjBenderscut(), ObjBenderscut(), SCIPincludeObjBenderscut(), and ~ObjBenderscut().
char* scip::ObjBenderscut::scip_name_ |
name of the Benders' decomposition cut
Definition at line 65 of file objbenderscut.h.
Referenced by ObjBenderscut(), ObjBenderscut(), ObjBenderscut(), SCIPincludeObjBenderscut(), and ~ObjBenderscut().
char* scip::ObjBenderscut::scip_desc_ |
description of the Benders' decomposition cut
Definition at line 68 of file objbenderscut.h.
Referenced by ObjBenderscut(), ObjBenderscut(), ObjBenderscut(), SCIPincludeObjBenderscut(), and ~ObjBenderscut().
const int scip::ObjBenderscut::scip_priority_ |
the priority of the Benders' decomposition cut
Definition at line 71 of file objbenderscut.h.
Referenced by ObjBenderscut(), ObjBenderscut(), ObjBenderscut(), and SCIPincludeObjBenderscut().
const SCIP_Bool scip::ObjBenderscut::scip_islpcut_ |
is the Benders' decomposition cut generated from the LP relaxation of the subproblem
Definition at line 74 of file objbenderscut.h.
Referenced by ObjBenderscut(), ObjBenderscut(), ObjBenderscut(), and SCIPincludeObjBenderscut().