# Decision-Maker's Preference-Driven Dynamic Multi-Objective Optimization
## 3 Experimental Setup
### Algorithm Setup
#### 3.1.3 Differential Evolution Algorithm Control Parameters  
The following settings were used for the DE algorithm in this study:  
1. The base algorithm (refer to Algorithm 8) is characterized as DE/best/1/bin. 2. To generate a trial vector from a parent vector during the mutation phase of the algorithm, the best vector in the adjacent hypercube or sub-population of the parent vector is selected as the target vector. The number of hypercubes employed by the algorithm is the same as the number of objective functions in the underlying DMOP. 3. Two randomly selected vectors from the parent vector's hypercube are used to form a difference vector. 4. Binary crossover [42] is used due to its viability as a crossover method in DE algorithms. 5. The scaling factor, \(\beta\), amplifies the effects of the difference vector. It has been shown that a larger \(\beta\) increases the probably of escaping local minima, but can lead to premature convergence. On the other hand, a smaller value results in smaller mutation step sizes slowing down convergence, but facilitating better exploitation of the search space [43; 44]. This leads to a typical choice for \(\beta\) in the range \((0.4,0.95)\)[43; 44]. Therefore, in this study, the algorithm randomly chooses \(\beta\in(0.4,1)\). The recombination probability is \(p_{r}=0.8\), since DE convergence is insensitive to the control parameters [42; 45] and a large value of \(p_{r}\) speeds up convergence [43; 45; 46]. ```
1:procedureOptimizer(P, F, t)
2:\(\triangleright\)\(\beta\): scaling factor set per algorithm
3:\(\triangleright\) p\({}_{r}\): recombination prob set per algorithm
4:\(\triangleright\) maxgen(\(\geq\)1): number of function evaluations set per algorithm
5:\(\triangleright\) F: current population of vectors
6:\(\triangleright\) F: multi-objective function to be optimized
7:\(\triangleright\)\(\triangleright\) current time
8:\(\triangleright\) set the generation counter
9:\(\mathrm{P}_{gen}\leftarrow\mathrm{P}\)\(\triangleright\) initialize current population
10:\(\mathrm{V}\leftarrow\mathrm{O}\)\(\triangleright\) initialize set of vectors
11:whilegen\(\leq\) maxgen do\(\triangleright\) check if stopping condition has been reached
12:whilemoreUnprocessed(\(\mathrm{v}\in\mathrm{P}_{gen}\)) do\(\triangleright\) process all individuals of population
13:\(\mathrm{v}^{{}^{\prime}}\leftarrow\)getTrialVector(\(\beta\), \(\mathrm{v}\), \(\mathrm{P}_{gen}\), \(\mathrm{F}\), t)\(\triangleright\) calculate trial vector
14:\(\mathrm{v}^{{}^{\prime\prime}}\leftarrow\)getChildVector(\(\mathrm{p}_{r}\), \(\mathrm{v}\), \(\mathrm{v}\), \(\mathrm{F}\), t)\(\triangleright\) produce child vector
15:\(\mathrm{V}\leftarrow\mathrm{V}\cup\{\mathrm{v},\mathrm{v}^{{}^{\prime}}\}\)\(\triangleright\) add trial and child vectors to set of vectors
16:\(\mathrm{markAsProcessed(v}\in\mathrm{P}_{gen})\)
17:\(\mathrm{P}_{gen}\leftarrow\)getNextGenerationVectors(\(\mathrm{V}\))\(\triangleright\) produce next generation
18:\(\mathrm{gen}\leftarrow\) gen+1\(\triangleright\) increment counter
19:\(\mathrm{V}\leftarrow\mathrm{O}\)\(\triangleright\) reset set of vectors
20:\(\mathrm{AssignNonDominatedToArchive(P}_{maxgen},\mathrm{F},\mathrm{t}\))\(\triangleright\) add non-dominated solutions to archive
```  
**Algorithm 8** Differential Evolution Algorithm  
The time complexity of the static non-dominated sorting genetic algorithm II (NSGA-II) is \(O(iN^{2})\), where \(i\) is the number of objective functions and \(N\) is the population size [35]. The non-dominated sorting has a time complexity of \(O(iN^{2})\), the crowding distance calculation has a time complexity of \(O(iN\log N)\), and elitist sorting has a time complexity of \(O(iN^{2})\)[35]. The DE algorithm used in this study uses the same non-dominated sorting and elitist sorting as NSGA-II. In addition, the time complexity of adding a solution to the archive is \(O(im)\), where \(m\) is the size of the archive. When a change in the environment occurs, the re-evaluation of the archive has a time complexity of \(O(im^{2})\).