Skip to content

Progressive hedging algorithms for two-stage stochastic programs, written in Julia.

License

Notifications You must be signed in to change notification settings

martinbiel/ProgressiveHedgingSolvers.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProgressiveHedgingSolvers

Build Status

Coverage Status

codecov.io

ProgressiveHedgingSolvers includes implementations of the Progressive-hedging algorithm for two-stage stochastic recourse problems. All algorithm variants are based on the original progressive-hedging algorithm by Rockafellar and Wets. ProgressiveHedgingSolvers interfaces with StochasticPrograms.jl, and a given recourse model sp is solved effectively through

julia> using ProgressiveHedgingSolvers

julia> solve(sp,solver=ProgressiveHedgingSolver(IpoptSolver(print_level=0)))
Progressive Hedging Time: 0:00:06 (1315 iterations)
  Objective:  -855.8332803469432
  δ:          9.436947935542464e-7
:Optimal

Note, that a QP capable AbstractMathProgSolver is required to solve emerging subproblems. In addition, there are distributed variants of the algorithm: ProgressiveHedgingSolver(execution = Synchronous()) and ProgressiveHedgingSolver(execution = Asynchronous()), which requires adding processes with addprocs prior to execution.

The algorithm has a set of parameters that can be tuned prior to execution. For a list of these parameters and their default values, use ? in combination with the solver object. For example, ?Adaptive gives the parameter list for the adaptive penalty procedure. For a list of all solvers and their handle names, use ?ProgressiveHedgingSolver.

References

  1. R. T. Rockafellar and Roger J.-B. Wets (1991), Scenarios and Policy Aggregation in Optimization Under Uncertainty, Mathematics of Operations Research, vol. 16, no. 1, pp. 119-147.

About

Progressive hedging algorithms for two-stage stochastic programs, written in Julia.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages