Control device, control method, and program

The control system optimizes manipulated variables in plant operations using a machine learning model and L-BFGS-B method to satisfy constraints on maximum values and rates of change, addressing inefficiencies and ensuring stable plant control.

WO2026100644A1PCT designated stage Publication Date: 2026-05-15PREFERRED NETWORKS INC +1
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
PREFERRED NETWORKS INC
Filing Date
2025-11-06
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing optimization methods for plant control struggle to simultaneously satisfy constraints on the maximum manipulated variable and the rate of change, leading to computational inefficiencies and potential system instability.

Method used

A control system that uses a machine learning model to predict control results and optimizes the manipulated variable using the L-BFGS-B method, imposing constraints on both the maximum manipulated variable and the rate of change to ensure safe and efficient plant operation.

Benefits of technology

The system effectively determines operation amounts that satisfy both constraints, reducing computational load and ensuring stable plant operation by optimizing the manipulated variable within predetermined ranges.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025038955_15052026_PF_FP_ABST
    Figure JP2025038955_15052026_PF_FP_ABST
Patent Text Reader

Abstract

This control device predicts a control result of a control target on the basis of an operation amount of an operation target, and determines the operation amount on the basis of the predicted value of the control result so as to satisfy a constraint on the rate of change of the operation amount.
Need to check novelty before this filing date? Find Prior Art

Description

Control Device, Control Method, and Program

[0001] The present disclosure relates to a control device, a control method, and a program.

[0002] A technique for optimizing the operation amount of an operation target by predicting a control result based on a machine learning model is known. This type of technique is also called model predictive control or the like. For example, in Patent Document 1, based on observation data indicating the actual performance values of a plant, a control target data indicating the predicted value of a control target in the plant and an operation data indicating the operation value of the control device of the plant are repeatedly calculated by a given calculation model, and a control system for determining the operation data is disclosed.

[0003] Japanese Unexamined Patent Application Publication No. 2023-68307

[0004] An object of the present disclosure is to appropriately determine the operation amount of an operation target.

[0005] A control device according to one aspect of the present disclosure includes at least one memory and at least one processor. The at least one processor predicts a control result of a control target based on an operation amount of an operation target, and determines an operation amount based on a predicted value of the control result so as to satisfy a constraint on a change rate of the operation amount.

[0006] FIG. 1 is a block diagram showing an example of the overall configuration of a control system. FIG. 2 is a block diagram showing an example of the functional configuration of the control system. FIG. 3 is a graph showing an example of a tanh-type operation. FIG. 4 is a flowchart showing an example of a control method. FIG. 5 is a graph showing an example of an operation according to Modification 2. FIG. 6A is a graph showing a first example of an operation according to Modification 3. FIG. 6B is a graph showing a second example of an operation according to Modification 3. FIG. 7 is a block diagram showing an example of the hardware configuration of a computer.

[0007] Hereinafter, each embodiment of the present disclosure will be described with reference to the accompanying drawings. In this specification and the drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and duplicate explanations are omitted.

[0008] [Embodiments] One embodiment of the present disclosure may be a control system that supports the operation of a plant. In addition, although the following description refers to a plant, other than a plant, the system may also refer to other production facilities, industrial machinery, various infrastructure facilities such as water supply systems and smart grids, and mobile objects such as automobiles, robots, ships, and airplanes. The control system may directly control the plant, or it may indirectly control the plant by suggesting operations to the plant operator. The control system may perform model predictive control based on a machine learning model.

[0009] In plant model-based predictive control, a predictive model is first generated by machine learning using actual plant data. Next, the control parameters of the controlled objects in the plant are input into the trained predictive model to predict the control results of the controlled objects in the plant. Subsequently, the costs related to the plant are calculated based on a predetermined cost function. Furthermore, the control parameters of the controlled objects are optimized to minimize costs. Finally, control data indicating the optimized control parameters is output to the plant. In the plant, the controlled objects are operated using the control parameters indicated in the control data.

[0010] Hereafter, the object being operated on in a plant will be referred to as the "operating end," and the object being controlled in a plant will be referred to as the "controlled end."

[0011] In plant model predictive control, it is sometimes necessary to optimize time-series data showing the time change of the manipulated variable at a control terminal. If a plant has multiple control terminals, optimizing the time-series data of the manipulated variable for all of them requires a huge amount of computation. For example, if the manipulated variable for 360 minutes is determined every minute, the manipulated variable needs to be optimized (360 x number of control terminals). Therefore, the computational load is reduced by representing the manipulated variable with multiple parameters and optimizing these parameters.

[0012] As an example, consider optimizing a manipulated variable x(t), where t is time. The manipulated variable x(t) is optimized to minimize the cost function f(x(t)) that defines the optimal plant control.

[0013] The manipulated variable x(t) is a function that is monotonically increasing or decreasing with respect to time t. The manipulated variable x(t) may also be a tanh-type operation. A tanh-type operation means that the manipulated variable x(t) changes with time according to the tanh function. Therefore, the manipulated variable x(t) is monotonically increasing with respect to time t. Note that the manipulated variable x(t) may have a mixture of time intervals that are monotonically increasing and time intervals that are monotonically decreasing with respect to time t.

[0014] The manipulated variable x(t) that follows the tanh function can be defined by equation (1).

[0015]

[0016] However, A is the maximum value of the manipulated variable x(t) (hereinafter also referred to as the "maximum manipulated variable"), and w is the rate of change of the manipulated variable x(t) per unit time (hereinafter also referred to as the "rate of change"). Specifically, the maximum manipulated variable A is the manipulated variable x(t) after 360 minutes. The rate of change w is the quantity corresponding to the change at time t.

[0017] In plant control, it is sometimes necessary to simultaneously satisfy the requirements that the maximum controllable variable falls within a predetermined range and the rate of change falls within a predetermined range. For example, a valve, which is an example of an operating end, cannot be operated any further once it is fully open. Also, for example, if a valve is opened wide in a short period of time, the load on the equipment may increase sharply, causing the system to become unstable.

[0018] When optimizing the control input at the control terminal, it is not obvious whether two types of constraints can be satisfied simultaneously. In the example above, one could consider imposing rectangular constraints on both the maximum control input A and the rate of change w, but depending on the maximum control input A obtained as a result of optimization, it is possible that the rate of change w may not satisfy the constraint.

