## 3 Material and Methods
### Process Parameter Optimization Using the Firefly Algorithm  
The process parameters of our test samples are divided into 25 fixed parameters and five adjustable ones, with the latter modified such that the product attributes meet the requirements. Therefore, we first assigned each adjustable process parameter to the \(i\)-th firefly solution \(x_{i}\), with the structure depicted in Figure 3. Next, we used the FA to search for the optimal solution \(x_{best.}\); first, we initialized \(N\) firefly solutions, \(x_{i},\ i=1,2,\ldots,N\), where each solution was updated using the FA.  
The fixed process parameters were integrated into each firefly solution \(x_{i}\) into the \(X_{i}\). Using the built surrogate model \(\varphi(X)\), the corresponding product quality attributes, \(Y_{k}=\varphi(X_{i})\) for \(k=1\), \(2\), and \(3\), could be calculated. We then defined a fitness function as the brightness of the FA for the purposes of searching for the optimum, as shown in Equation (23).  
\[u(X_{i})=\frac{\left|Y_{i1}-m_{Y_{1}}\right|}{\sigma_{Y_{1}}}+\frac{\left|Y_{i2 }-m_{Y_{2}}\right|}{\sigma_{Y_{2}}}+\frac{\left|Y_{i3}-m_{Y_{3}}\right|}{ \sigma_{Y_{3}}} \tag{22}\]  
\[\mathit{Fitness}(\mu(X_{i}))=1/(1+u(X_{i})) \tag{23}\]  
where the product attributes \(Y_{i1}\), \(Y_{i2}\), and \(Y_{i3}\) are the outputs of the surrogate model \(\varphi(x)\) with \(x\) as its input, and \(m_{Y_{i}}\) and \(\sigma_{Y_{i}}\) are the mean and the standard derivation of the \(i\)-th product attributes of the training data samples.  
The steps of the proposed algorithm are described in detail as follows:  
**Step 1.** Generate the initial solutions and the given hyper-parameters:  
In this step, the initial population of \(N\) solutions is generated, as denoted by \(D=[x_{1},x_{2},\ldots,x_{N}]\), where \(x_{i}=[f_{i2},f_{i4},f_{i6},f_{i8},f_{i9}]\) for the \(i\)-th firefly solution, and the values of \(x_{i}\) are assigned from between \(-1\) and \(1\). This step assigns the parameters of the FA, which are \(\sigma\), \(\beta_{0}\), the MCN, and \(\gamma\). The number of cycles \(l\) is also set to \(0\).  
**Step 2.** Firefly movement:  
Here, each complete process is combined into \(X_{i}\), and its fitness value \(\mathit{Fitness}(\mu(X_{i}))\) is computed as the corresponding brightness of the firefly. For each firefly solution \(x_{i}\), this  
Figure 3: Structure of firefly solution.  
Figure 2: Traditional VGG and simplified VGG models.  
step randomly chooses another brighter solution \(x_{j}\) and then moves toward it, according to the following equations:  
\[r_{ij}=||x_{i}-x_{j}||=\sqrt{\sum_{k=1}^{5}{(x_{ik}-x_{jk})^{2}}} \tag{24}\]  
\[x_{ik}=(1-\beta)x_{ik}+\beta x_{jk}+u_{jk},\ \beta=\beta_{0}e^{-\gamma r_{ij}} \tag{25}\]  
where \(u_{jk}\sim U(0,1)\) is a random number ranged from 0 to 1, and \(x_{ik}\) is the \(k\)-th element of solution \(x_{i}\).  
**Step 3.** Select the current best solution:  
This step will pick the best solution from the solution set and represent it as \(x_{best}\), as described by the following:  
\[x_{best}=Argmax_{x_{i}}\{Fitness(\mu(x_{i}))\} \tag{26}\]  
**Step 4.** Check the termination criterion:  
If the cycle number \(l\) is equal to the MCN, the algorithm is finished and will output the best solution \(x_{best}\). Otherwise, \(l\) increases by one and the best solution \(x_{best}\) will randomly walk its position according to Equation (13). It will then return to Step 2 and repeat the process, as described by:  
\[x_{best,k}=x_{best,k}+u_{k},\ k=1,\ 2,\ldots,5 \tag{27}\]  
where \(u_{k}\) is a random number ranged from 0 to 1.  
Without a loss of generality, the PSO and ABC algorithms are also used to search for optimal parameters in a similar manner as the FA.