## 5 MADPSO Method Design
### Algorithm Design
#### 5.2.7. TOPSIS Operator  
In practical multi-objective optimization problems such as SACOP, the ideal Pareto front is usually unknown, so conventional metrics such as Inverted Generational Distance (IGD) cannot be used to evaluate the convergence and diversity of algorithms. Furthermore, from the perspective of decision support, it is necessary to find a method to select a small number of suitable solutions from many individuals in the Pareto solution. For the above two considerations, this paper proposes a reference point-assisted convergence judgment and multi-objective decision support method based on the TOPSIS, which we refer to as the TOPSIS operator. TOPSIS is one of the widely used multi-objective decision methods [37]. In the MADPSO method, TOPSIS is employed to normalize the three fitness functions into decision indicators. By ranking the individuals according to the decision indicator, the optimal individual from each generation population can be identified as an assisted reference point. Using the decision indicator of the assisted reference point as the assisted-reference fitness value, an assisted-reference evolution curve is then plotted, which aids in verifying the convergence of the INSGA-III of MADPSO. Moreover, the TOPSIS operator can be utilized to select several optimal decision solutions from the Pareto front, assisting the decision makers in making the final pallet-picking scheme decision. The main process of the TOPSIS operator is as follows:  
* Step 1: First, the solution set is transformed into the evaluation matrix \(\mathbf{A}\) according to Equation (24), where \(F_{i}(\mathbf{I_{i}})\) represents the \(i\)-th fitness function value of the \(j\)-th individual. \[\mathbf{A}= \begin{bmatrix}F_{1}(\mathbf{I_{1}})&F_{2}(\mathbf{I_{1}})&F_{3}( \mathbf{I_{1}})\\ F_{1}(\mathbf{I_{2}})&F_{2}(\mathbf{I_{2}})&F_{3}(\mathbf{I_{2}})\\ \ldots&\ldots&\ldots\\ F_{1}(\mathbf{Size_{p}})&F_{2}(\mathbf{Size_{p}})&F_{3}(\mathbf{Size_{p}}) \end{bmatrix} \] (24)
* Step 2: Then, the normalization is completed according to Equations (25) and (26), and the evaluation matrix \(\mathbf{A}\) is transformed into the normalized evaluation matrix \(\mathbf{B}\), where \(Size_{p}\) is the number of individuals. The purpose of this step is to eliminate the dimensional difference between the three fitness functions. \[z_{l_{ij}}=\frac{F_{j}(\mathbf{I_{i}})}{\sqrt{\sum_{i=1}^{Size_{p}}F_{j}( \mathbf{I_{i}})^{2}}},\ j=1,2,3\] (25)  
Figure 13. Associate standardized individuals to reference points. \[\textbf{B}=\left[ \begin{array}{ccc}z_{l_{11}}&z_{l_{12}}&z_{l_{13}}\\ z_{l_{21}}&z_{l_{22}}&z_{l_{23}}\\ \cdots&\cdots&\cdots\\ z_{l_{Sig_{2}p1}}&z_{l_{Sig_{2}p2}}&z_{l_{Sig_{2}p3}}\end{array} \right] \tag{26}\]
* Step 3: After that, the relative weight vector \([w_{1},w_{2},w_{3}]\) of three objective functions is determined, and the columns of matrix **B** are multiplied by the weight coefficients to transform the matrix **B** into a modified evaluation matrix **C**, as shown in Equations (27) and (28). \[z_{l_{ij}}^{\prime}=w_{j}\cdot z_{l_{ij}}\] (27) \[\textbf{C}=\left[ \begin{array}{ccc}z_{l_{11}}^{\prime}&z_{l_{12}}^{\prime}&z _{l_{13}}^{\prime}\\ z_{l_{21}}^{\prime}&z_{l_{22}}^{\prime}&z_{l_{23}}^{\prime}\\ \cdots&\cdots&\cdots\\ z_{l_{Sig_{2}p1}}^{\prime}&z_{l_{Sig_{2}p2}}^{\prime}&z_{l_{Sig_{2}p3}}^{ \prime}\end{array} \right]\] (28)
* Step 4: Finally, the decision indicators are calculated as Equations (29)-(31), and all individuals are sorted according to their decision indicators after that.