[0019] In the tanh function shown in equation (1), the maximum rate of change per unit time Δt is expressed by equation (2).

[0020]

[0021] According to equation (2), constraints must be imposed on both the product Aw (the product of the maximum manipulated variable A and the rate of change w) and the maximum manipulated variable A itself, and a maximum manipulated variable A and rate of change w that satisfy both constraints simultaneously must be searched for. However, some optimization methods cannot impose constraints on the product. For example, the optimization method called L-BGFS-B cannot impose constraints on the product.

[0022] In this embodiment, the product Aw of the maximum manipulated amount A and the rate of change w, and the combination (Aw, A) of the maximum manipulated amount A are to be optimized. At this time, constraints are imposed that the product Aw must be greater than or equal to a lower limit lb1 and less than or equal to an upper limit ub1, and that the maximum manipulated amount A must be greater than or equal to a lower limit lb2 and less than or equal to an upper limit ub2. In other words, (Aw, A) is searched within the range that satisfies lb1 ≤ Aw ≤ ub1 and lb2 ≤ A ≤ ub2. This makes it possible to optimize the manipulated amount at the control end so that the maximum manipulated amount A falls within a predetermined range and the rate of change w falls within a predetermined range simultaneously.

[0023] This embodiment aims to appropriately determine the manipulated variable of an object being operated on, for example, in a plant. In particular, it aims to safely control a plant by determining the manipulated variable in such a way that it simultaneously satisfies constraints on both the maximum value of the manipulated variable and the rate of change of the manipulated variable per unit time.

[0024] <Overall Configuration> The overall configuration of the control system in this embodiment will be described with reference to Figure 1. Figure 1 is a block diagram showing an example of the overall configuration of the control system.

[0025] As shown in Figure 1, the control system 1000 may include a plant 10 and a control device 20. The plant 10 and the control device 20 may be connected to each other via a communication network such as a LAN (Local Area Network) or the Internet to enable data communication. The control system 1000 may also include other production equipment, industrial machinery, various infrastructure equipment such as water supply systems and smart grids, and mobile objects such as automobiles, robots, ships, and airplanes instead of the plant 10.

[0026] Plant 10 may be a production facility related to industrial activities. Plant 10 may be equipped with a group of devices for producing a predetermined product. Plant 10 may include, for example, a petroleum-related plant such as a petroleum refining plant or a petrochemical plant. A petroleum-related plant may include, for example, a group of devices for the purpose of petroleum refining or the manufacture of petrochemical products. The group of devices may include, for example, at least one of an atmospheric distillation unit, a hydrorefining unit, a catalytic reforming unit, a catalytic cracking unit, a hydrocracking unit, and a desulfurization unit.

[0027] Plant 10 may output observation data to the control device 20. The observation data is electronic data showing the actual values ​​of Plant 10. The observation data may also be time-series data of one or more physical parameters observed at multiple points in time. The observation data may be recorded continuously or intermittently by one or more sensors within Plant 10.

[0028] The control device 20 is an example of an information processing device such as a personal computer, workstation, or server that controls the plant 10. The control device 20 may store observation data output from the plant 10. Based on the stored observation data, the control device 20 may determine the control amount at the control terminal in the plant 10.

[0029] The control device 20 may output operation data. The operation data is electronic data indicating the amount of operation at the control terminal. The operation data may also be time-series data indicating the amount of operation at the control terminal at multiple points in time. The multiple points in time may be set at predetermined time intervals within a time interval from a predetermined reference time until a predetermined time length has elapsed. The predetermined reference time may, for example, be the current time. The predetermined time interval may, for example, be about 1 minute. The predetermined time length may, for example, be about 360 minutes.

[0030] The control device 20 may transmit operation data to the plant 10. In this case, the plant 10 may operate the control terminals based on the operation data received from the control device 20. The control device 20 may also present the operation data to the plant operator. In this case, the operator may operate the control terminals of the plant 10 while referring to the operation data presented by the control device 20.

[0031] Note that the overall configuration of the control system 1000 shown in Figure 1 is just one example, and various system configurations are possible depending on the application and purpose. The control system 1000 may consist of one or more devices. The devices included in the control system 1000 may be a system composed of multiple devices. Each function included in the control system 1000 may be implemented by any device that constitutes the system. Each component included in the control system 1000 may be included in any device that constitutes the system.

[0032] The control system 1000 may include multiple plants 10 and control devices 20. One control device 20 may control multiple plants 10. One plant 10 may be controlled by multiple control devices 20. The control devices 20 may be implemented by multiple computers or as a cloud computing service. The classification of the plants 10 and control devices 20 shown in Figure 1 is just one example.

[0033] <Functional Configuration> The functional configuration of the control system 1000 will be explained with reference to Figure 2. Figure 2 is a block diagram showing an example of the functional configuration of the control system.

[0034] <Plant> As shown in Figure 2, the plant 10 may include one or more operating terminals 101 and one or more control terminals 102. The plant 10 may include a control device for operating the operating terminals 101. The plant 10 may include one or more sensors for observing the control terminals 102.

[0035] The operating terminal 101 may be an object operated during the operation of the plant 10. The operating terminal 101 may be a device that constitutes the plant 10. The operating terminal 101 may be equipment such as a valve installed in the plant 10. The operating terminal 101 may be a set value for controlling the operation of a device that constitutes the plant 10.

[0036] In this embodiment, the plant 10 may be equipped with an operating end 101 that is operated by a monotonically increasing or monotonically decreasing manipulated variable. The monotonically increasing or monotonically decreasing manipulated variable may, for example, follow a tanh function.

[0037] The control terminal 102 may be an object controlled in the operation of the plant 10. The control terminal 102 may also be a physical parameter relating to the equipment constituting the plant 10. Examples of physical parameters relating to the equipment may include temperature, pressure, flow rate, or height. The control terminal 102 may also be a physical parameter relating to the product produced by the plant 10. Examples of physical parameters relating to the product may include concentration, mass, or content.

[0038] <Control Device> As shown in Figure 2, the control device 20 may include an observation data storage unit 201, a prediction unit 202, a cost calculation unit 203, a gradient calculation unit 204, and a determination unit 205. The control device 20 may function as the observation data storage unit 201, prediction unit 202, cost calculation unit 203, gradient calculation unit 204, and determination unit 205 when a pre-installed control program is executed.

