Abstract:
An integrated multivariable predictive controller (MPC) and tester is disclosed. The invention system provides optimal control and step testing of a multivariable dynamic process using a small amplitude step for model identification purposes, without moving too far from optimal control targets. A tunable parameter specifies the trade-off between optimal process operation and minimum movement of process variables, establishing a middle ground between running a MPC on the Minimum Cost setting and the Minimum Move setting. Exploiting this middle ground, embodiments carry out low amplitude step testing near the optimal steady state solution, such that the data is suitable for modeling purposes. The new system decides when the MPC should run in optimization mode and when it can run in constrained step testing mode. The invention system determines when and how big the superimposed step testing signals can be, such that the temporary optimization give-away is constrained to an acceptable range.

Description:
RELATED APPLICATION(S) 
       [0001]    This application claims the benefit of U.S. Provisional Application No. 61/596,459, filed on Feb. 8, 2012. 
         [0002]    The entire teachings of the above application(s) are incorporated herein by reference. 
     
    
     BACKGROUND OF THE INVENTION 
       [0003]    Multivariable Predictive Control (MPC) is the most widely used advanced process control technology in process industries, with more than 5,000 worldwide applications currently in service. MPC, which is sometimes also referred to as multivariate control (MVC), relies on dynamic models of an underlying process, e.g., linear dynamic models obtained by system identification. 
         [0004]    A common and challenging problem is that MPC control performance degrades over time due to inevitable changes in the underlying subject process, such as equipment modifications, changes in operating strategy, feed composition changes, instrumentation degradation, etc. Such degradation of control performance results in loss of benefits. Among all possible causes of control performance degradation, the poor model accuracy is the primary factor in most cases. To sustain good control performance, the model needs to be periodically calibrated and updated. 
         [0005]    However, it is a technically challenging and resource-intensive task to pinpoint a problematic model and re-identify a new model for replacement in a MPC application. Such efforts are disclosed in Assignee&#39;s U.S. Pat. Nos. 7,209,793 and 6,819,964. In a large scale MPC application, over a hundred variables may be involved. Conducting a re-test and re-identification by a conventional approach may take an experienced engineer weeks of intensive work and cause significant interruption to the normal operation. 
         [0006]    The process industry has been looking for an automated, safe and less invasive approach to conducting plant testing for a while. In past generations of MPC&#39;s, a process control engine calculated a new steady state target every single control cycle, no matter how insignificant the increment change was. The new steady state target was then used to calculate a new dynamic move plan, and the first move was written out to the subject process. Doing so guaranteed that the process controller had an integration action that removed offset from the active CV (controlled variable) limits that were caused by measurement noise, process disturbances, and model errors; but this often caused unwarranted overreaction to plant noise and the near colinearity present in the controller model. This lead to excessive feedback correlation in collected data sets making this closed loop data set unsuitable for model identification purposes. If purely closed loop data with the MPC system turned on was used, then the identified models were significantly biased (i.e., contained large errors). Often, the models identified from purely closed loop data were not sufficiently accurate to drive the correct behaviour in a non-square Multivariable Predictive Controller. 
         [0007]    In the Assignee&#39;s U.S. Pat. No. 7,209,793, herein incorporated by reference, an innovative approach for conducting plant testing was proposed and improved on closed loop step testing of U.S. Pat. No. 6,819,964 also by Assignee and herein incorporated by reference. The step testing was done in an automated way with the process safe guarded by a specially designed multivariable controller. A process perturbation approach simultaneously perturbed multiple process input variables in a manner that maximized process outputs while maintaining process variables inside predefined operating constraints. 
         [0008]    However, even using the above automated closed-loop step testing, the variable perturbation will inevitably have some negative impact to the normal process operation; mainly, the loss of optimal operation performance. As such, the currently available technology in this field is still considered too invasive to the process operation. 
         [0009]    The innovation presented by Applicants below is geared to address this issue. Applicants provide a new apparatus and method for non-invasive closed loop step testing using a tunable trade-off between optimal process operation and process perturbation. 
       SUMMARY OF THE INVENTION 
       [0010]    Embodiments of the present invention provide a new apparatus and method to address the foregoing problems by a tunable trade-off between optimal process operation and process perturbation. 
         [0011]    Embodiments provide expansion of automated closed loop step testing techniques described in Assignee&#39;s U.S. Pat. No. 7,209,793 (Apr. 24, 2007). Embodiments can be configured and executed to generate required data for model quality assessment and/or model re-identification in Assignee&#39;s U.S. Patent Application Publication No. 2011/0130850 (published Jun. 2, 2011), while also minimizing negative impact to the underlying process operation, an improvement over the state of the art. 
         [0012]    The present invention proposed approach also has robustness benefits. It has been observed that MPC type controllers often behave in a more stable way when all MVs (manipulated variables) are set to Minimum Move criterion, instead of Minimum Cost. This indicates that pushing for full optimization at every cycle may not always produce a better result; sometimes maintaining the current targets yield a better overall result. 
         [0013]    Applicant&#39;s simulation results have confirmed that there is a middle ground between running the MPC controller on the Minimum Cost setting for all MVs, and running all MVs on the Minimum Move setting. Results have indicated that there is a tunable tradeoff between optimization and robustness. In particular, the end user can exploit this middle ground to carry out low amplitude step testing close to the optimal steady state solution, such that the data is suitable for modeling purposes. The challenge is on how to decide when the process controller engine should run in optimization mode (minimum cost criterion), and when it can run in a constrained step testing mode (using the minimum move criterion). For superimposing small but usable step testing signals onto the normal control action, the required innovation is in deciding when and how big these superimposed signals can be, such that the temporary optimization give-away is constrained to an acceptable range. This is the basis of the present invention: A novel way to run a background small amplitude step test over multiple weeks or months that is suitable for model identification purposes, without moving too far away from optimal control targets. 
         [0014]    An embodiment of the present invention is a method for increasing the robustness of a multivariable controller due to over reaction to unmeasured disturbance, model uncertainty and near colinearity while maintaining a process system to a specified optimal level. The method first involves specifying a trade-off factor (Delta J) representing the tolerance for the process system operating beneath a calculated optimal economic objective function for a current cycle of the multivariable controller and calculating targets for process manipulated (MV) and controlled variables (CV) using different objective functions. 
         [0015]    In a preferred embodiment of this method, the objective functions for calculating these targets are economic optimization (min cost) and constraint control (min move). After the targets are calculated, the trade-off factor is employed to select the appropriate target. The target calculated from the economic optimization (min cost) function is selected if the incremental change in min cost objective function from the constraint control (min move) function exceeds the trade-off factor, otherwise, selecting the target calculated from the constraint control (min move) function. Finally, a dynamic move plan is generated from the selected target. The plan must comply with the constraints of the process being controlled. In one embodiment of this method, the dynamic move plan is implemented in the multivariable controller and the steps of the method are repeated for subsequent cycles. 
         [0016]    In another embodiment, when the target calculated from the economic optimization (min cost) function is selected, the selector continues to select the target calculated from the economic optimization (min cost) function for subsequent cycles of the multivariable controller until a specified time has passed, such as the time to steady state of the process. 
         [0017]    Another embodiment of the present invention is a method for both optimal control and step testing of a multivariable dynamical process. This embodiment further includes maintaining the economic optimization of a process operation to a certain extent while automatically perturbing the process at the same time. The method uses the tunable parameter (Delta J) to specify the trade-off between economic optimization of the process operation and aggressiveness of the process perturbation. In this embodiment, an existing process control model in the multivariable controller is specified as an initial model and a given trade-off factor (Delta J) represents the allowable economic objection function degradation. Subsequently, when the controller is running in min move mode, a step signal is calculated for a selected list of process manipulated (MV) signals to be stepped, these steps are subject to the process constraints and the economic function degradation limit. A move plan is generated combining nominal control and said step testing signals and implemented in the multivariable controller. After implementation, the process manipulated (MV) and process controlled (CV) response variables are measured and used to improve the model. 
         [0018]    In accordance with one aspect of the present invention, the method employs a process output margin (CV active constraint relaxation) to prevent the target of process variables from approaching singularities due to near colinearity in the model. 
         [0019]    In accordance with another aspect of the present invention, the step signals calculated for a selected list of process manipulated (MV) signals to be stepped includes the use of simultaneous process manipulated (MV) steps to move away from the required process constraint instead of a single MV step. 
         [0020]    In another embodiment the present invention, the method of step testing the process system and improving a process model is repeated until a desired model condition is reached. 
         [0021]    Another embodiment of the present invention is an apparatus for increasing the robustness of a multivariable controller comprising a multivariable controller coupled to a process system, a computer means coupled to the multivariable controller, and a user interface coupled to the computer means. The user interface allows a user to tune a trade-off factor (Delta J), representing the tolerance for the process system operating beneath a calculated optimal economic objective function, between optimal process operation and process perturbation. The computer means accepts the user settable value for the trade-off factor for a current cycle of the multivariable controller, calculates targets for process manipulated (MV) and controlled variables (CV) using a function for economic optimization (min cost) and a function for constraint control (min move), selects the calculated target to be used based on the trade-off factor, generates a dynamic move plan from the selected target, and implements the dynamic move plan in the multivariable controller, the dynamic move plan complying with required process constraints. 
         [0022]    In accordance with one aspect of the present invention, the computer means selects the target calculated from the economic optimization (min cost) function if the incremental change in min cost objective function from the constraint control (min move) function exceeds the trade-off factor, otherwise, selecting the target calculated from the constraint control (min move) function. 
         [0023]    In accordance with another aspect of the present invention, when the computer means selects the target calculated from the economic optimization (min cost) function, the computer means continues to select the target calculated from the economic optimization (min cost) function for subsequent cycles of the multivariable controller until a specified time has passed, such as the time to steady state of the process. 
         [0024]    Another embodiment of the present invention is the apparatus including an online integrated multivariable controller and tester to automatically perturb the process while maintaining the process safety and optimal operation performance. The computer means uses an existing process control model in the multivariable controller as an initial model and the specified trade-off factor (Delta J) as a tolerance representing the allowable economic objection function degradation. When the controller is running in min move mode, the computer means calculates a step signal for a selected list of process manipulated (MV) signals to be stepped, subject to the process constraints and the economic function degradation limit, and generates a move plan combining nominal control and said step testing signals. The computer means implements the move plan in the multivariable controller, measures process manipulated (MV) and process controlled (CV) response variables, and updates the initial model with the measured response variables to improve the model. 
         [0025]    In accordance with one aspect of the present invention, the computer means employs a process output margin (CV active constraint relaxation) to prevent the target of process variables from approaching singularities due to near colinearity in the model. 
         [0026]    In accordance with another aspect of the present invention, computer means calculating the step signals further includes the use of simultaneous process manipulated (MV) steps to move away from the required process constraint instead of a single MV step. 
         [0027]    In yet another embodiment of the present invention, computer means repeatedly implements move plans with step testing signals and measures the response variables, and further improves the model of the process system. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0028]    The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention. 
           [0029]      FIG. 1  is a schematic view of a multivariable process control system embodying the present invention. 
           [0030]      FIG. 2A  is a system diagram of an embodiment of the present invention. 
           [0031]      FIG. 2B  is a system diagram of an embodiment of a traditional approach. 
           [0032]      FIG. 3  is a flow diagram of method embodiments of the invention. 
           [0033]      FIG. 4  is an alternative flow diagram of method embodiments of the invention. 
           [0034]      FIG. 5  is an illustrative plot of the allowable perturbation area defined by a process constraints and an optimization giveaways tolerance. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0035]    A description of example embodiments of the invention follows. 
         [0036]    The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety. 
         [0037]    Illustrated in  FIG. 1  is a multivariable process controller (or MPC controller)  23  embodying the present invention. In the preferred embodiment, the multivariable process controller  23  is implemented in software, hardware, or both executed on computer processing means  35 . The computer processing means  35  is coupled in communication (for example, via a network  37 ) with process control system  39 . The process control system  39  controls the subject process  11  using techniques and mechanics common in the art. The network  37  may be a local area network (LAN), a wide area network (LAN) and/or part of a global network (e.g., the Internet). Network  37  provides access to computer means  35  and process control system  39  across communication lines  10   a  and  10   b  and the like common in the art. In the preferred embodiment, communication lines  10   a  and  10   b  are high speed communication links which enable remote access/operation of the invention controller  23 . 
         [0038]    Computer processing means  35  includes memory (RAM, ROM, etc.), a central processing unit (CPU), I/O interfaces and a network interface. The I/O (input and output) interfaces support cursor control devices (keyboard, mouse, etc.) and display drivers (to computer monitors and other output devices). The network interface supports connection and communication to network  37 . The central processor unit (CPU) is coupled in communication with the memory and executes instructions store therein, inducing supporting a user interface through the I/O interface and implementing embodiment of the present invention MPC controller  23 . 
         [0039]    Embodiments provide a new apparatus and method for carrying out process perturbation in a non-invasive way, which means that a tunable trade-off can be made between operation optimization and perturbation. In embodiments, when in “calibration mode”, the MPC program  23  monitors if there is any change in tuning (Gain Multipliers, MV/CV service switches, operator limit adjustment, LP/QP cost factor change, etc.) that warrants a large change in operating point (i.e., or if the unbiased prediction error has exceeded a specified tolerance indicating the presence of a large disturbance that requires control action). When this happens, the present invention algorithm runs the MVC control engine (at  23 ) for one cycle with its native settings. The MPC program/controller  23  then evaluates the calculation result returned from the control engine. If it determines that the steady state result differs significantly from the current values, the MPC program implements the result (accepts the new LP targets) and moreover, keeps the control engine running in its native settings for one full time to steady state (TTSS). If the MPC program  23  determines that the new result is insignificant (less than the user specified economic give-away threshold), it forfeits the result and continues with the minimum move setting, maintaining the prior LP steady state targets. 
         [0040]    When the MPC application  23  runs in minimum move setting with the economic give-away threshold being respected, the program tries to inject step test signals for all the manipulated variables (MV) that are set up for testing purposes. The signal generation uses the same mechanism as in MultiTest engine in Aspen SmartStep™ (U.S. Pat. Nos. 6,819,964 and 7,209,793 herein incorporated by reference in their entirety). However, the step size is verified and adjusted to comply with a user defined optimization give-away parameter. The step size is scaled back to meet the economic give-away threshold specified by the user. This allows the user to control the cost of the step test. A smaller threshold will limit the product give-away, but adversely affect the quality of the data and therefore amount of data required for reliable model identification, prolonging the duration of the test. The test will take much longer, but will be sufficiently benign so that the operator can supervise it. It also provides a way for an MPC controller with a model that is out of calibration to run in a detuned but robust fashion while new calibration data is generated. 
         [0041]    As shown in  FIG. 2B , in a typical Model Predictive Controller  214  (such as older versions of DMCplus by Aspen Technology Inc. of Burlington, Mass.), the controller engine  270  calculates a new steady state target every single cycle, no matter how insignificant the incremental change is. The new steady state target  270  is then used to calculate a dynamic move plan  244 , and the first move is written out (through  250 ) to the subject process  260 . 
         [0042]      FIG. 2A  is a system diagram of an embodiment  23  of the present invention  200 . The Model Prediction block  210  generates predictions for each Controlled Variable (CV) of the process based on the model, past inputs and previous prediction errors. At each execution cycle, a new target is calculated for each CV (Controlled Variable) and MV (Manipulated Variable) based on an Objective Function (J) and subject to the process constraints. Unlike in a traditional configuration  201 , embodiments  23  of the present invention  200  contain two Objective Functions: one is designed for Operation Optimization  222  (profit maximization, or cost minimization; we will use the term “Min Cost” throughout the discussion), and another is designed for Minimum Move Control  221  (constraint control; we will use the term “Min Move” throughout the discussion). 
         [0043]    The Target Selector block  230  decides which calculated targets  221 ,  222  are to be used for the current execution cycle. The decision is based on a user tunable parameter (i.e., user selectable value) “Delta J,” which represents how much trade-off is allowed between Min Cost and Min Move. The Target Selector  230  sends the final target to Move Plan Calc block  240  where a dynamic move plan is produced. The dynamic move plan is responsible to drive the subject process  260  towards the required target over a certain period of operation time. 
         [0044]    The Output block  250  is responsible for validating and implementing the move plan  240  cycle by cycle in the Process  260  (at  11  in  FIG. 1 ). Normally, it includes writing out signals to the process actuators through a DCS system  39  ( FIG. 1 ). 
         [0045]    To demonstrate the novelty of the invention, a system diagram for a typical implementation  201  of MPC in the prior art is illustrated in  FIG. 2B  for comparison purposes. Note, it has only a single target calculation engine  270  and no condition based target selector in contract to the two objection function target calculation engines  221 ,  222  and target selector  230  of the present invention. 
         [0046]      FIG. 3  and  FIG. 4  are flow diagrams of two example embodiments  200 ,  23  of the present invention. To facilitate the discussion, the following notations are used: 
         [0047]    A generic multivariable process can be described as: 
         [0000]        Y=G*U   (1)
 
         [0048]    Where, G is the transfer function or gain matrix, U and Y are input variables and output variables, respectively 
         [0000]        U=[u   1   ,u   2   , . . . ,u   m   ],m≧ 1 
         [0000]        Y=[y   1   ,y   2   , . . . ,y   n   ],n≧ 1 
         [0049]    The process operation constraints can be described as: 
         [0000]        UL≦U≦UH   (2)
 
         [0000]        YL≦Y≦YH   (3)
 
         [0050]    Where, UL and UH are input variable low and high limits, and YL and YH are output variable low and high limits, respectively. 
         [0051]    J(x) is an objective function representing certain measure about variable x. 
         [0052]    In practice, one may not be able to find a feasible solution such that equations (1), (2) and (3) are satisfied simultaneously, which means that some of CV variables have to give up their limits. It is a common practice that a set of achievable CV limits is identified first before the calculation of MV and CV targets: 
         [0000]    
       
         
           
             
               min 
               U 
             
              
             
                 
             
              
             
               J 
                
               
                 ( 
                 E 
                 ) 
               
             
           
         
       
     
         [0053]    such that 
         [0000]        Y=G*U+E ,and (2),(3) 
         [0054]    Where, E is a relaxation vector. Then, the achievable CV limts, YL* and YH*, are defined as: 
         [0000]        yl   i   *=yl   i   +e   i ,if  e   i &lt;0 
         [0000]        yh   i   *=yh   i   +e   i ,if  e   i &gt;0 
         [0000]        i= 1,2 , . . . ,n   (4)
 
         [0055]    For the sake of simplicity without loss of generality, we assume that the achievable CV limits are always used in the target calculations in the place of nominal CV limits for the remaining discussions. 
       Establish Objective Function Baseline  301   
       [0056]    A baseline for the Min Cost objective function, J cost , represents the best achievable value for the operation optimization based on the current settings and process constraints. To establish this baseline (step  301 ), the Target Selector  230  chooses the calculated target from the Min Cost module  222  for a certain time period (normally the process Time to Steady State) or until the underneath process  11 ,  260  reaches its optimum. 
         [0057]    Another way to establish  301  a baseline is to calculate the Min Cost objective function  222  assuming that the current operating points are at the middle of the operating range and the new targets are at their high or low operating limits, depending on each variable&#39;s economic optimizing direction. 
       Calculate New Target Using Min Cost Configuration  303   
       [0058]    Controller  23  target calculation for Min Cost can be represented by a objective function consisting of cost factors associated with each MV (or other variations), subject to process constraints such as MV and CV limits: 
         [0000]      min U   J   cost ( U )  (5)
 
         [0059]    Where, J cost (U)=Σ i=1   i=n c i *u i  and c i  is the cost factor for variable i. 
         [0060]    The results from the Min Cost target calculation  222  normally will force the process variables moving to its active constraints (all degrees of freedom are consumed and the dynamic move plan  240  will try to keep variables staying at these active limits). It is a well known fact that the harder the MPC controller  23  pushes variables to the active constraints, the more vulnerable the process  11  will be to uncertainties (disturbances, model errors and near colinearity, actuator defect, etc.). 
       Calculate New Target Using Min Move Configuration  307   
       [0061]    In contrast to Min Cost, Min Move target calculation  221  is represented by a objective function consisting of MV move penalities. The further a MV moves away from its current value, the higher penality it gets, subject to process constraints such as MV and CV limits: 
         [0000]      min U   J ( U−U *)  (6)
 
         [0062]    Where, U* are the current values for MVs. 
         [0063]    The results from Min Move target calculation  221  normally will keep MV staying where it is currently unless it has to make a move to relieve a CV constraint violation. In other words, if there is no CV constraint violation, MV should stay still. Similar to the effect of using Move Suppression in the dynamic move plan calculation  240  for the robustness of controller  23  performance, using Min Move target calculation  221  can result in a less sensitive controller  23  when facing high uncertainties. 
         [0064]    However, the conventional Min Move target calculation  221  may still be problematic when there exists near colinearity in the model matrices. Near colinearity in MV and CV relationship may cause MVs to flip-flop when the associated CVs become actively constrained. In the present invention, Applicants have made modification to the traditional Min Move calculation  221  to address this issue, as discussed below. 
         [0065]    Practically, there is always certain uncertainty around each CV. If we allow each CV or a selected list of CVs to have certain tolerance in constraint violation, we can then solve equation (6) subject to a relaxed CV constraint set instead of the original constraint set: 
         [0000]        YL−Y   dt   ≦Y≦YH+Y   dt   (7)
 
         [0066]    Where Y dt  represents the vector of allowable CV violation tolerance or CV Margin. 
       Select Target  304 ,  305   
       [0067]    Due to changes in operation requirement, process condition, controller tuning, unmeasured disturbances and model uncertainties, etc., the calculated controller target will vary from time to time. The current common practice in MPC is to update the target from cycle to cycle. When uncertainties are high, this commonly adopted approach may result in an unstable or poorly performing controller. In the present invention, a Target Selector  230  is introduced to balance the optimization versus the robustness of the MPC controller  23 . Practically, a better balanced MPC controller can create a better end result then a mathematically fully optimized controller (an unstable or poorly performing controller may get turned off by an operator, for instance). 
         [0068]    Provided with a tunable parameter, Delta J, the selector  230  decides which target is to be used for a particular cycle by comparing the Min Cost objective function to the Min Move objection function. Steps  304  and  305  of  FIG. 3  are illustrative. That is, if the change in Min Cost objective function  222  is smaller than Delta J, then the selector  230  selects the target from Min Move calculation  221 . And if the change in Min Cost objective  222  function is larger than Delta J, the selector selects the target from Min Cost calculation  222 . The objective function baseline is also updated  305  using the newly calculated Min Cost value in this case. 
       Calculate Dynamic Move Plan  309   
       [0069]    When a target is chosen, the MPC controller  23  calculates a dynamic move plan  240  (step  309  in  FIG. 3 ). This move plan  240  is designed to bring the process variables to the new targets as fast as possible, subject to the process  11 ,  260  and actuator constraints. 
       Calculate Perturbation Signals  311 ,  313 ,  315   
       [0070]    Optionally, a perturbation signal can be added onto the Dynamic Move Plan  240  for each or a selected list of MVs. This is done only if the selected target is from Min Move Target Calculation  221 , which means that the process has finished moving into the optimal operation range governed by Delta J. Steps  311 ,  313 , and  315  of  FIG. 3  are illustrative. 
         [0071]    For the perturbation signal of a MV, the step size is calculated in such a way that all process constraints are honored or will not make the existing violation even worse (step  313 ). For an integrating CV, the step size calculation at  313  also observes the rate of change of the ramping dynamics. More detailed discussion on how a step size is calculated can be found in Assignee&#39;s U.S. Pat. No. 7,209,793 herein incorporated by reference in its entirety. 
         [0072]    An improvement for step signal calculation has been introduced in the present invention on the basis of the invention in Assignee&#39;s U.S. Pat. No. 7,209,793. The step size calculation of step  313  also honors the allowable tolerance in the operation optimization loss as defined by the Min Cost objective function.  FIG. 5  illustrates this improvement where the shaded area is defined by the process constraints (y 1 , y 2 ) and Delta J, the optimization giveaways tolerance. The perturbation signal is calculated by maximizing the step size subject to the constraints of the shaded area  501 . 
         [0073]    In the case that the current operating point is at a corner, such as the corner point  502  in  FIG. 5 , it is not feasible to just step one MV without violating the constraints. When this happens, the perturbation calculation engine can step multiple MVs simultaneously, such as along the CV active constraint line. For example, if it is a 2 by 2 model matrix and the active constraint is on y 1 , stepping along the CV active constraint line means that u 1  step and u 2  step should satisfy 
         [0000]    
       
         
           
             
               
                 u 
                 1 
               
               
                 u 
                 2 
               
             
             = 
             
               - 
               
                 
                   g 
                   2 
                 
                 
                   g 
                   1 
                 
               
             
           
         
       
     
         [0074]    Where, g 1  and g 2  are the model gains between y 1  and u 1  and y 1  and u 2 , respectively. 
         [0075]    In mathematic form, the step size is calculated by: 
         [0000]      max U   {a}J ( U ({ a}−U*{a })  (8)
 
         [0000]      such that 
         [0000]        J   cost ( U )− J   cost ( U *)≦Delta  J  and (1),(2),(3)
 
         [0076]    Where, J cost  is the Min Cost objective function  222  and {a} denotes a subset of MVs to be stepped. 
       Integrate Nominal Control and Perturbation Move Plan  315   
       [0077]    After the nominal control and perturbation signals are calculated (at  313 ), the two move plans need to be integrated for output. Normally, the signals from the nominal control move plan is zero. If not zero, it means that there is active CV constraint violation and a compensating move is needed; this is because the perturbation move is a static move and it only happens at the time when a step is initiated, while the nominal control move is updated each control cycle. 
       Output Move Plan  317   
       [0078]    At step  317 , the integrated move plan  240  is implemented over a certain number of execution cycles, complied with the dynamic constraint of the process  11 ,  260  and actuators. Normally, a large move needs be divided into multiple smaller moves over a certain time period without upsetting the process operation  260 . If the control signal moves in the opposite direction of the step move, any unfinished step move is suspended. 
         [0079]      FIG. 4  illustrates an alternative MPC controller  23  of the present invention. This embodiment  200  begins with step  303 , calculates a new target using Min Cost target calculation  222  as disclosed above, then step  307  calculates a new target using Min Move target calculation  221  as disclosed above. Next, target selector  230  balances the optimization versus the robustness of the MPC controller  23 . In particular, target selector  230  (at steps  411  and  412 ) determines whether the difference between the Min Cost objective function (Min Cost target calculation  222 ) at the Min Move objective function (Min Move target calculation  221 ) is sufficiently large, i.e., meeting user definable threshold (parameter Delta J). If not, then target selector  230  uses the target settings from Min Cost calculation  222  (at step  412 ). If not, then target selector  230  uses the target settings from the Min Move calculation  221  (step  415 ). MPC controller  23  continues with steps  309 - 317  as described above in  FIG. 3 . 
         [0080]    While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.