Parallelisable computation of the gradient in nonlinear stochastic optimal control problems
Abstract
Nonlinear (deterministic and stochastic) optimal control problems are often solved on embedded devices using first-order numerical optimisation methods. The gradient computation accounts for a significant part of the computation cost per iteration; this is often performed with reverse-mode automatic differentiation and software libraries such as CasADi can be used to generate C code for this computation. In this paper, we propose a simple ad hoc and highly parallelisable algorithm for the computation of the gradient of the total cost for deterministic and stochastic scenario-based optimal control problems. We also present gradgen: an open-source Python package that generates Rust code for the gradient computation. The proposed method leads to a faster performance compared to CasADi and a significant reduction in generated code.
Cite
@article{arxiv.2306.10861,
title = {Parallelisable computation of the gradient in nonlinear stochastic optimal control problems},
author = {Jie Lin and Ruairi Moran and Pantelis Sopasakis},
journal= {arXiv preprint arXiv:2306.10861},
year = {2023}
}