Scippy

    SCIP

    Solving Constraint Integer Programs

    SCIP_Benders Struct Reference

    Detailed Description

    Benders' decomposition data

    Definition at line 57 of file struct_benders.h.

    #include <struct_benders.h>

    Public Member Functions

     SCIP_DECL_BENDERSCOPY ((*benderscopy))
     
     SCIP_DECL_BENDERSFREE ((*bendersfree))
     
     SCIP_DECL_BENDERSINIT ((*bendersinit))
     
     SCIP_DECL_BENDERSEXIT ((*bendersexit))
     
     SCIP_DECL_BENDERSINITPRE ((*bendersinitpre))
     
     SCIP_DECL_BENDERSEXITPRE ((*bendersexitpre))
     
     SCIP_DECL_BENDERSINITSOL ((*bendersinitsol))
     
     SCIP_DECL_BENDERSEXITSOL ((*bendersexitsol))
     
     SCIP_DECL_BENDERSGETVAR ((*bendersgetvar))
     
     SCIP_DECL_BENDERSPRESUBSOLVE ((*benderspresubsolve))
     
     SCIP_DECL_BENDERSCREATESUB ((*benderscreatesub))
     
     SCIP_DECL_BENDERSSOLVESUBCONVEX ((*benderssolvesubconvex))
     
     SCIP_DECL_BENDERSSOLVESUB ((*benderssolvesub))
     
     SCIP_DECL_BENDERSPOSTSOLVE ((*benderspostsolve))
     
     SCIP_DECL_BENDERSFREESUB ((*bendersfreesub))
     
     SCIP_DECL_SORTPTRCOMP ((*benderssubcomp))
     

    Data Fields

    char * name
     
    char * desc
     
    SCIP_BENDERSDATAbendersdata
     
    SCIP_CLOCKsetuptime
     
    SCIP_CLOCKbendersclock
     
    int priority
     
    int ncalls
     
    int ncutsfound
     
    int ntransferred
     
    SCIP_Bool active
     
    SCIP_Bool initialized
     
    SCIP_Bool cutlp
     
    SCIP_Bool cutpseudo
     
    SCIP_Bool cutrelax
     
    SCIP_Bool shareauxvars
     
    SCIP_Bool transfercuts
     
    SCIP_Bool lnscheck
     
    int lnsmaxdepth
     
    int lnsmaxcalls
     
    int lnsmaxcallsroot
     
    SCIP_Bool cutsasconss
     
    SCIP_Real subprobfrac
     
    SCIP_Bool updateauxvarbound
     
    SCIP_Bool auxvarsimplint
     
    SCIP_Bool cutcheck
     
    SCIP_Bool threadsafe
     
    SCIP_Real solutiontol
     
    SCIP_Bool execfeasphase
     
    SCIP_Real slackvarcoef
     
    SCIP_Real maxslackvarcoef
     
    SCIP_Bool checkconsconvexity
     
    SCIP_NLPPARAM nlpparam
     
    SCIPsourcescip
     
    SCIP_Bool iscopy
     
    SCIP_HASHMAPmastervarsmap
     
    SCIP ** subproblems
     
    SCIP_VARmasterauxvar
     
    SCIP_VAR ** auxiliaryvars
     
    SCIP_CONS ** auxiliaryvarcons
     
    SCIP_VAR *** submastervars
     
    int * submastervarssize
     
    int * nsubmastervars
     
    int * nsubmasterbinvars
     
    int * nsubmasterintvars
     
    SCIP_PQUEUEsubprobqueue
     
    SCIP_SUBPROBLEMSOLVESTAT ** solvestat
     
    SCIP_Realsubprobobjval
     
    SCIP_Realbestsubprobobjval
     
    SCIP_Realsubproblowerbound
     
    int naddedsubprobs
     
    int nsubproblems
     
    SCIP_BENDERSSUBTYPEsubprobtype
     
    SCIP_Boolsubprobisconvex
     
    SCIP_Boolsubprobisnonlinear
     
    int nconvexsubprobs
     
    int nnonlinearsubprobs
     
    SCIP_Bool subprobscreated
     
    SCIP_Bool subprobsinfeasible
     
    SCIP_Boolmastervarscont
     
    SCIP_Boolsubprobsetup
     
    SCIP_Boolindepsubprob
     
    SCIP_Boolsubprobenabled
     
    int nactivesubprobs
     
    SCIP_Bool freesubprobs
     
    SCIP_Bool masterisnonlinear
     
    SCIP_BENDERSOBJTYPE objectivetype
     
    SCIP_SOLcorepoint
     
    SCIP_SOLinitcorepoint
     
    SCIP_Real convexmult
     
    SCIP_Real perturbeps
     
    int noimprovecount
     
    int noimprovelimit
     
    SCIP_NODEprevnode
     
    SCIP_Longint prevnlpiter
     
    SCIP_Real prevlowerbound
     
    SCIP_Bool strengthenenabled
     
    char strengthenintpoint
     
    SCIP_Bool strengthenround
     
    int nstrengthencuts
     
    int nstrengthencalls
     
    int nstrengthenfails
     
    int npseudosols
     
    SCIP_Bool feasibilityphase
     
    SCIP_BENDERSCUT ** benderscuts
     
    int nbenderscuts
     
    int benderscutssize
     
    SCIP_Bool benderscutssorted
     
    SCIP_Bool benderscutsnamessorted
     
    SCIP_BENDERSCUTCUT ** storedcuts
     
    int storedcutssize
     
    int nstoredcuts
     

    Member Function Documentation

    ◆ SCIP_DECL_BENDERSCOPY()

    SCIP_Benders::SCIP_DECL_BENDERSCOPY ( benderscopy)

    copy method of Benders' decomposition or NULL if you don't want to copy your plugin into sub-SCIPs

    ◆ SCIP_DECL_BENDERSFREE()

    SCIP_Benders::SCIP_DECL_BENDERSFREE ( bendersfree)

    destructor of Benders' decomposition

    ◆ SCIP_DECL_BENDERSINIT()

    SCIP_Benders::SCIP_DECL_BENDERSINIT ( bendersinit)

    initialize Benders' decomposition

    ◆ SCIP_DECL_BENDERSEXIT()

    SCIP_Benders::SCIP_DECL_BENDERSEXIT ( bendersexit)

    deinitialize Benders' decomposition

    ◆ SCIP_DECL_BENDERSINITPRE()

    SCIP_Benders::SCIP_DECL_BENDERSINITPRE ( bendersinitpre)

    presolving initialization method for Benders' decomposition

    ◆ SCIP_DECL_BENDERSEXITPRE()

    SCIP_Benders::SCIP_DECL_BENDERSEXITPRE ( bendersexitpre)

    presolving deinitialization method for Benders' decomposition

    ◆ SCIP_DECL_BENDERSINITSOL()

    SCIP_Benders::SCIP_DECL_BENDERSINITSOL ( bendersinitsol)

    solving process initialization method of Benders' decomposition

    ◆ SCIP_DECL_BENDERSEXITSOL()

    SCIP_Benders::SCIP_DECL_BENDERSEXITSOL ( bendersexitsol)

    solving process deinitialization method of Benders' decomposition

    ◆ SCIP_DECL_BENDERSGETVAR()

    SCIP_Benders::SCIP_DECL_BENDERSGETVAR ( bendersgetvar)

    returns the corresponding variable from the master or subproblem

    ◆ SCIP_DECL_BENDERSPRESUBSOLVE()

    SCIP_Benders::SCIP_DECL_BENDERSPRESUBSOLVE ( benderspresubsolve)

    called prior to the subproblem solving loop

    ◆ SCIP_DECL_BENDERSCREATESUB()

    SCIP_Benders::SCIP_DECL_BENDERSCREATESUB ( benderscreatesub)

    creates the Benders' decomposition subproblems

    ◆ SCIP_DECL_BENDERSSOLVESUBCONVEX()

    SCIP_Benders::SCIP_DECL_BENDERSSOLVESUBCONVEX ( benderssolvesubconvex)

    the solving method for convex Benders' decomposition subproblems

    ◆ SCIP_DECL_BENDERSSOLVESUB()

    SCIP_Benders::SCIP_DECL_BENDERSSOLVESUB ( benderssolvesub)

    the solving method for the Benders' decomposition subproblems

    ◆ SCIP_DECL_BENDERSPOSTSOLVE()

    SCIP_Benders::SCIP_DECL_BENDERSPOSTSOLVE ( benderspostsolve)

    called after the subproblems are solved.

    ◆ SCIP_DECL_BENDERSFREESUB()

    SCIP_Benders::SCIP_DECL_BENDERSFREESUB ( bendersfreesub)

    the freeing method for the Benders' decomposition subproblems

    ◆ SCIP_DECL_SORTPTRCOMP()

    SCIP_Benders::SCIP_DECL_SORTPTRCOMP ( benderssubcomp)

    a comparator for defining the solving order of the subproblems

    Field Documentation

    ◆ name

    ◆ desc

    char* SCIP_Benders::desc

    description of Benders' decomposition

    Definition at line 60 of file struct_benders.h.

    Referenced by SCIPbendersGetDesc().

    ◆ bendersdata

    SCIP_BENDERSDATA* SCIP_Benders::bendersdata

    Benders' decomposition local data

    Definition at line 77 of file struct_benders.h.

    Referenced by SCIPbendersGetData(), and SCIPbendersSetData().

    ◆ setuptime

    SCIP_CLOCK* SCIP_Benders::setuptime

    time spend for setting up this Benders' decomposition for the next stages

    Definition at line 78 of file struct_benders.h.

    Referenced by SCIPbendersEnableOrDisableClocks(), SCIPbendersExit(), SCIPbendersExitpre(), SCIPbendersExitsol(), SCIPbendersGetSetupTime(), SCIPbendersInit(), SCIPbendersInitpre(), and SCIPbendersInitsol().

    ◆ bendersclock

    SCIP_CLOCK* SCIP_Benders::bendersclock

    Benders' decomposition execution time

    Definition at line 79 of file struct_benders.h.

    Referenced by SCIPbendersEnableOrDisableClocks(), SCIPbendersExec(), SCIPbendersGetTime(), and SCIPbendersInit().

    ◆ priority

    int SCIP_Benders::priority

    priority of the Benders' decomposition

    Definition at line 80 of file struct_benders.h.

    Referenced by SCIPbendersGetPriority(), and SCIPbendersSetPriority().

    ◆ ncalls

    int SCIP_Benders::ncalls

    number of times, this Benders' decomposition was called

    Definition at line 81 of file struct_benders.h.

    Referenced by numSubproblemsToCheck(), SCIPbendersDeactivate(), SCIPbendersExec(), SCIPbendersGetNCalls(), and SCIPbendersInit().

    ◆ ncutsfound

    int SCIP_Benders::ncutsfound

    number of cuts found by the Benders' decomposition

    Definition at line 82 of file struct_benders.h.

    Referenced by generateBendersCuts(), SCIPbendersDeactivate(), SCIPbendersGetNCutsFound(), and SCIPbendersInit().

    ◆ ntransferred

    int SCIP_Benders::ntransferred

    number of cuts transferred from sub SCIP to the master SCIP

    Definition at line 83 of file struct_benders.h.

    Referenced by createAndAddTransferredCut(), SCIPbendersDeactivate(), SCIPbendersGetNTransferredCuts(), and SCIPbendersInit().

    ◆ active

    SCIP_Bool SCIP_Benders::active

    is the Benders' decomposition active?

    Definition at line 84 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), and SCIPbendersIsActive().

    ◆ initialized

    SCIP_Bool SCIP_Benders::initialized

    is Benders' decomposition initialized?

    Definition at line 85 of file struct_benders.h.

    Referenced by SCIPbendersExit(), SCIPbendersInit(), and SCIPbendersIsInitialized().

    ◆ cutlp

    SCIP_Bool SCIP_Benders::cutlp

    should Benders' cuts be generated for LP solutions?

    Definition at line 86 of file struct_benders.h.

    Referenced by SCIPbendersCutLP().

    ◆ cutpseudo

    SCIP_Bool SCIP_Benders::cutpseudo

    should Benders' cuts be generated for pseudo solutions?

    Definition at line 87 of file struct_benders.h.

    Referenced by SCIPbendersCutPseudo().

    ◆ cutrelax

    SCIP_Bool SCIP_Benders::cutrelax

    should Benders' cuts be generated for relaxation solutions?

    Definition at line 88 of file struct_benders.h.

    Referenced by SCIPbendersCutRelaxation().

    ◆ shareauxvars

    SCIP_Bool SCIP_Benders::shareauxvars

    should this Benders' share the highest priority Benders' auxiliary vars

    Definition at line 89 of file struct_benders.h.

    Referenced by SCIPbendersShareAuxVars().

    ◆ transfercuts

    SCIP_Bool SCIP_Benders::transfercuts

    should Benders' cuts generated in LNS heuristics be transferred to the main SCIP instance?

    Definition at line 92 of file struct_benders.h.

    Referenced by transferBendersCuts().

    ◆ lnscheck

    SCIP_Bool SCIP_Benders::lnscheck

    should Benders' decomposition be used in LNS heuristics?

    Definition at line 93 of file struct_benders.h.

    Referenced by SCIPbendersCopyInclude(), SCIPbendersExec(), and SCIPbendersOnlyCheckConvexRelax().

    ◆ lnsmaxdepth

    int SCIP_Benders::lnsmaxdepth

    maximum depth at which the LNS check is performed

    Definition at line 94 of file struct_benders.h.

    Referenced by SCIPbendersCopyInclude(), and SCIPbendersExec().

    ◆ lnsmaxcalls

    int SCIP_Benders::lnsmaxcalls

    maximum number of Benders' decomposition call in LNS heuristics

    Definition at line 95 of file struct_benders.h.

    Referenced by SCIPbendersCopyInclude(), and SCIPbendersExec().

    ◆ lnsmaxcallsroot

    int SCIP_Benders::lnsmaxcallsroot

    maximum number of root node Benders' decomposition call in LNS heuristics

    Definition at line 96 of file struct_benders.h.

    Referenced by SCIPbendersCopyInclude(), and SCIPbendersExec().

    ◆ cutsasconss

    SCIP_Bool SCIP_Benders::cutsasconss

    should the transferred cuts be added as constraints?

    Definition at line 97 of file struct_benders.h.

    Referenced by createAndAddTransferredCut().

    ◆ subprobfrac

    SCIP_Real SCIP_Benders::subprobfrac

    fraction of subproblems that are solved in each iteration

    Definition at line 98 of file struct_benders.h.

    Referenced by numSubproblemsToCheck().

    ◆ updateauxvarbound

    SCIP_Bool SCIP_Benders::updateauxvarbound

    should the auxiliary variable lower bound be updated by solving the subproblem?

    Definition at line 99 of file struct_benders.h.

    Referenced by SCIPbendersExec().

    ◆ auxvarsimplint

    SCIP_Bool SCIP_Benders::auxvarsimplint

    if subproblem objective is integer, then set the auxiliary variables as implint

    Definition at line 100 of file struct_benders.h.

    Referenced by addAuxiliaryVariablesToMaster().

    ◆ cutcheck

    SCIP_Bool SCIP_Benders::cutcheck

    should cuts be generated while checking solutions?

    Definition at line 101 of file struct_benders.h.

    Referenced by generateBendersCuts().

    ◆ threadsafe

    SCIP_Bool SCIP_Benders::threadsafe

    has the copy been created requiring thread safety

    Definition at line 102 of file struct_benders.h.

    Referenced by createSubproblems(), SCIP_DECL_EVENTINITSOL(), and SCIPbendersCopyInclude().

    ◆ solutiontol

    SCIP_Real SCIP_Benders::solutiontol

    storing the tolerance for optimality in Benders' decomposition

    Definition at line 103 of file struct_benders.h.

    Referenced by SCIPbendersInit(), SCIPbendersSubproblemIsOptimal(), and solveBendersSubproblems().

    ◆ execfeasphase

    SCIP_Bool SCIP_Benders::execfeasphase

    should a feasibility phase be executed during the root node, i.e. adding slack variables to constraints to ensure feasibility

    Definition at line 107 of file struct_benders.h.

    Referenced by createSubproblems().

    ◆ slackvarcoef

    SCIP_Real SCIP_Benders::slackvarcoef

    the initial objective coefficient of the slack variables in the subproblem

    Definition at line 109 of file struct_benders.h.

    Referenced by addSlackVars(), SCIPbendersExec(), and SCIPbendersSetupSubproblem().

    ◆ maxslackvarcoef

    SCIP_Real SCIP_Benders::maxslackvarcoef

    the maximal objective coefficient of the slack variables in the subproblem

    Definition at line 110 of file struct_benders.h.

    Referenced by SCIPbendersExec(), and SCIPbendersSetupSubproblem().

    ◆ checkconsconvexity

    SCIP_Bool SCIP_Benders::checkconsconvexity

    should the constraints of the subproblems be checked for convexity?

    Definition at line 111 of file struct_benders.h.

    Referenced by checkSubproblemConvexity().

    ◆ nlpparam

    SCIP_NLPPARAM SCIP_Benders::nlpparam

    parameters for NLP solves

    Definition at line 112 of file struct_benders.h.

    Referenced by SCIPbendersComputeSubproblemLowerbound(), SCIPbendersGetNLPParam(), and SCIPbendersSolveSubproblemLP().

    ◆ sourcescip

    SCIP* SCIP_Benders::sourcescip

    the source scip from when the Benders' was copied

    Definition at line 115 of file struct_benders.h.

    Referenced by SCIPbendersCopyInclude(), SCIPbendersExec(), and SCIPbendersExit().

    ◆ iscopy

    ◆ mastervarsmap

    SCIP_HASHMAP* SCIP_Benders::mastervarsmap

    hash map for the master variables from the subscip to the master

    Definition at line 117 of file struct_benders.h.

    Referenced by createAndAddTransferredCut(), createMasterVarMapping(), releaseVarMappingHashmapVars(), SCIPbendersCopyInclude(), SCIPbendersExit(), and transferBendersCuts().

    ◆ subproblems

    SCIP** SCIP_Benders::subproblems

    the Benders' decomposition subproblems

    Definition at line 120 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersAddSubproblem(), SCIPbendersDeactivate(), SCIPbendersRemoveSubproblems(), and SCIPbendersSubproblem().

    ◆ masterauxvar

    SCIP_VAR* SCIP_Benders::masterauxvar

    the master auxiliary variable to control the objective type

    Definition at line 121 of file struct_benders.h.

    Referenced by addAuxiliaryVariablesToMaster(), assignAuxiliaryVariables(), SCIPbenderGetMasterAuxiliaryVar(), and SCIPbendersExit().

    ◆ auxiliaryvars

    SCIP_VAR** SCIP_Benders::auxiliaryvars

    the auxiliary variables for the Benders' optimality cuts

    Definition at line 122 of file struct_benders.h.

    Referenced by addAuxiliaryVariablesToMaster(), SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersExit(), SCIPbendersGetAuxiliaryVar(), and SCIPbendersGetAuxiliaryVars().

    ◆ auxiliaryvarcons

    SCIP_CONS** SCIP_Benders::auxiliaryvarcons

    the constraint(s) for the auxiliary variable objective. For the sum objective, this is a single constraint. For the max objective, there is a constraint per subproblem.

    Definition at line 123 of file struct_benders.h.

    Referenced by addAuxiliaryVariablesToMaster(), SCIPbendersExit(), and SCIPbendersInitpre().

    ◆ submastervars

    SCIP_VAR*** SCIP_Benders::submastervars

    the master problem variables that are used in the subproblem

    Definition at line 127 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersGetSubproblemMasterVars(), SCIPbendersGetSubproblemMasterVarsData(), and storeSubproblemMasterVar().

    ◆ submastervarssize

    int* SCIP_Benders::submastervarssize

    the size of the master problem variables array for each subproblem

    Definition at line 128 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), and storeSubproblemMasterVar().

    ◆ nsubmastervars

    int* SCIP_Benders::nsubmastervars

    the number of master problem variables for each subproblem

    Definition at line 129 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersGetNSubproblemMasterVars(), SCIPbendersGetSubproblemMasterVarsData(), and storeSubproblemMasterVar().

    ◆ nsubmasterbinvars

    int* SCIP_Benders::nsubmasterbinvars

    the number of binary master problem variables in each subproblem

    Definition at line 130 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersGetSubproblemMasterVarsData(), and storeSubproblemMasterVar().

    ◆ nsubmasterintvars

    int* SCIP_Benders::nsubmasterintvars

    the number of integer master problem variables in each subproblem

    Definition at line 131 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersGetSubproblemMasterVarsData(), and storeSubproblemMasterVar().

    ◆ subprobqueue

    SCIP_PQUEUE* SCIP_Benders::subprobqueue

    the priority queue for the subproblems

    Definition at line 132 of file struct_benders.h.

    Referenced by createSolveSubproblemIndexList(), SCIPbendersActivate(), SCIPbendersDeactivate(), and updateSubproblemStatQueue().

    ◆ solvestat

    SCIP_SUBPROBLEMSOLVESTAT** SCIP_Benders::solvestat

    storing the solving statistics of all the subproblems

    Definition at line 133 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), and updateSubproblemStatQueue().

    ◆ subprobobjval

    SCIP_Real* SCIP_Benders::subprobobjval

    the objective value of the subproblem in the current iteration

    Definition at line 134 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersGetSubproblemObjval(), and SCIPbendersSetSubproblemObjval().

    ◆ bestsubprobobjval

    SCIP_Real* SCIP_Benders::bestsubprobobjval

    the best objective value of the subproblem

    Definition at line 135 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), and SCIPbendersSetSubproblemObjval().

    ◆ subproblowerbound

    SCIP_Real* SCIP_Benders::subproblowerbound

    a lower bound on the subproblem - used for the integer cuts

    Definition at line 136 of file struct_benders.h.

    Referenced by addAuxiliaryVariablesToMaster(), SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersGetSubproblemLowerbound(), and SCIPbendersUpdateSubproblemLowerbound().

    ◆ naddedsubprobs

    int SCIP_Benders::naddedsubprobs

    subproblems added to the Benders' decomposition data

    Definition at line 137 of file struct_benders.h.

    Referenced by SCIPbendersAddSubproblem(), SCIPbendersDeactivate(), and SCIPbendersRemoveSubproblems().

    ◆ nsubproblems

    ◆ subprobtype

    SCIP_BENDERSSUBTYPE* SCIP_Benders::subprobtype

    the convexity type of the subproblem

    Definition at line 139 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersGetSubproblemType(), and SCIPbendersSetSubproblemType().

    ◆ subprobisconvex

    SCIP_Bool* SCIP_Benders::subprobisconvex

    is the subproblem convex? This implies that the dual sol can be used for cuts

    Definition at line 140 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersSetSubproblemIsConvex(), and SCIPbendersSubproblemIsConvex().

    ◆ subprobisnonlinear

    SCIP_Bool* SCIP_Benders::subprobisnonlinear

    does the subproblem contain non-linear constraints

    Definition at line 141 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersSetSubproblemIsNonlinear(), and SCIPbendersSubproblemIsNonlinear().

    ◆ nconvexsubprobs

    int SCIP_Benders::nconvexsubprobs

    the number of subproblems that are convex

    Definition at line 142 of file struct_benders.h.

    Referenced by SCIPbendersDeactivate(), SCIPbendersGetNConvexSubproblems(), SCIPbendersSetSubproblemIsConvex(), and SCIPbendersSetSubproblemType().

    ◆ nnonlinearsubprobs

    int SCIP_Benders::nnonlinearsubprobs

    the number of subproblems that are non-linear

    Definition at line 143 of file struct_benders.h.

    Referenced by SCIPbendersDeactivate(), SCIPbendersGetNNonlinearSubproblems(), and SCIPbendersSetSubproblemIsNonlinear().

    ◆ subprobscreated

    SCIP_Bool SCIP_Benders::subprobscreated

    have the subproblems been created for this Benders' decomposition. This flag is used when retransforming the problem.

    Definition at line 144 of file struct_benders.h.

    Referenced by createSubproblems(), and SCIPbendersDeactivate().

    ◆ subprobsinfeasible

    SCIP_Bool SCIP_Benders::subprobsinfeasible

    flag to indicate that infeasibility of at least one subproblem has been detected in the initialisation stages.

    Definition at line 146 of file struct_benders.h.

    Referenced by SCIPbendersSetSubproblemsAreInfeasible(), and SCIPbendersSubproblemsAreInfeasible().

    ◆ mastervarscont

    SCIP_Bool* SCIP_Benders::mastervarscont

    flag to indicate that the master problem variable have been converted to continuous variables.

    Definition at line 148 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersGetMastervarsCont(), and SCIPbendersSetMastervarsCont().

    ◆ subprobsetup

    SCIP_Bool* SCIP_Benders::subprobsetup

    flag to indicate whether the subproblem has been set up.

    Definition at line 150 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersSetSubproblemIsSetup(), and SCIPbendersSubproblemIsSetup().

    ◆ indepsubprob

    SCIP_Bool* SCIP_Benders::indepsubprob

    flag to indicate if a subproblem is independent of the master prob

    Definition at line 151 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersSetSubproblemIsIndependent(), and SCIPbendersSubproblemIsIndependent().

    ◆ subprobenabled

    SCIP_Bool* SCIP_Benders::subprobenabled

    flag to indicate whether the subproblem is enabled

    Definition at line 152 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersDeactivate(), SCIPbendersSetSubproblemEnabled(), and SCIPbendersSubproblemIsEnabled().

    ◆ nactivesubprobs

    int SCIP_Benders::nactivesubprobs

    the number of active subproblems

    Definition at line 153 of file struct_benders.h.

    Referenced by SCIPbendersActivate(), SCIPbendersSetSubproblemEnabled(), and SCIPbendersSetSubproblemIsIndependent().

    ◆ freesubprobs

    SCIP_Bool SCIP_Benders::freesubprobs

    do the subproblems need to be freed by the Benders' decomposition core?

    Definition at line 154 of file struct_benders.h.

    Referenced by SCIPbendersDeactivate().

    ◆ masterisnonlinear

    SCIP_Bool SCIP_Benders::masterisnonlinear

    flag to indicate whether the master problem contains non-linear constraints

    Definition at line 155 of file struct_benders.h.

    Referenced by SCIPbendersDeactivate(), SCIPbendersMasterIsNonlinear(), and SCIPbendersSetMasterIsNonlinear().

    ◆ objectivetype

    SCIP_BENDERSOBJTYPE SCIP_Benders::objectivetype

    the objective type for the aggregation of the subproblems.

    Definition at line 156 of file struct_benders.h.

    Referenced by addAuxiliaryVariablesToMaster(), SCIPbendersExit(), SCIPbendersGetObjectiveType(), SCIPbendersInitpre(), and SCIPbendersSetObjectiveType().

    ◆ corepoint

    SCIP_SOL* SCIP_Benders::corepoint

    the point that is separated for stabilisation

    Definition at line 159 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening(), SCIPbendersExit(), and setAndUpdateCorePoint().

    ◆ initcorepoint

    SCIP_SOL* SCIP_Benders::initcorepoint

    the point that was used to initialise the core point

    Definition at line 160 of file struct_benders.h.

    Referenced by setAndUpdateCorePoint().

    ◆ convexmult

    SCIP_Real SCIP_Benders::convexmult

    the multiplier for the convex comb of the LP and sepa point

    Definition at line 161 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening().

    ◆ perturbeps

    SCIP_Real SCIP_Benders::perturbeps

    epsilon value to perturb the LP solution

    Definition at line 162 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening().

    ◆ noimprovecount

    int SCIP_Benders::noimprovecount

    count of the iterations without improvement

    Definition at line 163 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening().

    ◆ noimprovelimit

    int SCIP_Benders::noimprovelimit

    limit used to change behaviour of stabilitation

    Definition at line 164 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening().

    ◆ prevnode

    SCIP_NODE* SCIP_Benders::prevnode

    the previous node where the cut strengthening was performed

    Definition at line 165 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening().

    ◆ prevnlpiter

    SCIP_Longint SCIP_Benders::prevnlpiter

    number of LP iters at the previous call of the cut strengthening

    Definition at line 166 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening().

    ◆ prevlowerbound

    SCIP_Real SCIP_Benders::prevlowerbound

    the lowerbound from the previous LP enforcement iteration

    Definition at line 167 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening(), and SCIPbendersActivate().

    ◆ strengthenenabled

    SCIP_Bool SCIP_Benders::strengthenenabled

    is the core point cut strengthening enabled

    Definition at line 168 of file struct_benders.h.

    Referenced by SCIPbendersExec().

    ◆ strengthenintpoint

    char SCIP_Benders::strengthenintpoint

    where should the strengthening interior point be sourced from ('l'p relaxation, 'f'irst solution, 'i'ncumbent solution, 'r'elative interior point, vector of 'o'nes, vector of 'z'eros)

    Definition at line 169 of file struct_benders.h.

    Referenced by setAndUpdateCorePoint().

    ◆ strengthenround

    SCIP_Bool SCIP_Benders::strengthenround

    flag to indicate whether a cut strengthening round is being performed

    Definition at line 170 of file struct_benders.h.

    Referenced by generateBendersCuts(), SCIPbendersActivate(), SCIPbendersExec(), and SCIPbendersInStrengthenRound().

    ◆ nstrengthencuts

    int SCIP_Benders::nstrengthencuts

    the number of strengthened cuts found

    Definition at line 171 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening(), SCIPbendersDeactivate(), and SCIPbendersGetNStrengthenCutsFound().

    ◆ nstrengthencalls

    int SCIP_Benders::nstrengthencalls

    the number of calls to the strengthening round

    Definition at line 172 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening(), SCIPbendersDeactivate(), and SCIPbendersGetNStrengthenCalls().

    ◆ nstrengthenfails

    int SCIP_Benders::nstrengthenfails

    the number of calls to the strengthening round that fail to find cuts

    Definition at line 173 of file struct_benders.h.

    Referenced by performInteriorSolCutStrengthening(), SCIPbendersDeactivate(), and SCIPbendersGetNStrengthenFails().

    ◆ npseudosols

    int SCIP_Benders::npseudosols

    the number of pseudo solutions checked since the last generated cut

    Definition at line 176 of file struct_benders.h.

    Referenced by SCIPbendersDeactivate(), and SCIPbendersExec().

    ◆ feasibilityphase

    SCIP_Bool SCIP_Benders::feasibilityphase

    is the Benders' decomposition in a feasibility phase, i.e. using slack variables

    Definition at line 177 of file struct_benders.h.

    Referenced by createSubproblems(), SCIPbendersDeactivate(), SCIPbendersExec(), SCIPbendersSetupSubproblem(), and SCIPbendersSolSlackVarsActive().

    ◆ benderscuts

    ◆ nbenderscuts

    ◆ benderscutssize

    int SCIP_Benders::benderscutssize

    the size of the Benders' cuts algorithms array

    Definition at line 182 of file struct_benders.h.

    Referenced by SCIPbendersIncludeBenderscut().

    ◆ benderscutssorted

    SCIP_Bool SCIP_Benders::benderscutssorted

    ◆ benderscutsnamessorted

    SCIP_Bool SCIP_Benders::benderscutsnamessorted

    are the Benders' cuts algorithms sorted by name

    Definition at line 184 of file struct_benders.h.

    Referenced by SCIPbendersGetBenderscuts(), SCIPbendersSetBenderscutsSorted(), SCIPbendersSortBenderscuts(), and SCIPbendersSortBenderscutsName().

    ◆ storedcuts

    SCIP_BENDERSCUTCUT** SCIP_Benders::storedcuts

    array to store the data required to form a cut/constraint

    Definition at line 187 of file struct_benders.h.

    Referenced by SCIPbendersExit(), SCIPbendersGetStoredCutData(), SCIPbendersGetStoredCutOrigData(), SCIPbendersInit(), and SCIPbendersStoreCut().

    ◆ storedcutssize

    int SCIP_Benders::storedcutssize

    the size of the added cuts array

    Definition at line 188 of file struct_benders.h.

    Referenced by SCIPbendersExit(), SCIPbendersInit(), and SCIPbendersStoreCut().

    ◆ nstoredcuts

    int SCIP_Benders::nstoredcuts

    the number of the added cuts

    Definition at line 189 of file struct_benders.h.

    Referenced by SCIPbendersExit(), SCIPbendersGetNStoredCuts(), SCIPbendersInit(), and SCIPbendersStoreCut().