socx: GPU-Accelerated Chance-Constrained Stochastic Optimal Control using JAX
Organizations: Authors are with the Daniel Guggenheim School of Aerospace Engineering at the Georgia Institute of Technology, Atlanta, GA, 30332 USA.
Abstract
In this article, we present socx, a GPU-accelerated solver for lifted convex reformulations of linear stochastic optimal control under chance constraints, implemented in JAX. We demonstrate that by exploiting the sparse and independent structure of the problem, distributed optimization can reduce it to simpler problems: independent linear-quadratic tracking (LQT) problems and Euclidean projections onto sets. These simpler problems can be solved in parallel and then coupled using the constraints. To validate our solver, we run it on a hover-linearized 3D quadrotor and show a speed-up of up to over MOSEK and up to over SCS. socx also solves horizons up to , whereas MOSEK runs out of memory at . We present ablations to isolate the key components that enable the speed-up.
Figures & tables
| mean channel | stochastic channel | |
| : | ||
| : | ( 26 ) | |
| : | ( 26 ) | |
| : | ||
| count |
| socx (Ours) , GPU | MOSEK, CPU | SCS+cuDSS, GPU | |||||||||||
| time (s) | iterations | obj. err. | time (s) | speed-up | time (s) | speed-up | |||||||
| 40 | 252 | 0.38 | 0.02 | 377 | 20 | 1.000 | 2.9 | 0.1 | 7.2–7.9 | 26 | 11 | 47–104 | |
| 80 | 492 | 0.66 | 0.06 | 483 | 53 | 1.000 | 14.9 | 1.5 | 20–27 | 179 | 79 | 145–369 | |
| 160 | 972 | 2.20 | 0.38 | 750 | 135 | 1.002 | 91.7 | 5.5 | 37–53 | 1976 | 2077 | 199– 2224 | |
| 240 | 1,452 | 4.33 | 0.30 | 798 | 57 | 1.002 | 311.7 | 82.9 | 57– 98 | 3848 | 2123 | 386–1342 | |
| 320 | 1,932 | 7.10 | 0.26 | 808 | 31 | – | 1.000 | out of memory (50GB cap) | 5789 | 1633 | 576–1085 | ||
| time (ms) | scratch memory (MB) | |||||
| Variant | ||||||
| -update : per iteration | ||||||
| Parallel LQT (Ours) | 1.13 | 2.62 | 8.17 | 39 | 124 | 390 |
| Sequential LQT | 4.48 | 9.16 | 20.66 | 8 | 40 | 159 |
| Condensed KKT | 2.46 | 9.54 | 61.19 | 10 | 13 | 43 |
| Per-column loop | 7.78 | 30.63 | 120.72 | 188 | 747 | 3768 |
Stochastic Optimal Control
Stochastic optimal control studies how to choose actions over time when system dynamics, observations, or outcomes are uncertain.
See all 101 papers