OptimalControl.jl icon indicating copy to clipboard operation
OptimalControl.jl copied to clipboard

MPC use case

Open jbcaillau opened this issue 1 year ago • 10 comments

@agustinyabo should be rather easy to test MPC (fixed / moving horizon) implementing a basic loop (see, e.g., this simple example) on the nice example you treated in the ref. below:

Yabo, A.; Caillau, J.-B., Gouzé, J.-L. Hierarchical MPC applied to bacterial resource allocation and metabolite synthesis IEEE Conference on Decision and Control (2021), 667-672 Proceedings of the 60th CDC, Austin, December 2021

jbcaillau avatar Jul 26 '24 08:07 jbcaillau

@jbcaillau We need a template repository to facilitate adding applications.

ocots avatar Aug 28 '24 14:08 ocots

@jbcaillau Do we add in "Tutorials and Advanced Features" a simple use of MPC?

ocots avatar Apr 20 '25 11:04 ocots

yes, would en nice. we could reuse sth like this (Zermelo, JuMP version): https://github.com/pns-mam/commande/blob/main/tp3/tp3-sol.md

jbcaillau avatar Apr 28 '25 20:04 jbcaillau

I have converted your example from JuMP to OptimalControl: https://gitlab.irit.fr/toc/etu-n7/controle-optimal/-/blob/master/tp/mpc-navigation.ipynb.

ocots avatar May 18 '25 12:05 ocots

nice. ajouter ensuite la sol. (in english) dans les tutos ?

I have converted your example from JuMP to OptimalControl: https://gitlab.irit.fr/toc/etu-n7/controle-optimal/-/blob/master/tp/mpc-navigation.ipynb.

jbcaillau avatar May 18 '25 16:05 jbcaillau

Oui j'ajouterai un tuto qui reprend ça. Par contre, il y a des limites. Là, j'utilise disc_method=:euler car avec les trapèzes, le contrôle il oscille trop, et avec un Gauss-Legendre, on converge vers une autre solution locale. Après, ce n'est pas très robuste, on peut facilement ne pas converger.

ocots avatar May 18 '25 18:05 ocots

We can add this application:

Yabo, A.; Caillau, J.-B., Gouzé, J.-L. Hierarchical MPC applied to bacterial resource allocation and metabolite synthesis IEEE Conference on Decision and Control (2021), 667-672 Proceedings of the 60th CDC, Austin, December 2021

@jbcaillau A new tutorial or a new application or inside https://agustinyabo.github.io/PWLdynamics.jl.

ocots avatar May 30 '25 08:05 ocots

@agustinyabo ?

We can add this application:

Yabo, A.; Caillau, J.-B., Gouzé, J.-L. Hierarchical MPC applied to bacterial resource allocation and metabolite synthesis IEEE Conference on Decision and Control (2021), 667-672 Proceedings of the 60th CDC, Austin, December 2021

@jbcaillau A new tutorial or a new application or inside https://agustinyabo.github.io/PWLdynamics.jl.

jbcaillau avatar May 30 '25 08:05 jbcaillau

It's a good idea, I'll think about it. For some time, I wanted to try some robust MPC methods, like the classical Min-Max MPC from:

Campo, P. J., & Morari, M. (1987, June). Robust model predictive control. In 1987 American control conference. IEEE.

I don't know if this Hierarchical MPC is the best example, maybe some other problem with reference tracking?

agustinyabo avatar Jun 02 '25 11:06 agustinyabo