[0039] The observation data storage unit 201 may store observation data output from the plant 10. The observation data storage unit 201 may store a predetermined number of observation data in chronological order, with the most recent generation date and time being stored first. The observation data storage unit 201 may be located inside the plant 10. The observation data storage unit 201 may be located outside the control system 1000.

[0040] The prediction unit 202 may predict the control results of one or more control ends 102 based on the operation amounts of one or more operation ends 101. The control result is information indicating the state of the control end 102 after the operation end 101 is operated (in other words, the future state of the control end 102). The prediction unit 202 may predict the control results at a plurality of time points. The plurality of time points may correspond to the time points when the operation amounts are indicated in the operation data. As an example, the prediction unit 202 may predict the control results at intervals of one minute in a time interval until 360 minutes have elapsed from the current time.

[0041] The prediction unit 202 may predict the control results of the control end 102 based on a learned prediction model. The prediction model may be a machine learning model that has learned the relationship between the operation amount of the operation end 101 and the actual value of the plant 10 based on the observation data read from the observation data storage unit 201. The machine learning model may include, as an example, a neural network that takes the observation data and the operation data as inputs and outputs control result data. The neural network may be, as an example, a recurrent neural network.

[0042] The control result data is electronic data indicating the predicted value of the control result of the control end 102. The control result data may be time-series data indicating the predicted values of the control results of the control end 102 at a plurality of time points. The plurality of time points may correspond to the time points when the control results are predicted by the prediction unit 202.

[0043] The cost calculation unit 203 may calculate the cost related to the plant 10 based on the prediction result by the prediction unit 202. The cost calculation unit 203 may calculate the cost based on the difference between the target value of the control end 102 and the predicted value of the control result of the control end 102.

[0044] The cost calculation unit 203 may calculate the cost related to the plant 10 using a predetermined cost function. The cost function may be a function that takes the operation data and the control result data as inputs and outputs the cost.

[0045] The cost function may include, as an example, a function that calculates the cost related to at least one of the profitability and stability of the plant 10. The cost related to profitability may be an indicator showing how efficiently profit can be generated by operating the plant. The cost related to stability may be an indicator showing the performance of maintaining the state in which the proper operation of the plant 10 is guaranteed or quickly returning the plant 10 to such a state.

[0046] The gradient calculation unit 204 may calculate the gradient between the operation end 101 and the control end 102 based on the cost calculated by the cost calculation unit 203. The gradient calculation unit 204 may generate a gradient graph showing the gradient for each combination of the operation end 101 and the control end 102. The gradient graph may be, as an example, a matrix having each combination of the operation end 101 and the control end 102 as an element. Each element of the gradient graph may indicate the gradient between the operation end 101 and the control end 102.

[0047] The determination unit 205 may determine the operation amount of the operation end 101 based on the gradient calculated by the gradient calculation unit 204. The determination unit 205 may optimize the operation amount of the operation end 101 so as to minimize the cost calculated by the cost calculation unit 203. The determination unit 205 may optimize the operation amount of the operation end 101 by an optimization method capable of non-linear optimization.

[0048] The determination unit 205 may search for an optimal operation amount for each operation end 101 by the gradient method. The gradient method is a method of searching for an optimal solution by descending in the direction of the gradient. The gradient method may be, as an example, the BFGS method, the L-BFGS-B method, and the L-BFGS-B method. The BFGS method is a method of efficiently optimizing by estimating the second derivative based on the gradient information. The L-BFGS method is a method of suppressing the memory consumption of the BFGS method. The L-BFGS-B method is a method capable of handling rectangular constraints in the L-BFGS method. In the present embodiment, the optimization method may be, as an example, the L-BFGS-B method.

[0049] A rectangular constraint is a constraint that imposes on the value to be optimized that it must be within a predetermined range. For example, it means optimizing the value x such that x is greater than or equal to the lower limit lb and less than or equal to the upper limit ub (i.e., lb ≤ x ≤ ub).

[0050] The determination unit 205 may determine the operating amount of the operating end 101 in such a way as to satisfy the constraint on the rate of change of the operating amount of the operating end 101. The constraint on the rate of change may also be a rectangular constraint on the product Aw of the maximum operating amount A and the rate of change w when the operating amount of the operating end 101 is expressed by equation (1). That is, the constraint on the rate of change may also be that the product Aw of the maximum operating amount A and the rate of change w falls within a range of lb1 or more and ub1 or less. The lower limit lb1 and the upper limit ub1 may be predetermined.

[0051] The determination unit 205 may determine the operating amount of the operating end 101 in such a way that it satisfies not only the constraint on the rate of change but also the constraint on the maximum operating amount of the operating end 101. The constraint on the maximum operating amount may also be a rectangular constraint on the maximum operating amount A. That is, the constraint on the maximum operating amount may be that the maximum operating amount A falls within a range of a lower limit lb2 or more and an upper limit ub2 or less. The lower limit lb2 and the upper limit ub2 may be predetermined.

[0052] ≪Tanh-type operations≫ We will now explain tanh-type operations, which are an example of a control variable that is monotonically increasing or monotonically decreasing, with reference to Figure 3. Figure 3 is a graph showing an example of a tanh-type operation.

[0053] As shown in Figure 3, in a tanh-type operation, the manipulated variable x(t) increases monotonically with respect to time t according to x(t) = Atanh(wt). The maximum manipulated variable A is the upper limit at which Atanh(wt) converges. The rate of change w is the rate of change per unit time and can be calculated as x(t+1) - x(t).

[0054] ≪Generalization of Manipulated Variables and Constraints≫ Up to this point, we have described tanh-type operations as an example of monotonically increasing or monotonically decreasing manipulated variables. Monotonically increasing or monotonically decreasing manipulated variables can be generalized as follows: That is, the manipulated terminal in this embodiment can perform operations according to any function, as long as it follows a monotonically increasing or monotonically decreasing function.

[0055] (Constraints on the rate of change) The manipulated variable x(t) which is monotonically increasing or monotonically decreasing can be defined using a parameter as shown in equation (3).

[0056]

[0057] Here, t is time, and ω and θi (i = 1, ..., N) are parameters.

