## 3 Novel Approach to Computing Infill Criteria for MOEGO
### A Brief Description of the Monte Carlo Approach
A global genetic algorithm (GA) is selected to be used in constructing Kriging surrogate models (see step 2) and searching the optimal updating location (in step 4) for the objectives of them are both functions (see Equations (6) and (15)), which are easy for GA optimizers; for details about GA, we refer to [6]. The stopping criterion in step 6 is limited by the maximum number of FEs. The algorithm presented has been programed to be different modules with Fortran language. The performance of the algorithm presented will be demonstrated and analyzed through comparison with the traditional EGO algorithm, which will be mainly addressed in the next section. Figure 5: Thread hierarchy designed for GPU-based MCHVI indicator. ## 4 Numerical Tests and Analysis

In order to have a view of performance, seven representative mathematical functions with different properties appeared in the literature [16; 38; 44] are carefully selected to validate the present algorithm. For the sake of convenience, the definitions of the selected functions are listed in the Appendix A. All the tests are carried out on a personal computer with the Intel Core i9-9900k CPU (8 cores) and GTX-1066 GPU. The code is developed in CUDA Fortran, and the operating system is Windows 10. The first function (ZDT1) is used in Section 4.1 to investigate the speedup effect of the number of Monte Carlo sample points. In Section 4.2, all test functions are then used to validate the present GMOEGO algorithm in comparison with the optimizers listed in Table 1. In the following sections, the size of the initial EGO sample points is set as \(n_{s}=6\times d-1\), and all optimizations are carried out under the limited maximum number of FEs. In the present work, \(n_{FEs}\leq 200\) is assigned to be the stop criterion used in step 6 of Algorithm 4. The speedup ratio \(SUR\) of the total computation cost between the two algorithms is defined as

\[SUR=\frac{T_{GMOEGO}}{T_{MOEGO}} \tag{16}\]

where \(T_{MOEGO}\) is the total computational cost of the reference MOEGO algorithm, which is parallelized on the platform of Intel Core i9-9900k CPU with 8 cores, and \(T_{GMOEGO}\) is the total computational cost of the present GMOEGO algorithm, which is run on the GTX-1066 GPU platform. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
\begin{tabular}{c} **Number of Monte Carlo** \\ **Sample Points** \\ \end{tabular} & **Algorithm** & **Total Cost (Hours)** & **MCHVI Cost (Hours)** & **SUR of Total Cost (Times)** \\ \hline \(1\times 10^{2}\) & MOEGO & 0.239 & 0.001 & & \\ \(1\times 10^{3}\) & GMOEGO & 0.261 & 0.018 & 0.916 \\ \hline \(1\times 10^{3}\) & MOEGO & 0.253 & 0.010 & & \\ \(1\times 10^{4}\) & GMOEGO & 0.275 & 0.032 & 0.920 \\ \hline \(1\times 10^{4}\) & MOEGO & 0.403 & 0.169 & & 1.404 \\ \(1\times 10^{5}\) & GMOEGO & 0.287 & 0.051 & & \\ \(1\times 10^{5}\) & MOEGO & 2.146 & 1.893 & & 5.896 \\ \(1\times 10^{6}\) & GMOEGO & 0.364 & 0.124 & & \\ \(1\times 10^{6}\) & MOEGO & 28.081 & 27.830 & & 12.575 \\ \(1\times 10^{7}\) & GMOEGO & 2.233 & 1.986 & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Test results of the speedup ratio of ZDT1. In order to assess the performance of the GMOEGO algorithm, the Inverted Generational Distance (IGD) metric [45] is used in the numerical tests in this section. The IGD metric can be mathematically expressed as

\[\mathrm{IGD}(P^{*},P)=\frac{\sum_{v\in P^{*}}d(v,P)}{|P^{*}|} \tag{17}\]

in which \(P^{*}\) is usually a set of \(n\) points uniformly distributed on the theoretical Pareto front, while \(P\) is the optimized Pareto front. \(d(v,P)\) is the minimum Euclidean distance between \(v\) and the points in \(P\), and \(|P^{*}|\) represents the number of points in \(P^{*}\). It can be seen that a low value of \(\mathrm{IGD}(P^{*},P)\), means the optimized \(P\) is very close to the theoretical Pareto front \(P^{*}\). This is desired by designers. ### Analysis of GPU Speedup Effect

As mentioned above, the computational cost of the MCHVI calculation on the CPU is very time consuming (the most consuming part).