EP4533342A1 - Système de commande à optimisation de prédicteur à réseau de neurones - Google Patents
Système de commande à optimisation de prédicteur à réseau de neuronesInfo
- Publication number
- EP4533342A1 EP4533342A1 EP23816556.7A EP23816556A EP4533342A1 EP 4533342 A1 EP4533342 A1 EP 4533342A1 EP 23816556 A EP23816556 A EP 23816556A EP 4533342 A1 EP4533342 A1 EP 4533342A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- values
- neural network
- variables
- optimization
- predictive
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- C—CHEMISTRY; METALLURGY
- C10—PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
- C10G—CRACKING HYDROCARBON OILS; PRODUCTION OF LIQUID HYDROCARBON MIXTURES, e.g. BY DESTRUCTIVE HYDROGENATION, OLIGOMERISATION, POLYMERISATION; RECOVERY OF HYDROCARBON OILS FROM OIL-SHALE, OIL-SAND, OR GASES; REFINING MIXTURES MAINLY CONSISTING OF HYDROCARBONS; REFORMING OF NAPHTHA; MINERAL WAXES
- C10G47/00—Cracking of hydrocarbon oils, in the presence of hydrogen or hydrogen- generating compounds, to obtain lower boiling fractions
- C10G47/36—Controlling or regulating
-
- 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/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- 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
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Definitions
- 17/308,474 is also a continuation-in-part of U.S. Patent Application No. 16/950,643 filed November 17, 2020, which is a continuation-in-part of U.S. Patent Application No. 15/883,114 filed January 30, 2018 (now U.S. Patent No. 11,200,489).
- the entire disclosures of each of these patent applications and patents are incorporated by reference herein.
- Neural network models can be used to learn the behavior of a continuous process represented as a set of time series variables.
- the above-referenced patent applications and patents describe implementations of neural network models in a control system for a continuous process that use both a predictor neural network model and a controller neural network model to generate control signals for the plant.
- the predictor neural network model is trained to predict the dynamic behavior of the plant, whereas the controller neural network model is trained based on the predictions generated by the predictor neural network model and subsequently used to generate control signals.
- the above-referenced patent applications and patents also describe implementations in which a predictor neural network produces a gains matrix that is used for online control.
- One implementation of the present disclosure is a predictive control system including controllable equipment and a controller.
- the controllable equipment are operable to affect one or more controlled variables of a plant by providing the controllable equipment with control signals based on one or more manipulated variables.
- performing the predictive optimization process includes setting the values of the one or more manipulated variables to adjusted values, using the neural network model to generate predicted values of the one or more controlled variables predicted to result from operating the controllable equipment in accordance with the adjusted values of the one or more manipulated variables, evaluating the objective function using the predicted values of the one or more controlled variables, and iteratively repeating the setting, using, and evaluating steps until the control objective has converged upon an optimal value.
- performing the predictive optimization process includes forecasting values of one or more disturbance variables at each of the plurality of the time steps of the optimization period, providing the values of the one or more disturbance variables as additional inputs to the neural network model, and using a neural network model to predict the values of the one or more controlled variables based on the corresponding values of one or more manipulated variables and the values of the one or more disturbance variables.
- the processing circuit is configured to train the neural network model by performing a plurality of training episodes.
- Each training episode may include obtaining the neural network model including a set of weights and repeatedly applying the neural network model to historical plant data for a historical time step to predict values of the controlled variables at the historical time step for a plurality of historical time steps.
- the values of the controlled variables predicted at each subsequent historical time step may be based on the values of the controlled variables predicted by the neural network model from a preceding historical time step.
- Each training episode may further include adjusting the weights of the neural network model to reduce errors between the values of the controlled variables predicted by the neural network model and actual values of the controlled variables defined by the historical plant data over a duration of the training episode.
- the processing circuit is configured to augment the objective function with one or more penalties based on at least one of the values of the one or more manipulated variables, the values of the one or more controlled variables, or the values of the one or more disturbance variables relative to corresponding threshold values.
- the penalties may be based on amounts by which the values of the one or more manipulated variables, the values of the one or more controlled variables, or the values of the one or more disturbance variables exceed corresponding maximum value thresholds, are less than minimum value thresholds, fall outside threshold ranges, etc.
- the processing circuit is configured to perform the predictive optimization process subject to a set of constraints that define limits based on at least one of the values of the one or more manipulated variables or the values of the one or more controlled variables.
- the processing circuit is configured to generate the control signals for the controllable equipment by using the optimal values of the manipulated variables for one or more first time steps of the plurality of time steps in the optimization period to generate the control signals for the one or more first time steps, storing the optimal values of the manipulated variables for one or more subsequent time steps in the optimization period occurring after the one or more first time steps, repeating the predictive optimization process for one or more time-shifted optimization periods to generate new optimal values of the manipulated variables for the one or more subsequent time steps, and merging the new optimal values of the manipulated variables for the one or more subsequent time steps with the stored optimal values of the manipulated variables to generate the control signals for the one or more subsequent time steps.
- Another implementation of the present disclosure is a method for operating controllable equipment in a predictive control system.
- the method includes using a neural network model to predict values of one or more controlled variables of a plant predicted to result from operating the controllable equipment in accordance with corresponding values of one or more manipulated variables, using the values of the one or more controlled variables predicted by the neural network model to evaluate an objective function that defines a control objective as a function of at least the one or more controlled variables, performing a predictive optimization process to generate optimal values of the manipulated variables for a plurality of time steps in an optimization period using the neural network model and the objective function, and operating the controllable equipment by providing the controllable equipment with control signals based on the optimal values of the manipulated variables generated by performing the predictive optimization process.
- the values of the one or more manipulated variables include at least one of time step specific values of the one or more manipulated variables at each of the time steps of the optimization period or changes in the time step specific values of the one or more manipulated variables between time steps of the optimization period.
- performing the predictive optimization process includes forecasting values of one or more disturbance variables at each of the plurality of the time steps of the optimization period, providing the values of the one or more disturbance variables as additional inputs to the neural network model, and using a neural network model to predict the values of the one or more controlled variables based on the corresponding values of one or more manipulated variables and the values of the one or more disturbance variables.
- performing the predictive optimization process includes forecasting values of one or more disturbance variables at each of the plurality of the time steps of the optimization period, providing the values of the one or more disturbance variables as additional inputs to the objective function, and evaluating the objective function to calculate a value of the control objective as a function of at least the values of the one or more controlled variables and the values of the one or more disturbance variables.
- performing the predictive optimization process includes adjusting the one or more manipulated variables using a non-convex optimization algorithm.
- the method includes training the neural network model by performing a plurality of training episodes.
- Each training episode may include obtaining the neural network model including a set of weights and repeatedly applying the neural network model to historical plant data for a historical time step to predict values of the controlled variables at the historical time step for a plurality of historical time steps.
- the values of the controlled variables predicted at each subsequent historical time step may be based on the values of the controlled variables predicted by the neural network model from a preceding historical time step.
- Each training episode may further include adjusting the weights of the neural network model to reduce errors between the values of the controlled variables predicted by the neural network model and actual values of the controlled variables defined by the historical plant data over a duration of the training episode.
- the method includes performing the predictive optimization process subject to a set of constraints that define limits based on at least one of the values of the one or more manipulated variables or the values of the one or more controlled variables.
- FIG. 5 is a block diagram of a plant controller with model predictive control functionality, which can be implemented in the petroleum refinery system of FIG. 1, according to some embodiments.
- FIG. 6 is a flow diagram of a process for performing model predictive control of a plant, which can be performed by the controller of FIG. 5, according to some embodiments.
- FIG. 7 is a block diagram of a plant controller using offline-trained neural networks to determine MV moves, which can be implemented in the petroleum refinery system of FIG. 1, according to some embodiments.
- FIG. 8 is a flow diagram of a process for using offline-trained neural networks to determine MV moves, which can be performed by the controller of FIG. 7, according to some embodiments.
- FIG. 11 is a block diagram of a plant controller using a predictor neural network to generate a gains matrix to train a controller neural network to determine MV moves, which can be implemented in the petroleum refinery system of FIG. 1, according to some embodiments.
- FIG. 12 is a flow diagram of a process for using a predictor neural network to generate a gains matrix to train a controller neural network to determine MV moves, which can be performed by the plant controller of FIG. 11, according to some embodiments.
- Hydrocracking and hydrotreating are valuable oil refinery processes that convert low-value feedstocks (e.g., residue oil, vacuum gasoils, etc.) into a variety of higher-value and lower-density products including but not limited to naphtha, kerosene, diesel, and gasoline.
- Hydrocracking reactions may occur over a catalyst within a hydrocracking unit (HU) in the presence of hydrogen. Specifically, longer-chain hydrocarbon molecules may be broken down into shorter molecules in the presence of hydrogen and the catalyst. This process results in a relatively heavier (i.e., higher density) input hydrocarbon feed being converted (i.e., broken down) into one or more lighter (i.e., lower density) hydrocarbon outputs.
- HU hydrocracking unit
- the goal of hydrocracking processes may be to maximize the value of the yield (i.e., output, production, generation, etc.) of the hydrocarbon outputs, reach a certain product quality of the hydrocarbon outputs (e.g., chemical and/or physical properties, or a combination thereof.
- a certain product quality of the hydrocarbon outputs e.g., chemical and/or physical properties, or a combination thereof.
- the temperature within a reactor bed of the HCU e.g., weighted average bed temperature (WABT), reactor severity, bed(s) temperature, a combination thereof, etc.
- WABT weighted average bed temperature
- reactor WABT too high of reactor WABT’s, for example, may lead to over-cracking of diesel and/or naphtha molecules into much lighter hydrocarbons, such as LPG and off-gas.
- the temperature at which this can occur can vary, and can be dependent on several factors (e.g., catalyst age, catalyst feed rate, hydrogen feed rate, gas oil feed rate, feed quality, etc.).
- the present disclosure provides various control systems and methods for improving the desired yield and/or the product quality of one or more hydrocarbon products produced from hydrocracking units based on one or more nonlinear factors (e.g., reactor severity, feed quality, feed rate, catalyst quality, etc.).
- control systems and methods described herein can be used to predictively model the hydrocracking conversion process and control oil refinery systems to generate the most valuable total volume and/or most valuable volume and/or most valuable product qualities of one or more hydrocarbon products from hydrocracking unit(s).
- the volume of the one or more hydrocarbon products can refer to the amount (e.g., the actual volume, the mass, the flow rate, a combination thereof, etc.) of the output oil products produced by HCU 116 and/or their value (e.g., economic value, using custom weights, etc.).
- different methods for cracking heavy hydrocarbons can be used to yield different amounts (i.e., yields) of lower-weight hydrocarbon products.
- a hydrocracker my “upgrade” a vacuum gasoil (VGO) feed by injecting hydrogen, resulting in a higher volume of high-quality diesel and kerosene.
- VGO vacuum gasoil
- FCCU fluid catalytic cracking unit
- hydrocracking increases each of the volumes of the combined products streams relative to the volume of the feed (as a result of the introduction of hydrogen into the process) while also the decreasing the density of the products. This can result in more volume being produced compared to the volume received in the feed, which can be referred to as volume swell.
- Reactor effluent from the second stage is then processed in additional liquid/vapor separation vessels before being combined with the effluent from the first stage, and then fractionated into product streams in a multi-stage distillation column.
- Typical products from this column include liquid petroleum gas (LPG), naphtha, kerosene, jet fuel, diesel and unconverted cycle oil (UCO).
- LPG liquid petroleum gas
- naphtha naphtha
- kerosene jet fuel
- a portion of the UCO stream can be recycled back through the second stage for further processing (or cracking).
- Refiners may also withdraw some of the UCO as a product from the hydrocracking unit.
- UCO unconverted cycle oil (i.e., the volumetric flow rate of purged oil that leaves the unit without being converted into lighter products). In some embodiments, this is zero for some units with lighter feed.
- reactor temperatures are described using Weighted- Average Bed Temperatures (WABTs) which can account for the different catalyst volumes in each reactor bed when averaging the reactor bed temperatures.
- WABTs Weighted- Average Bed Temperatures
- the saturation of polyaromatics present in the feed to the hydrotreater can be a considerable source of volume gain within the unit. Saturation of polyaromatics is reversible, and at high temperatures, the reverse reaction will begin to occur, negatively affecting unit volume gain and profitability.
- the temperature at which the reverse reaction can become favorable is highly dynamic and can be affected by multiple factors including catalyst age, feed rate, hydrogen partial pressure, and feed quality.
- the relationship between first-stage WABT and organic nitrogen/ sulfur conversion may also be highly nonlinear. Factors that affect this relationship include but are not limited to, feed quality and rate, hydrogen partial pressure in the reactor, and catalyst age. Controlling the concentration of nitrogen leaving the first stage using a linear model is, therefore, highly inaccurate.
- Neural networks are a type of artificial intelligence that are generally inspired by biological neural networks. Neural networks can include a collection of connected nodes, wherein the connections of the nodes are modeled as weights. The inputs to a neural network may be modified by these weights and summed, producing an output layer that indicates a particular prediction or determination. Adjustment of the weights effects the output layer of the neural network, thus affecting its learning process.
- Neural network-based control systems can be used to monitor and control a wide variety of systems and processes including, for example, a petroleum refinery system, a natural gas processing plant, a liquefied natural gas (LNG) production facility, an olefin manufacturing plant, a commodity chemical manufacturing plant, a polymer production system, a renewable fuel production facility, an ammonia complex processing system, and many other types industrial, production, or processing systems.
- Training a neural network typically includes applying a set of training data that represents the behavior of the system to the neural network and tuning the neural network to predict the system behavior reflected by the training data.
- distillates may be produced via ADU 110, including light distillates (e.g., liquid petroleum gasoline (LPG), gasoline, naphtha, etc.), middle distillates (e.g., kerosene, jet fuel, diesel, etc.), heavy distillates (e.g., fuel oil, etc.), and residuum (e.g., heavy fuel oil, lubricating oils, vax, asphalt, etc.).
- light distillates may have a boiling point around 150-200 °C
- middle distillates may have a boiling point around 250- 300 °C
- heavy distillates may have a boiling point around 300-350 °C
- residuum may have a boiling point around 350 °C and above.
- the processes performed by ADU 110 may be referred to a fractional distillation or fractionation.
- ADU 110 is shown providing the distilled residuum to VDU 112 for further distillation.
- Coker subsystem 114 may be configured to act as a coking system and may convert the residual oil from VDU 112 into more distillates, such as hydrocarbon gases, naphtha, gas oils, and coke.
- the solid coke may be dumped into a coke hauler to be transported away from system 100.
- the excess gasoils that were not transformed into solid coke may be provided to HCU 116 for further processing.
- the excess gasoil can be further broken down into lighter hydrocarbons via catalytic cracking, which may occur in HCU 116.
- Coker subsystem 114 may be similar to ADU 110 in that it separates an input feed (e.g., residual oil) into various distillates using heat.
- a control device e.g., actuator and valve assembly, etc.
- This can include adjusting the actual rate of volume entering into HCU 116, adjusting the amount of each amount component entering into the feed that enters into HCU 116, or a combination thereof.
- Fractionator 206 may act as a distillation tower that separates cracked hydrocarbon streams into several different lighter hydrocarbon products, such as naphtha, jet fuel, and diesel oil.
- HCU 116 is shown as a two-stage hydrocracker, some or all feed that is not cracked (e.g., feed that includes unconverted hydrocarbons from reactor 208) may be mixed with high pressure hydrogen (again) and recycled as feed into reactor 208. The outgoing feed from reactor 210 may feed back into fractionator 206.
- first hydrotreating sub-stage 302 removes organic sulfur and/or organic nitrogen from the incoming feed.
- the processed feed can then be provided to first hydrocracking sub-stage 304, whereupon the large hydro-carbon molecules in the feed are broken down into shorter molecules in the presence of the hydrogen and catalyst.
- first hydrotreating sub-stage 302 and first hydrocracking sub-stage 304 may be part of a single process.
- one or more instances of first hydrocracking sub-stage 304 be present, as denoted by the subscript “i” and the brackets surrounding first hydrocracking sub-stage 304.
- the one or more instances of first hydrocracking sub-stage 304 may be arranged in series with each other, in parallel with each other, or in any combination thereof.
- first hydrotreating substage 302 may also be duplicated one or more times.
- graph 400 shows the overall yield of HCU 116 (Y- axis) vs. reactor severity inside of HCU 116 (X-axis), according to some embodiments.
- Graph 400 shows several of the output products created during the hydrotreating, hydrocracking, and fractionation processes in HCU 116 produce different yields when exposed to different reactor severities. For example, the overall yield of naphtha will be greater than kerosene and diesel when reactor 208 operates at a high reactor severity (e.g., +25°C, etc.).
- the reactor severity can be controlled to adjust the yield, a product quality of one or more of the output products, or a combination thereof of one or more of the output products, or drive the yield and/or the product quality of the one or more output products to desired values (e.g., target values, setpoints, etc.).
- desired values e.g., target values, setpoints, etc.
- the reactor severity is too high, a greater amount of naphtha may be produced than is desired, resulting in less diesel/jet fuel being produced from the feed.
- too little naphtha can be produced than desired if the reactor severity in the reactor (or multiple reactors) is too low.
- the relationship between the varying product yields of the hydrocracking unit and the reactor severity of the one or more reactors is non-linear.
- one or more processing devices can be configured to implement a control technique (e.g., optimize an objective function) to produce the desired amount of hydrocarbon products.
- a control technique e.g., optimize an objective function
- plant controller 702 receives historical data from database 722 and input data from sensors 724 and uses model predictive control to generate control signals for petroleum refining equipment 726.
- Plant controller 702 may be configured to control an oil refinery process as a whole (e.g., control system 100) or a portion or subsystem of system 100, such as system 200.
- plant controller 702 is configured to improve and/or optimize the most valuable total product quality of several or all of the output products of HCU 116.
- one or more output oil products could have a cetane number (CN) indicating the combustion speed of the diesel compounds and the compression required for ignition of the diesel compounds.
- CN cetane number
- the hydrocracking processes within HCU 116 can produce distillates with different CN’s and/or different rates of CN’s. From this, plant controller 702 may be configured to optimize the most amount of CN produced by all of the output products. Of course, only a single distillate (e.g., diesel) could be improved and/or optimized for product quality (e.g., CN, etc.) as well.
- plant controller 702 is configured to improve and/or optimize a combination of the most valuable total yield of HCU 116 and the most valuable total product quality of HCU 116. In some embodiments, any and all combinations of adjusting reactor severity and/or input feed rate, to control total product yield, most valuable product yield, and product quality, can be considered.
- Communications interface 720 can be or include wired or wireless communications interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications.
- communications via communications interface 720 can be direct (e.g., local wired or wireless communications) or via a communications network (e.g., a WAN, the Internet, a cellular network, etc.).
- communications interface can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications link or network.
- communications interface 720 can include a Wi-Fi transceiver for communicating via a wireless communications network.
- communications interface 720 can include cellular or mobile phone communications transceivers.
- Memory 708 (e.g., memory, memory unit, storage device, etc.) can include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present disclosure.
- Memory 708 can be or include volatile memory or non-volatile memory.
- Memory 708 can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure.
- memory 708 is communicably connected to processor 706 via processing circuit 704 and includes computer code for executing (e.g., by processing circuit 704 and/or processor 706) one or more processes described herein.
- CVs can include organic sulfur and/or nitrogen concentrations in the reactor effluent (e.g., feed being processed by HCU 116, etc.), naphtha product distillation boiling points, naphtha product sulfur concentration, naphtha product flash point, diesel product cloud point, diesel product distillation boiling points, diesel product flash point, diesel product sulfur concentration, UCO distillation boiling points, product stream flows, conversion ratios, conversion levels, hydraulic constraints, any product stream or intermediate flow, or any combination thereof.
- CVs may include the volumes, flow rates, mass, or other variables that quantify the amount of the various output oil products produced by the HU.
- Data collector 710 may be configured to separate the collected data into one or more episodes.
- the historical data represents a variety of different control situations over different periods of time.
- the full set of historical data may represent the non-linear behavior of the system over a relatively long time period (e.g., days, months, years, etc.).
- Each sample of the historical data may include values for all of the MV’s, CV’s DV’s, and potentially other variables at an instantaneous time or over a time step having a predetermined duration (e.g., 1 second, 1 minute, 15 minutes, 1 hour, etc.).
- Each sample of the historical data may include a time stamp indicating a time at which the sample was collected and defines a corresponding “state” of the system at the time the sample was collected.
- the samples of historical data are separated into “episodes” which include the historical data for a window of time. These episodes may be predetermined prior to being received at plant controller 702 (e.g., the start times, end times, and/or duration of each episode may be predefined) or can be automatically determined within plant controller 702 based on attributes of the historical data and/or an operating condition of system 100 at a time when the historical data were collected.
- the historical data include not only multiple samples of the variables that affect the plant equipment (e.g., DV’s, MV’s, etc.) but also multiple samples of the variables that are affected by operating the plant equipment (e.g., CV’s), which are the indicators of the final control product.
- the historical data is separated into episodes that allow the data to be modeled in a linear fashion.
- the relationships between the MV’s and the CV’s maintain a linear or generally linear relationship within each episode.
- the samples within each episode are then averaged to create a single representative value of each of the variables for the episode, which are then used to train a neural network.
- the objective function can be configured to maximize the total volume of one or more of the total hydrocarbon products rather than optimizing the maximum value of the one or more hydrocarbon products.
- the objective function could include: / vol
- the pricing of the one or more hydrocarbon products can be included in the objective function for some hydrocarbon products and not others.
- the objective function could be or include the sum of the output flow rates divided by the input flow rate, such that the objective function can quantify the volume gain (e.g., the ratio of output volume to input volume).
- the objective function can be configured to maximize the total product quality of one or more of the output oil products.
- a product quality considered valuable is the cetane number of diesel fuel.
- the objective function could apply an upgraded price for the price of diesel fuel based on the cetane number found in the fuel.
- the CN of the diesel can be tested via a sample of the diesel external from system 100 (e.g., within a lab, etc.) and provided back to plant controller 702 for processing.
- system 100 includes measuring instruments capable of measuring the CN of the diesel stream (e.g., in real-time, at certain intervals, etc.) and providing the CN data back to plant controller 702.
- the objective function can include any number of weights in the objective function such that the various hydrocarbon products are weighted differently when attempting to maximize the objective function.
- the prices in the first embodiment of the objective function shown above act as weights on the flow rate terms. However, it is contemplated that different weights can be applied to the flow rate terms other than their prices. For example, if maximizing the volume of naphtha produced by HCU 116 is desired, while maximizing the volume of jet fuel is less desired, then the variable representing naphtha volume may be weighted higher than the variable representing jet fuel volume, regardless of the prices of the naphtha and jet fuel.
- Process 800 may be performed by any of the processing circuitry described herein, such as plant controller 702. In some embodiments, process 800 is at least partially performed by predictive controller 714 as described above with reference to FIG. 5.
- Process 800 is shown to include receiving, at the model, data indicative of realtime operation of the plant, the data based on sensors located within the plant (step 806) and generating a prediction horizon based on a selection of MV moves (step 808).
- the model coefficients can be provided to predictive model 716, wherein the predictive model is configured to generate CV predictions over a time horizon.
- the time horizon may be relatively short, as only the first move predicted throughout the time horizon may be implemented during model predictive control.
- comparing the aggregate prediction error to a threshold may be considered, such as determining if the error is within a predetermined range of value, determining if the error is off by a predetermined percentage or allowing supervised learning from a technician/engineer to make the decision.
- Process 1000 is shown to include obtaining historical plant data, the historical plant data including values of one or more manipulated variables (MV’s), disturbance variables (DV’s), and controlled variables (CV’s) (step 1002).
- Data collector 710 may be configured to receive the historical plant data from database 722.
- the data includes MV’s, DV’s, and/or CV’s for one or more historical time periods (e.g., historical states) of the plant (e.g., operation of system 100).
- the weights of predictor neural network 904 and/or bias vectors of predictor neural network 904 are initialized. After initialization, for each of a plurality of time steps, an input vector x is formed of values of CV’s, MV’s and/or DV’s of time points t — T . . . t, and a desired output values vector y' is formed of the values of the controlled variables at time t + 1. Predictor neural network 904 is applied to the input vector x and the resultant output vector y is compared to the desired output values vector y' .
- Process 1000 is shown to include training a controller neural network model to output values of the MV’s at the historical time step t based on values of the historical plant data up to a previous historical time step t — 1, and the predicted values of the CV’s at the historical time step (step 1006).
- Controller neural network trainer 906 may train controller neural network (untrained) 908 to output values of the MV’s at the historical time step t as a function of the current state of the plant at time step t — 1.
- the process of training the controller neural network model may include adjusting weights of controller neural network (untrained) 908 until the MV moves are adequate (e.g., based on supervised learning), or until they substantially optimize an objective function.
- this allows for a neural network system that can accurately predict appropriate CV’s (e.g., most valuable volume gains for one or more hydrocarbon products) based on how the oil refinery has been operating, and then accurately generate moves for how the MV’s (e.g., reactor severity, etc.) should be adjusted to accurately reach the predicted CV’s.
- CV e.g., most valuable volume gains for one or more hydrocarbon products
- MV e.g., reactor severity, etc.
- a fT) k CV k+1
- A(0) is the gains matrix
- AV k is a vector of steps or changes in the MV’s
- CV’s and DV’s between time step k — 1 and time step k
- ACV k+1 is a vector of predicted steps or changes in the CV’s between time step k and time step k + 1.
- the gains matrix A(0) is multiplied with the vector AV k of steps or changes in the MV’s, CV’s and DV’s between time step k — 1 and time step k (known from the historical data) to calculate the vector ACV k+1 of predicted steps or changes in the CV’s between time step k and time step k + 1.
- a O'), AV k , and CV k+1 have the following form: where A O') is a m x t matrix having coefficients 0, m is the total number of CV’s, t is the total number of MV’s, CV’s and DV’s, AMV l k ... AMV t k are the actual steps or changes in the MV’s (Z being the total number of MV’s) that occurred between time step k — 1 and time step k, ACV l k ... ACV m k are the actual steps or changes in the CV’s that occurred between time step k — 1 and time step k, ADV l k ...
- ADV t k are the actual steps or changes in the DV’s (n being the total number of DV’s) that occurred between time step k — 1 and time step k, and ACV l k+1 ... CV m k+1 are the predicted steps or changes in the CV’s between time step k and time step k + 1.
- predictor neural network (trained) 1104 can be used for online control.
- Predictor neural network (trained) 1104 is shown receiving real-time state data from sensors 724 and producing coefficients of a gains matrix 1106 as a function of the real-time state data.
- Gains matrix 1106 may provide a linearized representation of the dynamic behavior of the plant in real time, localized to the current state of the plant. This can include a live representation (e.g., a single time step), or can include multiple time steps to generate the representation.
- the objective function can be configured to maximize the total product quality of one or more of the output oil products.
- a product quality considered valuable is the cetane number of diesel fuel.
- the objective function could apply an upgraded price for the price of diesel fuel based on the cetane number found in the fuel.
- the CN of the diesel can be tested via a sample of the diesel external from system 100 (e.g., within a lab, etc.) and provided back to plant controller 702 for processing.
- system 100 includes measuring instruments capable of measuring the CN of the diesel stream (e.g., in real-time, at certain intervals, etc.) and providing the CN data back to plant controller 702.
- the above objective function provides an upgraded price for the product quality of CN, based on the difference between the actual CN in the diesel stream (e.g., the output oil product, etc.) and the base cetane number.
- “Cetane Upgrade Value” in the above equation may refer to a constant value that associates the CN quantity with an appropriate price upgrade when accounting for the price of the diesel stream.
- the product qualities e.g., CN as described above
- the price of the output streams may not be affected by the product quality, but the control technique still provides control to maintain a certain level of the product quality.
- This can allow plant controller 702 to generate the most valuable total product yield while maintaining appropriate levels of product quality.
- the most valuable product quality is optimized while the total yield for the output streams is maintained within upper and lower bounds and/or attempts to reach a target value, can also be considered.
- the objective function may include one or more terms that quantify the error between the current or predicted values of the CV’s and target or setpoint values for the CV’s.
- the objective function may include one or more terms that quantify the amount of input resources (e.g., input oil feeds) consumed by system 100 or a cost of the input resources consumed.
- Optimizer 718 may be configured to iteratively adjust the values of the MV’s and use predictive model 716 to predict the resulting values of the CV’s that will result from each set of MV’s. Optimizer 718 may continue adjusting the MV’s while performing the optimization process until an optimal result is reached (e.g., minimum value of the objective function). Once the optimal result is reached, the values of the MV’s that resulted in the optimal result may be designated as optimal values of the MV’s or optimal MV moves.
- an optimal result e.g., minimum value of the objective function
- Process 1200 may be performed by any of the processing circuitry described herein, such as plant controller 702. In some embodiments, process 1200 is at least partially performed by plant controller 702 as described above with reference to FIG. 9.
- Plant controller 702 may obtain one or more “states” of the plant operation.
- the historical data represents a variety of different control situations over different periods of time.
- the full set of historical data may represent the non-linear behavior of the system over a relatively long time period (e.g., days, months, years, etc.).
- Each sample of the historical data may include values for all of the MV’s, CV’s DV’s, and potentially other variables at an instantaneous time or over a time step having a predetermined duration (e.g., 1 second, 1 minute, 15 minutes, 1 hour, etc.).
- Each sample of the historical data may include a time stamp indicating a time at which the sample was collected and defines a corresponding “state” of the system at the time the sample was collected.
- predictor neural network 904 may use the state data to predict future CV’s and provide the predicted CV’s to controller neural network 908 for prediction of future MV’s.
- controller neural network trainer 906 may be configured to perform an optimization process.
- the optimization process includes optimizing an objective function or cost function to determine optimal values of the MV’s or optimal MV moves.
- the objective function may consider both an established price of each hydrocarbon product and the flow rate of each hydrocarbon product, as well as the cost of feed and the price of the feed.
- An exemplary objective function is shown below:
- Process 1400 may be performed by any of the processing circuitry described herein, such as plant controller 702.
- process 1200 is at least partially performed by plant controller 702 as described above with reference to FIG. 11.
- Process 1400 is shown to include training a predictor neural network model to output a gains matrix that represents a local linearization of dynamic behavior of the plant during the historical time period (step 1404) and adjusting the weights of the predictor neural network to increase the accuracy of the gains matrix predictions including CV predictions for the historical time period (step 1406).
- Predictor neural network trainer 902 may be configured to adjust the weights of predictor neural network 904 to ensure the gains matrix 1102 generated by predictor neural network 904 accurately predicts values of the CV’s in the historical data set.
- Controller neural network trainer 906 may continue adjusting the weights of controller neural 1302 until the MV’s output by controller neural network 1302 result in values of the CV’s that optimize the objective function over a given time period. Once trained, controller neural network 1302 can then be used to generate MV moves for time step t + 1 as a function of the real-time state date at time step t.
- the gains matrix generated for that same episode may then be used to predict the values of the CV’s or CV moves that will result from the MV’s or MV moves associated with that same episode.
- the entire set of predicted values of the CV’s or CV moves i.e., across all of the episodes) may then be used to evaluate the objective function to determine how well the various sets of MV’s or MV moves optimize the objective function across all of the episodes.
- the objective function can include any number of weights in the objective function such that the various hydrocarbon products are weighted differently when attempting to maximize the objective function. For example, if maximizing the volume of naphtha produced by HCU 116 is desired, while maximizing the volume of jet fuel is less desired, than the variable representing naphtha volume may be weighted higher than the variable representing jet fuel volume.
- any number of weights and prices can be used to prioritize certain hydrocarbon products over others.
- controller neural network 908, 910 may result in a controller neural network 908, 910 that is not specific to a single gains matrix or linear behavior of the plant, but rather can generate appropriate values of the MV’s for any real-time state data or any linear behavior of the plant.
- controller neural network 908, 910 can be trained to output values of the MV’s or MV moves for any value of the real-time state data corresponding to any of the divergent linear behaviors of the plant, not only values of the real-time state data that correspond to the same linear behavior of the plant as the episode of historical data used to generate a particular gains matrix.
- Process 1600 is shown to include obtaining historical plant data including values of one or more manipulated variables (MV’s), disturbance variables (DV’s), and controlled variables (CV’s) (step 1602).
- Data collector 710 may be configured to receive the historical plant data from database 722.
- the data includes MV’s, DV’s, and/or CV’s for one or more historical time periods (e.g., historical states) of the plant (e.g., operation of system 100).
- Data collector 710 may be configured to receive the historical plant data from database 722.
- the data includes MV’s, DV’s, and/or CV’s for one or more historical time periods (e.g., historical states) of the plant (e.g., operation of system 100).
- Process 1600 is shown to include operate equipment of the plant by applying the MV moves for the next time step t+1 as inputs to the equipment (step 1612).
- petroleum refining equipment 726 can include a mechanism (e.g., an actuator/valve assembly, a pump device, etc.) that, when the control signals are received, adjust the flow of catalyst into reactor 208, thus adjusting the reactor severity in HCU 116 (e.g., when reactor severity is an MV, etc.).
- Process 1700 is shown to include generating a training input including one or more values of each of the MV’s, DV’s, and CV’s selected from the historical plant data at one or more historical time steps up to historical time step t-1 (step 1704).
- the training input may include a vector of values for each of the MV’s, DV’s, and CV’s (i.e., a time series of each variable including one or more time series values up to time step t-1), which could be provided in the form of a matrix or otherwise.
- the weights of predictor neural network 904 are adjusted in a direction which reduces the difference.
- the magnitude of the difference is calculated using any suitable difference measure (e.g., absolute value, sum of squares, etc.).
- the forming of the vectors, applying predictor neural network 904, and adjusting the weights is repeated for many time points, such that predictor neural network 904 reliably models the operation of the system.
- determining the error may be performed in a manner similar to the training of predictor neural network 904, but instead of adjusting the weights of predictor neural network 904 in response to the comparison of the output vector y and the desired output values vector y', an average error equal to the difference between the vectors y, y' is calculated over one or more time points and the average is displayed to a human user and/or is compared to a threshold. If the average difference is smaller than the threshold, the predictor is considered ready for operation. Otherwise, one or more parameters of the neural network may be adjusted, such as the number of layers, the specific controlled, manipulated and/or disturbance variables used, the size of the intermediary vectors hl, h.2, h3, ...
- process 1800 for training a controller neural network to generate MV’s for given CV’s is shown, according to some embodiments.
- process 1700 can be performed in place of or in addition to the processes described above to train the various predictor neural networks in FIGS. 9-16.
- Process 1800 may be performed by plant controller 702, or any of the other processing circuity disclosed herein.
- Process 1800 is shown to include obtaining historical plant data including values of one or more manipulated variables (MV’s), disturbance variables (DV’s), and controlled variables (CV’s) at each of a plurality of historical time steps during a historical time period (step 1802).
- Process 1800 is shown to include generating a training input including one or more values of each of the MV’s, DV’s, and CV’s selected from the historical plant data at one or more historical time steps up to historical time step t (step 1804).
- the training input may be similar to the historical states that can be used to train predictor neural network 904.
- the training input may also include target values for the CV’s (i.e., setpoints or setpoint ranges).
- Process 1800 is shown to include using the predictor neural network to predict values of the CV’s at the next historical time step t + 1 based on the training input and update the training input to include the predicted values of the CV’s (step 1806).
- Predictor neural network 904 may predict the CV’s for the next historical time step t + 1 based on the training input, and include the predicted CV’s for the future time step in the training input, which can subsequently be provided to controller neural network 1302.
- any of the values of CV’s, MV’s and DV’s can be predicted, calculated, inferred, estimated, or interpolated at any point in real-time and/or via querying historical time data.
- a predictive model e.g., neural network, etc.
- receive multiple data points e.g., data samples, etc.
- the predictive model makes an inference as to the value of the MV based on the inferential functionality performed by the predictive model.
- the inferential functionality is performed by using linear regression, nonlinear regression weighted interpolation, extrapolation, neural networks, or any combination thereof.
- the sampling of CV values is slow such that inferential functionality is used to infer a value of the CV in between samples.
- a neural network currently implemented in the system e.g., controller neural network 910, etc.
- a separate neural network can be configured to use regression analysis to infer the value of the CV in between samples.
- this is merely exemplary and any of the values MV’s, CV’s, and DV’s, may be determined based on inferences made by one or more models performing regression analysis.
- Typical inferentials for HU’ s and their inputs include but are not limited to: Debutanizer Bottoms RON - ROT, Btms Temp, Btms Pressure, Main Frac OVHD Pressure Compensated Temp, Cat Circ, Straight Run Naphtha Feed, Main Frac OVHD Temp, Naphtha Product Rate, Debut Tray 1 TempBB C5+ Content - Olefin flow, Main Frac OVHD Pressure, Debut Tray 9 Temp, HCO P/A, ROT, COT.
- typical inferentials for HCUs and their inputs may also include LCO T90 - Total LCO flow, slurry to storage flow, LCO Draw Temp, Main Frac OVHD Temp, HCO P/A, Main Frac OVHD Pressure.
- Typical inferentials for HCUs and their inputs may also include LCO Flash - COT, Total feed, Total LCO flow, LCO Draw Temp.
- Typical inferentials for HCUs and their inputs may also include Saturated C3s - Feed Preheat Temp, Riser Top Temperature, LPG to Merox, DeC3 BTMS Temp, DeC3 OH Temp.
- Typical inferentials for HCUs and their inputs may also include DeC4 OH C5s - Feed Preheat Temp, Top PA Draw Temp, Riser Top Temperature, Primary Absorber Feed, DeC4 BTMS Temp, DeC4 OH Temp.
- Typical inferentials for HCUs and their inputs may also include Slurry Gravity - Feed Preheat Temp, Riser Top Temperature, Slurry Product Rate, Feed/Slurry Exchanger Feed Bypass Temp.
- the term “constrained variable” refers to at least one of MV’s and DV’s.
- a constrained variable may be any variable that is constrained by the system, and may even include CV’s.
- a constrained variable refers to a variable that is constrained (e.g., via a penalty in an objective function, etc.).
- Control system 1900 can be used in combination with any of the systems or equipment described in U.S. Patent Application No. 17/384,660 filed July 23, 2021, U.S. Patent Application No. 17/308,474 filed May 5, 2021, U.S. Patent Application No. 16/950,643 filed November 17, 2020, U.S. Patent Application No.
- Database 1922 may be the same as or similar to database 722 as previously described.
- database 1922 may be configured to store historical values of manipulated variables (MV’s), controlled variables (CV’s), disturbance variables (DV’s), or any other type of variable or parameter that can be monitored and/or controlled in control system 1900.
- MV manipulated variables
- CV controlled variables
- DV disturbance variables
- the specific MV’s, CV’s, and DV’s stored in database 1922 may depend on the type of system or process monitored and controlled by control system 1900 and may vary across different implementations of control system 1900.
- the variables or parameters stored in database 1922 include one or more variables measured by sensors 1924 (e.g., temperatures, pressures, flow rates, etc.), values of control signals generated by plant controller 1902 (e.g., equipment setpoints, MV moves, etc.), values of performance variables received as feedback from sensors 1924 or controllable equipment 1926, calculated variables, and/or any other type of MV, CV, or DV that can be monitored, controlled, or otherwise used to carry out the functions of control system 1900.
- the historical values of the MV’s, CV’s, and DV’s can be stored in database 1922 in tabular format, time series format, in the form of data objects having one or more attributes, or any other data storage format.
- each of the historical data stored in database 1922 may include a value attribute and a timestamp.
- the value attribute may indicate the value of the corresponding MV, CV, or DV, whereas the timestamp may indicate the particular time at which that value occurred.
- Plant controller 1902 can use the values and timestamps of the historical data to organize the historical data into episodes as previously described.
- Sensors 1924 may include any type of measurement device capable of monitoring and reporting real-time values of MV’s, CV’s, DV’s, or any other variable in control system 1900. Sensors 1924 may provide plant controller 1902 with state data, which may be the same as or similar to the real-time state data previously described with reference to FIGS. 5- 16. For example, sensors 1924 may include temperature sensors, flow rate sensors, pressure sensors, lighting sensors, or any other type of sensor configured to monitor a variable state or condition of the plant, of external factors (e.g., weather data, external price data, one or more DV’s, etc.), or any other states or conditions that can be used in control system 1900.
- sensors 1924 may include temperature sensors, flow rate sensors, pressure sensors, lighting sensors, or any other type of sensor configured to monitor a variable state or condition of the plant, of external factors (e.g., weather data, external price data, one or more DV’s, etc.), or any other states or conditions that can be used in control system 1900.
- sensors 1924 may be standalone devices or embedded into other devices such as controllable equipment 1926.
- sensors 1924 are configured to report calculated values and/or values of internal parameters or states of controllable equipment 1926 (e.g., values of state variables stored in memory of controllable equipment 1926).
- the real-time state data reported by sensors 1924 may include any type of measured value, calculated value, or other type of value that represents the current state of control system 1900.
- Plant controller 1902 is shown to include communications interface 1932 and a processing circuit 1904.
- Communications interface 1932 can be or include wired or wireless communications interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications.
- communications via communications interface 1932 can be direct (e.g., local wired or wireless communications) or via a communications network (e.g., a WAN, the Internet, a cellular network, etc.).
- communications interface 1932 can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications link or network.
- communications interface 1932 can include a Wi-Fi transceiver for communicating via a wireless communications network.
- communications interface 1932 can include cellular or mobile phone communications transceivers.
- Communications interface 1932 can be communicably connected to processing circuit 1904 such that processing circuit 1904 and the various components thereof can send and receive data via communications interface 1932.
- Processing circuit 1904 is shown to include a processor 1906 and memory 1908.
- Processor 1906 can be implemented as a general purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components.
- Memory 1908 e.g., memory, memory unit, storage device, etc.
- Memory 1908 can include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present disclosure.
- Memory 1908 can be or include volatile memory or non-volatile memory.
- Memory 1908 can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure.
- Memory 1908 may be communicably connected to processor 1906 via processing circuit 1904 and may include computer code for executing (e.g., by processing circuit 1904 and/or processor 1906) one or more processes described herein.
- Memory 1908 is shown to include several components (e.g., software components, database components, executable code, data/information structures, etc.) that provide plant controller 1902 with the information, data, functionality, or other inputs/resources to execute the various control processes described herein. These components are shown to include a data collector 1910, a predictor neural network trainer 1912, and a predictive controller 1914. Data collector 1910 may be the same as or similar to data collector 710, as described with reference to FIGS. 5-16. For example, data collector 1910 may be configured to collect or receive one or more data sets for controlling some or all components of control system 1900. Data collector 1910 is shown receiving historical data including MV’s, CV’s, and DV’s.
- MV’s may be variables that can be adjusted to keep the CV’s at their intended set points or otherwise affect the values of the CV’s (e.g., drive the CV’s toward values that optimize an objective function).
- MV’s may include control signals that are provided as inputs to controllable equipment 1926, setpoints that are provided as inputs to controllers, or other variables that can be directly manipulated (e.g., adjusted, set, modulated, etc.) by plant controller 1902.
- the specific types of MV’s may depend on the implementation of control system 1900 (e.g., the specific type of system or process controlled by control system 1900).
- CV’s may quantify the performance or quality of one or more variables affected by the controlled system or process.
- Examples of CV’s may include measured values (e.g., temperature, pressure, energy consumption, etc.), calculated values (e.g., efficiency, coefficient of performance (COP), etc.), or any other values that characterize the performance or state of a controllable system or process.
- Some CV’s may be quantities that are not capable of being directly manipulated by plant controller 1902 (e.g., highest value volume gain, etc.), but rather can be affected by manipulating corresponding MV’s that affect the CV’s (e.g., increasing the reactor severity of HCU 116, etc.).
- CVs in the context of system 100 include organic sulfur and/or nitrogen concentrations in the reactor effluent (e.g., feed being processed by HCU 116, etc.), naphtha product distillation boiling points, naphtha product sulfur concentration, naphtha product flash point, diesel product cloud point, diesel product distillation boiling points, diesel product flash point, diesel product sulfur concentration, UCO distillation boiling points, product stream flows, conversion ratios, conversion levels, hydraulic constraints, any product stream or intermediate flow, or any combination thereof.
- CV’s may include the volumes, flow rates, mass, or other variables that quantify the amount of the various output oil products produced by system 100. However, it should be understood that the specific types of CV’s are dependent upon the specific type of system or process.
- the episodes generated by data collector 1910 encompass a period of time large enough to include multiple samples of the historical data (e.g., multiple time steps, etc.), but small enough such that the behavior of the plant (i.e., the controlled system or process) is substantially linear within a given episode.
- each episode may include a portion of the historical data that, when viewed in isolation, indicates substantially linear system behavior within the episode.
- the episodes generated by data collector 1910 may encompass a period of time long enough to capture non-linear behavior of the plant.
- Predictor neural network 1916 may be the same as or similar to predictor neural network 904 as described with reference to FIGS. 7-16.
- predictor neural network 1916 can be any type of neural network model configured to predict a set of CV’s for a given time step based on a set of MV’s for the given time step and a set of MV’s, DV’s, and/or CV’s for a period of time leading up to the given time step.
- the CV predictions may be outputs of predictor neural network 1916, whereas the MV’s, DV’s, and CV’s for the previous time period and the values of the MV’s at the given time step may be provided as inputs to predictor neural network 1916.
- predictor neural network 1916 can be used to provide CV predictions for a future time step (e.g., time step t + 1) as a function of the state of the plant leading up to the future time step (e.g., a set of values of the CV’s, MV’s, DV’s, etc. for a time window beginning at time step t — w and ending at time step t, where w is the duration of the time window) and a set of planned or proposed values of the MV’s for the future time step (e.g., time step t + 1).
- This forward-looking prediction process is illustrated in FIG. 20.
- predictor neural network trainer 1912 may use predictor neural network 1916 to predict the CV’s of historical time steps using the MV’s, DV’s, and/or CV’s in the set of historical data as an input to predictor neural network 1916.
- predictor neural network trainer 1912 is configured to determine an error between the predicted values of the CV’s at historical time step t and actual values of the CV’s at historical time step t in the historical training data. This may be performed by implementing an acceptable error threshold (e.g., 1%, 5% 20%, etc.) such that if the predicted CV is within that error threshold, the prediction is considered accurate, whereas if the predicted CV is outside of that error threshold, the prediction is considered inaccurate. Predictor neural network trainer 1912 may require the CV predictions to be accurate (e.g., within the acceptable error threshold) prior to determining that the training of predictor neural network 1916 is complete. Some or all of the techniques, steps, or processes used by predictor neural network trainer 902 to train predictor neural network 904, as described with reference to FIGS. 7-16, can be performed by predictor neural network trainer 1912 to train predictor neural network 1916.
- an acceptable error threshold e.g., 1%, 5% 20%, etc.
- the predicted values of the CV’s for a first historical time step t may be fed back into predictor neural network 904 for the next historical time step t + 1 and used in combination with historical values of the MV’s at time step t + 1 and historical values of the DV’s and the MV’s from time step t and one or more preceding time steps to predict the values of the CV’s at time step t + 1.
- This process may be repeated for each time step in the training episode to produce a trajectory of predicted CV values over the duration of the training episode.
- the trajectory of predicted CV values can then be compared with the actual values of the CV’s over the duration of the training episode and the weights of predictor neural network 904 can be adjusted to reduce the errors between the predicted and actual values of the CV’s.
- MPC can be performed over a selected time horizon which includes a plurality of time steps (e.g., from time step t to time step t + h, where h is the duration of the time horizon).
- the state of the plant up to time step t — 1 and the inputs to the plant at time step t are used to predict the state of the plant at time step t (i.e., how the state of the plant will evolve between time steps t — 1 and t).
- the predicted state of the plant at time step t is then used in combination with the state of the plant up to time step t — 1 and the predicted or planned inputs to the plant at time step t + 1 to predict the state of the plant at time step t + 1.
- MPC can be used to predict how the state of the plant will evolve over time as a function of the predicted or planned inputs to the plant over a given time period.
- Predictive controller 1914 is shown to include predictor neural network 1916, optimizer 1918, objective function 1928, constraints 1930, and control signal generator 1920.
- predictor neural network 1916 can be configured to predict the values of the CV’s at time step t + 1 based on a given (e.g., planned, proposed, hypothetical, etc.) set of MV moves or values of the MV’s at time step t + 1 provided by optimizer 1918 and the values of the state data from time step t — w to time step t (e.g., values of the CV’s, MV’s, and DV’s from time steps t — w. . .t ), which may be received from sensors 1924 and/or other data sources.
- a given e.g., planned, proposed, hypothetical, etc.
- Objective function 1928 may define the value of a control objective which may include one or more sub-objectives (e.g., volume/mass of products generated, price/value of products generated, error between predicted values of CV’s and their target values, etc.) as a function of the MV’s, CV’s and/or DV’s over the duration of the optimization time period (i.e., the duration of the time horizon h).
- sub-objectives e.g., volume/mass of products generated, price/value of products generated, error between predicted values of CV’s and their target values, etc.
- Optimizer 1918 may iteratively adjust the proposed MV moves using an optimization algorithm (e.g., zero-order algorithms, first-order algorithms, second-order algorithms, etc.) with the goal of optimizing (e.g., minimizing or maximizing) the value of objective function 1928.
- the result of the predictive optimization process is a set of optimal MV moves or values of the MV’s (i.e., values of the decision variables in the predictive optimization).
- Control signal generator 1920 may receive the optimal MV moves or optimal values of the MV’s from optimizer 1918 and use the optimal MV moves or values of the MV’s to generate control signals for controllable equipment 1926.
- predictive controller 1914 is shown to include a constraints generator 1940, an objective function generator 1934, a scenarios generator 1936, and a DV forecaster 1938.
- constraints 1930 may limit the MV’s to values within the minimum and maximum operating limits (e.g., maximum capacities, minimum capacities, etc.) of controllable equipment 1926 to ensure that the predictive optimization produces a feasible result that can realistically be achieved by controllable equipment 1926.
- constraints 1930 impose limits on the rate of change of the MV’s, CV’s, or other variables in the predictive optimization process.
- constraints 1930 may specify that the value of a given MV, CV, or other variable cannot change by an amount that exceeds a threshold rate of change (e.g., maximum increase or decrease between time steps).
- constraints 1930 specify that the value of a given MV, CV, or other variable cannot change direction (e.g., change from increasing to decreasing or change from decreasing to increasing relative to the previous time step) if less than a threshold amount of time has elapsed since the last change in direction occurred.
- constraints 1930 impose a limit on the number of changes in direction of a given variable or require the change in the value of the variable between time steps to be substantially uniform (e.g., increase or decrease at a substantially uniform or linear rate), or impose any other limit on the geometry of the trajectory of the variable over time.
- the trajectory of a given variable over time can be defined as a piecewise linear function that includes several linear segments connected at their endpoints. The linear segments may have different slopes that indicate different rates of change of the variable.
- Constraints 1930 such as these will cause optimizer 1918 to select values of the MV’s that result in the permitted number (or fewer) of linear segments or slope changes if implemented as hard constraints, or encourage optimizer 1918 to select values of the MV’s that result in fewer changes in slope of the given variable over time if implemented as soft constraints or penalties.
- constraints 1930 require the values of the MV’s, CV’s, or other variables to be equal to a corresponding target value, or above, below, or within a threshold range of the corresponding target value (e.g., +/- 5%, +/- 10%, +/- 25%, etc.).
- constraints 1930 may require the values of the CV’s at time step t + 1 to be related to the values of the MV’s at time step t + 1 and the values of the MV’s, DV’s, and CV’s at previous time steps, where the relationships between the MV’s, DV’s, and CV’s required by constraints 1930 reflect the predictions made by predictor neural network 1916.
- objective function 1928 is a function of the CV’s at time t + 1 as well as future time steps of the optimization period.
- Soft constraints can be violated when performing the predictive optimization process, but optimizer 1918 is discouraged from selecting values of the MV’s that result in soft constraint violations because any such violations will affect the value of objective function 1928.
- optimizer 1918 may generate a solution that violates the soft constraints, for example, when no feasible solution exists without violating the soft constraints or if the penalties resulting from the soft constraints do not outweigh the benefits (e.g., other terms of objective function 1928 outweigh the penalties).
- objective function 1928 may be the summation or mean of a set of terms calculated for every time step (i.e., a step-wise objective) based on the values of the MV’s, CV’s, and/or DV’s for that time step.
- objective function 1928 is a minimization or maximization function based on the values of the CV’s over the duration of the optimization period.
- each of the CV’s may represent the volume, mass, or flow rate of a given product generated by the plant such that the summation represents the total volume, mass, or aggregate flow rate (respectively) over the duration of the optimization period.
- the weights are prices or costs
- the summation represents the total price or value of the products generated by the plant over the duration of the optimization period.
- objective function 1928 includes one or more penalty terms that act as soft constraints.
- Objective function generator 1934 can be configured to modify the base objective function J to add penalties as illustrated in the following example: where CV l t , CV 2 t , CV 3 1 , . . . CV n t are the values of the n CV’s at time step t, TV l t , TV 2 t , TV 3 t , . ..TV n t are the target values of the n CV’s at time step t, J is the initial objective function without penalties (e.g., any of the objective functions described above), and J a is the augmented objective function 1928 after accounting for the penalties.
- Sub-goals can include soft constraints such as upper and lower bounds, target values, value maximization or minimization, or any other function that can be expressed in terms of the MV’s, CV’s, DV’s, and/or any other information.
- objective function generator 1934 formulates objective function 1928 in the form of the optimization problem to be solved by optimizer 1918.
- the predictive optimization problem may have the following form: max J a or min J a s. t. constraints MV MV which denotes that the goal of the predictive optimization is to either maximize or minimize the value of the objective function J a 1928 by adjusting the values of the manipulated variables (MV’s) subject to a set of constraints.
- the MV’s are the decision variables in the predictive optimization process and are adjusted by optimizer 1918 to drive objective function 1928 toward a maximum or minimum value.
- the predictive optimization is performed subject to the constraints generated by constraints generator 1940, which can be implemented as hard constraints or soft constraints as previously described.
- DV 2 [DV 2 1 , DV 2 2 , DV 2I3 , - DV 2 h ]
- DV forecaster 1938 extrapolates the values of the DV’s from a historical pattern (e.g., historical values of the DV’s prior to the beginning of the optimization period) using linear extrapolation, polynomial extrapolation, conical extrapolation, geometric extrapolation, constant extrapolation (e.g., holding the values of the DV’s at their most recent known values, setting the DV’s to their average values over several past time steps), or any other extrapolation technique.
- DV forecaster 1938 applies noise to the extrapolated or forecasted values of the DV’s.
- Scenarios generator 1936 can be configured to generate multiple different alternative scenarios to be considered by optimizer 1918.
- Each of the alternative scenarios may include some or all of the information discussed above including, for example, a set of values for the DV trajectories, constraints 1930, target values of the CV’s, or any other information needed to fully define the optimization problem.
- Each scenario may be a fully defined instance of the predictive optimization problem.
- each of the alternative scenarios may represent slightly different conditions and thus may include different values (relative to the other scenarios) for some or all of the DV trajectories, constraints 1930, target values of the CV’s, or any other information needed to fully define the optimization problem.
- scenarios generator 1936 generates the alternative scenarios by adding different noise signals to a base set of the DV trajectories, constraints 1930, or target values of the CV’s (e.g., different random noise signals, different normally distributed or Gaussian noise signals, etc.), by applying dropout to the neurons of predictor neural network 1916 (e.g., noise in internal neurons), or otherwise generating multiple different and alternative sets of values for the various inputs to optimizer 1918.
- scenarios generator 1936 can mimic the stochastic nature of the target environment and account for a variety of different scenarios that could potentially occur. This may result in a more robust control policy relative to any single scenario.
- Optimizer 1918 may perform the predictive optimization process for each of the alternative scenarios independently to generate a scenario-specific set of values for the MV’s or MV moves that are optimal for that particular scenario. Optimizer 1918 may then combine (e.g., average, sum, aggregate, etc.) the scenario-specific results of the predictive optimization process to generate the final values for the MV’s or MV moves. In some embodiments, optimizer 1918 combines the scenario-specific results of the predictive optimization process using a weighted average that weighs each scenario by the likelihood of that scenario occurring.
- optimizer 1918 can assign a greater weight to the scenarios that result in fewer changes in the values of the MV’s or fewer piecewise linear segments in the trajectories of the MV’s over time (as described above) and assign a lesser weight to the scenarios that result in more changes in values of the MV’s or more piecewise linear segments in the trajectories of the MV’s over time, relative to the other scenarios.
- optimizer 1918 may assign each scenario a score or weight based on any of these or other factors and use the weights to combine the scenario-specific results of the predictive optimization process.
- optimizer 1918 may combine the scenario-specific results using any of a variety of combination strategies.
- Another combination strategy that could be used by optimizer 1918 includes removing outlier scenarios or outlier values of the MV’s (e.g., by evaluating the scenarios or MV’s using an outlier detection or clustering technique) and averaging the remaining scenarios or values of the MV’s after outlier removal.
- optimizer 1918 combines the scenario-specific results of the predictive optimization process using a neural network that is trained to produce a trajectory of the MV’s or MV moves (referred to herein as an “input sequence”) that achieves the best performance when applied to all scenarios.
- the input sequence that achieves the best performance can be determined by scoring the results of each input sequence in each scenario using the objective function 1928 and selecting the input sequence that results in the most optimal value of the objective function 1928 when averaged over the scenarios.
- the optimization problem solved by optimizer 1918 is non- convex.
- Traditional optimization-based control systems such as those conventionally used for model predictive control (MPC) typically apply convex optimization, which is the process of minimizing convex functions over convex sets.
- MPC model predictive control
- convex optimization is the process of minimizing convex functions over convex sets.
- a straight line connecting any two points on a graph of the function does not lie below the graph of the function between the two points (i.e., all points on the line lie at or above the graph of the function, regardless of which two points on the graph of the function are selected as the end points).
- a straight line connecting any two points within the convex set is contained entirely within the convex set (i.e., all points along the line are contained within the convex set).
- the feasible solution set is a convex set and every stationary point is also a global minimum.
- Non-convex optimization is significantly more challenging than convex optimization due to the potential existence of stationary points that are not necessarily the global minimum and/or feasible solution sets that are non-convex sets. While convex optimization problems can be solved exactly (i.e., reaching a global minimum) using standard MPC algorithms, non-convex optimization problems typically cannot.
- optimizer 1918 performs the predictive optimization process using a non-convex optimization algorithm. For example, optimizer 1918 may adjust the values of the MV’s to drive objective function 1928 toward its optimal value using a non-convex optimization algorithm.
- optimizer 1918 is configured to determine the number of iterations to use and/or when to stop the iterative optimization process by monitoring results of the predictive optimization and evaluating whether the results are converging or have sufficiently converged. For example, optimizer 1918 may determine that the predictive optimization has sufficiently converged if the result of the most recent iteration deviates by less than a threshold (e.g., a percentage change, a change by less than a predetermined amount, etc.) relative to the previous iteration. In response to detecting such convergence, optimizer 1918 may stop the iterative process and use the most recent set of results as the final results.
- a threshold e.g., a percentage change, a change by less than a predetermined amount, etc.
- optimizer 1918 may provide the optimal values of the decision variables to control signal generator 1920.
- optimizer 1918 may calculate the optimal MV move from time step t — 1 to time step t as x t — x ⁇ .
- Control signal generator 1920 can use the optimal values of the MV’s and/or the optimal MV moves to generate the control signals for controllable equipment 1926.
- MV 2 [MV 2I2 , MV 2 3 , MV 2 , - MV 2ih+1 ]
- control signal generator 1920 may define a threshold for a number of MV moves and/or a magnitude of MV moves for one or more of the MV’ s within a given time period and may cause control signal generator 1920 to ignore subsequent moves of the applicable MV’s if the threshold has been exceeded until the time period has expired or the rule is no longer satisfied.
- control signal generator 1920 may receive input from a user (e.g., a plant operator) and selectively ignore the control decisions from optimizer 1918 for one or more of the MV’s if the user has provided a manual override for the MV’s or otherwise indicated that the automatic control decisions generated by optimizer 1918 should be ignored. Such user input can be received in real-time or ahead-of-time for some or all of the time steps in a future time period.
- step 2002 may include adjusting or tuning the weights of predictor neural network 1916 such that the CV predictions generated by predictor neural network 1916 comply or align with the values of the CV’s in the historical data.
- An example of a process which can be performed to accomplish step 2002 is described in greater detail with reference to FIG. 15.
- step 2002 includes determining an error between the predicted values of the CV’s at historical time step t and actual values of the CV’s at historical time step t in the historical training data. This may be performed by implementing an acceptable error threshold (e.g., 1%, 5% 20%, etc.) such that if the predicted CV is within that error threshold, the prediction is considered accurate, whereas if the predicted CV is outside of that error threshold, the prediction is considered inaccurate. Step 2002 may require the CV predictions to be accurate (e.g., within the acceptable error threshold) prior to determining that the training of predictor neural network 1916 is complete. Some or all of the techniques, steps, or processes described with reference to FIGS. 17-18, can be performed to train predictor neural network 1916 in step 2002.
- an acceptable error threshold e.g., 1%, 5% 20%, etc.
- objective function 1928 may be the summation or mean of a set of terms calculated for every time step (i.e., a step-wise objective) based on the values of the MV’s, CV’s, and/or DV’s for that time step.
- objective function 1928 can be a differentiable function or a non- differentiable function.
- constraints 1930 specify that the value of a given MV, CV, or other variable cannot change direction (e.g., change from increasing to decreasing or change from decreasing to increasing relative to the previous time step) if less than a threshold amount of time has elapsed since the last change in direction occurred.
- constraints 1930 impose a limit on the number of changes in direction of a given variable or require the change in the value of the variable between time steps to be substantially uniform (e.g., increase or decrease at a substantially uniform or linear rate), or impose any other limit on the geometry of the trajectory of the variable over time (e.g., an upper limit on the number of linear segments or bend points in the trajectory of the variable over time).
- constraints 1930 define relationships between two or more of the MV’s, DV’s, CV’s or other variables (e.g., a given CV must be less than another CV, the product of two CVs must be greater than a threshold, the value of a CV must be equal to a given function of one or more of the MV’s and/or DV’s, etc.).
- the relationships defined by constraints 1930 can represent the physical realities of the plant (e.g., constraints that reflect laws of physics, chemistry, etc.) or may represent operational requirements that are desired to be achieved but are not mandated by physical laws.
- the relationship between the inputs to predictor neural network 1916 and the outputs of predictor neural network 1916 are implemented as constraints 1930.
- predictor neural network 1916 can be used to define or establish a constraint that requires the MV’s or MV moves at time step t + 1 to be related to the values of the MV’s at time step t + 1 and the values of the MV’s, DV’s, and CV’s defined by the state data from time step t — w to time step t.
- step 2008 may include adding a noise signal (e.g., a random signal, a normally distributed or Gaussian noise signal, etc.) to the extrapolated or forecasted values of the DV’s.
- a noise signal e.g., a random signal, a normally distributed or Gaussian noise signal, etc.
- step 2008 includes using an auto-regressive model to predict the trajectory of the DV’s based on their historical pattern.
- the DV trajectories generated in step 2008 can be provided as inputs to predictor neural network 1916 for use in predicting the CV’s.
- the DV trajectories generated in step 2008 can also be provided as inputs to step 2010 for use in performing the predictive optimization process.
- Process 2000 is shown to include performing a predictive optimization of the objective function subject to the constraints and using the predictor neural network determine optimal trajectories of the set of MV’s over the optimization time period (step 2010).
- step 2010 is performed by optimizer 1918 as described with reference to FIGS. 17-18.
- step 2010 may include performing a model predictive control process to determine optimal values of a set of decision variables.
- step 2010 may calculate the optimal MV move from time step t — 1 to time step t as x t — x ⁇ .
- Process 2000 is shown to include determining whether there are any additional scenarios to consider (step 2012). If there are any additional scenarios to consider (i.e., the result of step 2012 is “yes”), process 2000 may advance to the next scenario (step 2014) and may repeat steps 2004-2010 for the next scenario.
- the various scenarios to be considered may be generated by scenarios generator 1936 as described with reference to FIGS. 17-18.
- the different scenarios may include multiple different and alternative sets of information that are used to define the optimization problem.
- each of the alternative scenarios may include some or all of the information discussed above including, for example, a set of values for the DV trajectories, constraints 1930, target values of the CV’s, or any other information needed to fully define the optimization problem.
- process 2000 may merge the scenario-specific MV trajectories (step 2016).
- the scenario-specific MV trajectories may include the optimal trajectories of the set of MV’s generated in step 2010 for each of the scenarios considered in process 2000.
- Each set of scenario-specific MV trajectories may be generated by performing an instance of steps 2004-2010 for a corresponding scenario.
- Each instance of steps 2004-2010 may be performed independently for the corresponding scenario (i.e., independent of the other scenarios) to generate a scenario-specific set of values for the MV’s or MV moves that are optimal for that particular scenario.
- step 2016 may include combining (e.g., average, sum, aggregate, etc.) the scenario-specific results of the predictive optimization process from each instance of step 2010 to generate the final values for the MV’s or MV moves.
- step 2016 includes combining the scenariospecific results of the predictive optimization process using a weighted average that weights each scenario by the likelihood of that scenario occurring.
- step 2016 may include calculating an amount by which the inputs for each scenario (i.e., the DV trajectories, constraints 1930, target values of the CV’s, etc.) deviate from an average or mean of the set of scenarios (e.g., as a standard deviation, variance, etc.).
- w p may sum to one in some embodiments. This same equation can be applied to each of the MV’s in the MV trajectories and at each time step of the optimization period to combine the results of the scenario-specific predictive optimization processes into a final result that accounts for all of the different and alternative scenarios.
- MV 2 [MV 2 1 , MV 2 2 , MV 2I3 , - MV 2 h ⁇
- MV n [MV n l , MV n 2 , MV n 3 , - MV n h
- n is the total number of MV’s in the predictive optimization process.
- MV n [MV n 2 , MV n 2 , MV n , - MV n h+1 ⁇
- Steps 2004-2020 can be repeated iteratively by shifting the optimization period forward in time and performing another run of the predictive optimization process to provide control signal generator 1920 with an updated trajectory of MV’s and/or MV moves at the beginning of each time step.
- step 2018 can implement the control decisions for the first time step in the updated trajectory (i.e., use the values of the MV’s and/or MV moves for the first time step to generate the control signals for controllable equipment 1926) and ignore the control decisions for the remaining time steps in the updated trajectory.
- step 2018 can overwrite the previously received trajectories of the MV’s and/or MV moves with the most recent trajectories generated in step 2010.
- step 2018 may include storing in memory the full trajectories of the MV’s and/or MV moves received at each time step.
- Step 2018 may include merging the updated trajectory with the previously generated trajectory or trajectories such that the value of a MV or MV move for a given time step evolves as additional trajectories containing that time step are received.
- step 2018 may include calculating an average of all of the values of a given MV received for a given time step and use the average value to generate the control signals for controllable equipment 1926.
- control signal generator 1920 can calculate the average value as simple average or a weighted average (e.g., an exponentially weighted average) which weighs more recently received trajectories more heavily.
- Predictor neural network 1916 can be configured to predict a set of CV’s that will result from a set of MV’s or MV moves at a given time based on the state of the plant during a time window leading up to the given time.
- the set of MV’s or MV moves at the given time can be provided by optimizer 1918 and may be decision variables in the predictive optimization process.
- Process 2100 is shown to include a first stage 2102, a second stage 2104, and an h’th stage 2150. Any number of stages may occur between the second stage 2104 and the h’th stage 2150.
- optimizer 1918 may provide predictor neural network 1916 with a set of MV’s or MV moves for time step t + 1.
- Predictor neural network 1916 may also receive the trajectories of the MV’s, CV’s, and/or DV’s for a time window beginning at time step t — w and ending at time step t, where w is the duration of the time window.
- Predictor neural network 1916 may use these inputs to predict the values of the CV’s at time step t + 1.
- the set of MV’s or MV moves at time step t + 1 proposed by optimizer 1918 and the corresponding values of the CV’s at time step t + 1 output from predictor neural network 1916 may be appended to the trajectories of the MV’s and the CV’s for use in the next stage of process 2100.
- Process 2100 may repeat these steps for each subsequent stage, advancing forward in time by one time step with each subsequent stage, until reaching the final stage 2150.
- optimizer 1918 may provide predictor neural network 1916 with a set of MV’s or MV moves for time step t + h, where h is the total number of stages, which may be equivalent to the number of time steps within the optimization period.
- Predictor neural network 1916 may also receive the trajectories of the MV’s, CV’s, and/or DV’s for a time window beginning at time step t + h — 1 — w and ending at time step t + h — 1, where w is the duration of the time window.
- Predictor neural network 1916 may use these inputs to predict the values of the CV’s at time step t + h.
- optimizer 1918 may use the values of the MV’s or MV moves for each time step and the predicted values of the CV’s for each time step to evaluate objective function 1928.
- Optimizer 1918 may then adjust the proposed trajectories of the MV’s and iteratively repeat process 2100 until objective function 1928 has sufficiently converged upon an optimal value.
- optimizer 1918 may output the values of the MV’s or MV moves from the most recent iteration of process 2100 to control signal generator 1920 for use in generating the control signals for controllable equipment 1926.
- Coupled means the joining of two members directly or indirectly to one another. Such joining may be stationary (e.g., permanent or fixed) or moveable (e.g., removable or releasable). Such joining may be achieved with the two members coupled directly to each other, with the two members coupled to each other using a separate intervening member and any additional intermediate members coupled with one another, or with the two members coupled to each other using an intervening member that is integrally formed as a single unitary body with one of the two members. If “coupled” or variations thereof are modified by an additional term (e.g., directly coupled), the generic definition of “coupled” provided above is modified by the
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- a general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine.
- a processor also may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- particular processes and methods may be performed by circuitry that is specific to a given function.
- the memory e.g., memory, memory unit, storage device
- machine-readable media can comprise RAM, ROM, EPROM, EEPROM, or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of machine-readable media.
- Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Oil, Petroleum & Natural Gas (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Organic Chemistry (AREA)
- Chemical Kinetics & Catalysis (AREA)
- General Chemical & Material Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/831,227 US12066800B2 (en) | 2018-01-30 | 2022-06-02 | Control system with optimization of neural network predictor |
| PCT/US2023/022036 WO2023235137A1 (fr) | 2022-06-02 | 2023-05-12 | Système de commande à optimisation de prédicteur à réseau de neurones |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP4533342A1 true EP4533342A1 (fr) | 2025-04-09 |
| EP4533342A4 EP4533342A4 (fr) | 2026-02-18 |
Family
ID=89025462
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23816556.7A Pending EP4533342A4 (fr) | 2022-06-02 | 2023-05-12 | Système de commande à optimisation de prédicteur à réseau de neurones |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4533342A4 (fr) |
| AU (1) | AU2023280790A1 (fr) |
| WO (1) | WO2023235137A1 (fr) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119002247B (zh) * | 2024-10-16 | 2025-01-07 | 北京中智软创信息技术有限公司 | 一种乙苯合成装置的智能优化控制方法及系统 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10534328B2 (en) * | 2016-06-21 | 2020-01-14 | General Electric Company | Methods and systems for enhancing control of power plant generating units |
| US11371739B2 (en) * | 2017-04-25 | 2022-06-28 | Johnson Controls Technology Company | Predictive building control system with neural network based comfort prediction |
| 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 |
-
2023
- 2023-05-12 AU AU2023280790A patent/AU2023280790A1/en active Pending
- 2023-05-12 WO PCT/US2023/022036 patent/WO2023235137A1/fr not_active Ceased
- 2023-05-12 EP EP23816556.7A patent/EP4533342A4/fr active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023235137A1 (fr) | 2023-12-07 |
| EP4533342A4 (fr) | 2026-02-18 |
| AU2023280790A1 (en) | 2024-12-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12449775B2 (en) | Control system with neural network predictor for industrial processes with chemical reactions | |
| US12049592B2 (en) | Predictive control systems and methods with hydrocracker conversion optimization | |
| US12045022B2 (en) | Predictive control systems and methods with offline gains learning and online control | |
| US11494651B2 (en) | Systems and methods for optimizing refinery coker process | |
| EP4334785B1 (fr) | Systèmes et procédés de commande prédictive avec optimisation du gain de volume de craquage catalytique fluide | |
| KR20040025936A (ko) | 황 함량이 0.05 wt% 미만의 탄화수소 제품을 제조하기위한 방법 | |
| CN111475957A (zh) | 一种基于装置机理的炼油过程生产计划优化方法 | |
| WO2022106917A1 (fr) | Systèmes et procédés de commande prédictive à apprentissage de gains hors ligne et à commande en ligne | |
| CN111598306A (zh) | 一种炼油厂生产计划优化方法及装置 | |
| EP4157965B1 (fr) | Système et procédé permettant d'optimiser un processus de cokéfaction de raffinerie | |
| WO2023235137A1 (fr) | Système de commande à optimisation de prédicteur à réseau de neurones | |
| Sadighi et al. | Modeling and optimizing a vacuum gas oil hydrocracking plant using an artificial neural network | |
| US12599848B2 (en) | Systems, analyzers, controllers, and associated methods to enhance fluid separation for distillation operations | |
| US20260054194A1 (en) | Systems, analyzers, controllers, and associated methods to enhance fluid separation for distillation operations | |
| WO2025255047A1 (fr) | Systèmes, analyseurs, dispositifs de commande et procédés associés de fonctionnement d'une unité de destruction de résidus | |
| RU2856094C1 (ru) | Способ управления технологической установкой каталитического гидрокрекинга и/или гидроочистки углеводородов | |
| Zihinli | Design of Advanced Process Control System for Delayed Coker Unit | |
| Macías‐Hernández et al. | Applications of evolving intelligent systems to oil and gas industry | |
| Liang et al. | A stability-oriented stochastic optimization strategy for refinery scheduling during unit shutdowns | |
| Soni | Optimization of dynamic delayed coker unit including yield model under disturbance | |
| Jabbari | Development and Application of Technical and Economic Strategies in Upgrading Heavy Oil: The Case of Iran |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20241108 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Free format text: PREVIOUS MAIN CLASS: G06N0003080000 Ipc: G05B0013040000 |
|
| A4 | Supplementary search report drawn up and despatched |
Effective date: 20260116 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G05B 13/04 20060101AFI20260112BHEP Ipc: G06N 3/08 20230101ALI20260112BHEP Ipc: G06N 3/045 20230101ALI20260112BHEP Ipc: G06N 20/20 20190101ALI20260112BHEP Ipc: B01J 8/18 20060101ALI20260112BHEP Ipc: G06N 3/04 20230101ALI20260112BHEP |