SCIP Doxygen Documentation
Loading...
Searching...
No Matches
benderscut.h File Reference

Detailed Description

internal methods for Benders' decomposition cuts

Author
Stephen J. Maher

Definition in file benderscut.h.

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPbenderscutCopyInclude (SCIP_BENDERS *benders, SCIP_BENDERSCUT *benderscut, SCIP_SET *set)
SCIP_RETCODE SCIPbenderscutCreate (SCIP_BENDERS *benders, SCIP_BENDERSCUT **benderscut, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int priority, SCIP_Bool islpcut, SCIP_DECL_BENDERSCUTCOPY((*benderscutcopy)), SCIP_DECL_BENDERSCUTFREE((*benderscutfree)), SCIP_DECL_BENDERSCUTINIT((*benderscutinit)), SCIP_DECL_BENDERSCUTEXIT((*benderscutexit)), SCIP_DECL_BENDERSCUTINITSOL((*benderscutinitsol)), SCIP_DECL_BENDERSCUTEXITSOL((*benderscutexitsol)), SCIP_DECL_BENDERSCUTEXEC((*benderscutexec)), SCIP_BENDERSCUTDATA *benderscutdata)
SCIP_RETCODE SCIPbenderscutFree (SCIP_BENDERSCUT **benderscut, SCIP_SET *set)
SCIP_RETCODE SCIPbenderscutInit (SCIP_BENDERSCUT *benderscut, SCIP_SET *set)
SCIP_RETCODE SCIPbenderscutExit (SCIP_BENDERSCUT *benderscut, SCIP_SET *set)
SCIP_RETCODE SCIPbenderscutInitsol (SCIP_BENDERSCUT *benderscut, SCIP_SET *set)
SCIP_RETCODE SCIPbenderscutExitsol (SCIP_BENDERSCUT *benderscut, SCIP_SET *set)
SCIP_RETCODE SCIPbenderscutExec (SCIP_BENDERSCUT *benderscut, SCIP_SET *set, SCIP_BENDERS *benders, SCIP_SOL *sol, int probnumber, SCIP_BENDERSENFOTYPE type, SCIP_RESULT *result)
void SCIPbenderscutSetPriority (SCIP_BENDERSCUT *benderscut, int priority)
void SCIPbenderscutSetCopy (SCIP_BENDERSCUT *benderscut,)
void SCIPbenderscutSetFree (SCIP_BENDERSCUT *benderscut,)
void SCIPbenderscutSetInit (SCIP_BENDERSCUT *benderscut,)
void SCIPbenderscutSetExit (SCIP_BENDERSCUT *benderscut,)
void SCIPbenderscutSetInitsol (SCIP_BENDERSCUT *benderscut,)
void SCIPbenderscutSetExitsol (SCIP_BENDERSCUT *benderscut,)

Function Documentation

◆ SCIPbenderscutCopyInclude()

SCIP_RETCODE SCIPbenderscutCopyInclude ( SCIP_BENDERS * benders,
SCIP_BENDERSCUT * benderscut,
SCIP_SET * set )

copies the given Benders' decomposition cut to a new scip

Parameters
bendersthe Benders' decomposition that the cuts are copied to
benderscutBenders' decomposition cut
setSCIP_SET of SCIP to copy to

Definition at line 86 of file benderscut.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPbenderscutGetName(), and SCIPsetDebugMsg.

Referenced by SCIPbendersCopyInclude().

◆ SCIPbenderscutCreate()

SCIP_RETCODE SCIPbenderscutCreate ( SCIP_BENDERS * benders,
SCIP_BENDERSCUT ** benderscut,
SCIP_SET * set,
SCIP_MESSAGEHDLR * messagehdlr,
BMS_BLKMEM * blkmem,
const char * name,
const char * desc,
int priority,
SCIP_Bool islpcut,
SCIP_DECL_BENDERSCUTCOPY((*benderscutcopy)) ,
SCIP_DECL_BENDERSCUTFREE((*benderscutfree)) ,
SCIP_DECL_BENDERSCUTINIT((*benderscutinit)) ,
SCIP_DECL_BENDERSCUTEXIT((*benderscutexit)) ,
SCIP_DECL_BENDERSCUTINITSOL((*benderscutinitsol)) ,
SCIP_DECL_BENDERSCUTEXITSOL((*benderscutexitsol)) ,
SCIP_DECL_BENDERSCUTEXEC((*benderscutexec)) ,
SCIP_BENDERSCUTDATA * benderscutdata )

creates a Benders' decomposition cut

Parameters
bendersBenders' decomposition
benderscutpointer to the Benders' decomposition cut data structure
setglobal SCIP settings
messagehdlrmessage handler
blkmemblock memory for parameter settings
namename of the Benders' decomposition cut
descdescription of the Benders' decomposition cut
prioritypriority of the the Benders' decomposition cut
islpcutindicates whether the cut is generated from the LP solution
benderscutdataBenders' decomposition cut data

Definition at line 170 of file benderscut.c.

References assert(), doBenderscutCreate(), NULL, SCIP_Bool, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPbenderscutFree().

Referenced by SCIPincludeBenderscut(), and SCIPincludeBenderscutBasic().

◆ SCIPbenderscutFree()

SCIP_RETCODE SCIPbenderscutFree ( SCIP_BENDERSCUT ** benderscut,
SCIP_SET * set )

calls destructor and frees memory of the Benders' decomposition cut

Parameters
benderscutpointer to the Benders' decomposition cut data structure
setglobal SCIP settings

Definition at line 203 of file benderscut.c.

References assert(), BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().

Referenced by SCIPbenderscutCreate(), and SCIPbendersFree().

