## 2 Methods
### Bb-Ann
All the models (DIRECT-ANN, PSO-ANN, BBO-ANN, MPMR, and ELM) were tuned based on the trial and error method in order to optimize the PPV prediction. The values for tuning parameters of models were selected initially and thereafter varied in trials until the best fitness measures were achieved. As stated in the literature [5; 6; 13], the most important work in ANN modeling is to choose a proper number of neurons in the hidden layer. In this study, different ANN models were constructed using 2-12 hidden neurons of, as shown in Table 2, and according to the results, the best performance (highest R\({}^{2}\)) was for the \(7\times 5\times 1\) architecture (seven inputs, one hidden layer with five neurons and one output layer). Additionally, the sigmoid activation function was used in the ANN modeling. It is worth mentioning that the mentioned architecture was employed in the DIRECT-ANN, PSO-ANN, and BBO-ANN modeling of this study. For the DIRECT-ANN algorithm, the DIRECT uses an initial solution set that is assigned as a qualified n-dimensional vector (set of simplex vertices) between the upper and lower boundaries. DIRECT is driven by a set of operations that depend on the cost function value. The termination condition of this algorithm occurs when the simplex vertices are close enough to each other. Note that the value of the generic iterations and the mesh size were reported to be 1724 and 4096, respectively. The most important work in PSO-ANN modeling is to select the appropriate values for the PSO parameters. By reviewing the literature, it was found that the cognitive acceleration (C1), social acceleration (C2), number of particles, number of iterations, and inertia weight are the most important parameters in PSO-ANN. The first step was to determine the most appropriate values of C1 and C2. For this work, different values of C1 and C2 were tested and their performances were evaluated based on R\({}^{2}\), as shown in Table 3. Note that the values of 1.333, 2.667, 1.5, 2, and 1.75 were selected as the values of C1 and C2 in some studies. Hence, these values were tested in the present study. From Table 3, it can be seen that model number 5 has the best \(R^{2}\), therefore the values of 1.75 and 1.75 are selected as the C1 and C2 values, respectively. In order to select the appropriate value of inertia weight, some previous studies were reviewed. Based on the literature, the value of 0.75 was used as the inertia weight. In this step, the number of particles (swarm size) was determined. For this work, different values for the number of particles were tested and their performances were checked based on \(R^{2}\), as shown in Table 4. According to Table 4, model number 4 with the number of particles = 350 had the best performance. Hence, the value of 350 was selected as the number of particles of this study. In the next step, the number of iterations was determined. In the literature, different values such as 400 and 450 were selected as the number of iterations. To determine the maximum number of iterations of this study, a \(7\times 5\times 1\) structure of ANN, \begin{table}
\begin{tabular}{c c c} \hline \hline \multirow{2}{*}{**Model Architecture**} & \multicolumn{2}{c}{**Network Result**} \\ \cline{2-3}  & \multicolumn{2}{c}{\(R^{2}\)} \\ \cline{2-3}  & **Train** & **Test** \\ \hline \(7\times 2\times 1\) & 0.895 & 0.887 \\ \(7\times 3\times 1\) & 0.915 & 0.914 \\ \(7\times 4\times 1\) & 0.927 & 0.918 \\ \(7\times 5\times 1\) & 0.931 & 0.922 \\ \(7\times 6\times 1\) & 0.927 & 0.913 \\ \(7\times 7\times 1\) & 0.929 & 0.910 \\ \(7\times 8\times 1\) & 0.915 & 0.912 \\ \(7\times 9\times 1\) & 0.918 & 0.901 \\ \(7\times 10\times 1\) & 0.921 & 0.881 \\ \(7\times 11\times 1\) & 0.925 & 0.869 \\ \(7\times 12\times 1\) & 0.930 & 0.854 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Testing the different architectures of ANN with their \(R^{2}\).