Detailed Description
C++ wrapper for Benders' decomposition cut.
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().
- Instructions for implementing a Benders' decomposition plugin
- List of available Benders' decomposition plugins
- Corresponding C interface
Definition at line 57 of file objbenderscut.h.
C++ wrapper for Benders' decomposition cut. 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_ |
Constructor & Destructor Documentation
◆ ObjBenderscut() [1/3]
|
inline |
default constructor
- Parameters
-
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 78 of file objbenderscut.h.
References SCIP_CALL_ABORT, and SCIPduplicateMemoryArray.
◆ ObjBenderscut() [2/3]
|
inline |
copy constructor
Definition at line 97 of file objbenderscut.h.
◆ ObjBenderscut() [3/3]
|
inline |
move constructor
Definition at line 103 of file objbenderscut.h.
◆ ~ObjBenderscut()
|
inlinevirtual |
destructor
Definition at line 111 of file objbenderscut.h.
References operator=(), and SCIPfreeMemoryArray.
Member Function Documentation
◆ operator=() [1/2]
|
delete |
assignment of polymorphic classes causes slicing and is therefore disabled.
Referenced by ~ObjBenderscut().
◆ operator=() [2/2]
|
delete |
assignment of polymorphic classes causes slicing and is therefore disabled.
◆ SCIP_DECL_BENDERSCUTCOPY()
|
inlinevirtual |
copy method for compression plugins (called when SCIP copies plugins)
- See also
- SCIP_DECL_BENDERSCUTCOPY(x) in type_benders.h
Definition at line 129 of file objbenderscut.h.
References SCIP_OKAY.
◆ SCIP_DECL_BENDERSCUTFREE()
|
inlinevirtual |
destructor of Benders' decomposition cuts to free user data (called when SCIP is exiting)
- See also
- SCIP_DECL_BENDERSCUTFREE(x) in type_benders.h
Definition at line 138 of file objbenderscut.h.
References SCIP_OKAY.
◆ SCIP_DECL_BENDERSCUTINIT()
|
inlinevirtual |
initialization method of Benders' decomposition cuts (called after problem was transformed)
- See also
- SCIP_DECL_BENDERSCUTINIT(x) in type_benders.h
Definition at line 147 of file objbenderscut.h.
References SCIP_OKAY.
◆ SCIP_DECL_BENDERSCUTEXIT()
|
inlinevirtual |
deinitialization method of Benders' decomposition cuts (called before transformed problem is freed)
- See also
- SCIP_DECL_BENDERSCUTEXIT(x) in type_benders.h
Definition at line 156 of file objbenderscut.h.
References SCIP_OKAY.
◆ SCIP_DECL_BENDERSCUTINITSOL()
|
inlinevirtual |
solving process initialization method of Benders' decomposition cuts (called when branch and bound process is about to begin)
- See also
- SCIP_DECL_BENDERSCUTINITSOL(x) in type_benders.h
Definition at line 165 of file objbenderscut.h.
References SCIP_OKAY.
◆ SCIP_DECL_BENDERSCUTEXITSOL()
|
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.
- See also
- SCIP_DECL_BENDERSCUTEXITSOL(x) in type_benders.h
Definition at line 177 of file objbenderscut.h.
References SCIP_Bool, SCIP_DECL_BENDERSCUTEXEC(), SCIP_OKAY, SCIPfindObjBenderscut(), SCIPgetObjBenderscut(), and SCIPincludeObjBenderscut().
◆ SCIP_DECL_BENDERSCUTEXEC()
|
pure virtual |
execution method of Benders' decomposition cuts technique
- See also
- SCIP_DECL_BENDERSCUTEXEC(x) in type_benders.h
Referenced by SCIP_DECL_BENDERSCUTEXITSOL().
Field Documentation
◆ scip_
SCIP* scip::ObjBenderscut::scip_ |
SCIP data structure
Definition at line 63 of file objbenderscut.h.
Referenced by SCIPincludeObjBenderscut().
◆ scip_name_
char* scip::ObjBenderscut::scip_name_ |
name of the Benders' decomposition cut
Definition at line 66 of file objbenderscut.h.
Referenced by SCIPincludeObjBenderscut().
◆ scip_desc_
char* scip::ObjBenderscut::scip_desc_ |
description of the Benders' decomposition cut
Definition at line 69 of file objbenderscut.h.
Referenced by SCIPincludeObjBenderscut().
◆ scip_priority_
const int scip::ObjBenderscut::scip_priority_ |
the priority of the Benders' decomposition cut
Definition at line 72 of file objbenderscut.h.
Referenced by SCIPincludeObjBenderscut().
◆ scip_islpcut_
const SCIP_Bool scip::ObjBenderscut::scip_islpcut_ |
is the Benders' decomposition cut generated from the LP relaxation of the subproblem
Definition at line 75 of file objbenderscut.h.
Referenced by SCIPincludeObjBenderscut().