[0058] The manipulated variable x(t) shown in equation (3) is the function f: R N+2 →This can be expressed by equation (4) using R, where R is the set of real numbers.

[0059]

[0060] According to equation (4), the time derivative of the manipulated variable x(t) can be expressed by equation (5).

[0061]

[0062] According to equation (5), the constraint on the time derivative of the manipulated variable x(t) can be expressed by equation (6).

[0063]

[0064] However, vmax is the upper limit of the absolute value of the rate of change of the manipulated variable x(t) per unit time.

[0065] From equations (5) and (6), equation (7) holds, where max(|∂f / ∂(ωt)|) is finite.

[0066]

[0067] Equation (7) demonstrates that the rate of change of the parameter ω of the manipulated variable x(t) can be constrained by a rectangular constraint.

[0068] (Simultaneous constraints on the maximum manipulated variable and rate of change) A manipulated variable x(t) that is monotonically increasing or monotonically decreasing can be defined using a parameter as shown in equation (8).

[0069]

[0070] Here, t is time, and A, ω, θi (i = 1, ..., N) are parameters.

[0071] The manipulated variable x(t) shown in equation (8) is the function f: R N+2 →This can be expressed by equation (9) using R (0 ≤ f ≤ 1) and the constant ΔA, where R is the set of real numbers. Also, ΔA represents the current value and satisfies f(0) = 0.

[0072]

[0073] Equation (9) shows that when A ≥ 0, ΔA ≤ x(t) ≤ A + ΔA, and when A < 0, A + ΔA ≤ x(t) ≤ ΔA. Therefore, the constraint can be satisfied if A satisfies x min ≤ A + ΔA and x max ≥ A + ΔA. Thus, we can impose a rectangular constraint on A such that x min - ΔA ≤ A ≤ x max - ΔA. In other words, equation (9) shows the constraint that the parameter A is within the range of x min - ΔA or greater and x max - ΔA or less (an example of the first range).

[0074] Next, let's consider the constraints on the rate of change. Partially differentiating equation (9) with respect to time t yields equation (10).

[0075]

[0076] From equations (6) and (10), equation (11) holds, where max(|∂f / ∂(ωt)|) is finite.

[0077]

[0078] Equation (11) shows the constraint that the product Aω of the parameters A and ω is within the range of 0 or greater and less than or equal to (vmax / max(|∂f / ∂(ωt)|)Δt) (an example of the second range). Equations (9) and (11) show that by replacing the parameter (A, ω) of the manipulated variable x(t) with (A, Aω), a constraint on the maximum manipulated variable can be imposed by a rectangular constraint on Aω.

[0079] <Processing Procedure> The control method executed by the control system 1000 will be explained with reference to Figure 4. Figure 4 is a flowchart of an example of the control method. The control system 1000 may repeatedly execute the control method at predetermined time intervals. The predetermined time interval may be, for example, one minute to several minutes. The control system 1000 may execute the control method only while the plant 10 is in operation.

[0080] In step S1, the prediction unit 202 of the control device 20 acquires observation data. The prediction unit 202 may read observation data from the observation data storage unit 201. The prediction unit 202 may also read observation data included in an interval that is a predetermined time length prior to a predetermined reference time. The predetermined reference time may be, for example, the current time. The predetermined time length may be, for example, about 360 minutes.

[0081] In step S2, the prediction unit 202 of the control device 20 acquires initial operation data. The initial operation data is the operation data generated in the most recent iteration. For example, if i is the current iteration number, in step S2 which is executed on the i-th iteration, the operation data output in step S8 which was executed on the (i-1)th iteration may be acquired as the initial operation data.

[0082] In the first iteration, since no operation data exists, the prediction unit 202 may generate initial operation data. For example, the prediction unit 202 may generate operation data indicating that the operation quantities of all operation terminals 101 are 0 as the initial operation data. Here, an operation quantity of 0 means that no operation is performed on the operation terminals 101.

[0083] In step S3, the prediction unit 202 of the control device 20 predicts the control result of one or more control terminals 102 based on the observation data acquired in step S1 and the operation data acquired in step S2. Specifically, the prediction unit 202 may input the operation data and observation data into a trained prediction model and obtain control result data output from the trained prediction model. The prediction unit 202 may also send the control result data to the cost calculation unit 203.

[0084] In step S4, the cost calculation unit 203 of the control device 20 may receive control result data from the prediction unit 202. Next, the cost calculation unit 203 calculates the cost related to the plant 10 based on the predicted control result shown in the control result data. Specifically, the cost calculation unit 203 may calculate the cost by inputting the operation data acquired in step S2 and the control result data acquired in step S3 into a predetermined cost function. The cost calculation unit 203 may also send the calculated cost to the gradient calculation unit 204.

[0085] In step S5, the gradient calculation unit 204 of the control device 20 may receive the cost from the cost calculation unit 203. Next, the gradient calculation unit 204 may calculate the gradient between the operating end 101 and the control end 102 for each combination of the operating end 101 and the control end 102 based on the cost. Subsequently, the gradient calculation unit 204 may generate a gradient graph showing each of the calculated gradients. The gradient calculation unit 204 may send the gradient graph to the determination unit 205.

[0086] In step S6, the determination unit 205 of the control device 20 may receive a gradient graph from the gradient calculation unit 204. Next, the determination unit 205 may determine the manipulated amount of the operating end 101 based on the gradient graph. Specifically, the determination unit 205 may search for the manipulated amount for each operating end 101 according to the L-BFGS-B method.

[0087] The determination unit 205 may search for an operating amount for each operating end 101 such that it simultaneously satisfies the constraints on the rate of change of the operating amount of the operating end 101 and the constraints on the maximum operating amount of the operating end 101. Specifically, the determination unit 205 may search for a maximum operating amount A and a product Aw such that the maximum operating amount A falls within the range of a lower limit lb2 or more and an upper limit ub2 or less, and the product Aw of the maximum operating amount A and the rate of change w falls within the range of a lower limit lb1 or more and an upper limit ub1 or less.

[0088] In step S7, the decision unit 205 of the control device 20 may determine whether or not optimization is complete. The decision unit 205 may determine that optimization is complete when the operation data has been updated a predetermined number of times. The decision unit 205 may also determine that optimization is complete when the amount of change in cost calculated in step S3 falls below a predetermined threshold. If it is determined that optimization is complete (YES), the decision unit 205 proceeds to step S8. On the other hand, if it is determined that optimization is not complete (NO), the decision unit 205 returns to step S3.

