## 4 Proposed Algorithm
### Main Framework of the Proposed Algorithm  
The main framework of the proposed ZS-MMBSO is shown in Algorithm 1. Line 1 is the search space segmentation strategy which is used to divide the decision space. For each subspace, a population POP is randomly initialized (line 3). Line 5 is the judgment of the algorithm termination criterion. In Line 6, the K-means clustering is performed on the population POP. For each cluster, the non-dominated_scd_sort method [23] is employed in lines 7 to 9. The non-dominated individuals in \(k\)-th cluster \(C_{k}\) are stored in \(ND_{k}\), and the optimal individual is stored in the cluster center archive CA. In lines 10 to 12, it is a certain probability that a cluster center will be replaced by a new individual. The probability parameter is the same as the original BSO [25]. In lines 13 to 17, offspring individuals are generated by the novel individual generation strategy in Section 4.2. The individuals in the offspring population and the population _POP_ are sorted by the non-dominated_scd_sort method (line 18). The top N individuals are selected for the next iteration. If the stopping criterion is not met, the procedures in Lines 5-19 will be run iteratively. Otherwise, the non-dominated individuals in each subspace \(S_{d}\) are recorded as \(PS_{d}\) and \(PF_{d}\) in line 20. At last, the final PS and PF are selected. ``` Input: the number of subspaces: w; maximum number of iterations: T; the number of the cluster: K; cluster center archive: CA; the archive of the individuals in the k-th cluster: CK; the archive of the non-dominated individuals in the k-th cluster: NDk; the number of the individuals in CK: \(|\)CK\(|\)
1: Search space segmentation via Section 4.1. 2: for each subspace Sd in S1, S2,..., Sw do
3: Initialize the population POP. 4: t = 1
5: if t < T then
6: Use the K-means method to divide POP into K subpopulations. 7: for k = 1 \(\rightarrow\) K do
8: The non-dominated_scd_sort method is used to sort individuals in the k-th cluster Ck. The non-dominated individuals of CK are stored in NDk and the optimal individual in the CK is stored in CA. 9: end for
10: if rand < 0.2 then
11: Randomly select an individual from the CA, and it is replaced by the new individual, which is randomly generated within the search space. 12: end if
13: for k = 1 \(\rightarrow\) K do
14: for l = 1 \(\rightarrow\)\(|\)CK\(|\) do
15: Generate offspring individuals via a novel individual genera-tion strategy in Section 4.2. 16: end for
17: end for
18: Perform the non-dominated_scd_sort method to choose the population for next iteration. 19: end if
20: Record the non-dominated individuals in Sd as PSd and PFd. 21: end for
22: PS = Selection (PS1\(\cup\)PS2\(\cup\)... \(\cup\)PSw) and PF = Selection (PF1\(\cup\)PF2\(\cup\)... \(\cup\)PFw). Output: PS and PF

## 5 Experimental Results and Analyses

To evaluate the performance of the ZS-MMBSO, it is compared with five famous MMOEAs, which are the SMPSO_MM [12], the MMGPE [37], the MMODE_CSCD [6], the MMODE_ICD [38], and the ZS-MO_Ring_PSO_SCD [13]. The IEEE CEC2019 [22] MMOPs benchmark suite is employed to assess the performance of these comparison algorithms. Additionally, the experimental results are analyzed by [PERSON]'s rank sum test [39] and [PERSON]'s test [40], and the significance level is set to be 0.05. \"+\", \"-\" and \"=\" indicate that the ZS-MMBSO is better, worse, or similar to the comparison algorithm. ### Experimental Settings

The parameter settings of the selected MMOEAs are recommended by their original references [6; 12; 13; 37; 38]. For all compared algorithms, the maximum number of function evaluations and the population size are set to 80,000 and 800, respectively. All algorithms are implemented by using MATLAB (R2021a) and run independently for 20 times on each test problem. Additionally, some parameter settings of the ZS-MMBSO are as follows: \(F\) is set to 0.5 to scale the difference vectors; the pre-set probability parameter \(p_{1}\) is equal to 0.8; the number of clusters in K-means clustering is set to 20.