US20080208778A1 - Controlling a non-linear process - Google Patents
Controlling a non-linear process Download PDFInfo
- Publication number
- US20080208778A1 US20080208778A1 US12/112,847 US11284708A US2008208778A1 US 20080208778 A1 US20080208778 A1 US 20080208778A1 US 11284708 A US11284708 A US 11284708A US 2008208778 A1 US2008208778 A1 US 2008208778A1
- Authority
- US
- United States
- Prior art keywords
- nonlinear
- model
- approximator
- nonlinear process
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/048—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Definitions
- the present invention generally relates to the field of predictive modeling and control, and more particularly to a combined modeling architecture for building numerically efficient dynamic models for systems of arbitrary complexity.
- Predictive models generally refer to any representation of a system or process which receives input data or parameters related to system or model attributes and/or external circumstances/environment and generates output indicating the behavior of the system or process under those parameters.
- the model or models may be used to predict behavior or trends based upon previously acquired data.
- predictive models including linear, non-linear, analytic, and empirical (e.g., statistical) models, among others, several types of which are described in more detail below.
- Optimization generally refers to a process whereby past (or synthesized) data related to a system or process are analyzed or used to select or determine optimal parameter sets for operation of the system or process.
- the predictive models mentioned above may be used in an optimization process to test or characterize the behavior of the system or process under a wide variety of parameter values. The results of each test may be compared, and the parameter set or sets corresponding to the most beneficial outcomes or results may be selected for implementation in the actual system or process.
- FIG. 1 illustrates a general optimization process as applied to an industrial system or process 104 , such as a manufacturing plant, according to the prior art. It may be noted that the optimization techniques described with respect to the manufacturing plant are generally applicable to all manner of systems and processes. More specifically, FIG. 1 illustrates an optimization system where a computer based optimization system 102 operates in conjunction with a process (or system) 104 to optimize the process, according to the prior art. In other words, the computer system 102 executes software programs (including computer based predictive models) that receive process data 106 from the process 104 and generate optimized decisions and/or actions, which may then be applied to the process 104 to improve operations based on specified goals and objectives.
- software programs including computer based predictive models
- predictive systems may be characterized by the use of an internal model (e.g., a mathematical model) that represents a process or system 104 for which predictions are made.
- an internal model e.g., a mathematical model
- predictive model types may be linear, non-linear, stochastic, or analytical, among others.
- mathematical models are developed using one of two approaches (or a combination of both).
- One approach is to conceptually partition the system into subsystems whose properties are well understood, e.g., from previous experience or use. Each subsystem is then modeled using physical or natural laws and other well-established relationships that have their roots in earlier empirical work. These subsystems are then joined mathematically and a model of the whole system is obtained.
- the other approach to developing mathematical models is directly based on experimentation. For example, input and output signals from the system being modeled are recorded and subjected to data analysis in order to infer a model.
- static nonlinearity in the input/output mapping of a system is viewed as a special case of the general nonlinear dynamic input/output mapping, and hence the techniques described are also applicable when only a static input/output mapping is to be modeled.
- the first approach is generally referred to as first-principles (FP) modeling, while the second approach is commonly referred to as empirical modeling (although it should be noted that empirical data are often used in building FP models).
- FP first-principles
- empirical modeling although it should be noted that empirical data are often used in building FP models.
- FP models are built based on the science underlying the process being modeled, and hence are better suited for representing the general process behavior over the entire operational regime of the process.
- modification of the first principles model is generally expensive. For example, designed experiments may be necessary to obtain or generate the data needed to update the model.
- a default parametric model 202 and a non-parametric model 204 (e.g., a neural network), whose combined (and optionally processed) outputs Z 205 are provided as input to a static nonlinear model 404 , which then generates outputs 207 .
- a non-parametric model 204 e.g., a neural network
- the neural network (nonparametric model) 204 is responsible for learning the difference between the default FP model 202 and the target data.
- the neural network is a nonparametric estimator capable of approximating this difference, it is also required to provide a negligible contribution to the model output for inputs far from the training data.
- the nonparametric model is required to contribute substantially in the operational range of the system, but not outside of this range.
- the training of the neural network in Thompson is therefore formulated as a semi-infinite programming (SIP) problem (reducible to a constrained nonlinear programming (NLP) problem if all inequalities are finite or infinite inequalities can be transformed into finite constraints) for which SIP solvers (constrained NLP algorithms in the case of NLP problem) may be used for training.
- SIP semi-infinite programming
- NLP constrained nonlinear programming
- Another example of a combined model is described in “Identification and Optimizing Control of a Rougher Flotation Circuit using an Adaptable Hybrid Neural Model,” Minerals Eng., vol. 10, p. 707, 1997, by F. Cubillos and E. Lima (Cubillos (1997)), where a neural network model is used to model reaction rates for an ideal Continuous Stir Tank Reactor (CSTR) as a function of temperature and output concentration.
- CSTR Continuous Stir Tank Reactor
- the input and output data for the training of the neural network model is generated synthetically using the ideal CSTR model. Therefore, the neural network model is trained with explicit data for inputs/outputs of the neural network block in the combined model.
- the neural network block is detached from the combined model structure for training purposes, and is included in the combined model structure for optimization and control after training.
- Cubillos shows that the combined model has superior generalization capability compared to the neural network models alone, and that the modeling process was easier than synthesizing a FP model based on physical considerations.
- Hartman argues that since accurate gains are essential for the use of neural network models for optimization and control, it is only natural to train neural network models subject to gain constraints when they are known through additional means (such as, for example, bounds extracted from FP models or operator knowledge about the sign of a particular gain).
- a further example of including first principles knowledge in the training of an empirical model is a bounded derivative network (BDN) (i.e., the analytical integral of a neural network) as described in “Introducing the state space bounded derivative network for commercial transition control,” IEEE American Control Conference, June 2003, by P. Turner, J. Guiver, and B. Lines of Aspen Technology, Inc. (Turner (2003)), and illustrated in FIG. 3 .
- BDN bounded derivative network
- the BDN is proposed as a universal nonlinear approximator.
- FIG. 3 shows, in this approach, a state space model 302 is coupled to the BDN 304 , and inputs 301 are received by the state space model 302 and by the BDN 204 .
- the state space model Based on the received input 301 , the state space model then provides state information 303 to the GDN 204 , as shown, and, based on the received inputs 301 and the received states 303 , the BDN generates output predictions 307 .
- the parameters of the nonlinear approximator are trained through the application of a constrained NLP solver where one set of potential constraints is the bounds on input/output gains in the model.
- FP model does not fully describe the process. For example, if FP information for only a part of the process is known, a combined model of the process that is appropriate for optimization and control cannot be built based on the prior art techniques (e.g., using the system of FIG. 2 ), even if representative measurements of all the relevant process variables are available.
- the training of the BDN is performed with explicit access to inputs and outputs of the trained model (similar to conventional training of a stand-alone neural network by a NLP solver), and the issue of bounded derivatives when a FP block appears in series with the output of the BDN is not addressed.
- the bounded derivative network of Turner is used in a Wiener model architecture or structure (i.e. in a series connection with a linear state space model) to construct a nonlinear model for a physical process.
- the Weiner model architecture is illustrated in FIG. 4A , where a static nonlinear model follows a linear dynamic model 402 .
- the BDN of FIG. 3 may be considered a special case of the Weiner model of FIG. 4A .
- FIG. 4B illustrates a Hammerstein model, where the nonlinear static model 404 precedes the linear dynamic model 402 .
- the nonlinear static model 404 and the linear dynamic model 402 are developed or trained in isolation of each other, and so modifications in the dynamic model 402 generally requires re-training of the nonlinear static model 404 .
- Further information regarding Weiner and Hammerstein models may be found in Adaptive Control, 2nd Edition. 1994, by K. Astrom and B. Wittenmark.
- the present invention comprises various embodiments of a system and method for modeling nonlinear process or systems. More specifically, a parametric universal nonlinear dynamics approximator (PUNDA), also referred to as a PUNDA model, and its use are described.
- PUNDA parametric universal nonlinear dynamics approximator
- the PUNDA model includes a nonlinear approximator, coupled to a dynamic parameterized model in series.
- the nonlinear approximator may be a neural network, although any type of nonlinear approximator may be used, including for example, support vector machines, statistical models, parametric descriptions, Fourier Series models, or any other type of empirical or data based model, among others.
- the nonlinear approximator is a universal nonlinear approximator, such that any type of nonlinear mapping may be implemented.
- the nonlinear approximator operates to provide parameters to the dynamic parameterized model.
- the nonlinear approximator (e.g., neural network) may also include a feedback loop, whereby the output of the approximator is provided as further input to itself, thus supporting dependencies of the output upon prior output of the approximator.
- the dynamics approximator may reduce to a static function.
- the dynamic parameterized model 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.
- MIMO multi-input, multi-output
- the dynamic parameterized model may receive its parameters from the nonlinear approximator, and operate accordingly.
- the PUNDA model may be coupled to a physical process or a representation of the process.
- Process inputs may be provided to the process and to the PUNDA model as input.
- the process produces process outputs, which may be combined or used with PUNDA model outputs to determine model errors, which may then be provided back to the PUNDA model and used, e.g., with an optimizer, to train the PUNDA model.
- the PUNDA model is described below 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, as noted above, other nonlinear approximators and dynamic parameterized models are also contemplated.
- the physical process may be described or represented by the process itself, a first principles model, empirical data, or any combination of the three.
- the representation of the process may be referred to as the process.
- 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 efficient model of the physical process that is suitable for online optimization and control of the process, i.e., substantially in real time. Additionally, such a model may be capable of approximating the nonlinear physical process with any desired degree of accuracy.
- 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 in the PUNDA model may be trained while it is serially connected to the MIMO difference equation block, and hence, in general, the output of the neural network model 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 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.
- a preferred methodology for the training of the neural network model within the PUNDA architecture is to formulate the training of the neural network parameters as a constrained nonlinear programming problem, which may then be solved with any appropriate NLP solver technology (e.g., Sequential Quadratic Programming (SQP)).
- the parameters of the neural network model may include: (a) parameters that determine the topology of the neural network model (e.g. number of layers, connectivity of the network), (b) parameters that determine the type/shape of the activation function used at each node, and/or (c) weights/biases in the network, among others.
- the constrained NLP problem for the training of the neural network model 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.
- 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.
- the PUNDA model may be part of an industrial prediction/control system.
- the PUNDA model may receive process outputs from the physical process and provides model output to a controller, which in turn provides controller output to a distributed control system (DCS).
- DCS distributed control system
- the controller preferably includes an optimizer which receives, and operates according to, optimizer constraints, as is well known in the art.
- the DCS may operate to filter or otherwise provide checks or other processing regarding the controller output, e.g., for safety purposes, and to provide process inputs to the physical process, as well as the controller and PUNDA model.
- other components such as pre- or post-processors may also be included as desired, such as, for example, between the process and the PUNDA model, for processing the process output data, etc.
- the (trained) PUNDA model may thus operate to control the process in an adaptive or dynamic manner. Further details regarding the PUNDA model and its training and use are provided below.
- process inputs/outputs i.e., I/O parameters
- I/O parameters to be included in the model may be identified, e.g., material inputs and outputs, conditions, such as temperature and pressure, power, costs, and so forth, e.g., via expert knowledge, programmatically through systematic search algorithms, such as correlation analysis, or other approaches or techniques.
- Data for the process input(s)/output(s) may be collected, e.g., from historical data available from plant normal operation, from other models, assembled or averaged from multiple sources, or collected substantially in real time from an operating process, e.g., from an online source.
- One or more signal processing operations may optionally be performed on the data, including for example, 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.
- Prior knowledge about the process may optionally be assembled or gathered, e.g., operator knowledge regarding the sign of a particular gain, or a residence time in the system, 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, among approaches.
- the prior knowledge 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.
- An order for the MIMO difference equations may be determined, i.e., the order of the equations comprised in the parameterized dynamic model may be determined.
- the order may be determined by an expert, i.e., one or more human experts, or by an expert system.
- 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.
- model parameters are or include decision variables, e.g., where an objective function operates to minimize model errors subject to a set of constraints.
- Optimization algorithms may be executed or performed to determine the parameters (i.e., values of the parameters) of the PUNDA model.
- constraints are not satisfied, or the objective value is not sufficiently small, formulating and solving the model optimization task may be repeated one or more times, e.g., via the use of heuristics or through the application of systematic analysis techniques, among others.
- 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.
- PUNDA model couples to the physical process, and also to a controller which operates to manage or control the process based on outputs from the PUNDA model.
- the methods presented herein are also contemplated as being broadly applicable in a wide variety of application domains, including both physical and non-physical (e.g., analytical) processes.
- the model may be initialized to a current status of the physical process to be controlled, e.g., to 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.
- 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, among others.
- 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.
- CV and MV control variable and manipulated variable
- DV disturbance variable
- 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.
- 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.
- an optimal MV profile may be determined.
- the generation of the a trajectory and determination of the deviation from the desired behavior may be performed iteratively with different MV profiles until a satisfactory predicted system response is obtained, preferably by using 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.
- Information related to or indicating the MV profiles and corresponding model response may optionally be displayed and/or logged, as desired.
- 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.
- DCS distributed control system
- final checks or additional processing may be performed by the DCS.
- 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.
- the output of the DCS 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.
- 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.
- the method may then repeat, dynamically monitoring and controlling the process in an ongoing manner, attempting to satisfy the objective function subject to the determined or specified constraints.
- the input/output of the process may be used to continue training the PUNDA model online.
- 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.
- FIG. 1 an optimization system where a computer based optimization system operates in conjunction with a process to optimize the process, according to the prior art
- FIG. 2 is a block diagram of a combined model using parametric and nonparametric models, according to the prior art
- FIG. 3 illustrates a state space bounded derivative network, according to the prior art
- FIGS. 4A and 4B illustrate Weiner and Hammerstein model structures, according to the prior art
- FIG. 5A illustrates a parametric universal non-linear dynamics approximator in a training configuration, according to one embodiment of the invention
- FIG. 5B illustrates the parametric universal non-linear dynamics approximator of FIG. 5A in an industrial control system, according to one embodiment of the invention
- FIG. 6 illustrates a node in a nonlinear approximator network, according to one embodiment
- FIG. 7A illustrates an exemplary neural network, according to one embodiment
- FIG. 7B illustrates an exemplary node in the neural network of FIG. 7A , according to one embodiment
- FIG. 8 flowcharts one embodiment of a method for training a model, according to one embodiment of the present invention.
- FIG. 9 flowcharts one embodiment of a method for operating a combined model, according to one embodiment of the present invention.
- Objective Function a mathematical expression of a desired behavior or goal.
- Constraint a limitation on a property or attribute used to limit the search space in an optimization process.
- 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.
- Control Variables process outputs, e.g., output states of the process or system being controlled.
- Manipulated Variables manipulable inputs to the process being controlled.
- Disturbance Variables inputs which are not manipulable, e.g., ambient temp/pressure, etc., that affect the process, but which are not controllable
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- program is intended to have the full breadth of its ordinary meaning.
- 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.
- 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.
- 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.
- PC personal computer system
- mainframe computer system workstation
- network appliance Internet appliance
- PDA personal digital assistant
- television system grid computing system, or other device or combinations of devices.
- 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.
- FIGS. 5 A and 5 B A Parametric Universal Nonlinear Dynamics Approximator
- FIGS. 5A and 5B illustrate a parametric universal nonlinear dynamics approximator (PUNDA), according to one embodiment.
- PUNDA parametric universal nonlinear dynamics approximator
- FIGS. 5A and 5B are simplified depictions and are intended to be exemplary only. In other words, there are components that may be required in actual systems which are omitted in the figures for clarity, such as, for example controller blocks, optimizers, input and output processors, and so forth, these items not being necessary to understand the present invention.
- FIG. 5A is a high level block diagram of a PUNDA model 506 , which uses a new architecture for combined models, coupled to a physical process (or system) 104 or representation thereof, for purposes of training the PUNDA model 506 .
- FIG. 5B is a block diagram illustrating the use of the PUNDA model in an industrial system.
- the PUNDA model may be stored on a memory medium of a computer system, and executed by a processor to implement the operations described herein.
- the PUNDA model 506 includes a nonlinear approximator 502 , coupled to a dynamic parameterized model 504 in series.
- the nonlinear approximator 502 may be a neural network, although any type of nonlinear approximator may be used, including, for example, support vector machines, statistical models, parametric descriptions, Fourier series models, or any other type of empirical or data based model, among others.
- the nonlinear approximator is a universal nonlinear approximator, such that any type of nonlinear mapping may be implemented.
- the nonlinear approximator 502 operates to provide parameters to the dynamic parameterized model 504 , as shown.
- the nonlinear approximator 502 may also include a feedback loop 505 , whereby the output of the approximator is provided as further input to itself, thus supporting dependencies of the output upon prior output of the approximator.
- 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.
- MIMO multi-input, multi-output
- the dynamic parameterized model 504 may receive its parameters from the nonlinear approximator 502 , and operate accordingly.
- the PUNDA model 506 may be coupled to the physical process 104 or a representation of the process 104 .
- Process inputs 501 may be provided to the process 104 and to the PUNDA model 506 as input.
- the process 104 produces process outputs 503 , which may be combined or used with PUNDA model outputs 507 to determine model errors 509 , as shown.
- model errors 509 may then be provided back to the PUNDA model and used, e.g., with an optimizer, to train the PUNDA model.
- 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.
- the physical process 104 of FIG. 5A may be described or represented by the process itself, a first principles model, empirical data, or any combination of the three, among others.
- x k is the state vector
- u k is the input vector (manipulated or disturbance variables)
- p k is the parameter vector
- y k is the output vector for the process.
- empirical data include test data for all process inputs/outputs, or correlated measurements from normal operation of the process, e.g., plant, for certain input/output pairs.
- Other representations are also contemplated, including, for example, statistical models, parametric descriptions, Fourier series models, and empirical models, among others.
- the representation of the process may be referred to as the process 104 .
- 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.
- the computations may be made substantially in real time.
- 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.
- 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.
- a preferred methodology for the training of the neural network model 502 within the PUNDA architecture of FIG. 5A is to formulate the training of the neural network parameters as a constrained nonlinear programming problem.
- This constrained NLP problem may then be solved with any appropriate NLP solver technology (e.g., Sequential Quadratic Programming (SQP)).
- the parameters of the neural network model may include: (a) parameters that determine the topology of the neural network model (e.g. number of layers, connectivity of the network), (b) parameters that determine the type/shape of the activation function used at each node, and/or (c) weights/biases in the network, among others.
- 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.
- 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.
- 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.
- 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.
- the nonlinear approximator block 502 e.g., neural network
- 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.
- 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 FIGS. 4A and 4B , described above).
- the nonlinear approximator block 502 determines and provides the parameters of the dynamic parameterized model 504 , e.g., the MIMO difference equations block, and therefore the input/output relationship in the PUNDA model does not pre-impose the conceptual decomposition inherent in the Wiener and Hammerstein model architectures or structures (for further information related to Weiner and Hammerstein models, please see M. Henson and D. Seborg, Nonlinear Process Control, Prentice Hall, 1997).
- the Wiener and Hammerstein models may be derived from the PUNDA model as special cases if certain simplifications are applied to the PUNDA model.
- controller 512 receives process outputs 503 from the physical process 104 and provides controller output 515 to a distributed control system (DCS) 516 .
- DCS distributed control system
- the controller 512 preferably includes an optimizer 514 that receives, and operates according to, optimizer constraints 513 , as is well known in the art.
- the controller 512 also includes or couples to PUNDA model 506 .
- the optimizer 514 provides trial model inputs 508 (e.g., MVs) to the PUNDA model 506 , and the PUNDA model 506 provides resulting PUNDA model output 507 (e.g., CVs) back to the optimizer 514 .
- the optimizer 506 and PUNDA model 506 operate in an iterative manner to generate an optimal set of MVs as controller output 515 .
- the controller output 515 is the final iterate of the trial model input 508 .
- 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.
- 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 .
- the DCS 516 may operate to filter or otherwise provide checks or other processing regarding the controller output 515 , e.g., for safety purposes.
- 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.
- 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.
- 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:
- x k F k ( u k ,x k ⁇ 1, p k )
- x k ⁇ N x ⁇ 1 is the state vector
- u k ⁇ N u ⁇ 1 is the input vector
- y k ⁇ N y ⁇ 1 is the output vector
- p k ⁇ N p ⁇ 1 is the parameter vector at time k.
- x k and y k are defined as explicit functions of state/input/parameters. Assuming that the system is initially at (x ic , u ic , y ic , p ic ), the state and the output of the system can be universally approximated by:
- Equation 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.
- 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.
- 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 k in Eq. (2) is a linear vector function.
- F k in Eq. (2) is a linear vector function.
- the MIMO difference equation block can be replaced with:
- Y past and U past are the number of past outputs and inputs required to fully construct the state vector
- a i and B i are the coefficient matrices of appropriate dimension.
- the bias term y init is introduced as a parameter that encompasses both y ic and the contribution from parameter perturbation (e.g., ⁇ x,1 ( ⁇ p k )) in the state update and ⁇ y,1 ( ⁇ p k ) in the output update in Eq. (3)).
- y init , A i , and B i are varying parameters that are the outputs of the nonlinear approximator block (e.g., neural network) 502 in FIG. 5A .
- the mathematical foundation for the training of such models is described below, as is a generally applicable methodology for constructing the constraint set for the training of the nonlinear approximator model 502 in the case of a neural network.
- 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.
- the training of the nonlinear approximator block 502 in the PUNDA model may be formulated as a constrained nonlinear optimization problem for a simple feedforward neural network with linear input and output layers and a single hidden layer with a sigmoidal activation function.
- the derivation described below applies for any nonlinear approximator used in the systems of FIGS. 5A and 5B .
- Examples of alternate nonlinear approximators include, but are not limited to, a nonlinear approximator with a different activation function (e.g., an n-th order integral of the sigmoid function, with n ⁇ 1), or different topology (e.g. a different number of nodes, layers, and/or connectivity).
- a node in the general nonlinear approximator block 502 may be represented by the block diagram shown in FIG. 6 .
- This basic building block may appear at any position in the nonlinear approximator network.
- x o is an affine function of the inputs h i to the block
- f(x o , ⁇ o ) is a potentially parametric nonlinear mapping from x o to the output of the node, h o .
- the feedforward neural network (with linear input and output layers, and a single hidden layer) for which the expository derivations are presented herein is one of the most commonly adopted nonlinear approximators to date.
- the output of the node is the output of the nonlinear approximator model.
- the output of the k th output unit is denoted as p k .
- the k th output unit may be described as:
- h j is the output of the j th hidden unit
- w jk is the weight from the j th hidden unit to the k th output unit
- b k is the bias term for the summation at the k th output unit.
- x j is the input to the nonlinear activation function in the j th hidden unit
- w ij is the weight from input u i to the j th hidden unit
- b j is the bias of the j th hidden unit
- ⁇ (x j , ⁇ j ) is a nonlinear (potentially parametric with parameter vector ⁇ j ) activation function.
- Acceptable activation function include, but are not limited to, sigmoidal (“s-shaped”) functions such as
- 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.
- the input layer may admit the structure of FIG. 6 , and/or the neural network may include additional inputs that are obtained by applying various signal processing operations to the inputs of the overall PUNDA model (e.g., tap delayed samples of an input, or linearly filtered versions of the input).
- 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.
- d indexes the dataset, which in some embodiments may include synthetic data points, used for example in extrapolation training
- t kd is the target output for the PUNDA model
- y kd is the predicted output of the combined model that is computed using the architecture of the PUNDA model depicted in FIG. 5A .
- the sum-squared-error objective is minimized while simultaneously satisfying a set of constraints that may include constraints at each datapoint in the dataset or constraints over the entire input range.
- Other objective functions including but not limited to, the log of the absolute error may be used as appropriate.
- 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.
- Nonlinear model e.g., neural network
- 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.
- 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++ Toolboxfor Verified Computing, Springer-Verlag, 1995.
- 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.
- the notation x refers to the minimum value of x over the interval and x refers to the maximum value of x over the interval.
- [ x] ⁇ [y] [min ⁇ xy , x y , x y , xy ⁇ ,max ⁇ xy , x y , x y , xy ⁇ ]
- 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 ⁇ [] ([.]), which has the property
- interval extension 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.
- 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.
- the PUNDA model 506 shown in FIG. 5A may be composed of a neural-network (the nonlinear approximator 502 ) and a set of MIMO difference equations (the dynamic parameterized model 504 ). Each of these components may in turn be composed of other elementary operations. An interval extension of the model relationships can then be defined by systematic substitution of interval operations.
- the neural network of FIG. 7A is exemplary only, and is not intended to denote an actual neural network.
- the equations that define the numerical calculations associated with a single node, illustrated in FIG. 7B are:
- the interval extension may be computed as:
- interval expressions can be composed such that the output interval [ h o , h o ] of one node can be used as the input interval [ h i , h i ] for a subsequent node in the flow-graph.
- a similar derivation can be performed for a simple difference equation, as follows:
- 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.
- the gain term dy 1 /du 2 the following procedure may be performed: Let the variable ⁇ be the input value with respect to which the output derivative is taken. Initialize the boundary condition correspondingly:
- propagated output quantity dy 1 /d ⁇ is, by construction, the desired gain element dy 1 /du 2 .
- any input-output gain term may be reduced to a flow-graph operation.
- the previously described interval extension techniques may be applied, and bounds of these gains computed for inclusion in a training problem.
- the input boundary conditions may be augmented thus:
- This range 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 o , x o ] that is pre-selected to be some infinite or finite range of the input space. It follows that:
- the output values may be interpreted as estimates of the overall gain bounds:
- 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.
- 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.
- 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.
- the global lower bound ⁇ tilde over ( ⁇ ) ⁇ may be reduced if a hyper-rectangle is constructed for which ⁇ ⁇ tilde over ( ⁇ ) ⁇ , or if a point-evaluation of ⁇ results in ⁇ tilde over ( ⁇ ) ⁇ .
- Many heuristics have been described in the literature for tuning the performance of this basic branch-and-bound search strategy. See for example R. Patil, Efficient Verified Global Optimization Using Interval Arithmetic , Dissertation for Degree of Doctor of Economics, New Mexico State University, 1996.
- FIG. 8 Training a Model of a Nonlinear Process
- FIG. 8 is a high level flowchart of a method for training a model of a nonlinear process, such as the PUNDA model described herein, according to one embodiment. It should be noted, however, that various embodiments of the training method described may be applied to training other types of nonlinear models as well. It should also be noted that in various embodiments, some of the method elements described may be performed concurrently, in a different order than shown, or omitted. Additional method elements may also be performed as desired. The method below is described for an embodiment of the PUNDA model using a neural network and a set of MIMO difference equations, although it should be noted that the method is broadly applicable to other types of PUNDA models, and to other types of nonlinear models in general.
- process inputs/outputs i.e., I/O parameters
- I/O parameters may include material inputs and outputs, conditions, such as temperature and pressure, power, costs, and so forth.
- This identification of process I/O may be accomplished in a variety of different ways. For example, in one embodiment, expert knowledge may be used to determine or otherwise identify the process inputs and outputs. As another example, in one embodiment, the process I/O may be determined or identified programmatically through systematic search algorithms, such as correlation analysis. Other approaches or techniques for identifying the process inputs and outputs are also contemplated.
- data for the process input(s)/output(s) may be collected.
- the data may be historical data available from plant normal operation, e.g., from plant operation logs, and/or test data.
- all or part of the data may be generated from other models, assembled or averaged from multiple sources, etc.
- the data may be collected substantially in real time from an operating process, e.g., from an online source.
- one or more signal processing operations may optionally be performed on the data.
- 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.
- 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.
- prior knowledge about the process may optionally be assembled or gathered.
- the prior knowledge may include operator knowledge regarding the sign of a particular gain, or a residence time in the system.
- 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.
- the prior knowledge of 808 may be processed to determine or create the constraints for the training problem.
- 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.
- the processing may also include sophisticated checks on the consistency of the prior knowledge.
- an order for the MIMO difference equations may be determined.
- the order of the equations comprised in the parameterized dynamic model 504 may be determined.
- the order may be determined by an expert, i.e., one or more human experts, or by an expert system.
- 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.
- 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.
- formulating an optimization problem may include determining or modifying the objective function.
- 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.
- 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.
- optimization algorithms may be executed or performed to determine the parameters (i.e., values of the parameters) of the PUNDA model.
- any type of commercially available solver such as, for example, solvers utilizing sequential quadratic programming or any other techniques
- solvers such as, for example, solvers utilizing sequential quadratic programming or any other techniques
- any of various traditional neural network training algorithms such as back propagation, may be used as desired and appropriate.
- 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.
- 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.
- various embodiments of the method of FIG. 8 may be used to train a nonlinear model, such as a PUNDA model, where the training process results in the determination of model parameters and their values over the operational regime of the process.
- a nonlinear model such as a PUNDA model
- the parameter values provided by the nonlinear approximator 502 to the parameterized dynamic model 504 may vary during operation of the process, e.g., as conditions or other operational aspects of the process change.
- This integrated training of the nonlinear approximator 502 and the parameterized dynamic model 504 thus treats the combined model in a holistic manner, i.e., considers the combined model behavior as a global property via the confluence of the entire set of model parameters and their values over the operational regime of the process, and thus the training is not limited to some isolated aspect of the system or process behavior, as is typically the case with prior art systems and methods.
- FIG. 9 Operation of the PUNDA Model
- FIG. 9 is a high level flowchart of a method of operation of the PUNDA model in a control application for a physical process, e.g., a physical plant, according to one embodiment.
- the PUNDA model couples to the physical process, and also to a controller which operates to manage or control the process based on outputs from the PUNDA model, as illustrated by FIG. 5B .
- the methods presented herein are also contemplated as being broadly applicable in a wide variety of application domains, including both physical and non-physical (e.g., analytical) processes.
- some of the method elements described may be performed concurrently, in a different order than shown, or omitted. Additional method elements may also be performed as desired.
- 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.
- 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.
- 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.
- these determinations or definitions may be performed by an operator, programmatically, or a combination of the two.
- 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.
- 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.
- 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.
- 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.
- an optimal MV profile may be determined.
- method element 906 may be performed iteratively with different MV profiles until a satisfactory predicted system response is obtained.
- 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.
- information related to or indicating the MV profiles and corresponding model response may optionally be displayed and/or logged, as desired.
- the MV profiles and system response may be displayed in an appropriate user interface, or logged in a database, e.g., for future diagnosis.
- 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.
- DCS distributed control system
- final checks or additional processing may be performed by the DCS.
- 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.
- the output of the DCS 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.
- 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.
- the optimization problem may be modified based on the input to the model.
- 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.
- the input/output of the process may be used to continue training the PUNDA model online.
- 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.
- 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.
- 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.
- 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.
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Feedback Control In General (AREA)
Abstract
Description
- This application is a divisional application of U.S. application Ser. No. 10/842,157, titled “Parametric Universal NonLinear Dynamics Approximator and Use”, filed May. 10, 2004, whose inventors were Bijan Sayyar-Rodsari, Edward Plumer, Eric Hartman, Kadir Liano, and Celso Axelrud, which claims benefit of priority to U.S. Provisional Application 60/545,766 titled “Parametric Universal Nonlinear Dynamics Approximator and Use”, filed Feb. 19, 2004, whose inventors were Bijan Sayyar-Rodsari, Edward Plumer, Eric Hartman, Kadir Liano, and Celso Axelrud, and which is a Continuation-In-Part of U.S. application Ser. No. 10/730,835, titled “System and Method of Adaptive Control of Processes with Varying Dynamics”, filed Dec. 9, 2003, whose inventors were Bijan Sayyar-Rodsari, Eric Hartman, Celso Axelrud, and Kadir Liano, which issued as U.S. Pat. No. 7,039,475, and which claims benefit of priority to U.S. Provisional Application 60/431,821 titled “Parametric Universal Nonlinear Dynamics Approximator and Use”, filed Dec. 9, 2002, whose inventors were Bijan Sayyar-Rodsari, Eric Hartman, Celso Axelrud, and Kadir Liano.
- 1. Field of the Invention
- The present invention generally relates to the field of predictive modeling and control, and more particularly to a combined modeling architecture for building numerically efficient dynamic models for systems of arbitrary complexity.
- 2. Description of the Related Art
- Many systems or processes in science, engineering, and business are characterized by the fact that many different inter-related parameters contribute to the behavior of the system or process. It is often desirable to determine values or ranges of values for some or all of these parameters which correspond to beneficial behavior patterns of the system or process, such as productivity, profitability, efficiency, etc. However, the complexity of most real world systems generally precludes the possibility of arriving at such solutions analytically, i.e., in closed form. Therefore, many analysts have turned to predictive models and optimization techniques to characterize and derive solutions for these complex systems or processes.
- Predictive models generally refer to any representation of a system or process which receives input data or parameters related to system or model attributes and/or external circumstances/environment and generates output indicating the behavior of the system or process under those parameters. In other words, the model or models may be used to predict behavior or trends based upon previously acquired data. There are many types of predictive models, including linear, non-linear, analytic, and empirical (e.g., statistical) models, among others, several types of which are described in more detail below.
- Optimization generally refers to a process whereby past (or synthesized) data related to a system or process are analyzed or used to select or determine optimal parameter sets for operation of the system or process. For example, the predictive models mentioned above may be used in an optimization process to test or characterize the behavior of the system or process under a wide variety of parameter values. The results of each test may be compared, and the parameter set or sets corresponding to the most beneficial outcomes or results may be selected for implementation in the actual system or process.
-
FIG. 1 illustrates a general optimization process as applied to an industrial system orprocess 104, such as a manufacturing plant, according to the prior art. It may be noted that the optimization techniques described with respect to the manufacturing plant are generally applicable to all manner of systems and processes. More specifically,FIG. 1 illustrates an optimization system where a computer basedoptimization system 102 operates in conjunction with a process (or system) 104 to optimize the process, according to the prior art. In other words, thecomputer system 102 executes software programs (including computer based predictive models) that receiveprocess data 106 from theprocess 104 and generate optimized decisions and/or actions, which may then be applied to theprocess 104 to improve operations based on specified goals and objectives. - Thus, many predictive systems may be characterized by the use of an internal model (e.g., a mathematical model) that represents a process or
system 104 for which predictions are made. As mentioned above, predictive model types may be linear, non-linear, stochastic, or analytical, among others. - Generally, mathematical models are developed using one of two approaches (or a combination of both). One approach is to conceptually partition the system into subsystems whose properties are well understood, e.g., from previous experience or use. Each subsystem is then modeled using physical or natural laws and other well-established relationships that have their roots in earlier empirical work. These subsystems are then joined mathematically and a model of the whole system is obtained. The other approach to developing mathematical models is directly based on experimentation. For example, input and output signals from the system being modeled are recorded and subjected to data analysis in order to infer a model. Note that as used herein, static nonlinearity in the input/output mapping of a system is viewed as a special case of the general nonlinear dynamic input/output mapping, and hence the techniques described are also applicable when only a static input/output mapping is to be modeled.
- The first approach is generally referred to as first-principles (FP) modeling, while the second approach is commonly referred to as empirical modeling (although it should be noted that empirical data are often used in building FP models). Each of these two approaches has substantial strengths and weaknesses when applied to real-world complex systems.
- For example, regarding first-principles models:
- 1. FP models are built based on the science underlying the process being modeled, and hence are better suited for representing the general process behavior over the entire operational regime of the process.
- However:
- 2. First-principles information is often incomplete and/or inaccurate, and so the model and thus its outputs may lack the accuracy required.
- 3. Tuning of the parameters in the model is needed before the model could be used for optimization and control.
- 4. FP models may be computationally expensive and hence useful for real-time optimization and control only in slower processes. This is particularly apparent when the outputs in FP models are not explicit. For example, consider a model of the form G(yk, uk, xk)=0, where the output vector yk is an implicit function of input vector uk, state vector xk. In this case, an internal solver is needed to solve for yk at each interval.
- 5. When the process changes, modification of the first principles model is generally expensive. For example, designed experiments may be necessary to obtain or generate the data needed to update the model.
- Regarding empirical models:
- 1. Since data capture the non-idealities of the actual process, where data are available, an empirical model can often be more accurate than a first-principles model.
- However:
- 2. The available data are often highly correlated and process data alone is not sufficient to unambiguously break the correlation. This is particularly apparent when process operation is recipe-dominated. For example, in a linear system with 2 inputs and 1 output, a recipe may require two inputs to move simultaneously, one to increase by one unit and the other to decrease by one unit. If the output increases by one unit, the sign and value of the gain from the two inputs to the output cannot be uniquely determined based on these data alone.
- 3. Additional designed experiments are often needed in order to produce the necessary data for system identification; however, designed experiments disrupt the normal operation of the plant and hence are thus highly undesirable.
- 4. Certain regions or regimes of operation are typically avoided during plant operation, and hence the representative data for that region may not be available.
- The complementary strengths and weaknesses of these two modeling routes are widely recognized, and efforts that combine the two are reported in the literature, some examples of which are described below.
- One approach for using both FP information/models and empirical data is to develop combined models. For example, in “Modeling Chemical Processes Using Prior Knowledge and Neural Networks,” AIChE Journal, vol. 40, p. 1328, 1994, by M. Thompson and M. Kramer, (Thompson (1994)), a proposal is made to combine first-principles models with empirical nonparametric models, such as neural network models, in a hybrid architecture to model complex chemical processes, illustrated in
FIG. 2 . AsFIG. 2 shows,inputs 201 are provided to a default parametric model 202 and a non-parametric model 204 (e.g., a neural network), whose combined (and optionally processed) outputsZ 205 are provided as input to a staticnonlinear model 404, which then generatesoutputs 207. In Thompson's proposed hybrid architecture the neural network (nonparametric model) 204 is responsible for learning the difference between the default FP model 202 and the target data. Although the neural network is a nonparametric estimator capable of approximating this difference, it is also required to provide a negligible contribution to the model output for inputs far from the training data. In other words, the nonparametric model is required to contribute substantially in the operational range of the system, but not outside of this range. The training of the neural network in Thompson is therefore formulated as a semi-infinite programming (SIP) problem (reducible to a constrained nonlinear programming (NLP) problem if all inequalities are finite or infinite inequalities can be transformed into finite constraints) for which SIP solvers (constrained NLP algorithms in the case of NLP problem) may be used for training. - Another example of a combined model is described in “Identification and Optimizing Control of a Rougher Flotation Circuit using an Adaptable Hybrid Neural Model,” Minerals Eng., vol. 10, p. 707, 1997, by F. Cubillos and E. Lima (Cubillos (1997)), where a neural network model is used to model reaction rates for an ideal Continuous Stir Tank Reactor (CSTR) as a function of temperature and output concentration. In this example, the input and output data for the training of the neural network model is generated synthetically using the ideal CSTR model. Therefore, the neural network model is trained with explicit data for inputs/outputs of the neural network block in the combined model. In other words, the neural network block is detached from the combined model structure for training purposes, and is included in the combined model structure for optimization and control after training. Cubillos shows that the combined model has superior generalization capability compared to the neural network models alone, and that the modeling process was easier than synthesizing a FP model based on physical considerations.
- In “Hybrid First-Principles/Neural Networks Model for Column Flotation,” AIChE Journal, vol. 45, p. 557, 1999, by S. Gupta, P. Liu, S. Svoronos, R. Sharma, N. Abdel-Khalek, Y. Cheng, and H. El-Shall (Gupta (1999)), yet another example of a combined model is presented, where the combined model is used for phosphate column flotation. In this approach, the FP model is obtained from material balances on both phosphate particles and gangue (undesired material containing mostly silica). Neural network models relate the attachment rate constants to the operating variables. A nonlinear optimizer in the form of a combination of simulated annealing and conjugate gradient algorithm is used for the training of the neural network models.
- An alternative approach to combining FP knowledge and empirical modeling is to use FP information to impose constraints on the training of the empirical model. An example of this approach is reported in E. Hartman, “Training feedforward neural networks with gain constraints,” Neural Computation, vol. 12, pp. 811-829, April 2000 (Hartman (2000)), where gain information is used as constraints for the training of the neural network models. Hartman develops a method for training feedforward neural networks subject to inequality or equality-bound constraints on the gains (i.e., partial derivatives of outputs with respect to inputs) of the learned mapping. Hartman argues that since accurate gains are essential for the use of neural network models for optimization and control, it is only natural to train neural network models subject to gain constraints when they are known through additional means (such as, for example, bounds extracted from FP models or operator knowledge about the sign of a particular gain).
- A further example of including first principles knowledge in the training of an empirical model is a bounded derivative network (BDN) (i.e., the analytical integral of a neural network) as described in “Introducing the state space bounded derivative network for commercial transition control,” IEEE American Control Conference, June 2003, by P. Turner, J. Guiver, and B. Lines of Aspen Technology, Inc. (Turner (2003)), and illustrated in
FIG. 3 . In this reference the BDN is proposed as a universal nonlinear approximator. AsFIG. 3 shows, in this approach, astate space model 302 is coupled to theBDN 304, andinputs 301 are received by thestate space model 302 and by theBDN 204. Based on the receivedinput 301, the state space model then providesstate information 303 to theGDN 204, as shown, and, based on the receivedinputs 301 and the receivedstates 303, the BDN generatesoutput predictions 307. As indicated by the name “bounded derivative network”, the parameters of the nonlinear approximator are trained through the application of a constrained NLP solver where one set of potential constraints is the bounds on input/output gains in the model. - Prior art approaches to using combined models (as described above) have used neural network models to represent the variation in a specific set of parameters in a FP model. The overall model is therefore the original FP model with some of its parameters varying depending on the input(s)/state(s) of the system. These prior art approaches are generally inadequate in the following situations:
- 1. When the FP model does not fully describe the process. For example, if FP information for only a part of the process is known, a combined model of the process that is appropriate for optimization and control cannot be built based on the prior art techniques (e.g., using the system of
FIG. 2 ), even if representative measurements of all the relevant process variables are available. - 2. When the FP model only implicitly describes the relationship between inputs/states/parameters/outputs. The prior art approaches do not address the issue of training a neural network that models the parameters of an implicit FP model.
- 3. When higher-order fidelity of the input/output mapping (such as first or second order derivatives of the outputs with respect to the inputs) is critical to the usability of the combined model for optimization and control. Prior art does not address the imposition of such constraints in the training of neural network models in the context of combined models as depicted in
FIG. 2 . - While the system described in Turner (2003) does address the issue of gain constraints in the proposed bounded-derivative-network (BDN), the training of the BDN is performed with explicit access to inputs and outputs of the trained model (similar to conventional training of a stand-alone neural network by a NLP solver), and the issue of bounded derivatives when a FP block appears in series with the output of the BDN is not addressed. More specifically, the bounded derivative network of Turner is used in a Wiener model architecture or structure (i.e. in a series connection with a linear state space model) to construct a nonlinear model for a physical process. The Weiner model architecture is illustrated in
FIG. 4A , where a static nonlinear model follows a lineardynamic model 402. Thus, the BDN ofFIG. 3 may be considered a special case of the Weiner model ofFIG. 4A . - According to the Wiener model structure, the modification of the BDN will only affect the effective gain(s) between the inputs and outputs of the model. The identification of the dynamic behavior of the physical process occurs prior to the training of the BDN, and so changes in the state space model may require re-training of the BDN model. Indeed, the entire theory behind the training of the BDN in Turner (2003) is developed to ensure accurate representation of the process gains in the model. In an alternative but similar approach,
FIG. 4B illustrates a Hammerstein model, where the nonlinearstatic model 404 precedes the lineardynamic model 402. Similar to the Weiner model structure, the nonlinearstatic model 404 and the lineardynamic model 402 are developed or trained in isolation of each other, and so modifications in thedynamic model 402 generally requires re-training of the nonlinearstatic model 404. Further information regarding Weiner and Hammerstein models may be found in Adaptive Control, 2nd Edition. 1994, by K. Astrom and B. Wittenmark. - Thus, improved systems and methods for combined models and their use are desired.
- The present invention comprises various embodiments of a system and method for modeling nonlinear process or systems. More specifically, a parametric universal nonlinear dynamics approximator (PUNDA), also referred to as a PUNDA model, and its use are described.
- In one embodiment, the PUNDA model includes a nonlinear approximator, coupled to a dynamic parameterized model in series. The nonlinear approximator may be a neural network, although any type of nonlinear approximator may be used, including for example, support vector machines, statistical models, parametric descriptions, Fourier Series models, or any other type of empirical or data based model, among others. In a preferred embodiment, the nonlinear approximator is a universal nonlinear approximator, such that any type of nonlinear mapping may be implemented. The nonlinear approximator operates to provide parameters to the dynamic parameterized model. In some embodiments, the nonlinear approximator (e.g., neural network) may also include a feedback loop, whereby the output of the approximator is provided as further input to itself, thus supporting dependencies of the output upon prior output of the approximator. In some embodiments, the dynamics approximator may reduce to a static function.
- In a preferred embodiment, the dynamic parameterized model 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. Thus, the dynamic parameterized model may receive its parameters from the nonlinear approximator, and operate accordingly.
- The PUNDA model may be coupled to a physical process or a representation of the process. Process inputs may be provided to the process and to the PUNDA model as input. The process produces process outputs, which may be combined or used with PUNDA model outputs to determine model errors, which may then be provided back to the PUNDA model and used, e.g., with an optimizer, to train the PUNDA model.
- Although the PUNDA model is described below 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, as noted above, other nonlinear approximators and dynamic parameterized models are also contemplated. For example, in various embodiments, the physical process may be described or represented by the process itself, a first principles model, empirical data, or any combination of the three. For simplicity, in this training configuration of the system, the representation of the process may be referred to as the process.
- 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 efficient model of the physical process that is suitable for online optimization and control of the process, i.e., substantially in real time. Additionally, such a model may be capable of approximating the nonlinear physical process with any desired degree of accuracy.
- 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 in the PUNDA model may be trained while it is serially connected to the MIMO difference equation block, and hence, in general, the output of the neural network model 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 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.
- A preferred methodology for the training of the neural network model within the PUNDA architecture is to formulate the training of the neural network parameters as a constrained nonlinear programming problem, which may then be solved with any appropriate NLP solver technology (e.g., Sequential Quadratic Programming (SQP)). The parameters of the neural network model may include: (a) parameters that determine the topology of the neural network model (e.g. number of layers, connectivity of the network), (b) parameters that determine the type/shape of the activation function used at each node, and/or (c) weights/biases in the network, among others.
- 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 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.
- 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.
- In one embodiment, the PUNDA model may be part of an industrial prediction/control system. For example, the PUNDA model may receive process outputs from the physical process and provides model output to a controller, which in turn provides controller output to a distributed control system (DCS). Note that the controller preferably includes an optimizer which receives, and operates according to, optimizer constraints, as is well known in the art. As is also well known, the DCS may operate to filter or otherwise provide checks or other processing regarding the controller output, e.g., for safety purposes, and to provide process inputs to the physical process, as well as the controller and PUNDA model. Of course, other components, such as pre- or post-processors may also be included as desired, such as, for example, between the process and the PUNDA model, for processing the process output data, etc.
- The (trained) PUNDA model may thus operate to control the process in an adaptive or dynamic manner. Further details regarding the PUNDA model and its training and use are provided below.
- One embodiment of a method for training a model of a nonlinear process is presented below for an embodiment of the PUNDA model using a neural network and a set of MIMO difference equations, although it should be noted that the method is broadly applicable to other types of PUNDA models, and to other types of nonlinear models in general.
- First, process inputs/outputs (I/O), i.e., I/O parameters, to be included in the model may be identified, e.g., material inputs and outputs, conditions, such as temperature and pressure, power, costs, and so forth, e.g., via expert knowledge, programmatically through systematic search algorithms, such as correlation analysis, or other approaches or techniques.
- Data for the process input(s)/output(s) may be collected, e.g., from historical data available from plant normal operation, from other models, assembled or averaged from multiple sources, or collected substantially in real time from an operating process, e.g., from an online source. One or more signal processing operations may optionally be performed on the data, including for example, 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.
- Prior knowledge about the process may optionally be assembled or gathered, e.g., operator knowledge regarding the sign of a particular gain, or a residence time in the system, 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, among approaches. 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. The prior knowledge 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.
- An order for the MIMO difference equations may be determined, i.e., the order of the equations comprised in the parameterized dynamic model 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.
- An optimization problem may be formulated in which model parameters are or include decision variables, e.g., where an objective function operates to minimize model errors subject to a set of constraints. Optimization algorithms may be executed or performed to determine the parameters (i.e., values of the parameters) of the PUNDA model.
- Finally, 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, formulating and solving the model optimization task may be repeated one or more times, e.g., via 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.
- One embodiment of a method of operation of the PUNDA model in a control application for a physical process, e.g., a physical plant, is described, where the PUNDA model couples to the physical process, and also to a controller which operates to manage or control the process based on outputs from the PUNDA model. As mentioned earlier, however, the methods presented herein are also contemplated as being broadly applicable in a wide variety of application domains, including both physical and non-physical (e.g., analytical) processes.
- The model may be initialized to a current status of the physical process to be controlled, e.g., to 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, among others.
- 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.
- 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.
- Then, an optimal MV profile may be determined. For example, in a preferred embodiment, the generation of the a trajectory and determination of the deviation from the desired behavior may be performed iteratively with different MV profiles until a satisfactory predicted system response is obtained, preferably by using 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.
- 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. 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.
- 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. The method may then repeat, dynamically monitoring and controlling the process in an ongoing manner, attempting to satisfy the objective function subject to the determined or specified constraints.
- 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.
- 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:
-
FIG. 1 an optimization system where a computer based optimization system operates in conjunction with a process to optimize the process, according to the prior art; -
FIG. 2 is a block diagram of a combined model using parametric and nonparametric models, according to the prior art; -
FIG. 3 illustrates a state space bounded derivative network, according to the prior art; -
FIGS. 4A and 4B illustrate Weiner and Hammerstein model structures, according to the prior art; -
FIG. 5A illustrates a parametric universal non-linear dynamics approximator in a training configuration, according to one embodiment of the invention; -
FIG. 5B illustrates the parametric universal non-linear dynamics approximator ofFIG. 5A in an industrial control system, according to one embodiment of the invention; -
FIG. 6 illustrates a node in a nonlinear approximator network, according to one embodiment; -
FIG. 7A illustrates an exemplary neural network, according to one embodiment; -
FIG. 7B illustrates an exemplary node in the neural network ofFIG. 7A , according to one embodiment; -
FIG. 8 flowcharts one embodiment of a method for training a model, according to one embodiment of the present invention; and -
FIG. 9 flowcharts one embodiment of a method for operating a combined model, according to one embodiment of the present invention. - 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.
- The following references are hereby incorporated by reference in their entirety as though fully and completely set forth herein:
- U.S. application Ser. No. 10/842,157, titled “PARAMETRIC UNIVERSAL NONLINEAR DYNAMICS APPROXIMATOR AND USE”, filed May. 10, 2004;
- 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.
- The following is a glossary of terms used in the present application:
- Objective Function—a mathematical expression of a desired behavior or goal.
- Constraint—a limitation on a property or attribute used to limit the search space in an optimization process.
- 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.
- Control Variables—process outputs, e.g., output states of the process or system being controlled.
- Manipulated Variables—manipulable inputs to the process being controlled.
- Disturbance Variables—inputs which are not manipulable, e.g., ambient temp/pressure, etc., that affect the process, but which are not controllable
- 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.
- 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.
- 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.
- 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. - 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.
- 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.
- 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.
- 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.
- 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.
-
FIGS. 5A and 5B illustrate a parametric universal nonlinear dynamics approximator (PUNDA), according to one embodiment. It should be noted that the block diagrams ofFIGS. 5A and 5B are simplified depictions and are intended to be exemplary only. In other words, there are components that may be required in actual systems which are omitted in the figures for clarity, such as, for example controller blocks, optimizers, input and output processors, and so forth, these items not being necessary to understand the present invention.FIG. 5A is a high level block diagram of aPUNDA model 506, which uses a new architecture for combined models, coupled to a physical process (or system) 104 or representation thereof, for purposes of training thePUNDA model 506.FIG. 5B is a block diagram illustrating the use of the PUNDA model in an industrial system. The PUNDA model may be stored on a memory medium of a computer system, and executed by a processor to implement the operations described herein. - As
FIG. 5A shows, in this embodiment, thePUNDA model 506 includes anonlinear approximator 502, coupled to a dynamic parameterizedmodel 504 in series. In one embodiment, thenonlinear approximator 502 may be a neural network, although any type of nonlinear approximator may be used, including, for example, support vector machines, statistical models, parametric descriptions, Fourier series models, or any other type of empirical or data based model, among others. In a preferred embodiment, the nonlinear approximator is a universal nonlinear approximator, such that any type of nonlinear mapping may be implemented. Thenonlinear approximator 502 operates to provide parameters to the dynamic parameterizedmodel 504, as shown. As indicated, in some embodiments, the nonlinear approximator (e.g., neural network) 502 may also include afeedback loop 505, whereby the output of the approximator is provided as further input to itself, thus supporting dependencies of the output upon prior output of the approximator. - 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 parameterizedmodel 504 may receive its parameters from thenonlinear approximator 502, and operate accordingly. - As also shown in
FIG. 5A , thePUNDA model 506 may be coupled to thephysical process 104 or a representation of theprocess 104.Process inputs 501 may be provided to theprocess 104 and to thePUNDA model 506 as input. Theprocess 104 produces process outputs 503, which may be combined or used with PUNDA model outputs 507 to determinemodel errors 509, as shown. Thesemodel errors 509 may then be provided back to the PUNDA model and used, e.g., with an optimizer, to train the PUNDA model. - 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. - For example, in various embodiments, the
physical process 104 ofFIG. 5A may be described or represented by the process itself, a first principles model, empirical data, or any combination of the three, among others. Examples of first principles models include a state space description of the process in the form of xk+1=Fk (xk, uk, pk), yk=Gk (xk, uk, pk), or input/output difference equations in the form of yk=Gk (yk−1, . . . , yk−N, uk, . . . , uk−M, p k). Here xk is the state vector, uk is the input vector (manipulated or disturbance variables), pk is the parameter vector, and yk is the output vector for the process. Examples of empirical data include test data for all process inputs/outputs, or correlated measurements from normal operation of the process, e.g., plant, for certain input/output pairs. Other representations are also contemplated, including, for example, statistical models, parametric descriptions, Fourier series models, and empirical models, among others. For simplicity, in this training configuration of the system, the representation of the process may be referred to as theprocess 104. - 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.
- 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 MIMOdifference equation block 504, and hence, in general, the output of theneural 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 theneural 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. - A preferred methodology for the training of the
neural network model 502 within the PUNDA architecture ofFIG. 5A is to formulate the training of the neural network parameters as a constrained nonlinear programming problem. This constrained NLP problem may then be solved with any appropriate NLP solver technology (e.g., Sequential Quadratic Programming (SQP)). The parameters of the neural network model may include: (a) parameters that determine the topology of the neural network model (e.g. number of layers, connectivity of the network), (b) parameters that determine the type/shape of the activation function used at each node, and/or (c) weights/biases in the network, among others. - 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. - 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.
- 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 thePUNDA model 506 specifies how the parameters of the dynamic parameterizedmodel 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. - 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
FIGS. 4A and 4B , described above). As described above, in a PUNDA model, thenonlinear approximator block 502 determines and provides the parameters of the dynamic parameterizedmodel 504, e.g., the MIMO difference equations block, and therefore the input/output relationship in the PUNDA model does not pre-impose the conceptual decomposition inherent in the Wiener and Hammerstein model architectures or structures (for further information related to Weiner and Hammerstein models, please see M. Henson and D. Seborg, Nonlinear Process Control, Prentice Hall, 1997). It should be noted, however, that the Wiener and Hammerstein models may be derived from the PUNDA model as special cases if certain simplifications are applied to the PUNDA model. - Turning now to
FIG. 5B , a simplified block diagram of the PUNDA model ofFIG. 5A is illustrated as part of an industrial prediction/control system. AsFIG. 5B shows,controller 512 receives process outputs 503 from thephysical process 104 and providescontroller output 515 to a distributed control system (DCS) 516. Note that thecontroller 512 preferably includes anoptimizer 514 that receives, and operates according to,optimizer constraints 513, as is well known in the art. AsFIG. 5B also shows, thecontroller 512 also includes or couples toPUNDA model 506. Theoptimizer 514 provides trial model inputs 508 (e.g., MVs) to thePUNDA model 506, and thePUNDA model 506 provides resulting PUNDA model output 507 (e.g., CVs) back to theoptimizer 514. As is well known in the art of optimization, theoptimizer 506 andPUNDA model 506 operate in an iterative manner to generate an optimal set of MVs ascontroller output 515. In other words, in a preferred embodiment, thecontroller output 515 is the final iterate of thetrial model input 508. - The
DCS 516 operates to receive thecontroller output 515, and provideprocess inputs 501 to both thephysical process 104 and thecontroller 512, as shown. As is well known, theprocess inputs 501 may be used to control the operation of thephysical process 104, and may also be used by thecontroller 512, e.g., for control optimization and/or adaptive training of thePUNDA model 506. As is also well known, theDCS 516 may operate to filter or otherwise provide checks or other processing regarding thecontroller 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 theprocess 104 and thecontroller 512, e.g., for processing theprocess output data 503, etc. - The (trained)
PUNDA model 506 may thus operate to control theprocess 104 in an adaptive or dynamic manner. Further details regarding the PUNDA model and its training and use are provided below. - 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:
-
x&(t)=F t(u(t),x(t),p(t)) -
y(t)=G t(u(t),x(t),p(t)) (1) - Representing the system of Eq. (1) in terms of a discrete time or difference formulation gives:
-
x k =F k(u k ,x k−1, p k) -
y k =G k(u k ,x k−1 ,p k) (2) - where xk ε N
x ×1 is the state vector, uk ε Nu ×1 is the input vector, yk ε Ny ×1 is the output vector, and pk ε Np ×1 is the parameter vector at time k. Note that for clarity of the derivation, xk and yk are defined as explicit functions of state/input/parameters. Assuming that the system is initially at (xic, uic, yic, pic), the state and the output of the system can be universally approximated by: -
- where parameter matrices, αx,i, . . . , γx,i, ζx,xu, . . . , ζ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.
- 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. Fk 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 Fk 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:
-
- where Ypast and Upast are the number of past outputs and inputs required to fully construct the state vector, and Ai and Bi are the coefficient matrices of appropriate dimension. The bias term yinit is introduced as a parameter that encompasses both yic and the contribution from parameter perturbation (e.g., γx,1 (δpk)) in the state update and γy,1 (δpk) in the output update in Eq. (3)). Note that yinit, Ai, and Bi are varying parameters that are the outputs of the nonlinear approximator block (e.g., neural network) 502 in
FIG. 5A . The mathematical foundation for the training of such models is described below, as is a generally applicable methodology for constructing the constraint set for the training of thenonlinear approximator model 502 in the case of a neural network. - It is contemplated that in most if not all cases, even a low order expansion in Eq. (4), i.e. Ixx= . . . =Iyp≦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 αx,1, βx,1 γx,1, αy,1 βy,1, γy,1, ζx,xu, . . . ζy,up, and ζy,pu are outputs of a nonlinear model, such as a neural network, trained under the combined model structure depicted in
FIG. 5A . The main advantage of a low order model is that it is computationally efficient for online optimization and control. - 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.
- In one embodiment, the training of the
nonlinear approximator block 502 in the PUNDA model (seeFIG. 5A ) may be formulated as a constrained nonlinear optimization problem for a simple feedforward neural network with linear input and output layers and a single hidden layer with a sigmoidal activation function. However, as noted earlier, the derivation described below applies for any nonlinear approximator used in the systems ofFIGS. 5A and 5B . Examples of alternate nonlinear approximators include, but are not limited to, a nonlinear approximator with a different activation function (e.g., an n-th order integral of the sigmoid function, with n≧1), or different topology (e.g. a different number of nodes, layers, and/or connectivity). - A node in the general
nonlinear approximator block 502 may be represented by the block diagram shown inFIG. 6 . This basic building block may appear at any position in the nonlinear approximator network. Note that this embodiment, xo is an affine function of the inputs hi to the block, and f(xo, ρo) is a potentially parametric nonlinear mapping from xo to the output of the node, ho. The feedforward neural network (with linear input and output layers, and a single hidden layer) for which the expository derivations are presented herein is one of the most commonly adopted nonlinear approximators to date. For the kth output unit of this neural network, the output of the node is the output of the nonlinear approximator model. For consistency of the notation with that used inFIG. 5A , the output of the kth output unit is denoted as pk. In this embodiment, it is also assumed that the activation function for this output unit is an identity function, i.e., f(xk, ρk)=xk. The kth output unit may be described as: -
p k =x k -
x k=Σj(w jk h j)+b k (5) - where hj is the output of the jth hidden unit, wjk is the weight from the jth hidden unit to the kth output unit, and bk is the bias term for the summation at the kth output unit. Utilizing the same fundamental building block of
FIG. 6 for the hidden units of the single hidden layer, the output of the jth hidden unit, hj, may be described as: -
h j=ƒ(x j,ρj) -
x j=Σi(w ij u i)+b j (6) - where xj is the input to the nonlinear activation function in the jth hidden unit, wij is the weight from input ui to the jth hidden unit, bj is the bias of the jth hidden unit, and ƒ(xj,ρj) is a nonlinear (potentially parametric with parameter vector ρj) activation function. Acceptable activation function include, but are not limited to, sigmoidal (“s-shaped”) functions such as
-
- which ranges from 0 to 1, or ƒ(xj)=tan h(xj), 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
FIG. 6 , and/or the neural network may include additional inputs that are obtained by applying various signal processing operations to the inputs of the overall PUNDA model (e.g., tap delayed samples of an input, or linearly filtered versions of the input). - A constrained optimization problem for the training of the expository nonlinear approximator block described earlier may be stated in the following form:
-
- 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, tkd is the target output for the PUNDA model, and ykd is the predicted output of the combined model that is computed using the architecture of the PUNDA model depicted in
FIG. 5A . Also note that the sum-squared-error objective is minimized while simultaneously satisfying a set of constraints that may include constraints at each datapoint in the dataset or constraints over the entire input range. Other objective functions, including but not limited to, the log of the absolute error may be used as appropriate. - 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.
- 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 thenonlinear approximator block 502, e.g., the neural network block. - 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
FIG. 5A . Interval arithmetic may be used to develop a preferred methodology for systematically computing such constraints. The methodology disclosed herein permits the computation of guaranteed interval bounds on a composite function without having to derive these bounds explicitly for every composite model form that that function may represent. It is in general considered practically impossible to develop a generally applicable software tool for the modeling of complex nonlinear dynamical systems without a generally applicable constraining methodology, given the diversity of the applications for which such models must be developed. The approach to constraint determination disclosed herein may be applied systematically to any input-output model which can be represented as a flow-graph of other more elementary calculations, including both cyclic and acyclic graphs. Potential applications of the techniques described herein include, but are not limited to, process industry, food, pulp and paper, power generation, biological systems, and financial systems, among others. For more detailed information regarding interval analysis and arithmetic, please see R. Moore, Interval Analysis. Prentice Hall, 1966. - 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++ Toolboxfor Verified Computing, Springer-Verlag, 1995.
- 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.
-
- 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,
x ])=[ƒ(x,y, . . . ),ƒ(x ,y , . . . )]. In general, the extremal values may occur anywhere in the interval and the exact interval cannot necessarily be inferred from samples of the original function. - Consider the interval equivalent of the four basic binary arithmetic operators oε {+,−,×,÷}. The interval equivalent of each of these operators is:
-
[x]+[y]=[x+y,x +y ] -
[x]−[y]=[x−y ,x −y] -
[x]×[y]=[min{ xy,xy ,x y,xy },max{ xy,xy ,x y,xy }] -
[x]÷[y]=[x]×[1/y ,1/ y],0 ∉ [y] (8) - Scaling and biasing by a constant as well as change of sign are specializations of these rules:
-
- Similar analysis can be repeated for elementary functions such as sin( ), tan( ), exp( ), and so forth.
- 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 ƒ[]([.]), which has the property
- This can be written as a set inclusion
-
ƒ([x]) ⊂ƒ[]([ x]). - 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 ƒ( ).
- 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.
- For example, in one embodiment, the
PUNDA model 506 shown inFIG. 5A may be composed of a neural-network (the nonlinear approximator 502) and a set of MIMO difference equations (the dynamic parameterized model 504). Each of these components may in turn be composed of other elementary operations. An interval extension of the model relationships can then be defined by systematic substitution of interval operations. As a simple example, consider the simple neural network structure shown inFIG. 7A , although it should be noted that the neural network ofFIG. 7A is exemplary only, and is not intended to denote an actual neural network. The equations that define the numerical calculations associated with a single node, illustrated inFIG. 7B , are: -
- The interval extension of the summing junctions calculations can be summarized as follows:
-
- In this example, it is assumed that the weight wi 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 o ,h o ]=ƒ[]([ x o ,x o ] -
h o =ƒ( x o ) -
h o =ƒ(x o ) (13) - These interval expressions can be composed such that the output interval [ho ,
ho ] of one node can be used as the input interval [hi ,hi ] for a subsequent node in the flow-graph. A similar derivation can be performed for a simple difference equation, as follows: -
- This is a simplification of equations that in some embodiments may appear in the dynamic parameterized
model block 504, e.g., theMIMO block 504, of thePUNDA model 506. In describing the interval extension of this recurrent equation, it is assumed that the parametric values Ai and Bi are not constants. Rather, they are also intervals. This allows correct composition of this model with the previously described neural network structure. -
- 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
FIG. 7A . In order to compute the gain term dy1/du2, the following procedure may be performed: Let the variable θ be the input value with respect to which the output derivative is taken. Initialize the boundary condition correspondingly: -
- Then perform the following set of chain-rule operations for each node in sequential order in conjunction with the normal evaluations:
-
- Finally, note that the propagated output quantity dy1/dθ is, by construction, the desired gain element dy1/du2.
- 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:
-
- and apply interval extension to the recursive gain operations, resulting in:
-
- Note that
-
- 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 [xo ,
xo ] that is pre-selected to be some infinite or finite range of the input space. It follows that: -
- Again, the output values may be interpreted as estimates of the overall gain bounds:
-
- which are guaranteed to contain the actual gains over the selected input space [xo ,
xo ] by virtue of the following guaranteed inequality: -
- 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:
-
- 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]:
-
- 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].
- 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.
- 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
ƒ <{tilde over (ƒ)}, or if a point-evaluation of ƒ results in ƒ<{tilde over (ƒ)}. Many heuristics have been described in the literature for tuning the performance of this basic branch-and-bound search strategy. See for example R. Patil, Efficient Verified Global Optimization Using Interval Arithmetic, Dissertation for Degree of Doctor of Philosophy, New Mexico State University, 1996. -
FIG. 8 is a high level flowchart of a method for training a model of a nonlinear process, such as the PUNDA model described herein, according to one embodiment. It should be noted, however, that various embodiments of the training method described may be applied to training other types of nonlinear models as well. It should also be noted that in various embodiments, some of the method elements described may be performed concurrently, in a different order than shown, or omitted. Additional method elements may also be performed as desired. The method below is described for an embodiment of the PUNDA model using a neural network and a set of MIMO difference equations, although it should be noted that the method is broadly applicable to other types of PUNDA models, and to other types of nonlinear models in general. - As
FIG. 8 shows, in 802, process inputs/outputs (I/O), i.e., I/O parameters, to be included in the model may be identified. Examples of I/O parameters may include material inputs and outputs, conditions, such as temperature and pressure, power, costs, and so forth. This identification of process I/O may be accomplished in a variety of different ways. For example, in one embodiment, expert knowledge may be used to determine or otherwise identify the process inputs and outputs. As another example, in one embodiment, the process I/O may be determined or identified programmatically through systematic search algorithms, such as correlation analysis. Other approaches or techniques for identifying the process inputs and outputs are also contemplated. - 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.
- 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.
- 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.
- 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.
- 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. - 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.
- 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.
- 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.
- 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 - Thus, various embodiments of the method of
FIG. 8 may be used to train a nonlinear model, such as a PUNDA model, where the training process results in the determination of model parameters and their values over the operational regime of the process. In other words, because the nonlinear approximator (e.g., the neural network) 502 and the parameterized dynamic model (e.g., the MIMO difference equations) 504 are trained together, the parameter values provided by thenonlinear approximator 502 to the parameterizeddynamic model 504 may vary during operation of the process, e.g., as conditions or other operational aspects of the process change. This integrated training of thenonlinear approximator 502 and the parameterizeddynamic model 504 thus treats the combined model in a holistic manner, i.e., considers the combined model behavior as a global property via the confluence of the entire set of model parameters and their values over the operational regime of the process, and thus the training is not limited to some isolated aspect of the system or process behavior, as is typically the case with prior art systems and methods. -
FIG. 9 is a high level flowchart of a method of operation of the PUNDA model in a control application for a physical process, e.g., a physical plant, according to one embodiment. Thus, in the embodiment described, the PUNDA model couples to the physical process, and also to a controller which operates to manage or control the process based on outputs from the PUNDA model, as illustrated byFIG. 5B . As mentioned earlier, however, the methods presented herein are also contemplated as being broadly applicable in a wide variety of application domains, including both physical and non-physical (e.g., analytical) processes. As noted above, in various embodiments, some of the method elements described may be performed concurrently, in a different order than shown, or omitted. Additional method elements may also be performed as desired. - 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.
- 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.
- 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.
- 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. - 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.
- 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.
- 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. - 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.
- 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.
- 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.
- 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.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/112,847 US20080208778A1 (en) | 2002-12-09 | 2008-04-30 | Controlling a non-linear process |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43182102P | 2002-12-09 | 2002-12-09 | |
US10/730,835 US7039475B2 (en) | 2002-12-09 | 2003-12-09 | System and method of adaptive control of processes with varying dynamics |
US54576604P | 2004-02-19 | 2004-02-19 | |
US10/842,157 US20050187643A1 (en) | 2004-02-19 | 2004-05-10 | Parametric universal nonlinear dynamics approximator and use |
US12/112,847 US20080208778A1 (en) | 2002-12-09 | 2008-04-30 | Controlling a non-linear process |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/842,157 Division US20050187643A1 (en) | 2002-12-09 | 2004-05-10 | Parametric universal nonlinear dynamics approximator and use |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080208778A1 true US20080208778A1 (en) | 2008-08-28 |
Family
ID=34864540
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/842,157 Abandoned US20050187643A1 (en) | 2002-12-09 | 2004-05-10 | Parametric universal nonlinear dynamics approximator and use |
US12/112,750 Expired - Lifetime US8019701B2 (en) | 2002-12-09 | 2008-04-30 | Training a model of a non-linear process |
US12/112,847 Abandoned US20080208778A1 (en) | 2002-12-09 | 2008-04-30 | Controlling a non-linear process |
US14/659,003 Active 2027-05-02 US11169494B2 (en) | 2004-02-19 | 2015-03-16 | Parametric universal nonlinear dynamics approximator and use |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/842,157 Abandoned US20050187643A1 (en) | 2002-12-09 | 2004-05-10 | Parametric universal nonlinear dynamics approximator and use |
US12/112,750 Expired - Lifetime US8019701B2 (en) | 2002-12-09 | 2008-04-30 | Training a model of a non-linear process |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/659,003 Active 2027-05-02 US11169494B2 (en) | 2004-02-19 | 2015-03-16 | Parametric universal nonlinear dynamics approximator and use |
Country Status (1)
Country | Link |
---|---|
US (4) | US20050187643A1 (en) |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097026A1 (en) * | 2003-11-04 | 2005-05-05 | Matt Morano | Distributed trading bus architecture |
US20090005889A1 (en) * | 2007-06-28 | 2009-01-01 | Rockwell Automation Technologies, Inc. | Model predictive control system and method for reduction of steady state error |
US20090327153A1 (en) * | 2008-02-15 | 2009-12-31 | New York Mercantile Exchange, Inc. | Symbolic Language For Trade Matching |
WO2011028647A1 (en) * | 2009-09-03 | 2011-03-10 | Chicago Mercantile Exchange Inc. | Utilizing a trigger order with multiple counterparties in implied market trading |
US20110066536A1 (en) * | 2009-09-15 | 2011-03-17 | Andrew Milne | Ratio spreads for contracts of different sizes in implied market trading |
US20110066538A1 (en) * | 2009-09-15 | 2011-03-17 | Chicago Mercantile Exchange, Inc. | Accelerated Trade Matching Using Speculative Parallel Processing |
US20110066537A1 (en) * | 2009-09-15 | 2011-03-17 | Andrew Milne | Implied volume analyzer |
US20110066568A1 (en) * | 2009-09-15 | 2011-03-17 | Andrew Milne | Transformation of a multi-leg security definition for calculation of implied orders in an electronic trading system |
US20110087579A1 (en) * | 2009-10-14 | 2011-04-14 | Andrew Milne | Leg pricer |
US20110125687A1 (en) * | 2009-11-24 | 2011-05-26 | Al-Duwaish Hussain N | Method for hammerstein modeling of steam generator plant |
US20110125686A1 (en) * | 2009-11-24 | 2011-05-26 | Al-Duwaish Hussain N | Method for identifying Hammerstein models |
US20110125684A1 (en) * | 2009-11-24 | 2011-05-26 | Hussain Al-Duwaish | Method for identifying multi-input multi-output hammerstein models |
US20110301723A1 (en) * | 2010-06-02 | 2011-12-08 | Honeywell International Inc. | Using model predictive control to optimize variable trajectories and system control |
WO2012054126A1 (en) * | 2010-10-22 | 2012-04-26 | Toyota Motor Engineering & Manufacturing North America | Method and system for parking a vehicle near obstacles |
US8229835B2 (en) | 2009-01-08 | 2012-07-24 | New York Mercantile Exchange, Inc. | Determination of implied orders in a trade matching system |
US8265854B2 (en) | 2008-07-17 | 2012-09-11 | Honeywell International Inc. | Configurable automotive controller |
US20120239169A1 (en) * | 2011-03-18 | 2012-09-20 | Rockwell Automation Technologies, Inc. | Transparent models for large scale optimization and control |
US20120303565A1 (en) * | 2011-05-23 | 2012-11-29 | Microsoft Corporation | Learning processes for single hidden layer neural networks with linear output units |
US8360040B2 (en) | 2005-08-18 | 2013-01-29 | Honeywell International Inc. | Engine controller |
WO2013072232A1 (en) | 2011-11-15 | 2013-05-23 | Telefonica, S.A. | Method to manage performance in multi-tier applications |
USRE44452E1 (en) | 2004-12-29 | 2013-08-27 | Honeywell International Inc. | Pedal position and/or pedal change rate for use in control of an engine |
US8620461B2 (en) | 2009-09-24 | 2013-12-31 | Honeywell International, Inc. | Method and system for updating tuning parameters of a controller |
US20140081426A1 (en) * | 2012-09-14 | 2014-03-20 | Horiba Instruments Incorporated | Control system auto-tuning |
US8682635B2 (en) | 2010-05-28 | 2014-03-25 | Rockwell Automation Technologies, Inc. | Optimal self-maintained energy management system and use |
EP2728425A1 (en) | 2012-11-05 | 2014-05-07 | Rockwell Automation Technologies, Inc. | Online integration of model-based optimization and model-less control |
US8799201B2 (en) | 2011-07-25 | 2014-08-05 | Toyota Motor Engineering & Manufacturing North America, Inc. | Method and system for tracking objects |
US20150012144A1 (en) * | 2013-07-08 | 2015-01-08 | Eaton Corporation | Method and apparatus for optimizing a hybrid power system with respect to long-term characteristics by online optimization, and real-time forecasts, prediction or processing |
US9650934B2 (en) | 2011-11-04 | 2017-05-16 | Honeywell spol.s.r.o. | Engine and aftertreatment optimization system |
CN106681153A (en) * | 2017-02-23 | 2017-05-17 | 国家电网公司 | External physical controller for frequency conversion simulation of self-adaptive power system real-time simulation platform |
US9677493B2 (en) | 2011-09-19 | 2017-06-13 | Honeywell Spol, S.R.O. | Coordinated engine and emissions control system |
US10036338B2 (en) | 2016-04-26 | 2018-07-31 | Honeywell International Inc. | Condition-based powertrain control system |
US10124750B2 (en) | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
US10235479B2 (en) | 2015-05-06 | 2019-03-19 | Garrett Transportation I Inc. | Identification approach for internal combustion engine mean value models |
US10272779B2 (en) | 2015-08-05 | 2019-04-30 | Garrett Transportation I Inc. | System and approach for dynamic vehicle speed optimization |
US10309287B2 (en) | 2016-11-29 | 2019-06-04 | Garrett Transportation I Inc. | Inferential sensor |
JP2019121112A (en) * | 2017-12-28 | 2019-07-22 | 横河電機株式会社 | Device, simulation system, method and program |
US10415492B2 (en) | 2016-01-29 | 2019-09-17 | Garrett Transportation I Inc. | Engine system with inferential sensor |
US10423131B2 (en) | 2015-07-31 | 2019-09-24 | Garrett Transportation I Inc. | Quadratic program solver for MPC using variable ordering |
US10503128B2 (en) | 2015-01-28 | 2019-12-10 | Garrett Transportation I Inc. | Approach and system for handling constraints for measured disturbances with uncertain preview |
US10621291B2 (en) | 2015-02-16 | 2020-04-14 | Garrett Transportation I Inc. | Approach for aftertreatment system modeling and model identification |
US11057213B2 (en) | 2017-10-13 | 2021-07-06 | Garrett Transportation I, Inc. | Authentication system for electronic control unit on a bus |
US11156180B2 (en) | 2011-11-04 | 2021-10-26 | Garrett Transportation I, Inc. | Integrated optimization and control of an engine and aftertreatment system |
US11169494B2 (en) | 2004-02-19 | 2021-11-09 | Rockwell Automation Technologies, Inc. | Parametric universal nonlinear dynamics approximator and use |
US11782096B2 (en) | 2020-02-07 | 2023-10-10 | Samsung Electronics Co., Ltd. | Method and system for improving state of health of rechargeable batteries |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181498A1 (en) * | 2003-03-11 | 2004-09-16 | Kothare Simone L. | Constrained system identification for incorporation of a priori knowledge |
US7502715B1 (en) * | 2004-09-21 | 2009-03-10 | Asml Netherlands B.V | Observability in metrology measurements |
CA2615727C (en) * | 2005-07-20 | 2013-03-19 | Jian Wang | Real-time operating optimized method of multi-input and multi-output continuous manufacture procedure |
US7562167B2 (en) * | 2005-11-14 | 2009-07-14 | Deere & Company | Managing heterogeneous data streams for remote access |
US7949417B2 (en) | 2006-09-22 | 2011-05-24 | Exxonmobil Research And Engineering Company | Model predictive controller solution analysis process |
WO2009051891A1 (en) * | 2007-08-20 | 2009-04-23 | Cleveland State University | Extended active disturbance rejection controller |
WO2009115323A1 (en) * | 2008-03-18 | 2009-09-24 | Siemens Aktiengesellschaft | Method for model-based determination of parameters and/or state variables of a piezodriven setting element |
US8306788B2 (en) * | 2008-06-11 | 2012-11-06 | Sas Institute Inc. | Computer-implemented systems and methods for executing stochastic discrete event simulations for design of experiments |
US8046089B2 (en) * | 2008-06-20 | 2011-10-25 | Honeywell International Inc. | Apparatus and method for model predictive control (MPC) of a nonlinear process |
NL2003497A (en) * | 2008-09-23 | 2010-03-24 | Asml Netherlands Bv | Lithographic system, lithographic method and device manufacturing method. |
US20100082405A1 (en) * | 2008-09-30 | 2010-04-01 | Shan Jerry Z | Multi-period-ahead Forecasting |
US8594828B2 (en) * | 2008-09-30 | 2013-11-26 | Rockwell Automation Technologies, Inc. | System and method for optimizing a paper manufacturing process |
CN101403893B (en) * | 2008-11-17 | 2010-06-02 | 杭州电子科技大学 | Automatic generation method for dyeing formula |
US8560283B2 (en) * | 2009-07-10 | 2013-10-15 | Emerson Process Management Power And Water Solutions, Inc. | Methods and apparatus to compensate first principle-based simulation models |
US9141098B2 (en) * | 2009-10-30 | 2015-09-22 | Rockwell Automation Technologies, Inc. | Integrated optimization and control for production plants |
US8756039B2 (en) * | 2010-03-02 | 2014-06-17 | Fisher-Rosemount Systems, Inc. | Rapid process model identification and generation |
FR2958911B1 (en) * | 2010-04-19 | 2012-04-27 | Snecma | METHOD AND SYSTEM FOR MONITORING THE OIL LEVEL CONTAINED IN A RESERVOIR OF AN AIRCRAFT ENGINE |
US8423334B2 (en) | 2010-05-18 | 2013-04-16 | Honeywell International Inc. | Distributed model identification |
DE102010017687A1 (en) * | 2010-07-01 | 2012-01-05 | Claas Selbstfahrende Erntemaschinen Gmbh | Method for adjusting at least one working member of a self-propelled harvester |
US9141936B2 (en) | 2010-08-04 | 2015-09-22 | Sas Institute Inc. | Systems and methods for simulating a resource constrained process |
US8670945B2 (en) | 2010-09-30 | 2014-03-11 | Honeywell International Inc. | Apparatus and method for product movement planning to support safety monitoring in inventory management systems |
SG10201508552TA (en) * | 2010-10-22 | 2015-11-27 | Nucleus Scient Inc | Apparatus and method for rapidly charging batteries |
US8984488B2 (en) | 2011-01-14 | 2015-03-17 | Honeywell International Inc. | Type and range propagation through data-flow models |
US8874242B2 (en) | 2011-03-18 | 2014-10-28 | Rockwell Automation Technologies, Inc. | Graphical language for optimization and use |
US20130289945A1 (en) * | 2012-04-27 | 2013-10-31 | U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration | System and Method for Space Utilization Optimization and Visualization |
CN103064282B (en) | 2012-05-04 | 2015-12-16 | 浙江大学 | Nonlinear parameter variation model discrimination method (NPV) |
EP2693279B1 (en) * | 2012-08-01 | 2018-02-21 | Fujitsu Limited | Method and program for generating a simulator |
CN103701414B (en) * | 2012-09-28 | 2017-03-01 | 富士通株式会社 | The selecting device of nonlinear terms and method, identification system and compensation system |
US9864820B2 (en) * | 2012-10-03 | 2018-01-09 | Operation Technology, Inc. | Generator dynamic model parameter estimation and tuning using online data and subspace state space model |
US10222769B2 (en) | 2012-10-12 | 2019-03-05 | Emerson Process Management Power & Water Solutions, Inc. | Method for determining and tuning process characteristic parameters using a simulation system |
US9292012B2 (en) | 2012-11-05 | 2016-03-22 | Rockwell Automation Technologies, Inc. | Secure models for model-based control and optimization |
US9147153B2 (en) * | 2012-11-06 | 2015-09-29 | Rockwell Automation Technologies, Inc. | Empirical modeling with globally enforced general constraints |
US9235657B1 (en) | 2013-03-13 | 2016-01-12 | Johnson Controls Technology Company | System identification and model development |
US9436179B1 (en) | 2013-03-13 | 2016-09-06 | Johnson Controls Technology Company | Systems and methods for energy cost optimization in a building system |
US9852481B1 (en) | 2013-03-13 | 2017-12-26 | Johnson Controls Technology Company | Systems and methods for cascaded model predictive control |
US9208449B2 (en) | 2013-03-15 | 2015-12-08 | International Business Machines Corporation | Process model generated using biased process mining |
US9448546B2 (en) * | 2013-03-15 | 2016-09-20 | Rockwell Automation Technologies, Inc. | Deterministic optimization based control system and method for linear and non-linear systems |
CN103234610B (en) * | 2013-05-14 | 2015-05-06 | 湖南师范大学 | Weighing method applicable to truck scale |
AU2015283818B2 (en) * | 2014-06-30 | 2018-02-15 | Evolving Machine Intelligence Pty Ltd | A system and method for modelling system behaviour |
US9837970B2 (en) * | 2015-03-04 | 2017-12-05 | King Fahd University Of Petroleum And Minerals | Behavioral model and predistorter for modeling and reducing nonlinear effects in power amplifiers |
CN106161125B (en) * | 2015-03-31 | 2019-05-17 | 富士通株式会社 | The estimation device and method of nonlinear characteristic |
US10161269B2 (en) * | 2015-07-17 | 2018-12-25 | Nec Corporation | Output efficiency optimization in production systems |
US10528038B2 (en) * | 2016-01-14 | 2020-01-07 | Rockwell Automation Technologies, Inc. | Optimization-based control with open modeling architecture systems and methods |
US10139809B2 (en) | 2016-01-14 | 2018-11-27 | Rockwell Automation Technologies, Inc. | Optimization based controller tuning systems and methods |
US10190522B2 (en) * | 2016-06-17 | 2019-01-29 | Toyota Motor Engineering & Manufacturing North America, Inc. | Hybrid partial and full step quadratic solver for model predictive control of diesel engine air path flow and methods of use |
US10528700B2 (en) | 2017-04-17 | 2020-01-07 | Rockwell Automation Technologies, Inc. | Industrial automation information contextualization method and system |
US11169507B2 (en) | 2017-06-08 | 2021-11-09 | Rockwell Automation Technologies, Inc. | Scalable industrial analytics platform |
US10862755B2 (en) * | 2017-06-30 | 2020-12-08 | Oracle International Corporation | High-performance data repartitioning for cloud-scale clusters |
US10304258B2 (en) | 2017-07-24 | 2019-05-28 | Microsoft Technology Licensing, Llc | Human feedback in 3D model fitting |
CN107807524B (en) * | 2017-10-20 | 2021-05-11 | 东南大学 | Robust self-adaptive control method for cooling, heating and power combined supply system of micro gas turbine |
US11494651B2 (en) | 2018-01-30 | 2022-11-08 | Imubit Israel Ltd | Systems and methods for optimizing refinery coker process |
US12066800B2 (en) | 2018-01-30 | 2024-08-20 | Imubit Israel Ltd. | Control system with optimization of neural network predictor |
US12045022B2 (en) | 2018-01-30 | 2024-07-23 | Imubit Israel Ltd. | Predictive control systems and methods with offline gains learning and online control |
US11993751B2 (en) | 2018-01-30 | 2024-05-28 | Imubit Israel Ltd. | Predictive control systems and methods with fluid catalytic cracking volume gain optimization |
US11144042B2 (en) | 2018-07-09 | 2021-10-12 | Rockwell Automation Technologies, Inc. | Industrial automation information contextualization method and system |
CN109165722B (en) * | 2018-07-09 | 2021-07-23 | 北京市商汤科技开发有限公司 | Model expansion method and device, electronic equipment and storage medium |
DE102018133058A1 (en) * | 2018-12-20 | 2020-06-25 | Beckhoff Automation Gmbh | METHOD FOR CONTROLLING A REAL-TIME AUTOMATION PROCESS |
CN109739089B (en) * | 2019-01-07 | 2021-08-10 | 大连海事大学 | Non-periodic sampling remote control system for unmanned ship and design method |
US11403541B2 (en) | 2019-02-14 | 2022-08-02 | Rockwell Automation Technologies, Inc. | AI extensions and intelligent model validation for an industrial digital twin |
US11086298B2 (en) | 2019-04-15 | 2021-08-10 | Rockwell Automation Technologies, Inc. | Smart gateway platform for industrial internet of things |
SE543674C2 (en) * | 2019-04-18 | 2021-05-25 | Calejo Ind Intelligence Ab | Evaluation and/or adaptation of industrial and/or technical process models |
US11048483B2 (en) | 2019-09-24 | 2021-06-29 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
US10942710B1 (en) | 2019-09-24 | 2021-03-09 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
US11163536B2 (en) | 2019-09-26 | 2021-11-02 | Rockwell Automation Technologies, Inc. | Maintenance and commissioning |
US11733687B2 (en) | 2019-09-26 | 2023-08-22 | Rockwell Automation Technologies, Inc. | Collaboration tools |
US11042362B2 (en) | 2019-09-26 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Industrial programming development with a trained analytic model |
US11080176B2 (en) | 2019-09-26 | 2021-08-03 | Rockwell Automation Technologies, Inc. | Testing framework for automation objects |
US11392112B2 (en) | 2019-09-26 | 2022-07-19 | Rockwell Automation Technologies, Inc. | Virtual design environment |
US11841699B2 (en) | 2019-09-30 | 2023-12-12 | Rockwell Automation Technologies, Inc. | Artificial intelligence channel for industrial automation |
US11435726B2 (en) | 2019-09-30 | 2022-09-06 | Rockwell Automation Technologies, Inc. | Contextualization of industrial data at the device level |
DE102019130383A1 (en) * | 2019-11-11 | 2021-05-12 | Rational Aktiengesellschaft | Method for controlling a preparation device, control unit and preparation device |
JP7391635B2 (en) * | 2019-11-28 | 2023-12-05 | 株式会社国際電気通信基礎技術研究所 | control system |
US11249462B2 (en) | 2020-01-06 | 2022-02-15 | Rockwell Automation Technologies, Inc. | Industrial data services platform |
US11308447B2 (en) | 2020-04-02 | 2022-04-19 | Rockwell Automation Technologies, Inc. | Cloud-based collaborative industrial automation design environment |
US11726459B2 (en) | 2020-06-18 | 2023-08-15 | Rockwell Automation Technologies, Inc. | Industrial automation control program generation from computer-aided design |
WO2022106917A1 (en) * | 2020-11-17 | 2022-05-27 | Imubit Israel Ltd. | Predictive control systems and methods with offline gains learning and online control |
CN113065288A (en) * | 2021-04-19 | 2021-07-02 | 工数科技(广州)有限公司 | Nutrient optimization method for compound fertilizer production based on industrial data and process mechanism |
CN113641100B (en) * | 2021-07-14 | 2023-11-28 | 苏州国科医工科技发展(集团)有限公司 | Universal identification method for unknown nonlinear system |
US12130892B2 (en) * | 2021-08-12 | 2024-10-29 | Brown University | Universal outlier detection and curation of missing or noisy data points |
EP4293451A1 (en) * | 2022-06-13 | 2023-12-20 | Siemens Aktiengesellschaft | Control of a start-up and / or switch-off process and / or changing the load of a technical installation |
CN116822325B (en) * | 2023-04-29 | 2023-12-26 | 中国人民解放军63963部队 | Diesel engine performance optimization design method and system under overall configuration constraint |
CN117236650B (en) * | 2023-11-13 | 2024-03-01 | 山东工泵电机有限公司 | Water-fertilizer integrated intelligent pump house control method |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5377307A (en) * | 1992-10-07 | 1994-12-27 | Schlumberger Technology Corporation | System and method of global optimization using artificial neural networks |
US5479571A (en) * | 1991-06-14 | 1995-12-26 | The Texas A&M University System | Neural node network and model, and method of teaching same |
US5847952A (en) * | 1996-06-28 | 1998-12-08 | Honeywell Inc. | Nonlinear-approximator-based automatic tuner |
US6047221A (en) * | 1997-10-03 | 2000-04-04 | Pavilion Technologies, Inc. | Method for steady-state identification based upon identified dynamics |
US20020072828A1 (en) * | 2000-06-29 | 2002-06-13 | Aspen Technology, Inc. | Computer method and apparatus for constraining a non-linear approximator of an empirical process |
US6453308B1 (en) * | 1997-10-01 | 2002-09-17 | Aspen Technology, Inc. | Non-linear dynamic predictive device |
US20030149603A1 (en) * | 2002-01-18 | 2003-08-07 | Bruce Ferguson | System and method for operating a non-linear model with missing data for use in electronic commerce |
US20040148144A1 (en) * | 2003-01-24 | 2004-07-29 | Martin Gregory D. | Parameterizing a steady-state model using derivative constraints |
US6882992B1 (en) * | 1999-09-02 | 2005-04-19 | Paul J. Werbos | Neural networks for intelligent control |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960006241B1 (en) | 1993-11-20 | 1996-05-11 | 국방과학연구소 | Composition using thermal conductivity |
US20050187643A1 (en) | 2004-02-19 | 2005-08-25 | Pavilion Technologies, Inc. | Parametric universal nonlinear dynamics approximator and use |
-
2004
- 2004-05-10 US US10/842,157 patent/US20050187643A1/en not_active Abandoned
-
2008
- 2008-04-30 US US12/112,750 patent/US8019701B2/en not_active Expired - Lifetime
- 2008-04-30 US US12/112,847 patent/US20080208778A1/en not_active Abandoned
-
2015
- 2015-03-16 US US14/659,003 patent/US11169494B2/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5479571A (en) * | 1991-06-14 | 1995-12-26 | The Texas A&M University System | Neural node network and model, and method of teaching same |
US5377307A (en) * | 1992-10-07 | 1994-12-27 | Schlumberger Technology Corporation | System and method of global optimization using artificial neural networks |
US5847952A (en) * | 1996-06-28 | 1998-12-08 | Honeywell Inc. | Nonlinear-approximator-based automatic tuner |
US20020178133A1 (en) * | 1997-10-01 | 2002-11-28 | Aspen Technology, Inc. | Non-linear dynamic predictive device |
US7065511B2 (en) * | 1997-10-01 | 2006-06-20 | Aspen Technology, Inc. | Non-linear dynamic predictive device |
US6453308B1 (en) * | 1997-10-01 | 2002-09-17 | Aspen Technology, Inc. | Non-linear dynamic predictive device |
US6047221A (en) * | 1997-10-03 | 2000-04-04 | Pavilion Technologies, Inc. | Method for steady-state identification based upon identified dynamics |
US6882992B1 (en) * | 1999-09-02 | 2005-04-19 | Paul J. Werbos | Neural networks for intelligent control |
US20020072828A1 (en) * | 2000-06-29 | 2002-06-13 | Aspen Technology, Inc. | Computer method and apparatus for constraining a non-linear approximator of an empirical process |
US7330804B2 (en) * | 2000-06-29 | 2008-02-12 | Aspen Technology, Inc. | Computer method and apparatus for constraining a non-linear approximator of an empirical process |
US20080071394A1 (en) * | 2000-06-29 | 2008-03-20 | Paul Turner | Computer method and apparatus for constraining a non-linear approximator of an empirical process |
US7630868B2 (en) * | 2000-06-29 | 2009-12-08 | Aspen Technology, Inc. | Computer method and apparatus for constraining a non-linear approximator of an empirical process |
US20100057222A1 (en) * | 2000-06-29 | 2010-03-04 | Aspen Technology, Inc. | Computer method and apparatus for constraining a non-linear approximator of an empirical process |
US20030149603A1 (en) * | 2002-01-18 | 2003-08-07 | Bruce Ferguson | System and method for operating a non-linear model with missing data for use in electronic commerce |
US20040148144A1 (en) * | 2003-01-24 | 2004-07-29 | Martin Gregory D. | Parameterizing a steady-state model using derivative constraints |
Cited By (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087584A1 (en) * | 2003-11-04 | 2011-04-14 | New York Mercantile Exchange, Inc. | Distributed trading bus architecture |
US7890412B2 (en) | 2003-11-04 | 2011-02-15 | New York Mercantile Exchange, Inc. | Distributed trading bus architecture |
US20050097026A1 (en) * | 2003-11-04 | 2005-05-05 | Matt Morano | Distributed trading bus architecture |
US10510114B2 (en) | 2003-11-04 | 2019-12-17 | New York Mercantile Exchange, Inc. | Distributed trading bus architecture |
US11169494B2 (en) | 2004-02-19 | 2021-11-09 | Rockwell Automation Technologies, Inc. | Parametric universal nonlinear dynamics approximator and use |
USRE44452E1 (en) | 2004-12-29 | 2013-08-27 | Honeywell International Inc. | Pedal position and/or pedal change rate for use in control of an engine |
US8360040B2 (en) | 2005-08-18 | 2013-01-29 | Honeywell International Inc. | Engine controller |
US9563185B2 (en) | 2007-06-28 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Model Predictive control system and method for reduction of steady state error |
US20090005889A1 (en) * | 2007-06-28 | 2009-01-01 | Rockwell Automation Technologies, Inc. | Model predictive control system and method for reduction of steady state error |
US8032235B2 (en) * | 2007-06-28 | 2011-10-04 | Rockwell Automation Technologies, Inc. | Model predictive control system and method for reduction of steady state error |
US8595119B2 (en) | 2008-02-15 | 2013-11-26 | New York Mercantile Exchange, Inc. | Symbolic language for trade matching |
US20090327153A1 (en) * | 2008-02-15 | 2009-12-31 | New York Mercantile Exchange, Inc. | Symbolic Language For Trade Matching |
US8265854B2 (en) | 2008-07-17 | 2012-09-11 | Honeywell International Inc. | Configurable automotive controller |
US10395316B2 (en) | 2009-01-08 | 2019-08-27 | Chicago Mercantile Exchange Inc. | Determination of implied orders in a trade matching system |
US8442904B2 (en) | 2009-01-08 | 2013-05-14 | New York Mercantile Exchange, Inc. | Determination of implied orders in a trade matching system |
US8229835B2 (en) | 2009-01-08 | 2012-07-24 | New York Mercantile Exchange, Inc. | Determination of implied orders in a trade matching system |
US11216878B2 (en) | 2009-01-08 | 2022-01-04 | New York Mercantile Exchange, Inc. | Determination of implied orders in a trade matching system |
US11908010B2 (en) | 2009-01-08 | 2024-02-20 | New York Mercantile Exchange, Inc. | Determination of implied orders in a trade matching system |
US8417618B2 (en) | 2009-09-03 | 2013-04-09 | Chicago Mercantile Exchange Inc. | Utilizing a trigger order with multiple counterparties in implied market trading |
WO2011028647A1 (en) * | 2009-09-03 | 2011-03-10 | Chicago Mercantile Exchange Inc. | Utilizing a trigger order with multiple counterparties in implied market trading |
US8577771B2 (en) | 2009-09-15 | 2013-11-05 | Chicago Mercantile Exchange Inc. | Transformation of a multi-leg security definition for calculation of implied orders in an electronic trading system |
US20110066536A1 (en) * | 2009-09-15 | 2011-03-17 | Andrew Milne | Ratio spreads for contracts of different sizes in implied market trading |
US8266030B2 (en) | 2009-09-15 | 2012-09-11 | Chicago Mercantile Exchange Inc. | Transformation of a multi-leg security definition for calculation of implied orders in an electronic trading system |
US11410231B2 (en) | 2009-09-15 | 2022-08-09 | Chicago Mercantile Exchange Inc. | Accelerated trade matching using speculative parallel processing |
US8255305B2 (en) | 2009-09-15 | 2012-08-28 | Chicago Mercantile Exchange Inc. | Ratio spreads for contracts of different sizes in implied market trading |
US20110066537A1 (en) * | 2009-09-15 | 2011-03-17 | Andrew Milne | Implied volume analyzer |
WO2011034817A1 (en) * | 2009-09-15 | 2011-03-24 | Chicago Mercantile Exchange Inc. | Accelerated trade matching using speculative parallel processing |
US8868460B2 (en) | 2009-09-15 | 2014-10-21 | Chicago Mercantile Exchange Inc. | Accelerated trade matching using speculative parallel processing |
US20110066568A1 (en) * | 2009-09-15 | 2011-03-17 | Andrew Milne | Transformation of a multi-leg security definition for calculation of implied orders in an electronic trading system |
US8392322B2 (en) | 2009-09-15 | 2013-03-05 | Chicago Mercantile Exchange Inc. | Transformation of a multi-leg security definition for calculation of implied orders in an electronic trading system |
US8793180B2 (en) | 2009-09-15 | 2014-07-29 | Chicago Mercantile Exchange Inc. | Ratio spreads for contracts of different sizes in implied market trading |
US20110066538A1 (en) * | 2009-09-15 | 2011-03-17 | Chicago Mercantile Exchange, Inc. | Accelerated Trade Matching Using Speculative Parallel Processing |
US8620461B2 (en) | 2009-09-24 | 2013-12-31 | Honeywell International, Inc. | Method and system for updating tuning parameters of a controller |
US9170573B2 (en) | 2009-09-24 | 2015-10-27 | Honeywell International Inc. | Method and system for updating tuning parameters of a controller |
US20110087579A1 (en) * | 2009-10-14 | 2011-04-14 | Andrew Milne | Leg pricer |
US8484126B2 (en) | 2009-10-14 | 2013-07-09 | Chicago Mercantile Exchange Inc. | Leg pricer |
US8229838B2 (en) | 2009-10-14 | 2012-07-24 | Chicago Mercantile Exchange, Inc. | Leg pricer |
US20110125687A1 (en) * | 2009-11-24 | 2011-05-26 | Al-Duwaish Hussain N | Method for hammerstein modeling of steam generator plant |
US8346693B2 (en) * | 2009-11-24 | 2013-01-01 | King Fahd University Of Petroleum And Minerals | Method for hammerstein modeling of steam generator plant |
US8346711B2 (en) | 2009-11-24 | 2013-01-01 | King Fahd University Of Petroleum And Minerals | Method for identifying multi-input multi-output Hammerstein models |
US20110125686A1 (en) * | 2009-11-24 | 2011-05-26 | Al-Duwaish Hussain N | Method for identifying Hammerstein models |
US20110125684A1 (en) * | 2009-11-24 | 2011-05-26 | Hussain Al-Duwaish | Method for identifying multi-input multi-output hammerstein models |
US8260732B2 (en) | 2009-11-24 | 2012-09-04 | King Fahd University Of Petroleum And Minerals | Method for identifying Hammerstein models |
US8682635B2 (en) | 2010-05-28 | 2014-03-25 | Rockwell Automation Technologies, Inc. | Optimal self-maintained energy management system and use |
US20110301723A1 (en) * | 2010-06-02 | 2011-12-08 | Honeywell International Inc. | Using model predictive control to optimize variable trajectories and system control |
US8504175B2 (en) * | 2010-06-02 | 2013-08-06 | Honeywell International Inc. | Using model predictive control to optimize variable trajectories and system control |
US8571722B2 (en) | 2010-10-22 | 2013-10-29 | Toyota Motor Engineering & Manufacturing North America, Inc. | Method for safely parking vehicle near obstacles |
WO2012054126A1 (en) * | 2010-10-22 | 2012-04-26 | Toyota Motor Engineering & Manufacturing North America | Method and system for parking a vehicle near obstacles |
US20120239169A1 (en) * | 2011-03-18 | 2012-09-20 | Rockwell Automation Technologies, Inc. | Transparent models for large scale optimization and control |
US20120303565A1 (en) * | 2011-05-23 | 2012-11-29 | Microsoft Corporation | Learning processes for single hidden layer neural networks with linear output units |
US8918352B2 (en) * | 2011-05-23 | 2014-12-23 | Microsoft Corporation | Learning processes for single hidden layer neural networks with linear output units |
US8799201B2 (en) | 2011-07-25 | 2014-08-05 | Toyota Motor Engineering & Manufacturing North America, Inc. | Method and system for tracking objects |
US9677493B2 (en) | 2011-09-19 | 2017-06-13 | Honeywell Spol, S.R.O. | Coordinated engine and emissions control system |
US10309281B2 (en) | 2011-09-19 | 2019-06-04 | Garrett Transportation I Inc. | Coordinated engine and emissions control system |
US11619189B2 (en) | 2011-11-04 | 2023-04-04 | Garrett Transportation I Inc. | Integrated optimization and control of an engine and aftertreatment system |
US9650934B2 (en) | 2011-11-04 | 2017-05-16 | Honeywell spol.s.r.o. | Engine and aftertreatment optimization system |
US11156180B2 (en) | 2011-11-04 | 2021-10-26 | Garrett Transportation I, Inc. | Integrated optimization and control of an engine and aftertreatment system |
WO2013072232A1 (en) | 2011-11-15 | 2013-05-23 | Telefonica, S.A. | Method to manage performance in multi-tier applications |
US9207653B2 (en) * | 2012-09-14 | 2015-12-08 | Horiba Instruments Incorporated | Control system auto-tuning |
US20140081426A1 (en) * | 2012-09-14 | 2014-03-20 | Horiba Instruments Incorporated | Control system auto-tuning |
EP2728425A1 (en) | 2012-11-05 | 2014-05-07 | Rockwell Automation Technologies, Inc. | Online integration of model-based optimization and model-less control |
US20150012144A1 (en) * | 2013-07-08 | 2015-01-08 | Eaton Corporation | Method and apparatus for optimizing a hybrid power system with respect to long-term characteristics by online optimization, and real-time forecasts, prediction or processing |
US9564757B2 (en) * | 2013-07-08 | 2017-02-07 | Eaton Corporation | Method and apparatus for optimizing a hybrid power system with respect to long-term characteristics by online optimization, and real-time forecasts, prediction or processing |
US10503128B2 (en) | 2015-01-28 | 2019-12-10 | Garrett Transportation I Inc. | Approach and system for handling constraints for measured disturbances with uncertain preview |
US11687688B2 (en) | 2015-02-16 | 2023-06-27 | Garrett Transportation I Inc. | Approach for aftertreatment system modeling and model identification |
US10621291B2 (en) | 2015-02-16 | 2020-04-14 | Garrett Transportation I Inc. | Approach for aftertreatment system modeling and model identification |
US10235479B2 (en) | 2015-05-06 | 2019-03-19 | Garrett Transportation I Inc. | Identification approach for internal combustion engine mean value models |
US11687047B2 (en) | 2015-07-31 | 2023-06-27 | Garrett Transportation I Inc. | Quadratic program solver for MPC using variable ordering |
US11144017B2 (en) | 2015-07-31 | 2021-10-12 | Garrett Transportation I, Inc. | Quadratic program solver for MPC using variable ordering |
US10423131B2 (en) | 2015-07-31 | 2019-09-24 | Garrett Transportation I Inc. | Quadratic program solver for MPC using variable ordering |
US10272779B2 (en) | 2015-08-05 | 2019-04-30 | Garrett Transportation I Inc. | System and approach for dynamic vehicle speed optimization |
US11180024B2 (en) | 2015-08-05 | 2021-11-23 | Garrett Transportation I Inc. | System and approach for dynamic vehicle speed optimization |
US10415492B2 (en) | 2016-01-29 | 2019-09-17 | Garrett Transportation I Inc. | Engine system with inferential sensor |
US11506138B2 (en) | 2016-01-29 | 2022-11-22 | Garrett Transportation I Inc. | Engine system with inferential sensor |
US10124750B2 (en) | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
US10036338B2 (en) | 2016-04-26 | 2018-07-31 | Honeywell International Inc. | Condition-based powertrain control system |
US10309287B2 (en) | 2016-11-29 | 2019-06-04 | Garrett Transportation I Inc. | Inferential sensor |
CN106681153A (en) * | 2017-02-23 | 2017-05-17 | 国家电网公司 | External physical controller for frequency conversion simulation of self-adaptive power system real-time simulation platform |
US11057213B2 (en) | 2017-10-13 | 2021-07-06 | Garrett Transportation I, Inc. | Authentication system for electronic control unit on a bus |
JP2019121112A (en) * | 2017-12-28 | 2019-07-22 | 横河電機株式会社 | Device, simulation system, method and program |
US11782096B2 (en) | 2020-02-07 | 2023-10-10 | Samsung Electronics Co., Ltd. | Method and system for improving state of health of rechargeable batteries |
Also Published As
Publication number | Publication date |
---|---|
US8019701B2 (en) | 2011-09-13 |
US20080235166A1 (en) | 2008-09-25 |
US20150185717A1 (en) | 2015-07-02 |
US20050187643A1 (en) | 2005-08-25 |
US11169494B2 (en) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11169494B2 (en) | Parametric universal nonlinear dynamics approximator and use | |
Hu et al. | Reach-sdp: Reachability analysis of closed-loop systems with neural network controllers via semidefinite programming | |
EP0645025B1 (en) | System and method for controlling a plant | |
Bemporad et al. | The explicit linear quadratic regulator for constrained systems | |
US6714899B2 (en) | Robust steady-state target calculation for model predictive control | |
US6047221A (en) | Method for steady-state identification based upon identified dynamics | |
US6381505B1 (en) | Robust steady-state target calculation for model predictive control | |
Nghiem et al. | Physics-informed machine learning for modeling and control of dynamical systems | |
Streif et al. | Robustness analysis, prediction, and estimation for uncertain biochemical networks: An overview | |
US6363289B1 (en) | Residual activation neural network | |
US20020087221A1 (en) | Residual activation neural network | |
Chakrabarty et al. | Safe approximate dynamic programming via kernelized lipschitz estimation | |
Hu et al. | Accelerated life testing (ALT) design based on computational reliability analysis | |
Horowitz et al. | A compositional approach to stochastic optimal control with co-safe temporal logic specifications | |
Yang et al. | A physics-informed Run-to-Run control framework for semiconductor manufacturing | |
Tabandeh et al. | Numerical solution of the Fokker–Planck equation using physics-based mixture models | |
Halperin | Distributional offline continuous-time reinforcement learning with neural physics-informed pdes (sciphy rl for doctr-l) | |
Kesavan et al. | A set based approach to detection and isolation of faults in multivariable systems | |
Entesari et al. | Automated reachability analysis of neural network-controlled systems via adaptive polytopes | |
Guo et al. | Deep reinforcement learning in finite-horizon to explore the most probable transition pathway | |
Mascaro et al. | A flexible method for parameterizing ranked nodes in Bayesian networks using Beta distributions | |
Tripura et al. | Robust model agnostic predictive control algorithm for randomly excited dynamical systems | |
Santner et al. | Some criterion-based experimental designs | |
Li et al. | Model predictive control with robust feasibility | |
Kek et al. | Efficient Output Solution for Nonlinear Stochastic Optimal Control Problem with Model‐Reality Differences |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: PAVILION TECHNOLOGIES, INC.,TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SAYYAR-RODSARI, BIJAN;PLUMER, EDWARD;HARTMAN, ERIC;AND OTHERS;REEL/FRAME:020893/0459 Effective date: 20040428 |
|
AS | Assignment |
Owner name: ROCKWELL AUTOMATION PAVILION, INC., TEXAS Free format text: CHANGE OF NAME;ASSIGNOR:PAVILION TECHNOLOGIES, INC.;REEL/FRAME:024741/0984 Effective date: 20071109 |
|
AS | Assignment |
Owner name: ROCKWELL AUTOMATION, INC., WISCONSIN Free format text: MERGER;ASSIGNOR:ROCKWELL AUTOMATION PAVILION, INC.;REEL/FRAME:024755/0492 Effective date: 20080124 |
|
AS | Assignment |
Owner name: ROCKWELL AUTOMATION TECHNOLOGIES, INC., OHIO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROCKWELL AUTOMATION, INC.;REEL/FRAME:024767/0350 Effective date: 20100730 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |