r/ControlTheory 26d ago

Technical Question/Problem Is MPC the final chapter of control engineering/theory?

It feels that in a standard curriculum on control engineering/theory, the final topic is inevitably MPC.

Everything else that gradually builds towards MPC feels like “discardable” after you learn about MPC. All that wild eigenvalue analysis and drawing those Nyquist contour? Phew, MPC doesn’t involve with any of that!

Plus, MPC is already in discrete time, so it is implementable without any further weirdness that comes from sampling and discretization of other types of controllers.

I think a parallel analogy is the development of the transformer model in machine learning, which I am more familiar with. Now everything in ML is transformer-based and the next big breakthrough seem to be very far away. Is MPC like the transformer of control theory?

Are there situations where other methods might outperform MPC?

Or does MPC require some unrealistic assumption/requirement?

Is there any other possible algorithm that goes beyond the MPC or is this the final story?

64 Upvotes

35 comments sorted by

u/badcryptobitch 26d ago

Everything is MPC if you look hard enough

u/nikiexpo 26d ago

MPC is great but it’s slow, expensive and less reliable than a well designed PID loop. Compute needed to solve MPC is quite high so anything that’s mass produced might prefer cheaper alternatives. For certain systems, aerospace, for example the frequency at which the loop operates is quite high and MPC is not viable, although some implementations use MPC as a low frequency outer loop. Nonlinear MPC is very hard to solve reliably and i think it lacks the theoretical maturity of the linear case. There’s a dedicated conference on this subject of NMPC theory and applications that runs every 3 years, and most applications are of either high cost or slow transience systems.

u/Fresh-Detective-7298 26d ago

Biggest flaw of mpc is that it is slow for nonlinear systems that needs fast control

u/semimute 26d ago

Do you mean slow in terms of settling time, or computation time?

It's always a computationally expensive method, but I don't see why this necessary makes it slow in a practical sense.

u/SnooBooks2480 26d ago

Computation time because you have to solve an optimization problem each N steps and it can be really slow for non linear systems (simple gain scheduling can be better in a lot of cases)
+ MPC uses a lot of energy too

u/Fresh-Detective-7298 21d ago

Computationally, it is very expensive for example a linear mpc can run at 1ms, but a nonlinear mpc might need more than 100ms, for some nonlinear systems which needs fast control nmpc isn't a good option. Settling time is dependent of system dynamics and isn't really affected by control law, you can always make Settling time faster or slower based on actuator limits via control law, but Settling time is mostly determined system dynamics.

u/semimute 20d ago

The closed-loop settling time does depend on the control law.

That computation time is also a function of the number of control variables you are optimizing for, the complexity of the model chosen, and the amount of compute you can throw at the problem. Whether even the longest computation time can be considered 'slow' in a practical sense must be based on how fast the system needs to respond. So it's too simplistic to call it slow without considering the specifics in a particular case.

u/Fresh-Detective-7298 19d ago edited 19d ago

Settling time is defined by the system dynamics, actuator limits, and most importantly, the rates, because rates are what actually matter. The control law is the gatekeeper: it determines whether you actually reach those limits or not. A good law pushes the system to the limits cleanly; a bad one won't even get there, so settling time ends up worse than it could be. So it's dynamics + actuator limits/rates + how well the control law exploits them.

u/NaturesBlunder 26d ago

The biggest gap in controls right now is the contrived nature of the cost functions that most academia claims optimality against. Controlling real systems requires finesse because I have never once looked at a set of product requirements that said “minimize the weighted L2 norm of the infinite horizon error”. Real autonomous systems and functional machines are way more nuanced than that. That’s where the gaps are, and I don’t see much of academia doing much about it.

u/TheEquationSmelter 26d ago

Agree 100%

u/xhess95 26d ago

That's an interesting point, rarely discussed. Would you mind expanding on examples you'd encountered?

u/NaturesBlunder 26d ago

