Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/auralius/yadpf
A generic implementation of dynamic programming algorithm and value iteration algorithm.
https://github.com/auralius/yadpf
dynamic-optimization dynamic-programming octave optimal-control optimizations value-iteration
Last synced: 7 days ago
JSON representation
A generic implementation of dynamic programming algorithm and value iteration algorithm.
- Host: GitHub
- URL: https://github.com/auralius/yadpf
- Owner: auralius
- License: mit
- Created: 2021-09-23T04:12:57.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-25T14:53:02.000Z (17 days ago)
- Last Synced: 2024-11-25T15:46:03.757Z (17 days ago)
- Topics: dynamic-optimization, dynamic-programming, octave, optimal-control, optimizations, value-iteration
- Language: MATLAB
- Homepage: https://auralius.github.io/yadpf/
- Size: 20.6 MB
- Stars: 6
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-made-by-indonesian - YADPF - `A generic implementation of dynamic programming algorithm and value iteration algorithm.` *by [Auralius Manurung](https://github.com/auralius)* (Y)
- made-in-indonesia - YADPF - `A generic implementation of dynamic programming algorithm and value iteration algorithm.` *by [Auralius Manurung](https://github.com/auralius)* (Y)
README
[![View YADPF - Yet Another Dynamic Programming Function on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/100149-yadpf-yet-another-dynamic-programming-function)
# YADPF
Yet Another Dynamic Programming Function
This is a generic implementation of dynamic programming algorithm and value iteration algorithm.
This is sitll an ongoing work. Please check [here](https://www.mathcha.io/editor/X9JLdiqLS21T1NJNX4h6BGODQSxG7zwUpZG7LM) for a more detailed document.
Also, please check our published paper [here](https://doi.org/10.1016/j.softx.2022.101001).
__The GNU Octave__ compatible version can be found [here](https://github.com/auralius/yadpf/tree/octave).
## Ex.1 : Sutton's mountain car problem
![](https://github.com/auralius/yadpf/blob/main/docs/mountain_car.gif)
![](https://github.com/auralius/yadpf/blob/main/docs/mountain_car_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/mountain_car_2.png)
## Ex.2 : Mass-damper system (double integrator)
![](https://github.com/auralius/yadpf/blob/main/docs/mass_damper_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/mass_damper_2.png)
![](https://github.com/auralius/yadpf/blob/main/docs/mass_damper_3.png)
## Ex.3 : Mass-damper system with minimum integral of squared error
![](https://github.com/auralius/yadpf/blob/main/docs/time_optimal_mass_damper.png)
## Ex.4 : Lotka-Volterra fishery
![](https://github.com/auralius/yadpf/blob/main/docs/fishery_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/fishery_2.png)
## Ex.5 : Dubin's car, making a full circle
![](https://github.com/auralius/yadpf/blob/main/docs/dubins_car.png)
![](https://github.com/auralius/yadpf/blob/main/docs/dubins_car.gif)
## Ex.6 : Find shortest path on a terrain
![](https://github.com/auralius/yadpf/blob/main/docs/terrain_shortest_path_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/terrain_shortest_path_2.png)
## Ex.7 : Two-oven problem
![](https://github.com/auralius/yadpf/blob/main/docs/two_oven_problem_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/two_oven_problem_2.png)
## Ex.8 : Two-tank problem
![](https://github.com/auralius/yadpf/blob/main/docs/two_tank_problem_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/two_tank_problem_2.png)
## Ex.9 : Piecewise hanging mass-spring system
![](https://github.com/auralius/yadpf/blob/main/docs/piecewise_mass_spring_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/piecewise_mass_spring_2.png)
## Ex.10 : Van der Pol equation with a control input
![](https://github.com/auralius/yadpf/blob/main/docs/time_optimal_van_der_pol_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/time_optimal_van_der_pol_2.png)
## Ex.11 : Stablizaton of an F8 aircraft
![](https://github.com/auralius/yadpf/blob/main/docs/f8_aircraft.png)
## Ex.12 : Single tank with two inputs
![](https://github.com/auralius/yadpf/blob/main/docs/single_tank_with_two_inputs.png)
## Ex.13 : Single mass with two inputs
![](https://github.com/auralius/yadpf/blob/main/docs/two_input_mass.png)
## Ex.14 : Two-wheeled differential drive robot
![](https://github.com/auralius/yadpf/blob/main/docs/wheeled_robot.png)
![](https://github.com/auralius/yadpf/blob/main/docs/wheeled_robot.gif)
## Ex.15 : Optimal storage strategy (single integrator)
![](https://github.com/auralius/yadpf/blob/main/docs/optimal_storage_strategy_1.png)
![](https://github.com/auralius/yadpf/blob/main/docs/optimal_storage_strategy_2.png)
## Ex.20 : Stirred tank mixer
![](https://github.com/auralius/yadpf/blob/main/docs/stirred_tank_mixer.png)
## Ex.22 : Vertical ascend rocket
![](https://github.com/auralius/yadpf/blob/main/docs/vertical_ascend_rocket.png)