# 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
### 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
10 Step 1 Initialization:
11(1) population: iterative counter \(\tau\)=0, \(P_{\tau}=\{x^{1},...,x^{n}\}\);
12(2) reference point: \(z(t)=(z_{1}(t),...,z_{m}(t))\);
13 for each\(j=1\)to\(m\)do
14\(z_{j}(t)=\min_{1\leq i\leq N}f_{i}(x^{i}_{j},t)\);
15
16 end
17(3) memory pool: \(M=\phi\);
18
19 Step 2 Decomposition process:
20(1) According to Equation (6), the DMOP is decomposed into \(N\) dynamic scalar optimization subproblems;
21(2) Calculate Euclidean distance between any two weight vectors:
22 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}\)*/;
24 end
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
46
47 end
48
49 end
50 Step 5 Stopping criterion:
51 if\(\tau\geq G\)then stop and output \(P_{\tau}\),
52 otherwise \(\tau=\tau+1\) go to Step3. ```  
**Algorithm 2**The overall framework of 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
15 end for
16(3) memory pool: \(M=\phi\);
17
18 Step 2 Decomposition process:
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
22\(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}}\)*/;
23 end for
24 Step 3 Detect and respond to environmental changes:
25 Detect the environmental changes as Equation (7):
26 if\(\delta(t)>\delta\)then
27 Preserve and output the population \(P_{\tau}\) before environmental change;
28 Apply Algorithm 1 to acquire new population \(P_{\tau}\), and set \(P_{\tau}=P_{\tau}\)
29 endif
30
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\{