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
 
int numthreads
 
SCIP_Bool execfeasphase
 
SCIP_Real slackvarcoef
 
SCIP_Real maxslackvarcoef
 
SCIP_Bool checkconsconvexity
 
SCIPsourcescip
 
SCIP_Bool iscopy
 
SCIP_HASHMAPmastervarsmap
 
SCIP ** subproblems
 
SCIP_VAR ** auxiliaryvars
 
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_Boolmastervarscont
 
SCIP_Boolsubprobsetup
 
SCIP_Boolindepsubprob
 
SCIP_Boolsubprobenabled
 
int nactivesubprobs
 
SCIP_Bool freesubprobs
 
SCIP_Bool masterisnonlinear
 
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(), 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(), 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(), 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(), and SCIP_DECL_EVENTINITSOL().

◆ 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().

◆ numthreads

int SCIP_Benders::numthreads

the number of threads to use when solving the subproblem

Definition at line 104 of file struct_benders.h.

Referenced by 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 105 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 107 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 108 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 109 of file struct_benders.h.

Referenced by checkSubproblemConvexity().

◆ sourcescip

SCIP* SCIP_Benders::sourcescip

the source scip from when the Benders' was copied

Definition at line 112 of file struct_benders.h.

Referenced by SCIPbendersExec(), and SCIPbendersExit().

◆ iscopy

SCIP_Bool SCIP_Benders::iscopy

◆ mastervarsmap

SCIP_HASHMAP* SCIP_Benders::mastervarsmap

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

Definition at line 114 of file struct_benders.h.

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

◆ subproblems

SCIP** SCIP_Benders::subproblems

the Benders' decomposition subproblems

Definition at line 117 of file struct_benders.h.

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

◆ auxiliaryvars

SCIP_VAR** SCIP_Benders::auxiliaryvars

◆ subprobqueue

SCIP_PQUEUE* SCIP_Benders::subprobqueue

the priority queue for the subproblems

Definition at line 119 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 120 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 121 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 122 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 123 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 124 of file struct_benders.h.

Referenced by SCIPbendersAddSubproblem(), and SCIPbendersRemoveSubproblems().

◆ nsubproblems

◆ subprobtype

SCIP_BENDERSSUBTYPE* SCIP_Benders::subprobtype

the convexity type of the subproblem

Definition at line 126 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 127 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 128 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 129 of file struct_benders.h.

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

◆ nnonlinearsubprobs

int SCIP_Benders::nnonlinearsubprobs

the number of subproblems that are non-linear

Definition at line 130 of file struct_benders.h.

Referenced by 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 131 of file struct_benders.h.

Referenced by createSubproblems().

◆ mastervarscont

SCIP_Bool* SCIP_Benders::mastervarscont

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

Definition at line 133 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 135 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 136 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 137 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 138 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 139 of file struct_benders.h.

Referenced by SCIPbendersApplyDecomposition(), and SCIPbendersDeactivate().

◆ masterisnonlinear

SCIP_Bool SCIP_Benders::masterisnonlinear

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

Definition at line 140 of file struct_benders.h.

Referenced by SCIPbendersMasterIsNonlinear(), and SCIPbendersSetMasterIsNonlinear().

◆ corepoint

SCIP_SOL* SCIP_Benders::corepoint

the point that is separated for stabilisation

Definition at line 143 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 144 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 145 of file struct_benders.h.

Referenced by performInteriorSolCutStrengthening().

◆ perturbeps

SCIP_Real SCIP_Benders::perturbeps

epsilon value to perturb the LP solution

Definition at line 146 of file struct_benders.h.

Referenced by performInteriorSolCutStrengthening().

◆ noimprovecount

int SCIP_Benders::noimprovecount

count of the iterations without improvement

Definition at line 147 of file struct_benders.h.

Referenced by performInteriorSolCutStrengthening().

◆ noimprovelimit

int SCIP_Benders::noimprovelimit

limit used to change behaviour of stabilitation

Definition at line 148 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 149 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 150 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 151 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 152 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 153 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 154 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 155 of file struct_benders.h.

Referenced by performInteriorSolCutStrengthening(), and SCIPbendersGetNStrengthenCutsFound().

◆ nstrengthencalls

int SCIP_Benders::nstrengthencalls

the number of calls to the strengthening round

Definition at line 156 of file struct_benders.h.

Referenced by performInteriorSolCutStrengthening(), and SCIPbendersGetNStrengthenCalls().

◆ nstrengthenfails

int SCIP_Benders::nstrengthenfails

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

Definition at line 157 of file struct_benders.h.

Referenced by performInteriorSolCutStrengthening(), and SCIPbendersGetNStrengthenFails().

◆ npseudosols

int SCIP_Benders::npseudosols

the number of pseudo solutions checked since the last generated cut

Definition at line 160 of file struct_benders.h.

Referenced by SCIPbendersExec().

◆ feasibilityphase

SCIP_Bool SCIP_Benders::feasibilityphase

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

Definition at line 161 of file struct_benders.h.

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

◆ benderscuts

◆ nbenderscuts

◆ benderscutssize

int SCIP_Benders::benderscutssize

the size of the Benders' cuts algorithms array

Definition at line 166 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 168 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 171 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 172 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 173 of file struct_benders.h.

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