[0089] After returning to step S3, the control device 20 may predict the control result of the control terminal 102 again and repeat the processes from steps S4 to S7. In this way, the control device 20 may repeatedly predict the control result and determine the manipulated variable until it determines that optimization is complete.

[0090] In step S8, the determination unit 205 of the control device 20 may generate operation data indicating the manipulated amount determined in the most recently executed step S6. Next, the determination unit 205 transmits the generated operation data to the plant 10.

[0091] Plant 10 receives operation data from the control device 20. Plant 10 operates the control terminal 101 using the control quantity indicated in the received operation data. After operating the control terminal 101, Plant 10 transmits observation data to the control device 20 showing the actual value observed at the control terminal 102. This enables automatic control of Plant 10 based on the operation data optimized by the control device 20.

[0092] [Modification 1] In the above embodiment, an example of optimizing the control amount x(t) of a single control end was described. In this modification, an example of optimizing the control amounts x1(t), x2(t), ..., xN(t) of multiple control ends is described. Here, N is the number of control ends to be optimized.

[0093] The following describes the control system in Modification 1, focusing on the differences from the control system in the embodiment.

[0094] In this modified example, the constraint on the maximum manipulated variable may be expressed by equation (12).

[0095]

[0096] However, A1, A2, ..., AN are the maximum manipulated variables x1(t), x2(t), ..., xN(t), respectively.

[0097] In this modified example, the constraint on the rate of change may be expressed by equation (13).

[0098]

[0099] However, ω1, ω2, ..., ωN are the rates of change of the manipulated variables x1(t), x2(t), ..., xN(t), respectively.

[0100] In this modified example, the cost function may be expressed by equation (14).

[0101]

[0102] However, M is the number of control terminals, yi(t)(i=1,2,...,M) is the predicted value of the control result of the i-th control terminal, and yiset(i=1,2,...,M) is the target value of the control result of the i-th control terminal.

[0103] According to the cost function in equation (14), the cost is 0 when yi(t) = yiset. Also, when yi(t) ≠ yiset, the cost is a positive value, and the larger the difference between yi(t) and yiset, the greater the cost.

[0104] The determination unit 205 of the control device 20 may search for the maximum manipulated variable A and the product Aω of the maximum manipulated variable A and the rate of change ω that minimize the cost calculated by equation (14). In other words, the determination unit 205 may search for the maximum manipulated variable A and the product Aω that minimize the error between the predicted value and the target value of the control result at the control end. In this way, the determination unit 205 may optimize the manipulated variables x1(t), x2(t), ..., xN(t) of the N control ends.

[0105] [Modification 2] In the above embodiment, examples were described in which a tanh-type operation and an operation following a monotonically increasing or monotonically decreasing function are performed. Modification 2 describes an example in which an operation is performed that follows a linear operation and then no operation is performed.

[0106] Figure 5 is a graph showing an example of the operation related to Modification Example 2. As shown in Figure 5, in the operation related to Modification Example 2, the manipulated variable x(t) increases proportionally to time t up to the maximum manipulated variable A up to time T, and maintains the maximum manipulated variable A thereafter. Hereafter, the manipulated variable x(t) will be assumed to follow the function f(ωt). Although Figure 5 shows an example of an operation in which the manipulated variable x(t) increases linearly, an operation in which the manipulated variable x(t) decreases linearly may also be used.

[0107] The manipulated variable x(t) in the modified example 2 can be defined as shown in equation (15) using f(ωt) = min(ωt, 1).

[0108]

[0109] Here, t is time, and A and ω are parameters.

[0110] A constraint on the maximum control variable can be imposed on the parameter A of the control variable x(t) by the rectangular constraint of equation (16).

[0111]

[0112] The rate of change of the parameter ω of the manipulated variable x(t) can be constrained by the rectangular constraint in equation (17).

[0113]

[0114] Specifically, A and Aω should be optimized as follows. Let the initial values ​​of A and Aω be A0 and (Aω)0. Note that ω = (Aω) / A, so ω0 = (Aω)0 / A0. Substitute x0(t, A0, ω0) = A0min(ω0t, 1) + ΔA into the cost function and calculate the cost c0 = cost(x0). While imposing the rectangular constraints of equations (16) and (17), find the A and Aω that result in the smallest cost using the L-BFGS-B method. If the values ​​of A and Aω after one step are A1 and Aω1, then ω1 = (Aω)1 / A1. Again, substitute x1(t, A1, ω1) = A1min(ω1t, 1) + ΔA into the cost function and calculate the cost c1 = cost(x1). By repeating the above steps, A and Aω can be optimized (i.e., x(t; A, ω) can be optimized) while satisfying the rectangular constraints of equations (16) and (17) (i.e., while satisfying the constraints on the manipulated variable and the rate of change).

[0115] [Modification 3] In the above embodiment, examples were described in which a tanh-type operation and an operation following a monotonically increasing or monotonically decreasing function are performed. Modification 3 describes an example in which the manipulated variable is increased by a linear operation and then decreased by a linear operation.

[0116] Figures 6A and 6B are graphs showing an example of the operation according to Modification Example 3. As shown in Figures 6A and 6B, in the operation according to Modification Example 3, the manipulated quantity x(t) increases proportionally to time t up to the maximum manipulated quantity A until time T, and then decreases proportionally to time t from the maximum manipulated quantity A after time T. Note that the final value of the manipulated quantity x(t) will not be less than the current value. That is, once it decreases to the current value, there is no further operation. Figure 6A is an example of the operation when the final value of the manipulated quantity x(t) is greater than the current value. Figure 6B is an example of the operation when the final value of the manipulated quantity x(t) is the current value.

[0117] Note that Figure 6 shows an example of an operation in which the manipulated variable x(t) increases linearly and then decreases linearly. However, the operation could also be one in which the manipulated variable x(t) decreases linearly and then increases linearly. In this case, the final value of the manipulated variable x(t) will not be greater than the current value. That is, once it increases to the current value, there is no further operation.

