Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
dd2b28d
[DEV] Add possibility to define control search space at each iteratio…
trigaut Oct 30, 2016
a357b50
[FIX] Fix many bugs regarding control search space
trigaut Nov 2, 2016
4e1b5c7
[FIX] Build u search space fixes
trigaut Nov 3, 2016
2458daf
[FIX] Fix various bugs
trigaut Nov 15, 2016
95e25b2
[UPD] Remove julia 0.4 in travis
frapac Feb 10, 2017
5434808
[UPD] Move from Factcheck to Base.Test for UT
frapac Feb 10, 2017
66c0a83
[DEL] Remove deprecated files
frapac Feb 10, 2017
2f23201
[UPD] Prune cuts with CutPruners package
frapac Feb 12, 2017
c98e99c
[UPD] Add precompilation
frapac Feb 13, 2017
0ba6ba8
[DEV] Add new interface
frapac Feb 13, 2017
d4fd4b1
[FIX] Remove bugs in interface
frapac Feb 13, 2017
45e7ddc
Merge branch 'cutpruners' into newinterface
frapac Feb 13, 2017
3fa3150
[UPD] Remove deprecated functions
frapac Feb 13, 2017
1239c65
[UPD] Begin incorporation of CutPruners
frapac Feb 13, 2017
ac77850
[UPD] Optimize addition of cuts in JuMP.Model
frapac Feb 14, 2017
bb472c1
[UPD] Optimize forward/backward
frapac Feb 14, 2017
3b34f88
[UPD] Overload Base.show for SDDPstats
frapac Feb 14, 2017
1abadc3
[FIX] Fix minor bugs
frapac Feb 14, 2017
a1ece64
[TEST] Update unit-tests with new interface
frapac Feb 14, 2017
ab4b1f2
[DOC] Change signatures of functions in docstring
frapac Feb 14, 2017
b354ca3
[UPD] Add solver exec time in SDDPStats
frapac Feb 15, 2017
bbea4ad
[UPD] Add Nullable when necessary
frapac Feb 15, 2017
d1f631a
[UPD] Update computation of dual with new JuMP interface
frapac Feb 15, 2017
0d9d2fe
[UPD] Add params to reload JuMP Model
frapac Feb 15, 2017
ed94088
[UPD] Remove redundant cuts with hash
frapac Feb 15, 2017
4621189
Merge branch 'master' into sddpcleaning
frapac Feb 26, 2017
b567391
[UPD] Add generic StoppingCriterion
frapac Feb 26, 2017
eb9756e
[UPD] Update with new version of CutPruners
frapac Mar 1, 2017
9b97a46
[UPD] Change bandeau
frapac Mar 2, 2017
281c966
[UPD] Refactoring: NextStep --> NLDSSolution
frapac Mar 6, 2017
d6f244c
[UPD] Fix quadratic regularization
frapac Mar 6, 2017
b3623e7
[UPD] Add SDDPRegularization type
frapac Mar 6, 2017
d73caf3
[UPD] Refact SDDPparameters
frapac Mar 6, 2017
b6aedb6
Merge pull request #135 from JuliaOpt/regularization
frapac Mar 6, 2017
106baae
[FIX] Fix non running unit-tests
frapac Mar 6, 2017
7bbcf39
[FIX] Fix non-working examples
frapac Mar 6, 2017
b492ff3
[DEV] reorganize sdp
trigaut Mar 27, 2017
7b761ce
[FIX] Rename sdp utils and optimize
trigaut Mar 27, 2017
7a340db
[FIX] delete print, fix stock-example issue
trigaut Mar 27, 2017
0ddae52
[FIX] Fix minor issues in sdp
trigaut Mar 30, 2017
2f2ec41
[FIX] Minor fixes
trigaut Mar 30, 2017
d52acd2
merge master into dev_sdp_search_spaces
trigaut Mar 30, 2017
0c6c4bc
[FIX] Fix forward simulations bug
trigaut Apr 7, 2017
9402d6b
[DEV] Add forward passes in decision-hazard
frapac Apr 10, 2017
eddb69e
[FIX] Rename sdp related files
trigaut Apr 12, 2017
342944b
[FIX] Update sdp tests and fix important issues
trigaut Apr 12, 2017
2e228fd
[UPD] Add decision-hazard SDDP
frapac Apr 12, 2017
50df516
Merge branch 'release-0.4' into sddpcleaning
frapac Apr 12, 2017
09f9a0d
[UPD] Improve naming
trigaut Apr 13, 2017
c2b64ec
[UPD] Rescope PR #142
frapac Apr 18, 2017
e1ce8c0
Merge pull request #142 from JuliaOpt/sddpcleaning
frapac Apr 18, 2017
ca078eb
[UPD] Clean SDP
trigaut Apr 19, 2017
134727d
[FIX] Lower sdp tests complexity for travis
trigaut Apr 19, 2017
2eb4617
[UPD] Merge release_0.4 and fix tests
trigaut Apr 19, 2017
85bd52c
[Fix] Minor issues
trigaut Apr 19, 2017
a1fd8e0
[Fix] Add StructJump to travis.yml
trigaut Apr 19, 2017
093d1d0
Merge pull request #143 from JuliaOpt/dev_sdp_search_spaces
trigaut Apr 19, 2017
fc4ff33
[FIX] Fix broken functions in SDDP-DH
frapac Apr 20, 2017
46c2f44
[FIX] Hotfix broken stock-example
frapac Apr 20, 2017
6e6e1fc
[UPD] Stop cloning CutPruners.jl
frapac Apr 25, 2017
9359982
[UPD] Add working version of cuts pruning
frapac Apr 25, 2017
7c1bf36
[FIX] Definition of controlcat and empty NLDSSolution
frapac May 13, 2017
ec95806
Merge branch 'sddp-dh' into new-sddp-dh
frapac May 13, 2017
77fd8e8
[FIX] Problem in backward pass
frapac May 13, 2017
bbcf86f
[FIX] Fix minor bugs
frapac May 13, 2017
b1275ff
[REF] Copy stopcrit.jl from StochasticDualDynamicProgramming.jl
frapac May 13, 2017
671ad0f
[REF] Copy stopcrit.jl from StochasticDualDynamicProgramming.jl
frapac May 13, 2017
1f60263
[UPD] Update syntax to julia 0.6
frapac May 13, 2017
1bdca08
Merge branch 'release-0.4' of https://github.com/JuliaOpt/StochDynami…
frapac May 13, 2017
81e1ca7
[doc] update inconsistency in doc
leclere May 15, 2017
d69fd33
Merge pull request #145 from JuliaOpt/new-sddp-dh
frapac May 15, 2017
8cc41a0
changing ubound nstage xbound accross files
leclere May 17, 2017
3eb5826
add SDDPInterface constructor with default cut pruner and stop crit
leclere May 17, 2017
867b1d3
add SDDPInterface constructor with default cut pruner and stop crit
leclere May 17, 2017
901c5fe
adding verbosity in SDDPoptimize.jl
leclere May 17, 2017
4289641
adding verbosity in BackwardForward and oneStepOneAlea
leclere May 17, 2017
08218c3
adding verbosity in addcut functions
leclere May 17, 2017
eaec5ea
some more verbosity
leclere May 17, 2017
eac41f5
Merge pull request #146 from JuliaOpt/verbosity
leclere May 19, 2017
580743a
[UPD] Add exact pruning
frapac Jun 5, 2017
31cb9e3
Merge branch 'release-0.4' into fixpruning
frapac Jun 5, 2017
2ee5e6b
Merge branch 'fixpruning' into release-0.4
frapac Jun 5, 2017
2fddf1e
Merge branch 'release-0.4' of https://github.com/JuliaOpt/StochDynami…
frapac Jun 5, 2017
4bada42
[UPD] Remove Iterators' dependency
frapac Jun 5, 2017
29fbe4d
[UPD] Update to JuMP 0.17
frapac Jun 5, 2017
4025375
[REF] Code refactoring
frapac Jun 5, 2017
002fc72
Refactoring before release 0.4
frapac Jun 6, 2017
1977e33
Rescope PR #150
frapac Jun 9, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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