## 5 Multi-Objective Optimization Algorithm Based on DL-MOPSO  
A DL-MOPSO algorithm was designed to solve the above uncertain multi-objective optimization problems. The inner loop MOPSO algorithm is used to calculate the interval range of the objective function when the uncertainty vector \(\mathbf{U}\) is changing, while the outer loop MOPSO algorithm is applied for optimization of the above interval. One drawback associated with the heuristic algorithms is that they easily fall into local optimal solutions. In order to address this issue, firstly, the crowding distance and the mutation operator were adopted in the inner and outer MOPSO algorithms to ensure the diversity of non-dominated solutions in the external archives [29]. The uniformly distributed non-dominated solutions enhanced the ability of the algorithm to jump out of a local optimum. Secondly, in the iteration process of particles, excessive exploitation will lead to insufficient convergence and affect optimization accuracy, while excessive exploration will lead to lack of diversity and fall into a local optimum. In the DL-MOPSO algorithm, the velocity and position of each particle was updated using the inertia weight coefficient to achieve both desirable exploitation and exploration performances of the search space [38]. The flow chart of the algorithm is shown in Figure 3.  
The steps of the algorithm are as follows:  
1. Set the number of the swarm particles as 100 for the outer loop MOPSO algorithm, that is, the \(p\)th generation outer swarm is \([\mathbf{X}_{1},\mathbf{X}_{2},\ldots,\mathbf{X}_{100}]\) (the initial value of \(p\) is 1);
2. Select the design vector \(\mathbf{X}_{i}\) (the initial value of \(i\) is 1) in the \(p\)th generation outer swarm and enter into the inner-loop MOPSO algorithm;
3. Set the number of the swarm particles as 150 for the inner loop MOPSO algorithm, that is, the inner swarm is \([\mathbf{U}_{1},\,\mathbf{U}_{2},\ldots,\,\mathbf{U}_{150}]\) for the \(n\)th generation (the initial value of \(n\) is 1);
4. Substituting the uncertainty vector \(\mathbf{U}_{t}\) (the initial value of \(t\) is 1) in the \(n\)th generation inner swarm and the design vector \(\mathbf{X}_{i}\) into Equations (13) and (14), calculate the fitness function of the inner-loop MOPSO algorithm and save its value;
5. If \(t>150\), jump to Step (6); otherwise, \(t=t+1\), jump to Step (4);
6. \(n=n+1\); from the position-updating formula of the inner particles, a new inner swarm is derived: \([\mathbf{U}_{1},\,\mathbf{U}_{2},\ldots,\,\mathbf{U}_{150}]\);
7. If \(n>250\), jump to Step (8); otherwise, jump to Step (3);
8. According to the maximum and minimum values of the fitness function of the inner-loop MOPSO algorithm already saved, output the intervals \(\left\langle f_{1}^{\mathrm{C}}(\mathbf{X}_{i}),f_{1}^{\mathrm{W}}(\mathbf{ X}_{i})\right\rangle\), \(\left\langle f_{2}^{\mathrm{C}}(\mathbf{X}_{i}),f_{2}^{\mathrm{W}}(\mathbf{ X}_{i})\right\rangle\) to the outer-loop MOPSO algorithm for developing the fitness function of the outer MOPSO;
9. Calculate the fitness function of the outer loop MOPSO algorithm via Equations (17) and (18) to update the Pareto solution set in the external archival set of the outer-loop MOPSO algorithm. There are no more than 100 Pareto solutions in the solution set;
10. If \(i>100\), jump to Step (11); otherwise, let \(i=i+1\) and jump to Step (2);
11. \(p=p+1\); get a new outer swarm based on the position-updating formula of the outer particles: \([\mathbf{X}_{1},\,\mathbf{X}_{2},\ldots,\mathbf{X}_{100}]\);
12. If the outer-loop MOPSO algorithm satisfies the convergence condition, jump to Step (13); otherwise, jump to Step (1). When one of the following two conditions is satisfied, it is determined as convergence: I. The maximum number of iterations is achieved. II. After 30 continuous iterations, there is no new Pareto solution saved in the external archive set;(13) Output the front of the Pareto solution set.