Model prediction controller, model prediction control system, model prediction control method, and program
The model predictive control system optimizes the state of a controlled object using a black-box model by employing a prediction time interval data acquisition unit and optimization input determination unit, addressing the challenge of optimizing black-box models in MPC through a global optimization algorithm.
Patent Information
- Application Number
- JP2024014463
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-01
- Publication Date
- 2025-08-14
AI Technical Summary
Model predictive control (MPC) using black-box controlled object models, such as machine learning models, faces challenges in optimizing the evaluation function due to the lack of a mathematically expressed internal structure, making it difficult to optimize the state of the controlled object.
A model predictive control system that employs a black-box controlled object model, utilizing a prediction time interval data acquisition unit and an optimization input determination unit to generate a good control input data group that optimizes the state of the controlled object by repeatedly inputting control input data and acquiring corresponding control output data, and determining an optimal control input using a global optimization algorithm.
Enables effective optimization of the controlled object's state using a black-box model predictive control, even when conventional optimization methods are not applicable, by employing a global optimization algorithm to search for optimal control inputs.
Smart Images

Figure 2025119522000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a model predictive control device, a model predictive control system, a model predictive control method, and a program. [Background technology]
[0002] 2. Description of the Related Art Feedback control such as PID control is used as a control method for controlling the state of a controlled object (for example, temperature) to a desired state (optimal state). However, there is a problem in that it is difficult to control objects using PID control, such as temperature control of sludge incineration facilities, which require a relatively long response time until the control input to the object is reflected in the state of the object. As a countermeasure, model predictive control (MPC) has been proposed, which controls a controlled object by predicting the future behavior of the controlled object using a controlled object model that is a numerical model of the controlled object. FIG. 14 shows an example of the configuration of a conventional general MPC (symbol A). As shown in the example of this figure, a conventional general MPC includes an optimizer (symbol B) and a predictor (symbol C). The predictor is a numerical model that numerically models the controlled object (symbol D). The predictor predicts the future behavior of the controlled object based on the past states of the controlled object up to the present and the control input to the controlled object. The optimizer determines the control input that will optimize the state of the controlled object based on the prediction result by the predictor. The optimizer creates an evaluation function that evaluates the degree to which the future state is the desired state, and determines the control input that minimizes the evaluation function as the optimal control input that will bring the controlled object into the desired state. Furthermore, with the recent rapid development of machine learning including deep learning, attempts are being made to apply machine learning models to methods for modeling control targets (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-068029 Summary of the Invention [Problem to be solved by the invention]
[0004] However, while machine learning models produce output in response to input, their internal structure is often a black box, and the model's prediction process is not expressed mathematically. MPC is based on the premise that an evaluation function created using a controlled object model in which the controlled object is expressed mathematically is optimized. For this reason, using a black-box controlled object model such as a machine learning model in MPC makes it difficult to optimize the evaluation function, which poses a problem in that it is difficult to optimize the state of the controlled object.
[0005] In view of the above-described problems, an object of the present invention is to provide a model predictive control device, a model predictive control system, a model predictive control method, and a program that are capable of optimizing a control object through model predictive control using a black-boxed control object model. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems, one aspect of the present invention is a control object model in which a control object is modeled, and a state of the control object at a first time is predicted based on control input data input to the control object at the first time, time series data of control output data showing the state of the control object before the first time, and time series data of control input data input to the control object before the first time, and the control object model whose internal configuration is a black box, and a prediction process is repeated in which control input data is input to the control object model and control output data output from the control object model is obtained, thereby making a prediction starting from the first time. The model predictive control device includes: a prediction time interval data acquisition unit that acquires a control input data group indicating time-series changes in a plurality of control input data over a measurement time interval; and a control output data group indicating time-series changes in a plurality of control output data corresponding to the control input data group; and an optimization input determination unit that generates a good control input data group, which is the control input data group that brings the state of the control object closer to a target value, based on the degree of deviation between the control output data group acquired by the prediction time interval data acquisition unit and a target value for the state of the control object, and determines an optimal value, which is control input data that optimizes the state of the control object, from the generated good control input data group.
[0007] One aspect of the present invention is a model predictive control system including the above-described model predictive control device and a control device including the controlled object controlled by the model predictive control device.
[0008] One aspect of the present invention is a model predictive control method performed by a model predictive control device that is a computer equipped with a controlled object model in which a controlled object is modeled, and that predicts a state of the controlled object at a first time based on control input data input to the controlled object at the first time, time series data of control output data indicating a state of the controlled object before the first time, and time series data of control input data input to the controlled object before the first time, and the model's internal configuration is a black box, the method comprising: a prediction time interval data acquisition unit that inputs control input data to the controlled object model and acquires control output data output from the controlled object model; This is a model predictive control method in which, by repeating the process, a control input data group indicating time series changes in a plurality of control input data over a prediction time interval starting from the first time and a control output data group indicating time series changes in a plurality of control output data corresponding to the control input data group are acquired, and an optimization input determination unit generates a good control input data group, which is the control input data group that brings the state of the control object closer to the target value, based on the degree of deviation between the control output data group acquired by the prediction time interval data acquisition unit and the target value for the state of the control object, and determines an optimal value, which is control input data that optimizes the state of the control object, from the generated good control input data group.
[0009] One aspect of the present invention is a program that predicts a state of a controlled object at a first time based on control input data input to the controlled object at the first time, time series data of control output data indicating the state of the controlled object before the first time, and time series data of control input data input to the controlled object before the first time, and the program causes a model predictive control device, which is a computer including a controlled object model whose internal configuration is a black box, to repeat a prediction process of inputting control input data to the controlled object model and obtaining control output data output from the controlled object model, to obtain a control input data group indicating time series changes in a plurality of control input data over a prediction time interval starting from the first time, and a control output data group indicating time series changes in a plurality of control output data corresponding to the control input data group, and generates a good control input data group that is the control input data group that brings the state of the controlled object closer to a target value based on a degree of deviation between the obtained control output data group and a target value for the state of the controlled object, and determines an optimal value that is control input data that optimizes the state of the controlled object from the generated good control input data group. [Effects of the Invention]
[0010] According to the present invention, it is possible to optimize a controlled object through model predictive control using a black-box controlled object model. [Brief explanation of the drawings]
[0011] [Figure 1] 1 is a block diagram showing a configuration of a model predictive control system 1 according to a first embodiment of the present invention. [Figure 2] FIG. 2 is a diagram illustrating an example of a control target. [Figure 3] FIG. 2 is a diagram illustrating an example of a control target. [Figure 4] FIG. 2 is a diagram illustrating an example of a control target. [Figure 5] 10 is a diagram for explaining the processing performed by the optimization input determination unit 12. FIG. [Figure 6] 10 is a diagram for explaining the processing performed by the optimization input determination unit 12. FIG. [Figure 7] 10 is a diagram for explaining the processing performed by the optimization input determination unit 12. FIG. [Figure 8] 10 is a diagram for explaining the processing performed by the optimization input determination unit 12. FIG. [Figure 9] 10 is a diagram for explaining the processing performed by the optimization input determination unit 12. FIG. [Figure 10] 10 is a diagram for explaining the processing performed by the optimization input determination unit 12. FIG. [Figure 11] 10 is a flowchart showing the flow of processing performed by the optimized input determination unit 12. [Figure 12] FIG. 10 is a diagram for explaining another example of a control target. [Figure 13] FIG. 10 is a diagram for explaining another example of a control target. [Figure 14] FIG. 1 is a diagram for explaining conventional model predictive control. DETAILED DESCRIPTION OF THE INVENTION
[0012] A model predictive control system according to an embodiment of the present invention will now be described with reference to the drawings. Fig. 1 is a block diagram showing the configuration of a model predictive control system 1 according to a first embodiment of the present invention. In this figure, a model predictive control system 1 includes a model predictive control device 10 and a controlled object 20 .
[0013] In such a model predictive control system 1, the model predictive control device 10 is provided in, for example, a controlled object 20, and controls (operates) the controlled object 20 to control the state of the controlled object 20. The model predictive control device 10 determines a control input (operational variable) that optimizes the state of the controlled object 20 using a model predictive control (MPC) technique. The model predictive control device 10 inputs the determined control input to the controlled object 20. The controlled object 20 changes its state in response to the control input and outputs the state as a control output. The control output output by the controlled object 20 is measured and fed back to the model predictive control device 10. The model predictive control device 10 determines the next control input (operational variable) to be input to the controlled object 20, taking into consideration factors such as the degree of deviation between the measured value of the fed-back control output and the target command (the target value for the state of the controlled object 20). Each of the functional units included in the model predictive control device 10 will be described in detail later.
[0014] 2 to 4 are diagrams illustrating an example of a controlled object. FIG. 2 shows a facility provided with two tanks T1 and T2. In this facility, liquid is supplied from a liquid supply source P to tank T1 via control valve S1 at a liquid inflow rate q1, and liquid is supplied from tank T1 to tank T2 via control valve S2 at a liquid inflow rate q2. In this facility, tanks T1 and T2 have upper capacity limits, so it is necessary to control the liquid level heights h1 and h2 in tanks T1 and T2 to appropriate positions. That is, in this facility, the liquid inflow rate q1 is controlled (manipulated) to optimize the state of the facility (liquid level h2 in tank T2). In this case, the device in FIG. 2 is a controlled object 20, with the liquid inflow rate q1 as the control input (manipulated variable) and the liquid level h2 in tank T2 as the control output.
[0015] FIG. 3 shows an example of a controlled object model in which the facility shown in FIG. 2 is modeled. A liquid inflow rate q1(t), which is the amount of liquid to be allowed to flow into tank T1 via control valve S1 at time t, is input as a control input to this controlled object model. Time series data of the liquid inflow rate q1 up to now {q1(tm), q1(t-m+1), ..., q1(t-1)} and time series data of the liquid level height h2 up to now {h2(tm), h2(t-m+1), ..., h2(t-1)} are also input to this controlled object model. Here, m is any natural number. Furthermore, m in the time series data of the liquid inflow rate q1 and m in the time series data of the liquid level height h2 may be different values. The controlled object model outputs the liquid level h2(t) at time t as a control output in response to the above inputs. In other words, the controlled object model is a model that outputs the liquid level h2(t) at time t based on the liquid inflow rate q1(t) as a control input, time series data of the liquid inflow rate q1 up to now, and time series data of the liquid level h2 up to now {h2(tm), h2(t-m+1), ..., h2(t-1)}.
[0016] Figure 4 shows the relationship between the control input and the control output of the controlled object model shown in Figure 3. By repeatedly inputting the liquid inflow rate q1(t) as the control input and outputting the liquid level height h2(t) as the control output (prediction process) to the controlled object model shown in Figure 3, time series data of the liquid inflow rate q1 {q1(t), q1(t+1), q1(t+2), q1(t+3), ..., q1(t+h)} and time series data of the liquid level height h2 {h2(t), h2(t+1), h2(t+2), h2(t+3), ..., h2(t+h)} are generated.
[0017] Returning to the explanation of FIG. 1, the model predictive control device 10 includes an optimizer 11 and a controlled object model 14 .
[0018] The optimizer 11 determines a control input that optimizes the state of the controlled object 20 based on the prediction result of the controlled object model 14 . The controlled object model 14 is a model in which the controlled object 20 is modeled. Similar to the control models shown in Figures 2 to 4, the controlled object model 14 is a model that predicts the state h2(t) of the controlled object at time t (first time) based on control input data q1(t) input to the controlled object 20 at time t (first time), time series data {h2(tm), ..., h2(t-1)} of control output data indicating the state of the controlled object 20 before time t (first time), and time series data {q1(tm), ..., q1(t-1)} of control input data input to the controlled object 20 before time t (first time).
[0019] In this embodiment, the control object model 14 is a model whose internal configuration is a black box. As the control object model 14, for example, a Long Short-Term Memory (LSTM) can be adopted. Conventional MPC assumes that the controlled object model is expressed mathematically, creates an evaluation function, and determines the control input that minimizes the evaluation function as the optimal control input for bringing the controlled object into the desired state. The evaluation function is a function that outputs the degree to which the future state (control output) does not deviate from the target value, i.e., the desired state is reached. For example, the evaluation function is expressed as a quadratic function that includes the mathematically expressed controlled object model, and the optimal control input is determined based on the fact that the direction in which the absolute value of the derivative is minimum is the direction of optimization. Here, since the controlled object model 14 of this embodiment is a black-box model, it is not possible to differentiate the evaluation function, which makes it difficult to adopt the conventional optimization method using differentiation by MPC.
[0020] To address this issue, in this embodiment, it is possible to determine an optimal control input even if the controlled object model 14 is a black-box model. Specifically, in this embodiment, an optimization method using differentiation is not adopted, but instead a global optimization algorithm is adopted. The global optimization algorithm searches for data in a space where control inputs can be taken as optimal control input candidates, evaluates the state of the controlled object when the control input candidates are input to the controlled object, and determines the control input that is highly evaluated and is thought to result in a desired state as the optimal control input. By adopting the global optimization algorithm, it becomes possible to determine an optimal control input without using differentiation.
[0021] More specifically, the optimizer 11 includes an optimization input determination unit 12 and a prediction time interval data acquisition unit 13. The prediction time interval data acquisition unit 13 acquires prediction time interval data. The prediction time interval data is a data group (control input data group) indicating time-series changes in control input data over a certain prediction time interval, and a data group (control output data group) indicating time-series changes in control output data over the prediction time interval. The prediction time interval is a time determined according to the reaction time from when control input data is input to the control object 20 until the input control input data is reflected in the state of the control object 20. The prediction time interval is determined according to the combination of control input (operation) and control output (state) in the control object 20, the size of the device to be controlled, etc.
[0022] The optimization input determination unit 12 determines an optimal value, which is a control input that optimizes the state of the controlled object 20. The optimization input determination unit 12 generates a good control input data group based on the degree of deviation between the control output data group acquired by the prediction time interval data acquisition unit 13 and the target value of the state of the controlled object 20. The good control input data group is a control input data group that brings the state of the controlled object 20 closer to the target value. The optimization input determination unit 12 determines an optimal value, which is control input data that optimizes the state of the controlled object 20, from the generated good control input data group. For example, the optimization input determination unit 12 determines the control input data input at the earliest time (t) from the good control input data group from time (t) to time (t+h) as the optimal value.
[0023] The optimization input determination unit 12 employs a global optimization algorithm as a method for determining a group of good control input data. First, the optimization input determination unit 12 randomly selects data from the space in which control inputs can be taken, and selects candidates as optimal control inputs. Next, the optimization input determination unit 12 evaluates the state of the control object when the selected control input candidates are input to the control object. The optimization input determination unit 12 repeatedly performs this candidate selection and evaluation, and determines the candidate with the highest evaluation among the selected candidates as the optimal control input.
[0024] The optimization input determination unit 12 can employ, for example, differential evolution, a global optimization algorithm. Differential evolution is a technique for searching for control input candidates that are likely to be probabilistically optimal, based on the evaluation results of candidate selection. By employing differential evolution, it becomes possible to efficiently search for optimal control inputs using previously evaluated evaluation results as clues.
[0025] However, the space of possible control inputs is vast, and there are an infinite number of control input candidates. Therefore, even if differential evolution is adopted, it is expected to take a long time to narrow down the space where the optimal control input exists. To address this issue, this embodiment is provided with a pre-processing unit 120 that determines initial values for search using differential evolution. The optimization input determination unit 12 determines optimal values, which are optimal control inputs, by applying differential evolution to the initial values determined by the pre-processing unit 120. By using initial values that are considered to be close to the optimal value, it is possible to shorten the time required to search for the optimal value using differential evolution.
[0026] 5 and 6 are diagrams for explaining the pre-processing performed by the pre-processing unit 120 of the optimization input determination unit 12. FIG.
[0027] First, the preprocessing unit 120 generates a plurality of pieces of control input data. The plurality of pieces of control input data generated here is control input data used to cause the predicted time interval data acquisition unit 13 to output a plurality of pieces of predicted time interval data. FIG. 5 shows control input data corresponding to multiple pieces of predicted time interval data. In this figure, the number of individuals K(n) is set vertically and the horizon H(h) is set horizontally. The number of individuals K(n) corresponds to the number of predicted time interval data to be output by the predicted time interval data acquisition unit 13. The horizon H(h) corresponds to the predicted time interval in the predicted time interval data. More specifically, the variable n of the number of individuals K(n) indicates the number of predicted time interval data. The variable h of the horizon H(h) indicates the number obtained by dividing the predicted time interval by the control period. The preprocessing unit 120 randomly selects (n × h) pieces of control input data corresponding to the product of the variable n of the number of individuals K(n) and the variable h of the horizon H(h) from data present in a space (feature space) in which control inputs to the control object 20 can take place. The control input data selected by the preprocessing unit 120 here is candidate data that will serve as candidates for the initial values of the search using the differential evolution method. As a result, n control input data groups IDG (control input data groups IDG1(k) to IDGn(k)) are generated. Each control input data group IDG includes h pieces of control input data q1. For example, the control input data group IDG1(k) includes h pieces of control input data {q1_1(k), q1_1(k+1), ..., q1_1(k+h-1)}.
[0028] Next, the preprocessing unit 120 evaluates each of the n control input data groups IDG. The preprocessing unit 120 can use any evaluation function employed in conventional MPC to evaluate the control input data groups IDG. Fig. 6 shows a schematic diagram of a method in which the preprocessing unit 120 evaluates the control input data group IDG. In this diagram, the control input data group IDG1(k) corresponds to the first control input data group IDG1(k) among the n control input data groups IDG in Fig. 5. The control output data group ODG1(k) is a control output data group corresponding to the control input data group IDG1(k). The pre-processing unit 120 inputs each of the control input data {q1_1(k), q1_1(k+1), ..., q1_1(k+h-1)} included in the control input data group IDG1(k) to the controlled object model 14 in chronological order, and acquires the control output data group ODG1(k)={h2_1(k), h2_1(k+1), ..., h2_1(k+h-1)} by arranging the control output data h2 output from the controlled object model 14 in chronological order. The preprocessing unit 120 calculates an evaluation value by inputting control input data and control output data into an evaluation function.
[0029] In Figure 6, the evaluation function J is expressed using a quadratic function as a quadratic programming (QP) problem. Specifically, the evaluation function J is the sum of the first and second terms. The first term is a term for evaluating the tracking error, and the square of the difference between the control output (control amount) and the target value (target trajectory) is used as the weighting coefficient W y The second term is a term used to evaluate whether a sudden change in the control input (operating variable) can be suppressed, and is calculated by integrating the value obtained by multiplying the control input (operating variable) by the weighting coefficient W Δu The weighting coefficient W is the integral of the product multiplied by W over the prediction time interval. y , and the weighting factor W ΔuIt may be a constant, or a value that changes dynamically depending on the control output (control amount) or control input (operation amount). In addition, when a target value or target operation amount is set for the control input (operation amount), a third term for evaluating the operation error may be provided in the evaluation function J. This third term may be, for example, a weighting coefficient W u The product is multiplied by and integrated over the prediction time interval. With conventional MPC, optimization can be performed by searching for parameters (control input, control output, and combinations of these) that tend to minimize the magnitude of the value obtained by differentiating this evaluation function J.
[0030] In this embodiment, since the evaluation function J cannot be differentiated, the preprocessing unit 120 directly inputs the control input data q1_1 and the control output data h2_1 corresponding to the control input data q1_1 to the evaluation function J, thereby calculating an evaluation value from the evaluation function J. The preprocessing unit 120 stores the calculated evaluation values in association with the control input data groups IDG. The preprocessing unit 120 calculates an evaluation value for each of the n control input data groups IDG, which corresponds to the number n of the individuals K(n), and stores the calculated evaluation values in association with the respective control input data groups IDG. The pre-processing unit 120 determines the control input data group IDG with the highest evaluation based on the evaluation values of each of the control input data groups IDG1 to IDGn as a good control input data group. The good control input data group is the control input data group IDG used as the initial value for search by the differential evolution method. The pre-processing unit 120 determines h control input data groups {q1(k), q1(k+1), ..., q1(k+h-1)} included in the good control input data group as the initial value for searching for an optimal value by the differential evolution method. The preprocessing unit 120 outputs the good control input data set to the optimization input determination unit 12 as the initial values for the search. The optimization input determination unit 12 searches for an optimal value by applying differential evolution to the good control input data set as the initial values for the search, and designates the search result as a data set that is highly likely to be optimal as the optimal control input data set. The optimization input determination unit 12 designates the control input data with the earliest time (t) among the h control input data sets included in the optimal control input data set as the optimal value to be input to the control target 20. In this way, by the preprocessing unit 120 determining the good control input data set as the initial values for the search based on the evaluation value, the optimization input determination unit 12 can narrow down the space searched by the differential evolution method to a space surrounding the good control input data set. Because the optimization input determination unit 12 only needs to search for the optimal value in the already narrowed down space, the search time can be shortened compared to searching the entire feature space. When determining a good control input data group to be used as the initial value for the search at the next time (t+1), the preprocessing unit 120 reselects (n×h) pieces of candidate data, generates and evaluates n control input data groups IDG using the reselected candidate data, and performs processing to determine a good control input data group based on the evaluation value.
[0031] Here, in the above, when determining the initial value, (n×h) candidate data are randomly selected, but the pre-processing unit 120 may select as candidate data control input data that is highly likely to actually be input as a control input. By selecting control input data that is likely to be actually input, it is possible to eliminate control inputs (operations) that are unlikely to occur in actual control, such as extreme operations that involve sudden changes. Since it is possible to select control input data that is likely to be performed in actual control and that is likely to obtain a relatively high evaluation value, it is possible to select candidate data that will obtain a relatively high evaluation value from the start, compared to when control input data is selected randomly, and it is possible to shorten the time required to determine the initial value and reduce the processing load.
[0032] 7 to 9 are diagrams for explaining the process of determining candidate data performed by the preprocessing unit 120 of the optimized input determination unit 12. FIG.
[0033] For example, the preprocessing unit 120 determines candidate data using a trained model M1. This trained model M1 is a model that predicts control input data to be input to the control object 20 based on the state of the control object 20 by learning the correspondence between the input (e.g., operation) and output (e.g., state) of the control object 20. The trained model M1 learns the correspondence between the input and output of the control object 20 using, for example, data on past driving history and operation history to be used as a model for operation derived by computer simulation.
[0034] 7, first, in step S1, the preprocessing unit 120 predicts the control input q1(t) at time (t) using the trained model M1. The preprocessing unit 120 inputs time series data indicating past control input data {q1(tm), q1(t-m+1), ..., q1(t-1)} up to time (t) to the trained model M1. The preprocessing unit 120 also inputs time series data indicating past control output data {h2(tm), h2(t-m+1), ..., h2(t-1)} up to time (t) to the trained model M1. The trained model M1 outputs the control input q1(t) at time (t) based on the two input time series data. The preprocessing unit 120 sets the control input q1(t) output from the trained model M1 as candidate data for the control input at time (t). Next, in step S2, the preprocessing unit 120 predicts the control output h2(t) at time (t) using the controlled object model 14. The preprocessing unit 120 inputs, to the controlled object model 14, the same two time series data as the learned model M1 and the control input q1(t) output by the learned model M1 in step S1. That is, the preprocessing unit 120 inputs, to the controlled object model 14, time series data indicating past control input data {q1(tm), q1(t-m+1), ..., q1(t-1)} up to time (t), control output data {h2(tm), h2(t-m+1), ..., h2(t-1)}, and the control input q1(t) output by the learned model M1. The controlled object model 14 outputs the control output h2(t) at time (t) based on the input two time series data and the control input q1(t) output by the learned model M1. Next, in step S3, the preprocessing unit 120 predicts the control input q1(t+1) at time (t+1) using the trained model M1. The preprocessing unit 120 inputs, to the trained model M1, the control input data {q1(tm), q1(t-m+1), ..., q1(t-1)} input in step S1 and the control input data q1(t) output by the trained model M1 in step S1 as past control input data up to time (t+1). The preprocessing unit 120 also inputs, to the trained model M1, the control output data {h2(tm), h2(t-m+1), ..., h2(t-1)} input in step S1 and the control output data h2(t) output by the controlled object model 14 in step S2 as past control output data up to time (t+1). The trained model M1 outputs a control input q1(t+1) at time (t+1) based on the two input time-series data. The preprocessing unit 120 sets the control input q1(t+1) output from the trained model M1 as candidate data for the control input at time (t+1). By repeating steps S2 to S3 h times corresponding to the prediction time interval (variable h of horizon H(h)), the preprocessing unit 120 can generate one control input data group IDG. The preprocessing unit 120 generates n control input data groups IDG and determines a good control input data group based on the evaluation value of each of the generated n control input data groups IDG.
[0035] Alternatively, the preprocessing unit 120 determines the candidate data using a PID control M2. The PID control M2 is a model that mathematically expresses the correspondence between the input (e.g., operation) and output (e.g., state) of the control target 20, and when the state of the control target 20 is input to the PID control M2, it outputs control input data to be input to the control target 20.
[0036] Figure 8 shows an example in which the trained model M1 in Figure 7 is replaced with PID control M2. Steps S101 to S103 in Figure 8 are the same as steps S1 to S3 in Figure 7, except that the trained model M1 is replaced with PID control M2, and therefore a description thereof will be omitted. By repeating steps S102 to S103 h times corresponding to the prediction time interval (variable h of horizon H(h)), the preprocessing unit 120 can generate one control input data group IDG. The preprocessing unit 120 generates n control input data groups IDG and determines a good control input data group based on the evaluation value of each of the generated n control input data groups IDG.
[0037] FIG. 9 shows the relationship between the time series change of the control output data h2 (liquid level height h2) output by the PID control M2 and the target value (target liquid level). The vertical axis of FIG. 9 represents the liquid level h2 (second-stage liquid level) in the second-stage tank T2. The horizontal axis represents time. Also, in FIG. 9, the control period is 1 second. The prediction time horizon is 40 seconds (40 steps). In other words, the PID control M2 predicts the control output every second for the next 40 seconds from the current time, and inputs the optimal control input based on the results of this prediction to the controlled object 20. In this figure, the control output data h2 output by the PID control M2 tracks the target value (target liquid level) to a certain extent. In this way, the PID control M2 may not be accurate enough to input the control output data h2 directly to the controlled object 20, but it can output control output data h2 that tracks the target value (target liquid level) to a certain extent. By using the differential evolution method with the control input data group {q1(t), q1(t+1), ..., q1(t+h)} corresponding to the control output data group {(h2(t), h2(t+1), ..., h2(t+h)) that closely follows the target value (target liquid level) as the initial value, it is possible to efficiently search for control input data (optimal value) that derives a control output that is closest to the target value and is located around that control input data group.
[0038] In the above example, the control input data group with the highest evaluation among the n control input data groups starting from time (t) is determined as the good control input data group to be used as the initial value for the search for the optimal value at time (t). When determining the initial value for the search for the optimal value at the next time (t+1), (n×h) candidate data are reselected. However, when determining the initial value for the next time (t+1), the input control data included in the good control input data group to be used as the initial value for the search for the optimal value at time (t) may be reused. Specifically, the preprocessing unit 120 stores the input data group from time (t−1) to time (t+h) that was evaluated as the good control input data group by the differential evolution algorithm at time t−1. When generating the good control input data group at time (t), the preprocessing unit 120 uses (reuses) the input data group that was determined as the good control input data group at time (t−1) and sets the input data group as the initial value. This allows the search section to be limited, enabling the search to be performed efficiently. By reusing the input control data, the process of reselecting candidate data can be minimized, thereby reducing the processing load.
[0039] FIG. 10 is a diagram for explaining the process of reusing input control data performed by the preprocessing unit 120 of the optimized input determination unit 12. In FIG. First, the preprocessing unit 120 performs the above-described process to determine the best control input data set IDGbest{q1_best(t), q1_best(t+1), ..., q1_best(t+39)} starting from time (t), where the prediction time horizon h=40. The preprocessing unit 120 generates n control input data groups IDG(t+1) when determining the initial values for the next time (t+1). When generating these n control input data groups IDG(t+1), the preprocessing unit 120 reuses the control input data included in the best control input data group IDGbest(t). Of the control input data included in the best control input data group IDGbest(t) starting from time (t) (first time), the preprocessing unit 120 reuses the control input data after time (t+1) (second time) as the control input data of the second control input data group IDG_k(t+1), which is a control input data group starting from the second time. FIG. 10 shows an example of a good control input data group IDGbest(t) starting from time (t) and a control input data group IDG_k(t+1) starting from time (t+1). k is a natural number equal to or less than n. The control input data group IDG_k(t+1) is, for example, a control input data group IDG corresponding to n=k in the number of individuals K(n), and is data consisting of time-series data {q1_k(t+1), q1_k(t+2), ..., q1_k(t+40)}. The preprocessing unit 120 reuses the control input data q1 from time (t+1) to time (t+9) in the control input data group IDG_k(t+1) from the control input data q1 included in the good control input data group IDGbest. That is, q1_k(t+1) = q1_best(t+1), q1_k(t+2) = q1_best(t+2), ..., q1_k(t+39) = q1_best(t+39). Then, the preprocessing unit 120 newly generates only the control input data q1_k(t+40) at time (t+40) as new control input data ND. The preprocessing unit 120 may randomly select the new control input data ND from a space (feature space) in which the control input can take, or may generate the new control input data ND using the trained model M1, or may generate the new control input data ND using the PID control M2.
[0040] In the example of Figure 10, one control input data group IDGk(t+1) is generated using one good control input data group IDGbest(t), but multiple control input data groups IDG(t) may be reused at the next time (t+1). Of the n control input data groups IDG1(t) to IDGn(t) generated by the preprocessing unit 120 to determine the initial value at time (t), the top n# (e.g., 20) control input data groups IDG in descending order of evaluation value are reused as the control input data group IDG for the next time (t+1), where n# is a natural number equal to or less than n. The pre-processing unit 120 generates only new control input data ND for n# control input data groups IDG(t+1) out of n control input data groups IDG(t+1) to determine the initial value for the next time (t+1) by reusing control input data q1 included in the n# control input data groups IDG(t). In addition, the pre-processing unit 120 generates (nn#) control input data groups IDG(t+1) out of the n control input data groups IDG(t+1) by randomly selecting candidate data or by generating control input data as candidate data using the learned model M1 or PID control M2.
[0041] While the above describes the case where the top n# control input data groups IDG with the highest evaluation value are reused, it is also possible to reuse 50% of the n# control input data groups IDG selected at random, and not reuse the remaining 50%. This makes it possible to speed up convergence to the optimal solution by the differential evolution method while ensuring diversity in the initial values provided to the differential evolution method.
[0042] 11 is a flowchart showing the flow of processing performed by the optimizing input determination unit 12. First, the preprocessing unit 122 generates (n×h) pieces of control input data (step S10). Here, n is the number of prediction time interval data to be generated as the prediction target, corresponding to the variable n of the number of individuals K(n). Here, h is the number of time-series data of prediction time interval data to be generated as the prediction target, corresponding to the variable h of the horizon H(h). The preprocessing unit 120 generates n pieces of predicted time interval data each consisting of h pieces of time series data (step S11). The preprocessing unit 120 generates one piece of predicted time interval data each consisting of h pieces of control input data group IDG and control output data group by sequentially inputting h pieces of the control input data generated in step S10 to the controlled object model 14 via the predicted time interval data acquisition unit 13. By repeating this process while changing the control input data, n pieces of predicted time interval data each consisting of different combinations of the h pieces of control input data are generated. The preprocessing unit 120 stores the n pieces of predicted time interval data generated in step S11 (step S12) and calculates an evaluation value for each output (control output data group) of the generated n pieces of predicted time interval data (step S13). Based on the calculated evaluation values, the preprocessing unit 120 determines, for example, the one with the highest evaluation value as a good control input data group (step S14). The preprocessing unit 120 applies differential evolution to the good control input data group as an initial value for search, thereby determining an optimal control input data group that is the most suitable control input data group (step S15). The optimization input determination unit 12 determines the control input data at the first time (t) in the time series in the optimal control input data group determined in step S15 as the optimal value to be input to the controlled object 20 at time (t) (step S16).
[0043] According to the embodiment described above, model predictive control can be performed using a black-boxed controlled object model 14. When control becomes complex and it takes a relatively long time for a control input (operation) to be input to the controlled object 20 and for the input control input to be reflected in the control output (state), control that does not predict the future, such as PID control, has difficulty dealing with the delayed response time and fails to achieve the expected control performance. Therefore, methods of performing control based on future prediction results using model predictive control have been considered. However, model predictive control requires a model that simulates the actual plant U (controlled object). Even when attempting to apply this to a water supply and sewerage plant (two-stage liquid level control) such as that shown in Figure 2, it has been difficult to formulate a model that simulates the water supply and sewerage plant. One possible solution to this problem is to employ a trained model that has learned past operational records, but many trained models are black-boxed and not disclosed. When using a model such as the controlled object model 14, whose internal structure is black-boxed, optimization techniques that utilize derivatives, such as quadratic programming, cannot be employed. In contrast, the model predictive control device 10 of the embodiment applies a global optimization algorithm to model predictive control. This makes it possible to calculate an evaluation value for each prediction time interval data individually using the input and output of the controlled object model 14, to select control output data that optimizes the state of the controlled object based on the evaluation value, and to determine control input data corresponding to the selected control output data as the control input data that optimizes the state of the controlled object. Therefore, the model predictive control device 10 of the embodiment can optimize the controlled object through model predictive control using a black-box controlled object model.
[0044] Furthermore, according to the embodiment described above, the model predictive control device 10 includes a preprocessing unit 120 that determines an initial value for search using differential evolution. This makes it possible to determine control input data (optimal values) that optimize the state of the controlled object through search using differential evolution, an example of a global optimization algorithm. Moreover, because the space surrounding the initial value can be used as the search space, it becomes possible to derive an optimal solution without searching all possible data that can be used as input to the controlled object 20, thereby reducing the processing load required for the search and shortening the processing time.
[0045] Furthermore, according to the embodiment described above, the preprocessing unit 120 generates candidate data for initial values using the trained model M1 or the PID control model M2. This allows the candidate data to be determined based on proven operations or operations that are highly likely to be actually performed. Therefore, the initial values can be determined while excluding extreme operations that are unlikely to actually be performed from the candidate data, thereby reducing the processing load required to determine the initial values and shortening the processing time.
[0046] Furthermore, according to the above-described embodiment, the group of good control input data used to determine the initial values at time (t) may be used not only as the initial values for the search for the optimal value at time (t), but also as the initial values for the search for the optimal value at time (t+1) or later. For example, the control input data at time (t+1) from the group of good control input data used to determine the initial values at time (t) may be used as the initial values for time (t+1). This makes it possible to determine candidate data based on proven operations or operations that are highly likely to actually be performed. Therefore, it is possible to determine initial values by excluding extreme operations that are unlikely to actually be performed from the candidate data, thereby reducing the processing load required to determine the initial values and shortening the processing time.
[0047] Furthermore, according to the embodiment described above, the preprocessing unit 120 reuses part of the data (n pieces of predicted time interval data) used to determine initial values at time (t) as data to be used to determine initial values at time (t+1). By reusing the data, the preprocessing unit 120 only needs to generate new control input data ND as candidate data corresponding to time (t+h) that cannot be reused. This reduces the processing load required to generate data to be used to determine initial values and shortens the processing time.
[0048] According to the embodiment described above, the preprocessing unit 120 generates new control input data ND using the learned model M1 or the PID control model M2. As a result, the model predictive control device 10 of the embodiment can generate candidate data that is highly likely to be actually operated.
[0049] <Other embodiments> In the above-described embodiment, a method using differential evolution to search for an optimal value has been described as an example, but the present invention is not limited to this. Any method capable of searching for an optimal value can be used. For example, a global optimization method other than differential evolution, a search method such as the golden section method, or a rule-based search method that searches for an optimal value according to rules previously determined by humans can be applied.
[0050] <Other Control Targets> Although the above description has been given taking two-stage liquid level control as an example, the model predictive control system 1 may also control other control targets. 12 and 13 are diagrams for explaining another example of a control target. In Fig. 12, the control target is the temperature (freeboard temperature) of an incinerator in an incineration facility. When incineration is performed in an incineration facility, it is necessary to appropriately control the temperature inside the incinerator. This is because if the temperature inside the incinerator is too high, there is a high possibility that the incineration facility will be damaged, and if the temperature inside the incinerator is too low, there is a high possibility that greenhouse gases such as NO (nitrous oxide) and NO (carbon monoxide) will be generated due to incomplete combustion. Cooling water, dewatered sludge, fuel, etc. are input to the incinerator as control inputs (operations). Focusing on the fuel among these control inputs, the controlled object can be modeled as a controlled object model 14 in which the amount of fuel input to the incinerator is the control input and the freeboard temperature is the control output. In FIG. 13, the amount of fuel u(t) to be input into the incinerator at time t is input to the controlled object model 14 as a control input. Also, time series data {u(tm), u(t-m+1), ..., u(t-1)} of the amount of fuel u that has been input so far and time series data {tmp(tm), tmp(t-m+1), ..., tmp(t-1)} of the freeboard temperature tmp so far are input to the controlled object model 14. Here, m is an arbitrary natural number. Also, in response to the above input, the controlled object model 14 outputs the freeboard temperature tmp(t) at time t as a control output.
[0051] The model predictive control system 1 and the model predictive control device 10 in the above-described embodiments may be implemented by a computer. In this case, a program for implementing the functions may be recorded on a computer-readable recording medium, and the program may be loaded into the computer system and executed. Note that the term "computer system" as used herein includes hardware such as an OS and peripheral devices. Furthermore, the term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into the computer system. Furthermore, the term "computer-readable recording medium" may also include devices that dynamically store programs for a short period of time, such as communication lines used when transmitting programs via networks such as the Internet or telephone lines, or devices that store programs for a fixed period of time, such as volatile memory within a computer system that serves as a server or client. The program may be for implementing only a portion of the functions described above, or may be capable of implementing the functions in combination with a program already stored in the computer system, or may be implemented using a programmable logic device such as an FPGA (Field Programmable Gate Array).
[0052] Although an embodiment of the present invention has been described above in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and includes designs within the scope of the gist of the present invention. [Explanation of symbols]
[0053] 1...Model predictive control system, 10...Model predictive control device, 12...Optimization input determination unit, 120...Preprocessing unit, 13...Prediction time interval data acquisition unit, 14...Controlled object model, 20...Controlled object
Claims
1. a control object model in which a control object is modeled, the control object model predicting a state of the control object at a first time based on control input data input to the control object at the first time, time series data of control output data indicating a state of the control object before the first time, and time series data of control input data input to the control object before the first time, the control object model having an internal configuration as a black box; a prediction time interval data acquisition unit that acquires a control input data group indicating time-series changes in a plurality of control input data over a prediction time interval starting from the first time and a control output data group indicating time-series changes in a plurality of control output data corresponding to the control input data group, by repeating a prediction process of inputting control input data to the control object model and acquiring control output data output from the control object model; an optimization input determination unit that generates a group of good control input data, which is a group of control input data that brings the state of the controlled object closer to the target value, based on the degree of deviation between the group of control output data acquired by the prediction time interval data acquisition unit and a target value of the state of the controlled object, and determines an optimal value, which is control input data that optimizes the state of the controlled object, from the generated group of good control input data; A model predictive control device comprising:
2. a preprocessing unit for determining an initial value for a search by a global optimization algorithm; The optimization input determination unit determining the optimal value by applying a global optimization algorithm to the initial value; The pre-treatment unit selecting candidate data that is a candidate for the initial value from data included in a range that can be taken as a value to be input to the control object, and using the selected candidate data as control input data, acquiring, using the predicted time interval data acquiring unit, each of the control output data groups corresponding to the plurality of control input data groups each consisting of a combination of mutually different control input data; calculating an evaluation value for each of the control output data groups by applying an evaluation function to each of the control output data groups; the good control input data group selected based on the evaluation value for each of the control output data groups is set as the initial value for searching for the optimal value to be input to the controlled object at the first time. The model predictive controller of claim 1 .
3. The preprocessing unit uses a differential evolution method as a global optimization algorithm. The model predictive control device according to claim 2 .
4. The preprocessing unit determines the candidate data using a trained model that predicts control input data to be input to the control object based on a state of the control object by learning a correspondence relationship between an input and an output for the control object. The model predictive control device according to claim 2 .
5. the preprocessing unit determines the candidate data using a PID control model that mathematically expresses a correspondence relationship between an input and an output for the controlled object. The model predictive control device according to claim 2 .
6. The pre-treatment unit reuse the control input data from a second time onward, which is after the first time, among the control input data included in the good control input data group starting from the first time, as control input data of a second control input data group, which is the control input data group starting from the second time; generating, as new control input data, control input data that is not reused from the good control input data group starting from the first time among the control input data included in the second control input data group, and acquiring control output data corresponding to the generated new control input data using the predicted time interval data acquiring unit, thereby acquiring the control output data group corresponding to the second control input data group. The model predictive control device according to claim 2 .
7. The pre-treatment unit The new control input data is randomly selected from a feature space for expressing a value to be input to the control object. The model predictive control device according to claim 6 .
8. The pre-treatment unit The new control input data is generated using a trained model that predicts control input data input to the control object based on a state of the control object by learning a correspondence relationship between an input and an output for the control object. The model predictive control device according to claim 6 .
9. The pre-treatment unit The new control input data is generated using a PID control model that mathematically expresses a correspondence relationship between an input and an output for the controlled object. The model predictive control device according to claim 6 .
10. The model predictive control device according to claim 1; a control device including the controlled object controlled by the model predictive control device; Equipped with a model predictive control system.
11. A model predictive control method is performed by a model predictive control device that is a computer equipped with a control object model in which a control object is modeled, and that predicts a state of the control object at a first time based on control input data input to the control object at the first time, time series data of control output data indicating a state of the control object before the first time, and time series data of control input data input to the control object before the first time, and that includes a control object model in which an internal configuration of the model is represented as a black box, a prediction time interval data acquisition unit repeats a prediction process of inputting control input data to the control object model and acquiring control output data output from the control object model, thereby acquiring a control input data group indicating time-series changes in a plurality of control input data over a prediction time interval starting from the first time, and a control output data group indicating time-series changes in a plurality of control output data corresponding to the control input data group; an optimization input determination unit generates a good control input data group, which is a control input data group that brings the state of the control object closer to the target value, based on the degree of deviation between the control output data group acquired by the prediction time interval data acquisition unit and the target value of the state of the control object, and determines an optimal value, which is control input data that optimizes the state of the control object, from the generated good control input data group; Model predictive control methods.
12. a model predictive control device that is a computer having a control object model in which a control object is modeled, the computer predicting a state of the control object at a first time based on control input data input to the control object at the first time, time series data of control output data indicating a state of the control object before the first time, and time series data of control input data input to the control object before the first time, the computer having a control object model whose internal configuration is a black box; a prediction process of inputting control input data to the control object model and acquiring control output data output from the control object model is repeated to acquire a control input data group indicating time-series changes in a plurality of control input data over a prediction time interval starting from the first time, and a control output data group indicating time-series changes in a plurality of control output data corresponding to the control input data group; generating a group of good control input data, which is the group of control input data that brings the state of the controlled object closer to the target value, based on the degree of deviation between the acquired group of control output data and a target value of the state of the controlled object, and determining an optimal value, which is control input data that optimizes the state of the controlled object, from the generated group of good control input data; program.
Citation Information
Patent Citations
In-plant line load prediction model creation method, in-plant line load prediction model, in-plant line production plan creation method, in-plant line load prediction model creation program, in-plant line load prediction model creation device, and in-plant line production plan creation device
JP2020068029A