We show that it is possible to parallelise Bellman's dynamic programming using parallel scans on GPU. This leads to interesting parallel LQT, minimum-path, and other algorithms as special cases.
The Python/TensorFlow codes for reproducing the experiments can be found here: https://github.com/EEA-sensors/parallel-control-codes
Did you know that you can do optimal control in parallel? This month, in IEEE Transactions on Automatic control, we have our paper
Särkkä & García-Fernández (2023). Temporal Parallelisation of Dynamic Programming and Linear Quadratic Control.
IEEE: https://ieeexplore.ieee.org/document/9697418
arXiv: https://arxiv.org/abs/2104.03186
This article proposes a general formulation for temporal parallelization of dynamic programming for optimal control problems. We derive the elements and associative operators to be able to use parallel scans to solve these problems with logarithmic time complexity rather than linear time complexity. We apply this methodology to problems with finite state and control spaces, linear quadratic tracking control problems, and to a class of nonlinear control problems. The computational benefits of the parallel methods are demonstrated via numerical simulations run on a graphics processing unit.
Tomorrow, December 8:
AI for Sustainability, when FCAI meets the Helsinki Institute of Sustainability Science
https://fcai.fi/calendar/2022/12/8/ai-for-sustainability-fcai-x-helsus