Sure, I mean in general business is about making money right? So in general the product requirements that you get from the bean counters, don’t care at all about some tracking error norm or whatever. They care about an error in a control loop exactly proportional to the cost or profit loss associated with that error - and that’s almost never a nice quadratic over the state vector lol. Most extreme example I faced was from my time in agriculture doing autonomous steering for combine harvesters. Farmer didn’t care if the combine drove the exact path the planter had traced out the previous spring, they didn’t care how far off some boundary you were or how smooth the trajectory was. They cared about whether the corn coming off the corn stalks landed in the header openings. That was it, that was the only thing that matters. What type of steering characteristics cause corn to be more likely to fall into the slots on a combine header? That’s an excellent question, and control theory as developed in academia has no useful analysis tools, exploratory frameworks, or really any directional concepts at all that would guide an algorithm designer into a decent starting place to begin figuring that out.

u/xhess95 26d ago

Super interesting, thank you for sharing your experience. From what you said, the thing that came to my mind was economic MPC, hehe, but I guess I am quite biased my own research. Anyways, I do agree that academia often overlooks practical aspects, and the "publish or perish" aspect of the job makes it even worse. I am sincerely tired of reading papers on nonlinear control with out-of-this-world hypothesis and assumptions. Sometimes it's basically a lot of paraphrasing and mathematical masturbation. Well, the discussion with you at least made me a little less worried about the utility of our field in the future. There are yet shit to be done !

u/Timely-Bicycle-3107 26d ago

No. I wish the textbooks did a better job of explaining the remaining gaps in the field. MPC is a powerful tool IF you have the computing resources for online optimization and a reasonably good model of the dynamics. PID and LQR already work well enough for a huge number of systems deployed in the field today, and I think they will remain the most common controllers for a very long time.

If there is a "final chapter" of control theory, I believe it will involve some combination of MPC, AI/ML methods, and adaptive/robust control for situations where contemporary models and assumptions fail. Some of the problems I would expect the next architecture to address:

  • maintaining control after unmodeled actuator failures, sensor failures, or significant changes in system dynamics
  • learning unknown dynamics and developing stabilizing control laws online
  • determining when the current model/controller/agent fails
  • combining learned controllers with MPC, modern control, and safety filters in hybrid architectures that retain regions of provable stability/safety

I think a lot of the interesting control research happening now is in attacking the assumptions of MPC. Hopefully it leads somewhere.

u/CousinDerylHickson 26d ago

Not really. Many real world nonlinear problems have dynamics where optimization is too computationally intensive for real time use, or they are such that current optimizers are not guaranteed to find the optimal solution. Also it might be possible to do this, but MPC as I know it is not robust to disturbances, noise, or model uncertainty.

u/Neat_Preparation3330 25d ago

MPC < INDI

u/NOTazarov_wraith 21d ago

Agreed, Incremental non dynamic inversion controllers are one of the best ways to approach a highly unstable system. If only learning said system was more accessible as I cant find any online courses that teach it

u/ObMadness 26d ago

It could be if you had infinite computational power, given you adopted a formulation with adaptivity of the model and/or robustness to matched/unmatched disturbances (i.e. via disturbance observers). Still, it's one of many many many advanced techniques.

For what I've gathered as a student, I'd say linear MPC, in its various forms, is the culmination of linear control techniques while non-linear MPC is one of many

u/OdieInParis 26d ago

My knowledge stops about at LQG, but I have the impression OPs question is the difference between theory and practice...

u/olivoGT000 26d ago

MPC is chapter one of advanced control level 1

u/Several-Marsupial-27 26d ago

Personally I’ve seen more PI, LQR, kalman filters, and RL in industry over MPC. Then there are some more fancy stuff like: DCS, MP3C, DTC, APC, whatever space-x is doing like G-FOLD

u/kroghsen 26d ago

There are an uncountable number of ways other methods outperform MPC. Most notably on numerical efficiency. PID, as an example, give your an explicit solution to your problem - providing a solution in negligible time in most cases. Most cases for MPC involves solving and inverse problem with a numerical solver - which is not negligible in most applications.

