internal methods for Benders' decomposition cuts
Definition in file benderscut.h.
#include "scip/def.h"#include "blockmemshell/memory.h"#include "scip/type_retcode.h"#include "scip/type_result.h"#include "scip/type_set.h"#include "scip/type_benderscut.h"#include "scip/type_benders.h"#include "scip/type_message.h"#include "scip/pub_benderscut.h"Go to the source code of this file.
| SCIP_RETCODE SCIPbenderscutCopyInclude | ( | SCIP_BENDERS * | benders, |
| SCIP_BENDERSCUT * | benderscut, | ||
| SCIP_SET * | set ) |
copies the given Benders' decomposition cut to a new scip
| benders | the Benders' decomposition that the cuts are copied to |
| benderscut | Benders' decomposition cut |
| set | SCIP_SET of SCIP to copy to |
Definition at line 86 of file benderscut.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPbenderscutCopyInclude(), SCIPbenderscutGetName(), and SCIPsetDebugMsg.
Referenced by SCIPbendersCopyInclude(), and SCIPbenderscutCopyInclude().
| 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
| benders | Benders' decomposition |
| benderscut | pointer to the Benders' decomposition cut data structure |
| set | global SCIP settings |
| messagehdlr | message handler |
| blkmem | block memory for parameter settings |
| name | name of the Benders' decomposition cut |
| desc | description of the Benders' decomposition cut |
| priority | priority of the the Benders' decomposition cut |
| islpcut | indicates whether the cut is generated from the LP solution |
| - | copy method of the Benders' decomposition cut or NULL if you don't want to copy your plugin into sub-SCIPs |
| - | destructor of the Benders' decomposition cut |
| - | initialize the Benders' decomposition cut |
| - | deinitialize the Benders' decomposition cut |
| - | solving process initialization method of the Benders' decomposition cut |
| - | solving process deinitialization method of the Benders' decomposition cut |
| - | execution method of the Benders' decomposition cut |
| benderscutdata | Benders' decomposition cut data |
Definition at line 170 of file benderscut.c.
References assert(), doBenderscutCreate(), NULL, SCIP_Bool, SCIP_CALL_FINALLY, SCIP_DECL_BENDERSCUTCOPY, SCIP_DECL_BENDERSCUTEXEC, SCIP_DECL_BENDERSCUTEXIT, SCIP_DECL_BENDERSCUTEXITSOL, SCIP_DECL_BENDERSCUTFREE, SCIP_DECL_BENDERSCUTINIT, SCIP_DECL_BENDERSCUTINITSOL, SCIP_OKAY, SCIPbenderscutCreate(), and SCIPbenderscutFree().
Referenced by SCIPbenderscutCreate(), SCIPincludeBenderscut(), and SCIPincludeBenderscutBasic().
| SCIP_RETCODE SCIPbenderscutFree | ( | SCIP_BENDERSCUT ** | benderscut, |
| SCIP_SET * | set ) |
calls destructor and frees memory of the Benders' decomposition cut
| benderscut | pointer to the Benders' decomposition cut data structure |
| set | global SCIP settings |
Definition at line 203 of file benderscut.c.
References assert(), BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, SCIPbenderscutFree(), and SCIPclockFree().
Referenced by SCIPbenderscutCreate(), SCIPbenderscutFree(), and SCIPbendersFree().
| SCIP_RETCODE SCIPbenderscutInit | ( | SCIP_BENDERSCUT * | benderscut, |
| SCIP_SET * | set ) |
initializes the Benders' decomposition cut
| benderscut | Benders' decomposition cut |
| set | global 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, SCIPbenderscutInit(), SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Benderscut::setuptime, and TRUE.
Referenced by SCIPbenderscutInit(), and SCIPbendersInit().
| SCIP_RETCODE SCIPbenderscutExit | ( | SCIP_BENDERSCUT * | benderscut, |
| SCIP_SET * | set ) |
calls exit method of the Benders' decomposition cut
| benderscut | Benders' decomposition cut |
| set | global 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, SCIPbenderscutExit(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Benderscut::setuptime.
Referenced by SCIPbenderscutExit(), and SCIPbendersExit().
| 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
| benderscut | Benders' decomposition cut |
| set | global SCIP settings |
Definition at line 298 of file benderscut.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPbenderscutInitsol(), SCIPclockStart(), SCIPclockStop(), and SCIP_Benderscut::setuptime.
Referenced by SCIPbenderscutInitsol(), and SCIPbendersInitsol().
| 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
| benderscut | Benders' decomposition |
| set | global SCIP settings |
Definition at line 322 of file benderscut.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPbenderscutExitsol(), SCIPclockStart(), SCIPclockStop(), and SCIP_Benderscut::setuptime.
Referenced by SCIPbenderscutExitsol(), and SCIPbendersExitsol().
| 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
| benderscut | Benders' decomposition cut |
| set | global SCIP settings |
| benders | Benders' decomposition |
| sol | primal CIP solution |
| probnumber | the number of the subproblem for which the cut is generated |
| type | the enforcement type calling this function |
| result | pointer 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, SCIPbenderscutExec(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPsetDebugMsg, and sol.
Referenced by generateBendersCuts(), and SCIPbenderscutExec().
| void SCIPbenderscutSetPriority | ( | SCIP_BENDERSCUT * | benderscut, |
| int | priority ) |
sets priority of the Benders' decomposition cut
| benderscut | Benders' decomposition cut |
| priority | new priority of the Benders' decomposition cut |
Definition at line 522 of file benderscut.c.
References assert(), NULL, SCIP_Benderscut::priority, and SCIPbenderscutSetPriority().
Referenced by SCIPbenderscutSetPriority(), and SCIPsetBenderscutPriority().
| void SCIPbenderscutSetCopy | ( | SCIP_BENDERSCUT * | benderscut | ) |
sets copy callback of the Benders' decomposition cut
| benderscut | Benders' 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(), NULL, SCIP_DECL_BENDERSCUTCOPY, and SCIPbenderscutSetCopy().
Referenced by SCIPbenderscutSetCopy(), and SCIPsetBenderscutCopy().
| void SCIPbenderscutSetFree | ( | SCIP_BENDERSCUT * | benderscut | ) |
sets destructor callback of the Benders' decomposition cut
| benderscut | Benders' decomposition cut destructor of the Benders' decomposition cut |
Definition at line 437 of file benderscut.c.
References assert(), NULL, SCIP_DECL_BENDERSCUTFREE, and SCIPbenderscutSetFree().
Referenced by SCIPbenderscutSetFree(), and SCIPsetBenderscutFree().
| void SCIPbenderscutSetInit | ( | SCIP_BENDERSCUT * | benderscut | ) |
sets initialization callback of the Benders' decomposition cut
| benderscut | Benders' decomposition cut initialize the Benders' decomposition cut |
Definition at line 448 of file benderscut.c.
References assert(), NULL, SCIP_DECL_BENDERSCUTINIT, and SCIPbenderscutSetInit().
Referenced by SCIPbenderscutSetInit(), and SCIPsetBenderscutInit().
| void SCIPbenderscutSetExit | ( | SCIP_BENDERSCUT * | benderscut | ) |
sets deinitialization callback of the Benders' decomposition cut
| benderscut | Benders' decomposition cut deinitialize the Benders' decomposition cut |
Definition at line 459 of file benderscut.c.
References assert(), NULL, SCIP_DECL_BENDERSCUTEXIT, and SCIPbenderscutSetExit().
Referenced by SCIPbenderscutSetExit(), and SCIPsetBenderscutExit().
| void SCIPbenderscutSetInitsol | ( | SCIP_BENDERSCUT * | benderscut | ) |
sets solving process initialization callback of the Benders' decomposition cut
| benderscut | Benders' decomposition cut solving process initialization callback of the Benders' decomposition cut |
Definition at line 470 of file benderscut.c.
References assert(), NULL, SCIP_DECL_BENDERSCUTINITSOL, and SCIPbenderscutSetInitsol().
Referenced by SCIPbenderscutSetInitsol(), and SCIPsetBenderscutInitsol().
| void SCIPbenderscutSetExitsol | ( | SCIP_BENDERSCUT * | benderscut | ) |
sets solving process deinitialization callback of the Benders' decomposition cut
sets solving process deinitialization callback of Benders' decomposition cut
| benderscut | Benders' decomposition cut solving process deinitialization callback of the Benders' decomposition cut |
Definition at line 481 of file benderscut.c.
References assert(), NULL, SCIP_DECL_BENDERSCUTEXITSOL, and SCIPbenderscutSetExitsol().
Referenced by SCIPbenderscutSetExitsol(), and SCIPsetBenderscutExitsol().