# A Hybrid Strategy Improved SPEA2 Algorithm for Multi-Objective Web Service Composition
## 6 Conclusions  
### Contributions of Our Work  
For RQ1, a greedy search strategy was adopted to select all request-related services and initialize the optimized population. During each evaluation process, the algorithm was iteratively applied to ensure the fulfillment of input-output dependency constraints. The SBX and PM algorithms of SPEA2 were replaced with double-point crossover and random length mutation. Thus, SPEA2 extended its capabilities from handling continuous problems to being able to tackle discrete combinatorial problems.  
Regarding RQ2, increasing the archive size commonly improved the algorithm's final performance for both small and large datasets, albeit at the cost of increased processing time. It is noteworthy that the processing time was longest with worst results when the archive size was too small, as the algorithm quickly converged to local optima due to the small archive size.  
For RQ3, MSPEA2+ enhanced the overall performance of the SPEA2 algorithm through father-child merging, neighborhood crossover, and preference crossover. The selection of parent-child generation merges the current and previous generations to ensure the overall fitness improvement of the population during processing. Thus, even if the algorithm fails to find enough combinations satisfying the constraints in the current iteration, the overall diversity of the population can still be preserved. Neighborhood crossover enhances the iteration efficiency, enabling the algorithm to approximate the Pareto frontiers of combinations in a shorter time. Preference crossover is a crucial part of MSPEA2+, as it preserves the characteristics of some excellent QoS attributes in the combination solution, creating better distribution while increasing iteration efficiency. as discussed in Section 5.4, the iteration efficiency and final convergence of IGD obtained with MSPEA2+ was significantly superior to NSGA2, SPEA2, and SPEA2+.  
\begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline
**Method** \(\backslash\)**Task** & **0801** & **0802** & **0803** & **0804** & **0805** & **0806** & **0807** & **0808** \\ \hline MSPEA2+ & 2.82 & 0.85 & 35.56 & 1.63 & 44.48 & 352.8 & 219.36 & 206.32 \\ NSGA2 & 2.71 & 1.18 & 36.73 & 1.59 & 41.47 & 387.4 & 213.80 & 209.15 \\ SPEA2+ & 2.88 & 0.86 & 37.32 & 1.65 & 45.62 & 357.6 & 203.35 & 197.90 \\ SPEA2 & 2.87 & 0.87 & 37.53 & 1.56 & 45.62 & 349.3 & 210.86 & 195.63 \\ \hline \hline \end{tabular}
\end{table}
Table 4: Mean execution time for WSC-08 tasks (in s for each iteration).  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Task/Method** & **MSPEA2+** & **NSGA2** & **SPEA2+** & **SPEA2** \\ \hline
0801 & 0.001262 & 0.002450 & 0.003449 & 0.003957 \\
0802 & 0.001771 & 0.003377 & 0.005384 & 0.004716 \\
0803 & 0.000101 & 0.000289 & 0.000526 & 0.000561 \\
0804 & 0.000921 & 0.003363 & 0.004302 & 0.004287 \\
0805 & 0.000647 & 0.003731 & 0.001097 & 0.003540 \\
0806 & 0.000182 & 0.003470 & 0.000764 & 0.000294 \\
0807 & 0.000617 & 0.002081 & 0.000346 & 0.000740 \\
0808 & 0.000264 & 0.002820 & 0.000671 & 0.002817 \\ \hline \hline \end{tabular}
\end{table}
Table 3: Mean IGD for WSC-08 tasks (the green number represent optimal results).