# High dimensional (stochastic) optimal control

**URL:** <https://discourse.julialang.org/t/high-dimensional-stochastic-optimal-control/137345>\
**Category:** General Usage\
**Tags:** question, controlsystems\
**Created:** [May 30, 2026, 6:44am UTC](https://discourse.julialang.org/t/high-dimensional-stochastic-optimal-control/137345 "2026-05-30T06:44:57Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [May 30, 2026, 6:44am UTC](https://discourse.julialang.org/t/high-dimensional-stochastic-optimal-control/137345/1 "2026-05-30T06:44:57Z")

</div>

Dear all,

in the context of stochastic control, I am wondering if some of you have implemented either of the two papers in julia.

- Onken, D., Nurbekyan, L., Li, X., Fung, S. W., Osher, S., & Ruthotto, L. (2023). A Neural Network Approach for High-Dimensional Optimal Control Applied to Multiagent Path Finding. _IEEE Transactions on Control Systems Technology_, _31_(1), 235–251. [A Neural Network Approach for High-Dimensional Optimal Control Applied to Multiagent Path Finding | IEEE Journals & Magazine | IEEE Xplore](https://doi.org/10.1109/TCST.2022.3172872)
- Li, X., Verma, D., & Ruthotto, L. (2024). A Neural Network Approach for Stochastic Optimal Control. _SIAM Journal on Scientific Computing_, _46_(5), C535–C556. [https://doi.org/10.1137/23M155832X](https://doi.org/10.1137/23M155832X)

Thank you for your help,

Best regards

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [May 30, 2026, 11:25am UTC](https://discourse.julialang.org/t/high-dimensional-stochastic-optimal-control/137345/2 "2026-05-30T11:25:13Z")

</div>

Are those cases not already handled by HighDimPDE.jl? If not, they are algorithms of that type and should just be minor tweaks.

---

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [May 31, 2026, 7:33am UTC](https://discourse.julialang.org/t/high-dimensional-stochastic-optimal-control/137345/3 "2026-05-31T07:33:35Z")

</div>

I would say no, “there is no control” in this package.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [May 31, 2026, 10:29am UTC](https://discourse.julialang.org/t/high-dimensional-stochastic-optimal-control/137345/4 "2026-05-31T10:29:36Z")

</div>

What do you mean? The HJB solution is the optimal controller. Here’s the example of doing those papers:

> **[Solving a 100-dimensional Hamilton-Jacobi-Bellman Equation with DeepBSDE ·...](https://docs.sciml.ai/HighDimPDE/dev/tutorials/deepbsde/)**
>
> Documentation for HighDimPDE.jl.

That is solving the Linear Quadratic Gaussian (LQG) control problem of 100 dimensions

---

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [May 31, 2026, 2:17pm UTC](https://discourse.julialang.org/t/high-dimensional-stochastic-optimal-control/137345/5 "2026-05-31T14:17:58Z")

</div>

I meant that you have to specify the HJB rather than the cost function. OK that’s an API requirement.

For example:

- where do you specifiy the running cost
- how do you get the optimal strategy (ie the optimal control)
- the above papers are younger than the one of Han, A. Jentzen and Weinan E. They implement a different method.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [May 31, 2026, 11:10pm UTC](https://discourse.julialang.org/t/high-dimensional-stochastic-optimal-control/137345/6 "2026-05-31T23:10:17Z")

</div>

I’ll get those methods into HighDimPDE.jl. It’s actually a pretty trivial extension, since we don’t actually implement it via the Han style, their paper can be generalized as just solving a stochastic UDE, and similarly these two papers are also just a stochastic UDE at the end of the day. So solving them is just defining the SDE (which are all very similar) and then just running the standard optimization loop over it. I’m out of Claude hours but next week I’ll just set it on it and it’ll most likely just one shot it given the infrastructure that already exists.

But yes, all of these assume you write it in the HJB form. It would be nice to provide a different interface so that it’s written in the control form, and then auto-translates to the HJB, and then solves it like that. That probably would be done via a ModelingToolkit representation on top… we don’t have that piece all together but it would be a very cool addition to do.
