Abstract:
A method is presented for adjusting the steady-state gains of a multivariable predictive control, planning or optimization model with uncertainty. The user selects a desired matrix relative gain criteria for the predictive model or sub-model. This is used to calculate a base number. Model gains are extracted from the predictive model and the magnitudes are modified to be rounded number powers of the calculated base number.

Description:
[0001]    This application claims the benefit of U.S. Provisional application 60/839,688 filed Aug. 24, 2006. 
     
     BACKGROUND OF THE INVENTION 
       [0002]    The present invention relates to a method for modifying model gain matrices. In particular, the present invention relates to model predictive process control applications, such as Dynamic Matrix Control (DMC or DMCplus) from Aspen Technology (See e.g. U.S. Pat. No 4,349,869) or RMPCT from Honeywell (See e.g. U.S. Pat. No. 5,351,184). It could also be used in any application that involves using a Linear Program to solve a problem that includes uncertainty (for example, planning and scheduling programs such as Aspen PIMS™). 
         [0003]    Multivariable models are used to predict the relationship between independent variables and dependent variables. For multivariable controller models, the independent variables are manipulated variables that are moved by the controller, and the controlled variables are potential constraints in the process. For multivariable controllers, the models include dynamic and steady-state relationships. 
         [0004]    Most multivariable controllers have some kind of steady-state economic optimization imbedded in the software, using economic criteria along with the steady-state information from the model (model gains). This is a similar problem to planning and scheduling programs, such as Aspen PIMS, that use a linear program (LP) to optimize a process model matrix of gains between independent and dependent variables. 
         [0005]    For process models, there is almost always some amount of uncertainty in the magnitude of the individual model relationships. When combined into a multivariable model, small modeling errors can result in large differences in the control/optimization solution. Skogestad, et al., describes the Bristol Relative Gain Array (RGA) to judge the sensitivity of a controller to model uncertainty. The RGA is a matrix of interaction measures for all possible single-input single-output pairings between the variables considered. He states that large RGA elements (larger than 5 or 10) “indicate that the plant is fundamentally difficult to control due to strong interactions and sensitivity to uncertainty.” For a given square model matrix G, the RGA is a matrix defined by 
         [0000]        RGA ( G )= G× ( G   −1 ) T    
         [0000]    where x denotes element by element multiplication (Schur product). In the general case, the model G can be dynamic transfer functions. For the purposes of explaining this invention we only consider the steady-state behavior of the controller, and the model G is only a matrix of model gains, but the invention not intended to be so limited. 
         [0006]    Two main approaches for dealing with these sensitivity problems (indicated by large RGA elements) are possible. One approach is to explicitly account for model uncertainty in the optimization step (See e.g. U.S. Pat. No. 6,381,505). Another approach is to make small changes to the model, ideally within the range of uncertainty, to improve the RGA elements. The present invention is a process for implementing the second approach. 
         [0007]    Current manual methods for model gain manipulation present some difficulties. Typically the user will focus on individual 2×2 “problem” sub-matrices within the overall larger matrix that have RGA elements above a target threshold. The user can change the gains in a given “problem” sub-matrix to either force collinearity (make the sub-matrix singular) or spread the gains to make the sub-matrix less singular. Applying this process sequentially to all problem sub-matrices is very time-consuming due to the iterative nature of the work process. Depending on the density of the overall matrix, changing one gain in the matrix may affect many 2×2 sub-matrices. In other words, improving (decreasing) the RGA elements for one 2×2 sub-matrix may cause RGA elements in another 2×2 sub-matrix to become worse (increase). Often after one round of repairing problem sub-matrices, sub-matrices which had elements below the target threshold will now have RGA elements above the target value. Additional iterations of gain manipulation need to be done without reversing the fixes from the previous iterations. This often forces the user to make larger magnitude gain changes than desired or necessary. 
         [0008]    It is also possible to automate the manual process described above. A computer algorithm can be written to automate the manual method using a combination of available and custom software. Typically, such a computer program will adjust the gains based on certain criteria to balance the need for accuracy relative to the input model and the extent of improvement in the RGA properties required. Optimization techniques can be employed to achieve this balance. These algorithms are iterative in nature, and can require extensive computing time to arrive at an acceptable solution. They may also be unable to find a solution which satisfies all criteria. 
         [0009]    In practice, the modification of a matrix to improve its RGA properties is often neglected, resulting in relatively unstable behavior in the optimization solution, particularly if a model is being used to optimize a real process and model error is present. 
       SUMMARY OF THE INVENTION 
       [0010]    The current invention is a technique for modifying model gain matrices. Specifically, the technique improves 2×2 sub-matrix Relative Gain Array elements that make up a larger model matrix. The technique involves taking the logarithm of the magnitude of each gain in a 2×2 sub-matrix, rounding it, and then reversing the logarithm to obtain a modified sub-matrix with better RGA properties. The base of the logarithm is adjusted to balance the relative importance of accuracy versus improvement in the RGA properties. As the base of the logarithm is increased, the RGA properties of the sub-matrix are improved but the magnitude of possible change is increased. The entire matrix, or the selected sub-matrix, is modified using the same (or related) logarithm base. This invention may be used for multivariable predictive control applications, such as multivariable predictive control applications selected from the group of DMCplus and RMPCT, among others. The multivariable predictive control may be applied to control manufacturing processes, such as those found in a petroleum refinery, a chemical plant, a power generation plant, including nuclear, gas or coal based, a paper manufacturing plant. Examples of petroleum refinery process units include at least one selected from the group of crude distillation unit, vaccuum distillation unit, naphtha reformer, naphtha hydrotreater, gasoline hydrotreater, kerosene hydrotreater, diesel hydrotreater, gas oil hydrotreater, hydrocracker, delayed coker, Fluid Coker, Flexicoker, steam reformer, sulfur plant, sour water stripper, boiler, water treatment plant and combinations of the above. Additionally, this invention may be used in conjunction with LP models, such as PIMS. 
         [0011]    This invention greatly simplifies the process of modifying a model matrix to improve RGA properties. In general, all elements in the entire matrix are modified on the first iteration, and the resulting matrix is guaranteed to have no single 2×2 sub-matrix RGA element larger than the desired threshold. The invention is ideally suited for implementation via a computer algorithm, and therefore the time required to modify each sub-matrix and the overall matrix can be greatly reduced once the algorithm is generated. 
         [0012]    The present invention includes the following: 
         [0013]    1. The application of a logarithmic rounding technique to modify individual values in a matrix. 
         [0014]    2. The technique for calculating the logarithm base to be used in the rounding process given the desired maximum RGA elements for any 2×2 sub-matrix in the final matrix. 
         [0015]    3. The technique for calculating the logarithm base to be used in the rounding process given the desired maximum percentage change allowed for any value in each sub-matrix or in the overall matrix. 
         [0016]    4. The technique for restoring collinear 2×2 sub-matrices that have been made non-collinear by the logarithmic rounding process. 
         [0017]    5. The technique for forcing 2×2 sub-matrices in the final matrix to be either exactly collinear or non-collinear. These and other features are discussed below. 
     
     
       BRIEF DESCRIPTION OF THE DRAWING 
         [0018]      FIG. 1  is a flow diagram illustrating a simple distillation unit having two independent variables and two controlled variables. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0019]    A detailed description is demonstrated by an example problem. Consider a predictive model with 2 independent variables and 2 dependent variables. The gain matrix represents the interaction between both independent variables and both dependent variables. Table 1 shows an example of a 2×2 model prediction matrix. 
         [0020]    A simple light ends distillation tower can be used as a process example for this problem. In this case, as shown in  FIG. 1 , IND1 is the reboiler steam input, IND2 is the reflux rate, DEP1 is the C5+(pentane and heavier) concentration in the overhead product stream, and DEP2 is the C4−(butane and lighter) concentration in the bottoms product stream. In this example problem, the relative effects on the two product qualities are very similar, from a gain ratio perspective, regardless of which independent variable is manipulated. When reboiler steam is increased, the C5&#39;s in the overhead increase, and the C4&#39;s in the bottoms product decrease. When the reflux rate is increased, the C5&#39;s in the overhead product decrease, but the C4&#39;s in the bottoms product increase. The two independent variables have similar, but opposite, effects on the two dependent variables. 
         [0021]    The gain matrix represents the interaction between both independent variables and both dependent variables. 
         [0000]    
       
         
               
               
               
             
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 DEP1 
                 DEP2 
               
               
                   
                 (% C5+ Ovhd) 
                 (% C4− Btms) 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 IND1 
                 37 
                 −27 
               
               
                   
                 (Reboiler Steam) 
               
               
                   
                 IND2 
                 −30 
                 22 
               
               
                   
                 (Reflux Rate) 
               
               
                   
                   
               
             
          
         
       
     
         [0022]    The formula for Relative Gain Array is: 
         [0000]        RGA ( G )= G ×( G   −1 ) T    (1) 
         [0023]    If the RGA formula is applied to our example 2×2 problem, the result is the 2×2 array: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
             
             
               
                   
                 203.5 
                 −202.5 
               
               
                   
                 −202.5 
                 203.5 
               
               
                   
                   
               
             
          
         
       
     
         [0024]    These RGA elements have a very high magnitude, which is undesirable. If the maximum acceptable RGA element magnitude is chosen to be 18, for example, the following formula can be used to calculate the logarithm base that will be used to modify the matrix. 
         [0000]    
       
         
           
             
               
                 
                   LOGBASE 
                   = 
                   
                     
                       1 
                       
                         [ 
                         
                           1 
                           - 
                           
                             1 
                             MAX_RGA 
                           
                         
                         ] 
                       
                     
                     = 
                     
                       
                         1 
                         
                           [ 
                           
                             1 
                             - 
                             
                               1 
                               18 
                             
                           
                           ] 
                         
                       
                       = 
                       1.0588235 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0025]    For each gain in the original matrix, the logarithm of the absolute value of the number with the base chosen from above (1.0588235 . . . ) is calculated, resulting in the matrix given in Table 3. 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 3 
               
               
                   
                   
               
               
                   
                 DEP1 
                 DEP2 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 IND1 
                 63.17386488 
                 57.66144728 
               
               
                 IND2 
                 59.50475447 
                 54.07852048 
               
               
                   
               
             
          
         
       
     
         [0026]    In the preferred embodiment, each of these numbers is rounded to the nearest integer. The formula provided in equation 2 applies to the case where the rounding desired is to the nearest whole number (integer). In the event that rounding is desired to the nearest single decimal ( 1/10), then multiply the LOGBASE calculated in equation 2 by 10. In the event that rounding is desired to the nearest two decimals ( 1/100), then multiply the LOGBASE calculated in equation 2 by 100. This method is applicable to any degree of decimal precision by simply mutiplying the LOGBASE calculated in equation 2 by the 10 raised to the power corresponding to the number of decimals desired. The resulting integer matrix is shown in Table 4. 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 4 
               
               
                   
                   
               
               
                   
                 DEP1 
                 DEP2 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 IND1 
                 63 
                 58 
               
               
                 IND2 
                 60 
                 54 
               
               
                   
               
             
          
         
       
     
         [0027]    The gains are recalculated by taking the logarithm base from formula (2) to the integer powers shown in TABLE 4. Where the original gain was a negative number, the result is multiplied by −1. Applying these steps results in the modified gain matrix shown in Table 5. 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 5 
               
               
                   
                   
               
               
                   
                 DEP1 
                 DEP2 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 IND1 
                 36.63412093 
                 −27.52756876 
               
               
                 IND2 
                 −30.86135736 
                 21.90148291 
               
               
                   
               
             
          
         
       
     
         [0028]    If the RGA formula is applied to this matrix, the highest RGA element magnitude is equal to our desired maximum value shown in Table 6. 
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE 6 
               
               
                   
                   
               
             
             
               
                   
                 −17 
                 18 
               
               
                   
                 18 
                 −17 
               
               
                   
                   
               
             
          
         
       
     
         [0029]    The matrix modification process was able to do this by making relatively small changes in the original gain matrix. On a relative basis, the amount of gain change in each of the individual responses is shown in Table 7 below. This amount of change is normally well within the range of model accuracy. 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 7 
               
               
                   
                   
               
               
                   
                 DEP1 
                 DEP2 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 IND1 
                 −0.99% 
                 1.95% 
               
               
                 IND2 
                 2.87% 
                 −0.45% 
               
               
                   
               
             
          
         
       
     
         [0030]    In an alternative embodiment, the base logarithm number can be chosen based on the maximum desired gain change, in units of percentage, using the formula (3) below. For the example problem used above, a maximum gain change of approximately 2.9% results in the same logarithm base as chosen above. 
         [0000]    
       
         
           
             
               
                 
                   LOGBASE 
                   = 
                   
                     
                       [ 
                       
                         
                           MAX_CHNG 
                           100 
                         
                         + 
                         1 
                       
                       ] 
                     
                     2 
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0031]    In another alternative embodiment, the logged gains can be rounded to any fixed number of decimals for all matrix elements being operated on. For ease of use, it makes sense to choose a base logarithm where the desired results can be obtained from rounding the logged gains to an integer value. However equivalent results are obtained by rounding to any number of decimals if the base logarithm is adjusted. For example, if the base logarithm in the above example is chosen to be a power of ten greater than before, 
         [0000]      LOGBASE=1.0588235 10 =1.77107   (4) 
         [0000]    an equivalent result will come from rounding the logarithms of the gains to the nearest tenth. 
         [0032]    In another alternative embodiment, the rounded numbers can be chosen to enforce a desired collinearity condition. If the difference between the rounded logarithms of the gains for two independent variables is the same for two different dependent variables, then that 2×2 sub-matrix is collinear. In other words, it is has a rank of one instead of two. The direction of rounding can be chosen to either enforce collinearity, or enforce non-collinearity. If the direction of rounding the logarithms of the gains from Table 3 is chosen to enforce collinearity, the integers could be chosen as shown in Table 8. 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 8 
               
               
                   
                   
               
               
                   
                 DEP1 
                 DEP2 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 IND1 
                 63 
                 58 
               
               
                 IND2 
                 59 
                 54 
               
               
                   
               
             
          
         
       
     
         [0033]    The resulting matrix obtained by recalculating the gains is of rank 1 as shown in Table 9. 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 9 
               
               
                   
                   
               
               
                   
                 DEP1 
                 DEP2 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 IND1 
                 36.63412093 
                 −27.52756876 
               
               
                 IND2 
                 −30.86135736 
                 21.90148291 
               
               
                   
               
             
          
         
       
     
         [0034]    Included in the preferred embodiment is the application of the same algorithm to any gain multiplication factor used inside the predictive model. Often gain multiplication factors are used to modify the model in response to changing conditions. Choosing the gain multiplication factor to be a rounded power of the same base as the model, will guarantee that the gain multiplied model has the same overall RGA characteristics. 
         [0035]    Included in the preferred embodiment is the application of the same algorithm to building block models that are used to construct the final predictive model. Often the final model is the result of some combination of building block models that do not exist in the final application. By applying this same process to these building block models, the final model will have the same RGA characteristics. 
         [0036]    The above description and drawings are only illustrative of preferred embodiments of the present inventions, and are not intended to limit the present inventions thereto. Any subject matter or modification thereof which comes within the spirit and scope of the following claims is to be considered part of the present inventions.