[0118] The manipulated variable x(t) in the third modified example can be defined as shown in equation (15) using f(ωt) = max(min(ωt, -ζωt + (ζ + 1)), 0) (where 0 ≤ ζ). Furthermore, a rectangular constraint is given to the parameter A by equation (16), and to the parameter ω by equation (17). In addition, a rectangular constraint of ζ ≥ 0 is given. Then, A, Aω, and ζ are optimized. This allows A and Aω to be optimized while satisfying the constraints on the manipulated variable and the rate of change (i.e., x(t; A, ω) can be optimized).

[0119] <Summary> As is clear from the above description, the control device 20 according to one embodiment of the present disclosure may predict the control result of the control end 102 based on the manipulated amount of the operating end 101, and determine the manipulated amount of the operating end 101 based on the predicted value of the control result of the control end 102 so as to satisfy the constraint on the rate of change of the manipulated amount.

[0120] The control device 20 may determine the manipulated amount of the operating end 101 in such a way that it further satisfies the constraint on the maximum value of the manipulated amount. The control device 20 may optimize the first and second parameters that represent the manipulated amount of the operating end 101 in such a way that it satisfies the constraint on the rate of change and the constraint on the maximum value.

[0121] The constraint on the maximum value may include a first constraint on the first parameter. The constraint on the rate of change may include a second constraint on the product of the first parameter and the second parameter.

[0122] The first constraint may include that the first parameter is within a first range. The second constraint may include that the product of the first parameter and the second parameter is within a second range.

[0123] The manipulated variable of the control terminal 101 may include a time interval in which it is monotonically increasing or decreasing with respect to the passage of time. In the time interval in which it is monotonically increasing or decreasing, the manipulated variable may change over time according to the tanh function.

[0124] As a result, according to one embodiment of the present disclosure, the amount of manipulation of the operating end 101 can be appropriately determined. In one aspect, according to one embodiment, the control end 102 can be safely controlled because the amount of manipulation is determined in such a way that it simultaneously satisfies the constraint on the maximum value of the amount of manipulation and the constraint on the rate of change of the amount of manipulation.

[0125] [Computer Hardware Configuration] In the embodiments described above, some or all of the devices (control devices 20) may be made up of hardware, or they may be made up of information processing by software (programs) executed by a CPU (Central Processing Unit), GPU (Graphics Processing Unit), etc. If they are made up of information processing by software, the software that realizes at least some of the functions of each device in the embodiments described above may be stored in a non-temporary storage medium (non-temporary computer-readable medium) such as a CD-ROM (Compact Disc-Read Only Memory) or USB (Universal Serial Bus) memory, and the information processing of the software may be executed by loading it into a computer. Alternatively, the software may be downloaded via a communication network. Furthermore, all or part of the processing of the software may be implemented in a circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), so that the information processing by the software is executed by hardware.

[0126] The storage medium for the software may be a removable medium such as an optical disc, or a fixed storage medium such as a hard disk or memory. Furthermore, the storage medium may be located inside the computer (main memory, auxiliary storage, etc.) or outside the computer.

[0127] Figure 7 is a block diagram showing an example of the hardware configuration of each device (control device 20) in the embodiment described above. Each device may be implemented as a computer 7, for example, comprising a processor 71, a main memory 72 (memory), an auxiliary memory 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76.

[0128] The computer 7 in Figure 7 has one of each component, but it may have multiple identical components. Also, although Figure 7 shows one computer 7, the software may be installed on multiple computers, and each of these multiple computers may execute the same or different parts of the software's processing. In this case, it may be a distributed computing configuration in which each computer communicates via a network interface 74 or the like to execute processing. In other words, each device (control device 20) in the above-described embodiment may be configured as a system that realizes its function by having one or more computers execute instructions stored in one or more storage devices. Alternatively, it may be configured so that information transmitted from a terminal is processed by one or more computers located on the cloud, and the processing results are transmitted to the terminal.

[0129] The various calculations performed by each device (control device 20) in the embodiments described above may be executed in parallel using one or more processors, or using multiple computers via a network. Alternatively, the various calculations may be distributed to multiple processing cores within a processor and executed in parallel. Furthermore, some or all of the processing and means of this disclosure may be implemented by at least one of a processor and a storage device located on a cloud that can communicate with a computer 7 via a network. Thus, each device in the embodiments described above may be in the form of parallel computing using one or more computers.

[0130] The processor 71 may be at least an electronic circuit (processing circuit, processing circuitry, CPU, GPU, FPGA, ASIC, etc.) that performs either computer control or calculations. The processor 71 may also be a general-purpose processor, a dedicated processing circuit designed to perform specific calculations, or a semiconductor device including both a general-purpose processor and a dedicated processing circuit. Furthermore, the processor 71 may include optical circuits or quantum computing-based calculation functions.

[0131] The processor 71 may perform calculations based on data and software input from various devices within the computer 7, and may output calculation results and control signals to these devices. The processor 71 may also control the various components of the computer 7 by executing the computer 7's OS (Operating System) or applications.

[0132] Each device (control device 20) in the above-described embodiment may be implemented by one or more processors 71. Here, the processor 71 may refer to one or more electronic circuits arranged on one chip, or one or more electronic circuits arranged on two or more chips or two or more devices. When multiple electronic circuits are used, each electronic circuit may communicate by wire or wireless.

[0133] The main memory 72 may store instructions executed by the processor 71 and various data, and the information stored in the main memory 72 may be read by the processor 71. The auxiliary memory 73 is a memory device other than the main memory 72. These memory devices refer to any electronic component capable of storing electronic information, and may be semiconductor memory. The semiconductor memory may be either volatile memory or non-volatile memory. In each device (control device 20) in the above-described embodiment, the memory device for storing various data may be implemented by the main memory 72 or the auxiliary memory 73, or by the built-in memory of the processor 71. For example, each storage unit in the above-described embodiment may be implemented by the main memory 72 or the auxiliary memory 73.

[0134] In the embodiments described above, if each device (control device 20) consists of at least one storage device (memory) and at least one processor connected to (coupled with) this at least one storage device, then at least one processor may be connected to one storage device. Alternatively, at least one storage device may be connected to one processor. Furthermore, the configuration may include at least one processor among a plurality of processors being connected to at least one storage device among a plurality of storage devices. This configuration may also be realized by storage devices and processors included in a plurality of computers. Moreover, the configuration may include a storage device integrated with a processor (for example, a cache memory including an L1 cache and an L2 cache).

