Scippy

SCIP

Solving Constraint Integer Programs

scip::ObjBenderscut Class Referenceabstract

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().

Definition at line 47 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)
 
virtual ~ObjBenderscut ()
 
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 ()
 
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 SCIP_Bool scip_islpcut_
 

Constructor & Destructor Documentation

◆ ObjBenderscut()

scip::ObjBenderscut::ObjBenderscut ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
SCIP_Bool  islpcut 
)
inline

default constructor

Parameters
scipSCIP data structure
namename of Benders' decomposition
descdescription of Benders' decomposition
prioritypriority of the Benders' decomposition
islpcutis the cut generated from the LP relaxation

Definition at line 68 of file objbenderscut.h.

References SCIP_CALL_ABORT, and SCIPduplicateMemoryArray.

◆ ~ObjBenderscut()

virtual scip::ObjBenderscut::~ObjBenderscut ( )
inlinevirtual

destructor

Definition at line 87 of file objbenderscut.h.

References SCIPfreeMemoryArray.

Member Function Documentation

◆ SCIP_DECL_BENDERSCUTCOPY()

virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTCOPY ( scip_copy  )
inlinevirtual

copy method for compression plugins (called when SCIP copies plugins)

See also
SCIP_DECL_BENDERSCUTCOPY(x) in type_benders.h

Definition at line 99 of file objbenderscut.h.

References SCIP_OKAY.

◆ SCIP_DECL_BENDERSCUTFREE()

virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTFREE ( scip_free  )
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 108 of file objbenderscut.h.

References SCIP_OKAY.

◆ SCIP_DECL_BENDERSCUTINIT()

virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTINIT ( scip_init  )
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 117 of file objbenderscut.h.

References SCIP_OKAY.

◆ SCIP_DECL_BENDERSCUTEXIT()

virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXIT ( scip_exit  )
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 126 of file objbenderscut.h.

References SCIP_OKAY.

◆ SCIP_DECL_BENDERSCUTINITSOL()

virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTINITSOL ( scip_initsol  )
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 135 of file objbenderscut.h.

References SCIP_OKAY.

◆ SCIP_DECL_BENDERSCUTEXITSOL()

virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXITSOL ( scip_exitsol  )
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 147 of file objbenderscut.h.

References SCIP_Bool, SCIP_DECL_BENDERSCUTEXEC(), SCIP_OKAY, SCIPfindObjBenderscut(), SCIPgetObjBenderscut(), and SCIPincludeObjBenderscut().

◆ SCIP_DECL_BENDERSCUTEXEC()

virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXEC ( scip_exec  )
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 53 of file objbenderscut.h.

Referenced by SCIPincludeObjBenderscut().

◆ scip_name_

char* scip::ObjBenderscut::scip_name_

name of the Benders' decomposition cut

Definition at line 56 of file objbenderscut.h.

Referenced by SCIPincludeObjBenderscut().

◆ scip_desc_

char* scip::ObjBenderscut::scip_desc_

description of the Benders' decomposition cut

Definition at line 59 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 62 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 65 of file objbenderscut.h.

Referenced by SCIPincludeObjBenderscut().