Stopping Criterion
StructDualDynProg.stop — Method.stop(s, stats, totalstats)
Returns whether the SDDP algorithm should stop. If totalstats.niterations is 0, no iteration has already been done, otherwise, the niterationsth iteration has just finished. This iteration used stats.npaths paths and generated stats.nfcuts (resp. stats.nocuts) new feasibility (resp. optimality) cuts. The lower bound is now totalstats.lowerbound and the upper bound has mean totalstats.upperbound and variance totalstats.σ_UB.
type OrStoppingCriterion <: StructDualDynProg.AbstractStoppingCriterionStops if lhs or rhs want to stop.
type AndStoppingCriterion <: StructDualDynProg.AbstractStoppingCriterionStops if lhs and rhs want to stop.
StructDualDynProg.IterLimit — Type.type IterLimit <: StructDualDynProg.AbstractStoppingCriterionStops if iter ≧ limit.
StructDualDynProg.CutLimit — Type.type CutLimit <: StructDualDynProg.AbstractStoppingCriterionStops if there was less than or equal to limit cuts added in the iteration. For instance, CutLimit(0) stops when there are no cuts added.
StructDualDynProg.Pereira — Type.type Pereira <: StructDualDynProg.AbstractStoppingCriterionStops if z_UB - α * σ/√K - tol < z_LB < z_UB + α * σ/√K + tol and σ / √K > β * max(1, |z_LB|))