◆ SCIPbenderscutInit()

SCIP_RETCODE SCIPbenderscutInit ( SCIP_BENDERSCUT * benderscut,
SCIP_SET * set )

initializes the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut
setglobal SCIP settings

Definition at line 229 of file benderscut.c.

References assert(), SCIP_Benderscut::benderscutclock, SCIP_Benderscut::initialized, SCIP_Benderscut::name, SCIP_Benderscut::ncalls, SCIP_Benderscut::nfound, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Benderscut::setuptime, and TRUE.

Referenced by SCIPbendersInit().

◆ SCIPbenderscutExit()

SCIP_RETCODE SCIPbenderscutExit ( SCIP_BENDERSCUT * benderscut,
SCIP_SET * set )

calls exit method of the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut
setglobal SCIP settings

Definition at line 268 of file benderscut.c.

References assert(), FALSE, SCIP_Benderscut::initialized, SCIP_Benderscut::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Benderscut::setuptime.

Referenced by SCIPbendersExit().

◆ SCIPbenderscutInitsol()

SCIP_RETCODE SCIPbenderscutInitsol ( SCIP_BENDERSCUT * benderscut,
SCIP_SET * set )

informs the Benders' decomposition cut that the branch and bound process is being started

informs Benders' cut that the branch and bound process is being started

Parameters
benderscutBenders' decomposition cut
setglobal SCIP settings

Definition at line 298 of file benderscut.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Benderscut::setuptime.

Referenced by SCIPbendersInitsol().

◆ SCIPbenderscutExitsol()

SCIP_RETCODE SCIPbenderscutExitsol ( SCIP_BENDERSCUT * benderscut,
SCIP_SET * set )

informs the Benders' decomposition cut that the branch and bound process data is being freed

informs Benders' decomposition that the branch and bound process data is being freed

Parameters
benderscutBenders' decomposition
setglobal SCIP settings

Definition at line 322 of file benderscut.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Benderscut::setuptime.

Referenced by SCIPbendersExitsol().

◆ SCIPbenderscutExec()

SCIP_RETCODE SCIPbenderscutExec ( SCIP_BENDERSCUT * benderscut,
SCIP_SET * set,
SCIP_BENDERS * benders,
SCIP_SOL * sol,
int probnumber,
SCIP_BENDERSENFOTYPE type,
SCIP_RESULT * result )

calls execution method of the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut
setglobal SCIP settings
bendersBenders' decomposition
solprimal CIP solution
probnumberthe number of the subproblem for which the cut is generated
typethe enforcement type calling this function
resultpointer to store the result of the callback method

Definition at line 346 of file benderscut.c.

References assert(), SCIP_Benderscut::benderscutclock, SCIP_Benderscut::enabled, SCIP_Benderscut::name, SCIP_Benderscut::ncalls, SCIP_Benderscut::nfound, NULL, result, SCIP_CALL, SCIP_CONSADDED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_FEASIBLE, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPsetDebugMsg, and sol.

Referenced by generateBendersCuts().

◆ SCIPbenderscutSetPriority()

void SCIPbenderscutSetPriority ( SCIP_BENDERSCUT * benderscut,
int priority )

sets priority of the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut
prioritynew priority of the Benders' decomposition cut

Definition at line 522 of file benderscut.c.

References assert(), NULL, and SCIP_Benderscut::priority.

Referenced by SCIPsetBenderscutPriority().

◆ SCIPbenderscutSetCopy()

void SCIPbenderscutSetCopy ( SCIP_BENDERSCUT * benderscut)

sets copy callback of the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut copy callback of the Benders' decomposition cut or NULL if you don't want to copy your plugin into sub-SCIPs

Definition at line 426 of file benderscut.c.

References assert(), and NULL.

Referenced by SCIPsetBenderscutCopy().

◆ SCIPbenderscutSetFree()

void SCIPbenderscutSetFree ( SCIP_BENDERSCUT * benderscut)

sets destructor callback of the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut destructor of the Benders' decomposition cut

Definition at line 437 of file benderscut.c.

References assert(), and NULL.

Referenced by SCIPsetBenderscutFree().

◆ SCIPbenderscutSetInit()

void SCIPbenderscutSetInit ( SCIP_BENDERSCUT * benderscut)

sets initialization callback of the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut initialize the Benders' decomposition cut

Definition at line 448 of file benderscut.c.

References assert(), and NULL.

Referenced by SCIPsetBenderscutInit().

◆ SCIPbenderscutSetExit()

void SCIPbenderscutSetExit ( SCIP_BENDERSCUT * benderscut)

sets deinitialization callback of the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut deinitialize the Benders' decomposition cut

Definition at line 459 of file benderscut.c.

References assert(), and NULL.

Referenced by SCIPsetBenderscutExit().

◆ SCIPbenderscutSetInitsol()

void SCIPbenderscutSetInitsol ( SCIP_BENDERSCUT * benderscut)

sets solving process initialization callback of the Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut solving process initialization callback of the Benders' decomposition cut

Definition at line 470 of file benderscut.c.

References assert(), and NULL.

Referenced by SCIPsetBenderscutInitsol().

◆ SCIPbenderscutSetExitsol()

void SCIPbenderscutSetExitsol ( SCIP_BENDERSCUT * benderscut)

sets solving process deinitialization callback of the Benders' decomposition cut

sets solving process deinitialization callback of Benders' decomposition cut

Parameters
benderscutBenders' decomposition cut solving process deinitialization callback of the Benders' decomposition cut

Definition at line 481 of file benderscut.c.

References assert(), and NULL.

Referenced by SCIPsetBenderscutExitsol().