Abstract:
A fast and reliable technique for tuning multivariable model predictive controllers (MPCs) that accounts for performance and robustness is provided. Specifically, the technique automatically yields tuning weights for the MPC based on performance and robustness requirements. The tuning weights are parameters of closed-loop transfer functions which are directly linked to performance and robustness requirements. Automatically searching the tuning parameters in their proper ranges assures that the controller is optimal and robust. This technique will deliver the traditional requirements of stability, performance and robustness, while at the same time enabling users to design their closed-loop behavior in terms of the physical domain. The method permits the user to favor one measurement over another, or to use one actuator more than another.

Description:
FIELD OF THE INVENTION 
   The present invention generally relates to techniques for monitoring and controlling multivariable systems and more specifically to techniques for automatically tuning multivariable model predictive controllers (MPCs) which take into account performance and robustness requirements. 
   BACKGROUND OF THE INVENTION 
   In MPC applications, there is a set of tuning parameters used to tune the closed-loop response for acceptable performance. Multivariable MPCs have many applications including controlling paper machine processes. Suitable paper machine processes where paper is continuously manufactured from wet stock are further described, for instance, in U.S. Pat. No. 6,805,899 to MacHattie et al., U.S. Pat. No. 6,466,839 to Heaven et al., U.S. Pat. No. 6,149,770, to Hu et al., U.S. Pat. No. 6,092,003 to Hagart-Alexander et al, U.S. Pat. No. 6,080,278 to Heaven et al., U.S. Pat. No. 6,059,931 to Hu et al., U.S. Pat. No. 5,853,543 to Hu et al., and U.S. Pat. No. 5,892,679 to He, which are all assigned to Honeywell International, Inc. and are incorporated herein by reference. 
   The typical procedure for implementing an MPC control system which is shown in  FIG. 1  begins with identifying the process model. For papermaking process, this can be accomplished with bump tests. A multivariable MPC usually has a group of tuning parameters, such as prediction horizon, control horizon and weights. Typically, these parameters are adjusted via a trial and error procedure depicted as steps  2  through  6  in  FIG. 1 . This trial and error procedure requires a large amount of simulations based on some tuning guidelines. This cumbersome tuning procedure usually takes a lot of time especially for tuning a multivariable MPC, due to the overlapping effect of the tuning parameters and multiple interactive responses between the inputs and outputs. In addition, this traditional tuning procedure usually does not consider the evitable process/model mismatch. Further, if a process model is ill-conditioned, the tuning task can be very challenging, as the closed-loop system can be easily unstable and the actuators are very likely to become saturated with a typical MPC design. Another practical issue with prior art tuning methods is that there is no indication whether the controller is robustly stable for inevitable model uncertainties. 
   In control engineering, many requirements are often defined via the singular value decomposition and in the frequency domain, where the necessary requirements of nominal stability, robust stability, and nominal performance are often defined. On the other hand, there are additional practical closed-loop requirements that are typically specified in the physical domain. In multivariable control these physical requirements can include the specification of the relative importance of the measured variables or a specification on the relative usage of actuators. With current tuning techniques, there is no assurance that the controller&#39;s performance and robustness. The controller may be too conservative and work sub-optimally or too aggressive for multivariable systems. There is a need for a consistent automated tuning method for multivariable MPC that is readily implemented and achieves good controller performance and robustness. 
   In R. Shridhar and D. J. Cooper, “A tuning strategy for unconstrained multivariable model predictive control,”  Industrial  &amp;  Engineering Chemistry  &amp;  Research , vol. 37, no. 10, pp 4003-4016, 1998 and D. Dougherty and D. J. Cooper, “Tuning guidelines of a dynamic matrix controller for integrating (non-self-regulating) processes,”  Industrial  &amp;  Engineering Chemistry  &amp;  Research , vol. 42, no. 8, pp 1739-1752, 2003, the authors proposed some tuning guidelines for multivariable dynamic matrix controllers. In K. Y. Rani and H. Unbehauen, “Study of predictive controller tuning methods,”  Automatica , vol. 33, no 12, pp 2243-2248, 1997, the authors proposed tuning procedures for predictive controllers that are based on some tuning rules and closed-loop simulations. In J. H. Lee and Z. Yu, “Tuning of model predictive controllers for robust performance,”  Computers  &amp;  Chemical Engineering , vol. 18, no. 1, pp. 15-37, 1994, tuning rules based on the frequency-domain analysis of the closed-loop behavior of MPC controllers are presented. In A. Al-Ghazzawi, et al., “On-line tuning strategy for model predictive controllers,”  Journal of Process Control , vol. 11, no. 3, pp. 265-284, 2001, an on-line tuning strategy for linear model predictive control algorithms is proposed based on the linear approximation between the closed-loop predicted output and the MPC tuning parameters. J. Trierweiler and L. A. Farina, “RPN tuning strategy for model predictive control,”  Journal of Process Control , vol. 13, no. 7, pp. 591-598, 2003, presented a tuning strategy based on robust performance number for multiple-input multiple-output (MIMO) MPC. However these are not automatic tuning techniques considering both performance and robust stability. 
   SUMMARY OF THE INVENTION 
   The present invention is directed to a fast and reliable technique, for automatic tuning multivariable model predictive controllers, which takes into consideration performance and robustness. Specifically, an aspect of the inventive tuning technique is that it automatically yields tuning weights for the MPC based on performance and robustness requirements. The tuning weights are parameters of closed-loop transfer functions which are directly linked to performance and robustness requirements. Automatically searching the tuning parameters in their proper ranges assures that the controller is optimal and robust. The inventive technique will deliver the traditional requirements of stability, performance and robustness, while at the same time enabling users to design their closed-loop behavior in terms of the physical domain. The method permits the user to favor one measurement (also known as controlled variable or CV) over another, or to use one actuator (also known as manipulated variable or MV) more than another. 
   In one embodiment, the invention is directed to a method of automatically tuning a multivariable model predictive controller (MPC) for a multivariable process whose behavior is based on a process model that contains model uncertainty wherein the MPC provides future predictions of multivariable process properties by solving an objection function that employs tuning weights, the method comprising designing tuning weights while respecting the robust stability condition where the model uncertainty is of a type that is other than additive unstructured uncertainty, such as multiplicative uncertainty. 
   In another embodiment, the invention is directed to a method of automatically tuning a multivariable model predictive controller (MPC) for a multivariable process that includes the steps of: 
   (a) identifying a process model for the multivariable process; 
   (b) calculating closed-loop transfer functions for performance and robustness as functions of tuning parameters for the MPC wherein the process model is used to calculate the closed-loop transfer functions or gain functions; 
   (c) identifying at least one performance requirement for the MPC and transforming the at least one performance requirement into constraints on frequency responses of the closed-loop transfer functions or gain functions; 
   (d) identifying at least one robustness requirement for the MPC and transforming the at least one robustness requirement into constraints on frequency responses of the closed-loop transfer functions or gain functions; and 
   (e) determining optimal tuning parameters with respect to performance and robustness. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a prior art procedure for implementation of an MPC; 
       FIG. 2  is a block diagram showing a current tuning method for an MPC using a trial and error method; 
       FIG. 3  is a block diagram showing an automated tuning method for an MPC; 
       FIG. 4  is block diagram of a closed-loop control system with unconstrained MPC and unstructured additive model uncertainty; 
       FIG. 5  is an automated tuning procedure for an MPC system; and 
       FIGS. 6A and 6B  are graphs that illustrate how changing the tuning weight Λ affects the closed-loop transfer functions. 
   

   DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     FIG. 2  is a block diagram of an exemplary closed-loop control system in which the present invention may be utilized. In general, the plant  10  is controlled by the MPC  12  that takes measurements as inputs and generates outputs (actuator set points or positions). Target output properties or reference signals y sp  are selected by the operator. As further described herein, the MPC has an object function in the form of a quadratic programming problem wherein the tuning parameters are matrices. In the prior art tuning process for the MPC, a group of tuning parameters are initially selected and manually set. Thereafter, a closed-loop simulation is executed and the results are analyzed. If the results are not satisfactory, this trial and error procedure is repeated using a new set of tuning parameters until the simulation yields the desired results. This prior art procedure typically does not adequately account for model uncertainty and is very dependent on the particular disturbances or inputs selected. 
     FIG. 3  is a block diagram of a closed-loop control system that incorporates the inventive automated MPC tuner  14  for the MPC  12 . The inventive method can automatically tune any suitable multivariable model predictive controller. MPCs are described, for example, in U.S. Pat. No. 5,351,184 to Lu, U.S. Pat. No. 5,561,599 to Lu, U.S. Pat. No. 5,574,638 to Lu, U.S. Pat. No. 5,572,420 to Lu et al., U.S. Pat. No. 6,807,510 to Backstrom and He, which are all incorporated herein by reference. 
   The automated MPC tuner  14  can output the optimal tuning parameters based on the identified model and performance and robustness requirements. For papermaking processes (plant  10 ), preferred techniques for implementing the model identification tool to identify the process model are to perform standard bump tests and model identification steps that are described, for example, in U.S. Pat. No. 6,086,237 to Gorinevsky and Heaven, which is incorporated herein by reference. Using the process model, easily adjustable tuning parameters can be automatically searched within possible pre-calculated ranges. The tuning parameters that are determined are then loaded to the MPC that controls the papermaking process. The inventive method assures that the controller is optimal and robust, that is, the control system can operate consistently under a variety of operating conditions. The design the automated MPC tuner  14  is described in detail as follows. 
   An MPC has multiple outputs, which are also the input variables u of the plant or target system, defined as 
   
     
       
         
           
             
               
                 
                   
                     u 
                     ⁡ 
                     
                       ( 
                       k 
                       ) 
                     
                   
                   = 
                   
                     [ 
                     
                       
                         
                           
                             
                               u 
                               1 
                             
                             ⁡ 
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                       
                       
                         
                           
                             
                               u 
                               2 
                             
                             ⁡ 
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                       
                       
                         
                           ⋮ 
                         
                       
                       
                         
                           
                             
                               u 
                               m 
                             
                             ⁡ 
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                       
                     
                     ] 
                   
                 
                 , 
               
             
             
               
                 ( 
                 1 
                 ) 
               
             
           
         
       
     
   
   where u(k) at each discrete time, k=0, 1, 2, . . . 
   The output variables of the plant are defined as: 
   
     
       
         
           
             
               
                 
                   
                     y 
                     ⁡ 
                     
                       ( 
                       k 
                       ) 
                     
                   
                   = 
                   
                     [ 
                     
                       
                         
                           
                             
                               y 
                               1 
                             
                             ⁡ 
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                       
                       
                         
                           
                             
                               y 
                               2 
                             
                             ⁡ 
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                       
                       
                         
                           ⋮ 
                         
                       
                       
                         
                           
                             
                               y 
                               n 
                             
                             ⁡ 
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                       
                     
                     ] 
                   
                 
                 , 
               
             
             
               
                 ( 
                 2 
                 ) 
               
             
           
         
       
     
   
   where y(k) at each discrete time, k=0, 1, 2, . . . Therefore, the plant is a dynamic process G(z) having m input (or manipulated) variables and n controlled output variables, 
   
     
       
         
           
             
               
                 
                   
                     G 
                     ⁡ 
                     
                       ( 
                       z 
                       ) 
                     
                   
                   = 
                   
                     [ 
                     
                       
                         
                           
                             
                               g 
                               11 
                             
                             ⁡ 
                             
                               ( 
                               z 
                               ) 
                             
                           
                         
                         
                           … 
                         
                         
                           
                             
                               g 
                               
                                 1 
                                 ⁢ 
                                 m 
                               
                             
                             ⁡ 
                             
                               ( 
                               z 
                               ) 
                             
                           
                         
                       
                       
                         
                           ⋮ 
                         
                         
                           ⋰ 
                         
                         
                           ⋮ 
                         
                       
                       
                         
                           
                             
                               g 
                               
                                 n 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 1 
                               
                             
                             ⁡ 
                             
                               ( 
                               z 
                               ) 
                             
                           
                         
                         
                           … 
                         
                         
                           
                             
                               g 
                               nm 
                             
                             ⁡ 
                             
                               ( 
                               z 
                               ) 
                             
                           
                         
                       
                     
                     ] 
                   
                 
                 , 
               
             
             
               
                 ( 
                 3 
                 ) 
               
             
           
         
       
     
   
   where g ij (z) is a sub-process model. 
   In order to develop the inventive tuning algorithm, the inputs, outputs, and the process model G(z) in (3) are preferably scaled. After proper pre-processing, scaling can be accomplished by standard techniques which are described in, for example, U.S. Pat. No. 5,574,638 to Lu and assigned to Honeywell International, Inc, which is incorporated herein by reference. 
   The MPC  12  in  FIG. 3  is designed with the following preferred quadratic programming (QP) problem: 
   
     
       
         
           
             
               
                 
                   
                     min 
                     
                       
                         Δ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           u 
                           ⁡ 
                           
                             ( 
                             k 
                             ) 
                           
                         
                       
                       , 
                       ⋯ 
                       ⁢ 
                       
                           
                       
                       , 
                       
                         Δ 
                         ⁡ 
                         
                           ( 
                           
                             k 
                             + 
                             
                               H 
                               c 
                             
                             - 
                             1 
                           
                           ) 
                         
                       
                     
                   
                   ⁢ 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       
                         H 
                         P 
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                          
                         
                           
                             
                               y 
                               ^ 
                             
                             ⁡ 
                             
                               ( 
                               
                                 k 
                                 + 
                                 i 
                               
                               ) 
                             
                           
                           - 
                           
                             
                               y 
                               sp 
                             
                             ⁡ 
                             
                               ( 
                               
                                 k 
                                 + 
                                 i 
                               
                               ) 
                             
                           
                         
                          
                       
                       Γ 
                       2 
                     
                   
                 
                 + 
                 
                   
                     ∑ 
                     
                       j 
                       = 
                       0 
                     
                     
                       
                         H 
                         c 
                       
                       - 
                       1 
                     
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                        
                       
                         Δ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           u 
                           ⁡ 
                           
                             ( 
                             
                               k 
                               + 
                               j 
                             
                             ) 
                           
                         
                       
                        
                     
                     Λ 
                     2 
                   
                 
                 + 
                 
                   
                      
                     
                       
                         u 
                         ⁡ 
                         
                           ( 
                           
                             k 
                             + 
                             j 
                           
                           ) 
                         
                       
                       - 
                       
                         
                           u 
                           sp 
                         
                         ⁡ 
                         
                           ( 
                           
                             k 
                             + 
                             j 
                           
                           ) 
                         
                       
                     
                      
                   
                   Φ 
                   2 
                 
               
             
             
               
                 ( 
                 4 
                 ) 
               
             
           
         
       
     
   
   subject to:
 
 AΔu ( k )&lt; b−Cu ( k− 1)  (5)
 
 y ( k )= G ( q ) u ( k )+ d ( k )  (6)
 
   where y sp  is the reference signals, and u sp  is the desired actuator positions, H p  and H c  are the prediction horizon and control horizon, respectively, ∥x∥ Γ   2  denotes the weighted Euclidean norm of x defined as ∥x∥ Γ   2 =x T Γx; Δu(k)=(1−q −1 )u(k)=u(k)−u(k−1), where q is the shift operator; the weights Γ, Λ, and Φ are positive semi-definite matrices (often diagonal) that are defined as:
 
