# A Multi-Objective Evolutionary Algorithm Model for Product Form Design Based on Improved SPEA2
## 2 Methods
### Improved Strength Pareto Evolutionary Algorithm 2 (ISPEA2)  
The classical SPEA2 algorithm uses the nearest-neighbor density estimation technique that preserve the diversity of non-inferior solutions, the hybrid selection technique that maintains the evolutionary direction, and the environmental selection technique that retains the Pareto solutions [31]. The proposed ISPEA2 keeps these characteristics of SPEA2, and obtains better convergence and diversity by the ICO, IAMO and MO. Its implementation flow is demonstrated in Figure 3, which consists of seven main steps:  
Step 1: Initialize population \(P_{0}\) and empty archive (external set) \(A_{0}=\varphi\). Set the generation number \(t=0\). Step 2: The neural networks trained by GABP are used to calculate the fitness values of the multi-objective images corresponding to them. The fitness values are then assigned to each individual in \(P_{t}\) and \(A_{t}\). Specifically, each individual in \(P_{t}\) and \(A_{t}\) is first given an intensity value \(St(i)\) according to dominance relation, where \(St(i)\) can be defined as:  
\[St(i)=\left|\left\{\dot{j}\dot{j}\in P_{t}+A_{t}\wedge i>j\right\}\right| \tag{10}\]  
Figure 3: Implementation flow of improved strength Pareto evolutionary algorithm 2 (ISPEA2). where the symbol \(>\) represents the Pareto dominance relation. Then, calculate the raw fitness based on each individual's intensity value, which is given below:  
\[R(i)=\sum_{j\in P_{t}+A_{t}j;p>i}St(i) \tag{11}\]  
Then, calculate the density of the individual to distinguish individuals with the same raw fitness:  
\[D(i)=\frac{1}{\sigma_{i}^{y}+2} \tag{12}\]  
where \(\sigma_{i}^{y}\) denotes the distance from individual \(i\) to the \(\gamma\)th adjacent individual after an ascending order of distance between individual \(i\) and all other individuals. Finally, the fitness of individual \(i\) can be expressed as follows:  
\[F(i)=R(i)+D(i) \tag{13}\]  
Step 3: Identify all non-dominant individuals and copy them from \(P_{t}\) and \(A_{t}\) to \(A_{t+1}\) using an environmental selection technique. If the size of \(A_{t+1}\) exceeds its maximum permitted size, fill \(A_{t+1}\) with the best non-inferior solutions by the truncation operation. Otherwise, fill \(A_{t+1}\) with the dominant individuals in \(P_{t}\) and \(A_{t}\). Step 4: If the stopping criterion is satisfied then use the non-dominated individuals in \(A_{t+1}\) as the final Pareto solution set and terminate. Step 5: Fill the mating pool with a binary tournament selection to replace \(A_{t+1}\). Step 6: Apply the ICO, IAMO and MO to obtain the resulting population \(P_{t+1}\). The calculation process of each operator is as follows:  
(1) Let PC scores vectors \(g_{i}^{t}\) and \(k_{i}^{t}\) be two parent individuals of the \(i\)th generation to be genetically manipulated after the operation of the above steps, and two descendant individuals after the crossover operation through ICO are expressed as  
\[g_{i}^{t+1}=\alpha\times g_{i}^{t}+\beta\times k_{i}^{t} \tag{14}\]  
\[k_{i}^{t+1}=\alpha\times k_{i}^{t}+\beta\times g_{i}^{t}(i=1,2,3,\ldots,\xi) \tag{15}\]  
where \(\alpha\) is the random number with uniform distribution on [-0.5, 1.5], and \(\alpha+\beta=1\); \(\xi\) is the number of PC. (2) Let PC scores vector \(h_{i}^{t}\) be the parent individual of the \(i\)th generation, the descendant individual after the mutation operation through IAMO is expressed as  
\[h_{i}^{t+1}=h_{i}^{t}+ms\times(1-md\times cn/mn)\times rn_{1}\times(ub-lb)(i=1,2,3,\ldots,\xi) \tag{16}\]  
where \(ms\) is the coefficient of mutation scale; \(md\) is the decay rate of mutation; \(cn\) is the current number of iteration; \(mn\) is the maximum number of iterations; \(m_{1}\) is a random number of standard normal distribution; \(ub\) and \(lb\) are the upper and lower limits of the boundary of a gene, respectively.