Scippy

SCIP

Solving Constraint Integer Programs

objbenderscut.cpp File Reference

Detailed Description

C++ wrapper for the Benders' decomposition cut plugins.

Author
Stephen J. Maher

Definition in file objbenderscut.cpp.

#include <cassert>
#include "objbenderscut.h"

Go to the source code of this file.

Functions

static SCIP_DECL_BENDERSCUTCOPY (benderscutCopyObj)
 
static SCIP_DECL_BENDERSCUTFREE (benderscutFreeObj)
 
static SCIP_DECL_BENDERSCUTINIT (benderscutInitObj)
 
static SCIP_DECL_BENDERSCUTEXIT (benderscutExitObj)
 
static SCIP_DECL_BENDERSCUTINITSOL (benderscutInitsolObj)
 
static SCIP_DECL_BENDERSCUTEXITSOL (benderscutExitsolObj)
 
static SCIP_DECL_BENDERSCUTEXEC (benderscutExecObj)
 
SCIP_RETCODE SCIPincludeObjBenderscut (SCIP *scip, scip::ObjBenders *objbenders, scip::ObjBenderscut *objbenderscut, SCIP_Bool deleteobject)
 
scip::ObjBenderscutSCIPfindObjBenderscut (scip::ObjBenders *objbenders, const char *name)
 
scip::ObjBenderscutSCIPgetObjBenderscut (SCIP *scip, SCIP_BENDERSCUT *benderscut)
 

Function Documentation

◆ SCIP_DECL_BENDERSCUTCOPY()

static SCIP_DECL_BENDERSCUTCOPY ( benderscutCopyObj  )
static

copy method for Benders' decomposition cuts (called when SCIP copies plugins)

Definition at line 53 of file objbenderscut.cpp.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPbenderscutGetData(), SCIPgetObjBenders(), SCIPincludeObjBenderscut(), and TRUE.

◆ SCIP_DECL_BENDERSCUTFREE()

static SCIP_DECL_BENDERSCUTFREE ( benderscutFreeObj  )
static

destructor of Benders' decomposition cut to free user data (called when SCIP is exiting)

Definition at line 78 of file objbenderscut.cpp.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPbenderscutGetData(), and SCIPbenderscutSetData().

◆ SCIP_DECL_BENDERSCUTINIT()

static SCIP_DECL_BENDERSCUTINIT ( benderscutInitObj  )
static

initialization method of Benders' decomposition cut (called after problem was transformed)

Definition at line 104 of file objbenderscut.cpp.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPbenderscutGetData().

◆ SCIP_DECL_BENDERSCUTEXIT()

static SCIP_DECL_BENDERSCUTEXIT ( benderscutExitObj  )
static

deinitialization method of Benders' decomposition cut (called before transformed problem is freed)

Definition at line 122 of file objbenderscut.cpp.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPbenderscutGetData().

◆ SCIP_DECL_BENDERSCUTINITSOL()

static SCIP_DECL_BENDERSCUTINITSOL ( benderscutInitsolObj  )
static

solving process initialization method of Benders' decomposition cut (called when branch and bound process is about to begin)

Definition at line 139 of file objbenderscut.cpp.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPbenderscutGetData().

◆ SCIP_DECL_BENDERSCUTEXITSOL()

static SCIP_DECL_BENDERSCUTEXITSOL ( benderscutExitsolObj  )
static

solving process deinitialization method of Benders' decomposition cut (called before branch and bound process data is freed)

Definition at line 156 of file objbenderscut.cpp.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPbenderscutGetData().

◆ SCIP_DECL_BENDERSCUTEXEC()

static SCIP_DECL_BENDERSCUTEXEC ( benderscutExecObj  )
static

execution method of the Benders' decomposition cuts

Definition at line 173 of file objbenderscut.cpp.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPbenderscutGetData().

◆ SCIPincludeObjBenderscut()

SCIP_RETCODE SCIPincludeObjBenderscut ( SCIP scip,
scip::ObjBenders objbenders,
scip::ObjBenderscut objbenderscut,
SCIP_Bool  deleteobject 
)

creates the Benders' decomposition cut for the given Benders' decomposition cut object and includes it in SCIP

Parameters
scipSCIP data structure
objbendersBenders' decomposition object
objbenderscutBenders' decomposition cut object
deleteobjectshould the Benders' decomposition cut object be deleted when benderscut is freed?

Definition at line 196 of file objbenderscut.cpp.

References NULL, scip::ObjBenderscut::scip_, SCIP_CALL, scip::ObjBenderscut::scip_desc_, scip::ObjBenderscut::scip_islpcut_, scip::ObjBenders::scip_name_, scip::ObjBenderscut::scip_name_, SCIP_OKAY, scip::ObjBenderscut::scip_priority_, SCIPfindBenders(), and SCIPincludeBenderscut().

Referenced by SCIP_DECL_BENDERSCUTCOPY(), and scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXITSOL().

◆ SCIPfindObjBenderscut()

scip::ObjBenderscut* SCIPfindObjBenderscut ( scip::ObjBenders objbenders,
const char *  name 
)

returns the benderscut object of the given name, or 0 if not existing

Parameters
objbendersBenders' decomposition object
namename of Benderscut' decomposition

Definition at line 228 of file objbenderscut.cpp.

References NULL, scip::ObjBenders::scip_, scip::ObjBenders::scip_name_, SCIPbenderscutGetData(), SCIPfindBenders(), and SCIPfindBenderscut().

Referenced by scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXITSOL().

◆ SCIPgetObjBenderscut()

scip::ObjBenderscut* SCIPgetObjBenderscut ( SCIP scip,
SCIP_BENDERSCUT benderscut 
)

returns the benderscut object for the given Benderscut' decomposition

Parameters
scipSCIP data structure
benderscutBenderscut' decomposition

Definition at line 251 of file objbenderscut.cpp.

References NULL, and SCIPbenderscutGetData().

Referenced by scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXITSOL().