DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problems

DynaProg is an open-source MATLAB toolbox for solving multi-stage deterministic optimal decision problems using Dynamic Programming. This class of optimal control problems can be solved with Dynamic Programming (DP), which is a well-established optimal control technique suited for highly non-linear...

Full description

Bibliographic Details
Main Authors: Federico Miretti, Daniela Misul, Ezio Spessa
Format: Article
Language:English
Published: Elsevier 2021-06-01
Series:SoftwareX
Subjects:
Online Access:http://www.sciencedirect.com/science/article/pii/S2352711021000352
_version_ 1819090703639117824
author Federico Miretti
Daniela Misul
Ezio Spessa
author_facet Federico Miretti
Daniela Misul
Ezio Spessa
author_sort Federico Miretti
collection DOAJ
description DynaProg is an open-source MATLAB toolbox for solving multi-stage deterministic optimal decision problems using Dynamic Programming. This class of optimal control problems can be solved with Dynamic Programming (DP), which is a well-established optimal control technique suited for highly non-linear dynamic systems. Unfortunately, the numerical implementation of Dynamic Programming can be challenging and time consuming, which may discourage researchers from adopting it. The toolbox addresses these issues by providing a numerically fast DP optimization engine wrapped in a simple interface that allows the user to set up an optimal control problem in a straightforward yet flexible environment, with no restrictions on the controlled system’s simulation model. Therefore, it enables researchers to easily explore the usage of Dynamic Programming in their fields of expertise. Thorough documentation and a set of step-by-step examples complete the toolbox, thus allowing for easy deployment and providing insight of the optimization engine. Finally, the source code’s class-oriented design allows researchers experienced in Dynamic Programming to extend the toolbox if needed.
first_indexed 2024-12-21T22:28:03Z
format Article
id doaj.art-46f06e29b7ef494d93c458c7ac334c38
institution Directory Open Access Journal
issn 2352-7110
language English
last_indexed 2024-12-21T22:28:03Z
publishDate 2021-06-01
publisher Elsevier
record_format Article
series SoftwareX
spelling doaj.art-46f06e29b7ef494d93c458c7ac334c382022-12-21T18:48:09ZengElsevierSoftwareX2352-71102021-06-0114100690DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problemsFederico Miretti0Daniela Misul1Ezio Spessa2Corresponding author.; IC Engines Advanced Laboratory, Dipartimento Energia, Politecnico di Torino, c.so Duca degli Abruzzi 24, 10129 Torino, ItalyIC Engines Advanced Laboratory, Dipartimento Energia, Politecnico di Torino, c.so Duca degli Abruzzi 24, 10129 Torino, ItalyIC Engines Advanced Laboratory, Dipartimento Energia, Politecnico di Torino, c.so Duca degli Abruzzi 24, 10129 Torino, ItalyDynaProg is an open-source MATLAB toolbox for solving multi-stage deterministic optimal decision problems using Dynamic Programming. This class of optimal control problems can be solved with Dynamic Programming (DP), which is a well-established optimal control technique suited for highly non-linear dynamic systems. Unfortunately, the numerical implementation of Dynamic Programming can be challenging and time consuming, which may discourage researchers from adopting it. The toolbox addresses these issues by providing a numerically fast DP optimization engine wrapped in a simple interface that allows the user to set up an optimal control problem in a straightforward yet flexible environment, with no restrictions on the controlled system’s simulation model. Therefore, it enables researchers to easily explore the usage of Dynamic Programming in their fields of expertise. Thorough documentation and a set of step-by-step examples complete the toolbox, thus allowing for easy deployment and providing insight of the optimization engine. Finally, the source code’s class-oriented design allows researchers experienced in Dynamic Programming to extend the toolbox if needed.http://www.sciencedirect.com/science/article/pii/S2352711021000352Dynamic ProgrammingOptimal controlDecision problem
spellingShingle Federico Miretti
Daniela Misul
Ezio Spessa
DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problems
SoftwareX
Dynamic Programming
Optimal control
Decision problem
title DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problems
title_full DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problems
title_fullStr DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problems
title_full_unstemmed DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problems
title_short DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problems
title_sort dynaprog deterministic dynamic programming solver for finite horizon multi stage decision problems
topic Dynamic Programming
Optimal control
Decision problem
url http://www.sciencedirect.com/science/article/pii/S2352711021000352
work_keys_str_mv AT federicomiretti dynaprogdeterministicdynamicprogrammingsolverforfinitehorizonmultistagedecisionproblems
AT danielamisul dynaprogdeterministicdynamicprogrammingsolverforfinitehorizonmultistagedecisionproblems
AT eziospessa dynaprogdeterministicdynamicprogrammingsolverforfinitehorizonmultistagedecisionproblems