1. Field of the Invention
This invention relates to control systems and, more particularly, to methods of driving dynamic and steady-state behavior of a process toward more optimum operating conditions.
2. Discussion of Related Art
Multivariable predictive control algorithms, such as DMCplus™ from AspenTech® of Aspen Technologies, Inc. or RMPCT from Honeywell International Inc., are a combination of calculations to drive the dynamic and steady-state behavior of a process toward a more optimum operating condition. The steady-state algorithm used in the control scheme is most commonly a linear program (LP), but sometimes is a quadratic program (QP). For small problems, understanding the LP or QP solution is relatively simple. Two-dimensional problems can be visualized on a paper and demonstrated to an operator to gain understanding of the process. With some detailed modeling background, engineers and well trained operators can understand medium-sized problems (less than 10 dimensions). However, larger, more interactive problems, often require offline simulation. This can take a significant amount of time to understand, even qualitatively.
Typically, an operator of a multivariable predictive controller (MPC) can observe current constraints and may have access to an open loop model of the process. However, to fully understand the constraint set relief, the operator would need a detailed understanding of the process model and the ability to trace independent and dependent relationships through the model. For that, an offline simulation or analysis tool is required. Otherwise, the operator cannot know how much to change a constraint or which constraint is the next to become active.
One concept for an offline simulation uses a matrix pivot in which unconstrained manipulated variables (MVs) are swapped with constrained controlled variables (CV). The constraints become “independents,” and the unconstrained variables become “dependents.” The matrix pivot can be symbolized as follows:
However, this approach does not provide quantitative answers as to how much any operator change will affect the controller solution.
There is a need for a simple utility that can analyze past or current dynamic matrix control (DMC) solutions of any-sized problem, in real-time, to provide an operator meaningful, quantitative instructions for DMC controller constraint relief.
Aspects of embodiments of the invention relate to a method to analyze and describe a solution from an MPC that can provide quantitative input to an operator regarding the effect of changing controller limits in an MPC solution.
Another aspect of embodiments of the invention relates to using the method to provide information that is immediately available, accessible, and understood by operators of the control system.
This invention is directed to a method of analyzing a solution from a multivariable predictive controller, comprising obtaining a solution from a multivariable predictive controller having a steady-state optimizer that results in different variable constraint statuses, wherein the solution includes controlled variables that are predicted from manipulated variables, and operating on the solution to obtain a relationship between constrained variables and unconstrained variables to determine how unconstrained variables respond to changes in constrained variables. The solution can be represented in a matrix.
The invention is also directed to a method of operating a control system for use with a process facility, comprising extracting a raw gain matrix from a base model file, including manipulated variables and controlled variables related to the process, based on a steady-state response between the manipulated variables and the controlled variables. The manipulated variables and controlled variables are classified by an active constraint condition, wherein the classification is based on constrained, unconstrained or violated conditions. The amount of possible movement for each variable is calculated based on the active constraint condition classification. The order of the gain matrix is changed based on the active constraint condition to obtain a model matrix representative of an optimization solution. A result matrix is formed by pivoting the constrained controlled variables with the unconstrained manipulated variables in the model matrix to form the result matrix. The result matrix and the amount of possible movement are used to calculate the response of the unconstrained variables to changes in the constrained variables.
The invention is also directed to a control system for use with a process, comprising a storage device that stores a base model file including manipulated variables and controlled variables related to the process, and a controller associated with the storage device that extracts a raw gain matrix from the base model file based on a steady-state response between the manipulated variables and the controlled variables. The controller uses an optimization solution to describe how unconstrained variables respond to changes in constrained variables by classifying the manipulated variables and controlled variables by an active constraint condition, wherein the classification is based on constrained, unconstrained or violated conditions, calculating the amount of possible movement for each variable based on the active constraint condition classification, changing the order of the gain matrix based on the active constraint condition to obtain a model matrix representative of an optimization solution, predicting controlled variables from the manipulated variables using the model matrix, forming a result matrix by pivoting the constrained controlled variables with the unconstrained manipulated variables in the model matrix to form the result matrix, and using the result matrix and the amount of possible movement to calculate the response of the unconstrained variables to changes in the constrained variables.
These and other aspects of the invention will become apparent when taken in conjunction with the detailed description and appended drawings.
The invention will now be described in conjunction with the accompanying drawings in which:
A preferred embodiment of this invention described herein is directed to a dynamic matrix controller (DMC). However, the invention is intended to apply more broadly to multivariable predictive controllers (MPC) in general and to control schemes in which it is desirable to optimize process limits in various applications.
The term operator used herein is intended to refer to any end user. For example, an end user could be an operator, a process engineer, a shift lead, a control engineer, or a manager.
To demonstrate the basic functionality of the invention, a simple problem is addressed. In the simplest form, a constraint sensitivity analysis tool for a DMC controller is provided with no transforms, no ramps, and no minimum move MVs. The basic functions include a constrained variable analysis, which determines how much a constraint can be moved before the next constraint becomes active, and identifies the next constraint. An unconstrained variable analysis is also accomplished, which determines which constraints are causing the controller to move some unconstrained variable (e.g., feed) down (or up) and determines the sensitivity (closed-loop gain) of all active constraints to this variable. An infeasibility analysis is accomplished, which determines which constraint variable(s) can be moved and by how much in order to make the solution become feasible. A test or Excel-based interface will work for analysis results. A graphic user interface (GUI) is effective.
To increase the ability to analyze more complex problems, auto-recognition and calculation of MV and CV transforms are provided and the results are incorporated into the analysis. Additionally, the following capabilities are enabled: the ability to recognize and handle min-move MVs, the ability to recognize and handle ramp variables and ramp-linked relationships, economic prioritization of available constraint-relief mechanism, the ability to handle external targets, the ability to analyze infeasibilities by priority classification, the ability to express the solution with a graphical depiction of loop pairing (unconstrained MV v. constrained CV), and the ability to step through sequential solutions from historical data. This technique will work with composite applications, where one optimization function is used for multiple combined controllers. A GUI and hypertext markup language (HTML) interface is possible.
At the highest level, the tool will also provide the ability to recognize and explain QP objective function, provide the ability to analyze multiple rank groups for relief of infeasibilities, and recognize and incorporate active gain multiplication factors. A link could also be provided to commercial databases, such as AspenWatch from AspenTech® or Process History Database (PHD) from Honeywell International Inc.
More particularly, referring the flow chart of
An example of the steady-state response between MVs and CVs in a 4MV X 7 CV matrix is shown below.
The target value and constraint status of all variables are read in, and the variables are classified as either constrained or unconstrained. Violated variables are classified as unconstrained and inactive manipulated variables are classified as constrained. The data should be consistent, i.e., all from the same execution cycle. The status can be read from a file or from a computer database. The data can be from current or historical controller executions.
For each variable, the allowable steady-state move (AM) is calculated in each direction until the next constraint is reached. This calculation is accomplished for all variables. The calculation varies based on the type of active constraint indication.
For unconstrained variables, the delta represents the change until the variable hits a constraint. For example, an unconstrained variable is between the operator high and operator low limits. The allowable move up (AM up) equals the operator high limit (OPHIGH) minus the steady-state target. This can be represented by:
AM up=OPHIGH−Steady-State Target.
The allowable move down (AM down) equals the steady-state target minus the operator low limit (OPLO). This can be represented by:
AM down=Steady-State Target−OPLO.
For violated variables, the delta is calculated as the amount of change until the variable becomes feasible. For example, if the variable exceeds the operator high limit,
AM down=Steady-State Target−OPHIGH.
For constrained variables, the delta represents the change until the next constraint is reached. For example, if the engineering limit (Engineering Hi) is the next limit beyond the operating limit, then for a variable constrained at the operator high limit,
AM up=Engineering Hi−OPHIGH.
In calculating the allowable steady-state move, it is possible that single variables will have multiple sets of limits, including for example, operator, engineer, equipment, safety, range, etc. The user can select or deselect which limits to consider for calculating the allowable change. For example, the user may deselect the engineering limit and use the range of the measurement to calculate the allowable move.
The next step is to create a closed-loop matrix of the effect of the constrained variables on unconstrained variables (instead of MVs to CVs.) For each unconstrained/violated variable, the constrained variables that affect it are displayed. These are constraints that have a non-zero matrix element to the chosen unconstrained variable. This can be accomplished by changing the order of the gain matrix depending on constraint condition. Unconstrained MVs are moved to the top, and constrained CVs are moved to the left. The resulting matrix is composed of four sections, including:
(a) model of unconstrained MVs to constrained CVs;
(b) model of constrained Mvs to constrained CVs;
(c) model of unconstrained MVs to unconstrained CVs; and
(d) model of constrained MVs to unconstrained CVs.
The model matrix can be displayed symbolically as:
Algebraically, the CVs are predicted from the MV models.
CVC=A*MVU+B*MVC
CVU=C*MVU+D*MVC
In matrix form, the relationship appears as follows:
If the equations are scalar, it would represent two equations with two unknowns, and the knowns and unknowns could be swapped. The same equations can be matrix form, to swap or pivot the constrained CVs with the unconstrained MVs as
Qualitatively, the resulting equation and matrix show how unconstrained variables respond to changes in constrained variables, as seen below.
This example matrix is pivoted to show the form where MV3, MV4, CV2, and CV6 constrained.
Each element in this matrix represents the amount of change in an unconstrained variable for a unity change in the constrained variables. Matrix elements that are very close to zero are counted as zero.
An alternate way to create the closed-loop matrix is to simulate the controller and perturb each of the constraints, one at a time, by a small amount, ε. The ratio of the change or unconstrained variable to ε for each constrained-unconstrained variable pair is the gain in the closed-loop matrix.
The result is that for each unconstrained/violated variable, the constrained variables that affect it are displayed. The information in this closed-loop matrix is then used to calculate all of the information regarding the three general classes of information, which relate to constrained variables, unconstrained variables, and violated variables described above, to the operators.
For each constraint i, the process can calculate how far it can be moved, in both directions, until another constraint is reached (CMi). The amount of move and the next constraint are recorded and displayed for the operator's use. In particular, the minimum of allowable move (AM) for the constraint i and the ratio of allowable move of unconstrained variable j (AMj)/closed-loop gain GPij can be found. Using this calculation, it is important to use the correct sign. For example, if calculating how far a constraint can be moved up, the allowable move of unconstrained variable down should be used if the gain element is negative.
It is also possible to calculate the value of limit relaxation of each constraint. This value is calculated by multiplying the shadow value of the constraint, which is usually a result from the calculation itself, by CM, the move until the next constraint. It is also possible to use a shadow value from another program, such as planning and scheduling or real-time optimization, in place of the shadow value from the controller optimization.
Solutions to the following objectives can be obtained from using this tool.
For constraint analysis, answers to the following questions can be determined.
For unconstrained variable analysis, answers to the following questions can be determined.
For infeasibility analysis, answers to the following questions can be determined.
It can be appreciated that this invention provides quantitative input to operators and engineers regarding the effect of changing controller limits on the MPC controller solution. Prior to this invention, information on constraint dependencies and relief mechanisms was only available to engineers by doing multiple offline MPC simulations. Having this information immediately available, accessible and understandable by all operators allows a rapid response to changes and hence a more optimal process operation.
Various modifications can be made in our invention as described herein, and many different embodiments of the device and method can be made while remaining within the spirit and scope of the invention as defined in the claims without departing from such spirit and scope. It is intended that all matter contained in the accompanying specification shall be interpreted as illustrative only and not in a limiting sense.
Number | Name | Date | Kind |
---|---|---|---|
4197576 | Sanchez | Apr 1980 | A |
4358822 | Sanchez | Nov 1982 | A |
4736316 | Wallman | Apr 1988 | A |
4937763 | Mott | Jun 1990 | A |
5043863 | Bristol et al. | Aug 1991 | A |
5144549 | Youcef-Toumi | Sep 1992 | A |
5260865 | Beauford et al. | Nov 1993 | A |
5301101 | Macarthur et al. | Apr 1994 | A |
5343407 | Beauford et al. | Aug 1994 | A |
5351184 | Lu et al. | Sep 1994 | A |
5396416 | Berkowitz et al. | Mar 1995 | A |
5457625 | Lim et al. | Oct 1995 | A |
5519605 | Cawlfield | May 1996 | A |
5541833 | Bristol et al. | Jul 1996 | A |
5566065 | Hansen et al. | Oct 1996 | A |
5568378 | Wojsznis | Oct 1996 | A |
5570282 | Hansen et al. | Oct 1996 | A |
5740033 | Wassick et al. | Apr 1998 | A |
5758047 | Lu et al. | May 1998 | A |
5781432 | Keeler et al. | Jul 1998 | A |
5825646 | Keeler et al. | Oct 1998 | A |
5920478 | Ekblad et al. | Jul 1999 | A |
5933345 | Martin et al. | Aug 1999 | A |
6047221 | Piche et al. | Apr 2000 | A |
6056781 | Wassick et al. | May 2000 | A |
6064809 | Braatz et al. | May 2000 | A |
6122555 | Lu | Sep 2000 | A |
6207936 | de Waard et al. | Mar 2001 | B1 |
6216048 | Keeler et al. | Apr 2001 | B1 |
6253113 | Lu | Jun 2001 | B1 |
6278899 | Piche et al. | Aug 2001 | B1 |
6347254 | Lu | Feb 2002 | B1 |
6356857 | Qin et al. | Mar 2002 | B1 |
6373033 | de Waard et al. | Apr 2002 | B1 |
6381504 | Havener et al. | Apr 2002 | B1 |
6421570 | McLaughlin et al. | Jul 2002 | B1 |
6421575 | Shakespeare | Jul 2002 | B1 |
6438430 | Martin et al. | Aug 2002 | B1 |
6445963 | Blevins et al. | Sep 2002 | B1 |
6453308 | Zhao et al. | Sep 2002 | B1 |
6487459 | Martin et al. | Nov 2002 | B1 |
6493596 | Martin et al. | Dec 2002 | B1 |
6542782 | Lu | Apr 2003 | B1 |
6577323 | Jamieson et al. | Jun 2003 | B1 |
6587108 | Guerlain et al. | Jul 2003 | B1 |
6594620 | Qin et al. | Jul 2003 | B1 |
6615090 | Blevins et al. | Sep 2003 | B1 |
6625501 | Martin et al. | Sep 2003 | B2 |
6650947 | Fu et al. | Nov 2003 | B2 |
6697767 | Wang et al. | Feb 2004 | B2 |
6718234 | Demoro et al. | Apr 2004 | B1 |
6721609 | Wojsznis et al. | Apr 2004 | B1 |
6725103 | Shigemasa et al. | Apr 2004 | B2 |
6735483 | Martin et al. | May 2004 | B2 |
6738677 | Martin et al. | May 2004 | B2 |
6760716 | Ganesamoorthi et al. | Jul 2004 | B1 |
6807510 | Backstrom et al. | Oct 2004 | B1 |
6819964 | Harmse | Nov 2004 | B2 |
6839599 | Martin et al. | Jan 2005 | B2 |
6882889 | Fuller et al. | Apr 2005 | B2 |
6901300 | Blevins et al. | May 2005 | B2 |
6901560 | Guerlain et al. | May 2005 | B1 |
6936665 | Stephens et al. | Aug 2005 | B2 |
6950711 | Havener et al. | Sep 2005 | B2 |
6952808 | Jamieson et al. | Oct 2005 | B1 |
7024252 | Martin et al. | Apr 2006 | B2 |
7039475 | Sayyarrodsari et al. | May 2006 | B2 |
7047089 | Martin et al. | May 2006 | B2 |
7050863 | Mehta et al. | May 2006 | B2 |
7050866 | Martin et al. | May 2006 | B2 |
7058617 | Hartman et al. | Jun 2006 | B1 |
7065511 | Zhao et al. | Jun 2006 | B2 |
7110834 | Martin et al. | Sep 2006 | B2 |
7139619 | Martin et al. | Nov 2006 | B2 |
7149590 | Martin et al. | Dec 2006 | B2 |
7152023 | Das | Dec 2006 | B2 |
7184845 | Sayyarrodsari et al. | Feb 2007 | B2 |
7187990 | Jang et al. | Mar 2007 | B2 |
7197485 | Fuller | Mar 2007 | B2 |
7204101 | Seiver et al. | Apr 2007 | B2 |
7209793 | Harmse et al. | Apr 2007 | B2 |
7213006 | Hartman et al. | May 2007 | B2 |
7257501 | Zhan et al. | Aug 2007 | B2 |
7272454 | Wojsznis et al. | Sep 2007 | B2 |
7315846 | Hartman et al. | Jan 2008 | B2 |
7330767 | Thiele et al. | Feb 2008 | B2 |
7330804 | Turner et al. | Feb 2008 | B2 |
7337022 | Wojsznis et al. | Feb 2008 | B2 |
7376471 | Das et al. | May 2008 | B2 |
7376472 | Wojsznis et al. | May 2008 | B2 |
20020072828 | Turner et al. | Jun 2002 | A1 |
20020099724 | Harmse | Jul 2002 | A1 |
20020111758 | Wang et al. | Aug 2002 | A1 |
20020176648 | Bhat et al. | Nov 2002 | A1 |
20020177908 | Bhat et al. | Nov 2002 | A1 |
20020177909 | Fu et al. | Nov 2002 | A1 |
20020178133 | Zhao et al. | Nov 2002 | A1 |
20030014131 | Havener et al. | Jan 2003 | A1 |
20030018399 | Havener et al. | Jan 2003 | A1 |
20030028265 | Martin | Feb 2003 | A1 |
20030065410 | Martin et al. | Apr 2003 | A1 |
20030073787 | Stephens et al. | Apr 2003 | A1 |
20030078684 | Martin et al. | Apr 2003 | A1 |
20030088322 | Martin et al. | May 2003 | A1 |
20030149493 | Blevins et al. | Aug 2003 | A1 |
20040049295 | Wojsznis et al. | Mar 2004 | A1 |
20040049299 | Wojsznis et al. | Mar 2004 | A1 |
20040049300 | Thiele et al. | Mar 2004 | A1 |
20040059441 | Martin et al. | Mar 2004 | A1 |
20040011776 | Mehta et al. | Jun 2004 | A1 |
20040107012 | Das et al. | Jun 2004 | A1 |
20040107013 | Fuller et al. | Jun 2004 | A1 |
20040117040 | Sayyarrodsari et al. | Jun 2004 | A1 |
20040117766 | Mehta et al. | Jun 2004 | A1 |
20040130276 | Sayyarrodsari et al. | Jul 2004 | A1 |
20040162709 | Das | Aug 2004 | A1 |
20040210325 | Martin et al. | Oct 2004 | A1 |
20040225469 | Backstrom et al. | Nov 2004 | A1 |
20040249483 | Wojsznis et al. | Dec 2004 | A1 |
20050015421 | Fuller | Jan 2005 | A1 |
20050072187 | Seiver et al. | Apr 2005 | A1 |
20050075737 | Martin et al. | Apr 2005 | A1 |
20050075993 | Jang et al. | Apr 2005 | A1 |
20050107895 | Pistikopoulos et al. | May 2005 | A1 |
20050149208 | Harmse et al. | Jul 2005 | A1 |
20050154477 | Martin et al. | Jul 2005 | A1 |
20050187643 | Sayyar-Rodsari et al. | Aug 2005 | A1 |
20060020352 | Martin et al. | Jan 2006 | A1 |
20060045801 | Boyden et al. | Mar 2006 | A1 |
20060045802 | Boyden et al. | Mar 2006 | A1 |
20060045803 | Boyden et al. | Mar 2006 | A1 |
20060045804 | Boyden et al. | Mar 2006 | A1 |
20060047366 | Boyden et al. | Mar 2006 | A1 |
20060074501 | Hartman et al. | Apr 2006 | A1 |
20060100720 | Martin et al. | May 2006 | A1 |
20060184477 | Hartman et al. | Aug 2006 | A1 |
20060224534 | Hartman et al. | Oct 2006 | A1 |
20060229743 | Boe et al. | Oct 2006 | A1 |
20060241786 | Boe et al. | Oct 2006 | A1 |
20060259197 | Boe et al. | Nov 2006 | A1 |
20060282178 | Das et al. | Dec 2006 | A1 |
20070018982 | Brooks et al. | Jan 2007 | A1 |
20070059838 | Morrison et al. | Mar 2007 | A1 |
20070078529 | Thiele et al. | Apr 2007 | A1 |
20070078530 | Blevins et al. | Apr 2007 | A1 |
20070078660 | Ferris | Apr 2007 | A1 |
20070088448 | Mylaraswamy et al. | Apr 2007 | A1 |
20070093918 | Blevins et al. | Apr 2007 | A1 |
20070100476 | Fan et al. | May 2007 | A1 |
20070112531 | Zhan et al. | May 2007 | A1 |
20070112905 | Blevins et al. | May 2007 | A1 |
20070131075 | Zhang et al. | Jun 2007 | A1 |
20070198104 | Sayyarrodsari et al. | Aug 2007 | A1 |
20070198446 | Das et al. | Aug 2007 | A1 |
20070225835 | Zhu | Sep 2007 | A1 |
20070244575 | Wojsznis et al. | Oct 2007 | A1 |
20070282487 | Kirchhof | Dec 2007 | A1 |
20080047098 | Nawrocki | Feb 2008 | A1 |
20080065242 | Attarwala | Mar 2008 | A1 |
20080071394 | Turner et al. | Mar 2008 | A1 |
20080071397 | Rawlings et al. | Mar 2008 | A1 |
20080082180 | Blevins et al. | Apr 2008 | A1 |
20080097625 | Vouzis et al. | Apr 2008 | A1 |
20080103747 | Macharia et al. | May 2008 | A1 |
20080104003 | Macharia et al. | May 2008 | A1 |
20080108048 | Bartee et al. | May 2008 | A1 |
20080109100 | Macharia et al. | May 2008 | A1 |
20080109200 | Bartee et al. | May 2008 | A1 |
Number | Date | Country |
---|---|---|
0037579 | Aug 1986 | EP |
1418477 | May 2004 | EP |
2007015078 | Feb 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20080077257 A1 | Mar 2008 | US |