Adaptive nonlinear model predictive control method and system for scr denitration system
By employing an adaptive nonlinear model predictive control method for the SCR denitrification system, the problem of control commands exceeding the actuator's tolerance was solved, ensuring safety and equipment lifespan, and guaranteeing the stable operation of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI DONGFANG HOPE SOFTWARE TECH CO LTD
- Filing Date
- 2026-05-15
- Publication Date
- 2026-06-19
AI Technical Summary
Existing technologies struggle to achieve safe and optimized control of actuators and equipment in SCR systems. The inability of existing technologies to effectively address this issue leads to control commands exceeding the actuators' tolerance range, impacting system operational safety and equipment lifespan.
An adaptive nonlinear model predictive control method for SCR denitrification system is adopted. By collecting and preprocessing historical time series data from multiple variable channels, a predictive sequence is generated. The control sequence is then iteratively updated using an objective function and gradient descent algorithm to ensure that the control commands meet the constraints of the actuator.
This approach ensures stable nitrogen oxide concentration at the outlet while reducing the operating frequency of the actuators, preventing equipment damage or safety accidents, and improving system safety and equipment lifespan.
Smart Images

Figure CN122239487A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to data processing technology, and more particularly to an adaptive nonlinear model predictive control method and system for an SCR denitrification system. Background Technology
[0002] With increasingly stringent environmental protection requirements, industrial processes such as cement production and coal-fired power generation are facing stricter controls on nitrogen oxide emissions. SCR (Selective Catalytic Reduction) denitrification technology is widely used due to its high removal efficiency. It precisely controls the ammonia injection rate based on inlet flue gas conditions, ensuring that the outlet NOx concentration remains within compliant ranges. However, due to the complex, lagging, and volatile operating conditions in industrial sites such as cement kilns, precise control of SCR denitrification systems is difficult to achieve.
[0003] Most existing technologies employ model predictive control methods based on deep learning. While this approach improves prediction accuracy under complex operating conditions, it struggles to impose control constraints. Existing control schemes often treat the physical limits of actuators, such as valve opening, as non-mandatory constraints, failing to ensure the feasibility of actual output commands. In practice, this approach can easily lead to output commands exceeding the actuator's limits or cause valve oscillations, impacting system safety and equipment lifespan.
[0004] Therefore, how to ensure that control commands meet the constraints of the actuator and achieve safety has become a critical issue that urgently needs to be addressed. Summary of the Invention
[0005] This invention provides an adaptive nonlinear model predictive control method and system for an SCR denitrification system, which can ensure that control commands meet the constraints of the actuator and achieve safety assurance.
[0006] A first aspect of the present invention provides an adaptive nonlinear model predictive control method for an SCR denitrification system, comprising:
[0007] S1, Collect historical time-series data from multiple variable channels within the SCR denitrification system, preprocess the historical time-series data to obtain standard time-series data;
[0008] S2, obtain the initial control sequence, input the initial control sequence and standard time series data into the preset prediction model, and generate a prediction sequence of the outlet nitrogen oxide concentration corresponding to the initial control sequence in the preset time domain;
[0009] S3, input the predicted sequence and the initial control sequence into a preset objective function to obtain the objective function value. If the objective function value does not meet the preset convergence condition, calculate the gradient corresponding to the initial control sequence based on the objective function value, iteratively update the initial control sequence according to the gradient, and adjust the updated initial control sequence based on the control constraints to obtain the current initial control sequence.
[0010] S4. Repeat steps S2-S3 above until the objective function value meets the preset convergence condition or the initial control sequence reaches the preset maximum number of updates, and obtain the corresponding current initial control sequence as the preferred control sequence.
[0011] S5, select the first control instruction in the preferred control sequence as the execution instruction.
[0012] Optionally, in one possible implementation of the first aspect, S2 includes:
[0013] The initial control sequence is merged with the standard time series data of the corresponding variable channel to obtain the merged time series data of the corresponding variable channel. Feature embedding is performed on the merged time series data and the standard time series data to obtain the feature sequence of each variable channel. A multi-channel feature tensor is generated based on the feature sequence.
[0014] A dynamic adjacency matrix is constructed based on the multi-channel feature tensor. Graph convolution operations are performed on the multi-channel feature tensor based on the dynamic adjacency matrix and the preset static adjacency matrix to obtain static and dynamic feature tensors. Gated fusion is then performed on the dynamic and static feature tensors to obtain a fused feature tensor.
[0015] Multi-scale downsampling and frequency domain analysis are performed on the fused feature tensor to obtain trend and seasonal terms at each scale. Based on the trend and seasonal terms, a predicted sequence of outlet nitrogen oxide concentrations within a preset time domain is generated.
[0016] Optionally, in one possible implementation of the first aspect, generating a multi-channel feature tensor based on the feature sequence includes:
[0017] Based on the feature sequence, extract the feature vectors of each variable channel at the current time, obtain the time code corresponding to the current time, input the time code of the current time and the feature vectors of each variable channel into a preset first MLP network, and obtain the effective window length corresponding to the current time.
[0018] The current time encoding and the feature vectors of each variable channel are input into a preset second MLP network to obtain the soft attention weights of each time step within the historical window length corresponding to the historical time series data.
[0019] The feature sequences of each variable channel are adjusted according to the soft attention weights to obtain the adjusted sequences corresponding to each variable channel. The adjusted sequences of each variable channel are then truncated based on the effective window length to obtain the effective sequences.
[0020] The effective sequences of each variable channel are aligned, and the aligned effective sequences are concatenated to obtain a multi-channel feature tensor.
[0021] Optionally, in one possible implementation of the first aspect, constructing the dynamic adjacency matrix based on the multi-channel feature tensor includes:
[0022] The current multi-channel feature tensor is extracted based on the multi-channel feature tensor, and the current multi-channel feature tensor is scaled and dot-producted to obtain the multi-channel attention score.
[0023] The multi-channel attention scores are normalized and masked to generate a dynamic adjacency matrix.
[0024] Optionally, in one possible implementation of the first aspect, the step of performing multi-scale downsampling and frequency domain analysis on the fused feature tensor to obtain trend terms and seasonal terms at each scale, and generating a predicted sequence of outlet nitrogen oxide concentrations within a preset time domain based on the trend terms and seasonal terms, includes:
[0025] The fused feature tensor is downsampled at multiple scales based on the average pooling operator to obtain the scale components at each scale.
[0026] Apply discrete Fourier transform to each scale component to determine the trend and seasonal terms at each scale;
[0027] Construct a prediction head network for each scale, and input the trend term and seasonal term for each scale into the prediction head network to obtain intermediate prediction results;
[0028] The intermediate prediction results at each scale are weighted and summed to obtain the predicted sequence of outlet nitrogen oxide concentrations within the preset time domain.
[0029] Optionally, in one possible implementation of the first aspect, step S3 involves calculating the gradient corresponding to the initial control sequence based on the objective function value, updating the initial control sequence according to the gradient, and adjusting the updated initial control sequence based on control constraints to obtain the current initial control sequence, including:
[0030] The objective function value is calculated based on the automatic differentiation algorithm to obtain the gradient corresponding to the initial control sequence;
[0031] The initial control sequence is updated based on the gradient descent algorithm, the gradient, and the preset learning rate to obtain the intermediate control sequence.
[0032] The intermediate control sequence is projected onto the control constraints, and the intermediate control sequence that exceeds the control constraints is adjusted to obtain the current initial control sequence.
[0033] Optionally, in one possible implementation of the first aspect, adjusting the intermediate control sequence that exceeds the control constraints to obtain the current initial control sequence includes:
[0034] When it is determined that the control command in the intermediate control sequence is less than the lower limit set in the control constraint, the corresponding control command is adjusted to the lower limit;
[0035] When it is determined that the control command in the intermediate control sequence is greater than the upper limit set in the control constraint, the corresponding control command is adjusted to the upper limit;
[0036] When the absolute value of the change in the control command between adjacent time points is greater than the maximum change amplitude set in the control constraints, the control command corresponding to the next time point in the adjacent time points is adjusted based on the maximum change amplitude.
[0037] Optionally, in one possible implementation of the first aspect, S4 includes:
[0038] Calculate the absolute value of the difference between the current objective function value and the objective function value obtained in the previous iteration, and use it as the convergence difference.
[0039] When the convergence difference is less than a preset error threshold, the obtained target function value is determined to meet the preset convergence condition, and the corresponding current initial control sequence is obtained as the preferred control sequence.
[0040] Count the number of updates corresponding to the current initial control sequence, and use this as the current count;
[0041] When the current number of updates is equal to the preset maximum number of updates, the corresponding current initial control sequence is obtained as the preferred control sequence.
[0042] Optionally, in one possible implementation of the first aspect, it also includes:
[0043] S6, obtain multiple predicted values of outlet nitrogen oxide concentration within a historical preset time period to obtain a first sequence, and retrieve the actual measured values corresponding to the predicted values of outlet nitrogen oxide concentration based on the first sequence to obtain a second sequence;
[0044] S7. Calculate the average deviation value within a preset historical time period based on the first sequence and the second sequence, and input the average deviation value into a preset integral regulator to obtain a compensation bias value.
[0045] S8, the compensation bias value is superimposed onto the standard time-series data of the inlet nitrogen oxide concentration within the current preset time period;
[0046] S9. Use the current preset time period as the historical preset time period and repeat steps S6-S9.
[0047] A second aspect of the present invention provides an adaptive nonlinear model predictive control system for an SCR denitrification system, comprising:
[0048] The acquisition module is used to acquire historical time-series data from multiple variable channels within the SCR denitrification system, and to preprocess the historical time-series data to obtain standard time-series data.
[0049] The prediction module is used to acquire the initial control sequence, input the initial control sequence and standard time series data into a preset prediction model, and generate a prediction sequence of the outlet nitrogen oxide concentration corresponding to the initial control sequence in a preset time domain.
[0050] The update module is used to input the predicted sequence and the initial control sequence into a preset objective function to obtain the objective function value. When it is determined that the objective function value does not meet the preset convergence condition, the gradient corresponding to the initial control sequence is calculated based on the objective function value. The initial control sequence is iteratively updated according to the gradient, and the updated initial control sequence is adjusted based on the control constraints to obtain the current initial control sequence.
[0051] The iteration module is used to repeat the above steps S2-S3 until the objective function value meets the preset convergence condition or the initial control sequence reaches the preset maximum number of updates, and obtain the corresponding current initial control sequence as the preferred control sequence.
[0052] The selection module is used to select the first control instruction in the preferred control sequence as the execution instruction.
[0053] The beneficial effects of this invention are as follows:
[0054] 1. This invention generates a predicted sequence of outlet nitrogen oxide concentration within a preset time domain. After obtaining the predicted sequence, the initial control sequence is iteratively updated using an objective function to solve for the optimal control sequence that satisfies the control constraints. This invention can handle the hysteresis characteristics of the SCR system, ensuring that the outlet nitrogen oxide concentration tracks the set value while reducing the operating frequency of the actuator through control constraints.
[0055] 2. In this invention, an adaptive time window is introduced. The effective window length is dynamically extracted based on the current features using a preset MLP network, and the soft attention weights of each time step within the historical window length are calculated, so that the model can adaptively extract key temporal features under both high and low load conditions.
[0056] 3. This invention determines the physical mechanism and dynamic coupling relationships between variables through a static adjacency matrix fused from a physical prior adjacency matrix and a data-driven adjacency matrix, as well as a dynamic adjacency matrix based on an attention mechanism. In the prediction phase, the TimeMixer module decomposes the fused feature tensor into trend and seasonal terms of different frequencies through downsampling at multiple scales and frequency domain analysis. These terms are then predicted separately by the prediction head network before being weighted and fused. This invention separates long-term trends and short-term fluctuations in historical data, providing accurate predictions of export nitrogen oxide concentrations.
[0057] 4. In the process of iteratively updating the initial control sequence and solving for the optimal control sequence that satisfies the control constraints, this invention calculates the gradient of the objective function with respect to the initial control sequence, uses the gradient descent method to obtain the intermediate control sequence, and adjusts the constraints on the intermediate control sequence to obtain the optimal control sequence. This invention ensures that the final execution command conforms to the valve opening range and action rate limits, avoiding equipment damage or safety accidents caused by commands exceeding the limits, and also achieving numerical stability in the control process. Attached Figure Description
[0058] Figure 1 A flowchart of an adaptive nonlinear model predictive control method for an SCR denitrification system provided by the present invention;
[0059] Figure 2 This is a schematic diagram illustrating the downsampling and frequency domain analysis of the fused feature tensor in this invention;
[0060] Figure 3 This is a schematic diagram of the structure of an adaptive nonlinear model predictive control system for an SCR denitrification system provided by the present invention;
[0061] Figure 4 This is a schematic diagram of the hardware structure of an electronic device provided by the present invention. Detailed Implementation
[0062] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0063] The terms "first," "second," "third," "fourth," etc. (if present) in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein.
[0064] It should be understood that in the various embodiments of the present invention, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0065] It should be understood that in this invention, "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or device.
[0066] It should be understood that in this invention, "multiple" refers to two or more. "And / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "Contains A, B, and C", "Contains A, B, and C" means that all three A, B, and C are contained; "Contains A, B, or C" means that one of A, B, and C is contained; "Contains A, B, and / or C" means that any one, two, or three of A, B, and C are contained.
[0067] It should be understood that in this invention, "B corresponding to A", "B corresponding to A", "A and B correspond", or "B and A correspond" means that B is associated with A, and B can be determined based on A. Determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information. Matching A and B is defined as a similarity between A and B that is greater than or equal to a preset threshold.
[0068] Depending on the context, "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection."
[0069] The technical solution of the present invention will be described in detail below with reference to specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0070] This invention provides an adaptive nonlinear model predictive control method for an SCR denitrification system, such as... Figure 1 As shown, it includes:
[0071] S1. Collect historical time-series data from multiple variable channels within the SCR denitrification system, and preprocess the historical time-series data to obtain standard time-series data.
[0072] It should be noted that the on-site environment of the cement kiln SCR denitrification system is harsh, and the quality of the raw data collected by the sensors is unstable. Data loss may occur at certain times due to line faults or equipment maintenance, and the data varies greatly. For example, the inlet nitrogen oxide concentration may be as high as several hundred, while the ammonia injection command may only be tens, or even the oxygen content may be only single digits. If this unprocessed historical time-series data is directly input into the deep learning model, the large numerical differences will cause unstable gradient updates during model training, while the missing data will lead to error interruptions.
[0073] Therefore, historical time-series data from multiple variable channels within the SCR denitrification system are collected at a preset sampling frequency, such as once per second. Next, the historical time-series data is scanned, and when data is missing at a certain time point, interpolation is performed using adjacent values to fill the gap, ensuring data continuity. Finally, each variable channel is normalized, and the mean and variance of the historical time-series data for each channel are calculated, mapping the historical time-series data to a uniform numerical range, typically between 0 and 1 or -1 and 1, thus obtaining standard time-series data with a consistent distribution across all variable channels.
[0074] Furthermore, based on the standard time-series data for each variable channel, the input tensors corresponding to all variable channels can be constructed. ,in, For the set of real numbers, This refers to the batch size, i.e., how many samples are in this batch. The historical window length for historical time-series data, i.e., the number of sampling steps. This represents the total number of variable channels.
[0075] Among them, the variable channels refer to the parameter channels that affect the denitrification reaction, including perturbation variables, namely inlet nitrogen oxide concentration, raw material feed rate, decomposer outlet temperature, flue gas oxygen content, flue gas flow rate, flue gas temperature, control variables, namely ammonia water injection control command, and target variables, namely outlet nitrogen oxide concentration; historical time series data refers to the numerical sequence of each variable channel over time collected from the SCR denitrification system, containing the changes of each variable channel over time within the previously preset historical window length; preprocessing refers to the transformation operation performed on the historical time series data; standard time series data refers to the data obtained after preprocessing the historical time series data, eliminating dimensional differences and having no missing values.
[0076] S2, obtain the initial control sequence, input the initial control sequence and standard time series data into the preset prediction model, and generate a prediction sequence of the outlet nitrogen oxide concentration corresponding to the initial control sequence in the preset time domain.
[0077] Understandably, an initial control sequence is first initialized, for example, assuming that the ammonia injection rate will remain unchanged for a period of time. Next, this initial control sequence and the standard time-series data obtained in step S1 are fed into a pre-trained prediction model, namely the GraphTimeMixer model, which is a neural network combining graph neural networks and TimeMixer. Within the prediction model, the initial control sequence and standard time-series data are first merged, and the merged data is then processed through the model's channel-independent embedding layer for feature mapping. Based on the model's adaptive time window, the effective window length for each variable channel is calculated according to the current operating data, and multi-channel feature tensors are further obtained. Then, through the model's bi-branch graph structure module, the spatial dependency features between the variable channels of the SCR denitrification system are extracted to obtain a fused feature tensor. The prediction model's TimeMixer module performs multi-scale downsampling and frequency domain analysis on the fused feature tensor to extract trend and seasonal terms at different frequencies. Finally, the prediction model's decoder generates a prediction sequence for the outlet nitrogen oxide concentration within a preset time domain, such as the next 300 seconds, based on the extracted trend and seasonal terms.
[0078] The initial control sequence refers to a pre-set numerical sequence of ammonia injection volume within a predetermined future time domain; the prediction model refers to a pre-set deep neural network model, whose structure includes channel-independent embedding layers, a two-branch adaptive graph structure learning module, an adaptive time window mechanism, and a TimeMixer module; the predetermined time domain refers to the length of time the model needs to predict forward, such as the next 5 minutes. Each time step; the prediction sequence refers to the numerical sequence of outlet nitrogen oxide concentrations corresponding to each time step in the future preset time domain output by the prediction model; the outlet nitrogen oxide concentration refers to the mass concentration of nitrogen oxides contained in the flue gas discharged from the reactor outlet after treatment by the SCR denitrification reactor.
[0079] In some embodiments, step S2 (obtaining the initial control sequence, inputting the initial control sequence and standard time series data into a preset prediction model, and generating a predicted sequence of outlet nitrogen oxide concentration corresponding to the initial control sequence within a preset time domain) includes S21-S23:
[0080] S21, the initial control sequence is merged with the standard time series data of the corresponding variable channel to obtain the merged time series data of the corresponding variable channel. Feature embedding is performed on the merged time series data and the standard time series data to obtain the feature sequence of each variable channel. Multi-channel feature tensors are generated based on the feature sequences.
[0081] Understandably, the control variable channels are processed first, with the initial control sequence appended to the end of the standard timing data for the control variable channels to obtain the merged timing data for the control variable channels. For other disturbance variable channels, their standard timing data remains unchanged. Next, using a channel-independent embedding layer, each channel... The feature sequences of each variable channel are obtained, and a multi-channel feature tensor is generated based on the feature sequences.
[0082] The feature sequence is obtained using the following formula.
[0083]
[0084] in, For the first The characteristic sequence of each channel, For layer normalization operation, For the first The learnable weight vector for each channel, No. The bias term for each channel, For embedded dimensions, For the first Standard timing data for each channel.
[0085] Furthermore, merged time series data refers to the data sequence obtained by concatenating the standard time series data of the control variable channels with the initial control sequence; feature embedding refers to the process of mapping each scalar point in the time series data into a high-dimensional vector through linear projection layers and layer normalization; feature sequence refers to the high-dimensional vector sequence after embedding the merged time series data and the standard time series data; multi-channel feature tensor refers to the data formed by concatenating the feature sequences of all variable channels and adjusting it through an adaptive time window mechanism.
[0086] In some embodiments, step S21 (generating a multi-channel feature tensor based on the feature sequence) includes S211-S214:
[0087] S211, based on the feature sequence, extract the feature vectors of each variable channel at the current time, obtain the time code corresponding to the current time, input the time code of the current time and the feature vectors of each variable channel into a preset first MLP network, and obtain the effective window length corresponding to the current time.
[0088] Understandably, the first step is to iterate through each variable channel. The feature vector corresponding to the current time moment is extracted from the feature sequence of each variable channel. Then take the current moment... The data is converted to the corresponding time code. Then, the current time code and the feature vectors of each variable channel are input into a pre-trained first MLP network. Based on the first MLP network, the current time code and the feature vectors of each variable channel are concatenated, and after linear transformation and activation function processing, a scalar value is output. This scalar value is mapped to the [0,1] interval using the Sigmoid function and combined with the historical window length corresponding to the historical time series data. Perform a linear transformation to obtain the effective window length of each variable channel at the current time. .
[0089] The effective window length at the current moment can be obtained using the following formula.
[0090]
[0091] in, The sigmoid function constrains the output to the interval [0,1], thus mapping the effective window length to... , For the current moment Time encoding, This represents vector concatenation. It is a two-layer feedforward neural network that outputs a single scalar value.
[0092] Specifically, a feature vector refers to a high-dimensional feature vector extracted from a feature sequence that corresponds to the current time step; a time code refers to a vector that expresses the temporal order, such as... The first MLP network refers to a pre-defined lightweight multilayer perceptron, i.e. , is used to output a single scalar value; the effective window length refers to the number of historical time steps that the model determines for the current operating condition.
[0093] Additionally, the length of the historical window The value of covers the maximum lag time that the SCR denitrification system may experience across the entire operating range.
[0094] S212, input the time encoding of the current moment and the feature vectors of each variable channel into the preset second MLP network to obtain the soft attention weights of each time step within the historical window length corresponding to the historical time series data.
[0095] Understandably, referring to step S211, the time encoding of the current moment and the feature vectors of each variable channel are input into the pre-trained second MLP network. Based on the second MLP network, the time encoding of the current moment and the feature vectors of each variable channel are concatenated to obtain an original score vector with a dimension equal to the length of the historical window. The Softmax normalization function is applied to this original score vector to obtain the soft attention weights of each time step within the historical window length corresponding to the historical time series data.
[0096] The soft attention weights are obtained using the following formula.
[0097]
[0098] in, For soft attention weights, For the second MLP network, the output has a dimension of The vector.
[0099] Specifically, the second MLP network refers to a pre-defined lightweight multilayer perceptron, i.e. Its output dimension is consistent with the historical window length; the historical window length refers to the number of historical time steps that the model is allowed to extract; the soft attention weight refers to the normalized probability distribution value of each time step within the historical window length; the time step refers to a specific sampling moment in the historical time series data sequence corresponding to the preset sampling frequency.
[0100] In addition, both the first MLP network and the second MLP network consist of an input layer, several hidden layers and an output layer, and the hidden layers contain non-linear activation functions.
[0101] S213, adjust the feature sequences of each variable channel according to the soft attention weight to obtain the adjusted sequence corresponding to each variable channel, and truncate the adjusted sequence of each variable channel based on the effective window length to obtain the effective sequence.
[0102] It is understandable that, for each variable channel, the feature sequence of the variable channel is multiplied by the corresponding soft attention weight to obtain the adjustment sequence for each variable channel.
[0103] Furthermore, based on the effective window length obtained in step S211, with the current time as the truncation endpoint, the data sequence corresponding to the effective window length is segmented forward from the adjustment sequence, and the data sequence that is retained is the effective sequence of each variable channel.
[0104] The adjusted sequence refers to the sequence after the feature sequence is weighted using soft attention weights; the effective sequence refers to the sequence obtained by truncating the adjusted sequence according to the effective window length.
[0105] S214: Align the valid sequences of each variable channel and concatenate the aligned valid sequences to obtain the multi-channel feature tensor.
[0106] Among them, the multi-channel feature tensor refers to the high-dimensional data obtained by aligning and splicing the effective sequences along the variable channel dimension; the alignment process refers to the processing operation of converting multiple effective sequences of different lengths into sequences of uniform length, which is usually zero-padding or mask alignment for shorter effective sequences.
[0107] It should be noted that if the lengths of the valid sequences are inconsistent due to the truncation operation in step S213, the valid sequences of each variable channel will first be aligned. That is, the shorter valid sequences will usually be zero-padded or masked for alignment. Then, the aligned valid sequences will be concatenated to construct a unified multivariate data structure, namely a multi-channel feature tensor.
[0108] S22, construct a dynamic adjacency matrix based on the multi-channel feature tensor, perform graph convolution operation on the multi-channel feature tensor based on the dynamic adjacency matrix and the preset static adjacency matrix respectively to obtain static feature tensor and dynamic feature tensor, and perform gated fusion on the dynamic feature tensor and static feature tensor to obtain fused feature tensor.
[0109] It is understood that this invention pre-constructs a physical prior adjacency matrix. Its rows and columns correspond to Each variable channel specifically assigns weights to the boundary between the ammonia injection rate control command and the outlet nitrogen oxide concentration. Weights are assigned to the edges from the inlet nitrogen oxide concentration to the outlet nitrogen oxide concentration. Weights are assigned to the edges from flue gas temperature and flue gas flow rate to outlet nitrogen oxide concentration. and Weights are assigned to the edges from raw feed rate to inlet nitrogen oxide concentration. Additionally, construct a data-driven adjacency matrix. .
[0110] Finally, the two are weighted and fused using gating parameters to obtain the static adjacency matrix of the static graph branch.
[0111] The static adjacency matrix can be obtained using the following formula.
[0112]
[0113] in, It is a static adjacency matrix. The physical prior adjacency matrix. For data-driven adjacency matrices, These are the gating parameters.
[0114] In addition, the present invention constructs a dynamic adjacency matrix, performs graph convolution operation on the multi-channel feature tensor using the dynamic adjacency matrix and the static adjacency matrix respectively, extracts the dynamic feature tensor and the static feature tensor, and performs gated fusion on the dynamic feature tensor and the static feature tensor to obtain the fused feature tensor.
[0115] Among them, static feature tensor refers to high-dimensional feature data obtained by performing graph convolution operation on multi-channel feature tensor through a preset static adjacency matrix; dynamic feature tensor refers to high-dimensional feature data obtained by performing graph convolution operation on multi-channel feature tensor through a dynamic adjacency matrix; gating fusion refers to a mechanism that automatically adjusts the mixing ratio of dynamic feature tensor and static feature tensor; fused feature tensor refers to feature tensor generated by weighted combination of static feature tensor and dynamic feature tensor after adaptive adjustment of the ratio through gating mechanism.
[0116] In some embodiments, step S22 (constructing a dynamic adjacency matrix based on the multi-channel feature tensor) includes S221-S222:
[0117] S221, extract the current multi-channel feature tensor at the current time based on the multi-channel feature tensor, and perform a scaling dot product on the current multi-channel feature tensor to obtain the multi-channel attention score.
[0118] Understandably, the current multi-channel feature tensor at the current time step is first extracted from the multi-channel feature tensor. Then, matrix multiplication is used to calculate the dot product of the current multi-channel feature tensor and its transpose matrix, and the result is scaled by a scaling factor to obtain the multi-channel attention score matrix.
[0119] Here, the current multi-channel feature tensor refers to the data extracted from the time dimension of the multi-channel feature tensor, containing only the feature information of all variable channels at the current moment. The scaling dot product refers to the matrix multiplication of the current multichannel feature tensor with its transpose matrix and the division by a scaling factor; the multichannel attention score refers to the unnormalized numerical matrix that reflects the relationship between the channels of each variable.
[0120] S222, normalize and mask the multi-channel attention scores to generate a dynamic adjacency matrix.
[0121] Understandably, the multi-channel attention score matrix is normalized along the row dimension using the Softmax function, and then the diagonal elements of the normalized multi-channel attention score matrix are set to zero using the Mask function to obtain the dynamic adjacency matrix.
[0122] The dynamic adjacency matrix can be obtained using the following formula.
[0123]
[0124] in, It is a dynamic adjacency matrix. This is the current multi-channel feature tensor.
[0125] In addition, a channel-level self-attention mechanism can be introduced into the dynamic branch, enabling each variable channel to retrieve the most relevant moment in the historical window length based on the current state, such as directly focusing on the lag point 30 seconds ago, and fusing the retrieval results with the spatial graph convolutional features.
[0126] Specifically, for each variable channel, a query, key, and value are constructed, with the query vector taken from the embedding at the latest time step: The key and value are composed of an embedding of the history window length: ;
[0127] Subsequently, the temporal self-attention output of this variable channel is calculated using the following formula.
[0128]
[0129] The correlation between the current time step and historical time steps is calculated by dot product, and the weights are normalized using Softmax for weighted summation, thereby dynamically focusing on the time step that is most predictive of the current state.
[0130] in, For query vector, For key vectors, For value vectors, For time-based self-attention output, This is the attention mechanism function.
[0131] Furthermore, the temporal self-attention outputs of all variable channels are concatenated to obtain the global temporal features. ,and The dynamic adjacency matrix and Multiply and add The features are added together. Finally, a learnable linear transformation layer is used for mapping to obtain the dynamic feature tensor. .
[0132] The dynamic feature tensor can be obtained using the following formula:
[0133]
[0134] in, It is a learnable linear mapping.
[0135] S23. Perform multi-scale downsampling and frequency domain analysis on the fused feature tensor to obtain trend terms and seasonal terms at each scale. Based on the trend terms and seasonal terms, generate a predicted sequence of outlet nitrogen oxide concentrations within a preset time domain.
[0136] It should be noted that the outlet nitrogen oxide concentration data of the cement kiln SCR denitrification system has complex time-frequency characteristics. On the one hand, it includes long-term trends caused by changes in raw material feed rate and catalyst activity decay; on the other hand, it includes short-term fluctuations caused by ammonia injection valve regulation cycles or sensor noise. Traditional prediction models often process these signals in the time domain, making the model susceptible to high-frequency noise interference or lagging in tracking long-term trends. This invention uses the TimeMixer module to capture different time features through multi-scale downsampling, and uses frequency domain analysis to decouple concentration changes into easily predictable trend terms and regular seasonal terms, predicts them separately, reconstructs them, and further generates a predicted sequence of outlet nitrogen oxide concentrations within a preset time domain.
[0137] Here, scale refers to different time resolution levels for analyzing time series data; downsampling refers to the process of processing high-resolution data to generate low-resolution data; frequency domain analysis refers to using discrete Fourier transform to convert signals in the time domain into signals in the frequency domain; trend term refers to the low-frequency component reflecting the long-term direction of change in outlet nitrogen oxide concentration; seasonal term refers to the high-frequency component reflecting the fluctuation of outlet nitrogen oxide concentration; preset time domain refers to the time span for prediction extending from the current moment to the future; and predicted sequence refers to the numerical sequence of outlet nitrogen oxide concentrations ultimately output by the model within the preset time domain in the future.
[0138] In some embodiments, step S23 (performing multi-scale downsampling and frequency domain analysis on the fused feature tensor to obtain trend terms and seasonal terms at each scale, and generating a predicted sequence of outlet nitrogen oxide concentrations within a preset time domain based on the trend terms and seasonal terms) includes S231-S234:
[0139] S231, the fused feature tensor is downsampled at multiple scales based on the average pooling operator to obtain the scale components at each scale.
[0140] Understandable, setting Different scale levels, for example For the 0th scale, the fused feature tensor remains unchanged; for subsequent scales... At each scale, the time dimension of the fused feature tensor is compressed using the average pooling operator to obtain the scale components for each scale.
[0141] The scale components are obtained using the following formula.
[0142]
[0143] in, To fuse feature tensors, For the first Scale components of each scale For the average pooling operator, the scale component refers to the feature tensors of different resolutions generated after downsampling.
[0144] S232 applies a discrete Fourier transform to each scale component to determine the trend and seasonal terms at each scale.
[0145] It is not difficult to understand that for each scale component obtained... Apply a discrete Fourier transform to convert it to the frequency domain.
[0146]
[0147] in, These are frequency domain characteristic coefficients; For the first The feature value corresponding to the nth time step in the scale components of each scale; For frequency points, ; For the first Scale components of each scale Time steps; It is a complex exponential function. is the base of the natural logarithm. The imaginary unit, Pi For time steps.
[0148] Next, the amplitudes corresponding to the multiple frequency domain amplitude coefficients are sorted from largest to smallest. The frequency domain characteristic coefficients corresponding to the top K amplitudes are selected, and the trend term and seasonal term are obtained using the following formula.
[0149]
[0150]
[0151] in, For the first Seasonal items at various scales; For the first Trend terms at multiple scales; It is the inverse discrete Fourier transform operator; For indicator functions; The set of frequency points corresponding to the selected frequency coefficients, for example, frequency. Amplitude 100, frequency Amplitude 500, frequency Amplitude 300, assumed to be fixed. When =2, The corresponding set is {1,2}.
[0152] S233, construct the prediction head network corresponding to each scale, and input the trend term and seasonal term corresponding to each scale into the prediction head network to obtain intermediate prediction results.
[0153] Understandably, referring to Figure 2 For each scale, a prediction head network is constructed, and each scale's prediction head network includes a trend prediction head and a seasonal prediction head, which incorporates the trend term. Input the trend forecast header to obtain the future trend forecast sequence, and add the seasonal item. Input the seasonal forecast header to obtain the future seasonal forecast sequence, and add the future trend forecast sequence to the future seasonal forecast sequence to obtain the intermediate forecast result. .
[0154] Among them, the prediction head network refers to a neural network module specifically designed to map historical features into future time series; the trend prediction head refers to a sub-network built on a linear layer or a multilayer perceptron; the seasonal prediction head refers to a sub-network built on a Fourier neural operator or a convolutional network; and the intermediate prediction result refers to the future prediction sequence generated by predicting the trend and seasonal terms at each scale separately and then fusing the prediction results.
[0155] S234. The intermediate prediction results at each scale are weighted and summed to obtain the predicted sequence of the outlet nitrogen oxide concentration in the preset time domain.
[0156] Understandably, the predicted sequence of outlet nitrogen oxide concentrations within a preset time domain can be obtained using the following formula.
[0157]
[0158] in, For the first Intermediate prediction results at various scales For the first Learnable weight parameters at each scale, This is a predicted sequence of nitrogen oxide concentrations at the outlet within a preset time domain.
[0159] S3, input the predicted sequence and the initial control sequence into a preset objective function to obtain the objective function value. If the objective function value does not meet the preset convergence condition, calculate the gradient corresponding to the initial control sequence based on the objective function value, iteratively update the initial control sequence according to the gradient, and adjust the updated initial control sequence based on the control constraints to obtain the current initial control sequence.
[0160] This invention pre-constructs an objective function. At the current moment... Let the length of the preset time domain be... The set value of the outlet nitrogen oxide concentration To achieve the objective, we construct the following weighted quadratic objective function:
[0161]
[0162] in, The objective function value; The time predicted by the prediction model The concentration of nitrogen oxides at the outlet; The step size index is used for prediction, representing the step size relative to the current time. The future One time step; The time weighting coefficient is usually adjusted according to the time weighting coefficient. The increase in decreases; To smooth out the penalty coefficient; For a moment The ammonia injection volume control command. This indicates the change in the amount of ammonia water injected between adjacent time points.
[0163] Understandably, the predicted sequence and the initial control sequence are input into the objective function to obtain the objective function value. This objective function value is then compared with a preset convergence condition. If the objective function value does not meet the preset convergence condition, the gradient of the control action relative to the objective function is determined. Furthermore, this invention also ensures the feasibility of executing control commands through control constraints.
[0164] Here, gradient refers to the vector of partial derivatives of the objective function value with respect to each control command in the initial control sequence, representing the direction in which the objective function value changes the fastest with the control command; control constraints refer to the range of constraints that the actuator's control commands must comply with, including the upper and lower limits of ammonia injection volume and the maximum amplitude of change in ammonia injection volume between adjacent time points; adjusting the updated initial control sequence based on control constraints means that when the control commands in the updated initial control sequence exceed the control constraints, the corresponding control commands are adjusted according to the control constraints; the current initial control sequence refers to the latest control sequence that satisfies the control constraints generated after gradient descent update of the previous round's initial control sequence.
[0165] In some embodiments, step S3 (calculating the gradient corresponding to the initial control sequence based on the objective function value, updating the initial control sequence according to the gradient, and adjusting the updated initial control sequence based on the control constraints to obtain the current initial control sequence) includes S31-S33:
[0166] S31, the objective function value is calculated based on the automatic differentiation algorithm to obtain the gradient corresponding to the initial control sequence.
[0167] Understandably, the gradient of the objective function value with respect to the initial control sequence is calculated using the following formula:
[0168]
[0169] in, The gradient of the objective function value with respect to the initial control sequence. The symbol is for partial differentials. For control sequences, and , For the current moment Control commands, for Timing control commands.
[0170] S32, based on the gradient descent algorithm, the gradient, and the preset learning rate, the initial control sequence is updated to obtain the intermediate control sequence.
[0171] Understandably, the gradient descent algorithm is used to update the initial control sequence, specifically by updating the initial control sequence using the following formula to obtain the intermediate control sequence.
[0172]
[0173] in, This is an intermediate control sequence. For the first The initial control sequence updated in the next iteration. This is the preset learning rate.
[0174] In addition, gradient descent algorithm refers to a first-order iterative optimization algorithm, which is an existing technology; learning rate refers to the step size of each iteration update; intermediate control sequence refers to the control sequence that has been updated based on gradient but has not yet been verified by control constraints.
[0175] S33, Project the intermediate control sequence onto the control constraints, adjust the intermediate control sequence that exceeds the control constraints, and obtain the current initial control sequence.
[0176] It should be noted that the control constraints are preset, i.e. , ,in, This is the lower limit of the ammonia injection rate, i.e., the lower limit of the control command. This represents the upper limit of the ammonia injection volume, i.e., the upper limit of the control command. This represents the maximum variation in ammonia injection rate between adjacent time points.
[0177] In some embodiments, step S33 (adjusting the intermediate control sequence that exceeds the control constraints to obtain the current initial control sequence) includes S331-S333:
[0178] S331, when it is determined that the control command in the intermediate control sequence is less than the lower limit set in the control constraint, the corresponding control command is adjusted to the lower limit.
[0179] Understandably, for adjusting constraints in intermediate control sequences, the control commands in the intermediate control sequence can be compared with the control constraints. If the control command in the intermediate control sequence is lower than the lower limit set in the control constraints, the corresponding control command is adjusted to the lower limit. For example, control commands... Less than At that time, The ammonia injection volume control command is adjusted to .
[0180] Among them, the control command refers to the command in the control sequence corresponding to a certain moment, and each command has a corresponding ammonia injection quantity; the lower limit refers to the minimum control command that the actuator is allowed to execute in the control constraints.
[0181] S332, if it is determined that the control command in the intermediate control sequence is greater than the upper limit set in the control constraint, the corresponding control command is adjusted to the upper limit.
[0182] It's easy to understand that when a control command in an intermediate control sequence exceeds the upper limit set in the control constraints, the corresponding control command is adjusted to the upper limit. For example, the control command... Greater than At that time, The control commands were adjusted to .
[0183] The upper limit refers to the maximum control command that the actuator is allowed to execute, as set in the control constraints.
[0184] S333, when it is determined that the absolute value of the change in the control command at adjacent time points is greater than the maximum change amplitude set in the control constraint, the control command corresponding to the next time point in the adjacent time points is adjusted based on the maximum change amplitude.
[0185] Understandably, when the absolute value of the change in a control command between adjacent time points exceeds the maximum change amplitude set in the control constraints, the control command corresponding to the next adjacent time point is adjusted based on the maximum change amplitude. For example, The time control command is , The time control command is The change in the control command between these two adjacent moments is ,like It is a positive value, and Greater than Then The time control command is adjusted to ,like It is a negative value, and Greater than Then The time control command is adjusted to . Time and The times are adjacent times, and A time point is the next time point in a series of adjacent time points.
[0186] The maximum change amplitude refers to the maximum amplitude value that the control command is allowed to change between adjacent time points, which is a positive value; the next time point refers to the later time point on the time axis when calculating the change in the control command between adjacent time points.
[0187] Furthermore, the aforementioned constraint adjustment of the intermediate control sequence can be achieved using a differentiable constraint projection operator. The initial control sequence is obtained using the following formula:
[0188]
[0189] in, For the first The initial control sequence updated in the next iteration. For the physically feasible region defined by the control constraints, through The control instructions in the intermediate control sequence are constrained within the range of control constraints. The feasible region refers to the range of constraints imposed by the control constraints on the control instructions.
[0190] Furthermore, the process from the initial control sequence in step S2 to the current initial control sequence updated in step S3 is one iteration update. Each time an iteration update is repeated, the number of iteration updates increases by 1.
[0191] S4. Repeat steps S2-S3 until the objective function value meets the preset convergence condition or the initial control sequence reaches the preset maximum number of updates, and obtain the corresponding current initial control sequence as the preferred control sequence.
[0192] It should be noted that the gradient descent algorithm is an iterative process. It requires continuously using the current initial control sequence obtained in step S3 as the initial control sequence in step S2, and thus repeatedly executing the above steps S2-S3 until the objective function value meets the preset convergence condition or the initial control sequence reaches the preset maximum number of updates.
[0193] Among them, the convergence condition refers to the pre-set condition used to determine whether the absolute value of the difference between two adjacent iterations of the objective function value is less than a preset threshold; the maximum number of updates refers to the maximum number of iterations allowed to be performed on the initial control sequence, such as 50 or 100 times; the preferred control sequence refers to the set of current initial control sequences output when either the objective function value satisfies the preset convergence condition or the current initial control sequence reaches the preset maximum number of updates.
[0194] In some embodiments, step S4 (repeating steps S2-S3 until the objective function value satisfies the preset convergence condition or the initial control sequence reaches the preset maximum number of updates, and obtaining the corresponding current initial control sequence as the preferred control sequence) includes S41-S44:
[0195] S41, calculate the absolute value of the difference between the current objective function value and the objective function value obtained in the previous iteration, and use it as the convergence difference.
[0196] It is understandable that as the number of iterations increases, the initial control sequence will gradually approach the optimal solution, and the rate of decrease in the objective function value will gradually decrease.
[0197] Therefore, the absolute value of the difference between the current objective function value and the objective function value obtained in the previous iteration is calculated as the convergence difference.
[0198] Wherein, the currently obtained objective function value refers to the value obtained at the th... In the next iteration, based on the previous iteration, i.e., the [number]th iteration... The objective function value is calculated using the initial control sequence after the next iteration update; the objective function value obtained in the previous iteration refers to the value calculated in the [nth iteration]. In the iteration, according to the The objective function value is calculated from the initial control sequence after the next iteration update.
[0199] It should be noted that during the first iteration, the objective function value obtained in the previous iteration is recorded as 0.
[0200] S42, when the convergence difference is less than the preset error threshold, determine that the currently obtained objective function value satisfies the preset convergence condition, and obtain the corresponding current initial control sequence as the preferred control sequence.
[0201] It is understood that this invention presets an error threshold. When the convergence difference is less than the preset error threshold, the currently obtained objective function value is determined to satisfy the preset convergence condition. At this point, subsequent iterative updates are terminated, and the current initial control sequence is taken as the preferred control sequence. For example, the preset threshold is 0.001, and the... The objective function value calculated using the initial control sequence in the next iteration is 0.5025. Since 0.5025 does not meet the convergence condition, the initial control sequence is updated based on 0.5025 to obtain the current initial control sequence. ; will the first The next iteration generates As the initial control sequence input, the first The iteration, the... The next iteration uses the first The next iteration generates The calculated objective function value is 0.5020. The convergence difference between 0.5020 and 0.5020 is 0.0005. Since 0.0005 is less than 0.001, the iteration loop will terminate at this point. The next iteration generates As a preferred control sequence.
[0202] Among them, the error threshold is a value used to determine whether the objective function value has converged; the preferred control sequence refers to the set of ammonia injection quantity control instructions that are finally determined in the preset time domain when the initial control sequence iterative update process ends.
[0203] S43, count the number of updates corresponding to the current initial control sequence, and use it as the current count.
[0204] It's easy to understand that during the initialization phase of the iterative loop, the counter is reset to zero. Each time step S3 is completed and a current initial control sequence is generated, the counter automatically increments by 1, counting the number of updates corresponding to the current initial control sequence—that is, the real-time value of the counter—as the current count.
[0205] S44, when it is determined that the current number is equal to the preset maximum number of updates, the corresponding current initial control sequence is obtained as the preferred control sequence.
[0206] It's easy to understand that the current update count is compared with the preset maximum update count. If the current update count equals the preset maximum update count, the corresponding current initial control sequence is obtained as the preferred control sequence. For example, if the maximum update count is 50, and the objective function value has not yet met the convergence condition at the end of the 50th iteration, the current initial control sequence obtained in the 50th iteration is directly used as the preferred control sequence.
[0207] The maximum number of updates refers to the maximum number of loop iterations allowed.
[0208] S5, select the first control instruction in the preferred control sequence as the execution instruction.
[0209] It is understood that this invention only adopts the first control instruction in the preferred control sequence, and then performs a new round of prediction and optimization at the next moment. After receiving the execution instruction, the instruction is sent to the actuator to drive the equipment to operate and complete the adjustment of the ammonia injection volume.
[0210] The execution instruction refers to the control value extracted from the preferred control sequence that corresponds only to the execution starting at the current moment.
[0211] In some embodiments, it also includes:
[0212] S6. Obtain multiple predicted values of nitrogen oxide concentration at the outlet within a historical preset time period to obtain a first sequence. Based on the first sequence, retrieve the actual measured values corresponding to the predicted values of nitrogen oxide concentration at the outlet to obtain a second sequence.
[0213] It should be noted that while predictive models typically possess high accuracy upon initial deployment, cement kiln SCR systems are dynamic systems. Over time, the characteristics of various components drift. For example, catalysts may become clogged or lose activity with increased usage, leading to decreased denitrification efficiency; spray nozzles may experience micro-wear, affecting atomization. This results in a gradual discrepancy between calculated predicted values and actual on-site measurements after a period of system operation. If this accumulated deviation is not corrected promptly, control commands will no longer match the current actual operating conditions.
[0214] Understandably, multiple predicted values of nitrogen oxide concentration at the outlet within a preset historical time period are retrieved as the first sequence, and the corresponding actual measured values are retrieved according to the time corresponding to each predicted value in the first sequence and used as the second sequence.
[0215] Among them, the historical preset time period refers to a preset historical time window that has been controlled by execution instructions, such as 5 minutes of the past time period from 10:00 to 10:05; the first sequence refers to the set of predicted values of the outlet nitrogen oxide concentration calculated by the prediction model within the historical preset time period; the second sequence refers to the set of actual measured values of the outlet nitrogen oxide concentration collected by the field sensors within the historical preset time period. The first sequence and the second sequence are one-to-one corresponding in terms of timestamps.
[0216] S7. Calculate the average deviation value within a preset historical time period based on the first sequence and the second sequence, and input the average deviation value into a preset integral regulator to obtain a compensation bias value.
[0217] Understandably, for each time point within a pre-defined historical time period, assuming there are Q time points, the instantaneous deviation is obtained by subtracting the corresponding predicted value from the first sequence from the actual measured value in the second sequence. The Q instantaneous deviations within the pre-defined historical time period are then summed, and the summation is divided by Q to obtain the average deviation value within the pre-defined historical time period. Where Q represents the total number of time nodes sampled within the historical preset time period.
[0218] Furthermore, the calculated average deviation value is input into a preset integral controller. The integral controller iteratively updates based on the compensation bias value of the previous control cycle and the current average deviation value, and obtains the compensation bias value of the current control cycle using the following formula.
[0219]
[0220] in, This is the compensation bias value for the current control cycle. This is the compensation bias value from the previous control cycle. For controlling the index or sequence number of the cycle, The preset integral gain coefficient, This refers to the average deviation value of the current control cycle. The average deviation value is obtained by subtracting the corresponding predicted value from each actual measurement value in the first sequence to obtain multiple instantaneous deviations, and then calculating the arithmetic mean of these instantaneous deviations. The compensation bias value is the bias amount output by the integral controller, used to superimpose and correct the standard time-series data input to the model. The integral controller is a calculation unit that accumulates and iterates the average deviation value, and is existing technology.
[0221] S8, the compensation bias value is superimposed on the standard time series data of the inlet nitrogen oxide concentration within the current preset time period.
[0222] It is understandable that the calculated compensation bias value is used as a global correction and superimposed on the data of each time step in the standard time series data of the inlet nitrogen oxide concentration within the current preset time period.
[0223] The current preset time period is a pre-defined time window that is located after the historical preset time period in terms of timestamps and has not been controlled by execution instructions. It is used to apply compensation bias values. For example, if the historical preset time period is 10:00-10:05, then the current preset time period can be set to 10:06-10:11.
[0224] S9. Use the current preset time period as the historical preset time period and repeat steps S6-S9.
[0225] It is easy to understand that as the control cycle progresses, the current preset time period is used as the historical preset time period. By continuously executing steps S6-S9, the compensation bias value is updated in real time based on the latest historical performance, and the latest input data is corrected.
[0226] See Figure 3 This is a schematic diagram of an adaptive nonlinear model predictive control system for an SCR denitrification system provided in an embodiment of the present invention. The system includes:
[0227] The acquisition module is used to acquire historical time-series data from multiple variable channels within the SCR denitrification system, and to preprocess the historical time-series data to obtain standard time-series data.
[0228] The prediction module is used to acquire the initial control sequence, input the initial control sequence and standard time series data into a preset prediction model, and generate a prediction sequence of the outlet nitrogen oxide concentration corresponding to the initial control sequence in a preset time domain.
[0229] The update module is used to input the predicted sequence and the initial control sequence into a preset objective function to obtain the objective function value. When it is determined that the objective function value does not meet the preset convergence condition, the gradient corresponding to the initial control sequence is calculated based on the objective function value. The initial control sequence is iteratively updated according to the gradient, and the updated initial control sequence is adjusted based on the control constraints to obtain the current initial control sequence.
[0230] The iteration module is used to repeat the above steps S2-S3 until the objective function value meets the preset convergence condition or the initial control sequence reaches the preset maximum number of updates, and obtain the corresponding current initial control sequence as the preferred control sequence.
[0231] The selection module is used to select the first control instruction in the preferred control sequence as the execution instruction.
[0232] See Figure 4 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present invention. The electronic device 40 includes: a processor 41, a memory 42, and a computer program; wherein...
[0233] The memory 42 is used to store the computer program, and the memory may also be flash memory. The computer program is, for example, an application program or functional module that implements the above method.
[0234] The processor 41 is configured to execute the computer program stored in the memory to implement the various steps performed by the device in the above method. For details, please refer to the relevant descriptions in the preceding method embodiments.
[0235] Alternatively, the memory 42 can be either standalone or integrated with the processor 41.
[0236] When the memory 42 is a device independent of the processor 41, the device may further include:
[0237] Bus 43 is used to connect the memory 42 and the processor 41.
[0238] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. An adaptive nonlinear model predictive control method for an SCR denitrification system, characterized in that, include: S1, Collect historical time-series data from multiple variable channels within the SCR denitrification system, preprocess the historical time-series data to obtain standard time-series data; S2, obtain the initial control sequence, input the initial control sequence and standard time series data into the preset prediction model, and generate a prediction sequence of the outlet nitrogen oxide concentration corresponding to the initial control sequence in the preset time domain; S3, input the predicted sequence and the initial control sequence into a preset objective function to obtain the objective function value. If the objective function value does not meet the preset convergence condition, calculate the gradient corresponding to the initial control sequence based on the objective function value, iteratively update the initial control sequence according to the gradient, and adjust the updated initial control sequence based on the control constraints to obtain the current initial control sequence. S4. Repeat steps S2-S3 above until the objective function value meets the preset convergence condition or the initial control sequence reaches the preset maximum number of updates, and obtain the corresponding current initial control sequence as the preferred control sequence. S5, select the first control instruction in the preferred control sequence as the execution instruction.
2. The method according to claim 1, characterized in that, S2 includes: The initial control sequence is merged with the standard time series data of the corresponding variable channel to obtain the merged time series data of the corresponding variable channel. Feature embedding is performed on the merged time series data and the standard time series data to obtain the feature sequence of each variable channel. A multi-channel feature tensor is generated based on the feature sequence. A dynamic adjacency matrix is constructed based on the multi-channel feature tensor. Graph convolution operations are performed on the multi-channel feature tensor based on the dynamic adjacency matrix and the preset static adjacency matrix to obtain static and dynamic feature tensors. Gated fusion is then performed on the dynamic and static feature tensors to obtain a fused feature tensor. Multi-scale downsampling and frequency domain analysis are performed on the fused feature tensor to obtain trend and seasonal terms at each scale. Based on the trend and seasonal terms, a predicted sequence of outlet nitrogen oxide concentrations within a preset time domain is generated.
3. The method according to claim 2, characterized in that, Generating a multi-channel feature tensor based on the feature sequence includes: Based on the feature sequence, extract the feature vectors of each variable channel at the current time, obtain the time code corresponding to the current time, input the time code of the current time and the feature vectors of each variable channel into a preset first MLP network, and obtain the effective window length corresponding to the current time. The current time encoding and the feature vectors of each variable channel are input into a preset second MLP network to obtain the soft attention weights of each time step within the historical window length corresponding to the historical time series data. The feature sequences of each variable channel are adjusted according to the soft attention weights to obtain the adjusted sequences corresponding to each variable channel. The adjusted sequences of each variable channel are then truncated based on the effective window length to obtain the effective sequences. The effective sequences of each variable channel are aligned, and the aligned effective sequences are concatenated to obtain a multi-channel feature tensor.
4. The method according to claim 2, characterized in that, The construction of the dynamic adjacency matrix based on the multi-channel feature tensor includes: The current multi-channel feature tensor is extracted based on the multi-channel feature tensor, and the current multi-channel feature tensor is scaled and dot-producted to obtain the multi-channel attention score. The multi-channel attention scores are normalized and masked to generate a dynamic adjacency matrix.
5. The method according to claim 2, characterized in that, The process involves multi-scale downsampling and frequency domain analysis of the fused feature tensor to obtain trend and seasonal terms at each scale. Based on these trend and seasonal terms, a predicted sequence of outlet nitrogen oxide concentrations within a preset time domain is generated, including: The fused feature tensor is downsampled at multiple scales based on the average pooling operator to obtain the scale components at each scale. Apply discrete Fourier transform to each scale component to determine the trend and seasonal terms at each scale; Construct a prediction head network for each scale, and input the trend term and seasonal term for each scale into the prediction head network to obtain intermediate prediction results; The intermediate prediction results at each scale are weighted and summed to obtain the predicted sequence of outlet nitrogen oxide concentrations within the preset time domain.
6. The method according to claim 1, characterized in that, In step S3, the gradient corresponding to the initial control sequence is calculated based on the objective function value, the initial control sequence is updated according to the gradient, and the updated initial control sequence is adjusted based on the control constraints to obtain the current initial control sequence, including: The objective function value is calculated based on the automatic differentiation algorithm to obtain the gradient corresponding to the initial control sequence; The initial control sequence is updated based on the gradient descent algorithm, the gradient, and the preset learning rate to obtain the intermediate control sequence. The intermediate control sequence is projected onto the control constraints, and the intermediate control sequence that exceeds the control constraints is adjusted to obtain the current initial control sequence.
7. The method according to claim 6, characterized in that, The adjustment of the intermediate control sequence that exceeds the control constraints to obtain the current initial control sequence includes: When it is determined that the control command in the intermediate control sequence is less than the lower limit set in the control constraint, the corresponding control command is adjusted to the lower limit; When it is determined that the control command in the intermediate control sequence is greater than the upper limit set in the control constraint, the corresponding control command is adjusted to the upper limit; When the absolute value of the change in the control command between adjacent time points is greater than the maximum change amplitude set in the control constraints, the control command corresponding to the next time point in the adjacent time points is adjusted based on the maximum change amplitude.
8. The method according to claim 1, characterized in that, The S4 includes: Calculate the absolute value of the difference between the current objective function value and the objective function value obtained in the previous iteration, and use it as the convergence difference. When the convergence difference is less than a preset error threshold, the obtained target function value is determined to meet the preset convergence condition, and the corresponding current initial control sequence is obtained as the preferred control sequence. Count the number of updates corresponding to the current initial control sequence, and use this as the current count; When the current number of updates is equal to the preset maximum number of updates, the corresponding current initial control sequence is obtained as the preferred control sequence.
9. The method according to claim 1, characterized in that, Also includes: S6, obtain multiple predicted values of outlet nitrogen oxide concentration within a historical preset time period to obtain a first sequence, and retrieve the actual measured values corresponding to the predicted values of outlet nitrogen oxide concentration based on the first sequence to obtain a second sequence; S7. Calculate the average deviation value within a preset historical time period based on the first sequence and the second sequence, and input the average deviation value into a preset integral regulator to obtain a compensation bias value. S8, the compensation bias value is superimposed onto the standard time-series data of the inlet nitrogen oxide concentration within the current preset time period; S9. Use the current preset time period as the historical preset time period and repeat steps S6-S9.
10. An adaptive nonlinear model predictive control system for an SCR denitrification system, characterized in that, include: The acquisition module is used to acquire historical time-series data from multiple variable channels within the SCR denitrification system, and to preprocess the historical time-series data to obtain standard time-series data. The prediction module is used to acquire the initial control sequence, input the initial control sequence and standard time series data into a preset prediction model, and generate a prediction sequence of the outlet nitrogen oxide concentration corresponding to the initial control sequence in a preset time domain. The update module is used to input the predicted sequence and the initial control sequence into a preset objective function to obtain the objective function value. When it is determined that the objective function value does not meet the preset convergence condition, the gradient corresponding to the initial control sequence is calculated based on the objective function value. The initial control sequence is iteratively updated according to the gradient, and the updated initial control sequence is adjusted based on the control constraints to obtain the current initial control sequence. The iteration module is used to repeat the above steps S2-S3 until the objective function value meets the preset convergence condition or the initial control sequence reaches the preset maximum number of updates, and obtain the corresponding current initial control sequence as the preferred control sequence. The selection module is used to select the first control instruction in the preferred control sequence as the execution instruction.