# A Two-Stage Multi-Objective Optimization Algorithm for Solving Large-Scale Optimization Problems
## 3 Proposed Algorithm
### Pareto Optimal Subspace Learning  
Algorithm 4 represents the process of Pareto optimal subspace learning. First, the Pareto optimal solution in Q is represented by the matrix \(\text{M}\in\mathbb{R}^{1\,P\,\mid\,\times n}\), and then M is updated to \(\text{M}^{\prime}\) (line 2 and line 3) by calculating the average value of M and subtracting the average value. Then, calculating the eigenvalues \([v_{1},v_{2},\ldots,v_{n}]\) of the \(\text{M}^{\prime}\) covariance matrix (line 4). Then calculate the median of each column in M (line 10) and set the elements in the lower and upper limits of x to the corresponding median. Finally, PoS is generated by sampling all points in the updated upper and lower limits (line 15). ```
Input: pop, Conver, number of chosen solutions CorNum Output:\(subCVs\)
1. set \(subCVs\) as \(\emptyset\);
2. for all the \(\
u\in\text{CV}\) do
3. set CorSet as \(\emptyset\);
4. for all the \(\text{Group}\in\text{subCVs}\)do
5. for all the \(u\in Group\)do
6. flag \(\leftarrow\) False;
7. for\(i=1\): CorNum do
8. Choose an individual p from pop randomly;
9. if \(\
u\) has interaction with u in individual p then
10. flag \(\leftarrow\) True;
11. CorSet = {Group} cupCorSet;
12. Break;
13. end if
14. end for
15. if flag is True then
16. Break;
17. end if
18. end for
19. end for
20. if CorSet = \(\emptyset\) then
21. subCVs = subCVs\(\cup\)[\(\
u\)];
22. else
23. subCVs = subCVs/CorSet;
24. Group \(\leftarrow\) all variables in CorSet and \(\
u\);
25. subCVs = subCVs\(\cup\)[Group];
26. end if
27. end for
```  
**Algorithm 4** Pareto-Optimal Subspace Learning  
### Pareto Optimal Subspace Learning  
Algorithm 4 represents the process of Pareto optimal subspace learning. First, the Pareto optimal solution in Q is represented by the matrix \(\text{M}\in\mathbb{R}^{1\,P\,\mid\,\times n}\), and then M is updated to \(\text{M}^{\prime}\) (line 2 and line 3) by calculating the average value of M and subtracting the average value. Then, calculating the eigenvalues \([v_{1},v_{2},\ldots,v_{n}]\) of the \(\text{M}^{\prime}\) covariance matrix (line 4). Then calculate the median of each column in M (line 10) and set the elements in the lower and upper limits of x to the corresponding median. Finally, PoS is generated by sampling all points in the updated upper and lower limits (line 15). ```
Input: The Pareto-optimal solutions Q, a threshold value \(\varepsilon\), the lower bound
1. 1_limit = \([l_{1},l_{2},\ldots l_{n}]\), the upper bound u_limit = \([u_{1},u_{2},\ldots u_{n}]\). Output: The learned Pareto-optimal subspace \(\Omega\)
2. Let a matrix \(M\in\mathbb{R}^{1\,P\,\mid\,\times n}\) denote the solutions in \(Q\)
3. mean \(\leftarrow\) Calculate the mean values of \(M\);
4. \(M^{\prime}\leftarrow\) Update \(M\) by subtracting mean;
5. \([v_{1},v_{2},\ldots,v_{n}]\leftarrow\) Calculate the eigenvalues of the covariance matrix of \(M^{\prime}\);\([ind_{1},ind_{2},\ldots,ind_{n}]\leftarrow\) Record the positions of the eigenvalues with the descending order;
* \(\text{j}\gets 0\);
* \(\text{While}\sum_{i=1}^{ind_{j}}v_{i}/\sum_{i=1}^{n}v_{i}<\varepsilon\) do
* \(j\gets j+1\);
* \(\text{end}\)
* \(\text{median}\leftarrow\) Calculate the median value of each column in M;
* \(\text{for}\ i\gets j+1\) to \(n\)do
* \(\text{l\_i}\leftarrow\) Copy the \(ind_{i}\) component of median;
* \(\text{u\_i}\leftarrow\) Copy the \(ind_{i}\) component of median;
* \(\text{end}\)
* \(\Omega\leftarrow\) All points in \([\text{l\_limit},\text{u\_limit}]\);
* \(\text{Return}\ \Omega\). ### Maintaining Population Diversity

Algorithm 5 shows the detailed steps to maintain population diversity. First, we can draw the reference line by finding the extreme point, the lowest point, and the ideal point (lines 1-6, 7-12, and 13-15 of the algorithm). When searching for extreme points, each extreme point is obtained by processing the single objective problem in \(\Omega\); the definition is shown in Equation (3):

\[\left\{