[0135] The network interface 74 is an interface for connecting to the communication network 8 wirelessly or via a wired connection. The network interface 74 can be any appropriate interface, such as one conforming to existing communication standards. Information may be exchanged between the computer 7 and an external device 9A connected via the communication network 8 through the network interface 74. The communication network 8 may be a WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), or a combination thereof, as long as information is exchanged between the computer 7 and the external device 9A. Examples of WANs include the Internet, examples of LANs include IEEE 802.11 and Ethernet (registered trademark), and examples of PANs include Bluetooth (registered trademark) and NFC (Near Field Communication).

[0136] The device interface 75 is an interface such as USB that connects directly to the external device 9B.

[0137] External device 9A is a device connected to computer 7 via a network. External device 9B is a device directly connected to computer 7.

[0138] External device 9A or external device 9B may, for example, be an input device. The input device may be a camera, microphone, motion capture device, various sensors, keyboard, mouse, touch panel, etc., and provides the acquired information to the computer 7. Alternatively, it may be a device equipped with an input unit, memory, and processor, such as a personal computer, tablet terminal, or smartphone.

[0139] Furthermore, the external device 9A or external device 9B may, for example, be an output device. The output device may be a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) panel, or it may be a speaker that outputs sound, etc. It may also be a device equipped with an output unit, memory, and processor, such as a personal computer, tablet terminal, or smartphone.

[0140] Furthermore, external devices 9A and 9B may be storage devices (memory). For example, external device 9A may be network storage, and external device 9B may be storage such as an HDD.

[0141] Furthermore, the external device 9A or external device 9B may be a device that has some of the functions of the components of each device (control device 20) in the embodiment described above. In other words, the computer 7 may transmit some or all of the processing results to the external device 9A or external device 9B, or may receive some or all of the processing results from the external device 9A or external device 9B.

[0142] Where the expression "at least one of a, b, and c" or "at least one of a, b, or c" (including similar expressions) is used in this specification (including the claims), it includes any of a, b, c, ab, ac, bc, or abc. It also includes multiple instances of any element, such as aa, abb, aabbcc, etc. Furthermore, it includes adding other elements other than the enumerated elements (a, b, and c), such as abcd having d.

[0143] In this specification (including the claims), when expressions such as "using data as input / based on data / according to / in accordance with data" (including similar expressions) are used, unless otherwise specified, this includes using the data itself or using data that has been processed in some way (e.g., data with added noise, normalized data, features extracted from the data, intermediate representations of the data, etc.). Furthermore, when it is stated that some result is obtained "using data as input / based on data / according to / in accordance with data" (including similar expressions), unless otherwise specified, this includes cases where the result is obtained based solely on the data in question or where the result is also influenced by other data, factors, conditions, and / or states other than the data in question. Furthermore, when it is stated that "data is output" (including similar expressions), unless otherwise specified, this includes cases where the data itself is used as output or where data that has been processed in some way (e.g., data with added noise, normalized data, features extracted from the data, intermediate representations of various types of data, etc.) is used as output.

[0144] In this specification (including the claims), the terms “connected” and “coupled” are intended to be non-restrictive terms that include any direct connection / coupling, indirect connection / coupling, electrical connection / coupling, communicative connection / coupling, operational connection / coupling, or physical connection / coupling. The terms should be interpreted as appropriate in the context in which they are used, but any form of connection / coupling that is not intentionally or naturally excluded should be interpreted non-restrictively as being included in the terms.

[0145] In this specification (including the claims), when the expression "A configured to B" is used, it may include that the physical structure of element A has a configuration capable of performing operation B, and that the permanent or temporary setting / configuration of element A is configured to actually perform operation B. For example, if element A is a general-purpose processor, it is sufficient that the processor has a hardware configuration capable of performing operation B, and that it is configured to actually perform operation B by the setting of a permanent or temporary program (instruction). Furthermore, if element A is a dedicated processor, dedicated arithmetic circuit, etc., it is sufficient that the circuit structure of the processor is implemented to actually perform operation B, regardless of whether control instructions and data are actually attached.

[0146] Wherever terms meaning "comprising" or "having" are used in this specification (including the claims), they are intended to be open-ended terms, including cases where the subject matter of such terms is not the object of the term. Where the object of such terms meaning "comprising" or "having" is an expression that does not specify a quantity or suggests a singular number (an expression with the article a or an), such expression should be interpreted as not being limited to a specific number.

[0147] In this specification (including the claims), even if expressions such as "one or more" or "at least one" are used in some places, and expressions that do not specify a quantity or suggest singularity (expressions using the articles a or an) are used in other places, the latter expressions are not intended to mean "one." In general, expressions that do not specify a quantity or suggest singularity (expressions using the articles a or an) should not necessarily be interpreted as not being limited to a specific number.

[0148] In this specification, if a particular configuration of an embodiment is described as providing a specific advantage or result, it should be understood, unless otherwise stated, that the same advantage or result can also be obtained from one or more other embodiments having that configuration. However, it should be understood that the presence or absence of such advantage or result generally depends on various factors, conditions, and / or states, and that the configuration does not necessarily guarantee that the advantage or result can be obtained. The advantage or result can only be obtained from the configuration described in the embodiment when various factors, conditions, and / or states are met, and the advantage or result cannot necessarily be obtained in the claimed invention that defines that configuration or a similar configuration.

[0149] In this specification (including the claims), when multiple hardware components perform a predetermined process, each component may cooperate to perform the predetermined process, or some components may perform all of the predetermined process. Alternatively, some components may perform part of the predetermined process, while other components perform the remainder. In this specification (including the claims), when expressions such as "one or more hardware components perform a first process, and the one or more hardware components perform a second process" (including similar expressions) are used, the hardware component performing the first process and the hardware component performing the second process may be the same or different. In other words, it is sufficient that the hardware component performing the first process and the hardware component performing the second process are included in the one or more hardware components. Hardware may include electronic circuits, devices containing electronic circuits, etc.

[0150] In this specification (including the claims), when multiple storage devices (memories) store data, each of the multiple storage devices may store only a portion of the data or the entire data. Furthermore, a configuration in which some of the multiple storage devices store data is also included.

