# Memory-Enhanced Dynamic Multi-Objective Evolutionary Algorithm Based on \(L_{p}\) Decomposition
## 3 Memory-Enhanced Dynamic Multi-Objective Evolutionary Algorithm Based on \(L_{p}\) Decomposition
\begin{array}{ll}g_{j}&if(rand(j)\leq CR)\\ x_{j}&otherwise\end{array} \right.\)\(j=1,2,...,n\);
35 if\(y=(y_{1},y_{2},...,y_{n})\) does not satisfy the constraints, then\(y\leftarrow\) repair\((y)\);
36 if\(F(y,t)<F(x^{i},t)\)then\(F(x^{i},t)=F(y,t)\);
37 For each\(j=1\)to\(m\)do
38 if\(z_{j}(t)<f_{j}(y,t)\)then\(z_{j}(t)=f_{j}(y,t)\);
39 end if
40 For each\(j\in B(i)\)do
41 if\(g^{L_{p}}(y,t|\lambda^{i},z(t))<g^{L_{p}}(x^{i},t|\lambda^{i},z(t))\)then
42\(x^{i}=y\);
43\(FV^{j}(t)=F(y,t)\);
44 end if
45
46 end if
47
48
49 end for
50
510 Step 5 Stopping criterion:
52 if\(\tau\geq G\)then stop and output \(P_{\tau}\),
53 otherwise \(\tau=\tau+1\) go to Step3. ```  
**Algorithm 3**The dMOEA/D-\(L_{p}\)  
### Detailed Description of dMOEA/D-\(L_{p}\) and Its Time Complexity Analysis  
Based on what we have discussed above, a detailed description of dMOEA/D-\(L_{p}\) can be concluded in Algorithm 2. ```
1 Input:
2 DMOP; Stop criterion;
3\(N\): The number of uniformly distributed weight vectors;
4\(T\): The number of neighbors;
5\(\tau_{T}\): Frequency of environmental change;
6\(n_{T}\): Severity of environmental change. 7 Output:
8 Population \(P_{\tau}\);
9 Step 1 Initialization:
10(1) population: iterative counter \(\tau\)=0, \(P_{\tau}=\{x^{1},...,x^{n}\}\);
11(2) reference point: \(z(t)=(z_{1}(t),...,z_{m}(t))\);
12 for each\(j=1\)to\(m\)do
13\(z_{j}(t)=\min_{1\leq i\leq N}f_{i}(x^{i}_{j},t)\);
14 end for
15(3) memory pool: \(M=\phi\);
16
17 Step 2 Decomposition process:
18
19(1) According to Equation (6), the DMOP is decomposed into \(N\) dynamic scalar optimization subproblems;
20(2) Calculate Euclidean distance between any two weight vectors:
21 for each\(i=1\)to\(N\)do
23\(B(i)=\{i_{1},...,i_{T}\}\), \(/^{*}(\lambda^{i_{1}},...,\lambda^{i_{T}})\) are the \(T\) nearest weight vectors to the weight vector \(\lambda^{i_{1}}\)*/;
24 end for
25 Step 3 Detect and respond to environmental changes:
26 Detect the environmental changes as Equation (7):
27 if\(\delta(t)>\delta\)then
28 Preserve and output the population \(P_{\tau}\) before environmental change;
29 Apply Algorithm 1 to acquire new population \(P_{\tau}\), and set \(P_{\tau}=P_{\tau}\)
30 endif
31 Step 4 Update of subproblems:
32 For each\(i=1\)to\(N\)do
33\(y\gets x^{i}+F(x^{i},x^{i})\)/* \(k\) and \(l\) are randomly selected from \(B(i)\)*/
34\(y_{j}\leftarrow\left\{ \begin{array}{ll}g_{j}&if(rand(j)\leq CR)\\ x_{j}&otherwise\end{array} \right.\)\(j=1,2,...,n\);
35 if\(y=(y_{1},y_{2},...,y_{n})\) does not satisfy the constraints, then\(y\leftarrow\) repair\((y)\);
36 if\(F(y,t)<F(x^{i},t)\)then\(F(x^{i},t)=F(y,t)\);
37 For each\(j=1\)to\(m\)do
38 if\(z_{j}(t)<f_{j}(y,t)\)then\(z_{j}(t)=f_{j}(y,t)\);
39 end if
40 For each\(j\in B(i)\)do
41 if\(g^{L_{p}}(y,t|\lambda^{i},z(t))<g^{L_{p}}(x^{i},t|\lambda^{i},z(t))\)then
42\(x^{i}=y\);
43\(FV^{j}(t)=F(y,t)\);
44 endif
45 end if
46
47 end if
48
49 end
50 Step 5 StopThe time cost of dMOEA/D-\(L_{p}\) is mainly focused on two steps: first detect and respond to environmental change, then optimize the sub-problems. 1. Detection and response steps: the time complexity of the detection operation is \(O(K)\), \(K\) is the number of individuals used in Formula (7), and the time complexity of responding environment change (i.e., calling SBM) is \(O(N)\). Because \(K<N\), the time complexity of this step is \(O(N)\). 2. The evolutionary optimization step of subproblems: because \(N\) subproblems are involved, and the neighborhood size of each subproblem is \(T\), the time complexity of this step is \(O(mNT)\), where \(m\) is the number of objectives. Comprehensively analyzing the above two steps, the time complexity of dMOEA/D-\(L_{p}\) is \(O(mNT)\), which is the same as of MOEA/D [23]. ## 4 Experiments

In order to solve dynamic multi-objective optimization problems well, we propose dMOEA/D-\(L_{p}\) in this paper.