US 20030014131 A1 Abstract An on-line optimizer is provided wherein a boiler (
720) is optimized by measuring a select plurality of inputs to the boiler (720) and mapping them through a predetermined relationship that defines a single value representing a spacial relationship in the boiler that is a function of the select inputs. This single value is then optimized with the use of a plant optimizer (818) which provides an optimized value. This optimized value is then processed thought the inverse relationship of the single modified value to provide modified inputs to the plant that can be applied to the plant. Claims(52) 1. A method for modifying the values of select ones of a plurality of inputs to a plant, comprised of steps of:
receiving the plurality of inputs; mapping in a first step of mapping N select ones of the received inputs through a first relationship defining P intermediate inputs numbering less than N, wherein the first relationship defines the relationship between the N select received inputs and the P intermediate inputs as a set of P intermediate values; processing the P intermediate values through a modifying process which modifies the P intermediate values in accordance with a predetermined modification algorithm to provide P modified intermediate inputs with corresponding P modified intermediate values; and mapping in a second step of mapping the P modified intermediate inputs and associated P modified intermediate values through the inverse of the first relationship to provide N modified select input values at the output of the second mapping step corresponding to the N select received input values. 2. The method of 3. The method of 4. The method of 5. The method of 6. The method of 7. The method of 8. The method of 9. The method of 10. The method of defining constraints for select ones of the N select ones of the received inputs; and limiting the predetermined modification algorithms such that processing of the P intermediate values will not result in the corresponding ones of the N modified inputs from exceeding the defined constraints. 11. A method for optimization of the operation of a boiler, comprising the steps of:
measuring the inputs and the outputs of the boiler; mapping a defined plurality of the measured inputs through a predetermined relationship that defines a desired operating parameter of the plant based upon said defined plurality of the measured inputs to intermediate inputs numbering less than the defined plurality of the measured inputs; processing the intermediate inputs and the inputs not in said defined plurality of the measured inputs through an optimizer to provide optimized intermediate input values for the intermediate inputs and optimized inputs not in the defined plurality of the measured inputs optimized in accordance with a predetermined optimization algorithm; mapping the optimized intermediate input values through an inverse of the predetermined relationship to provide an optimized defined plurality of inputs corresponding to the defined plurality of the measured inputs; and applying the optimized defined plurality of inputs and the optimized inputs not in the defined plurality of the measured inputs to the boiler. 12. The method of where:
Fe=Calculated Fuel Elevation
K
_{1 }. . . K_{n}=Elevation Constant for elevation 1 to n (described hereinbelow) R
_{1 }. . . R_{n}=Coal Feed Rate for elevation 1 to n such that fuel can be concentrated at a desired location in the furnace with a desired center of mass for the fuel concentration. 13. The method of wherein D3, D5 and D7 represent damper opening values for three dampers, each value for the damper representing a percent open value therefor, this relationship representing the center of mass for the auxiliary air based on the damper positions and an arbitrary furnace elevation scale wherein in damper D7 is set at the maximum elevation, damper D5 is set at ⅔ of the elevation, and damper D3 is set at ⅓ of the elevation.
14. The method of where D3, D5 and D7 represent damper opening values for three dampers, each value for the damper representing a percent open value therefor, this relationship representing the flowated geometric center of for the auxiliary air and:
D3=% open of Damper 3
D5=% open of Damper 5
D7=% open of Damper 7
WB/FUR=Windbox to Furnace pressure—differential pressure between the windbox and the interior of the furnace.
15. A method for optimizing the operation of a plant having a plurality of manipulatable input variables (MVs) and at least one output, comprising the steps of:
providing a predictive network to receive select ones of the MVs and predict new and updated values therefor as updated MV inputs to the plant in accordance with a predetermined prediction algorithm; and inputting the updated MV inputs to the plant; the step of providing a predictive network, comprising the steps of:
mapping in a first step of mapping N select ones of the MVs through a first relationship defining P intermediate MVs numbering less than N, wherein the first relationship defines the relationship between the N select MVs and the P intermediate MVs as a set of P intermediate values,
processing the P intermediate values and the non mapped ones of the MVs through a modifying process which modifies the P intermediate values and the non mapped ones of the MVs in accordance with a predetermined modification algorithm to provide P modified intermediate MVs with corresponding P modified intermediate values and non mapped modified MVs for the non mapped ones of the MVs, and
mapping in a second step of mapping the P modified intermediate MVs and associated P modified intermediate values through the inverse of the first relationship to provide N modified select MVs at the output of the second mapping step corresponding to the N select MVs,
wherein the P modified intermediate MVs and the non mapped modified MVs comprise the updated MV inputs.
16. The method of 17. The method of 18. The method of 19. The method of 20. The method of 21. The method of 22. The method of 23. The method of 24. The method of defining constraints for select ones of the N select ones of the MVs; and limiting the predetermined modification algorithms such that processing of the P intermediate values will not result in the corresponding ones of the N modified MVs from exceeding the defined constraints. 25. The method of 26. The method of 27. A mapping network for modifying the values of select ones of a plurality of inputs to a plant, comprising:
an input layer for receiving the plurality of inputs; an input mapper for mapping N select ones of said received inputs through a first relationship defining P intermediate inputs numbering less than N, wherein said first relationship defines the relationship between said N select received inputs and said P intermediate inputs as a set of P intermediate values; a processor for processing said P intermediate values through a modifying process which modifies said P intermediate values in accordance with a predetermined modification algorithm to provide P modified intermediate inputs with corresponding P modified intermediate values; and an output mapper for mapping said P modified intermediate inputs and associated P modified intermediate values through the inverse of said first relationship to provide N modified select input values at the output of said output mapper corresponding to said N select received input values. 28. The mapping network of 29. The mapping network of 30. The mapping network of 31. The mapping network of 31. The mapping network of 32. The mapping network of 33. The mapping network of 34. The mapping network of 35. The mapping network of a constraining device for defining constraints for select ones of said N select ones of said received inputs; and said constraining device for limiting said predetermined modification algorithms such that processing of said P intermediate values by said processor will not result in the corresponding ones of said N modified inputs from exceeding said defined constraints. 36. An optimization network for optimizing the operation of a boiler, comprising:
an input network for measuring the inputs and the outputs of the boiler, an input mapper for mapping a defined plurality of said measured inputs through a predetermined relationship that defines a desired operating parameter of the plant based upon said defined plurality of said measured inputs to intermediate inputs numbering less than said defined plurality of said measured inputs; a processor for processing said intermediate inputs and said inputs not in said defined plurality of said measured inputs through an optimizer to provide optimized intermediate input values for said intermediate inputs and optimized inputs not in said defined plurality of said measured inputs optimized in accordance with a predetermined optimization algorithm; an output mapper for mapping said optimized intermediate input values through an inverse of said predetermined relationship to provide an optimized defined plurality of inputs corresponding to the defined plurality of said measured inputs; and a controller for applying said optimized defined plurality of inputs and said optimized inputs not in said defined plurality of said measured inputs to the boiler. 37. The optimization network of where:
Fe=Calculated Fuel Elevation
K
_{1 }. . . K_{n}=Elevation Constant for elevation 1 to n (described hereinbelow) R
_{1 }. . . R_{n}=Coal Feed Rate for elevation 1 to n such that fuel can be concentrated at a desired location in said furnace with a desired center of mass for said fuel concentration. 38. The optimization network of wherein D3, D5 and D7 represent damper opening values for three dampers, each value for said damper representing a percent open value therefor, this relationship representing the center of mass for the auxiliary air based on said damper positions and an arbitrary furnace elevation scale wherein in damper D7 is set at said maximum elevation, damper D5 is set at ⅔ of the elevation, and damper D3 is set at ⅓ of the elevation.
39. The method of where D3, D5 and D7 represent damper opening values for three dampers, each value for said damper representing a percent open value therefor, this relationship representing the flowated geometric center of for the auxiliary air and:
D3=% open of Damper 3
D5=% open of Damper 5
D7=% open of Damper 7
WB/FUR=Windbox to Furnace pressure—differential pressure between said windbox and the interior of said furnace.
40. A optimization network for optimizing the operation of a plant having a plurality of manipulatable input variables (MVs) and at least one output, comprising;
a predictive network operable to receive select ones of the MVs on an input thereto and predict and output on an output new and updated values therefor as updated MV inputs to the plant in accordance with a predetermined prediction algorithm; and a controller for inputting the updated MV inputs to the plant; said predictive network having:
an input mapper for mapping N select ones of the MVs through a first relationship defining P intermediate MVs numbering less than N, wherein said first relationship defines the relationship between said N select MVs and said P intermediate MVs as a set of P intermediate values,
a processor for processing said P intermediate values and the non mapped ones of said MVs through a modifying process which modifies said P intermediate values and said non mapped ones of said MVs in accordance with a predetermined modification algorithm to provide P modified intermediate MVs with corresponding P modified intermediate values and non mapped modified MVs for said non mapped ones of said MVs, and
an output mapper for mapping said P modified intermediate MVs and associated P modified intermediate values through the inverse of said first relationship to provide N modified select MVs at the output of the second mapper corresponding to said N select MVs,
wherein said P modified intermediate MVs and said non mapped modified MVs comprise said updated MV inputs.
41. The optimization network of 42. The optimization network of 43. The optimization network of 44. The method of 45. The optimization network of 46. The optimization network of 47. The meth optimization network of 48. The optimization network of 49. The optimization network of defining constraints for select ones of said N select ones of said MVs; and limiting said predetermined modification algorithms such that processing of said P intermediate values will not result in the corresponding ones of said N modified MVs from exceeding said defined constraints. 50. The optimization network of 51. The optimization network of claim 50, wherein said processor is operable to process said P intermediate input values and the non mapped MVs through a steady state optimizer to provide optimized intermediate MVs as said P modified intermediate values and optimized non mapped MVs for said non mapped MVs and said estimation network is operable to determine a bias value for said steady state optimizer and apply it to said steady state optimizer.Description [0001] This application is a Continuation of U.S. patent application Ser. No. 09/224,648, filed Dec. 31, 1998, and entitled “A METHOD FOR OPTIMIZING A PLANT WITH MULTIPLE INPUTS,” (Atty. Dkt. No. PAVI-24,541), which is a Continuation-in-Part Application of U.S. patent application Ser. No. 09/167,504, filed Oct. 6, 1998, and entitled “A METHOD FOR ONE-LINE OPTIMIZATION OF A PLANT,” (Atty Dkt No. PAVI-24100), which is a Continuation-in-Part Application of U.S. patent application Ser. No. 08/943,489, filed Oct. 3, 1997, and entitled “A METHOD FOR STEADY-STATE IDENTIFICATION BASED UPON IDENTIFIED DYNAMICS,” which is a Continuation-in-Part of U.S. Pat. Ser. No. 08/643,464, filed May 6, 1996, and entitled “Method and Apparatus for Modeling Dynamic and Steady-State Processors for Prediction, Control, and Optimization.” [0002] The present invention pertains in general to neural network based control systems and, more particularly, to on-line optimization thereof. [0003] Process models that are utilized for prediction, control and optimization can be divided into two general categories, steady-state models and dynamic models. In each case the model is a mathematical construct that characterizes the process, and process measurements are utilized to parameterize or fit the model so that it replicates the behavior of the process. The mathematical model can then be implemented in a simulator for prediction or inverted by an optimization algorithm for control or optimization. [0004] Steady-state or static models are utilized in modem process control systems that usually store a great deal of data, this data typically containing steady-state information at many different operating conditions. The steady-state information is utilized to train a non-linear model wherein the process input variables are represented by the vector U that is processed through the model to output the dependent variable Y. The non-linear model is a steady-state phenomenological or empirical model developed utilizing several ordered pairs (U Y=P(U,Y) (001) [0005] where P is some parameterization, then the steady-state modeling procedure can be presented as: ({right arrow over (U)},{right arrow over (Y)})→P (002) [0006] where U and Y are vectors containing the U [0007] The steady-state model therefore represents the process measurements that are taken when the system is in a “static” mode. These measurements do not account for the perturbations that exist when changing from one steady-state condition to another steady-state condition. This is referred to as the dynamic part of a model. [0008] A dynamic model is typically a linear model and is obtained from process measurements which are not steady-state measurements; rather, these are the data obtained when the process is moved from one steady-state condition to another steady-state condition. This procedure is where a process input or manipulated variable u(t) is input to a process with a process output or controlled variable y(t) being output and measured. Again, ordered pairs of measured data (u(I), y(I)) can be utilized to parameterize a phenomenological or empirical model, this time the data coming from non-steady-state operation. The dynamic model is represented as: y(t)=p(u(t),y(t)) (004) [0009] where p is some parameterization. Then the dynamic modeling procedure can be represented as: ({right arrow over (u)},{right arrow over (y)})→p (005) [0010] Where u and y are vectors containing the (u(I),y(I)) ordered pair elements. Given the model p, then the steady-state gain of a dynamic model can be calculated as:
[0011] Unfortunately, almost always the dynamic gain k does not equal the steady-state gain K, since the steady-state gain is modeled on a much larger set of data, whereas the dynamic gain is defined around a set of operating conditions wherein an existing set of operating conditions are mildly perturbed. This results in a shortage of sufficient non-linear information in the dynamic data set in which non-linear information is contained within the static model. Therefore, the gain of the system may not be adequately modeled for an existing set of steady-state operating conditions. Thus, when considering two independent models, one for the steady-state model and one for the dynamic model, there is a mis-match between the gains of the two models when used for prediction, control and optimization. The reason for this mis-match are that the steady-state model is non-linear and the dynamic model is linear, such that the gain of the steady-state model changes depending on the process operating point, with the gain of the linear model being fixed. Also, the data utilized to parameterize the dynamic model do not represent the complete operating range of the process, i.e., the dynamic data is only valid in a narrow region. Further, the dynamic model represents the acceleration properties of the process (like inertia) whereas the steady-state model represents the tradeoffs that determine the process final resting value (similar to the tradeoff between gravity and drag that determines terminal velocity in free fall). [0012] One technique for combining non-linear static models and linear dynamic models is referred to as the Hammerstein model. The Hammerstein model is basically an input-output representation that is decomposed into two coupled parts. This utilizes a set of intermediate variables that are determined by the static models which are then utilized to construct the dynamic model. These two models are not independent and are relatively complex to create. [0013] Plants have been modeled utilizing the various non-linear networks. One type of network that has been utilized in the past is a neural network. These neural networks typically comprise a plurality of inputs which are mapped through a stored representation of the plant to yield on the output thereof predicted outputs. These predicted outputs can be any output of the plant. The stored representation within the plant is typically determined through a training operation. [0014] During the training of a neural network, the neural network is presented with a set of training data. This training data typically comprises historical data taken from a plant. This historical data is comprised of actual input data and actual output data, which output data is referred to as the target data. During training, the actual input data is presented to the network with the target data also presented to the network, and then the network trained to reduce the error between the predicted output from the network and the actual target data. One very widely utilized technique for training a neural network is a backpropagation training algorithm. However, there are other types of algorithms that can be utilized to set the “weights” in the network. [0015] When a large amount of steady-state data is available to a network, the stored representation can be accurately modeled. However, some plants have a large amount of dynamic information associated therewith. This dynamic information reflects the fact that the inputs to the plant undergo a change which results in a corresponding change in the output. If a user desired to predict the final steady-state value of the plant, plant dynamics may not be important and this data could be ignored. However, there are situations wherein the dynamics of the plant are important during the prediction. It may be desirable to predict the path that an output will take from a beginning point to an end point. For example, if the input were to change in a step function from one value to another, a steady-state model that was accurately trained would predict the final steady-state value with some accuracy. However, the path between the starting point and the end point would not be predicted, as this would be subject to the dynamics of the plant. Further, in some control applications, it may be desirable to actually control the plant such that the plant dynamics were “constrained,” this requiring some knowledge of the dynamic operation of the plant. [0016] In some applications, the actual historical data that is available as the training set has associated therewith a considerable amount of dynamic information. If the training data set had a large amount of steady-state information, an accurate model could easily be obtained for a steady-state model. However, if the historical data had a large amount of dynamic information associated therewith, i.e., the plant were not allowed to come to rest for a given data point, then there would be an error associated with the training operation that would be a result of this dynamic component in the training data. This is typically the case for small data sets. This dynamic component must therefore be dealt with for small training data sets when attempting to train a steady-state model. [0017] When utilizing a model for the purpose of optimization, it is necessary to train a model on one set of input values to predict another set of input values at future time. This will typically require a steady-state modeling technique. In optimization, especially when used in conjunction with a control system, the optimization process will take a desired set of set points and optimizes those set points. However, these models are typically selected for accurate gain. a problem arises whenever the actual plant changes due to external influences, such as outside temperature, build up of slag, etc. Of course, one could regenerate the model with new parameters. However, the typical method is to actually measure the output of the plant, compare it with a predicted value to generate a “biased” value which sets forth the error in the plant as opposed to the model. This error is then utilized to bias the optimization network. However, to date this technique has required the use of steady-state models which are generally off-line models. The reason for this is that the actual values must “settle out” to reach a steady-state value before the actual bias can be determined. During operation of a plant, the outputs are dynamic. [0018] The present invention disclosed herein comprises a method for modifying the values of select ones of a plurality of inputs to a plant. The plurality of inputs is received and then only N select ones of the received inputs are processed. These N select inputs are mapped in a first step of mapping through a first relationship. This first relationship defines P intermediate inputs numbering less than N, with the first relationship defining the relationship between the N select received inputs and the P intermediate inputs as a set of P intermediate values. These P intermediate values are then processed through a modifying process which modifies the P intermediate values in accordance with a predetermined modification algorithm to provide P modified intermediate inputs with corresponding P modified intermediate values. A second step of mapping is then performed on the P modified intermediate inputs and associated P modified intermediate values through the inverse of the first relationship. This provides N modified select input values at the output of the second mapping step that correspond to the N select received input values. [0019] In another aspect of the present invention, there is provided a post processing step on select ones of the N modified select input values. Each of the processed ones of the N modified select input values is processed with a predetermined process algorithm. Each of these process algorithms can be unique to the associated one of the N modified select input. [0020] For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying Drawings in which: [0021]FIG. 1 illustrates a prior art Hammerstein model; [0022]FIG. 2 illustrates a block diagram of a modeling technique utilizing steady-state gain to define the gain of the dynamic model; [0023]FIG. 3 [0024]FIG. 4 illustrates a detailed block diagram of a dynamic model; [0025]FIG. 5 illustrates a block diagram of the operation of the model of FIG. 4; [0026]FIG. 6 illustrates an example of the modeling technique of the embodiment of FIG. 2 utilized in a control environment; [0027]FIG. 7 illustrates a diagrammatic view of a change between two steady-state values; [0028]FIG. 8 illustrates a diagrammatic view of the approximation algorithm for changes in the steady-state value; [0029]FIG. 9 illustrates a block diagram of the dynamic model; [0030]FIG. 10 illustrates a detail of the control network utilizing an error constraining algorithm; [0031]FIGS. 11 [0032]FIG. 12 illustrates a plot depicting desired and predicted behavior; [0033]FIG. 13 illustrates various plots for controlling a system to force the predicted behavior to the desired behavior; [0034]FIG. 14 illustrates a plot of a trajectory weighting algorithm; [0035]FIG. 15 illustrates a plot for one type of constraining algorithm; [0036]FIG. 16 illustrates a plot of the error algorithm as a function of time; [0037]FIG. 17 illustrates a flowchart depicting the statistical method for generating the filter and defining the end point for the constraining algorithm of FIG. 15; [0038]FIG. 18 illustrates a diagrammatic view of the optimization process; [0039]FIG. 18 [0040]FIG. 19 illustrates a flowchart for the optimization procedure; [0041]FIG. 20 illustrates a diagrammatic view of the input space and the error associated therewith; [0042]FIG. 21 illustrates a diagrammatic view of the confidence factor in the input space; [0043]FIG. 22 illustrates a block diagram of the method for utilizing a combination of a non-linear system and a first principals system; [0044]FIG. 23 illustrates an alternate embodiment of the embodiment of FIG. 22; [0045]FIG. 24 illustrates a plot of a pair of data with a defined delay associated therewith; [0046]FIG. 25 illustrates a diagrammatic view of the binning method for determining statistical independence; [0047]FIG. 26 illustrates a block diagram of a training method wherein delay is determined by statistical analysis; [0048]FIG. 27 illustrates a flow chart of the method for determining delays based upon statistical methods; [0049]FIG. 28 illustrates a prior art Weiner model; [0050]FIG. 29 illustrates a block diagram of a training method utilizing the system dynamics; [0051]FIG. 30 illustrates plots of input data, actual output data, and the filtered input data which has the plant dynamics impressed thereupon; [0052]FIG. 31 illustrates a flow chart for the training operation; [0053]FIG. 32 illustrates a diagrammatic view of the step test; [0054]FIG. 33 illustrates a diagrammatic view of a single step for u(t) and {overscore (u)}(t); [0055]FIG. 34 illustrates a diagrammatic view of the pre-filter operation during training; [0056]FIG. 35 illustrates a diagrammatic view of a MIMO implementation of the training method of the present invention; and [0057]FIG. 36 illustrates a non-fully connected network; [0058]FIG. 37 illustrates a graphical user interface for selecting ranges of values for the dynamic inputs in order to train the dynamic model; [0059]FIG. 38 illustrates a flowchart depicting the selection of data and training of the model; [0060]FIGS. 39 and 40 illustrate graphical user interfaces for depicting both the actual historical response and the predictive response; [0061]FIG. 41 illustrates a block diagram of a predictive control system with a GUI interface; [0062] FIGS. [0063]FIG. 46 illustrates a diagrammatic view of a plant utilizing on-line optimization; [0064]FIG. 47 illustrates a block diagram of the optimizer; [0065]FIG. 48 illustrates a plot of manipulatable variables and controlled variables or outputs; [0066] FIGS. [0067]FIG. 52 illustrates a block diagram of a prior art optimizer utilizing steady-state; [0068]FIG. 53 illustrates a diagrammatic view for determining the computed disturbance variables; [0069]FIG. 53 [0070]FIG. 54 illustrates a block diagram for a steady state model utilizing the computer disturbance variables; [0071]FIG. 55 illustrates an overall block diagram of an optimization circuit utilizing computed disturbance variables; [0072]FIG. 56 illustrates a diagrammatic view of furnace/boiler system which has associated therewith multiple levels of coal firing; [0073]FIG. 57 illustrates a top sectional view of the tangentially fired furnace; [0074]FIG. 57 [0075]FIG. 58 illustrates a block diagram of one application of the on-line optimizer; [0076]FIG. 59 illustrates a block diagram of training algorithm for training a model using a multiple to single MV algorithm; and [0077]FIGS. 60 and 61 illustrate more detailed block diagrams of the embodiment of FIG. 57. [0078]FIG. 62 illustrates a conceptual diagrammatic view of the process for converting multiple inputs to a single input for optimization thereof; and [0079]FIG. 63 illustrates a more detailed block diagram of the structure in FIG. 62. [0080] Referring now to FIG. 1, there is illustrated a diagrammatic view of a Hammerstein model of the prior art. This is comprised of a non-linear static operator model [0081] Once the steady-state model is obtained, one can then choose the output vector from the hidden layer in the neural network as the intermediate variable for the Hammerstein model. In order to determine the input for the linear dynamic operator, u(t), it is necessary to scale the output vector h(d) from the non-linear static operator model [0082] During the development of a linear dynamic model to represent the linear dynamic operator, in the Hammerstein model, it is important that the steady-state non-linearity remain the same. To achieve this goal, one must train the dynamic model subject to a constraint so that the non-linearity learned by the steady-state model remains unchanged after the training. This results in a dependency of the two models on each other. [0083] Referring now to FIG. 2, there is illustrated a block diagram of the modeling method in one embodiment, which is referred to as a systematic modeling technique. The general concept of the systematic modeling technique in the present embodiment results from the observation that, while process gains (steady-state behavior) vary with U's and Y's,( i.e., the gains are non-linear), the process dynamics seemingly vary with time only, (i.e., they can be modeled as locally linear, but time-varied). By utilizing non-linear models for the steady-state behavior and linear models for the dynamic behavior, several practical advantages result. They are as follows: [0084] 1. Completely rigorous models can be utilized for the steady-state part. This provides a credible basis for economic optimization. [0085] 2. The linear models for the dynamic part can be updated on-line, i.e., the dynamic parameters that are known to be time-varying can be adapted slowly. [0086] 3. The gains of the dynamic models and the gains of the steady-state models can be forced to be consistent (k=K). [0087] With further reference to FIG. 2, there are provided a static or steady-state model [0088] In the static model [0089] SYSTEMATIC MODEL [0090] The linear dynamic model [0091] where: [0092] and t is time, a [0093] where B is the backward shift operator B(x(t))=x(t−1), t=time, the a [0094] The gain of this model can be calculated by setting the value of B equal to a value of “1”. The gain will then be defined by the following equation:
[0095] The a [0096] Shearer, A. T. Murphy, and H. H. Richardson, “Introduction to System Dynamics”, Addison-Wesley, Reading, Mass. 1967, Chapter 12. This reference is incorporated herein by reference. [0097] Since the gain K [0098] This makes the dynamic model consistent with its steady-state counterpart. Therefore, each time the steady-state value changes, this corresponds to a gain K [0099] Referring now to FIGS. 3 [0100] In FIG. 3 [0101] Referring now to FIG. 4, there is illustrated a block diagram of a method for determining the parameters a [0102] In the technique of FIG. 4, the dynamic model [0103] Referring now to FIG. 5, there is illustrated a block diagram of the preferred method. The program is initiated in a block [0104] Referring now to FIG. 6, there is illustrated a block diagram of one application of the present embodiment utilizing a control environment. A plant [0105] To facilitate the dynamic control aspect, a dynamic controller [0106] During the operation of the system, the dynamic controller [0107] APPROXIMATE SYSTEMATIC MODELING [0108] For the modeling techniques described thus far, consistency between the steady-state and dynamic models is maintained by resealing the b [0109] Referring now to FIG. 7, there is illustrated a diagram for a change between steady-state values. As illustrated, the steady-state model will make a change from a steady-state value at a line [0110] Referring now to FIG. 8, there is illustrated a diagrammatic view of the system undergoing numerous changes in steady-state value as represented by a stepped line [0111] The approximation is provided by the block [0112] 1. Computational Complexity: The approximate systematic model will be used in a Model Predictive Control algorithm, therefore, it is required to have low computational complexity. [0113] 2. Localized Accuracy: The steady-state model is accurate in localized regions. These regions represent the steady-state operating regimes of the process. The steady-state model is significantly less accurate outside these localized regions. [0114] 3. Final Steady-State: Given a steady-state set point change, an optimization algorithm which uses the steady-state model will be used to compute the steady-state inputs required to achieve the set point. Because of item 2, it is assumed that the initial and final steady-states associated with a set-point change are located in regions accurately modeled by the steady-state model. [0115] Given the noted criteria, an approximate systematic model can be constructed by enforcing consistency of the steady-state and dynamic model at the initial and final steady-state associated with a set point change and utilizing a linear approximation at points in between the two steady-states. This approximation guarantees that the model is accurate in regions where the steady-state model is well known and utilizes a linear approximation in regions where the steady-state model is known to be less accurate. In addition, the resulting model has low computational complexity. For purposes of this proof, Equation 13 is modified as follows:
[0116] This new equation 14 utilizes K [0117] The approximate systematic model is based upon utilizing the gains associated with the initial and final steady-state values of a set-point change. The initial steady-state gain is denoted K [0118] Substituting this approximation into Equation 13 and replacing u(t−d−1)−u [0119] To simplify the expression, define the variable b [0120] and g [0121] Equation 16 may be written as: [0122] Finally, substituting the scaled b's back into the original difference Equation 7, the following expression for the approximate systematic model is obtained:
[0123] The linear approximation for gain results in a quadratic difference equation for the output. Given Equation 20, the approximate systematic model is shown to be of low computational complexity. It may be used in a MPC algorithm to efficiently compute the required control moves for a transition from one steady-state to another after a set-point change. Note that this applies to the dynamic gain variations between steady-state transitions and not to the actual path values. [0124] CONTROL SYSTEM ERROR CONSTRAINTS [0125] Referring now to FIG. 9, there is illustrated a block diagram of the prediction engine for the dynamic controller [0126] With further reference to FIG. 9, the input values u(t) for each (u,y) pair are input to a delay line [0127] The a [0128] In FIG. 9, the coefficients in the coefficient modification block [0129] Referring now to FIG. 10, there is illustrated a block diagram of the dynamic controller and optimizer. The dynamic controller includes a dynamic model [0130] The output of model [0131] The optimization function is performed by the inverse model [0132] Referring now to FIGS. 11 [0133] Referring now to FIG. 12, there is illustrated a plot of y [0134] where: Du [0135] A [0136] y [0137] y [0138] Trajectory Weighting [0139] The present system utilizes what is referred to as “trajectory weighting” which encompasses the concept that one does not put a constant degree of importance on the future predicted process behavior matching the desired behavior at every future time set, i.e., at low k-values. One approach could be that one is more tolerant of error in the near term (low k-values) than farther into the future (high k-values). The basis for this logic is that the final desired behavior is more important than the path taken to arrive at the desired behavior, otherwise the path traversed would be a step function. This is illustrated in FIG. 13 wherein three possible predicted behaviors are illustrated, one represented by a curve [0140] In Equation 23, the predicted curves [0141] Error Constraints [0142] Referring now to FIG. 15, there are illustrated constraints that can be placed upon the error. There is illustrated a predicted curve [0143] The difference between constraint frustum and trajectory weighting is that constraint frustums are an absolute limit (hard constraint) where any behavior satisfying the limit is just as acceptable as any other behavior that also satisfies the limit. Trajectory weighting is a method where differing behaviors have graduated importance in time. It can be seen that the constraints provided by the technique of FIG. 15 requires that the value y [0144] Trajectory weighting can be compared with other methods, there being two methods that will be described herein, the dynamic matrix control (DMC) algorithm and the identification and command (IdCom) algorithm. The DMC algorithm utilizes an optimization to solve the control problem by minimizing the objective function:
[0145] where B [0146] It is noted that the weights A [0147] The IdCom algorithm utilizes a different approach. Instead of a constant desired value, a path is defined for the control variables to take from the current value to the desired value. This is illustrated in FIG. 16. This path is a more gradual transition from one operation point to the next. Nevertheless, it is still a rigidly defined path that must be met. The objective function for this algorithm takes the form:
[0148] This technique is described in Richalet, J., A. Rault, J. L. Testud, and J. Papon, Model Predictive Heuristic Control: Applications to Industrial Processes, Automatica, 14, 413-428 (1978), which is incorporated herein by reference. It should be noted that the requirement of Equation 25 at each time interval is sometimes difficult. In fact, for control variables that behave similarly, this can result in quite erratic independent variable changes due to the control algorithm attempting to endlessly meet the desired path exactly. [0149] Control algorithms such as the DMC algorithm that utilize a form of matrix inversion in the control calculation, cannot handle control variable hard constraints directly. They must treat them separately, usually in the form of a steady-state linear program. Because this is done as a steady-state problem, the constraints are time invariant by definition. Moreover, since the constraints are not part of a control calculation, there is no protection against the controller violating the hard constraints in the transient while satisfying them at steady-state. [0150] With further reference to FIG. 15, the boundaries at the end of the envelope can be defined as described hereinbelow. One technique described in the prior art, W. Edwards Deming, “Out of the Crisis,” Massachusetts Institute of Technology, Center for Advanced Engineering Study, Cambridge Mass., Fifth Printing, September 1988, pages 327-329, describes various Monte Carlo experiments that set forth the premise that any control actions taken to correct for common process variation actually may have a negative impact, which action may work to increase variability rather than the desired effect of reducing variation of the controlled processes. Given that any process has an inherent accuracy, there should be no basis to make a change based on a difference that lies within the accuracy limits of the system utilized to control it. At present, commercial controllers fail to recognize the fact that changes are undesirable, and continually adjust the process, treating all deviation from target, no matter how small, as a special cause deserving of control actions, i.e., they respond to even minimal changes. Over adjustment of the manipulated variables therefore will result, and increase undesirable process variation. By placing limits on the error with the present filtering algorithms described herein, only controller actions that are proven to be necessary are allowed, and thus, the process can settle into a reduced variation free from unmerited controller disturbances. The following discussion will deal with one technique for doing this, this being based on statistical parameters. [0151] Filters can be created that prevent model-based controllers from taking any action in the case where the difference between the controlled variable measurement and the desired target value are not significant. The significance level is defined by the accuracy of the model upon which the controller is statistically based. This accuracy is determined as a function of the standard deviation of the error and a predetermined confidence level. The confidence level is based upon the accuracy of the training. Since most training sets for a neural network-based model will have “holes” therein, this will result in inaccuracies within the mapped space. Since a neural network is an empirical model, it is only as accurate as the training data set. Even though the model may not have been trained upon a given set of inputs, it will extrapolate the output and predict a value given a set of inputs, even though these inputs are mapped across a space that is questionable. In these areas, the confidence level in the predicted output is relatively low. This is described in detail in U.S. patent application Ser. No. 08/025,184, filed Mar. 2, 1993, which is incorporated herein by reference. [0152] Referring now to FIG. 17, there is illustrated a flowchart depicting the statistical method for generating the filter and defining the end point [0153] where: [0154] e [0155] a=actual value [0156] p=model predicted value [0157] The model accuracy is defined by the following equation: Acc= [0158] where: [0159] Acc=accuracy in terms of minimal detector error
[0160] σ [0161] The program then flows to a function block [0162] where: [0163] e [0164] d=desired value [0165] m=measured value [0166] The program will then flow to a decision block S [0167] where: [0168] S [0169] S [0170] k=Tuning factor—minimal detectable change threshold with the following defined: [0171] Hq=significance level. Values of (j,k) can be found so that the CUSUM control chart will have significance levels equivalent to Shewhart control charts. [0172] The program will then flow to a decision block [0173] Referring now to FIG. 18, there is illustrated a block diagram of the overall optimization procedure. In the first step of the procedure, the initial steady-state values {Y [0174] Referring now to FIG. 18 [0175] Referring now to FIG. 19, there is illustrated a flow chart depicting the optimization algorithm. The program is initiated at a start block [0176] Steady State Gain Determination [0177] Referring now to FIG. 20, there is illustrated a plot of the input space and the error associated therewith. The input space is comprised of two variables x [0178] Once the system is operating outside of the training data regions, i.e., in a low confidence region, the accuracy of the neural net is relatively low. In accordance with one aspect of the preferred embodiment, a first principles model g(x) is utilized to govern steady-state operation. The switching between the neural network model f(x) and the first principle models g(x) is not an abrupt switching but, rather, it is a mixture of the two. [0179] The steady-state gain relationship is defined in Equation 7 and is set forth in a more simple manner as follows:
[0180] A new output function Y(u) is defined to take into account the confidence factor α(u) as follows: [0181] where: [0182] α(u)=confidence in model f (u) [0183] α(u) in the range of 0→1 [0184] α(u)ε{0,1} [0185] This will give rise to the relationship:
[0186] In calculating the steady-state gain in accordance with this Equation utilizing the output relationship Y(u), the following will result:
[0187] Referring now to FIG. 22, there is illustrated a block diagram of the embodiment for realizing the switching between the neural network model and the first principles model. A neural network block [0188] Referring now to FIG. 23, there is illustrated an alternate embodiment which utilizes discreet switching. The output of the first principles block [0189] The switch [0190] Identification of Dynamic Models [0191] Gain information, as noted hereinabove, can also be utilized in the development of dynamic models. Instead of utilizing the user-specified gains, the gains may be obtained from a trained steady-state model. Although described hereinabove with reference to Equation 7, a single input, single output dynamic model will be defined by a similar equation as follows: [0192] where the dynamic steady-state gain is defined as follows:
[0193] This gain relationship is essentially the same as defined hereinabove in Equation 11. Given a time series of input and output data, u(t) and y(t), respectively, and the steady-state or static gain associated with the average value of the input, K′ [0194] where λ is a user-specified value. It is noted that the second half of Equation 37 constitutes the summation over the time series with the value y(t) constituting the actual output and the function y 0≦a [0195] which are conventional constraints. The variable λ is used to enforce the average steady-state gain, K′ [0196] For a large value of λ, the gain of the steady-state and dynamic models are forced to be equal. For a small value of λ, the gain of the dynamic model is found independently from that of the steady-state model. For λ=0, the optimization problem is reduced to a technique commonly utilized in identification of output equation-based models, as defined in L. Ljung, “System Identification: Theory for the User,” Prentice-Hall, Englewood Cliffs, N.J. 1987. [0197] In defining the dynamic model in accordance with Equation No. 37, it is recognized that only three parameters need to be optimized, the a [0198] In the embodiment described above with respect to FIG. 2, the model was identified by varying the b-values with the dynamic gain forced to be equal to the steady-state gain. In the embodiment illustrated above with respect to Equation 37, the dynamic gain does not necessarily have to equal the steady-state gain K′ [0199] The above noted technique of Equation 37 provides for determining the a's and b's of the dynamic model as a method of identification in a particular localized region of the input space. Once the a's and b's of the dynamic model are known, this determines the dynamics of the system with the only variation over the input space from the localized region in which the dynamic step test data was taken being the dynamic gain k [0200] STEADY-STATE MODEL IDENTIFICATION [0201] As noted hereinabove, to optimize and control any process, a model of that process is needed. The present system relies on a combination of steady-state and dynamic models. The quality of the model determines the overall quality of the final control of the plant. Various techniques for training a steady-state model will be described hereinbelow. [0202] Prior to discussing the specific model identification method utilized in the present embodiment, it is necessary to define a quasi-steady-state model. For comparison, a steady-state model will be defined as follows: [0203] Steady-State Models: [0204] A steady-state model is represented by the static mapping from the input, u(t) to the output y(t) as defined by the following equation: [0205] where F(u(t)) models the steady-state mapping of the process and u(t)εR [0206] where G is a R [0207] Quasi-Steady-State Models: [0208] A steady-state model by definition contains no time information. In some cases, to identify steady-state models, it is necessary to introduce time information into the static model: {right arrow over (y)}(t)=G({right arrow over (u)}(t,d)) (043) [0209] where: [0210] The variable d [0211] Identification of Delays in Quasi-Steady-State Models [0212] Given data generated by a quasi-steady-state model of the form [0213] where d is the dead-time or delay noted in FIG. 24, the generating function G( ) is approximated via a neural network training algorithm (nonlinear regression) when d is known. That is, a function G( ) is fitted to a set of data points generated from G( ), where each data point is a u(t), y(t) pair. The present system concerns time-series data, and thus the dataset is indexed by t. The data set is denoted by D. [0214] In process modeling, exact values for d are ordinarily not critical to the quality of the model; approximate values typically suffice. Prior art systems specified a method for approximating d by training a model with multiple delays per input, and picking the delay which has the largest sensitivity (average absolute partial derivative of output w.r.t. input). In these prior art systems, the sensitivity was typically determined by manipulating a given input and determining the effect thereof on the output. By varying the delay, i.e., taking a different point of data in time with respect to a given y(t) value, a measure of sensitivity of the output on the input can be determined as a function of the delay. By taking the delay which exhibits the largest sensitivity, the delay of the system can be determined. [0215] The disadvantage to the sensitivity technique is that it requires a number of passes through the network during training in order to determine the delay. This is an iterative technique. In accordance with the present system, the method for approximating the delay is done utilizing a statistical method for examining the data, as will be described in more detail hereinbelow. This method is performed without requiring actual neural network training during the determination operation. The method of the present embodiment examines each input variable against a given output variable, independently of the other input variables. Given d [0216] The user supplies d [0217] Statistical dependence is a general concept. As long as there is any relationship whatsoever between two variables, of whatever form, linear or nonlinear, the definition of statistical independence for those two variables will fail. Statistical independence between two variables x p(x [0218] where p(x [0219] Any measure f(x [0220] Property 1: f(x [0221] Mutual information (MI) is one such measure, and is defined as:
[0222] Property 1 holds for MI. Theoretically, there is no fixed maximum value of MI, as it depends upon the distributions of the variables in question. As explained hereinbelow, the maximum, as a practical matter, also depends upon the method employed to estimate probabilities. Regardless, MI values for different pairs of variables may be ranked by relative magnitude to determine the relative strength of the relationship between each pair of variables. Any other measure f having Property 1 would be equally applicable, such as the sum of the squares of the product of the two sides of Equation 58:
[0223] However, MI (Equation 47) is the preferred method in the disclosed embodiment. [0224] Statistical Dependence vs. Correlation [0225] For purposes of the present embodiment, the method described above, i.e., measuring statistical dependence, is superior to using linear correlation. The definition of linear correlation is well-known and is not stated herein. Correlation ranges in value from −1 to 1, and its magnitude indicates the degree of linear relationship between variables x y(t)=x [0226] Yet, if x(t) varies symmetrically about zero, then: corr(y(t), x(t))=0. (050) [0227] That is, correlation detects no linear relationship because the relationship is entirely nonlinear. Conversely, statistical dependence registers a relationship of any kind, linear or nonlinear, between variables. In this example, MI(y(t),x(t)) would calculate to be a large number. [0228] Estimation Probabilities [0229] An issue in computing MI is how to estimate the probability distributions given a dataset D. Possible methods include kernel estimation methods, and binning methods. The preferred method is a binning method, as binning methods are significantly cheaper to compute than kernel estimation methods. [0230] Of the binning techniques, a very popular method is that disclosed in A. M. Fraser and Harry L. Swinney. “Independent Coordinates for Strange Attractors in Mutual Information,” [0231] The present method uses a binning method whose performance is highly superior to that of the Fraser method. The binning method used herein simply divides each of the two dimensions (u [0232] In order to implement the binning procedure, it is first necessary to define a grid of data points for each input value at a given delay. Each input value will be represented by a time series and will therefore be a series of values. For example, if the input value were u [0233] Referring now to FIG. 25, there is illustrated a diagrammatic view of a binning method. In this method, a single point generated for each value of u [0234] In the illustration of FIG. 25, there are illustrated a plurality of rows and a plurality columns with the data points disposed therein with the x-axis labeled u [0235] where p(x [0236] Referring now to FIG. 26, there is illustrated a block diagram depicting the use of the statistical analysis approach. The statistical analysis is defined in a block [0237] Referring now to FIG. 27, there is illustrated a flow chart depicting the binning operation. The procedure is initiated at a block [0238] Identification of Steady-State Models Using Gain Constraints: [0239] In most processes, bounds upon the steady-state gain are known either from the first principles or from practical experience. Once it is assumed that the gain information is known, a method for utilizing this knowledge of empirically-based models will be described herein. If one considers a parameterized quasi-steady-state model of the form: [0240] where w is a vector of free parameters (typically referred to as the weights of a neural network) and N(w,u(t−d)) represents a continuous function of both w and u(t−d). A feedforward neural network as described hereinabove represents an example of the nonlinear function. A common technique for identifying the free parameters w is to establish some type of cost function and then minimize this cost function using a variety of different optimization techniques, including such techniques as steepest descent or conjugate gradients. As an example, during training of feedforward neural networks utilizing a backpropogation algorithm, it is common to minimize the mean squared error over a training set,
[0241] where P is the number of training patterns, y [0242] Constraints upon the gains of steady-state models may be taken into account in determining w by modifying the optimization problem. As noted above, w is determined by establishing a cost function and then utilizing an optimization technique to minimize the cost function. Gain constraints may be introduced into the problem by specifying them as part of the optimization problem. Thus, the optimization problem may be reformulated as: min(J({right arrow over (w)})) (054) [0243] subject to G G (057) G [0244] where G [0245] Another approach to adding the constraints to the optimization problem is to modify the cost function, i.e., utilize some type of soft constraints. For example, the squared error cost function of Equation 53 may be modified to account for the gain constraints in the gain as follows:
[0246] where H(·) represents a non-negative penalty function for violating the constraints and λ is a user-specified parameter for weighting the penalty. For large values of λ, the resulting model will observe the constraints upon the gain. In addition, extra data points which are utilized only in the second part of the cost function may be added to the historical data set to effectively fill voids in the input space. By adding these additional points, proper gain extrapolation or interpolation can be guaranteed. In the preferred embodiment, the gain constraints are held constant over the entire input space. [0247] By modifying the optimization problem with the gain constraints, models that observe gain constraints can be effectively trained. By guaranteeing the proper gain, users will have greater confidence that an optimization and control system based upon such a model will work properly under all conditions. [0248] One prior art example of guaranteeing global positive or negative gain (monotonicity) in a neural network is described in J. Sill & Y. S. Abu-Mostafa, “Monotonicity Hints,” Neural Information Processing Systems, 1996. The technique disclosed in this reference relies on adding an additional term to the cost function. However, this approach can only be utilized to bound the gain to be globally positive or negative and is not used to globally bound the range of the gain, nor is it utilized to locally bound the gain (depending on the value of u(t)). [0249] Identification of SS Model with Dynamic Data [0250] Referring now to FIG. 28, there is illustrated a block diagram of a prior art Weiner model, described in M. A. Henson and D. F. Seborg, “Nonlinear Process Control,” Prentice Hall PTR, 1997, Chapter 2, pp11-110. In the Weiner model, a non-linear model [0251] Referring now to FIG. 29, there is illustrated a block diagram of the training method of the present embodiment. A plant [0252] A steady-state neural network [0253] Typically, a plant during operation thereof will generate historical data. This historical data is collected and utilized to later train a network. If there is little steady-state behavior exhibited in the input data, the present embodiment allows for training of the steady-state model. The input data u(t) is input to a filter {right arrow over (y)} [0254] Referring now to FIG. 30, there is illustrated a diagrammatic view of the training data and the output data. The training data is the actual set of training data which comprises the historical data. This is the u(t) data which can be seen to vary from point to point. The problem with some input data in a training set of data, if not all data, is that it changes from one point to another and, before the system has “settled,” it will change again. That is, the average time between movements in u(t) is smaller than T [0255] As will be described in more detail hereinbelow, the present embodiment utilizes a technique whereby the actual dynamics of the system which are inherent in the output data y(t) are impressed upon the input data u(t) to provide filtered input data {overscore (u)}(t). This data is scaled to have a gain of one, and the steady-state model is then trained upon this filtered data. As will also be described in more detail hereinbelow, the use of this filtered data essentially removes the dynamic component from the data with only the steady-state component remaining. Therefore, a steady-state model can be generated. [0256] Referring now to FIG. 31, there is illustrated a flow chart depicting the training procedure for the neural network [0257] As noted above, one of the disadvantages to conventional training methods is that the network [0258] Another source of error, as noted hereinabove, is the dynamic component of the data. If the historical data that forms the training data set is dynamic in nature, i.e., it is changing in such a manner that the output never settles down to a steady-state value, this can create some errors when utilizing this data for training. The reason for this is that the fundamental assumption in training a steady-state neural network with an input training data set is that the data is steady-state data. The training procedure of the present embodiment removes this error. [0259] Referring further to FIG. 31, the flow chart is initiated at a block [0260] The step test data, as will be described hereinbelow, is data that is taken about a relatively small region of the input space. This is due to the fact that the variables are only manipulated between two values, and initial steady-state value and a final value, in a certain region of the input space, and the data is not taken over many areas of the input space. Therefore, any training set generated will represent only a small portion of the input space. This will be described in more detail hereinbelow. It should be noted that these dynamics in this relatively small region of the input space will be utilized to represent the dynamics over the entire input space. A fundamental presumption is that the dynamics at any given region remain substantially constant over the entire input space with the exception of the dynamic gain varying. [0261] Once the dynamic data has been collected for the purpose of training, this dynamic training data set is utilized to identify the dynamic model of the system. If, of course, a complete steady-state data set were available, there would be a reduced need for the present embodiment, although it could be utilized for the purpose of identifying the dynamics of the system. The flow chart then proceeds to a block [0262] In the above-noted model of Equation 61, the values of a [0263] Once the dynamic model has been identified utilizing the dynamic training data set, i.e., the a's and b's of the model have been determined, the program will flow to a function block [0264] wherein the values of a [0265] The pre-filter operation is scaled such that the gain of the dynamic model utilized for the pre-filter operation is set equal to unity. The b-values are adjusted to provide this gain scaling operation. The gain is scaled in accordance with the following:
[0266] If the gain were not scaled, this would require some adjustment to the steady-state model after training of the steady-state model. For example, if the gain of the model were equal to “two,” this would require that the steady-state model have a gain adjustment of “one-half” after training. [0267] After the filter values have been determined, i.e., the {overscore (b)}-values with the gain set equal to one, then the input values u(t) for the historical data are processed through the pre-filter with the gain set equal to one to yield the value of {overscore (u)}(t), as indicated by a function block [0268] Referring now to FIG. 32, there is illustrated a diagrammatic view of the step test. The input values u(t) are subjected to a step response such that they go from an initial steady-state value u [0269] Referring now to FIG. 33, there is illustrated a diagrammatic view of the relationship between the u(t) and the {overscore (u)}(t), indicating that the gain is set equal to one. By setting the gain equal to one, then only the dynamics determined at the “training region” will be impressed upon the historical input data which exists over the entire input space. If the assumption is true that the only difference between the dynamics between given regions and the input space is the dynamic gain, then by setting the gain equal to one, the dynamics at the given region will be true for every other region in the input space. [0270] Referring now to FIG. 34, there is illustrated a block diagram of the system for training a given output. The training system for the embodiment described herein with respect to impressing the dynamics of the plant onto the historical input data basically operates on a single output. Most networks have multiple inputs and multiple outputs and are referred to as MIMO (multi-input, multi-output) networks. However, each output will have specific dynamics that are a function of the inputs. Therefore, each output must have a specific dynamic model which defines the dynamics of that output as a function of the input data. Therefore, for a given neural network [0271] This represents the dynamic relationship between the inputs and a single output with the gain set equal to unity. y(t)=f [0272] Referring now to FIG. 35, there is illustrated a dynamic representation of a MIMO network being modeled. In a MIMO network, there will be required a plurality of steady-state neural networks [0273] Referring now to FIG. 36, there is illustrated the block diagram of the predicted network after training. In this mode, all of the neural networks [0274] Graphical Interface for Model Identification [0275] Referring now to FIG. 37, there is illustrated a graphical user interface (GUI) for allowing the user to manipulate data on the screen, which manipulated data then defines the parameters of the model identification procedure. In FIG. 39 there are illustrated two input values, one labeled “reflux” and one labeled “steam.” The reflux data is represented by a curve [0276] The user is presented the input data taken as a result of the step test on the plant and then allowed to identify the model from this data. The user is provided a mouse or similar pointing device (not shown) to allow a portion of one or more of the data values to be selected over a user defined range. In FIG. 37, there is illustrated a box [0277] Referring now to FIG. 38, there is illustrated a flowchart depicting the general identify operation described above with respect to FIG. 39. The program is initiated at a function block [0278] Referring now to FIG. 39, there is illustrated a second type of graphical interface. After a model has been created and identified, it is then desirable to implement the model in a control environment to control the plant by generating new input variables to change the operation of the plant for the purpose of providing a new and desired output. However, prior to placing the model in a “run-time” mode, it may be desirable to run a simulation on the model prior to actually incorporating it into the run time mode. Additionally, it may be desirable to graphically view the system when running to determine how the plant is operating in view of what the predicted operation is and how that operation will go forward in the future. [0279] Referring further to FIG. 40, there is illustrated a plot of a single manipulatable variable (MV) labeled “reflux.” The plot illustrates two sections, a historical section [0280] In a dynamic system, any change in the input will be made in a certain manner, as described hereinabove. It could be a step response or it could have a defined trajectory. In the example of FIG. 40, the change in the MV is defined along a desired trajectory [0281] A corresponding controlled variable (CV) curve is illustrated in FIG. 42. In this figure, there is also a historical section [0282] By allowing the user to view not only historical values but future predicted values during the operation of a plant or even during the simulation of a plant, the operator is now provided with information as to how the plant will operate during a desired change. If the operation falls outside of, for example, the upper and lower frustum of a desired operation, it is very easy for the operator to make a change in the desired value to customize this. This change is relatively easy to make and is made based upon future predicted behavior as compared to historical data. [0283] Referring now to FIG. 41, there is illustrated a block diagram of a control system for a plant that incorporates the GUI interface. Basically, there is illustrated a plant [0284] In operation, the GUI interface [0285] The GUI interface [0286] Referring now to FIGS. [0287] Referring now to FIG. 42, there is illustrated the screen that will result when the system is “stepped” for the four variables as selected in FIG. 43. This will result in four screens displaying the two MVs, reflex and steam, and the two CVs, top_comp and bot_comp. In some situations, there may be a large number of variables that can be displayed on a single screen; there could be as many as thirty variables displayed in the simulation mode as a function of time. In the embodiment of FIG. 44, there are illustrated four simulation displays [0288] Referring now to FIG. 43, there is illustrated another view of the screen of FIG. 42 with only one row selected with the boxes [0289] On-Line Optimizer [0290] Referring now to FIG. 46, there is illustrated a block diagram of a plant [0291] Referring now to FIG. 47, there is illustrated a block diagram of the optimizer [0292] Referring now to FIG. 48, there is illustrated a diagrammatic view of the application of the bias illustrated in FIG. 47. There is illustrated a curve [0293] In the diagrammatic view of FIG. 48, there is provided a curve [0294] Referring now to FIG. 49, there is illustrated a plot of both CV and MV illustrating the dynamic operation. There is provided a first plot or curve [0295] Referring now to FIG. 50, there is illustrated a plot illustrating the predicted model as being a steady state model. Again, there is provided the actual output curve [0296] Referring now to FIG. 51, there are illustrated curves representing the operation of the dynamic model wherein the dynamic model does not accurately predict the dynamics of the system. Again, the output of the system, represented by the VOA or an actual instrument reading of the CV, is represented by the curve [0297] Referring now to FIG. 52, there is illustrated a block diagram of a prior art system utilizing a steady state model for optimization. In this system, there is provided a steady state model [0298] Steady State Optimization [0299] In general, steady state models are utilized for the steady state optimization. Steady state models represent the steady state mapping between inputs of the process (manipulated variables (MV) and disturbance variables (DV)) and outputs (controlled variables (CV)). Since the models represent a steady state mapping, each input and output process is represented by a single input or output to the model (time delays in the model are ignored for optimization purposes). In general, the gains of a steady state model must be accurate while the predictions are not required to be accurate. Precision in the gain of the model is needed due to the fact that the steady state model is utilized in an optimization configuration. The steady state model need not yield an accurate prediction due to the fact that a precise VOA or actual installed instrument measurement of the CV can be used to properly bias the model. Therefore, the design of the steady state model is designed from the perspective of developing an accurate gain model during training thereof to capture the sensitivities of the plant. The model described hereinbelow for steady state optimization is a nonlinear model which is more desirable when modeling processes with multiple operating regions. Moreover, when modeling a process with a single operating region, a linear model could be utilized. A single operating region process is defined as a process whose controlled variables operate at constant set-points, whose measured disturbance variables remain in the same region, and whose manipulated variables are only changed to reject unmeasured disturbances. Since the MVs are only moved to reject external disturbances, the process is defined to be external disturbance dominated. An example of a single operating region process is a distillation column operating at a single purity setpoint. By comparison, a multiple operating region process is a process whose manipulated variables are not only moved to reject unmeasured disturbances, but are also changed to provide desired process performance. For example, the manipulated variables may be changed to achieve different CV set points or they may be manipulated in response to large changes to measured disturbances. An example of this would be grade change control of a polypropylene reactor. Since the MVs or CVs of a multiple operating region process are often set to non-constant references to provide desired process performance, a multiple region process is reference dominated rather than disturbance dominated. The disclosed embodiment herein is directed toward multiple operating region processes and, therefore, a non-linear steady state model will be utilized. However, it should be understood that both the steady state model and the dynamic model could be linear in nature to account for single operating region processes. [0300] As described hereinabove, steady state models are generated or trained with the use of historical data or a first principals model, even a generic model of the system. The MVs should be utilized as inputs to the models but the states should not be used as inputs to the steady state models. Using states as inputs in the steady state models, i.e., the states being the outputs of the plant, produces models with accurate predictions but incorrect gains. For optimization purposes, as described hereinabove, the gain is the primary objective for the steady state optimization model. [0301] Referring now to FIG. 53, there is illustrated a block diagram of a model which is utilized to generate residual or computed disturbance variables (CDVs). A dynamic non-linear state model [0302] Referring now to FIG. 53 [0303] The use of the RANN in architecture in FIG. 53 [0304] On-Line Dynamic Optimization [0305] Referring now to FIG. 55, there is illustrated a detailed block diagram of the model described in FIG. 47. The non-linear steady state model CV=ƒ(MV, DV, CDV) [0306] The non-linear steady state model J=ƒ(MV, DV, CV [0307] noting that many other factors can be considered in the cost function, such as MV constraints, economic factors, etc. The optimized manipulatable variables (MV [0308] The use of the non-linear dynamic model [0309] Referring now to FIG. 56, there is illustrated a diagrammatic view of a furnace/boiler system which has associated therewith multiple levels of coal firing. The central portion of the furnace/boiler comprises a furnace [0310] Referring now to FIG. 57 and FIG. 57 [0311] In these boilers with multiple elevations of coil firing, the combination of the elevations in service and the amount of coal fed at each elevation are important parameters when utilizing a prediction and optimization system. This is specifically so with respect to optimizing the NO [0312] Much of the effect on the NO [0313] where: [0314] Fe=Calculated Fuel Elevation [0315] K [0316] R [0317] Constants for each elevation are calculated to represent the relative elevation at which the coal is introduced. For example, for a unit with four elevations of fuel firing, each elevation represents 25% of the combustion area. The Fuel Elevations constants for the lowest to the highest elevations are 0.125, 0.375, 0.625 and 0.875. [0318] Referring now to FIG. 58, there is illustrated a block diagram of the boiler/furnace [0319] There are some inputs that will be directly input to the optimizer [0320] The optimizer [0321] Referring now to FIG. 59, there is illustrated a block diagram of the training system for training the optimizer [0322] In the disclosed embodiment, since there is defined a relationship between multiple inputs to a single or reduced set of inputs, it is necessary to train the model [0323] Referring now to FIGS. 60 and 61, there is illustrated a more detailed block diagram of the embodiment of FIG. 55. The portion of the embodiment illustrated in FIG. 59 is directed toward that necessary to generate the CV bias for biasing the set points. There are a plurality of measured inputs (MV) that are provided for the conventional boiler. These are the feeder speeds for each of the pulverizers, the Close Coupled Over-fired Air (CCOFA) value comprising various dampers that are adjusted on-line are: other inputs Separated Over-fired Air (SOFA) values which also are represented in terms of a percent open of select dampers, a tilt value, which defines the tilt of the inlet ports for injecting the fuel, the Wind Box to Furnace Pressure (WB/Fur) which is the differential pressure between the sandbox and the furnace, CCOFA tilt, which comprises the tilts on the Close Coupled Overfired Air Ports, plus additional inputs which are not transformed but are fed directly into the model. All are utilized to generate input variables for a network. With respect to outputs, the outputs will be in the form of the NO [0324] Of the inputs, the feeder speeds are input to a Fuel Elevation algorithm block [0325] The output of all of the blocks [0326] Referring further to FIG. 61, the CV bias values, each CV representing a vector, output by the filter [0327] The Auxiliary Air Elevation block [0328] wherein each value for the damper represents a percent open value therefor. This represents the center of mass for the auxiliary air based on the damper positions and an arbitrary furnace elevation scale wherein in Damper 7 is set at 1, Damper 5 is set at ⅔ of the elevation, and Damper 3 is set at ⅓ of the elevation. [0329] The flowrated geometric center concept is also associated with the auxiliary air center and is set forth as follows:
[0330] The optimization model [0331] Referring now to FIG. 62, there is illustrated a diagrammatic view of a process depicting the concept of taking multiple input values and converting them through a mapping relationship to a single value, processing that value to provide a modified value and then expanding that single modified value or concept back into the individual inputs as modified values therefore in accordance with the process. The single concept, as described hereinabove, is referred to as Fe. The inputs are referred to as values x [0332] Once the inputs have been mapped through the mapping layer [0333] Referring now to FIG. 63, there is illustrated an application of the diagrammatic view of FIG. 62. In this figure, there is illustrated a block Fe=F(x [0334] This provides on the output the single output F [0335] The single value Fe representing the relationship in block F [0336] This provides the outputs x [0337] In order to adequately deal with a single conceptual value, Fe, it is necessary to ensure that this value, during optimization, does not result in an “unobtainable” value, due to the inability of the inputs to operate over a wide enough range to provide the optimized value of Fe. In order to ensure that the optimized value of Fe is within acceptable limits, constraints must be defined therefore. Since Fe defines a relationship among multiple values to a single value, it is necessary to define the constraints for Fe based upon the constraints associated with the various input values x [0338] In summary, there has been provided a method for processing multiple inputs that can be correlated to desired performance parameters of a system. These performance parameters are defined in a relationship as a function of the multiple inputs. The inputs are first mapped through this relationship to provide intermediate values that number less than the number of inputs. These intermediate values are then modified in accordance with a predetermined modification algorithm to provide modified parameters. These modified parameters are then converted back to the input values through the inverse relationship such that these constitute modified inputs modified by the modification process. [0339] Although the preferred embodiment has been described in detail, it should be understood that various changes, substitutions and alterations can be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Referenced by
Classifications
Rotate |