[0151] In this specification (including the claims), terms such as "first," "second," etc., are used merely as a way of distinguishing between two or more elements and are not necessarily intended to impose technical meanings such as temporal, spatial, order, or quantity on the subject. Therefore, for example, references to a first element and a second element do not necessarily mean that only two elements can be employed therein, that the first element must precede the second element, or that the first element must exist for the second element to exist.

[0152] While embodiments of this disclosure have been described in detail above, this disclosure is not limited to the individual embodiments described above. Various additions, modifications, substitutions, and partial deletions are possible, provided that they do not depart from the conceptual idea and spirit of the present invention derived from the claims and their equivalents. For example, where numerical values ​​or mathematical formulas are used in the description of the embodiments described above, these are provided for illustrative purposes only and do not limit the scope of this disclosure. Similarly, the sequence of operations shown in the embodiments is also illustrative and does not limit the scope of this disclosure.

[0153] Furthermore, the following forms are possible for disclosure technology.

[0154] [Note 1] A control device comprising at least one memory and at least one processor, wherein the at least one processor predicts a control result of a controlled object based on an manipulated variable of the object being operated on, and determines the manipulated variable based on the predicted value of the control result so as to satisfy constraints on the rate of change of the manipulated variable.

[0155] [Appendix 2] The control device according to Appendix 1, wherein at least one processor determines the manipulated amount in such a way that it further satisfies the constraint on the maximum value of the manipulated amount.

[0156] [Note 3] The control device according to Note 2, wherein the at least one processor optimizes the first and second parameters representing the manipulated variable to satisfy the constraint on the rate of change and the constraint on the maximum value.

[0157] [Note 4] The control device according to Note 3, wherein the constraint on the maximum value includes a first constraint on the first parameter, and the constraint on the rate of change includes a second constraint on the product of the first parameter and the second parameter.

[0158] [Note 5] The control device according to Note 4, wherein the first constraint includes the first parameter being within a first range, and the second constraint includes the product being within a second range.

[0159] [Appendix 6] The control device according to any one of Appendix 1 to 5, wherein the manipulated variable includes a time interval in which it monotonically increases or decreases with respect to the passage of time.

[0160] [Note 7] The control device according to Note 6, wherein the manipulated variable changes over time according to the tanh function within the time interval.

[0161] [Appendix 8] The control device according to any one of Appendix 1 to 7, wherein the at least one processor predicts the control result of the controlled object based on the observed data of the controlled object.

[0162] [Note 9] The control device according to any one of Notes 1 to 8, wherein the manipulated variable used to predict the control result of the controlled object includes the manipulated variable from a predetermined reference time to a predetermined time length.

[0163] [Note 10] The control device according to any one of Notes 1 to 9, wherein the at least one processor generates an manipulated variable used to predict the control result of the controlled object as an initial value.

[0164] [Note 11] The control device according to any one of Notes 1 to 10, wherein the constraint on the rate of change includes that the rate of change falls within a predetermined range.

[0165] [Note 12] A control method that performs a process in which at least one processor predicts the control result of a controlled object based on the manipulated variable of the object being operated on, and determines the manipulated variable based on the predicted value of the control result so as to satisfy constraints on the rate of change of the manipulated variable.

[0166] [Note 13] A program for causing at least one processor to perform a process that predicts the control result of a controlled object based on the manipulated variable of the object being operated on, and determines the manipulated variable based on the predicted value of the control result so as to satisfy constraints on the rate of change of the manipulated variable.

[0167] This application claims priority to Japanese Patent Application No. 2024-196728, filed with the Japan Patent Office on November 11, 2024, which is incorporated herein by reference to its entire contents.

[0168] 10: Plant 20: Control device 101: Operating terminal 102: Control terminal 201: Observation data storage unit 202: Prediction unit 203: Cost calculation unit 204: Gradient calculation unit 205: Determination unit 1000: Control system

Claims

1. A control device comprising at least one memory and at least one processor, wherein the at least one processor predicts a control result of a controlled object based on an manipulated variable of the object being operated on, and determines the manipulated variable based on the predicted value of the control result so as to satisfy constraints on the rate of change of the manipulated variable.

2. The control device according to claim 1, wherein the at least one processor determines the manipulated amount in such a way that it further satisfies the constraint on the maximum value of the manipulated amount.

3. The control device according to claim 2, wherein the at least one processor optimizes the first and second parameters representing the manipulated variable to satisfy the constraints on the rate of change and the constraints on the maximum value.

4. The control device according to claim 3, wherein the constraint on the maximum value includes a first constraint on the first parameter, and the constraint on the rate of change includes a second constraint on the product of the first parameter and the second parameter.

5. The control device according to claim 4, wherein the first constraint includes the first parameter being within a first range, and the second constraint includes the product being within a second range.

6. The control device according to any one of claims 1 to 5, wherein the at least one processor optimizes the parameter representing the manipulated variable to satisfy the constraint on the rate of change.

7. The control device according to any one of claims 1 to 6, wherein the manipulated variable includes a time interval in which it is monotonically increasing or monotonically decreasing with respect to the passage of time.

8. The control device according to claim 7, wherein the manipulated variable changes over time according to the tanh function during the time interval.

9. The control device according to any one of claims 1 to 8, wherein the at least one processor predicts the control result of the controlled object based on the observed data of the controlled object.

10. The control device according to any one of claims 1 to 9, wherein the manipulated variable used to predict the control result of the controlled object includes the manipulated variable from a predetermined reference time to a predetermined time length.

11. The control device according to any one of claims 1 to 10, wherein at least one processor generates an manipulated variable used to predict the control result of the controlled object as an initial value.

12. The control device according to any one of claims 1 to 11, wherein the constraint on the rate of change includes that the rate of change falls within a predetermined range.

13. A control method that performs a process in which at least one processor predicts a control result of a controlled object based on an manipulated variable of the object being operated on, and determines the manipulated variable based on the predicted value of the control result so as to satisfy constraints on the rate of change of the manipulated variable.

14. A program for causing at least one processor to perform a process that predicts the control result of a controlled object based on an manipulated variable of the object being manipulated, and determines the manipulated variable based on the predicted value of the control result so as to satisfy constraints on the rate of change of the manipulated variable.