objbenders.h
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
39 * This class defines the interface for the Benders' decomposition framework implemented in C++. Note that there
40 * are pure virtual functions (these have to be implemented). These functions are: benders_exec(), benders_createsub(),
73 /** should this Benders' decomposition share the auxiliary variables from the highest priority Benders? */
128 /** initialization method of variable benders (called after problem was transformed and benders is active)
137 /** deinitialization method of variable benders (called before transformed problem is freed and benders is active)
146 /** presolving initialization method of constraint handler (called when presolving is about to begin)
155 /** presolving deinitialization method of constraint handler (called after presolving has been finished)
164 /** solving process initialization method of variable benders (called when branch and bound process is about to begin)
173 /** solving process deinitialization method of variable benders (called before branch and bound process data is freed)
182 /** the method for creating the Benders' decomposition subproblem. This method is called during the initialisation stage
189 /** called before the subproblem solving loop for Benders' decomposition. The pre subproblem solve function gives the
199 /** the solving method for a single convex Benders' decomposition subproblem. The solving methods are separated so
209 /** the solving method for a single Benders' decomposition subproblem. The solving methods are separated so that they
219 /** the post-solve method for Benders' decomposition. The post-solve method is called after the subproblems have
228 /** frees the subproblem so that it can be resolved in the next iteration. In the SCIP case, this involves freeing the
250 /** creates the Benders' decomposition for the given Benders' decomposition object and includes it in SCIP
274 SCIP_Bool deleteobject /**< should the Benders' decomposition object be deleted when benders is freed? */
virtual SCIP_DECL_BENDERSCOPY(scip_copy)
Definition: objbenders.h:114
virtual SCIP_DECL_BENDERSCREATESUB(scip_createsub)=0
virtual SCIP_DECL_BENDERSINIT(scip_init)
Definition: objbenders.h:132
virtual SCIP_DECL_BENDERSPRESUBSOLVE(scip_presubsolve)
Definition: objbenders.h:194
#define SCIPduplicateMemoryArray(scip, ptr, source, num)
Definition: scip_mem.h:84
Definition: struct_scip.h:58
virtual SCIP_DECL_BENDERSSOLVESUB(scip_solvesub)
Definition: objbenders.h:214
virtual SCIP_DECL_BENDERSFREESUB(scip_freesub)
Definition: objbenders.h:233
scip::ObjBenders * SCIPfindObjBenders(SCIP *scip, const char *name)
Definition: objbenders.cpp:363
virtual SCIP_DECL_BENDERSINITPRE(scip_initpre)
Definition: objbenders.h:150
virtual SCIP_DECL_BENDERSEXIT(scip_exit)
Definition: objbenders.h:141
definition of base class for all clonable classes
Definition: struct_benders.h:38
SCIP_RETCODE SCIPincludeObjBenders(SCIP *scip, scip::ObjBenders *objbenders, SCIP_Bool deleteobject)
Definition: objbenders.cpp:334
virtual SCIP_DECL_BENDERSEXITSOL(scip_exitsol)
Definition: objbenders.h:177
Definition: type_retcode.h:33
virtual SCIP_DECL_BENDERSGETVAR(scip_getvar)=0
virtual SCIP_DECL_BENDERSPOSTSOLVE(scip_postsolve)
Definition: objbenders.h:223
ObjBenders(SCIP *scip, const char *name, const char *desc, int priority, SCIP_Bool cutlp, SCIP_Bool cutpseudo, SCIP_Bool cutrelax, SCIP_Bool shareauxvars)
Definition: objbenders.h:77
virtual SCIP_DECL_BENDERSEXITPRE(scip_exitpre)
Definition: objbenders.h:159
virtual SCIP_DECL_BENDERSSOLVESUBCONVEX(scip_solvesubconvex)
Definition: objbenders.h:204
scip::ObjBenders * SCIPgetObjBenders(SCIP *scip, SCIP_BENDERS *benders)
Definition: objbenders.cpp:382
virtual SCIP_DECL_BENDERSINITSOL(scip_initsol)
Definition: objbenders.h:168
Definition: objbenders.h:33
virtual SCIP_DECL_BENDERSFREE(scip_free)
Definition: objbenders.h:123
SCIP callable library.