When should you use Advanced Control

This question comes up from time to time.  I just recently responded to the question and thought I'd share my thoughts more widely.  Please feel free to agree or disagree and to extend the ideas.  We can all learn from each other.  The most recent question was, "When should I use MPC instead of PID for control?"

When a process has a dominant deadtime dynamic, feedback control simply will not match a predictive controller. Smith Predictor was an early attempt to deal with dead time, but it turns out not to be so robust if the deadtime varies (due to production rate changes, for example). MPC is a great choice when the deadtime is equal to or greater than the 1st order time constant. Remember, though, it is always best to design deadtime out of the process where possible. Shorten transport delays between measurement and actuation and reduce sources of effective deadtime like poor mixing in a continuous stirred tank.

MPC is a multi-variable controller and works well where there are multi-variable interactions. This is why it has become so popular in distillation. When you have an interacting process, there are a few choices. In a simple problem, you may be able to detune one loop relative to another (using lambda tuning techniques) to dynamically decouple the interaction. If you are ambitious and have a process engineering background, you can try to decouple the interaction with feed-forward control. Perhaps the easiest, most intuitive, and most effective method is to decouple interacting loops with MPC. The MPC models incorporate the response of every process input to every process output and the controller coordinates the moves of all of the actuators (Manipulated Variables or MVs) to smoothly bring the process to its control targets with minimum changes to the MVs.

Constraint optimization is another area where MPC shines, especially the DeltaV MPC products with an Optimizer. In regulatory control, Override control is used to handle constraints. But typically, in an override strategy, only one constraint limit can be achieved. In a multi-variable MPC, the controller can theoretically push simultaneously against as many constraints as there are MVs. So if you hit one constraint, the controller holds that constraint and can still maximize or minimize another variable to optimize the control objective until another constraint is reached. The process can continue to drive against constraints until it uses up all of its degrees of freedom.

We did this, for example, at EGLNG, where the controller had nearly 30 constraints and 5 MVs. The optimizer would maximize feed until 5 constraints were achieved. During hot weather, the constraints may have been various temperature limits or refrigerant pressure limits.  During cooler weather, availability of feed might become one of the limiting constraints.