Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

Awesome Lists containing this project

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)