Skip to content

Commit

Permalink
Merge pull request #150 from JuliaOpt/release-0.4
Browse files Browse the repository at this point in the history
Release 0.4
  • Loading branch information
frapac authored Jun 9, 2017
2 parents f68b9da + 1977e33 commit 24ea004
Show file tree
Hide file tree
Showing 36 changed files with 2,182 additions and 2,414 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ os:
- linux
julia:
- 0.5
- 0.6
notifications:
email: false

Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
**WARNING:** *This package is currently in development. Any help or feedback is appreciated.*


**Latest release:** 0.3.0
**Latest release:** 0.4.0

| **Documentation** | **Build Status** | **Social** |
|:-----------------:|:----------------:|:----------:|
Expand All @@ -28,13 +28,13 @@ It is built upon [JuMP]
- Linear dynamics
- Linear or convex piecewise linear cost

Extension to non-linear formulation are under development.
Extension to non-linear formulation are under development.
Extension to more complex alea dependance are under developpment.

## Why Extensive formulation ?

An extensive formulation approach consists in representing the stochastic problem as a deterministic
one with more variable and call a standard deterministic solver. Mainly usable in a linear
one with more variable and call a standard deterministic solver. Mainly usable in a linear
setting. Computational complexity is exponential in the number of stages.

## Why Stochastic Dynamic Programming ?
Expand All @@ -54,7 +54,10 @@ control strategies.


## Installation
Installing StochDynamicProgramming is an easy process. Open Julia and enter
Installing StochDynamicProgramming is an easy process.
Currently, the package depends upon `StochasticDualDynamicProgramming.jl`, which is not
yet registered in Julia's METADATA. To install the package,
open Julia and enter

```julia
julia> Pkg.update()
Expand Down
5 changes: 3 additions & 2 deletions REQUIRE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
julia 0.5
JuMP 0.16
JuMP 0.17
Distributions
ProgressMeter
Interpolations
Iterators
CutPruners 0.0.2
Compat 0.18
21 changes: 0 additions & 21 deletions TODO.md

This file was deleted.

8 changes: 4 additions & 4 deletions doc/sddp_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ but allows to use either piecewise linear or quadratic costs.
To define a `LinearSPModel`, the constructor is::

spmodel = LinearSPModel(
nstage, # number of stages
ubounds, # bounds of control
n_stage, # number of stages
u_bounds, # bounds of control
x0, # initial state
cost, # cost function
dynamic, # dynamic
Expand All @@ -36,8 +36,8 @@ Default parameters
^^^^^^^^^^^^^^^^^^
You should at least specify these parameters to define a `LinearSPModel`:

- `nstage` (Int): number of stages in the stochastic multistage problem
- `ubounds` (list of tuple): bounds upon control, defined as a sequence of tuple :code:`(umin, umax)`.
- `n_stage` (Int): number of stages in the stochastic multistage problem
- `u_bounds` (list of tuple): bounds upon control, defined as a sequence of tuple :code:`(umin, umax)`.
- `x0` (`Vec{Float64}`): initial state
- `cost` (`Function`): cost function as a function of time, state, control and noise returning a Float
- `dynamic` (`Function`): system's dynamic as a function of time, state, control and noise returning a vector
Expand Down
4 changes: 2 additions & 2 deletions examples/battery_storage_parallel.jl
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,10 @@ println("library loaded")
controlSteps, infoStruct)
end

Vs = StochDynamicProgramming.solve_DP(spmodel,paramSDP, 1)
Vs = StochDynamicProgramming.solve_dp(spmodel,paramSDP, 1)

lb_sdp = StochDynamicProgramming.get_bellman_value(spmodel,paramSDP,Vs)
println("Value obtained by SDP: "*string(lb_sdp))
costsdp, states, stocks = StochDynamicProgramming.sdp_forward_simulation(spmodel,paramSDP,scenarios,Vs)
costsdp, states, stocks = StochDynamicProgramming.forward_simulations(spmodel,paramSDP,Vs,scenarios)
println(mean(costsdp))

Loading

0 comments on commit 24ea004

Please sign in to comment.