A Java Stochastic Dynamic Programming Library

View the Project on GitHub gwr3n/jsdp

Welcome to jsdp: 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.

The Library

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:


Maven latest snapshot:

How to download SNAPSHOT version from maven SNAPSHOT repository?

Current release:

Quick start

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

About the author

jsdp is maintained by Roberto Rossi (@gwr3n), Reader at the University of Edinburgh.