RandomizedProgressiveHedging.jl

Author yassine-laguel
Popularity
5 Stars
Updated Last
2 Years Ago
Started In
May 2019

RandomizedProgressiveHedging.jl

This module aims to solve multistage stochastic problems by randomized versions of the progressive hedging algorithm. It comes with the companion paper "Randomized Progressive Hedging methods for Multi-stage Stochastic Programming" published in the journal Annals of Operations Research.

Documentation Build Status

Installation

The package is installed with the following command:

]add RandomizedProgressiveHedging.jl

GLPK and Ipopt are installed along as default solvers. Other solvers can of course be used, see JuMP doc. for installation and example/ scripts for use of the Juniper and Mosek solvers. If you don't have them already, simply ]add Juniper Mosek MosekTools.

Example

Many example scripts are available in the example/ folder. A good place to start is:

For distributed solve on local machine, launch e.g. julia as julia -p 3 for 2 workers and a master thread. On a cluster, add workers with the package Distributed either addprocs on ssh connection, or use an adapted cluster manager.

Authors

Gilles Bareilles
Yassine Laguel
Dmitry Grischenko
Franck Iutzeler
Jérôme Malick

Cite

If you found this package useful, please cite the following work.

@article{bareilles:hal-02946615,
  TITLE = {{Randomized Progressive Hedging methods for Multi-stage Stochastic Programming}},
  AUTHOR = {Bareilles, Gilles and Laguel, Yassine and Grishchenko, Dmitry and Iutzeler, Franck and Malick, J{\'e}r{\^o}me},
  URL = {https://hal.archives-ouvertes.fr/hal-02946615},
  JOURNAL = {{Annals of Operations Research}},
  PUBLISHER = {{Springer Verlag}},
  YEAR = {2020},
  PDF = {https://hal.archives-ouvertes.fr/hal-02946615/file/main.pdf},
  HAL_ID = {hal-02946615},
  HAL_VERSION = {v1},
}