What Have I Learned? – Manipulation of Multiple Flows (Part 3 – MPC)

In this final part of this series, we look at what model predictive control (MPC) can do for the following applications:

(1) Extend rangeability

(2) Improve resolution

(3) Enable preferential use of flows based on cost

(4) Send flows to multiple destinations possibly based on priorities

(5) Provide counteracting effects

MPC is the more powerful solution for an optimization problem (applications 3 and 4). MPC also offers the simultaneous manipulation of multiple flows, objective oriented tuning knobs, and manipulated variable costs that make the optimization more a science than an art. An experienced regulatory control person can make a PID do almost anything but many plants don’t have that experience base. The MPC offers a solution that a person with some basic knowledge of the process and dynamics (process gain, time constant, and dead time) can understand. In my experience in teaching process control to chemical engineers at Washington University in Saint Louis, it was easier for students to understand and use an MPC because it was process oriented. On the other hand, the PID had dozens of parameters with a hundred different opinions on how to set them. If you don’t believe me, check out the 484 page documentary of setting 3 of the 20+ PID parameters in the Handbook of PI and PID Controller Tuning Rules, which doesn’t get into structure, options, and windup. Just think about trying to teach the PID nuances and heuristic rules well enough to turn a new employee loose on an optimization problem. I think you have a much better chance of success if the neophyte is armed with an MPC. With the disappearance of mentors and in-house technical courses all but the basics of PID control may well be lost. The manager of a process control group at a large refinery told me that he starts up with a PID but quickly moves every loop to an MPC because he doesn’t have a Shinskey in his group.

We will see that MPC can also be used for applications 1 and 2 and thus cover the range of opportunities we discussed last week for valve position control (VPC). The principle drawback of the VPC solution is the lack of tuning guidance, no embedded economics, and no move suppression in conventional PID controllers to address multiple objectives (tight control of the critical process variable and the minimization of costs and variability from unnecessary movement of the expensive and large flow).

I first explored an MPC solution for application 3 for the classic case of the manipulation of fast but high cost flow and a slow but low cost flow. The solution as outlined in AdvancedApplicationNote1.pdf involves setting up one of the flows as an optimization variable. Normally one would pick minimization of the high cost flow but this made the fast flow less available for tight control in my tests because the optimization routine had a tighter than expected grip on this flow even when the penalty on error (PE) for the optimization variable was greatly reduced. The high cost and fast flow tended to ride its low limit. I achieved better load rejection performance by setting up the MPC for maximization of the low cost but slow flow. For this setup, the maximization of the low cost flow took a back seat to the tight control of the critical process variable when I reduced the PE for this optimization variable.

If the MPC allows the user to write to the relative costs manipulated variables based on the priorities of each manipulated flow, MPC offers a solution for application 4 without the addition of an optimization variable.

I next explored an MPC solution for the manipulation of a big (coarse) valve and a small (fine) valve. The solution as outlined in AdvancedApplicationNote2.pdf involves setting up the small flow as a second controlled variable. I was able to get good load rejection and set point response while minimizing the use of the big valve. I reduced the PE of controlling the small valve at its optimum position. The stick-slip limit cycle from the big valve can be broken by writing a zero to the move size limit for the big valve when the small valve is within an acceptable throttle range. This MPC solution can be extended to applications 3 and 4 by writing a set point (target) for the small valve based on costs or priorities. If it is the simple of case of trying to minimize the small flow because it is expensive, the optimum set point corresponds to a minimum throttle position that doesn’t have excessive seating or sealing friction and hence stick-slip. Is the 1st or 2nd MPC solution better? The more I think about it, I think the solution outlined in the second application note offers more flexibility and is easier to set up but maybe that is because I am an old VPC guy and this MPC is a smarter way of doing VPC.

An MPC could be set up for application 5 but I am not sure whether the advantage of the built-in knowledge of the dynamics of the valves outweighs the disadvantage of the MPC inherent approach for simultaneous movement of the manipulated variables. Application 5 really demands sequential manipulation of the flows so that you are not wasting energy or raw materials. To force sequential manipulation, it appears to me you would have to have extremely high penalties for both valves being open and be able to deal with the discontinuity of the split range point with an MPC that is expecting a linear model.