## 2 Materials and Methods
### Model Development and Implementation  
#### 2.2.1 Adaptive Neuro-Fuzzy Inference System Modeling  
The analysis carried out in this paper uses adaptive neuro-fuzzy system- or ANFIS-based approaches to analyze the ISCCPP's performance. Neuro-fuzzy is actually a hybrid artificial intelligence technique that incorporates artificial neural networks and fuzzy logic. The development of this technique over the years has produced different types of fuzzy logic, including the outstanding adaptive neuro-fuzzy inference system (ANFIS), which was discovered in 1993 by [PERSON]. An ANFIS model borrows the structure and learning capability of the artificial neural network and the decision-making protocol of fuzzy logic [28]. In other words, an ANFIS model is a hybrid method that combines the architecture of a fuzzy inference system with an artificial neural network and provides the solution to a complex non-linear problem. The nodes in the feedforward network are flexible and change with specific parameters of the membership functions associated with fuzzy rules. Usually, an ANFIS model comprises 5 layers, namely the fuzzy layer, product layer, normalized layer, de-fuzzy layer, and the total output layer, as shown in Figure 3. The de-fuzzy layer transforms a fuzzy set into a classical or crisp value. For training, the input and output data are obtained from the parameters of the problem being analyzed, and the ANFIS model presents a fuzzy inference system (FIS) for which the parameters of the membership function are tuned or refined by means of a classic optimization method or a metaheuristic optimization method. The optimization is done in the training step in order to minimize the error function or the difference between the targets or desired values and the output values [8]. A number of training algorithms have been presented in the literature, e.g., backpropagation as part of heuristic methods, evolutionary algorithms like particle swarm optimization (PSO), and genetic algorithm (GA), etc. In the present study, classic methods PSO and GA were tried for training and compared for model performance analysis and assessment. The first layer starts with the incoming signals or inputs x and y, which are transferred to the neurons in Layer 2. The output can then be written using the membership function as:  
\[\mathrm{O}_{\mathrm{i}}^{\mathrm{I}}=\mu_{\mathrm{A_{i}}}(\mathrm{x})\ \ \ \mathrm{or}\ \ \mathrm{O}_{\mathrm{i}}^{\mathrm{I}}=\mu_{\mathrm{B_{i}}}(\mathrm{y}),\mathrm{ i}=1,2 \tag{1}\]  
where i is the node's label, and A\({}_{\mathrm{i}}\) or B\({}_{\mathrm{i}}\) is the linguistic label (small, very small, large, very large, etc.) associated with the membership function. In other words, \(\mathrm{O}_{\mathrm{i}}^{\mathrm{I}}\) is the membership function of A\({}_{\mathrm{i}}\) and B\({}_{\mathrm{i}}\), and it indicates the degree to which the given input, x or y, satisfies the quantifier, A\({}_{\mathrm{i}}\) or B\({}_{\mathrm{i}}\). There are a number of membership function types that can be used: trapezoidal, triangular, bell-shaped, Gaussian, etc. It must be noted that the Gaussian membership function is determined by:  
\[\mu_{\mathrm{A_{i}}}(\mathrm{x})=\exp\left[-\left(\frac{\mathrm{x}-\gamma_{ \mathrm{i}}}{\alpha_{\mathrm{i}}}\right)^{2}\right] \tag{2}\]  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**tamb (\({}^{\circ}\)C)** & **DNI (w/m\({}^{2}\))** & **ma (kg/s)** & **mg (kg/s)** & **mf (kg/s)** & **mHTF (kg/s)** & **Power Output (kW)** \\ \hline
11.0767 & 162.547 & 214 & 219 & 5 & 85.34 & 128,037.2 \\
20.9667 & 749.527 & 201.47 & 205.76 & 4.3 & 85.34 & 116,162.6 \\
24.9233 & 447  
The same can be written for input y.