**2.5. Differential Evolution (DE)**

The initial population evolves in each generation with the use of three operators: mutation, crossover and selection. Depending on the form of these operators several DE variants or strategies exist in the literature [14, 23]. The choice of the best DE strategy depends on problem type [24]. In SaDE the following four strategies are used for trial vector generation. These include *DE/rand/1bin*, *DE/rand-to-best/2/bin*, *DE/rand/2/bin*, and *DE/current-to-rand/1* [25]. In these strategies a mutant vector *v*¯ *<sup>G</sup>*+1,*<sup>i</sup>* for each target vector *x*¯ *<sup>G</sup>*,*<sup>i</sup>* is computed by:

1 2 3 1 2 3 4 1 2 3 4 5 1 , , , , 123 1 , , , , , , , , 1234 1 ,, , , , , / /1/ ( ), / /2/ ( ) ( ) ( ), / /2/ ( )( ) *G i Gr Gr Gr G i Gi G best G i Gr Gr Gr Gr G i Gr Gr Gr Gr Gr DE rand bin v x Fx x r r r DE rand to best bin v x Fx x Fx x Fx x r r r r DE rand bin v x Fx x Fx x* + + + = + - ¹¹ - - = + - + - + - ¹¹¹ =+ - + - 1 2 3 12345 1 , , , , , , 123 , / /1/ ( ) ( ), *G i Gi Gr Gi Gr Gr rrrrr DE current to rand bin v x Kx x Fx x r r r* <sup>+</sup> ¹¹¹¹ - - = + - + - ¹¹ (12)

where *r*1, *r*2, *r*3, *r*4, *r*5 are randomly chosen indices from the population, which are different from index *i*, *F* is a mutation control parameter, *K* a coefficient responsible for the level of recombination that occurs between *x*¯ *<sup>G</sup>*,*<sup>i</sup>* and *x*¯ *<sup>G</sup>*,*r*<sup>1</sup> . After mutation, the crossover operator is applied to generate a trial vector *u*¯ *<sup>G</sup>*+1,*<sup>i</sup>* =(*uG*+1,1*<sup>i</sup>* , *uG*+1,2*<sup>i</sup>* , ...*uG*+1, *ji* , ....., *uG*+1,*Di* ) whose coordi‐ nates are given by:

$$\mu\_{\boldsymbol{\omega}\_{\mathcal{C}+1,\boldsymbol{\beta}}} = \begin{cases} \boldsymbol{\upsilon}\_{\boldsymbol{\varepsilon}\_{\mathcal{C}+1,\boldsymbol{\beta}},\boldsymbol{\varepsilon}} & \text{if } rand\_{\boldsymbol{\beta}(\boldsymbol{0},\boldsymbol{i})} \le CR \text{ or } \text{j-rm(i)}\\ \boldsymbol{\upsilon}\_{\boldsymbol{\varepsilon}\_{\mathcal{C}+1,\boldsymbol{\beta}},\boldsymbol{\varepsilon}} & \text{if } rand\_{\boldsymbol{\beta}(\boldsymbol{0},\boldsymbol{i})} \succeq \text{CR and j} \ne rm(\boldsymbol{i}) \end{cases} \tag{13}$$

where *j* =1, 2, ......, *D*, *rand j* 0,1) is a number from a uniform random distribution from the interval [0,1), rn(i) a randomly chosen index from (1, 2, ......, *D*), and *CR* the crossover constant from the interval [0,1]. DE uses a greedy selection operator, which for minimization problems is defined by:

$$
\overline{\mathfrak{X}}\_{\mathcal{C}\ast1,l} = \begin{cases}
\overline{\mathfrak{u}}\_{\mathcal{C}\ast1,l'} & \text{if } f(\overline{\mathfrak{u}}\_{\mathcal{C}\ast1,l}) < f(\overline{\mathfrak{x}}\_{\mathcal{C},l}) \\
\overline{\mathfrak{x}}\_{\mathcal{C},l'} & \text{otherwise}
\end{cases} \tag{14}
$$

where *<sup>f</sup>* (*u*¯ *<sup>G</sup>*+1,*<sup>i</sup>* ), *<sup>f</sup>* (*x*¯ *<sup>G</sup>*,*<sup>i</sup>* ) are the fitness values of the trial and the old vector respectively. Therefore, the newly found trial vector *u*¯ *<sup>G</sup>*+1,*<sup>i</sup>* replaces the old vector *x*¯ *<sup>G</sup>*,*<sup>i</sup>* only when it produces a lower objective-function value than the old one. Otherwise, the old vector remains in the next generation. The stopping criterion for the DE is usually the generation number or the number of objective-function evaluations.

#### **2.6. Self-Adaptive DE (SADE)**

where *x <sup>j</sup>*,*L* and *x <sup>j</sup>*,*U* are the lower and upper bounds of the jth dimension respectively and

Ant colony optimization (ACO) [6, 12, 22] is a meta-heuristic inspired by the ants' foraging behavior. At the core of this behavior is the indirect communication between the ants by means of chemical pheromone trails, which enables them to find short paths between their nest and food sources. Ants can sense pheromone. When they decide path to follow a path, they tend to choose the ones with strong pheromone intensities way back to the nest or to the food source. Therefore, shorter paths would accumulate more pheromone than longer ones. This feature of real ant colonies is exploited in ACO algorithms in order to solve combinatorial optimization

The initial population evolves in each generation with the use of three operators: mutation, crossover and selection. Depending on the form of these operators several DE variants or strategies exist in the literature [14, 23]. The choice of the best DE strategy depends on problem type [24]. In SaDE the following four strategies are used for trial vector generation. These include *DE/rand/1bin*, *DE/rand-to-best/2/bin*, *DE/rand/2/bin*, and *DE/current-to-rand/1* [25]. In

for each target vector *x*¯ *<sup>G</sup>*,*<sup>i</sup>*

1 2 3 4

,

where *r*1, *r*2, *r*3, *r*4, *r*5 are randomly chosen indices from the population, which are different from index *i*, *F* is a mutation control parameter, *K* a coefficient responsible for the level of

> , if or j=rn(i) , if > and j rn(i)

£

and *x*¯ *<sup>G</sup>*,*r*<sup>1</sup>

1, [0,1)

*v rand CR*

*G ji j*

+

+

*G ji j*

1, [0,1)

*x rand CR*

12345

*rrrrr*

, *uG*+1,2*<sup>i</sup>*

¹

, ...*uG*+1, *ji*

¹¹¹¹

1 , , , , , , , , 1234

= + - + - + - ¹¹¹

( ) ( ) ( ),

*v x Fx x Fx x Fx x r r r r*

is computed by:

. After mutation, the crossover operator is

, ....., *uG*+1,*Di*

(12)

(13)

) whose coordi‐

is a uniformly distributed random number within (0,1).

*rand <sup>j</sup>*(0,1)

**2.4. Ant colony optimization**

6 Contemporary Issues in Wireless Communications

problems considered to be NP-Hard.

these strategies a mutant vector *v*¯ *<sup>G</sup>*+1,*<sup>i</sup>*

+

+

+

recombination that occurs between *x*¯ *<sup>G</sup>*,*<sup>i</sup>*

nates are given by:

applied to generate a trial vector *u*¯ *<sup>G</sup>*+1,*<sup>i</sup>* =(*uG*+1,1*<sup>i</sup>*

1,

=

ìï í ïî

*G ji*

+

*u*

/ /1/

*DE rand bin*

/ /2/

*DE rand bin*

1 2 3

/ /2/

*DE rand to best bin*

*G i Gr Gr Gr*


1 , , , , 123

*v x Fx x r r r*

( ),

= + - ¹¹

1 2 3 4 5

( )( )

1 2 3

1 , , , , , , 123

= + - + - ¹¹

*v x Kx x Fx x r r r* <sup>+</sup>

*G i Gi G best G i Gr Gr Gr Gr*

1 ,, , , , ,

( ) ( ), *G i Gi Gr Gi Gr Gr*

*G i Gr Gr Gr Gr Gr*

=+ - + -

*v x Fx x Fx x*

/ /1/

*DE current to rand bin*


**2.5. Differential Evolution (DE)**

In the SaDE algorithm both the trial vector generation strategies and the control parameters are self-adapted according to previous learning experiences. SaDE maintains a strategy candidate pool, consisting of the four strategies given in (2). Each strategy is assigned a certain probability. The sum of all probabilities is equal to one. These probabilities are initialized with a value of 0.25 and gradually adapted during evolution. The probability of applying the *mth* strategy is *pm*, *m*=1, 2, ......, *M* , where *M* is the total number of strategies. At generation *G*, the number of successful trial vectors generated by the *m-th* strategy is denoted as *nsm*,*G*, while the number of trial vectors that fail to replace the old vectors in the next generation is *n f <sup>m</sup>*,*G*. An additional parameter called the learning period (LP) is introduced in [17]. This corresponds to the number of the previous generations that store the success and fail statistics. After LP generations, the probabilities of selecting different strategies are updated according to:

$$\begin{aligned} p\_{m,G} &= \frac{\mathcal{S}\_{m,G}}{\sum\_{m=1}^{M} \mathcal{S}\_{m,G}}\\ \text{where} \\ \mathcal{S}\_{m,G} &= \frac{\sum\_{g=G-LP}^{G-1} m s\_{m,g}}{\sum\_{g=G-LP}^{G-1} m s\_{m,g} + \sum\_{g=G-LP}^{G-1} m f\_{m,g}} + \mathcal{E} \end{aligned} \tag{15}$$

where *Sm*,*G* is the success rate of the trial vectors generated by the *m-th* strategy within the previous LP generation and *ε* is a constant set equal to 0.01 to avoid possible null success rates. Therefore, according to (5) strategies with high success rates have higher probability to be applied at the current generation.

The control parameters are self-adapted in the following way. The mutation control parameter *F* is approximated by a normal distribution with mean value 0.5 and standard deviation 0.3, that is *N* (0.5, 0.3). The parameter *K* is a random number in the interval [0, 1] generated by a uniform distribution. The crossover rate control parameter *CR* used by the *m-th* strategy is also approximated by a normal distribution with mean value *CRm* and standard deviation 0.1, that is *N* (*CRm*, 0.1). The initial value of *CRm* is 0.5 for all strategies. The values of crossover rates that have successfully generated trial vectors in the previous LP generations are stored in a crossover rate memory for each strategy *CRmmemory* that is an array of size LP. At each gener‐ ation, the median value stored in memory for the *m-th* strategy *CRmmedian* is calculated and the *CR* values generated are given by a normal distribution with mean value *CRmmedian* and standard deviation 0.1. That way the crossover values are evolved at each generation to follow the successful values found. The authors in [17] suggest a value between 20 and 60 for the parameter LP. The sensitivity analysis performed in [17] for the LP parameter showed it had no significant impact on SaDE performance. More details about the SaDE algorithm can be found in [17].
