objbenders.h
Go to the documentation of this file.
30 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
48 * This class defines the interface for the Benders' decomposition framework implemented in C++. Note that there
49 * are pure virtual functions (these have to be implemented). These functions are: benders_exec(), benders_createsub(),
82 /** should this Benders' decomposition share the auxiliary variables from the highest priority Benders? */
112 : ObjBenders(o.scip_, o.scip_name_, o.scip_desc_, o.scip_priority_, o.scip_cutlp_, o.scip_cutpseudo_,
165 /** initialization method of variable benders (called after problem was transformed and benders is active)
174 /** deinitialization method of variable benders (called before transformed problem is freed and benders is active)
183 /** presolving initialization method of constraint handler (called when presolving is about to begin)
192 /** presolving deinitialization method of constraint handler (called after presolving has been finished)
201 /** solving process initialization method of variable benders (called when branch and bound process is about to begin)
210 /** solving process deinitialization method of variable benders (called before branch and bound process data is freed)
219 /** the method for creating the Benders' decomposition subproblem. This method is called during the initialisation stage
226 /** called before the subproblem solving loop for Benders' decomposition. The pre subproblem solve function gives the
236 /** the solving method for a single convex Benders' decomposition subproblem. The solving methods are separated so
246 /** the solving method for a single Benders' decomposition subproblem. The solving methods are separated so that they
256 /** the post-solve method for Benders' decomposition. The post-solve method is called after the subproblems have
265 /** frees the subproblem so that it can be resolved in the next iteration. In the SCIP case, this involves freeing the
286 /** creates the Benders' decomposition for the given Benders' decomposition object and includes it in SCIP
310 SCIP_Bool deleteobject /**< should the Benders' decomposition object be deleted when benders is freed? */
virtual SCIP_DECL_BENDERSCOPY(scip_copy)
Definition: objbenders.h:151
virtual SCIP_DECL_BENDERSCREATESUB(scip_createsub)=0
virtual SCIP_DECL_BENDERSINIT(scip_init)
Definition: objbenders.h:169
virtual SCIP_DECL_BENDERSPRESUBSOLVE(scip_presubsolve)
Definition: objbenders.h:231
#define SCIPduplicateMemoryArray(scip, ptr, source, num)
Definition: scip_mem.h:76
Definition: struct_scip.h:69
virtual SCIP_DECL_BENDERSSOLVESUB(scip_solvesub)
Definition: objbenders.h:251
virtual SCIP_DECL_BENDERSFREESUB(scip_freesub)
Definition: objbenders.h:270
scip::ObjBenders * SCIPfindObjBenders(SCIP *scip, const char *name)
Definition: objbenders.cpp:373
virtual SCIP_DECL_BENDERSINITPRE(scip_initpre)
Definition: objbenders.h:187
virtual SCIP_DECL_BENDERSEXIT(scip_exit)
Definition: objbenders.h:178
ObjBenders & operator=(const ObjBenders &o)=delete
definition of base class for all clonable classes
Definition: struct_benders.h:57
SCIP_RETCODE SCIPincludeObjBenders(SCIP *scip, scip::ObjBenders *objbenders, SCIP_Bool deleteobject)
Definition: objbenders.cpp:344
virtual SCIP_DECL_BENDERSEXITSOL(scip_exitsol)
Definition: objbenders.h:214
Definition: type_retcode.h:42
virtual SCIP_DECL_BENDERSGETVAR(scip_getvar)=0
virtual SCIP_DECL_BENDERSPOSTSOLVE(scip_postsolve)
Definition: objbenders.h:260
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:86
virtual SCIP_DECL_BENDERSEXITPRE(scip_exitpre)
Definition: objbenders.h:196
virtual SCIP_DECL_BENDERSSOLVESUBCONVEX(scip_solvesubconvex)
Definition: objbenders.h:241
scip::ObjBenders * SCIPgetObjBenders(SCIP *scip, SCIP_BENDERS *benders)
Definition: objbenders.cpp:392
virtual SCIP_DECL_BENDERSINITSOL(scip_initsol)
Definition: objbenders.h:205
Definition: objbenders.h:43
virtual SCIP_DECL_BENDERSFREE(scip_free)
Definition: objbenders.h:160
SCIP callable library.