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 |
---|---|
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
.
Many example scripts are available in the example/
folder. A good place to start is:
- the documentation!
- the
examples/tutorial.ipynb
jupyter notebook - the script
tutorial.jl
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.
Gilles Bareilles
Yassine Laguel
Dmitry Grischenko
Franck Iutzeler
Jérôme Malick
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},
}