## 2 Problem Statement
### RBFNN-Based Process Identification  
To overcome the drawbacks of conventional PID controllers in controlling CSTRs, an adaptive nonlinear PID (NPID) control strategy is proposed. This approach utilizes a more accurate CSTR model, implemented through a radial basis function neural network (RBFNN). The RBFNN provides online estimates of the output's sensitivity to control inputs, allowing for dynamic adjustments of the NPID controller's gains. System identification using an RBFNN involves developing a network model that accurately reflects the behavior of the CSTR based on observed I/O data. The following series-parallel model is adopted for identification:  
\[y(k+1)=f(y(k),\ldots,y(k-n_{y}),u(k),\ldots u(k-n_{u})), \tag{5}\]  
where \(f\): \(\Re^{n}\rightarrow\Re\) is a nonlinear function, \(y\) and \(u\) are the output and input of the process, respectively, \(n_{u}\) and \(n_{y}\) are the number of past input and past output samples required for model prediction, and \(k\) is the discrete time instance.  
RBFNNs are well known for their robustness to nonlinearities, making them suitable for this application. RBFNNs with a two-layer architecture, a specialized type of neural networks (NN), are well suited for tasks like function approximation and time-series forecasting, offering fast training and universal approximation capabilities [34; 35]. The input layer receives data and passes it to the hidden layer, which employs radial basis functions (RBFs) as activation functions. Each RBF neuron is characterized by a center and a width. The output layer generates the final output. RBFNNs are trained efficiently in two stages, outperforming traditional backpropagation networks in terms of speed. They possess the ability to approximate any continuous function to any desired level of accuracy and are adept at interpolating data points effectively. The theoretical foundation of RBFNNs supports their capacity to approximate any continuous function with arbitrary precision. Figure 4 shows the structure of an RBFNN, which comprises three layers.  
When an input vector \(p=[p_{1},p_{2},\ldots,p_{n}]^{T}\in\Re^{n}\) is applied at the input side, each RBF in the hidden layer is activated. Let the RBF vector be \(h=[h_{1},h_{2},\ldots,h_{j},\ldots,h_{m}]^{T}\in\Re^{m}\), where \(h_{j}\) is a Gaussian function given by  
\[h_{j}=exp\big{[}-\frac{(p-\epsilon_{j})^{T}(p-\epsilon_{j})}{2h_{j}^{2}}\big{]} \;(j=1,2,\ldots,m), \tag{6}\]  
where \(n\) is the number of inputs and \(m\) is the number of neurons. The center vector at node \(j\) is \(c_{j}=[c_{j1},c_{j2},\ldots,c_{jn}]^{T}\in\Re^{n}\) and the width \(b_{j}\) (\(>0\)) is the radial parameter of node  
Figure 3: Output responses of CSTR.  
. Assuming that the weight vector of the network is \(W=[w_{1},w_{2},\ldots,w_{m}]^{T}\in\Re^{m}\), the network output is calculated by  
\[y_{N}(k)=W^{T}h=\sum_{j=1}^{m}w_{j}\text{exp}[-\frac{(\mathbf{p}-\mathbf{c}_{j})^{T}(\mathbf{ p}-\mathbf{c}_{j})}{2b_{j}^{2}}]. \tag{7}\]  
A performance index criterion is defined for the given RBFNN during a training epoch as  
\[E(k)=\frac{1}{2}[y(k)-y_{N}(k)]^{2}, \tag{8}\]  
where \(y(k)\) is the desired output of the process and \(y_{N}(k)\) is the network output. The input is fed into the RBFNN model. The network's output is then compared to the actual system's output, and the difference between the two is calculated. Then, the weight, center, and width of the RBFNN are updated as follows: