# Task Planning of Space-Robot Clusters Based on Modified Differential Evolution Algorithm
## 4 Modified Differential Evolution Algorithm
### Multi-Population Integration Strategy  
In order to solve the problem that differential evolution algorithm is prone to local optimal solution and premature maturity, this study proposes a multi-population differential evolution algorithm. The algorithm splits the initial large population into multiple subpopulations, and each subpopulation is assigned to a mutation strategy, so as to realize parallel exploration among subpopulations, thereby enhancing the global exploration ability of the algorithm. With iteration, the reward subpopulations are assigned to the best performing mutation strategies in previous generations in order to obtain more computing resources and gradually enhance the algorithm's ability to locally explore excellent solutions.  
For population 1, population 2 and population 3, we adopted different strategies, our principle is to select well-researched mutation strategies, and each strategy has its own advantages. The three mutation strategies selected in this paper include \"DE/Rand-to-pbest/1\", \"DE/current-to-RAND/1\" and \"DE/pbad-to-pbest/1\". Among them, \"DE/current-to-pbest/1\" uses multiple excellent individual information to make the algorithm not converge prematurely, and the base vector is randomly selected, so its global search ability is relatively strong; \"DE/current-to-rand/1\" is an arithmetic crossover, which has the characteristics of constant rotation and has advantages in solving the rotation problem; \"DE/pbad-to-pbest/1\" can make use of good solution information and it can utilize the information of the bad solution (pbad) toward the good solution to balance exploration and exploitation. In this paper, the global and local exploration ability of the algorithm is effectively guaranteed by this mechanism. The pseudocode for the multi-population integration strategy is shown in Algorithm 2.  
Figure 1: Schematic diagram of uncrossed strategy.  
```
1. Set up the \(\Delta f_{j}\gets 0\) each \(j\in\{1,2,3,4\}\)
2. Initialize the \(NP\), \(ng\) (Change the reward population per \(ng\) generation)
3. Randomly initialize \(pop\) to randomly distribute it in the search space
4. Initialize the \(\lambda_{j}\) and set up the \(NP_{j}\leftarrow\lambda_{j}\cdot NP\)
5. Set up the \(g\gets 0\) and \(gMax\)
6. **while**\(g<gMax\)do
7. \(g\gets g+1\);
8. **if**\(\text{mod}(g,ng)=0\)
9. \(k\leftarrow\arg(\max\limits_{1\leq j<3}(\Delta f_{j}/(ng\cdot NP_{j})))\)
10. \(\Delta f_{j}\gets 0\)
11. **endif**
12. According to \(NP_{j}\), \(pop\) is randomly divided into \(pop_{1}\), \(pop_{2}\), \(pop_{3}\), \(pop_{4}\)
13. Set up the \(pop_{k}\gets pop_{k}\cup\ pop_{4}\) and \(NP_{k}=NP_{k}+NP_{4}\)
14. **for**\(j\gets 1\) to \(NP_{j}\)
15. **switch**\(j\)
17. case 1: %Perform the first mutation strategy DE/rand-to-pbest/1 in \(pop_{1}\)
18. \(v_{i}^{g+1}\gets x_{i}^{g}+K+\left(x_{best}^{g}-x_{i}^{g}\right)+F\cdot \left(x_{i}^{g}-x_{j}^{g}\right)\), \(i\in\{1,2,\ldots,NP\}\)
19. case 2: %Perform the second mutation strategy DE/current-to-rand/1 in \(pop_{2}\)
20. \(v_{i}^{g+1}\gets x_{i}^{g}+F\cdot\left(x_{i}^{g}-x_{i}^{g}\right)+F\cdot \left(x_{i}^{g}-x_{i}^{g}\right)\), \(i\in\{1,2,\ldots,NP\}\)
21. case 3: %Perform the third mutation strategy DE/pbad-to-pbest/1 in \(pop_{3}\)
22. \(v_{i}^{g+1}\gets x_{i}^{g}+F\cdot\left(x_{best}^{g}-x_{i}^{g}\right)\), \(i\in\{1,2,\ldots,NP\}\)
23. **end switch**
24. Perform crossover operations and boundary condition processing
25. **if**\(f\big{(}X_{i,g}\big{)}<f\big{(}U_{i,g}\big{)}\)
26. \(X_{i,g+1}\gets X_{i,g}\)
27. **else**
28. \(X_{i,g+1}\gets U_{i,g}\), \(\Delta f_{j}\leftarrow\Delta f_{j}+f\big{(}X_{i,g}\big{)}-f\big{(}U_{i,g}\big{)}\)
29. **end if**
30. **end for**
31. \(pop\leftarrow pop_{1}\cup\ pop_{2}\cup\ pop_{3}\)
32. **end while**
```  
**Algorithm 2**Pseudo-code of multi-population integration strategy.