struct_benders.h
Go to the documentation of this file.
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
42 SCIP_DECL_BENDERSCOPY ((*benderscopy)); /**< copy method of Benders' decomposition or NULL if you don't want to copy your plugin into sub-SCIPs */
46 SCIP_DECL_BENDERSINITPRE((*bendersinitpre));/**< presolving initialization method for Benders' decomposition */
47 SCIP_DECL_BENDERSEXITPRE((*bendersexitpre));/**< presolving deinitialization method for Benders' decomposition */
48 SCIP_DECL_BENDERSINITSOL((*bendersinitsol));/**< solving process initialization method of Benders' decomposition */
49 SCIP_DECL_BENDERSEXITSOL((*bendersexitsol));/**< solving process deinitialization method of Benders' decomposition */
50 SCIP_DECL_BENDERSGETVAR((*bendersgetvar)); /**< returns the corresponding variable from the master or subproblem */
51 SCIP_DECL_BENDERSPRESUBSOLVE((*benderspresubsolve));/**< called prior to the subproblem solving loop */
52 SCIP_DECL_BENDERSCREATESUB((*benderscreatesub));/**< creates the Benders' decomposition subproblems */
53 SCIP_DECL_BENDERSSOLVESUBCONVEX((*benderssolvesubconvex));/**< the solving method for convex Benders' decomposition subproblems */
54 SCIP_DECL_BENDERSSOLVESUB((*benderssolvesub));/**< the solving method for the Benders' decomposition subproblems */
56 SCIP_DECL_BENDERSFREESUB((*bendersfreesub));/**< the freeing method for the Benders' decomposition subproblems */
58 SCIP_CLOCK* setuptime; /**< time spend for setting up this Benders' decomposition for the next stages */
69 SCIP_Bool shareauxvars; /**< should this Benders' share the highest priority Benders' auxiliary vars */
72 SCIP_Bool transfercuts; /**< should Benders' cuts generated in LNS heuristics be transferred to the main SCIP instance? */
77 SCIP_Bool updateauxvarbound; /**< should the auxiliary variable lower bound be updated by solving the subproblem? */
82 SCIP_HASHMAP* mastervarsmap; /**< hash map for the master variables from the subscip to the master */
89 SCIP_Real* subproblowerbound; /**< a lower bound on the subproblem - used for the integer cuts */
92 SCIP_Bool* subprobisconvex; /**< is the subproblem convex? This implies that the dual sol can be used for cuts */
94 SCIP_Bool subprobscreated; /**< have the subproblems been created for this Benders' decomposition.
96 SCIP_Bool* mastervarscont; /**< flag to indicate that the master problem variable have been converted
99 SCIP_Bool* indepsubprob; /**< flag to indicate if a subproblem is independent of the master prob */
116 /** parameters that are set to solve the subproblem. This will be changed from what the user inputs, so they are stored
Definition: struct_scip.h:58
Definition: struct_benderscut.h:37
SCIP_DECL_BENDERSINIT((*bendersinit))
Definition: struct_var.h:198
SCIP_DECL_BENDERSEXITPRE((*bendersexitpre))
SCIP_DECL_BENDERSFREESUB((*bendersfreesub))
Definition: struct_benders.h:38
Definition: struct_misc.h:121
SCIP_DECL_BENDERSSOLVESUBCONVEX((*benderssolvesubconvex))
SCIP_DECL_BENDERSEXIT((*bendersexit))
SCIP_DECL_BENDERSEXITSOL((*bendersexitsol))
SCIP_Bool benderscutsnamessorted
Definition: struct_benders.h:113
SCIP_DECL_BENDERSSOLVESUB((*benderssolvesub))
SCIP_DECL_BENDERSINITSOL((*bendersinitsol))
SCIP_DECL_BENDERSPRESUBSOLVE((*benderspresubsolve))
type definitions for Benders' decomposition methods
type definitions for clocks and timing issues
type definitions for Benders' decomposition cut
SCIP_DECL_BENDERSFREE((*bendersfree))
SCIP_DECL_BENDERSPOSTSOLVE((*benderspostsolve))
Definition: struct_benders.h:118
common defines and data types used in all packages of SCIP
SCIP_DECL_BENDERSCREATESUB((*benderscreatesub))
SCIP_DECL_BENDERSCOPY((*benderscopy))
Definition: struct_clock.h:55
SCIP_DECL_BENDERSGETVAR((*bendersgetvar))
SCIP_DECL_BENDERSINITPRE((*bendersinitpre))