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, SCIPbenderscutGetName(), and SCIPsetDebugMsg.
Referenced by SCIPbendersCopyInclude().
| 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 |
| benderscutdata | Benders' 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().
| 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, and SCIPclockFree().
Referenced by SCIPbenderscutCreate(), and SCIPbendersFree().
| SCIP_RETCODE SCIPbenderscutInit | ( | SCIP_BENDERSCUT * | benderscut, |
| SCIP_SET * | set ) |
initializes the Benders' decomposition cut
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().
| SCIP_RETCODE SCIPbenderscutExit | ( | SCIP_BENDERSCUT * | benderscut, |
| SCIP_SET * | set ) |
calls exit method of the Benders' decomposition cut
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().
| 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
Definition at line 298 of file benderscut.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Benderscut::setuptime.
Referenced by 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
Definition at line 322 of file benderscut.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Benderscut::setuptime.
Referenced by 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, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPsetDebugMsg, and sol.
Referenced by generateBendersCuts().
| 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, and SCIP_Benderscut::priority.
Referenced by 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(), and NULL.
Referenced by 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(), and NULL.
Referenced by 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(), and NULL.
Referenced by 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(), and NULL.
Referenced by 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(), and NULL.
Referenced by 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(), and NULL.
Referenced by SCIPsetBenderscutExitsol().