pub_benders.h
Go to the documentation of this file.
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
97 /** gets the number of times, the Bender' decomposition was called and tried to find a violated second stage constraint */
103 /** gets the number of optimality cuts found by the collection of Benders' decomposition subproblems */
152 * when Benders' is used in the LNS heuristics, only the convex relaxations of the master/subproblems are checked,
153 * i.e. no integer cuts are generated. In this case, then Benders' decomposition is performed under the assumption
247 /** returns the original problem data for the cuts that have been added by the Benders' cut plugin. The stored
248 * variables and values will populate the input vars and vals arrays. Thus, memory must be allocated for the vars and
275 /** returns the array of currently available Benders' cuts; active Benders' decomposition are in the first slots of
332 * It is possible that this can change during the solving process. One example is when the three-phase method is
333 * employed, where the first phase solves the convex relaxation of both the master and subproblems, the second phase
334 * reintroduces the integrality constraints to the master problem and the third phase then reintroduces integrality
365 SCIP_Bool isnonlinear /**< flag to indicate whether the subproblem contains non-linear constraints */
385 SCIP_Bool isnonlinear /**< flag to indicate whether the subproblem contains non-linear constraints */
429 /** updates the lower bound for the subproblem. If the lower bound is not greater than the previously stored lowerbound,
461 /** returns whether the subproblem is enabled, i.e. the subproblem is still solved in the solving loop. */
SCIP_EXPORT SCIP_Bool SCIPbendersMasterIsNonlinear(SCIP_BENDERS *benders)
Definition: benders.c:6418
SCIP_EXPORT SCIP_RETCODE SCIPbendersSolveSubproblemCIP(SCIP *scip, SCIP_BENDERS *benders, int probnumber, SCIP_STATUS *solvestatus, SCIP_Bool solvecip)
Definition: benders.c:4913
SCIP_EXPORT void SCIPbendersSetData(SCIP_BENDERS *benders, SCIP_BENDERSDATA *bendersdata)
Definition: benders.c:5740
SCIP_EXPORT int SCIPbendersGetNConvexSubproblems(SCIP_BENDERS *benders)
Definition: benders.c:6355
SCIP_EXPORT SCIP_VAR * SCIPbendersGetAuxiliaryVar(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6141
SCIP_EXPORT SCIP_Bool SCIPbendersShareAuxVars(SCIP_BENDERS *benders)
Definition: benders.c:6093
SCIP_EXPORT SCIP_RETCODE SCIPbendersSolSlackVarsActive(SCIP_BENDERS *benders, SCIP_Bool *activeslack)
Definition: benders.c:6192
type definitions for miscellaneous datastructures
Definition: struct_scip.h:59
SCIP_EXPORT SCIP_Bool SCIPbendersSubproblemIsIndependent(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6583
SCIP_EXPORT void SCIPbendersUpdateSubproblemLowerbound(SCIP_BENDERS *benders, int probnumber, SCIP_Real lowerbound)
Definition: benders.c:6694
Definition: struct_benderscut.h:37
SCIP_EXPORT SCIP_Bool SCIPbendersCutPseudo(SCIP_BENDERS *benders)
Definition: benders.c:6073
SCIP_EXPORT SCIP_Bool SCIPbendersOnlyCheckConvexRelax(SCIP_BENDERS *benders, SCIP_Bool subscipsoff)
Definition: benders.c:2995
SCIP_EXPORT int SCIPbendersGetNNonlinearSubproblems(SCIP_BENDERS *benders)
Definition: benders.c:6397
Definition: struct_var.h:198
SCIP_EXPORT SCIP_Bool SCIPbendersSubproblemIsEnabled(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6623
SCIP_EXPORT void SCIPbendersSetSubproblemIsNonlinear(SCIP_BENDERS *benders, int probnumber, SCIP_Bool isnonlinear)
Definition: benders.c:6365
SCIP_EXPORT int SCIPbendersGetNSubproblems(SCIP_BENDERS *benders)
Definition: benders.c:5949
SCIP_EXPORT void SCIPbendersSetSubproblemType(SCIP_BENDERS *benders, int probnumber, SCIP_BENDERSSUBTYPE subprobtype)
Definition: benders.c:6277
SCIP_EXPORT int SCIPbendersGetNStrengthenCalls(SCIP_BENDERS *benders)
Definition: benders.c:6001
SCIP_EXPORT SCIP_Real SCIPbendersGetSubproblemObjval(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6180
type definitions for return codes for SCIP methods
SCIP_EXPORT SCIP_Real SCIPbendersGetSubproblemLowerbound(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6713
SCIP_EXPORT SCIP_RETCODE SCIPbendersGetStoredCutData(SCIP_BENDERS *benders, int cutidx, SCIP_VAR ***vars, SCIP_Real **vals, SCIP_Real *lhs, SCIP_Real *rhs, int *nvars)
Definition: benders.c:6735
SCIP_EXPORT SCIP_Bool SCIPbendersCutRelaxation(SCIP_BENDERS *benders)
Definition: benders.c:6083
type definitions for problem statistics
Definition: struct_benders.h:48
SCIP_EXPORT SCIP_Real SCIPbendersGetTime(SCIP_BENDERS *benders)
Definition: benders.c:6031
SCIP_EXPORT SCIP * SCIPbendersSubproblem(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:5959
SCIP_EXPORT SCIP_BENDERSDATA * SCIPbendersGetData(SCIP_BENDERS *benders)
Definition: benders.c:5730
SCIP_EXPORT SCIP_Bool SCIPbendersCutLP(SCIP_BENDERS *benders)
Definition: benders.c:6063
SCIP_EXPORT int SCIPbendersGetNTransferredCuts(SCIP_BENDERS *benders)
Definition: benders.c:6682
SCIP_EXPORT int SCIPbendersGetNStrengthenFails(SCIP_BENDERS *benders)
Definition: benders.c:6011
type definitions for SCIP's main datastructure
SCIP_EXPORT int SCIPbendersGetNCutsFound(SCIP_BENDERS *benders)
Definition: benders.c:5981
SCIP_EXPORT SCIP_Bool SCIPbendersSubproblemIsNonlinear(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6385
SCIP_EXPORT SCIP_BENDERSCUT * SCIPfindBenderscut(SCIP_BENDERS *benders, const char *name)
Definition: benders.c:6898
SCIP_EXPORT SCIP_Bool SCIPbendersSubproblemIsSetup(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6531
SCIP_EXPORT void SCIPbendersSetMasterIsNonlinear(SCIP_BENDERS *benders, SCIP_Bool isnonlinear)
Definition: benders.c:6407
type definitions for problem variables
SCIP_EXPORT void SCIPbendersSetSubproblemIsConvex(SCIP_BENDERS *benders, int probnumber, SCIP_Bool isconvex)
Definition: benders.c:6320
SCIP_EXPORT SCIP_Real SCIPbendersGetSetupTime(SCIP_BENDERS *benders)
Definition: benders.c:6021
SCIP_EXPORT void SCIPbendersSetSubproblemIsIndependent(SCIP_BENDERS *benders, int probnumber, SCIP_Bool isindep)
Definition: benders.c:6543
SCIP_EXPORT SCIP_BENDERSSUBTYPE SCIPbendersGetSubproblemType(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6302
SCIP_EXPORT SCIP_Bool SCIPbendersIsActive(SCIP_BENDERS *benders)
Definition: benders.c:2683
type definitions for Benders' decomposition methods
SCIP_EXPORT void SCIPbendersSetSubproblemIsSetup(SCIP_BENDERS *benders, int probnumber, SCIP_Bool issetup)
Definition: benders.c:6518
type definitions for Benders' decomposition cut
SCIP_EXPORT int SCIPbendersGetNStrengthenCutsFound(SCIP_BENDERS *benders)
Definition: benders.c:5991
SCIP_EXPORT int SCIPbendersGetNBenderscuts(SCIP_BENDERS *benders)
Definition: benders.c:6937
SCIP_EXPORT const char * SCIPbendersGetDesc(SCIP_BENDERS *benders)
Definition: benders.c:5915
SCIP_EXPORT SCIP_VAR ** SCIPbendersGetAuxiliaryVars(SCIP_BENDERS *benders)
Definition: benders.c:6153
SCIP_EXPORT SCIP_Bool SCIPbendersIsInitialized(SCIP_BENDERS *benders)
Definition: benders.c:6053
SCIP_EXPORT SCIP_RETCODE SCIPbendersSolveSubproblemLP(SCIP *scip, SCIP_BENDERS *benders, int probnumber, SCIP_STATUS *solvestatus, SCIP_Real *objective)
Definition: benders.c:4749
SCIP_EXPORT int SCIPbendersGetNStoredCuts(SCIP_BENDERS *benders)
Definition: benders.c:6725
SCIP_EXPORT SCIP_Bool SCIPbendersInStrengthenRound(SCIP_BENDERS *benders)
Definition: benders.c:6428
SCIP_EXPORT const char * SCIPbendersGetName(SCIP_BENDERS *benders)
Definition: benders.c:5905
common defines and data types used in all packages of SCIP
SCIP_EXPORT SCIP_RETCODE SCIPbendersSetBenderscutPriority(SCIP_BENDERS *benders, SCIP_BENDERSCUT *benderscut, int priority)
Definition: benders.c:6947
Definition: objbenders.h:33
SCIP_EXPORT SCIP_BENDERSCUT ** SCIPbendersGetBenderscuts(SCIP_BENDERS *benders)
Definition: benders.c:6920
SCIP_EXPORT int SCIPbendersGetNCalls(SCIP_BENDERS *benders)
Definition: benders.c:5971
SCIP_EXPORT int SCIPbendersGetPriority(SCIP_BENDERS *benders)
Definition: benders.c:5925
SCIP_EXPORT SCIP_RETCODE SCIPbendersGetStoredCutOrigData(SCIP_BENDERS *benders, int cutidx, SCIP_VAR ***vars, SCIP_Real **vals, SCIP_Real *lhs, SCIP_Real *rhs, int *nvars, int varssize)
Definition: benders.c:6766
SCIP_EXPORT void SCIPbendersSetSubproblemObjval(SCIP_BENDERS *benders, int probnumber, SCIP_Real objval)
Definition: benders.c:6163
SCIP_EXPORT SCIP_Bool SCIPbendersSubproblemIsConvex(SCIP_BENDERS *benders, int probnumber)
Definition: benders.c:6343