Γ=diag(γ 1 ,γ 2 , . . . ,γ n ),  (7)
 
Λ=diag(λ 1 ,λ 2 , . . . ,λ m ),  (8)
 
Φ=diag(φ 1 ,φ 2 , . . . ,φ m ).  (9)
 
   In this embodiment, diagonal matrices for Γ, Λ, and Φ are employed for illustrative purposes; it is understood that the inventive technique can also cover non-diagonal, positive semi-definite matrices. The weight matrix Φ prevents the closed-loop system from becoming unstable when the plant G(z) is ill-conditioned and there is a mismatch between the process and the model. This will be described further below. 
   There is an inevitable level of model uncertainty associated with identifying a process. With the present invention, the true process model can be assumed to be a set of possible models which is employed in the closed-loop control system with an MPC  12  and unstructured additive model uncertainty Δ(z). The set of possible models are described by 
                       G   p     ⁡     (   z   )       ∈     ∏       :     ⁢     =     {         G   ⁡     (   z   )       +       Δ   ⁡     (   z   )       ⁢     :     ⁢       max     ∀   ω       ⁢       σ   _     ⁡     (     Δ   ⁡     (     ⅇ   jω     )       )             ≤   β     }             ,           (   10   )               
where  σ  denotes the maximum singular value, z=e jω  and the symbol ω represents the dynamical frequency, the symbol ‘∀ω’ means for all the frequencies.
 
   Typically, the prediction horizon H p  and control horizon H c  can be predetermined based on the process dynamics following known guidelines that are available in the published literature (See, e.g., R. Shidhar and D. J. Cooper&#39;s Ind. Eng. Chem. Res. 1998, No. 37, p. 4003-4016). For example, the prediction horizon H p  should be equal to or close to the open-loop settling time of the slowest sub-process g ij /z) in (3) in samples, and the control horizon H c  is typically selected as 60% time in samples of the slowest sub-process to reach steady-state. Therefore, the weights Γ, Λ, and Φ in (4) are used to tune MPC for satisfying the following three closed-loop requirements: 
   (1) disturbance rejection requirement; 
   (2) set point tracking requirement; and (3) the closed-loop system given by (4) -(6) is stable in the face of model uncertainty Δ(z) in (10). 
   Given that actuators are designed to operate within their ranges for most of the time, the MPC  12  is preferably approximated as a linear unconstrained controller.  FIG. 4  is a block diagram of the closed-loop system with an unconstrained MPC  16  and a plant model  18  with additive model uncertainty Δ(z) in (10). The closed-loop transfer functions employed in  FIG. 4  can be calculated to satisfy the above three closed-loop requirements as follows:
 
 S ( z )=( I+G ( z ) K ( z )) −1 ,  (11)
 
 T ( z )=( I+G ( z ) K ( z )) −1   G ( z ) K ( z ) K   r ,  (12)
 
 R ( z )=− K ( z )( I+G ( z ) K ( z )) −1 ,  (13)
 
where S(z) is the sensitivity function linking the disturbances d (which has the same dimensions as that of y in (2)) and the outputs y, T(z) is the closed-loop transfer function linking the targets y sp  and the outputs y, and R(z) is the control sensitivity function linking the disturbances d and the actuators u. Calculating the constant prefilter matrix K r  and complex transfer matrix K(z) for an unconstrained MPC in  FIG. 4  is straightforward. (See, e.g., J. M. Maciejowski, Predictive Control with Constraints, Pearson Education, 2001). K(z) has the following format:
 
                   K   ⁡     (   z   )       =       [             k   11     ⁡     (   z   )           …           k     1   ⁢   n       ⁡     (   z   )               ⋮       ⋰       ⋮               k     m   ⁢           ⁢   1       ⁡     (   z   )           …           k   mn     ⁡     (   z   )             ]     .             (   14   )               
Note that the closed-loop transfer functions S(z), T(z), and R(z) are functions of the tuning parameters Γ, Γ, and Φ in (4).
 
   Due to the multiple inputs and outputs characteristic, the above closed-loop transfer functions can be very complex. In order to simplify the relationship between the inputs and outputs, it is preferred to use the following combined gain functions to replace the above closed-loop functions for evaluating the performance and robustness of the controller: 
                       s   ⁡     (   ω   )       ⁡     [                    S   ⁡     (     ⅇ   jω     )       ⁢     |     1   ⁢   st   ⁢           ⁢   row              2                        S   ⁡     (     ⅇ   jω     )       ⁢     |     2   ⁢   nd   ⁢           ⁢   row              2             ⋮                      S   ⁡     (     ⅇ   jω     )       ⁢     |       n   th     ⁢           ⁢   row              2           ]       ∈     R     n   ×   1         ,           (   15   )                     t   ⁡     (   ω   )       ⁡     [                    T   ⁡     (     ⅇ   jω     )       ⁢     |     1   ⁢   st   ⁢           ⁢   row              2                        T   ⁡     (     ⅇ   jω     )       ⁢     |     2   ⁢   nd   ⁢           ⁢   row              2             ⋮                      T   ⁡     (     ⅇ   jω     )       ⁢     |       n   th     ⁢           ⁢   row              2           ]       ∈     R     n   ×   1         ,           (   16   )                     r   ⁡     (   ω   )       ⁡     [                    R   ⁡     (     ⅇ   jω     )       ⁢     |     1   ⁢   st   ⁢           ⁢   row              2                        R   ⁡     (     ⅇ   jω     )       ⁢     |     2   ⁢   nd   ⁢           ⁢   row              2             ⋮                      R   ⁡     (     ⅇ   jω     )       ⁢     |       n   th     ⁢           ⁢   row              2           ]       ∈     R     n   ×   1         ,           (   17   )               
where ∥A ith row ∥ 2  denotes the vector 2-norm (Euclidean norm) of the i th  row vector of matrix A. The reason for selecting the Euclidean norm is that it allows for summing up all channels. Practical control loop specifications are often applied to each measurement and each actuator. For example, the first row (a scalar) of the combined “sensitivity function” s(ω) in (15) reflects the gain between the disturbances from all channels (i.e., d 1  to d n ) and the first output y 1 . The target peaks (the absolute maximum elements) of the above gain functions s(ω), t(ω), and r(ω) are defined as M s , M t , and M r , respectively and the typical ranges for M s , M t , and M r  are 1.3˜1.8, 1.2˜1.6, and 0.6˜1.6, respectively. For example, M s =1.3 denotes up to 30% overshoot for any controlled variables at any frequency.
 
   Based on the robust control theory, the closed-loop system in  FIG. 4  is robustly stable for all plants G p (z) in (10) if it is nominally stable and satisfies the following condition: 
                       max     ∀   ω       ⁢       σ   _     ⁡     (     R   ⁡     (     ⅇ   jω     )       )         =                R   ⁡     (   z   )            ∞     &lt;     1   β     ≤     1            Δ   ⁡     (   z   )            ∞         =     1       max     ∀   ω       ⁢       σ   _     ⁡     (     Δ   ⁡     (     ⅇ   jω     )       )               ,           (   18   )               
where ∥R∥ ∞  denotes the H-infinity (H ∞ ) norm which is equal to the maximum singular value of the control sensitivity function R(z) in (13), β is form (10).
 
   Automatic Tuning 
   The tuning objective is to find the weights Γ, Λ, and Φ in (4) such that the maximum peaks of the combined gain functions s(ω), t(ω), and r(ω) in (15) -(17) are equal, or have values that are as close as possible to their targets M s , M t , and M r , respectively, subject to the robust stability condition (18). 
   The number of degrees of freedom in the selection of tuning parameters in (4) can be reduced by noting that, without loss of generality, the diagonal matrix Γ in (4) may be fixed and the closed-loop performance may be modified via the diagonal matrices Λ and Φ. Typically, the diagonal weight matrix Φ (penalizing U(k)−U sp (k)) significantly influences the steady-state performance. In light of this, the tuning problem can be separated into two stages: Tuning Φ first with the assumption that Λ=0 and then tuning A second with a known 
     FIG. 5  shows the general preferred steps of the tuning strategy which includes (i) forming the process model (step  21 ), (ii) transforming the performance and robustness requirements (step  22 ), (iii) calculating the closed-loop transfer functions (step  23 ), (iv) calculating the possible ranges of the tuning parameters (step  24 ), (v) searching the tuning parameters in the pre-calculating range (step  25 ), and (vi) obtaining the output of the tuning parameters (step  26 ). It should be noted that the inventive technique is not limited by the sequence that the steps are accomplished. 
   In practical it is preferred that the automatic MPC tuner be equipped with tuning knobs for the freedom of changing the controller&#39;s performance. It is not necessary to change the tuning knobs unless the user has special requirements on the controlled variables and manipulated variables, because the automatic tuning algorithm will provide good balanced performance. The term “balanced performance” is meant that the relative weights for all controlled variables and for all the manipulated variables are “ones”. 
   Step 1: Tuning Φ 
   In order to simplify the automatic tuning process and reduce the computation, a common weight ρ is used for the weight Φ. The user is free to set the relative weights as described below,
 
Φ=ρ·Φ t   =ρ·diag (φ 1   1 ,φ 2   1 , . . . ,φ m   1 ),  (19)
 
where φ j   i  with j=1 to m is the user-defined relative weights. From the previous discussion, the measurement weights are fixed except that the user-defined relative weights (representing the relative importance of controlled variables),
 
Γ=Γ t =diag(γ 1   t ,γ 2   t , . . . ,γ n   t ).  (20)
 
   It is known from above that the control sensitivity function R(z) is a function of ρ. It is evident that from (4) and (19) ρ=0 is the most aggressive tuning number as the controller will not penalize the actuators away from its desired target positions. It is also not difficult to find a large enough number for ρ such that 
                       σ   _     ⁡     (       R   ⁡     (   1   )       ⁢     |   ρ       )       &lt;     1   β       ,       for   ⁢           ⁢   all   ⁢           ⁢   ρ     &gt;     ρ   max       ,           (   21   )               
where β represents the bound value of the model uncertainty defined in (10).
 
   After the range of ρ is known, the common weight ρ for Φ can be solved by
 
min ρ  (22)
 
subject to: ρε[0,ρ max ],  (23)
 
                     σ   _     ⁡     (     R   ⁡     (   1   )       )       &lt;       1   β     .             (   24   )               
Note that for a well-conditioned system G(z), it is very likely that the common weight ρ could be zero if the minimum singular value of the system  σ (G(1))&gt;β, as R(1)=G(1) −1  when ρ=0.
 
   Step 2: Tuning Λ 
   The desired peaks M s  and M t  of the combined gain functions s(ω) and t(ω) in (15)-(16) can be translated from the disturbance rejection and set point tracking requirements. The user is free to change these two peaks based on the performance requirements. In order to obtain realistic actuation, another peak limit M r  is set up for the combined control sensitivity function r(ω) in (17). 
   Similarly, a common penalty weight α is used for the weight matrix Λ as follows,
 
Λ=α·Λ t =α·diag(λ 1   t ,λ 2   t , . . . ,λ m   t ),  (25)
 
   where λ j   t  with j=1 to m is the user-defined relative weights based on special requirements for particular manipulated variables. 
   From (4) and (25), the most aggressive number for α is α=0. The most robust number is to find α max  such that 
                            s   ⁡     (   ω   )            max     ≤   κ     ,           (   26   )                     σ   _     ⁡     (       R   ⁡     (     ⅇ   jω     )       ⁢     |   α       )       &lt;     1   β       ,       for   ⁢           ⁢   all   ⁢           ⁢   α     &gt;     α   max       ,           (   27   )               
where |s(ω)| max  denotes the maximum element or the largest peak of s(ω), κ is a lower bound of the largest allowable peak of the combined sensitivity function s(ω) in (15) designed for the most conservative (robust) controller and typically κ is much smaller than the target peak M s  of s(ω).
 
   After solving α max , the tuning goal for Λ is to find α such that 
                   max     ∀   ω       ⁢     (       min     ω   ⁡     (   k   )         ⁢   α     )             (   28   )                   subject   ⁢           ⁢   to   ⁢     :     ⁢           ⁢   α     ∈     (     0   ,     α   max       ]       ,           (   29   )                     σ   _     ⁡     (     R   ⁡     (     ⅇ   jω     )       )       &lt;     1   β       ,     ∀   ω     ,           (   30   )                     max     ∀   ω       ⁢     (            s   ⁡     (     ω   ⁡     (   k   )       )            max     )       ≤     M   s       ,           (   31   )                     max     ∀   ω       ⁢     (            t   ⁡     (     ω   ⁡     (   k   )       )            max     )       ≤     M   t       ,           (   32   )                     max     ∀   ω       ⁢     (            r   ⁡     (     ω   ⁡     (   k   )       )            max     )       ≤     M   r       ,           (   33   )               
where ω(k) are k max  logarithmically or linearly equally spaced points form 0 to the Nyquist frequency, |α| max  denotes the maximum element of the vector α, the right hand sides of (31), (32), (33) are to calculate the largest peaks of s(ω), t(ω), r(ω) in (15), (16), and (17) respectively.
 
   The effect of changing one of the tuning parameters Λ in (4) on the closed-loop functions was demonstrated. Specifically,  FIGS. 6A and 6B  show the effects of changing Λ in the quadratic programming problem (4) on the combined sensitivity function s(ω) in (15) ( FIG. 6A ) and the combined control sensitivity function r(ω) (17). As shown in  FIG. 6A , decreasing the common weight α of Λ in (25) affects the shape and peak of combined sensitivity function which represent the controller&#39;s performance. As shown in  FIG. 6B , decreasing the common weight α of Λ impacts the combined control sensitivity function which can be used to evaluate the controller&#39;s robustness through the robust stability condition (18) and limit the actuation without being over the target M r . 
   The foregoing has described the principles, preferred embodiment and modes of operation of the present invention. However, the invention should not be construed as limited to the particular embodiments discussed. Instead, the above-described embodiments should be regarded as illustrative rather than restrictive, and it should be appreciated that variations may be made in those embodiments by workers skilled in the art without departing from the scope of present invention as defined by the following claims.