# Task Planning of Space-Robot Clusters Based on Modified Differential Evolution Algorithm
## 2 Theory Background
### Basic Differential Evolution Algorithm  
The differential evolution algorithm (DE) is an efficient evolutionary optimization technology, first proposed by [PERSON] and [PERSON] [33]. DE is a direct-search method based on population. In this section, we will briefly explain the working process of DE.  
Step 1: Initialization  
DE algorithm has a population composed of individual vectors with \(NP\) dimensions of \(D\), where each individual is represented as: \(x_{i}^{g}=\left\{x_{i,1}^{g},x_{i,2}^{g},\cdots,x_{i,j}^{g},\cdots,x_{i,D}^{g }\right\}\), \(i=1,2,\cdots,NP\), \(g\) expressed evolutionary algebra. Set the lower limit of the parameter variable is \(X_{min}=\left\{x_{min,1},\cdots,x_{min,D}\right\}\) and the upper limit is \(X_{max}=\left\{x_{max,1},\cdots,x_{max,D}\right\}\).  
\[x_{i,j}^{0}=rand(0,1)\cdot\left(x_{max,j}-x_{min,j}\right)+x_{min,j},\ j=1,2, \cdots,D \tag{1}\]  
Among them, \(rand(0,1)\) represents the generation of uniform random Numbers between \([0,1]\).  
Step 2: Variation  
According to several different mutation strategies commonly used in the literature, the following operations are performed for each target vector \(x_{i}^{g}(i=1,2,\cdots,NP)\):  
1. DE/rand/1  
\[v_{i}^{g+1}=x_{r1}^{g}+F\cdot\left(x_{r2}^{g}-x_{r3}^{g}\right) \tag{2}\]
2. DE/rand/2  
\[v_{i}^{g+1}=x_{r5}^{g}+F\cdot\left(x_{r1}^{g}-x_{r2}^{g}\right)+F\cdot\left(x _{r3}^{g}-x_{r4}^{g}\right) \tag{3}\]2. DE/best/1 \[v_{i}^{g+1}=x_{best}^{g}+F\cdot\left(x_{r1}^{g}-x_{r2}^{g}\right)\] (4)
4. DE/best/2 \[v_{i}^{g+1}=x_{best}^{g}+F\cdot\left(x_{r1}^{g}-x_{r2}^{g}\right)+F\cdot\left(x _{r3}^{g}-x_{r4}^{g}\right)\] (5)
5. DE/current-to-best/1 \[v_{i}^{g+1}=x_{i}^{g}+F\cdot\left(x_{best}^{g}-x_{i}^{g}\right)+F\cdot\left(x _{r1}^{g}-x_{r2}^{g}\right)\] (6)  
In the formula: \(v_{i}^{g+1}\) represents the \(i^{\prime}th\) individual in the population obtained after mutation, the randomly selected sequence \(r1,\ r2,\ r3,\ r4,\ r5\) and the target vector sequence \(i\) are different from each other, \(x_{best}^{g}\) is the best performing individual in the \(g\) generation. \(F\) is the mutation operator, which controls the amplification of the deviation vector.  
Step 3: Cross  
In order to increase the diversity of interference vectors, crossover operation is introduced, and the test vector is:  
\[u_{i}^{g+1}=\left(u_{i,1}^{g},u_{i,2}^{g},\cdots,u_{i,j}^{g},\cdots,u_{i,D}^{g }\right) \tag{7}\]  
\[u_{i,j}^{g+1}=\begin{cases}u_{i,j}^{g+1}&if\ (\ rand(0,1)\leq CR)\ or\ j=j_{rand}\\ x_{i,j}^{g+1}&otherwise\end{cases} \tag{8}\]  
Among them, \(rand(0,1)\) is the random number between \([0,1]\), \(CR\) is the crossover factor, which is a constant within the range of \([0,1]\); the larger the value of \(CR\), the greater the possibility of crossover; \(j_{rand}\) is an integer randomly selected within the range of \([1,D]\), which can ensure that the experimental individual \(u_{i}^{g+1}\) obtains at least one element from the mutant individual \(v_{i}^{g+1}\).  
Step 4: Select  
By calculating the fitness of the experimental vector, and then through the selection mechanism of greedy thought, the original population and the experimental population are compared one-to-one, and the next generation is selected to ensure that the next generation is better than the previous generation.