Parametric universal nonlinear dynamics approximator and use
11169494 · 2021-11-09
Assignee
Inventors
- Bijan Sayyar-Rodsari (Austin, TX, US)
- Edward S Plumer (Georgetown, TX, US)
- Eric Hartman (Austin, TX, US)
- Celso Axelrud (Round Rock, TX, US)
- Kadir Liano (Pflugerville, TX, US)
Cpc classification
G05B13/042
PHYSICS
International classification
Abstract
System and method for modeling a nonlinear process. A combined model for predictive optimization or control of a nonlinear process includes a nonlinear approximator, coupled to a parameterized dynamic or static model, operable to model the nonlinear process. The nonlinear approximator receives process inputs, and generates parameters for the parameterized dynamic model. The parameterized dynamic model receives the parameters and process inputs, and generates predicted process outputs based on the parameters and process inputs, where the predicted process outputs are useable to analyze and/or control the nonlinear process. The combined model may be trained in an integrated manner, e.g., substantially concurrently, by identifying process inputs and outputs (I/O), collecting data for process I/O, determining constraints on model behavior from prior knowledge, formulating an optimization problem, executing an optimization algorithm to determine model parameters subject to the determined constraints, and verifying the compliance of the model with the constraints.
Claims
1. A tangible, non-transitory computer readable memory medium storing program instructions for online model predictive control and optimization of a nonlinear physical process, wherein the program instructions are executable by a processor to: receive, via an automation controller, during operation of the nonlinear physical process, values for one or more inputs of the nonlinear physical process that are measured directly from the nonlinear physical process during operation of the nonlinear physical process; train, via the automation controller, during operation of the nonlinear physical process, a nonlinear approximator simultaneously with a dynamic parameterized model, wherein training comprises: generating a mapping between the one or more inputs of the nonlinear process to one or more outputs using the nonlinear approximator; generating one or more parameters that characterize a shape of the mapping of the one or more outputs as a function of the one or more inputs using the nonlinear approximator, wherein the mapping is configured to characterize one or more gain relationships between the one or more inputs and the one or more outputs; providing, via the automation controller, the one or more parameters of the nonlinear physical process to a dynamic parameterized model that models the nonlinear physical process during operation of the nonlinear physical process; and generating one or more predicted process outputs during operation of the nonlinear physical process, wherein the one or more parameters are generated using the nonlinear approximator simultaneously while the one or more predicted process outputs are generated using the dynamic parameterized model; and adjust, via the automation controller, during operation of the nonlinear physical process, operating parameters of the nonlinear physical process based on the one or more predicted process outputs that are output from the dynamic parameterized model; and dynamically modify the mapping between the one or more inputs based on the values representative of the one or more outputs of the nonlinear physical process that are output from the dynamic parameterized model such that a subsequent training of the nonlinear approximator and the dynamic parameterized model is based on the modified mapping, and wherein a subsequent adjustment of the operating parameters is based on the modified mapping.
2. The tangible, non-transitory computer readable memory medium of claim 1, wherein the nonlinear approximator and the dynamic parameterized model are independently trained substantially concurrently.
3. The tangible, non-transitory computer readable memory medium of claim 1, wherein the program instructions are executable by the processor to determine constraints on model behavior from prior knowledge, to formulate an optimization problem, to execute an optimization algorithm to determine the one or more parameters subject to the determined constraints by solving the optimization problem, and to verify compliance of the dynamic parameterized model with the determined constraints, and wherein the determined constraints comprise one or more constraints for the nonlinear approximator for modeling one or more dependencies of the one or more parameters of the dynamic parameterized model with respect to one or more operating conditions of the nonlinear physical process.
4. The tangible, non-transitory computer readable memory medium of claim 3, wherein the program instructions are executable by the processor to use interval arithmetic over a global input region to verify the compliance of the dynamic parameterized model.
5. The tangible, non-transitory computer readable memory medium of claim 3, wherein the program instructions are executable by the processor to use interval arithmetic with input-region partitioning to verify the compliance of the dynamic parameterized model.
6. The tangible, non-transitory computer readable memory medium of claim 3, wherein the program instructions are executable by the processor to execute the optimization algorithm to determine an optimal order of the dynamic parameterized model, wherein the optimal order specifies the number of the one or more parameters, and wherein the one or more parameters exclude inputs or outputs of the nonlinear process.
7. The tangible, non-transitory computer readable memory medium of claim 6, wherein the program instructions are executable by the processor to determine the optimal order for the dynamic parameterized model and to determine the structure for the nonlinear approximator substantially concurrently.
8. The tangible, non-transitory computer readable memory medium of claim 2, wherein the program instructions are executable by the processor to store the trained nonlinear approximator and the trained dynamic parameterized model as a trained parametric universal nonlinear dynamic approximator.
9. The tangible, non-transitory computer readable memory medium of claim 1, wherein the program instructions include a feedback loop operable to provide output of the nonlinear approximator from a previous cycle as input to the nonlinear approximator for a current cycle.
10. The tangible, non-transitory computer readable memory medium of claim 1, wherein the dynamic parameterized model comprises a multi-input (MIMO) dynamic model implemented with a set of difference equations.
11. The tangible, non-transitory computer readable memory medium of claim 10, wherein the set of difference equations comprises a set of discrete time polynomials.
12. A method for online model predictive control and optimization of a nonlinear physical process, comprising: receiving, via an automation controller, during operation of the nonlinear physical process, values for one or more inputs of the nonlinear physical process that are measured directly from the nonlinear physical process during operation of the nonlinear physical process; training, via the automation controller, during operation of the nonlinear physical process, a nonlinear approximator simultaneously with a dynamic parameterized model, wherein training comprises: generating a mapping between the one or more inputs of the nonlinear process to one or more outputs using the nonlinear approximator; generating one or more parameters that characterize a shape of the mapping of the one or more outputs as a function of the one or more inputs using the nonlinear approximator, wherein the mapping is configured to characterize one or more gain relationships between the one or more inputs and the one or more outputs; providing, via the automation controller, the one or more parameters of the nonlinear physical process to a dynamic parameterized model that models the nonlinear physical process during operation of the nonlinear physical process; and generating one or more predicted process outputs during operation of the nonlinear physical process wherein the one or more parameters are generated using the nonlinear approximator simultaneously while the one or more predicted process outputs are generated using the dynamic parameterized model; and adjusting, via the automation controller, during operation of the nonlinear physical process, operating parameters of the nonlinear physical process based on the one or more predicted process outputs that are output from the dynamic parameterized model; and dynamically modifying the mapping between the one or more inputs based on the values representative of the one or more outputs of the nonlinear physical process that are output from the dynamic parameterized model such that a subsequent training of the nonlinear approximator and the dynamic parameterized model is based on the modified mapping, and wherein a subsequent adjustment of the operating parameters is based on the modified mapping.
13. The method of claim 12, wherein the nonlinear approximator and the dynamic parameterized model are independently trained substantially concurrently.
14. The method of claim 12, comprising determining constraints on model behavior from prior knowledge, formulating an optimization problem, executing an optimization algorithm to determine the one or more parameters subject to the determined constraints by solving the optimization problem, and verifying compliance of the dynamic parameterized model with the determined constraints, and wherein the determined constraints comprise one or more constraints for the nonlinear approximator for modeling one or more dependencies of the one or more parameters of the dynamic parameterized model with respect to one or more operating conditions of the nonlinear physical process.
15. The method of claim 14, comprising using interval arithmetic over a global input region to verify the compliance of the dynamic parameterized model.
16. The method of claim 14, comprising using interval arithmetic with input-region partitioning to verify the compliance of the dynamic parameterized model.
17. The method of claim 14, comprising executing the optimization algorithm to determine an optimal order of the dynamic parameterized model, wherein the optimal order specifies the number of the one or more parameters.
18. The method of claim 17, comprising determining a structure for the nonlinear approximator for modeling dependencies of the one or more parameters based upon operating conditions of the nonlinear physical process.
19. The method of claim 18, comprising determining the optimal order for the dynamic parameterized model and determining the structure for the nonlinear approximator substantially concurrently.
20. The method of claim 13, comprising storing the trained nonlinear approximator and the trained dynamic parameterized model as a trained parametric universal nonlinear dynamic approximator.
21. The method of claim 12, comprising providing output of the nonlinear approximator from a previous cycle as input to the nonlinear approximator for a current cycle.
22. The method of claim 12, wherein the dynamic parameterized model comprises a multi-input (MIMO) dynamic model implemented with a set of difference equations.
23. The method of claim 22, wherein the set of difference equations comprises a set of discrete time polynomials.
24. The system of claim 12, the one or more parameters of the nonlinear physical process exclude outputs of the nonlinear process.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13) While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
DETAILED DESCRIPTION OF THE EMBODIMENTS
Incorporation by Reference
(14) The following references are hereby incorporated by reference in their entirety as though fully and completely set forth herein:
(15) U.S. patent application Ser. No. 10/350,830, titled “Parameterizing a Steady State Model Using Derivative Constraints”, filed Jan. 24, 2003, whose inventor was Gregory D. Martin.
Terms
(16) The following is a glossary of terms used in the present application:
(17) Objective Function—a mathematical expression of a desired behavior or goal.
(18) Constraint—a limitation on a property or attribute used to limit the search space in an optimization process.
(19) Optimizer—a tool or process that operates to determine an optimal set of parameter values for a system or process by solving an objective function, optionally subject to one or more constraints.
(20) Control Variables—process outputs, e.g., output states of the process or system being controlled.
(21) Manipulated Variables—manipulable inputs to the process being controlled.
(22) Disturbance Variables—inputs which are not manipulable, e.g., ambient temp/pressure, etc., that affect the process, but which are not controllable
(23) Target Profile—a desired profile or trajectory of variable values, i.e., a desired behavior of a variable, e.g., of a control variable or manipulated variable.
(24) Control Horizon—the period of the time extending from the present into the future in which one plans to move or change manipulated variables. Beyond this horizon the MV is assumed to stay constant at its last or most recent value in the control horizon.
(25) Prediction Horizon—the period of time extending from the present into the future over which the process or system response is monitored and compared to a desired behavior. A prediction horizon is usually greater than the control horizon.
(26) Memory Medium—Any of various types of memory devices or storage devices. The term “memory medium” is intended to include an installation medium, e.g., a CD-ROM, floppy disks 104, or tape device; a computer system memory or random access memory such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; or a non-volatile memory such as a magnetic media, e.g., a hard drive, or optical storage. The memory medium may comprise other types of memory as well, or combinations thereof. In addition, the memory medium may be located in a first computer in which the programs are executed, or may be located in a second different computer which connects to the first computer over a network, such as the Internet. In the latter instance, the second computer may provide program instructions to the first computer for execution. The term “memory medium” may include two or more memory mediums which may reside in different locations, e.g., in different computers that are connected over a network.
(27) Carrier Medium—a memory medium as described above, as well as signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a bus, network and/or a wireless link.
(28) Medium—includes one or more of a memory medium, carrier medium, and/or programmable hardware element; encompasses various types of mediums that can either store program instructions/data structures or can be configured with a hardware configuration program. For example, a medium that is “configured to perform a function or implement a software object” may be 1) a memory medium or carrier medium that stores program instructions, such that the program instructions are executable by a processor to perform the function or implement the software object; 2) a medium carrying signals that are involved with performing the function or implementing the software object; and/or 3) a programmable hardware element configured with a hardware configuration program to perform the function or implement the software object.
(29) Program—the term “program” is intended to have the full breadth of its ordinary meaning. The term “program” includes 1) a software program which may be stored in a memory and is executable by a processor or 2) a hardware configuration program useable for configuring a programmable hardware element.
(30) Software Program—the term “software program” is intended to have the full breadth of its ordinary meaning, and includes any type of program instructions, code, script and/or data, or combinations thereof, that may be stored in a memory medium and executed by a processor. Exemplary software programs include programs written in text-based programming languages, such as C, C++, Pascal, Fortran, Cobol, Java, assembly language, etc.; graphical programs (programs written in graphical programming languages); assembly language programs; programs that have been compiled to machine language; scripts; and other types of executable software. A software program may comprise two or more software programs that interoperate in some manner.
(31) Computer System—any of various types of computing or processing systems, including a personal computer system (PC), mainframe computer system, workstation, network appliance, Internet appliance, personal digital assistant (PDA), television system, grid computing system, or other device or combinations of devices. In general, the term “computer system” can be broadly defined to encompass any device (or combination of devices) having at least one processor that executes instructions from a memory medium.
(32)
(33)
(34) As
(35) In a preferred embodiment, the dynamic parameterized model 504 may be a multi-input, multi-output (MIMO) dynamic model implemented with a set of difference equations, i.e., a set of discrete time polynomials, an example of which is provided below. Thus, the dynamic parameterized model 504 may receive its parameters {right arrow over (p)} from the nonlinear approximator 502, and operate accordingly.
(36) As also shown in
(37) In the descriptions that follow, the PUNDA model 506 is described in terms of a series combination of a neural network model and a set of MIMO difference equations that can be used to model any complex nonlinear dynamic system with any desired degree of accuracy, although, as noted above, other nonlinear approximators and dynamic parameterized models are also contemplated.
(38) For example, in various embodiments, the physical process 104 of
(39) The PUNDA model disclosed herein allows the empirical information and/or the first-principles knowledge available about the process to be systematically used in building a computationally favorable (i.e., efficient) model of the physical process that is suitable for online optimization and control of the process. In other words, the computations may be made substantially in real time. Additionally, such a model may be capable of approximating the nonlinear physical process with any desired degree of accuracy, as will be described in detail below.
(40) It is noted that partial FP models that by themselves are not sufficient to fully describe a physical process (and hence are currently ignored in practice) could be used to build a representative model of the physical process with the proposed PUNDA structure. The neural network block 502 in the proposed PUNDA model may be trained while it is serially connected to the MIMO difference equation block 504, and hence, in general, the output of the neural network model 502 may not be directly available. It is expected that the complexities of the real world physical processes may dictate the need for the training of the neural network model 502 under such combined architecture in a majority of the applications, and indeed, such integrated training is a primary feature and benefit of the present invention.
(41) A preferred methodology for the training of the neural network model 502 within the PUNDA architecture of
(42) It is generally accepted that a successful model for optimization and control must accurately capture both process gains and dynamics. To ensure the high fidelity of the combined PUNDA model for optimization and control, the constrained NLP problem for the training of the neural network model 502 may include constraints on the derivatives (of any desired order) of the process outputs with respect to the process inputs. Other constraints, such as, for example, mass and energy balances, may also be included. Potential sources of information for such constraints include first principle models and operator knowledge. A variety of techniques may be used to translate such information into constraints for the NLP problem. For example, one approach is to use commercially available software, such as, for example, Maple, provided by Waterloo Maple, Inc., to derive analytical expressions for the first (or higher order) derivatives of the outputs with respect to inputs in extremely sophisticated first principles models. The derived expressions may then be included in the constraint set for the NLP problem of neural network training. For further information regarding the use of derivative constraints for parameterizing models, please see U.S. patent application Ser. No. 10/350,830, titled “Parameterizing a Steady State Model Using Derivative Constraints”, which was incorporated by reference above.
(43) In addition to the derivative constraints (the first order of which are commonly referred to as gain constraints in the literature), the training of the neural network block in the PUNDA model can be constrained to ensure desired dynamic behavior for the PUNDA model. For example, a time constant in the system may be bounded to a certain range based on prior knowledge about the physics of the process. This is a key attribute that distinguishes the PUNDA model from prior art approaches.
(44) Thus, in contrast to the Weiner and Hammerstein model architectures described earlier, in the PUNDA model disclosed herein, the notion of decomposing the nonlinear dynamic behavior of a physical system into linear (or even nonlinear) dynamics and static input/output mappings is completely avoided. In the PUNDA model, the identification of the dynamic behavior of the physical process and the input/output static mappings (i.e. gain relationships) are performed simultaneously. The nonlinear approximator block 502, e.g., neural network, in the PUNDA model 506 specifies how the parameters of the dynamic parameterized model 504, e.g., the MIMO difference equation block, may vary as a function of process operating conditions, and gain and dynamic behavior of the PUNDA model is a global property of the entire PUNDA model. Therefore, a desired gain behavior may be enforced on the training of the PUNDA model in precisely the same way that a desired dynamic behavior is enforced.
(45) Therefore, the PUNDA model disclosed here departs greatly from the classical notions of Wiener and Hammerstein models for describing nonlinear dynamic systems where the behavior of the nonlinear dynamic system is conceptually decomposed into a linear dynamic system in series with a static nonlinear system (see
(46) Turning now to
(47) The DCS 516 operates to receive the controller output 515, and provide process inputs 501 to both the physical process 104 and the controller 512, as shown. As is well known, the process inputs 501 may be used to control the operation of the physical process 104, and may also be used by the controller 512, e.g., for control optimization and/or adaptive training of the PUNDA model 506. As is also well known, the DCS 516 may operate to filter or otherwise provide checks or other processing regarding the controller output 515, e.g., for safety purposes. Of course, other components, such as pre- or post-processors may also be included as desired, such as, for example, between the process 104 and the controller 512, e.g., for processing the process output data 503, etc.
(48) The (trained) PUNDA model 506 may thus operate to control the process 104 in an adaptive or dynamic manner. Further details regarding the PUNDA model and its training and use are provided below.
(49) Multi-Input Multi-Output Parametric Difference Equations
(50) As is well known in the art, FP or fundamental models are generally implemented as a set of partial differential equations. Standard methods for translating a differential equation into a difference equation model are well established (see, for example, R. Middleton and G. Goodwin, Digital Control and Estimation: A Unified Approach. Prentice Hall, 1990.) Therefore, the approach disclosed herein may also be applied to systems described in continuous time domain using the following general description:
{dot over (x)}(t)=F.sub.t(u(t),x(t),p(t))
y(t)=G.sub.t(u(t),x(t),p(t)) (1)
(51) Representing the system of Eq. (1) in terms of a discrete time or difference formulation gives:
x.sub.k=F.sub.k(u.sub.k,x.sub.k−1,p.sub.k)
y.sub.k=G.sub.k(u.sub.k,x.sub.k−1,p.sub.k) (2)
where x.sub.k∈.sup.N.sup.
.sup.N.sup.
.sup.N.sup.
.sup.N.sup.
(52)
(53) where parameter matrices, α.sub.x,i, . . . , γ.sub.x,i, ζ.sub.x,xu, . . . , ζ.sub.y,pu, indicate or highlight the parametric nature of the difference equations describing the evolution of the state and output vectors of the nonlinear system under a transition, and where H.O.C.T. stands for “higher order coupling terms” of the Taylor series expansion. Note that model form of Eqs. (3) may be used to model or approximate phenomena, e.g., as represented by Eq. (2), of any order, and to any accuracy desired, in that the order of the difference equations may be specified, and the higher order coupling terms included as desired. The universal approximation property of the model of Eq. (3) may be proven by simply setting the coefficients in Eq. (3) to the values of the coefficients in a Taylor series expansion of Eq. (2), as is well known in the art.
(54) A special case of importance is when the state vector in Eqs. (2) or (3) can be constructed as an explicit function of current and past inputs/outputs. In this case the MIMO difference equation block may be modeled as a function of inputs/outputs (present and past) only, which is extremely efficient for online optimization/control. This special case includes systems where the evolution of the state is linear, i.e. F.sub.k in Eq. (2) is a linear vector function. M. Phan, R. Lim, and R. Longman, “Unifying input-output and state-space perspectives of predictive control,” tech. rep., Dept. of Mech. & Aero. Eng., Princeton University, 1998, show that for a linear vector function F.sub.k in Eq. (2), if the system is observable, an appropriate number of past inputs/outputs are enough to construct the state vector completely. Therefore, the output y at any given time in the future can be expressed solely as a function of past inputs/outputs and current and future inputs. For example, under linear state and output equations in Eq. (3), the MIMO difference equation block can be replaced with:
(55)
(56) where Y.sub.past and U.sub.past are the number of past outputs and inputs required to fully construct the state vector, and A.sub.i and B.sub.i are the coefficient matrices of appropriate dimension. The bias term y.sup.init is introduced as a parameter that encompasses both y.sup.ic and the contribution from parameter perturbation (e.g., γ.sub.x,1 (δp.sub.k)) in the state update and γ.sub.y,1 (δp.sub.k) in the output update in Eq. (3)). Note that y.sup.init, A.sub.i, and B.sub.i are varying parameters that are the outputs of the nonlinear approximator block (e.g., neural network) 502 in
(57) It is contemplated that in most if not all cases, even a low order expansion in Eq. (4), i.e. I.sub.xx= . . . =I.sub.yp≤n with n small, and higher order coupling or cross terms dropped, is an appropriate parametric model for representing complex nonlinear system if the coefficients α.sub.x,1, β.sub.x,1, γ.sub.x,1, α.sub.y,1, β.sub.y,1, γ.sub.y,1, ζ.sub.x,xu, . . . ζ.sub.y,up, and ζ.sub.y,pu are outputs of a nonlinear model, such as a neural network, trained under the combined model structure depicted in
(58) The parametric nature of the model facilitates easier maintenance of the models in that the deterioration of the model can be traced back to parameters, and online constrained training could be used to reduce parameter errors. It is noted that for n≤2, these parameters may be related to physically meaningful properties of the dynamic system such as gain, damping factors, time constants, etc., hence further facilitating the maintenance of the model by operation personnel.
(59) Problem Formulation for the Training of the Nonlinear Model
(60) In one embodiment, the training of the nonlinear approximator block 502 in the PUNDA model (see
(61) A node in the general nonlinear approximator block 502 may be represented by the block diagram shown in
P.sub.k=x.sub.k
x.sub.k=Σ.sub.j(w.sub.jkh.sub.j)+b.sub.k (5)
(62) where h.sub.j is the output of the j.sup.th hidden unit, w.sub.jk is the weight from the j.sup.th hidden unit to the k.sup.th output unit, and b.sub.k is the bias term for the summation at the k.sup.th output unit. Utilizing the same fundamental building block of
h.sub.j=ƒ(x.sub.j,ρ.sub.j)
x.sub.j=Σ.sub.i(w.sub.iju.sub.i)+b.sub.j (6)
(63) where x.sub.j is the input to the nonlinear activation function in the j.sup.th hidden unit, w.sub.ij is the weight from input u.sub.i to the j.sup.th hidden unit, b.sub.j is the bias of the j.sup.th hidden unit, and ƒ(x.sub.j,ρ.sub.j) is a nonlinear (potentially parametric with parameter vector ρ.sub.j) activation function. Acceptable activation function include, but are not limited to, sigmoidal (“s-shaped”) functions such as
(64)
which ranges from 0 to 1, or ƒ(x.sub.j)=tan h(x.sub.j), which ranges from −1 to 1. Note that the input layer in this simplified example is assumed as an identity unit and hence the inputs to the hidden unit are the inputs to the neural network. In general, however, the input layer may admit the structure of
(65) A constrained optimization problem for the training of the expository nonlinear approximator block described earlier may be stated in the following form:
(66)
(67) where the decision vector includes the parameter approximator network's weights and the biases, as well as any potential parameter in the MIMO difference equation block that is not designated as an output of the parameter approximation block. Note that d indexes the dataset, which in some embodiments may include synthetic data points, used for example in extrapolation training, t.sub.kd is the target output for the PUNDA model, and y.sub.kd is the predicted output of the combined model that is computed using the architecture of the PUNDA model depicted in
(68) Constraints used during training may include, but are not limited to, functions of any or all of the following: the parameter approximator inputs, the parameter approximator outputs, the parameter approximator parameters (e.g. weights and biases), the PUNDA model inputs and/or outputs, and any number of derivatives of any order of the PUNDA model outputs with respect to the PUNDA model inputs.
(69) A Preferred Methodology for Imposing Constraints
(70) Successful training of the nonlinear model (e.g., neural network) in the combined PUNDA model may require that certain constraints be satisfied globally (independent from the available data for the training of the model). In some cases it may be beneficial to replace the exact constraints with appropriately constructed upper/lower bounds. Interval arithmetic is described below in a preferred methodology for the derivation of such bounds under arbitrary order of the dynamic parameterized model 504, e.g., MIMO difference equation block, and arbitrary architecture of the nonlinear approximator block 502, e.g., the neural network block.
(71) Given the range of the applications in which the disclosed parametric universal nonlinear dynamics approximator may be deployed, it is crucial to develop a methodology by which the constraints may be imposed and additionally verified at any node in the parameter approximator block in the PUNDA model of
(72) Interval Arithmetic
(73) Interval arithmetic is an established numerical computation technique in which the evaluation of numerical values is replaced by the evaluation of equivalent numerical ranges. Interval analysis has broad application to problems for which it is necessary to understand how errors, uncertainties, or predefined ranges of parameters propagate through a set of numerical calculations; for example, see R. Hammer, M. Hocks, U. Kulisch, and D. Ratz, C++ Toolbox for Verified Computing, Springer-Verlag, 1995.
(74) In one embodiment of the present invention, interval arithmetic is used to compute global bounds on model properties used within a model training formulation. These properties include, but are not limited to: output values, input-output gains, and higher-order input-output derivatives.
(75) In an interval arithmetic framework, each real-valued x is replaced by an equivalent real valued interval [x,x≤x≤
(76) Given any multi-dimensional function z=ƒ(x, y, . . . ), the interval equivalent [z]=ƒ([x], [y], . . . ) is sought, specifically, the minimum and maximum values that the function can assume given any tuple of values {x∈[x], y∈[y], . . . } within the specified domain. If the function is monotonic, these extremal values are found at the end points of the function. For example, if the function is monotonically increasing in each dimension, ƒ([x,
(77) Consider the interval equivalent of the four basic binary arithmetic operators °∈{+,−,×,÷}. The interval equivalent of each of these operators is:
[x]+[y]=[x+y,
[x]−[y]=[x−
[x]×[y]=[min{xy,x
[x]÷[y]=[x]×[1/
(78) Scaling and biasing by a constant as well as change of sign are specializations of these rules:
(79)
(80) Similar analysis can be repeated for elementary functions such as sin( ) tan( ) exp( ), and so forth.
(81) A key aspect of interval arithmetic is the computation of bounds on any function ƒ( ) which is defined by an expression of other elementary operations. This can be accomplished by replacing each elementary operation in the expression with its interval equivalent. The resulting interval function is called an interval extension of ƒ(.), and is denoted by ƒ.sub.[ ]([.]), which has the property
x∈[x],y∈[y], . . . ƒ(x,y, . . . )∈ƒ.sub.[ ]([x],[y], . . . ) (10)
(82) This can be written as a set inclusion
ƒ([x])ƒ.sub.[ ]([x]).
(83) While the bounds of the interval extension are not exact, they are guaranteed to contain the actual interval. The degree of over-bounding of the interval extension is dependent on the form of the expression which defines ƒ( ).
(84) Interval Arithmetic for Models
(85) A primary benefit of using interval extension is that it provides a computational mechanism for computing “auto bounds.” In other words, it permits the computation of guaranteed interval bounds on a composite function without having to derive these bounds explicitly for every composite form. As noted above, this idea may be applied systematically to any input-output model that can be represented as a flow-graph of other more elementary calculations, including both cyclic and acyclic graphs.
(86) For example, in one embodiment, the PUNDA model 506 shown in
(87)
(88) The interval extension of the summing junctions calculations can be summarized as follows:
(89)
(90) In this example, it is assumed that the weight w.sub.i and bias b parameters are constant values, not intervals. Assuming that the non-linear activation function is monotonically increasing, the interval extension may be computed as:
[h.sub.o,
h.sub.o=ƒ(x.sub.o)
(91) These interval expressions can be composed such that the output interval [h.sub.o,
(92)
(93) This is a simplification of equations that in some embodiments may appear in the dynamic parameterized model block 504, e.g., the MIMO block 504, of the PUNDA model 506. In describing the interval extension of this recurrent equation, it is assumed that the parametric values A.sub.i and B.sub.i are not constants. Rather, they are also intervals. This allows correct composition of this model with the previously described neural network structure.
(94)
Auto Differentiation and Interval Arithmetic
(95) In addition to computing functional bounds on a model, interval arithmetic may be used to compute bounds on input/output gains as well. This may be accomplished by combining interval arithmetic with auto-differentiation techniques (again, for more information, please see R. Hammer, M. Hocks, U. Kulisch, and D. Ratz, C++ Toolbox for Verified Computing, Springer-Verlag, 1995.) Auto-differentiation is an application of the chain-rule that allows the derivative of a complex function to be decomposed into a sequence of elementary derivative operations. Consider, for example, the exemplary neural network illustrated in
(96)
(97) Then perform the following set of chain-rule operations for each node in sequential order in conjunction with the normal evaluations:
(98)
(99) Finally, note that the propagated output quantity dy.sub.1/dθ is, by construction, the desired gain element dy.sub.1/du.sub.2.
(100) Thus, the computation of any input-output gain term may be reduced to a flow-graph operation. As such, the previously described interval extension techniques may be applied, and bounds of these gains computed for inclusion in a training problem. First, for the previous example the input boundary conditions may be augmented thus:
(101)
(102) and apply interval extension to the recursive gain operations, resulting in:
(103)
(104) Note that
(105)
represents the interval of possible first derivatives of the activation function over all possible input values u. This range may be computed during the forward pass using interval arithmetic techniques starting from a global range of input values [x.sub.o,
(106) It follows that:
(107)
Again, the output values may be interpreted as estimates of the overall gain bounds:
(108)
which are guaranteed to contain the actual gains over the selected input space [x.sub.o,
(109)
(110) To ensure that the actual model gains comply with the operational constraint [L, U] at all required input values, we need to ensure that the following inequality:
(111)
is satisfied for all required values of x. To accomplish this, it is sufficient to make sure that the gain bound estimates are within the range of the operational constraints, [L,U]:
(112)
While satisfaction of the inequality in Eq. (22) will ensure that the actual gains of the model comply with the desired operational constraints, the overestimation inherent in Eq. (20) may result in the actual gains being restricted to a narrow subset of [L,U].
Interval Arithmetic and Input-Region Partitioning
(113) Bounds on model outputs or model gains computed using interval arithmetic are, by their nature, conservative bound estimates. Tighter bounds can be computed using verified global optimization techniques. In the above description of using interval arithmetic methods to compute bounds on model outputs and gains, the entire operating region (or suitable super-set of that region) was used as the input interval. This input-interval is, in general, a multi-dimensional hyper-rectangle. Tighter bounds can be achieved by starting with smaller input interval. In the limiting case, a point input region results in the exact computation of the output or gain at that single point-input. This observation gives rise to a nature divide-and-conquer strategy for determining minimum and maximum values for outputs and gains of the model, see R. Hammer, M. Hocks, U. Kulisch, and D. Ratz, C++ Toolbox for Verified Computing, Springer-Verlag, 1995 and E. Hansen, Global Optimization Using Interval Analysis. Marcel Dekker, Inc. New York, 1992. As described later, this technique may be used during model training or, in the preferred embodiment, it can be performed as part of a post-training verification step.
(114) We describe specifically how to search for the minimum value of a model output or gain, denoted as ƒ, over a desired global input region and note that only slight modification is needed to search for the maximum value. The search begins with: (1) a single hyper-rectangle representing the global input region and (2) a global upper bound on the minimum value of ƒ denoted as {tilde over (ƒ)}. The initial value of {tilde over (ƒ)} may be selected as the minimum of a set of point-evaluations of ƒ. The input region is recursively partitioned by selecting an existing hyper-rectangle, repartitioning it along a selected dimension, and replacing it with the two new smaller hyper-rectangles. The interval-based computation of the [ƒ] is performed for the two new hyper-rectangles as described earlier. A hyper-rectangle in the working set can be discarded if {tilde over (ƒ)}<ƒ for that hyper-rectangle. In addition, the global lower bound {tilde over (ƒ)} may be reduced if a hyper-rectangle is constructed for which
(115)
(116)
(117) As
(118) In 804, data for the process input(s)/output(s) may be collected. For example, the data may be historical data available from plant normal operation, e.g., from plant operation logs, and/or test data. Alternatively, in some embodiments, all or part of the data may be generated from other models, assembled or averaged from multiple sources, etc. In yet another embodiment, the data may be collected substantially in real time from an operating process, e.g., from an online source.
(119) In 806, one or more signal processing operations may optionally be performed on the data. For example, the signal processing operations may include filtering the data to reduce noise contamination in the data, removing outlier data from the data set (i.e., anomalous data points), data compression, variable transformation, and normalization, among others. Thus, the collected data from 804 may be preprocessed or otherwise manipulated to put the data into a form suitable for use in training the model.
(120) In 808, prior knowledge about the process may optionally be assembled or gathered. For example, the prior knowledge may include operator knowledge regarding the sign of a particular gain, or a residence time in the system. As another example, the prior knowledge may include more systematic information, such as, for example, a partial or complete first principles model of the process, e.g., in the form of a set of nonlinear differential or partial differential equations. Well known methodologies exist to determine or extract constraints, such as derivatives of the outputs with respect to inputs (commonly referred to as gains), from first principles models or information.
(121) In 810, the prior knowledge of 808 may be processed to determine or create the constraints for the training problem. For example, commercially available software may be used to derive analytical expressions for the first or higher order derivatives of the outputs with respect to the inputs, including these derivatives in the constraints. In other embodiments, the processing may also include sophisticated checks on the consistency of the prior knowledge.
(122) In 812, an order for the MIMO difference equations may be determined. In other words, the order of the equations comprised in the parameterized dynamic model 504 may be determined. For example, in one embodiment, the order may be determined by an expert, i.e., one or more human experts, or by an expert system. In another embodiment, the order may be determined as a result of a systematic optimization problem, in which case the determination of the order of the model may be performed simultaneously or concurrently with the training of the model.
(123) In 814, an optimization problem may be formulated in which model parameters are or include decision variables. Equation 7 provides an example of a mathematical programming formulation, where an objective function operates to minimize model errors subject to a set of constraints. This mathematical programming formulation may, in one embodiment, be determined by transforming or recasting the prior knowledge into a mathematical description suitable for a NLP problem. The constraint set may include terms computed on a point-by-point basis over the set of data points. The constraint set may include aggregations of point-by-point constraints. The constraint set may also include data-independent bounds on constraint values, which in the preferred embodiment may be evaluated using interval arithmetic methods over either a single global input region or using input-region partitioning.
(124) In one embodiment, formulating an optimization problem may include determining or modifying the objective function. For example, the objective function may be input by a user, or may be programmatically determined by the optimization process, e.g., based on user specifications or stored criteria. In some embodiments, a pre-existing objective function may be received or retrieved from memory, and may optionally be modified. The objective function may be modified based on user input, and/or programmatically, i.e., automatically by the optimization process.
(125) In 816, optimization algorithms may be executed or performed to determine the parameters (i.e., values of the parameters) of the PUNDA model. Note that in various embodiments, any type of commercially available solver (such as, for example, solvers utilizing sequential quadratic programming or any other techniques) may be used for this purpose. In other embodiments, any of various traditional neural network training algorithms, such as back propagation, may be used as desired and appropriate.
(126) Finally, in 818, satisfaction of the constraint set may be verified and the value of the objective function may be computed. If the constraints are not satisfied, or the objective value is not sufficiently small, the method elements 810, 812, 814, and 816 of formulating and solving the model optimization task may be repeated. This verification may be performed in a number of ways including the use of heuristics or through the application of systematic analysis techniques, among others. For example, in a preferred embodiment, the data-independent gains of the model may be verified using interval arithmetic over the global input region and/or interval arithmetic with input-region partitioning.
(127) Thus, various embodiments of the method of
(128)
(129)
(130) In 902, the model may be initialized to a current status of the physical process to be controlled. This initialization may ensure that the PUNDA model and the physical plant are correctly aligned, and thus that the predictions produced by the PUNDA model are relevant to the physical process. In various embodiments, the initialization may be performed by a human expert, and expert system, or via a systematic methodology of identifying the initial conditions of the model given available current and past measurements from the physical process. Other approaches to initialization are also contemplated.
(131) In 904, various attributes or parameters of the combined model and process may be determined or defined, such as, for example, control variable and manipulated variable (CV and MV) target profiles, CV/MV constraint profiles, disturbance variable (DV) profiles, prediction and control horizons, objective function and constraints, and tuning parameters for the controller, among others. In various embodiments, these determinations or definitions may be performed by an operator, programmatically, or a combination of the two. In an embodiment where the determinations are made programmatically, the controller may be a hierarchical controller, where a higher level controller in the control hierarchy decides or determines the desired set points for a lower level controller.
(132) In 906, a profile for the MV moves or changes, i.e., a trajectory of the MV values, over the control horizon may be generated, and the model's response over the prediction horizon may be observed, and the deviation from the desired behavior determined. In one embodiment, the MV profiles may be determined by a human operator, although in a preferred embodiment, the MV profiles may be determined programmatically, e.g., by an optimization algorithm or process. The model response to the presumed MV profile may be calculated over the prediction horizon and compared to the desired behavior and constraints. The appropriateness or suitability of the MV profile may be measured or evaluated by or via corresponding value or values of the objective function. In other words, values of the manipulated variables are provided to the process model (i.e., the PUNDA model), e.g., to control the model, and the resulting behavior observed. This response is then compared to the desired response, e.g., as quantified by the value of the objective function, as is well known in the art of optimization.
(133) Then, in 908, an optimal MV profile may be determined. For example, in a preferred embodiment, method element 906 may be performed iteratively with different MV profiles until a satisfactory predicted system response is obtained. Although this may be performed via trial and error by a human operator, the preferred mode of operation is to use an optimizer to systematically search for the optimal MV profiles, e.g., by systematically seeking those MV moves or changes for which the objective function is improved (e.g. minimized when the objective function reflects the control cost) while respecting constraints. The determined optimal MV profile may be considered or referred to as a decision, and the corresponding model response may be considered or referred to as the predicted response of the process.
(134) In 910, information related to or indicating the MV profiles and corresponding model response (e.g., MV profiles and predicted system response) may optionally be displayed and/or logged, as desired. For example, the MV profiles and system response may be displayed in an appropriate user interface, or logged in a database, e.g., for future diagnosis.
(135) In 912, a portion or the entirety of the decision (MV) profiles may be transmitted to a distributed control system (DCS) to be applied to the physical system. In one embodiment, final checks or additional processing may be performed by the DCS. For example, the DCS may check to make sure that a decision (e.g., a value or set of values of the manipulated variables) does not fall outside a range, e.g., for safety. If the value(s) is/are found to be outside a valid or safe range, the value(s) may be reset, and/or an alert or alarm may be triggered to call attention to the violation.
(136) In 914, the output of the DCS, e.g., the (possibly modified) decision profiles, may be provided as actual input to the physical process, thereby controlling the process behavior, and the input to the physical process (i.e., the output of the DCS) and the actual process response (i.e., the actual process outputs) may be measured. In a preferred embodiment, the information may be fed back to the PUNDA model, where the actual process input/output measurements may be used to improve the estimate of the current status of the process in the model, and to produce a new deviation from the desired system response. In one embodiment, the optimization problem may be modified based on the input to the model. For example, in various embodiments modifying the optimization problem may include modifying one or more of constraints, the objective function, model parameters, optimization parameters, and optimization data, or any other aspect of the optimization process. The method may then return to method element 902 above, and continue as described above, dynamically monitoring and controlling the process in an ongoing manner, where the method attempts to satisfy the objective function subject to the determined or specified constraints.
(137) As noted above, in one embodiment, the input/output of the process may be used to continue training the PUNDA model online. Alternatively, in other embodiments, the model may be decoupled intermittently for further training, or, a copy of the model may be created and trained offline while the original model continues to operate, and the newly trained version substituted for the original at a specified time or under specified conditions.
(138) Thus, various embodiments of the parametric universal nonlinear dynamics approximator, or PUNDA model, described herein may provide a more powerful and flexible model architecture for prediction, optimization, control, and/or simulation applications. Additionally, the interval analysis approach described herein for determining constraints for this and other types of models provides a reliable and computationally tractable method for training such models. In combination, these concepts and techniques may facilitate substantially real time or online operation of prediction, optimization, and/or control systems in any of a wide variety of application domains. Offline modeling, prediction, and/or simulation of nonlinear processes and systems are also facilitated by embodiments of the systems and methods disclosed herein.
(139) Various embodiments further include receiving or storing instructions and/or data implemented in accordance with the foregoing description upon a carrier medium. Suitable carrier media include a memory medium as described above, as well as signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as networks and/or a wireless link.
(140) Although the system and method of the present invention has been described in connection with the preferred embodiment, it is not intended to be limited to the specific form set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the invention as defined by the appended claims.