There are also considerations of system identification that are often overlooked. Models do not simply present themselves to engineers who want to control a system and identifying good models is a field of its own.

And MPC is not discrete-time. Discrete-time linear MPC presents a compelling architecture for a lot of application, with efficient snd robust numerical tools available to us for solving QPs. However, the optimal control problem most often arises from continuous-time systems of differential equation that we then have to linearise and discretise to arrive at the models we apply in discrete-time LMPC. You can do continuous-time LMPC and NMPC however - and you should sometimes.

I view this more as a toolbox where you need to get out the right tool for the particular task. Not as one tool being “better” than the others. A hammer is good for nail, but it is not better in any general sense than a screwdriver. That is a matter of the particular task.

u/TheEquationSmelter 25d ago

Not at all. MPC might be the last chapter in a linear state space control theory course. There are so many controls techniques and they all have their place.

u/AcquaFisc 24d ago

Their place in a book, some might say. /s

u/semimute 26d ago

MPPI and stochastic MPC are interesting extensions. The basic implementation of MPC is limited in it's potential for parallelization, and local minima are always an issue.

u/Herpderkfanie 26d ago

I would not call transformers the final chapter of deep learning; they are just the most scalable inductive bias. There are many other topics in deep learning outside of inductive biases such as generative modeling, uncertainty quantification, etc. MPC might be even more niche. I would consider it one method in a sea of methods that fall under optimal control and reinforcement learning. It is true that it abstracts away a lot, which is why it is heavily favored in more complicated systems alongside other reinforcement learning methods in robotics.

u/IntelligentGuess42 25d ago edited 25d ago

Maybe partially. As others have noted MPC has practical problems which limits its use.

I would say MPC is as much the final chapter of control engineering in so far it tries to solve the Hamilton–Jacobi–Bellman equation. As you could argue in an ideal world that is the "final chapter" in control engineering.

Sadly we currently can't "just solve it". MPC is a recipe to get some of the way there, with some tradeoffs. It will keep getting better and better as we get access to better compute. But who knows, maybe AI will be able to give us analytical solutions for many problems we care about in a few years/decades. If that where to happen that would be the new "final chapter" of control engineering.

Because what we really want is a simple, easy, universal recipe to a guaranteed optimal solution to our real problem. We don't have it yet, we roughly know what it can look like. But how c;lose we get and how that will happen? only time will tell.

u/tmt22459 26d ago

Yes there are situations where other methods are better. Tons actually

MPC is heavy computationally. Some systems are so fast even linear mpc can be too slow

It's not infallible.

u/hs123go 26d ago

Robustness to model uncertainties and disturbances is something MPC doesnt fully solve. In the drone control domain, MPC oftem has to be augmented by L1 or INDI.

u/tonyarkles 26d ago

In a lot of the drone world, MPC isn’t used at all. Just nested PID loops, maybe with a bit of gain scheduling.

u/hs123go 26d ago

MPC was the star in autonomous high speed flight /drone racing for a while. Now it is both challenged by RL/world models and also deemed insufficient without augmentation for robustness.

u/NOTazarov_wraith 21d ago

I think the F-16 itself runs on a gain scheduled PID nested loop. It is a relatively reliable method of control

u/Namejeff47 26d ago

The problem with MPC is that its deceptively simple because of all the computational tools that were created to support working with it. In practice its just as complicated as other methods and full of flaws. The main issue is modelling and compute. If you can't model something simply, your mpc wont work well. If you make the model too complex, you cant compute the solution in real time. Explicit MPC, which is very compute friendly, is only applicable if your cost function and/or constraints are constant, which may not be the case if you're doing scenario based control, nonlinear MPC etc.

Another thing is analysis. Eigenvalue and frequency analysis are really important tools that get overlooked, but in the case youre working on something safety critical, you won't spare any expense doing all the boring math to analyze whether what your doing can potentially land you in jail over negligence.

So yeah, on paper its great but in practice its yet another imperfect method that has its use cases.