# Investigation of Improved Cooperative Coevolution for Large-Scale Global Optimization Problems +
## 4 Experimental Setup and Results
### Numerical Experiments
#### 4.2.1 Fully Separable Problems  
We will describe features of fully separable optimization problems and how meta-heuristics perform on these problems. \(F_{1}\)-\(F_{3}\) benchmark problems belong to this class.  
**Definition 1**.: _A function \(f(x_{1},x_{2},\ldots,x_{N})\) is fully separable if: \(\underset{(x_{1},x_{2},\ldots,x_{N})}{\text{argminf}(x_{1},x_{2},\ldots,x_{N}) }=\underset{x_{1}}{\text{argminf}(x_{1},x_{2},\ldots,x_{N}),\underset{x_{2}} {\text{argminf}(x_{1},x_{2},\ldots,x_{N}),\ldots,\underset{x_{N}}{\text{argminf }(x_{1},x_{2},\ldots,x_{N})}}}\)._  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Name of Node** & **CPU** & **Cores/Threads** & **Base Clock** & **RAM** \\ \hline Master-PC & Ryzen 1700x & 8/16 & 3.4 GHz & 16 Gb \\ Slave 1-PC & Ryzen 2700 & 8/16 & 3.2 GHz & 8 Gb \\ Slave 2-PC & Ryzen 2700 & 8/16 & 3.2 GHz & 8 Gb \\ Slave 3-PC & Ryzen 2700 & 8/16 & 3.2 GHz & 8 Gb \\ Slave 4-PC & Ryzen PRO 2700 & 8/16 & 3.2 GHz & 8 Gb \\ \hline \hline \end{tabular}
\end{table}
Table 2: Specification of the computational cluster.  
Figure 1: The structure of the computational cluster using MPICH2.  
In other words, we can find the global optimum of a separable problem by optimizing each variable independently from other variables. An example of a fully separable problem is  
\[f(\overline{x})=x_{1}^{2}+x_{2}^{2}+x_{3}^{2}. \tag{5}\]  
We have estimated the performance of CC(m) and iCC on the fully separable problems (\(F_{1}\)-\(F_{3}\)). Figure 2 shows the average ranks of metaheuristics with the different numbers of _pop_size_. Ranks are based on the mean values, which are obtained from 25 independent runs. The lowest mean value gives the highest rank.  
As we can see from Figure 2, the performance of decomposition-based algorithms strongly depends on the number of subcomponents. We can observe this dependence on \(F_{1}\) and \(F_{2}\). For \(F_{3}\), CC(10) demonstrates better results on average. iCC shares third place with CC(8) on all fully separable functions. CC(10) and CC(8) have taken first and second place, respectively.  
Table 3 shows the statistical difference in the results. We use the Wilcoxon rank-sum test (\(p\)-value equals to 0.01) to prove the difference. Each cell in Table 3 has the following values: _\"better/vorse/equal\"_. Table 4 contains the sum of (_better/vorse/equal_) points of all algorithms.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Number** & **Algorithm** & **Win** & **Loss** & **Equal** & **Av. Rank** \\ \hline (5) & CC(10) & 48 & 20 & 7 & 12.6 \\ (4) & CC(8) & 45 & 29 & 1 & 11.2 \\ (3) & CC(4) & 37 & 37 & 1 & 10.4 \\ (6) & iCC & 33 & 35 & 7 & 10.4 \\ (2) & CC(2) & 29 & 45 & 1 & 8.6 \\ (1) & CC(1) & 25 & 49 & 1 & 7.6 \\ \hline \hline \end{tabular}
\end{table}
Table 4: The sum of the Wilcoxon test results.  
Figure 2: Average ranks of algorithms on F1–F3 problems.  
Figure 3 shows convergence graphs for CC(m) and iCC. The dotted vertical lines in convergence graphs (20%, 40%, 60%, and 80% of FEVs) demonstrate generations when iCC changes the number of subcomponents. As we can see, iCC always demonstrates the same performance as CC(10) during the first 20% of FEVs, because iCC starts with 10 subcomponents.