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...
Main Authors: | , , |
---|---|
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 |