Plaque It!
Sponsored by: Flash of Genius |
[0001] This application is a continuation of International Application No. PCT/US99/22368, which designated the United States and was filed on Sep. 28, 1999, published in English, which claims priority to U.S. patent application Ser. No. 09/266,709, filed on Mar. 11, 1999 which claims the benefit of U.S. Provisional Application No. 60/102,325, filed on Sep. 28, 1998. The entire teachings of the above application(s) are incorporated herein by reference.
[0002] This invention relates generally to the field of computer-based control systems and control algorithms therefor, and more particularly relates to a Model Predictive Control class of computer control algorithms.
[0003] Model Predictive Control (“MPC”) refers to a class of computer control algorithms that compute sequences of manipulated variable adjustments (control moves) in order to optimize the future behavior of a system. Computerized control systems making use of MPC technology are particularly well-suited for controlling such complex industrial systems as manufacturing plants, chemical processing plants, petroleum refineries, and the like. Such systems have many parameters (flow rates, temperatures, pressures, and so on) which require continuous real-time or nearly real-time adjustment or tuning.
[0004] As the name suggests, MPC uses an explicit model to predict how a process will evolve in time. The prediction is used to determine “optimal” control moves that will bring the process to a desired state. The optimal control moves are the result of an online optimization which is, in general, a full-blown nonlinear program (“NLP”). In practice, though, because linear models are used, the resulting optimizations are linear and quadratic programs. While originally developed to address the needs of power plants and petroleum refineries, MPC technology is now used in a wide variety of commercial and industrial applications ranging from food processing to pulp and paper production.
[0005] In many modern industrial processing plants, MPC is implemented as part of a multi-level hierarchy of control functions.
[0006] The block diagram of
[0007] In
[0008] The design and operation of a conventional controller
[0009] With continued reference to
[0010] Those of ordinary skill in the art will appreciate that in conventional control structures such as that designated with reference numeral
[0011] With continued reference to
[0012] MPC can be further subdivided into two categories—“nominal MPC” and “robust MPC”—that depend upon the assumptions made about the process model. Nominal MPC assumes a perfect model, while robust MPC accounts for model uncertainty.
[0013] At the bottom of the MPC hierarchy is digital control system (“DCS”) represented by blocks
[0014] Although the issue of model uncertainty in the dynamic optimization has received much attention by researchers, little attention has been paid to how model uncertainty affects the steady-state target calculation.
[0015] Accordingly, the present invention relates to a new formulation of the steady-state target calculation that explicitly accounts for model uncertainty. In accordance with one aspect of the present invention, when model uncertainty is incorporated, the linear program associated with the steady-state target calculation can be recast as a highly structured nonlinear program. In accordance with another aspect of the invention, primal-dual interior point methods can be applied to take advantage of the resulting special structure. For a system having characteristic gain parameters G having a known uncertainty description, the present invention provides a method and apparatus for selecting steady-state targets for said system-manipulated variables such that all system-controlled variables will remain feasible at steady-state for all possible values of the parameters G within the known uncertainty description. A nominal estimate {tilde over (G)} of the system parameters G is made, and in accordance with another aspect of the invention, the steady-state targets are selected such that when {tilde over (G)} approaches G, the computed steady-state targets approach the operational steady-state targets that either minimize or maximize the control objective for the true system G, subject to the known uncertainty description. If {tilde over (G)} equals G, the computed steady-state targets minimize or maximize the control objective for the true system G, subject to the known model uncertainty. (As used herein, the term “extremize” will be used to refer to the mathematical objective of either minimizing or maximizing a particular function, as the case may be.)
[0016] The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred 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 the principles of the invention.
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030] Referring to
[0031] In the interest of clarity, not all features of actual implementations of an MPC controller are described in this specification. It will of course be appreciated that in the development of any such actual implementation, as in any such project, numerous engineering and programming decisions must be made to achieve the developers' specific goals and subgoals (e.g., compliance with system- and business-related constraints), which will vary from one implementation to another. Moreover, attention will necessarily be paid to proper engineering and programming practices for the environment in question. It will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking for those of ordinary skill in the field of controller system design having the benefit of this disclosure.
[0032] The steady-state target calculation for linear MPC, represented by block
[0033] On the other hand, the plant
[0034] Note that in the system of
[0035] Those of ordinary skill in the art will appreciate that there may be certain real-world constraints or considerations which would make it undesirable for target inputs u
[0036] A simple example is illustrative of what
[0037] The water faucet example illustrates the different roles of steady-state control and dynamic control. Suppose, for example, that the objective for the hypothetical system is to keep the water flowing out of the faucet at a given rate of x cm
[0038] In the foregoing simplistic example, there was but a single input to plant
[0039] The MPC system depicted in
[0040] Turning now to
[0041] In the embodiment of
[0042] Notably, as will hereinafter become apparent to those of ordinary skill in the art, the present invention is independent of the model used, and may be advantageously practiced in the context of either the input/output model or the state space model. In particular, the present invention relates to the operation of the steady state calculation block
[0043] Those of ordinary skill in the art will appreciate that any linear model, whether it be state-space, step response, impulse response, or other, can be cast—at steady-state—in the following form:
[0044] Here Δy=[Δy
[0045] Here y=└y
[0046] while maintaining the relationship of Equation (1) above between the steady-state inputs and outputs, and respecting input and output constraints arising from process specifications:
[0047] and ensuring the resulting solution does not force the dynamic MPC calculation to become infeasible:
[0048] (As used herein, the term “feasible” as applied to system-manipulated (input) variables and system-controlled (output) variables means that the variables do not violate upper and lower constraints arising from predetermined process specifications, such as those set forth in equations (5) and (6) above. Conversely, “infeasible” refers to a violation of these constraints. Such constraints constitute bounds that limit the variables to some previously determined process operating region.)
[0049] In Equation (7), N refers to the control horizon of the dynamic MPC calculation, and Δ+E,uns u
[0050] To avoid real-time infeasibilities in the LP, it is common to recast the hard output constraints +E,uns y
[0051] The size of the violation is minimized by appending it to the objective function:
[0052] where c
[0053] Additionally, in industrial implementations, a bias may be introduced to the model as a result of output feedback. It is assumed that the difference between the model prediction and the measured output at the current time is due to a constant step disturbance at the output. While there are other possible types of disturbance models that can be incorporated into the MPC framework; the present disclosure will concentrate on output disturbance models. The model bias
[0054] is based on a comparison between the current predicted output y and the current measured output ŷ=└ŷ
[0055] The bias is added to the model from Equation (1) above:
[0056] The problem is then:
[0057] subject to
[0058] with i=1, . . . , n
[0059] subject to
[0060] where
[0061] are vectors composed of the objective function weights. The vector e is a vector of all ones:
[0062] and A
[0063] while A
[0064] Additionally, since Δy depends linearly upon Δu, the entire problem can be expressed in terms of Δu and ε, reducing the number of decision variables. The resulting LP is cast in standard form and passed to an optimizer. It will be appreciated by those of ordinary skill in the art that the form of A
[0065] The robust LP explicitly accounts for uncertainty in the steady-state gain matrix G of the nominal problem of Equation (15). The mathematical parameterization of possible plants is known as the uncertainty description. It can take many different forms and can be expressed parametrically or statistically. In model identification, if the process noise and model parameters are assumed to be normally distributed or Gaussian variables, the natural uncertainty description is an ellipsoidal bound on the parameters. As illustrated in
[0066] describing the joint confidence region. The center of the ellipse θ
[0067] A different form of Equation (21) may in some cases be useful. The confidence region defined by the ellipsoid
[0068] The term α in the above equations comes from requiring that the parameters be known with a confidence level of γ∈[0, 1].
[0069] Here Φ(x) is the univariate normal distribution function with zero mean and unit variance:
[0070] A value of α is always guaranteed to exist for any γ, even for the case of when V is only an estimate of the true covariance (see, e.g., Y. Bard, “Nonlinear Parameter Estimation,” Academic Press, Inc., New York, 1974). For Equation (22) to remain convex, γ≧0.5, or equivalently, α≧0. The uncertainty description given by Equation (22) is more general than Equation (15) as it allows V to be rank deficient.
[0071] When the covariance matrix V does not have full rank, the ellipsoid becomes degenerate, collapsing in specific directions corresponding to parameters which are known exactly. The directions in which the ellipse collapses correspond to the eigenvectors (or semi-axes) with associated eigenvalues that are zero (i.e. those directions for which a nonzero z produces V
[0072] Assume that outputs are perturbed by independent random variables. No output is correlated to another. In this case a block diagonal covariance matrix can be constructed for the process gains made up of the individual covariance matrices for each row of the gain matrix. In particular, if V
[0073] If the outputs are actually cross-correlated, then the off diagonal elements of V will be nonzero. In any case, it can be assumed without loss of generality that g is nominally {tilde over (g)} and has covariance V, yielding:
[0074] where ξ defines the ellipsoid for the entire matrix. This is the most natural way to pose the problem as it results in constraint-wise uncertainty. In the nominal LP, the gain matrix G is premultiplied by the (possibly dense) matrix A
[0075] In the general case, ellipsoids of the type above are required to capture the uncertainty in the constraint. If, however, most of the elements of A
[0076] For simple bounds, there is a constant scalar factor β premultiplying the i
[0077] Each component of the constraint depends only upon a single row of the gain matrix. Thus an ellipsoid can be defined for only a single row. Let the gain for the i
[0078] Additionally, there are times when it is desirable to approximate the ellipsoidal uncertainty as either a polytope or simple box.
[0079] If the ellipsoidal constraint can be interpreted in terms of a joint confidence region, then the box constraint can be interpreted in terms of joint confidence intervals (or as approximations to the ellipse). A simple box constraint, designated with reference numeral
[0080] Box constraints, when used to approximate elliptic constraints, are more conservative than ellipsoidal constraints and in turn lead to a more conservative control action. The ellipsoid and box constraints described by Equations (27), (30), and (31) each describe a possible uncertainty description U defining realistic values of the gains for use in the robust LP.
[0081] As an illustrative example of the robust LP concept, consider the linear steady-state system:
[0082] with Δu∈
[0083] Because there is only one output, g=g
[0084] The variance for the problem is:
[0085] For the present example, the bias and slack variables are ignored. It is necessary that the matrix elements be known with a probability level γ of 99%, which corresponds to α=2.33. The ellipsoid uncertainty can be approximated as box constraint with the following data:
[0086] The ellipsoid uncertainty description and its box approximation are illustrated in
[0087] A problem arises when considering output constraints in the nominal problem of Equation (15). The constraints can correspond to critical variables—the temperature limit on a reactor vessel or the maximum allowable feed rate into a unit, for example. Uncertainty or “fuzziness” in the constraint means that even though the nominal value may be binding at the upper or lower limit, the actual value may be outside the constraint region. To see this, the following constraints may be added to the example:
[0088] The feasible region defined by the constraints corresponds to the interior of the polygon designated with reference numeral
[0089] The lower diagonal line, designated with reference numeral
[0090] Uncertainty in g causes there to be uncertainty in the constraint.
[0091] where ∥·∥ is the standard Euclidean norm. Every output constraint will contain some degree of uncertainty. If the uncertainty from the upper constraint Δy
[0092] The feasible region can be defined as the set of inputs which produce feasible outputs for any possible value of the gains:
[0093] where U is one of the uncertainty descriptions discussed above. In addition to gain uncertainty affecting the constraints, it also has an effect on the objective function:
[0094] Let the gradient of the objective with respect to the inputs be ƒ:
[0095] For the present example, assume c and d are given by:
[0096] Uncertainty causes the value of ƒ to change. ƒ is nominally {tilde over (ƒ)}:
[0097] and can take on values anywhere between +E,uns ƒ and {overscore (ƒ)}:
[0098]
[0099] Although the example is simple, it illustrates the nature of the problem. Model uncertainty forces the problem structure to change. The linear constraints so commonly used in control theory become nonlinear.
[0100] In the foregoing example, it was possible to graphically determine the optimal solution. In practice, there is a need to solve the following optimization problem:
[0101] Equations (43) and (44) constitute the robust LP in accordance with the presently disclosed embodiment of the invention. The robust LP is preferably solved at every time-step during the execution of the MPC algorithm. Solution times are preferably on the order of tens of seconds (or less) for it to be used in a real-time setting. Its solution is passed as targets to the dynamic MPC calculation block (block
[0102] Next, it is desirable to formulate the optimization problem of Equations (43) and (44) as an optimization problem over a second-order cone. To illustrate this, only the simpler problem of the following Equation (45) need be considered:
[0103] which is actually a semi-infinite program. A semi-infinite program generally has the following form:
[0104] with ƒ:
[0105] The most straightforward way to handle constraints of the type in Equation (47) is to note that:
[0106] is equivalent to
[0107] If the following definition is used
[0108] then the semi-infinite program in Equations (46) and (47) becomes: