A Java Stochastic Dynamic Programming Library
Stochastic Programming is a framework for modeling and solving problems of decision making under uncertainty. Stochastic Dynamic Programming, originally introduced by Richard Bellman in his seminal book Dynamic Programming, is a branch of Stochastic Programming that deals with multistage decision processes and takes a "functional equation" approach to the discovery of optimum policies.
jsdp provides a general purpose Java library for modeling and solving Stochastic Dynamic Programs. The library features a number of applications in maintenance, stochastic optimal control, and stochastic lot sizing; including the computation of optimal nonstationary (s,S) policy parameters, as discussed by Herbert Scarf in his seminal work the optimality of (s s) policies in the dynamic inventory problem.
To learn more please take a tour of our Wiki.
Maven release:
<groupId>com.github.gwr3n</groupId> <artifactId>jsdp</artifactId> <version>1.0.1</version>
Maven latest snapshot:
<groupId>com.github.gwr3n</groupId> <artifactId>jsdp</artifactId> <version>1.0.2-SNAPSHOT</version>How to download SNAPSHOT version from maven SNAPSHOT repository?
Current release:
You can test the stochastic inventory control example by running
java -cp ./jsdp-1.0.1-shaded.jar jsdp.app.inventory.univariate.StochasticLotSizing
This project has been supported by
jsdp is maintained by Roberto Rossi (@gwr3n), Chair in Uncertainty Modelling at the University of Edinburgh.