11# StochDynamicProgramming
22
33
4-
54** WARNING:** * This package is currently in development. Any help or feedback is appreciated.*
65
76
8- [ ![ Build Status] ( https://travis-ci.org/leclere/StochDynamicProgramming.jl.svg?branch=master )] ( https://travis-ci.org/leclere/StochDynamicProgramming.jl )
9- [ ![ codecov.io] ( https://codecov.io/github/leclere/StochDynamicProgramming.jl/coverage.svg?branch=master )] ( https://codecov.io/github/leclere/StochDynamicProgramming.jl?branch=master )
7+ ** Latest release:** 0.1.3
8+
9+
10+ [ ![ Build Status] ( https://travis-ci.org/JuliaOpt/StochDynamicProgramming.jl.svg?branch=master )] ( https://travis-ci.org/JuliaOpt/StochDynamicProgramming.jl )
11+ [ ![ codecov.io] ( https://codecov.io/github/JuliaOpt/StochDynamicProgramming.jl/coverage.svg?branch=master )] ( https://codecov.io/github/JuliaOpt/StochDynamicProgramming.jl?branch=master )
1012
1113
1214This is a Julia package for optimizing controlled stochastic dynamic system (in discrete time). It offers three methods of resolution :
1315
14- - Extensive formulation
15- - Stochastic Dynamic Programming.
16- - * Stochastic Dual Dynamic Programming* (SDDP) algorithm.
16+ - * Extensive formulation* .
17+ - * Stochastic Dynamic Programming* .
18+ - * Stochastic Dual Dynamic Programming* (SDDP) algorithm.
1719
1820It is built upon [ JuMP] ( https://github.com/JuliaOpt/JuMP.jl )
1921
@@ -22,12 +24,15 @@ It is built upon [JuMP](https://github.com/JuliaOpt/JuMP.jl)
2224- Stage-wise independent discrete noise
2325- Linear dynamics
2426- Linear or convex piecewise linear cost
25- Extension to non-linear formulation are under development.
27+
28+ Extension to non-linear formulation are under development.
29+ Extension to more complex alea dependance are under developpment.
2630
2731## Why Extensive formulation ?
2832
29- An extensive formulation approach consists in representing the problem in a linear
30- problem solved by an external linear solver. Complexity is exponential in number of stages.
33+ An extensive formulation approach consists in representing the stochastic problem as a deterministic
34+ one with more variable and call a standard deterministic solver. Mainly usable in a linear
35+ setting. Computational complexity is exponential in the number of stages.
3136
3237## Why Stochastic Dynamic Programming ?
3338
@@ -39,23 +44,26 @@ in the dimension of the state space.
3944
4045SDDP is a dynamic programming algorithm relying on cutting planes. The algorithm require convexity
4146of the value function but does not discretize the state space. The complexity is linear in the
42- number of stage, and can accomodate higher dimension state than standard dynamic programming.
47+ number of stage, and can accomodate higher dimension state than standard dynamic programming.
4348The algorithm return exact lower bound and estimated upper bound as well as approximate optimal
4449control strategies.
4550
4651
4752
4853## Installation
54+ Installing StochDynamicProgramming is an easy process. Open Julia and enter
4955
50- ``` bash
51- Pkg.clone(" https://github.com/leclere/StochDynamicProgramming.jl.git" )
56+ ``` julia
57+ julia> Pkg. update ()
58+ julia> Pkg. add (" StochDynamicProgramming" )
5259
5360```
5461
62+
5563## Usage
5664
5765IJulia Notebooks will be provided to explain how this package work.
58- A first example on a two dams valley [ here.] (https ://github.com /leclere/StochDP-notebooks/blob/master/notebooks/damsvalley.ipynb )
66+ A first example on a two dams valley [ here.] (http ://nbviewer.jupyter.org/github /leclere/StochDP-notebooks/blob/master/notebooks/damsvalley.ipynb )
5967
6068
6169## Documentation
7482make html
7583
7684```
85+
86+ ## License
87+
88+ Released under Mozilla Public License (see LICENSE.md for further details).
0 commit comments