Dypro - C++ Open-Source Dynamic Programming Package
Dypro is an open-source software package to aid in solving dynamic optimization problems. Currently, Dypro implements the following algorithms:
- Dynamic programming (DP)
- Stochastic dynamic programming (SDP)
Dynamic programming problems are solved using full enumeration of discretized decision and state spaces. SDP includes discretized probability mass functions to estimate expected objective function values. XML-based input files provide inputs to each model. Dypro users compile a main program code that defines system simulation and objective function evaluation, and link the program with the Dypro library to use its solving capabilities.
Download binary builds of Dypro here, and unpack them in a place you would like. You can also download source as described below.
Getting Started / Tutorial
Go to the tutorial page
Build Dypro from source
- Install pre-requisites:
- Download and install dypro
- Remember to set PATH environment variable to include necessary paths to scons and gcc/g++ executables and libraries
runtests.bat(Windows, by double-clicking)
- This builds dypro
- It also runs tests to make sure that dypro is working. If it is not working, it will either not compile or pass the tests.
- Note: check
PATH(any operating system) and
LD_LIBRARY_PATH(linux) variables to make sure all necessary software is accessible.
Take a look at test files within
src/tests/* sub-directories for examples of implementing dynamic optimization problems with Dypro. Here are a few examples:
- Bertsekas, D. P. (2005). Dynamic Programming and Optimal Control (Vol. I). Belmont, Massachusetts: Athena Scientific.
- Miranda, M. J., & Fackler, P. L. (2002). Applied Computational Economics and Finance. Cambridge, Massachusetts: The MIT Press.