## 3 Multi-Objective OPP Model
### Solution Methodology Based on NSGA-III  
The above model describes a nonlinear, multi-objective optimization problem. Multi-objective problems usually have a series of solutions, which are called non-dominated solution sets. A model with two objective functions can be solved by the non-dominated sorting genetic algorithm II (NSGA-II). However, if NSGA-II is used to solve the model with three or more objective functions, the non-uniform distribution of the Pareto solution at the non-dominated level makes it easy to fall into local optimization. Therefore, the NSGA-III is used to solve this problem.  
NSGA-III and NSGA-II have a similar algorithmic framework. However, NSGA-III uses a method based on reference points to choose individuals, which is distinguished from NSGA-II.  
The process of NSGA-III includes nondominated sorting, the determination of reference points, the adaptive normalization of individuals, association to reference points and niche-preservation operations. The calculation method can be found in Refs. [27; 28; 29]. The key step is the determination of reference points. The calculation method in this paper is as follows:  
The number of reference points that are generated depends on the number of objective functions \(l\) and on another positive integer \(H\), which can be defined as:  
\[\sum\limits_{i=1}^{l}y_{i}=H,y_{i}\in\{0,1,2,\ldots H\},\,\,i=1,2,\cdots,l, \tag{24}\]  
where the number of objective functions \(l\) is 3.  
The number of solutions \(N_{x}\) of Equation (24) is calculated as:  
\[N_{x}=\left(\begin{array}{c}H+l-1\\ l-1\end{array}\right). \tag{25}\]  
Assuming that \(Y_{j}=\left(y_{j,1},y_{j,2},\cdots,y_{j,l}\right)^{\rm T}\) is the \(j\)-th solution of Equation (24), the reference point \(\lambda_{j,k}\) can be obtained as:  
\[\lambda_{j,k}=\frac{y_{j,k}}{H},\,\,k=1,2,\cdots,l. \tag{26}\]NSGA-III can obtain the Pareto optimal solution set, which can make at least one target better without deteriorating any target. We cannot find a better solution outside the Pareto solution set. A scheme can be selected according to our requirements. For example, when two objectives have certain requirements, the third objective is the best and can be directly derived from the solution set.  
Then, TOPSIS is applied to select the compromise solution. The standardized decision matrix can be obtained by referring to Ref. [30]. The ideal solution can be obtained by calculating the maximum value of each decision matrix column. The distances from each individual to the positive and negative ideal solutions are calculated according to Equation (27). The ideality is calculated according to Equation (28) for all Pareto optimal solutions. Finally, the Pareto solution with the largest ideality is selected as the compromise optimal solution.  
\[d_{i}^{+}=\|\mathbf{z}_{i}-\mathbf{Y}^{+}\|d_{i}^{-}=\|\mathbf{z}_{i}-\mathbf{Y}^{-}\|\;i=1, \;2,\;\cdots,\;Q, \tag{27}\]  
\[D_{i}=\frac{d_{i}^{-}}{d_{i}^{+}+d_{i}^{-}}\;i=1,\;2,\;\cdots,\;Q, \tag{28}\]  
where \(d_{i}^{+}\) and \(d_{i}^{-}\) are the distances from the \(i\)-th Pareto optimal solution to the positive and negative ideal solutions \(\mathbf{Y}^{+}\) and \(\mathbf{Y}^{-}\), respectively and \(\mathbf{z}_{i}\) is the \(i\)-th Pareto optimal solution. \(D_{i}\) is the ideality of the \(i\)-th Pareto optimal solution.