# SFDE: Shuffled Frog-Leaping Differential Evolution and Its Application on Cognitive Radio Throughput

Authors: Hongbo Wang; Xiaoxiao Zhen; Xuyan Tu
Journal: Wireless Communications and Mobile Computing
 (2019)

---

## Abstract

Differential Evolution (abbreviation for DE) is showing many advantages in solving optimization problems, such as fast convergence, strong robustness, and so on. However, when DE faces a complex target space, the diversity of its population will degenerate in a small scope; even sometimes it is premature to fall into the local minimum. All things contend in beauty in the world; a Shuffled Frog Leaping Algorithm (abbreviation for SFLA) has a strong global ability; unfortunately, its convergence speed is also slow. In order to overcome the shortcoming, this article suggests a Shuffled Frog-leaping Differential Evolution (abbreviation for SFDE) algorithm in a cognitive radio network, which combines Differential Evolution with Shuffled Frog Leaping Algorithm. This proposed method hikes its local searching for a certain number of subgroups, and their individuals join together and share their mutual information among different subgroups, which improves the population diversity and achieves the purpose of fast global search during the whole Differential Evolution. The SFDE is examined by 20 well-known numerical benchmark functions, and those obtained results are compared with four other related algorithms. The experimental simulation in solving the problem of effective throughput optimization for cognitive users shows that the proposed SFDE is effective.


---

## Body

## 1. Introduction

The convergence of the basic Differential Evolution (abbreviation for DE) is closely related to its control parameters. Many researchers have worked on improving its performance in various ways and developed many variants. In [1], a method of Self-adaptive Differential Evolution algorithm with discrete mutation control parameters (DMPSADE) is proposed. In DMPSADE, each vector has its own mutation, cross parameters, and control strategies. Those original unified control parameters and mutation strategies are divided into each individual, so that the evolutionary granularity becomes smaller and the performance improves. In [2], a fuzzy system is introduced to dynamically adaptive control parameters to improve DE. An improved DE named ADE is proposed in [3], where the author suggests DE with two-level parameter adaptation. The first level of control parametersFP andCRP is used to control the global optimization ability, and the second level of control parametersFi andCRi corresponds with each individual to improve the local search of the algorithm. The main characteristic of DE is its mutation strategy. Price and Storn proposed more than ten different differential strategies to implement mutation operation such asDE/rand/1/bin,DE/rand/2/bin,DE/best/1/bin,DE/rand-to-best/bin, and so on. Among them,DE/rand/1/bin andDE/best/2/bin are the most widely used and most successful differential strategies. The former can maintain the diversity of the population, and the latter pays more attention to the speed of its convergence.Reference [4] introduces a fitness Euclidean-distance ratio for multimodal optimization. In [5], a novel mutation strategy, namedelite/rand/1, which divides a whole population into two subpopulations on the basis of the fitness and then extracts the maximum information from an elite individual. MDE in [6] includes three new steps: Opposition-Based Learning (OBL), tournament method for mutation, and a single population structure. A parameter adaptive selection can dynamically evaluate their performance during evolution and guide the direction of its development in the next iteration process [7]. Based on the abstract convex theory, a dynamic adaptive differential evolution algorithm (DADE) is proposed in [8]. Shuffled Frog Leaping Algorithm (SFLA) is proposed in [9], which is inspired by the individuals learning from each other during the foraging behaviour of frogs. In [10], a multiphase hybrid algorithm implements a local depth search using SFLA for every cluster and readjusts its global solutions. An improved hybrid bifurcation algorithm based on cloud model is proposed in [11], which focuses on the transformation between qualitative and quantitative computing. Reference [12] proposed crossing and variation frog leaping algorithm (KSFLA), where the individuals of the subpopulations vary from the ranking list before producing new individuals instead of the poor ones. Reference [13] proposed a Self-adaptive Differential Evolution algorithm with Improved Mutation Mode (IMMSADE), which improves the mutation model of DE and introduces some new control parameters.Based on the above discussion, SFLA has slow the convergence, low efficiency, and precision in the high dimension continuous optimization problems, in that its core strategy is to continuously update the location of the worst individual. But DE does not do anything with the worst individual. A hybrid algorithm based on frog leaping algorithm and Differential Evolution is suggested in this article, which combines the advantages of SFLA and DE, in order to obtain a significant performance on convergence speed and the accuracy.The rest of this paper is organized as follows. In order to ensure the readability, the related mathematics description of Differential Evolution and Shuffled Frog Leaping Algorithm is summarized in Section2. Section 3 formally defines models of an improvement in a Shuffled Frog-leaping Differential Evolutionary algorithm (SFDE). Section 4 designs the comparative experiments of well-known public benchmark functions and analyses the relatedT-test andF-test results for proof of the effective SFDE. The analysis of convergence in SFDE is described in detail in Section 4. Simulation experiments on the problem of effective throughput optimization for cognitive users are given in Section 5. Section 6 concludes this article with a summary and future direction.


## 2. The Related Work

### 2.1. About Differential Evolution

DE is a random search based on population and also a heuristic swarm intelligence algorithm. It mainly uses mutation, crossover, and selection operations to perform an intelligent evolutionary search. DE has five operations, which are described as follows.(  1) Initialization Operation. Initializing a population randomly in the search space, thej-th parameter of thei-th individual in the0-th generation is initialized by formula (1):(1)xj,i0=xj,iLow+rand0,1·xj,iUp-xj,iLow,In formula (1),xUp andxLow are the upper and lower boundary of thej-th parameter of thei-th individual, respectively. rand(0,1) denotes a random number, which is limited between 0 to 1.(  2) Mutation Operation. In DE, the most common in mutation operations isDE/rand/1,which selects two individuals at random in a population. Then the vectors are combined with the target vector for mutating into an intermediate vector vi(g). The process can be expressed as follows in formula (2):(2)vig=xr1g+F·xr2g-xr3gObviously, the smaller the difference between xr2(g) and xr3(g) is, the smaller the difference between xr1(g) and vi(g) is. This means that, in the initial stage, the disturbances are large because of the far distance between individuals, and the search range of the algorithm is large. But in the later period of the iteration, the detective range will be a shrink. Several common mutation strategies are shown in the following formulas (3), (4), and (5):①
DE/rand/2(3)vig=xr1g+Fxr2g-xr3g+Fxr4g-xr5g②
DE/current-to-best/1(4)vig=xig+Fxbestg-xig+Fxr1g-xr2g③
DE/best/1(5)vig=xbestg+Fxr2g-xr3gAmong them, the subscript variables r1, r2, r3, r4, and r5 represent different individuals and xbestg represents the optimal vector in the g-th generation.(  3) Correcting Operation. After the mutation operation, the algorithm must ensure that each component (gene) of the intermediate vector satisfies the predefined boundary constraints. If a component (gene) of an intermediate vector exceeds the scope, the vector individual must be corrected. The following formula (6) is a simple but most frequently used correction strategy:(6)vig=min⁡xj,iUp,2xj,iLow-vig,ifvig<xj,iLowmax⁡xj,iLow,2xj,iUp-vig,ifvig>xj,iUp.(  4) Crossover. Crossover is to mixture the xj,ig and vj,ig in the g-th generation, producing test vectors. The process can be expressed as follows in formula (7):(7)uj,ig=vj,ig,ifrand0,1≤CRorj=jrandxj,ig,otherwiseIn formula (7),CRis the cross probability and jrand is a random integer of [1,2…D].(  5) Selecting Operation. By comparing the function values of the target vectors in the test function fxig with the test function values of the corresponding test vectors fuig, which is determined whether the test vectors can be put into the next generation or not, the standard Differential Evolution algorithm employs a greedy algorithm for the selection operation. The process can be expressed as follows in formula (8):(8)xig+1=uig,iffuig≤fxigxig,otherwise.


### 2.2. Shuffled Frog Leaping Algorithm

Suppose that there areN frogs in then-dimensional space catching their food. The basic Shuffled Frog Leaping Algorithm sorts all the individuals in descending order according to the fitness of the objective function and then puts the first frog individual into the first group, the second frog individual into the second group, and so forth. The first m frogs entry own group in order, respectively; thus each group contains a frog. Beginning with the m+1st frog, the remaining frogs join their own group according to the rule of Round Robin (namely,Mod m).In each group,Xi=(xi1,xi2,…,xin) represents the current position of the i-th frog. pbesti=min(pbesti1,pbesti2,…,pbestio) is the optimal location in the i-th group, called the local optimal position. pworsti=max(pworsti1,pworsti2,…,pworstiM) is the worst in the i-th group, called the local worst position.LetfX be a minimal objective function, and use formula (9) to calculate the local optimal frog location for the i-th group.(9)pbestit+1=pbestit,iffXit+1≥fpbestitXit+1,iffXit+1<fpbestitAssume that the number of the frogs is N, and it is divided into m groups according to the grouping operator. The optimal position gbest(t) for each group is the global optimal location, as shown in formula (10).(10)gbestt=minfpbest1t,fpbest2t,…,fpbestmtAccording to the local location update operator, adjusting the position of the worst frog in each group, the concrete adjustment method is as follows.The frog moving distance is as shown in formula (11):(11)pmovei=rand∗pbesti-pworstiUpdate the worst frog individuals as follows:(12)pworsti=pworsti+pmovei-pmovemax≪pmovei≪pmovemaxIn formula (11), rand is a random number between 0 and 1. pmovemax in formula (12) represents the maximum distance that the frog can move during its foraging for food. If the positions obtained from formulas (11) and (12) are closer to the food source than the position of the worst frog in the group, the worst frog leaps to this new position. The position of the worst frog pworsti is further closer to the food source. Otherwise, pbesti is replaced by gbesti, and the worst frog continues to search for a new leaping position as follows:(13)pmovei=rand∗gbesti-pworsti(14)pworsti=pworsti+pmovei,-pmovemax≪pmovei≪pmovemaxIf the position obtained from formulas (13) and (14) is still not closer to the food source than the worst frog in the group, or the worst frog individual needs to skip more than the maximum step size, the worst frog leaps to a new position at random. Otherwise, the worst frog leaps to the new position generated from formula (14). SFLA performs an iterative evolution of the frogs within each group via adjusting and updating of the worst frog.In the evolutionary process of SFLA, each iteration involves the local optimal solutionpbesti and the global optimal gbest. In the whole population, there exist m groups, and therefore there are m local optimal solutions, and there is only one global optimal. SFLA uses a grouping operator and a mechanism of individual integration into groups for transmitting messages and sharing information. The grouping operator divides all the frogs in the population into m groups, and then the worst frog in each group updates itself local search strategy. When all groups finish searching, a shuffle share information and interact with each other. This mechanism makes SFLA have better global search ability. The procedure of basic SFLA is shown as follows.Step 1.
Initialize the positions of all the frogs in the population at random, to make the frogs randomly distributed in the search space, and initialize the population sizeN, the number of frogs in a group Q, the number of evolution of the inner_iteration, the maximum step size of the frogs allowed to move pmovemax, and maximum number of iterations of population max⁡_iteration.Step 2.
Calculate the fitness of all frogs in the population and sorting them in descending order.gbest is initialized with the best frog position, and the frogs are sorted into m groups according to a grouping operator.Step 3.
Adjust the worst frog in the group according to formulas (11) and (12).Step 4.
If the position of the frog in Step3 is improved, replace the worst frog position in the group with the new position, then skip to Step 6, or readjust the worst frog position of the group according to formulas (13) and (14).Step 5.
If a position of the frog from Step4 is improved, replace the worst frog position in the group with the new position, then skip to Step 6, or generate a new random position instead of the worst frog position in the current group.Step 6.
Calculate the fitness of all frogs in the group, and sort them in descending order to determine if the internal iteration is over. If not, skip to Step3.Step 7.
Share shuffle information among all the frogs in the same group.Step 8.
Judge whether the end condition meets or not. If it does, output the optimal solution directly. If not, skip to Step2 and it continues.The end condition of SFLA can achieve the maximum number of iterations or meet an error criterion, which may be a combination of the above two. In the case where the optimal value of the objective function and the allowable error are determined in advance, the end condition can be set to satisfy a certain error range. When the difference between the objective value and the optimum is less than the setting error, output the optimal value; otherwise it continues.


## 2.1. About Differential Evolution

DE is a random search based on population and also a heuristic swarm intelligence algorithm. It mainly uses mutation, crossover, and selection operations to perform an intelligent evolutionary search. DE has five operations, which are described as follows.(  1) Initialization Operation. Initializing a population randomly in the search space, thej-th parameter of thei-th individual in the0-th generation is initialized by formula (1):(1)xj,i0=xj,iLow+rand0,1·xj,iUp-xj,iLow,In formula (1),xUp andxLow are the upper and lower boundary of thej-th parameter of thei-th individual, respectively. rand(0,1) denotes a random number, which is limited between 0 to 1.(  2) Mutation Operation. In DE, the most common in mutation operations isDE/rand/1,which selects two individuals at random in a population. Then the vectors are combined with the target vector for mutating into an intermediate vector vi(g). The process can be expressed as follows in formula (2):(2)vig=xr1g+F·xr2g-xr3gObviously, the smaller the difference between xr2(g) and xr3(g) is, the smaller the difference between xr1(g) and vi(g) is. This means that, in the initial stage, the disturbances are large because of the far distance between individuals, and the search range of the algorithm is large. But in the later period of the iteration, the detective range will be a shrink. Several common mutation strategies are shown in the following formulas (3), (4), and (5):①
DE/rand/2(3)vig=xr1g+Fxr2g-xr3g+Fxr4g-xr5g②
DE/current-to-best/1(4)vig=xig+Fxbestg-xig+Fxr1g-xr2g③
DE/best/1(5)vig=xbestg+Fxr2g-xr3gAmong them, the subscript variables r1, r2, r3, r4, and r5 represent different individuals and xbestg represents the optimal vector in the g-th generation.(  3) Correcting Operation. After the mutation operation, the algorithm must ensure that each component (gene) of the intermediate vector satisfies the predefined boundary constraints. If a component (gene) of an intermediate vector exceeds the scope, the vector individual must be corrected. The following formula (6) is a simple but most frequently used correction strategy:(6)vig=min⁡xj,iUp,2xj,iLow-vig,ifvig<xj,iLowmax⁡xj,iLow,2xj,iUp-vig,ifvig>xj,iUp.(  4) Crossover. Crossover is to mixture the xj,ig and vj,ig in the g-th generation, producing test vectors. The process can be expressed as follows in formula (7):(7)uj,ig=vj,ig,ifrand0,1≤CRorj=jrandxj,ig,otherwiseIn formula (7),CRis the cross probability and jrand is a random integer of [1,2…D].(  5) Selecting Operation. By comparing the function values of the target vectors in the test function fxig with the test function values of the corresponding test vectors fuig, which is determined whether the test vectors can be put into the next generation or not, the standard Differential Evolution algorithm employs a greedy algorithm for the selection operation. The process can be expressed as follows in formula (8):(8)xig+1=uig,iffuig≤fxigxig,otherwise.


## 2.2. Shuffled Frog Leaping Algorithm

Suppose that there areN frogs in then-dimensional space catching their food. The basic Shuffled Frog Leaping Algorithm sorts all the individuals in descending order according to the fitness of the objective function and then puts the first frog individual into the first group, the second frog individual into the second group, and so forth. The first m frogs entry own group in order, respectively; thus each group contains a frog. Beginning with the m+1st frog, the remaining frogs join their own group according to the rule of Round Robin (namely,Mod m).In each group,Xi=(xi1,xi2,…,xin) represents the current position of the i-th frog. pbesti=min(pbesti1,pbesti2,…,pbestio) is the optimal location in the i-th group, called the local optimal position. pworsti=max(pworsti1,pworsti2,…,pworstiM) is the worst in the i-th group, called the local worst position.LetfX be a minimal objective function, and use formula (9) to calculate the local optimal frog location for the i-th group.(9)pbestit+1=pbestit,iffXit+1≥fpbestitXit+1,iffXit+1<fpbestitAssume that the number of the frogs is N, and it is divided into m groups according to the grouping operator. The optimal position gbest(t) for each group is the global optimal location, as shown in formula (10).(10)gbestt=minfpbest1t,fpbest2t,…,fpbestmtAccording to the local location update operator, adjusting the position of the worst frog in each group, the concrete adjustment method is as follows.The frog moving distance is as shown in formula (11):(11)pmovei=rand∗pbesti-pworstiUpdate the worst frog individuals as follows:(12)pworsti=pworsti+pmovei-pmovemax≪pmovei≪pmovemaxIn formula (11), rand is a random number between 0 and 1. pmovemax in formula (12) represents the maximum distance that the frog can move during its foraging for food. If the positions obtained from formulas (11) and (12) are closer to the food source than the position of the worst frog in the group, the worst frog leaps to this new position. The position of the worst frog pworsti is further closer to the food source. Otherwise, pbesti is replaced by gbesti, and the worst frog continues to search for a new leaping position as follows:(13)pmovei=rand∗gbesti-pworsti(14)pworsti=pworsti+pmovei,-pmovemax≪pmovei≪pmovemaxIf the position obtained from formulas (13) and (14) is still not closer to the food source than the worst frog in the group, or the worst frog individual needs to skip more than the maximum step size, the worst frog leaps to a new position at random. Otherwise, the worst frog leaps to the new position generated from formula (14). SFLA performs an iterative evolution of the frogs within each group via adjusting and updating of the worst frog.In the evolutionary process of SFLA, each iteration involves the local optimal solutionpbesti and the global optimal gbest. In the whole population, there exist m groups, and therefore there are m local optimal solutions, and there is only one global optimal. SFLA uses a grouping operator and a mechanism of individual integration into groups for transmitting messages and sharing information. The grouping operator divides all the frogs in the population into m groups, and then the worst frog in each group updates itself local search strategy. When all groups finish searching, a shuffle share information and interact with each other. This mechanism makes SFLA have better global search ability. The procedure of basic SFLA is shown as follows.Step 1.
Initialize the positions of all the frogs in the population at random, to make the frogs randomly distributed in the search space, and initialize the population sizeN, the number of frogs in a group Q, the number of evolution of the inner_iteration, the maximum step size of the frogs allowed to move pmovemax, and maximum number of iterations of population max⁡_iteration.Step 2.
Calculate the fitness of all frogs in the population and sorting them in descending order.gbest is initialized with the best frog position, and the frogs are sorted into m groups according to a grouping operator.Step 3.
Adjust the worst frog in the group according to formulas (11) and (12).Step 4.
If the position of the frog in Step3 is improved, replace the worst frog position in the group with the new position, then skip to Step 6, or readjust the worst frog position of the group according to formulas (13) and (14).Step 5.
If a position of the frog from Step4 is improved, replace the worst frog position in the group with the new position, then skip to Step 6, or generate a new random position instead of the worst frog position in the current group.Step 6.
Calculate the fitness of all frogs in the group, and sort them in descending order to determine if the internal iteration is over. If not, skip to Step3.Step 7.
Share shuffle information among all the frogs in the same group.Step 8.
Judge whether the end condition meets or not. If it does, output the optimal solution directly. If not, skip to Step2 and it continues.The end condition of SFLA can achieve the maximum number of iterations or meet an error criterion, which may be a combination of the above two. In the case where the optimal value of the objective function and the allowable error are determined in advance, the end condition can be set to satisfy a certain error range. When the difference between the objective value and the optimum is less than the setting error, output the optimal value; otherwise it continues.


## 3. The Shuffled Frog-Leaping Differential Evolutionary (SFDE)

Although combining a new algorithm with simple assembly can improve the accuracy or convergence of the algorithm to a certain degree, it is still far from the theoretical value of the test function, so how to integrate the two algorithms is the most important problem.


### 3.1. Integration Strategy between SFLA and DE

There are three main steps in the integration strategy between SFLA and DE. Step(1): initialize populations. Step (2): divide the whole population into several groups, and integrate within a group. Step (3): shuffle the whole population after iterations in each group. We use the idea of dividing the whole population into several subpopulations and considering each subpopulation as a group. So before dividing the whole population into groups, individuals are sorted by the fitness value of the test function, then a new group with the strategy is shown as in Figure 1.Figure 1
The worst individual position adjustment process in the SFDE.As shown in Figure1, SFLA helps to adjust the worst individuals in the groups. If the fitness value of the individuals generated from formulas (11) and (12) is improved, the worst one in the original group will be replaced. Otherwise, its position of the group should be readjusted according to formulas (13) and (14). If it is worse than original one; then discard it and randomly generate a new one to replace it. Then we use DE to deal with the new population. The operations include mutation, crossover, and selection.The evolutionary process of the individual population is shown in Figure2, where the sequence (1, 2, 3, 4) is the stage number of each group evolution. (1) The worst individual position is adjusted for each subpopulation according to Figure 1, then the operation of the Differential Evolution for all the individuals in the subpopulation, that is, the variation of the evolution and the selection operation. (2) The whole population run mutation and cross operation of Differential Evolution stage, thus resulting in the middle of the vector of individuals (represented in Figure 2 with a red circle of individuals) for the latter part of the selection operation. (3) Select the operation for the generation of intermediate individuals and original target individuals.Figure 2
The integration strategy betweenSFLA andDE.In Figure2, the next generation has the intermediate vector individuals (individual with red virtual coil) and the original target individuals. In SFDE, the mutation strategy usesDE/best/1/bin.


### 3.2. The Basic Process of Shuffled Frog-Leaping Differential Evolutionary (SFDE)

The basic SFDE can be described in Algorithm1.Algorithm 1:Pseudocode of Shuffled Frog-leaping Differential Evolutionary (SFDE).
SFDE: Shuffled Frog-leaping Differential Evolutionary Algorithm Input:  An initial population xi,j∣xi,j∈LowBoundery,UpBoundery;i=1,…NP;j=1,2,…D.; Benchmark f(x) or object function g(x); Terminal conditions: Maximum iterations ℵ or Acceptable error ε0. Output:  optimal gbest. Begin (1) Initialization; (2) Dividing xi,j into T subpopulations at random; (3) While  (t<ℵor(ε>ε0)) (4)pbestit+1=pbestit,iffXit+1≥fpbestitXit+1,iffXit+1<fpbestit/∗ computing pbesti according to Eq (9); ∗/ (5)gbestt=minfpbest1t,fpbest2t,…,fpbestmt/∗ finding the gbesti according to Eq (10); ∗/ /∗ updating the position of thepworsti in each subpopulation according to Formulas (11) and (12); ∗/ (6)pmovei=rand∗(pbesti-pworsti); (7)pworsti=pworsti+pmovei; (8)While  pworsti is not increased /∗ updating the position of thepworsti in each subpopulation according to Formulas (13) and (14); ∗/ (9)pmovei=rand∗(gbesti-pworsti); (10)pworsti=pworsti+pmovei; (11)End While (12)Fori=1 to NP (13)vi,j=xr1,j+F∗(xr2,j-xr3,j); vi,j=xbest,j+F∗(xr1,j-xr2,j); /∗Mutation operation;∗/ (14)Correction(); /∗Correction operation∗/ (15)Crossover(); /∗Crossover operation∗/ (16)Selection(); /∗Selection operation∗/ (17)End For (18)ε=|fx-fx∗; (19)t=t+1; (20) End While (21) Return  t, ε and gbest. (22) EndIn Algorithm1,T is the number of subpopulation; gbesti denotes the best individual in population; pworsti is the worst individual in subpopulation; pbesti is the best individual in subpopulation; vi,j denotes the current mutated vectors.


## 3.1. Integration Strategy between SFLA and DE

There are three main steps in the integration strategy between SFLA and DE. Step(1): initialize populations. Step (2): divide the whole population into several groups, and integrate within a group. Step (3): shuffle the whole population after iterations in each group. We use the idea of dividing the whole population into several subpopulations and considering each subpopulation as a group. So before dividing the whole population into groups, individuals are sorted by the fitness value of the test function, then a new group with the strategy is shown as in Figure 1.Figure 1
The worst individual position adjustment process in the SFDE.As shown in Figure1, SFLA helps to adjust the worst individuals in the groups. If the fitness value of the individuals generated from formulas (11) and (12) is improved, the worst one in the original group will be replaced. Otherwise, its position of the group should be readjusted according to formulas (13) and (14). If it is worse than original one; then discard it and randomly generate a new one to replace it. Then we use DE to deal with the new population. The operations include mutation, crossover, and selection.The evolutionary process of the individual population is shown in Figure2, where the sequence (1, 2, 3, 4) is the stage number of each group evolution. (1) The worst individual position is adjusted for each subpopulation according to Figure 1, then the operation of the Differential Evolution for all the individuals in the subpopulation, that is, the variation of the evolution and the selection operation. (2) The whole population run mutation and cross operation of Differential Evolution stage, thus resulting in the middle of the vector of individuals (represented in Figure 2 with a red circle of individuals) for the latter part of the selection operation. (3) Select the operation for the generation of intermediate individuals and original target individuals.Figure 2
The integration strategy betweenSFLA andDE.In Figure2, the next generation has the intermediate vector individuals (individual with red virtual coil) and the original target individuals. In SFDE, the mutation strategy usesDE/best/1/bin.


## 3.2. The Basic Process of Shuffled Frog-Leaping Differential Evolutionary (SFDE)

The basic SFDE can be described in Algorithm1.Algorithm 1:Pseudocode of Shuffled Frog-leaping Differential Evolutionary (SFDE).
SFDE: Shuffled Frog-leaping Differential Evolutionary Algorithm Input:  An initial population xi,j∣xi,j∈LowBoundery,UpBoundery;i=1,…NP;j=1,2,…D.; Benchmark f(x) or object function g(x); Terminal conditions: Maximum iterations ℵ or Acceptable error ε0. Output:  optimal gbest. Begin (1) Initialization; (2) Dividing xi,j into T subpopulations at random; (3) While  (t<ℵor(ε>ε0)) (4)pbestit+1=pbestit,iffXit+1≥fpbestitXit+1,iffXit+1<fpbestit/∗ computing pbesti according to Eq (9); ∗/ (5)gbestt=minfpbest1t,fpbest2t,…,fpbestmt/∗ finding the gbesti according to Eq (10); ∗/ /∗ updating the position of thepworsti in each subpopulation according to Formulas (11) and (12); ∗/ (6)pmovei=rand∗(pbesti-pworsti); (7)pworsti=pworsti+pmovei; (8)While  pworsti is not increased /∗ updating the position of thepworsti in each subpopulation according to Formulas (13) and (14); ∗/ (9)pmovei=rand∗(gbesti-pworsti); (10)pworsti=pworsti+pmovei; (11)End While (12)Fori=1 to NP (13)vi,j=xr1,j+F∗(xr2,j-xr3,j); vi,j=xbest,j+F∗(xr1,j-xr2,j); /∗Mutation operation;∗/ (14)Correction(); /∗Correction operation∗/ (15)Crossover(); /∗Crossover operation∗/ (16)Selection(); /∗Selection operation∗/ (17)End For (18)ε=|fx-fx∗; (19)t=t+1; (20) End While (21) Return  t, ε and gbest. (22) EndIn Algorithm1,T is the number of subpopulation; gbesti denotes the best individual in population; pworsti is the worst individual in subpopulation; pbesti is the best individual in subpopulation; vi,j denotes the current mutated vectors.


## 4. Experimentation

This section compares the proposed SFDE with twenty classic well-known test functions.


### 4.1. Experimental Setting and Parameterization

Twenty test functions with 30 high dimensions check the performance of SFDE. The detailed definitions of them are shown in Table1.Table 1
Detailed definitions of the test function.
F# Name Description Dim. Range Opt. f 1 ( x ) Ackle f 1 x = - 20 exp ⁡ - 0.2 1 N  ∑ i = 1 N x i 2 - exp ⁡ 1 N  ∑ i = 1 N cos ⁡ 2 π x i + 20 + e 30 [ - 600,600 ] 0 f 2 ( x ) Michalewicz f 2 x = -  ∑ i = 1 N sin ⁡ x i sin 2 m ⁡ i x i 2 π ,   m = 10 30 [ 0 , π ] -9.66 f 3 ( x ) Schwefel’s problem 1.2 f 3 x =  ∑ i = 1 N ∑ j i x i 2 30 [ - 500,500 ] 0 f 4 ( x ) Sphere f 4 x =  ∑ i = 1 N x i 2 30 [ - 500 ,  500 ] 0 f 5 ( x ) Rosenbrock f 5 x =  ∑ i = 1 N - 1 100 x i 2 - x i + 1 2 + x i - 1 2 30 [ - 100,100 ] 0 f 6 ( x ) Rotated Hyper-Ellipsoid f 6 x =  ∑ i = 1 n ∑ j = 1 i x j 2 30 [ - 65.53,65.53 ] 0 f 7 ( x ) Shifted and Rotated Schwefel’s Function f 7 x =  500 + 418.9829 × n -  ∑ i = 1 n g ( y i ), yi=zi+4.20968736e+002 gyi=yisin⁡yi1/2ifyi≤500500-modyi,500sin⁡500-modyi,500-yi-500210000nifyi>500modyi,500-500sin⁡500-modyi,500-yi+500210000nifyi<-500 z=M51000x-o5100, o3=o31,o32,…o3n 30 [ - 100,100 ] 500 f 8 ( x ) Zakharov f 8 =  ∑ i = 1 N x i 2 + ∑ i = 1 N 0.5 i × x i 2 2 + ∑ i = 1 N 0.5 i × x i 2 4 30 [ - 10,10 ] 0 f 9 ( x ) Dixon-Price f 9 =  ∑ i = 2 N i 2 x i 2 - x i - 1 2 + x i - 1 2 30 [ - 10,10 ] 0 f 10 ( x ) Perm f 10 =  ∑ i = 1 d ∑ j = 1 d j i + β x j j i - 1 2 30 [ 0 , π ] -9.66 f 11 ( x ) Griewank f 11 = 1 4000  ∑ i = 1 N x 2 -  ∏ i = 1 N cos ⁡ x i i + 1 30 [ - 600,600 ] 0 f 12 ( x ) Schwefel f 12 =  ∑ i = 1 N - x i sin ⁡ x i 30 [ - 500,500 ] -418.982d f 13 ( x ) Rastrigin f 13 =  ∑ i = 1 N x i 2 - 10 cos ⁡ 2 π x i + 10 30 [ - 5.12,5.12 ] 0 f 14 ( x ) Sum of different powers f 14 = ∑ i = 1 N x i i + 1 30 [ - 1,1 ] 0 f 15 ( x ) Shubert f 15 = ∑ i = 1 5 i cos ⁡ i + 1 x 1 + i + ∑ i = 1 5 i cos ⁡ i + 1 x 2 + i 2 [ - 10,10 ] -186.7309 f 16 ( x ) Powell f 16 =  ∑ i = 1 d / 4 x 4 i - 3 + 10 x 4 i - 2 2 + 5 x 4 i - 1 - x 4 i 2 + x 4 i - 2 - 2 x 4 i - 1 4 + 10 x 4 i - 3 - 2 x 4 i 4 30 [ - 4,5 ] 0 f 17 ( x ) Drop-Wave f 17 = 1 + cos ⁡ 12 x 1 2 + x 2 2 0.5 x 1 2 + x 2 2 + 2 2 [ - 5.12,5.12 ] -1 f 18 ( x ) Levy f 18 = s i n 2 π ω 1 +  ∑ i = 1 d - 1 ω 1 - 1 2 1 + 10 s i n 2 π ω 1 + 1 + ω d - 1 2 1 + 10 s i n 2 2 π ω d 30 [ - 10,10 ] 0 f 19 ( x ) SumSquares f 19 =  ∑ i = 1 d i x i 2 30 [ - 10,10 ] 0 f 20 ( x ) Weierstrass f 20 =  ∑ i = 1 N ∑ k = 0 k m a x a k cos ⁡ 2 π b k x i + 0.5 - n  ∑ k = 0 k m a x a k cos ⁡ 2 π b k × 0.5 30 [ - 0.5,0.5 ] 0Experimental environment configuration: operation system is Windows 7. Minimum memory is 4G; processor type is Intel (R) Core (TM) i5-2370M @ 2.40GHz; development tools and version are Matlab-R2012a.To be fair, the initial conditions of each algorithm are consistent.(1) Population size of all Differential Evolution algorithms is set to be 200. (2) The number of subpopulations of SFDE is set to 10. (3) The number of iterations is set according to the complexity of the problem, but the number of iterations of all Differential Evolution algorithms is equal every time.


### 4.2. Computational Results and Discussion

We record the optimal value obtained at the end of every computing in 30 runs. Then, the average optimal value and the standard deviation of the optimal value are calculated by using the 30 dependently runs. And the standard deviation of the best average value and the optimal value is inputted into the table to facilitate the analysis of the experimental results. In order to highlight the experimental data close to the theoretical value of the function, we test each test function in the table closest to the theoretical value of the experimental data bold. The output images reflect the variation curve of the average optimal value for each test function in 30 separate experiments.The convergence curves plots of five algorithms for 9 benchmark functions with 30 dimensions are drawn in Figure3 (Ackle, Michalwicz Function and Schwefel’s Problem 1.2), Figure 4 (Perm Function, Rastrigin, Sphere Function), and Figure 5 (Rotated Hyper-Ellipsoid, Shifted and Zakharov Function, Dixon-Price Function), respectively. The 9 results confirm the good performance of SFDE. The optimal value of the function curve is shown in Figure 3 and the full optimal value of the function is shown in Table 2.Table 2
Experimental data of variousDE algorithms on the test functions (30d).
Func. Rate SFDE EPSDE MDE CODE MDESELF f 1 ( x ) Avg. 5.47E+00 2.00E+01 2.07E+01 2.00E+01 2.00E+01 S.D. 2.12E-12 1.29E-01 3.37E-02 6.49E-03 2.53E-02 f 2 ( x ) Avg. -2.25E+01 -2.41E+01 -1.31E+01 -2.78E+01 -2.36E+01 S.D. 4.99E-01 5.81E-01 4.29E-01 1.10E-02 1.43E-01 f 3 ( x ) Avg. 4.16E-31 1.94E+03 1.38E-07 4.42E+01 3.59E-07 S.D. 7.16E-31 1.18E+03 1.04E-07 8.34E+00 6.22E-07 f 4 ( x ) Avg. 4.76E-21 2.93E-01 2.99E-03 3.26E+01 3.72E-02 S.D. 1.06E-20 2.00E-01 8.92E-04 7.04E+00 4.82E-02 f 5 ( x ) Avg. 1.20E+01 1.63E+01 5.30E-07 1.19E+01 1.51E+01 S.D. 1.14E+00 2.76E+00 5.52E-07 6.98E-01 5.80E+00 f 6 ( x ) Avg. 9.98E-94 3.73E-17 3.01E-25 1.18E-10 9.42E-24 S.D. 1.60E-93 6.03E-17 2.89E-25 1.18E-10 1.63E-23 f 7 ( x ) Avg. 5.47E+03 5.13E+03 7.22E+03 4.08E+03 4.52E+03 S.D. 3.14E+02 2.21E+02 3.25E+02 3.52E+02 1.88E+02 f 8 ( x ) Avg. 5.34E-24 4.92E+01 1.63E-06 6.86E+01 3.95E-11 S.D. 9.22E-24 4.42E+01 1.96E-06 4.96E+00 6.07E-11 f 9 ( x ) Avg. 0.00E+00 1.65E+01 1.66E+02 5.71E-06 3.19E+01 S.D. 0.00E+00 1.07E+01 1.05E+01 5.46E-06 5.06E+00 f 10 ( x ) Avg. 3.80E+00 5.06E-02 2.60E+00 2.66E-01 1.72E-02 S.D. 5.34E+00 2.17E-02 5.80E+00 3.67E-01 1.76E-02 f 11 ( x ) Avg. 0.00E+00 0.00E+00 0.00E+00 1.10E-11 0.00E+00 S.D. 0.00E+00 0.00E+00 0.00E+00 7.40E-12 0.00E+00 f 12 ( x ) Avg. -1.26E+04 -1.26E+04 -1.26E+04 -1.26E+04 -1.17E+04 S.D. 1.47E-11 1.86E-05 0.00E+00 1.58E-12 1.99E+02 f 13 ( x ) Avg. 0.00E+00 2.31E+01 1.64E+02 3.44E-06 3.33E+01 S.D. 0.00E+00 1.30E+01 8.78E+00 2.37E-06 4.99E+00 f 14 ( x ) Avg. 0.00E+00 3.47E-58 1.74E-86 5.11E-47 8.08E-67 S.D. 0.00E+00 7.75E-58 3.80E-86 8.83E-47 1.81E-66 f 15 ( x ) Avg. -1.87E+02 -1.87E+02 -1.87E+02 -1.87E+02 -1.87E+02 S.D. 0.00E+00 4.02E-14 0.00E+00 0.00E+00 2.20E-07 f 16 ( x ) Avg. 4.83E-21 1.99E-03 3.92E-15 2.09E-06 2.64E-10 S.D. 9.38E-21 1.04E-03 1.81E-15 7.44E-07 2.54E-10 f 17 ( x ) Avg. -1.00E+00 -1.00E+00 -1.00E+00 -1.00E+00 -1.00E+00 S.D. 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 f 18 ( x ) Avg. 1.79E-02 3.02E-20 5.13E-31 7.24E-15 3.25E-19 S.D. 4.00E-02 4.60E-20 2.90E-31 3.22E-15 6.61E-19 f 19 ( x ) Avg. 2.52E-105 1.13E-21 1.39E-30 1.83E-14 1.44E-29 S.D. 3.58E-105 1.05E-21 1.44E-30 1.02E-14 3.21E-29 f 20 ( x ) Avg. 0.00E+00 2.28E-05 2.13E-13 3.18E-04 1.88E-08 S.D. 0.00E+00 3.17E-05 1.31E-13 6.10E-05 2.46E-08Figure 3
The 30 dimensions and curves convergence for 3 benchmark functions with 5 variants of DE.
(a)
Ackle Function (b)
Michalwicz Function (c)
Schwefel’s Problem 1.2Figure 4
The 30 dimensions and curves convergence for 3 benchmark functions with 5 variants of DE.
(a)
Rastrigin Function (b)
Perm Function (c)
Sphere FunctionFigure 5
The 30 dimensions and curves convergence for 3 benchmark functions with 5 variants of DE.
(a)
Rotated Hyper-Ellipsoid (b)
Zakharov Function (c)
Dixon-Price FunctionSchwefel’s Problem 1.2 function’s algorithm is difficult to obtain the theoretical value on 30 dimensions (iterations: 2000 times). From the experimental results, it can be seen that the convergence rate of SFDE is faster than that of other algorithms, and the final accuracy is also better than other algorithms, and even 34 units of magnitude are higher than the accuracy of EPSDE algorithm.Rotated Hyper-Ellipsoid is a continuous, convex single-peak, which is an extension of the axis-parallel super-ellipsoid function and also becomes a square sum function. From the experimental results, SFDE is better than other algorithms, and with the iteration of the algorithm, the accuracy of the algorithm is getting better.The Perm Function is characterized by a large number of local optimal value of the single-peak function, and it is a well test function which can test the function of the algorithm. It can be seen from the experimental results that SFDE has the highest precision and the fastest convergence rate for Zakharov Function with 30 dimensions (iterations: 2000 times).The convergence curves of five algorithms for 9 benchmark functions with 30 dimensions are drawn in Figure3, respectively. For each benchmark function, there are two curves, the left one is plotted with iterations, and average function values are plotted with NFEs at right. Figures 3(a)–3(c) and 4(a) present multimodal benchmark functions and Figures 4(b)-4(c), 5(a)–5(c) present unimodal benchmark functions. Figure 3(a) is the curves of average optimal of F1. In Figure 3(b), SFDE and CODE almost have the same best value on F2. The convergence curves of compared algorithms for F3 function and F13 function are given in Figures 3(c) and 4(a). Figure 4(b) present convergence curves of test results for F10 function. In Figure 4(c), 5(a)-5(b), plots of SFDE are much better than other variants for F4, F6, and F8 functions. In Figure 5(c), SFDE demonstrates best average and convergence speed for 30 dimensions on F9 function and MDE is the second best on F9.


### 4.3. Results Analysis

Table2 shows the comparison between SFDE and classic DE. It can be seen from the above experimental results that SFDE does better in most of the base functions compared with other differential evolutionary algorithms, and the convergence speed is also accelerated.In Table2, the eight test functions, f4(x),f6(x),f8(x),f9(x),f14(x), and f19(x), are unimodal functions, and the solving accuracy of SFDE is better than that of other algorithms. In the results of the multimodal test function, the individual test function is poor performance, such as f2(x) and f7(x). However, the solving accuracy of SFDE is much higher than that of other algorithms and SFDE is more stable. More importantly, SFDE algorithm itself is very simple and fast and has an absolute advantage.In order to determine whether SFDE is more effective than other methods, statistical methods need to detect the results of CPU running time; this paper selected the pairedT-testand the pairedF-test. TheT-test is an important test of the mean difference between the two samples, with the aim of checking the system error. TheF-test is a significant test of the variance of the two samples, with the aim of testing the accident error. Usually we compare the value of 0.05. If the test result is less than 0.05, the cell will mark the result with ‘+’, instead, the cell will mark the result with ‘-’. The percentage of ‘+’ in all results is the likelihood that SFDE will handle the reliability and advantage of the test problem. Specific test results as shown in Table 3, each column is test function, efficiency, detection methods, and a variety of intelligent optimization.Table 3
The comparison results of function optimization.
F#/Rate T/F EPSDE MDE_DE CODE_DE° MDESELF_DE F1/87.5% T-test 7.6954E-03 3.3359E-02 3.5105E-02 3.4813E-02 F-test 8.8978E-01 5.4921E-03 3.2283E-05 3.6439E-03 T/F +/+ +/+ +/+ +/+  F2/62.5% T-test 2.2431E-02 3.3328E-06 3.1399E-04 5.8249E-02 F-test 5.4126E-01 5.2737E-01 4.2237E-03 1.3638E-02 T/F +/- +/- +/+ -/+  F3/75% T-test 1.9592E-01 2.8839E-02 5.5096E-03 4.2232E-01 F-test 1.5253E-33 4.9760E-23 2.8585E-31 5.6612E-24 T/F -/+ +/+ +/+ -/+  F4/87.5% T-test 4.4275E-02 6.7979E-04 2.8489E-03 9.0376E-02 F-test 4.7045E-40 3.0269E-34 6.7452E-43 7.9601E-40 T/F +/+ +/+ +/+ -/+  F5/50% T-test 1.6634E-02 9.8894E-06 4.9342E-01 1.4166E-01 F-test 1.1582E-01 3.2658E-25 3.6254E-01 8.1762E-03 T/F +/- +/+ -/- -/+  F6/62.5% T-test 9.0588E-02 6.7503E-02 6.7318E-03 2.1129E-01 F-test 3.0342E-147 1.2115E-130 2.8959E-159 1.7384E-146 T/F -/+ -/+ +/+ -/+  F7/50% T-test 8.0260E-03 5.0414E-04 8.2932E-04 1.4593E-02 F-test 2.9739E-01 2.9593E-01 6.3363E-01 1.9485E-01 T/F +/- +/- +/- +/-  F8/87.5% T-test 1.2310E-02 7.9426E-03 7.5570E-05 7.5386E-02 F-test 1.1154E-74 4.4393E-52 2.0763E-73 6.1861E-42 T/F +/+ +/+ +/+ -/+  F9/100% T-test 2.3766E-02 4.7325E-08 1.1628E-02 4.0496E-07 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F10/37.5% T-test 1.4552E-01 6.3556E-01 1.7863E-01 1.5229E-01 F-test 1.6245E-09 8.7781E-01 1.3244E-04 7.0381E-10 T/F -/+ -/- -/+ -/+  F11/100% T-test 0.0000E+00 0.0000E+00 3.9290E-02 0.0000E+00 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F12/100% T-test 0.0000E+00 0.0000E+00 0.0000E+00 6.8809E-06 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F13/100% T-test 2.3766E-02 4.7325E-08 2.2266E-02 1.6671E-05 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F14/50.0% T-test 1.2857E-01 2.9792E-01 6.8323E-02 4.2411E-01 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F -/+ -/+ -/+ -/+  F15/100% T-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F16/100% T-test 1.7538E-02 2.3093E-03 2.3093E-03 3.9836E-02 F-test 2.2333E-51 6.1220E-16 6.2159E-42 2.4880E-31 T/F +/+ +/+ +/+ +/+  F17/100% T-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F18/50.0% T-test 3.5592E-01 3.5592E-01 3.4659E-01 3.4659E-01 F-test 1.0490E-71 1.6603E-116 2.5120E-52 4.4566E-67 T/F -/+ -/+ -/+ -/+  F19/100% T-test 1.3200E-02 5.4837E-02 1.5650E-03 3.3401E-01 F-test 0.0000E+00 5.7934E-298 0.0000E+00 1.3100E-303 T/F +/+ +/+ +/+ +/+  F20/100% T-test 4.6049E-02 4.2513E-04 1.3872E-08 3.6213E-02 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+To compare SFDE with other algorithms, we select advanced variants of DE, namely, JADE, DMPSADE, and IMMSADE, which is introduced in [12]. The comparison results are as shown as follows in Table 4.Table 4
Comparison results of function optimization (30d).
Function Dim Algorithm MEAN STD f x =  ∑ i = 1 N x i 2 30 SFDE 0.00E+00 0.00E+00 SaDE 0.00E+00 0.00E+00 JADE 0.00E+00 0.00E+00 DMPSADE 0.00E+00 0.00E+00 IMMSADE 0.00E+00 0.00E+00  f x =  ∑ i = 1 N - 1 100 x i 2 - x i + 1 2 + x i - 1 2 30 SFDE 5.62E+00 1.06E+00 SaDE 4.67E+01 3.23E+01 JADE 2.97E+00 8.17E+00 DMPSADE 7.48E-06 2.24E-05 IMMSADE 0.00E+00 0.00E+00  f x = - 20 exp ⁡ - 0.2 1 N  ∑ i = 1 N x i 2 - exp ⁡ 1 N  ∑ i = 1 N cos ⁡ 2 π x i + 20 + e 30 SFDE 5.47E+00 2.12E-12 SaDE 2.09E+01 4.26E-03 JADE 2.09E+01 1.67E-01 DMPSADE 2.02E+01 1.60E-01 IMMSADE 3.99E-15 0.00E+00Table4 shows a clear comparison of SFDE-SaDE, SFDE-JADE, SFDE-DMPSADE, and SFDE-IMMASDE. From Table 4, it is clear to see that the convergence speed of SFDE is faster among the considered algorithms for most of test functions.


## 4.1. Experimental Setting and Parameterization

Twenty test functions with 30 high dimensions check the performance of SFDE. The detailed definitions of them are shown in Table1.Table 1
Detailed definitions of the test function.
F# Name Description Dim. Range Opt. f 1 ( x ) Ackle f 1 x = - 20 exp ⁡ - 0.2 1 N  ∑ i = 1 N x i 2 - exp ⁡ 1 N  ∑ i = 1 N cos ⁡ 2 π x i + 20 + e 30 [ - 600,600 ] 0 f 2 ( x ) Michalewicz f 2 x = -  ∑ i = 1 N sin ⁡ x i sin 2 m ⁡ i x i 2 π ,   m = 10 30 [ 0 , π ] -9.66 f 3 ( x ) Schwefel’s problem 1.2 f 3 x =  ∑ i = 1 N ∑ j i x i 2 30 [ - 500,500 ] 0 f 4 ( x ) Sphere f 4 x =  ∑ i = 1 N x i 2 30 [ - 500 ,  500 ] 0 f 5 ( x ) Rosenbrock f 5 x =  ∑ i = 1 N - 1 100 x i 2 - x i + 1 2 + x i - 1 2 30 [ - 100,100 ] 0 f 6 ( x ) Rotated Hyper-Ellipsoid f 6 x =  ∑ i = 1 n ∑ j = 1 i x j 2 30 [ - 65.53,65.53 ] 0 f 7 ( x ) Shifted and Rotated Schwefel’s Function f 7 x =  500 + 418.9829 × n -  ∑ i = 1 n g ( y i ), yi=zi+4.20968736e+002 gyi=yisin⁡yi1/2ifyi≤500500-modyi,500sin⁡500-modyi,500-yi-500210000nifyi>500modyi,500-500sin⁡500-modyi,500-yi+500210000nifyi<-500 z=M51000x-o5100, o3=o31,o32,…o3n 30 [ - 100,100 ] 500 f 8 ( x ) Zakharov f 8 =  ∑ i = 1 N x i 2 + ∑ i = 1 N 0.5 i × x i 2 2 + ∑ i = 1 N 0.5 i × x i 2 4 30 [ - 10,10 ] 0 f 9 ( x ) Dixon-Price f 9 =  ∑ i = 2 N i 2 x i 2 - x i - 1 2 + x i - 1 2 30 [ - 10,10 ] 0 f 10 ( x ) Perm f 10 =  ∑ i = 1 d ∑ j = 1 d j i + β x j j i - 1 2 30 [ 0 , π ] -9.66 f 11 ( x ) Griewank f 11 = 1 4000  ∑ i = 1 N x 2 -  ∏ i = 1 N cos ⁡ x i i + 1 30 [ - 600,600 ] 0 f 12 ( x ) Schwefel f 12 =  ∑ i = 1 N - x i sin ⁡ x i 30 [ - 500,500 ] -418.982d f 13 ( x ) Rastrigin f 13 =  ∑ i = 1 N x i 2 - 10 cos ⁡ 2 π x i + 10 30 [ - 5.12,5.12 ] 0 f 14 ( x ) Sum of different powers f 14 = ∑ i = 1 N x i i + 1 30 [ - 1,1 ] 0 f 15 ( x ) Shubert f 15 = ∑ i = 1 5 i cos ⁡ i + 1 x 1 + i + ∑ i = 1 5 i cos ⁡ i + 1 x 2 + i 2 [ - 10,10 ] -186.7309 f 16 ( x ) Powell f 16 =  ∑ i = 1 d / 4 x 4 i - 3 + 10 x 4 i - 2 2 + 5 x 4 i - 1 - x 4 i 2 + x 4 i - 2 - 2 x 4 i - 1 4 + 10 x 4 i - 3 - 2 x 4 i 4 30 [ - 4,5 ] 0 f 17 ( x ) Drop-Wave f 17 = 1 + cos ⁡ 12 x 1 2 + x 2 2 0.5 x 1 2 + x 2 2 + 2 2 [ - 5.12,5.12 ] -1 f 18 ( x ) Levy f 18 = s i n 2 π ω 1 +  ∑ i = 1 d - 1 ω 1 - 1 2 1 + 10 s i n 2 π ω 1 + 1 + ω d - 1 2 1 + 10 s i n 2 2 π ω d 30 [ - 10,10 ] 0 f 19 ( x ) SumSquares f 19 =  ∑ i = 1 d i x i 2 30 [ - 10,10 ] 0 f 20 ( x ) Weierstrass f 20 =  ∑ i = 1 N ∑ k = 0 k m a x a k cos ⁡ 2 π b k x i + 0.5 - n  ∑ k = 0 k m a x a k cos ⁡ 2 π b k × 0.5 30 [ - 0.5,0.5 ] 0Experimental environment configuration: operation system is Windows 7. Minimum memory is 4G; processor type is Intel (R) Core (TM) i5-2370M @ 2.40GHz; development tools and version are Matlab-R2012a.To be fair, the initial conditions of each algorithm are consistent.(1) Population size of all Differential Evolution algorithms is set to be 200. (2) The number of subpopulations of SFDE is set to 10. (3) The number of iterations is set according to the complexity of the problem, but the number of iterations of all Differential Evolution algorithms is equal every time.


## 4.2. Computational Results and Discussion

We record the optimal value obtained at the end of every computing in 30 runs. Then, the average optimal value and the standard deviation of the optimal value are calculated by using the 30 dependently runs. And the standard deviation of the best average value and the optimal value is inputted into the table to facilitate the analysis of the experimental results. In order to highlight the experimental data close to the theoretical value of the function, we test each test function in the table closest to the theoretical value of the experimental data bold. The output images reflect the variation curve of the average optimal value for each test function in 30 separate experiments.The convergence curves plots of five algorithms for 9 benchmark functions with 30 dimensions are drawn in Figure3 (Ackle, Michalwicz Function and Schwefel’s Problem 1.2), Figure 4 (Perm Function, Rastrigin, Sphere Function), and Figure 5 (Rotated Hyper-Ellipsoid, Shifted and Zakharov Function, Dixon-Price Function), respectively. The 9 results confirm the good performance of SFDE. The optimal value of the function curve is shown in Figure 3 and the full optimal value of the function is shown in Table 2.Table 2
Experimental data of variousDE algorithms on the test functions (30d).
Func. Rate SFDE EPSDE MDE CODE MDESELF f 1 ( x ) Avg. 5.47E+00 2.00E+01 2.07E+01 2.00E+01 2.00E+01 S.D. 2.12E-12 1.29E-01 3.37E-02 6.49E-03 2.53E-02 f 2 ( x ) Avg. -2.25E+01 -2.41E+01 -1.31E+01 -2.78E+01 -2.36E+01 S.D. 4.99E-01 5.81E-01 4.29E-01 1.10E-02 1.43E-01 f 3 ( x ) Avg. 4.16E-31 1.94E+03 1.38E-07 4.42E+01 3.59E-07 S.D. 7.16E-31 1.18E+03 1.04E-07 8.34E+00 6.22E-07 f 4 ( x ) Avg. 4.76E-21 2.93E-01 2.99E-03 3.26E+01 3.72E-02 S.D. 1.06E-20 2.00E-01 8.92E-04 7.04E+00 4.82E-02 f 5 ( x ) Avg. 1.20E+01 1.63E+01 5.30E-07 1.19E+01 1.51E+01 S.D. 1.14E+00 2.76E+00 5.52E-07 6.98E-01 5.80E+00 f 6 ( x ) Avg. 9.98E-94 3.73E-17 3.01E-25 1.18E-10 9.42E-24 S.D. 1.60E-93 6.03E-17 2.89E-25 1.18E-10 1.63E-23 f 7 ( x ) Avg. 5.47E+03 5.13E+03 7.22E+03 4.08E+03 4.52E+03 S.D. 3.14E+02 2.21E+02 3.25E+02 3.52E+02 1.88E+02 f 8 ( x ) Avg. 5.34E-24 4.92E+01 1.63E-06 6.86E+01 3.95E-11 S.D. 9.22E-24 4.42E+01 1.96E-06 4.96E+00 6.07E-11 f 9 ( x ) Avg. 0.00E+00 1.65E+01 1.66E+02 5.71E-06 3.19E+01 S.D. 0.00E+00 1.07E+01 1.05E+01 5.46E-06 5.06E+00 f 10 ( x ) Avg. 3.80E+00 5.06E-02 2.60E+00 2.66E-01 1.72E-02 S.D. 5.34E+00 2.17E-02 5.80E+00 3.67E-01 1.76E-02 f 11 ( x ) Avg. 0.00E+00 0.00E+00 0.00E+00 1.10E-11 0.00E+00 S.D. 0.00E+00 0.00E+00 0.00E+00 7.40E-12 0.00E+00 f 12 ( x ) Avg. -1.26E+04 -1.26E+04 -1.26E+04 -1.26E+04 -1.17E+04 S.D. 1.47E-11 1.86E-05 0.00E+00 1.58E-12 1.99E+02 f 13 ( x ) Avg. 0.00E+00 2.31E+01 1.64E+02 3.44E-06 3.33E+01 S.D. 0.00E+00 1.30E+01 8.78E+00 2.37E-06 4.99E+00 f 14 ( x ) Avg. 0.00E+00 3.47E-58 1.74E-86 5.11E-47 8.08E-67 S.D. 0.00E+00 7.75E-58 3.80E-86 8.83E-47 1.81E-66 f 15 ( x ) Avg. -1.87E+02 -1.87E+02 -1.87E+02 -1.87E+02 -1.87E+02 S.D. 0.00E+00 4.02E-14 0.00E+00 0.00E+00 2.20E-07 f 16 ( x ) Avg. 4.83E-21 1.99E-03 3.92E-15 2.09E-06 2.64E-10 S.D. 9.38E-21 1.04E-03 1.81E-15 7.44E-07 2.54E-10 f 17 ( x ) Avg. -1.00E+00 -1.00E+00 -1.00E+00 -1.00E+00 -1.00E+00 S.D. 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 f 18 ( x ) Avg. 1.79E-02 3.02E-20 5.13E-31 7.24E-15 3.25E-19 S.D. 4.00E-02 4.60E-20 2.90E-31 3.22E-15 6.61E-19 f 19 ( x ) Avg. 2.52E-105 1.13E-21 1.39E-30 1.83E-14 1.44E-29 S.D. 3.58E-105 1.05E-21 1.44E-30 1.02E-14 3.21E-29 f 20 ( x ) Avg. 0.00E+00 2.28E-05 2.13E-13 3.18E-04 1.88E-08 S.D. 0.00E+00 3.17E-05 1.31E-13 6.10E-05 2.46E-08Figure 3
The 30 dimensions and curves convergence for 3 benchmark functions with 5 variants of DE.
(a)
Ackle Function (b)
Michalwicz Function (c)
Schwefel’s Problem 1.2Figure 4
The 30 dimensions and curves convergence for 3 benchmark functions with 5 variants of DE.
(a)
Rastrigin Function (b)
Perm Function (c)
Sphere FunctionFigure 5
The 30 dimensions and curves convergence for 3 benchmark functions with 5 variants of DE.
(a)
Rotated Hyper-Ellipsoid (b)
Zakharov Function (c)
Dixon-Price FunctionSchwefel’s Problem 1.2 function’s algorithm is difficult to obtain the theoretical value on 30 dimensions (iterations: 2000 times). From the experimental results, it can be seen that the convergence rate of SFDE is faster than that of other algorithms, and the final accuracy is also better than other algorithms, and even 34 units of magnitude are higher than the accuracy of EPSDE algorithm.Rotated Hyper-Ellipsoid is a continuous, convex single-peak, which is an extension of the axis-parallel super-ellipsoid function and also becomes a square sum function. From the experimental results, SFDE is better than other algorithms, and with the iteration of the algorithm, the accuracy of the algorithm is getting better.The Perm Function is characterized by a large number of local optimal value of the single-peak function, and it is a well test function which can test the function of the algorithm. It can be seen from the experimental results that SFDE has the highest precision and the fastest convergence rate for Zakharov Function with 30 dimensions (iterations: 2000 times).The convergence curves of five algorithms for 9 benchmark functions with 30 dimensions are drawn in Figure3, respectively. For each benchmark function, there are two curves, the left one is plotted with iterations, and average function values are plotted with NFEs at right. Figures 3(a)–3(c) and 4(a) present multimodal benchmark functions and Figures 4(b)-4(c), 5(a)–5(c) present unimodal benchmark functions. Figure 3(a) is the curves of average optimal of F1. In Figure 3(b), SFDE and CODE almost have the same best value on F2. The convergence curves of compared algorithms for F3 function and F13 function are given in Figures 3(c) and 4(a). Figure 4(b) present convergence curves of test results for F10 function. In Figure 4(c), 5(a)-5(b), plots of SFDE are much better than other variants for F4, F6, and F8 functions. In Figure 5(c), SFDE demonstrates best average and convergence speed for 30 dimensions on F9 function and MDE is the second best on F9.


## 4.3. Results Analysis

Table2 shows the comparison between SFDE and classic DE. It can be seen from the above experimental results that SFDE does better in most of the base functions compared with other differential evolutionary algorithms, and the convergence speed is also accelerated.In Table2, the eight test functions, f4(x),f6(x),f8(x),f9(x),f14(x), and f19(x), are unimodal functions, and the solving accuracy of SFDE is better than that of other algorithms. In the results of the multimodal test function, the individual test function is poor performance, such as f2(x) and f7(x). However, the solving accuracy of SFDE is much higher than that of other algorithms and SFDE is more stable. More importantly, SFDE algorithm itself is very simple and fast and has an absolute advantage.In order to determine whether SFDE is more effective than other methods, statistical methods need to detect the results of CPU running time; this paper selected the pairedT-testand the pairedF-test. TheT-test is an important test of the mean difference between the two samples, with the aim of checking the system error. TheF-test is a significant test of the variance of the two samples, with the aim of testing the accident error. Usually we compare the value of 0.05. If the test result is less than 0.05, the cell will mark the result with ‘+’, instead, the cell will mark the result with ‘-’. The percentage of ‘+’ in all results is the likelihood that SFDE will handle the reliability and advantage of the test problem. Specific test results as shown in Table 3, each column is test function, efficiency, detection methods, and a variety of intelligent optimization.Table 3
The comparison results of function optimization.
F#/Rate T/F EPSDE MDE_DE CODE_DE° MDESELF_DE F1/87.5% T-test 7.6954E-03 3.3359E-02 3.5105E-02 3.4813E-02 F-test 8.8978E-01 5.4921E-03 3.2283E-05 3.6439E-03 T/F +/+ +/+ +/+ +/+  F2/62.5% T-test 2.2431E-02 3.3328E-06 3.1399E-04 5.8249E-02 F-test 5.4126E-01 5.2737E-01 4.2237E-03 1.3638E-02 T/F +/- +/- +/+ -/+  F3/75% T-test 1.9592E-01 2.8839E-02 5.5096E-03 4.2232E-01 F-test 1.5253E-33 4.9760E-23 2.8585E-31 5.6612E-24 T/F -/+ +/+ +/+ -/+  F4/87.5% T-test 4.4275E-02 6.7979E-04 2.8489E-03 9.0376E-02 F-test 4.7045E-40 3.0269E-34 6.7452E-43 7.9601E-40 T/F +/+ +/+ +/+ -/+  F5/50% T-test 1.6634E-02 9.8894E-06 4.9342E-01 1.4166E-01 F-test 1.1582E-01 3.2658E-25 3.6254E-01 8.1762E-03 T/F +/- +/+ -/- -/+  F6/62.5% T-test 9.0588E-02 6.7503E-02 6.7318E-03 2.1129E-01 F-test 3.0342E-147 1.2115E-130 2.8959E-159 1.7384E-146 T/F -/+ -/+ +/+ -/+  F7/50% T-test 8.0260E-03 5.0414E-04 8.2932E-04 1.4593E-02 F-test 2.9739E-01 2.9593E-01 6.3363E-01 1.9485E-01 T/F +/- +/- +/- +/-  F8/87.5% T-test 1.2310E-02 7.9426E-03 7.5570E-05 7.5386E-02 F-test 1.1154E-74 4.4393E-52 2.0763E-73 6.1861E-42 T/F +/+ +/+ +/+ -/+  F9/100% T-test 2.3766E-02 4.7325E-08 1.1628E-02 4.0496E-07 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F10/37.5% T-test 1.4552E-01 6.3556E-01 1.7863E-01 1.5229E-01 F-test 1.6245E-09 8.7781E-01 1.3244E-04 7.0381E-10 T/F -/+ -/- -/+ -/+  F11/100% T-test 0.0000E+00 0.0000E+00 3.9290E-02 0.0000E+00 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F12/100% T-test 0.0000E+00 0.0000E+00 0.0000E+00 6.8809E-06 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F13/100% T-test 2.3766E-02 4.7325E-08 2.2266E-02 1.6671E-05 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F14/50.0% T-test 1.2857E-01 2.9792E-01 6.8323E-02 4.2411E-01 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F -/+ -/+ -/+ -/+  F15/100% T-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F16/100% T-test 1.7538E-02 2.3093E-03 2.3093E-03 3.9836E-02 F-test 2.2333E-51 6.1220E-16 6.2159E-42 2.4880E-31 T/F +/+ +/+ +/+ +/+  F17/100% T-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+  F18/50.0% T-test 3.5592E-01 3.5592E-01 3.4659E-01 3.4659E-01 F-test 1.0490E-71 1.6603E-116 2.5120E-52 4.4566E-67 T/F -/+ -/+ -/+ -/+  F19/100% T-test 1.3200E-02 5.4837E-02 1.5650E-03 3.3401E-01 F-test 0.0000E+00 5.7934E-298 0.0000E+00 1.3100E-303 T/F +/+ +/+ +/+ +/+  F20/100% T-test 4.6049E-02 4.2513E-04 1.3872E-08 3.6213E-02 F-test 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 T/F +/+ +/+ +/+ +/+To compare SFDE with other algorithms, we select advanced variants of DE, namely, JADE, DMPSADE, and IMMSADE, which is introduced in [12]. The comparison results are as shown as follows in Table 4.Table 4
Comparison results of function optimization (30d).
Function Dim Algorithm MEAN STD f x =  ∑ i = 1 N x i 2 30 SFDE 0.00E+00 0.00E+00 SaDE 0.00E+00 0.00E+00 JADE 0.00E+00 0.00E+00 DMPSADE 0.00E+00 0.00E+00 IMMSADE 0.00E+00 0.00E+00  f x =  ∑ i = 1 N - 1 100 x i 2 - x i + 1 2 + x i - 1 2 30 SFDE 5.62E+00 1.06E+00 SaDE 4.67E+01 3.23E+01 JADE 2.97E+00 8.17E+00 DMPSADE 7.48E-06 2.24E-05 IMMSADE 0.00E+00 0.00E+00  f x = - 20 exp ⁡ - 0.2 1 N  ∑ i = 1 N x i 2 - exp ⁡ 1 N  ∑ i = 1 N cos ⁡ 2 π x i + 20 + e 30 SFDE 5.47E+00 2.12E-12 SaDE 2.09E+01 4.26E-03 JADE 2.09E+01 1.67E-01 DMPSADE 2.02E+01 1.60E-01 IMMSADE 3.99E-15 0.00E+00Table4 shows a clear comparison of SFDE-SaDE, SFDE-JADE, SFDE-DMPSADE, and SFDE-IMMASDE. From Table 4, it is clear to see that the convergence speed of SFDE is faster among the considered algorithms for most of test functions.


## 5. Simulation of Spectrum Throughput Optimization

There are three ways of spectrum sensing: energy detection, matched filter detection, and cyclone-stationary property detection, the most commonly used of which is energy detection. In this way, if the length of each frame is fixed, its sensing time synchronizes with its energy accumulation. At the same time, if authorized users have good protection, the false alarm probability will be smaller and the detection rate will be larger, but the data transmission time will be shortened [14]. That is to say, the idle time of the cognitive user’s usage spectrum becomes shorter, resulting in lower throughput of the cognitive user. Therefore, how to arrange an effective schedule to maximize the throughput of cognitive users (i.e., authorized users have a right of first class service) is a hot research topic.At present, Monte Carlo is a common method, but its implementation is a complex and time-consuming task [15], and the more important point we have noticed is that it cannot also meet the real-time requirements. It is high time to improve the sensing time by using the improved Differential Evolution algorithm, such as good searching performance, fewer parameters, and faster convergence rate, so as to maximize the system throughput.


### 5.1. Mathematical Model Based on Energy Detection

Without interfering with the authorized users, it is necessary to determine if they are busy or idle by continuously detecting signals received in a certain frequency band, so as to determine whether these resources are accessible or not, which is a binary hypothesis testing problem, we assume that the authorized user accesses his reserved frequency for periodicT1, and its disappearance takes T0 as a cycle; the energy detection model is as formula (15):(15)T0:zn=μnT1:zn=sn+μnIn the above model, z(n) is the signal received by the cognitive user. μ(n) is a Gaussian noise with a mean of 0 and a variance of σμ2. s(n) is the signal belonged to authorized user, the mean value is 0, and the variance is σ2.Spectrum sensing concerns two parameters (i.e., detection probability and false alarm probability) [16]. Let τ be the duration of observation, and while the statistic index denotes as formula (16)(16)W=1N∑n=1Nzn2whereN is the amount of those perceived samples andf is the sampling frequency, it is obvious that N=τf. Suppose that probability density W is a random variable with distribution of χ2 and a given threshold ε; the false alarm probability can be given by the following formula (17):(17)Pfε=PτW>ε∣T0=12πσ0∫N∞e-W-μ02/2σ02dx=Qεσμ2-τfwhere Pf(ε) refers to the probability of misjudging an authorized user without his/her perceiving, δ02 is the variance of W, and μ0 is the mean of W, respectively.However, assuming the givenT1 and a threshold ε, the probability density W will be a noncentral χ2 distribution variable. Then the corresponding detection probability is shown in formula (18).(18)Pdε=PτW>ε∣T1=Qεσμ2-γ-1τf2γ+1where Pd(ε) refers to the probability of correctly judging the existence of authorization and γ is the signal-to-noise ratio from cognitive users to authorized users. From formulas (17) and (18) combined, we infer that formulas (19) and (20) are correct.(19)Pf=Q2γ+1Q-1Pd¯+τfγ(20)Pd=Q12γ+1Q-1Pf¯-τfγWhen the timely requirement of an authorized user is detected, the related cognitive user needs to quickly give a way to the authorized user. Based on the above formulas (19) and (20), it is obvious that the higher the value of Pd is, the better the related protection is obtained. The lower the Pf is, the higher the reusability of wireless resource is. So a good algorithm should have high Pd and low Pf.


### 5.2. A Trade-Off between User Throughput and Perceived Time

The time cost of processing one data frame of cognitive radio includes two parts, i.e., frame perceived phase and data transmission phase. When the first perception becomes longer, the detection probability becomes larger, the probability of false alarm becomes smaller, but the cognitive user’s data transmission time will be reduced [17]. Therefore, how to balance the sensing and transmission time under the precondition of authorizing users to operate safely and then improve the throughput of the cognitive radio system is an urgent problem to be solved. In this section, the periodic structure of the radio frame is the basis for research, as shown in Figure 6.Figure 6
Period-aware frame structure.When the authorized user is not in the channel, there is no false alarm probability [18]; the cognitive user’s throughput is C0=log⁡2(1+SNRs); if an authorized user exists, the cognitive user throughput is C1=log⁡2(1+SNRs/(1+SNRp)). Obviously C0 > C1, and SNRs=Ps/N0, wherePs is the average cognitive user power and N0 is the noise power. Then SNRp=Pp/N0, where Pp is the interference degree of the authorized user at the cognitive user acceptance point [19]. It can be found that, in order to protect authorized users, the probability of Pd- is close to 1. At this time the system throughput is as formula (21):(21)Rτ=R0ε,τ+R1ε,τAmong them, R0(ε,τ)=T-τ/TC01-Pfε,τP(H0)  R1(ε,τ)=T-τ/TC11-Pdε,τP(H1), P(H0) and P(H1) denote the probability that the first user will not appear and appear, respectively, and P(H0)+P(H1)=1. Since C0 > C1 and Pd- approximately equal 1, R1 is close to zero. Then formula (21) can simplify the following formula (22):(22)Rτ≈R0ε,τ=T-τTC01-Pfε,τPH0Since theQ is a decreasing function, when the sensing time becomes larger, under the specified detection probability, the false alarm probability will be small, and the data transmission time will be smaller. That is to say, the value of formula (22) may become larger or smaller. The trade-off between perceived user throughput and perceived time is to find the optimal sensing timeτ under the protection of the authorized user, so that the system arrives at the maximum effective throughput. Therefore, the optimization problem of looking for the optimal perception time is transformed into formula (23):(23)max:Rτ=R0ε,τs.tPdε,τ≥Pd¯To solve problem of the effective throughput of spectrum resource in wireless cognition network, we need to find the best service mode for the personalized users. This is a problem of function optimization. This section uses the SFDE to find the optimal perception time.


### 5.3. Specific Solution Based on SFDE

Specific implementation steps are as follows, which is based on SFDE.Step(1) initializes a population. The entire range of variables is from 0.001 to 1 into 45 intervals. The upper limit of thei-th segment isbounds(i,2) and the lower bound is limited to bounds (i,1). The specific evaluation process is shown as formula (24):(24)boundsi,2=0.01+0.0002∗iboundsi,1=0.01+0.0002∗i-1where each interval assumes as an individual and the whole has 45 individual vectors. The whole population divide themselves into the three subpopulations, each of which has 15 individuals. Then each individual is initialized as shown in formula (25):(25)xj,i0=boundsi,1+0.0002∗rand0,1where the0.0002 is the length of itself individual gene in the population.Step(2) finds the optimal individualXlbest in each subpopulation. Each gene vector is brought into fitness formula (22). TheXlbest is based on the fitness and the maximum value of each gene for each individual. With randomly selecting the parametersF andCR for each individual from the parameter candidate pool, we can get the sniffing valuesF_ad andF_de of the parameterF corresponding to each individual are obtained and use the optimal individual to compute the variation vector.Step(3) chooses sniffing valuesCR_ad andCR_de of the parameterCRcorresponding to each individual. And we can combine the intermediate vector with the mutation vector of Step (2).Step(4) lets the intermediate vector obtained in Step (3) participate in the selection operation, and we can compute the fitness values for each gene in each intermediate vector by formula (22) and compare the fitness value with the target vector. If the fitness is greater than the target vector, the gene will replace the gene corresponding to the target individual. Repeat Steps (2)–(4) until all individuals in the population have completed the operation of mutation, crossover, and selection. Then the new population goes into the next generation.Step(5) repeats Steps (2)–(4) until the maximum number of iterations is reached. The optimal sensing time and the corresponding maximum effective throughput are obtained.


### 5.4. Parameters Setting

In order to prove the effectiveness of the SFDE algorithm in the process of system effective throughput optimization, the simulation carries out and compares with the Monte Carlo method. In order to fully reflect the superiority and contrast integrity of the improved SFDE, the experiment will contrast those brand-new variants, such as JADE, MDE, EPSDE, and CODE. In addition, this experiment will also join the standard particle swarm algorithm to illustrate the Differential Evolution more effectively. The simulation in the hardware configuration for the INTER CORE i7, CPU 3.19GHz, memory 1.98GB running on the computer, the program written to run the software for the MATLAB 7.0. The parameters used in the system simulation experiment are shown in Table5.Table 5
The parameters used in the simulation experiment.
Parameter value Description NP 45 Population size. D 20 Population individual dimension. iMax 20 The maximum number of iterations. W 5 The maximum number of individuals that the archive set holds. N 15 The number of individuals per sub population. P 0.1 The step size of the parameters of the parameter pool. P(H0) 0.2 The probability of occurrence of cognitive users. P d - 0.95 Detection of non-value of probability. F 6MHz Sampling frequency. SNRp -15dB Authorized user’s SNR. SNRs 20dB Cognitive user’s SNRThe convergence curve obtained by the simulation is shown in Figure7. From the effective throughput convergence charts obtained in Figure 5, it can be seen that the optimal sensing time of the SFDE is 3.67ms and 3.7ms for Monte Carlo. The maximum effective throughput of SFDE is 5.2231bps/Hz, while Monte Carlo’s throughput is 5.1947bps/Hz. The SFDE achieves better goat than the Monte Carlo, which is close to the theoretical value of 5.3bps/Hz. For PSO, it is the maximum throughput with 4.5126bps/Hz, much worse than that of SFDE. JADE is second only to Monte Carlo, but its corresponding sensing time is 5.67ms, which is significantly worse. In summary, SFDE in the throughput performance is very good.Figure 7
Comparison of SFDE and Monte Carlo for system effective throughput.It can be seen from the experimental results in Figure8 that the convergence rate of SFDE in the optimization process is much faster than that of others, especially Monte Carlo. The SFDE spends only 2.1987s on finding the best sensing time, while Monte Carlo spends 52.1423s. So the sensing time of SFDE is 23.7 times faster than Monte Carlo. It is even 5.69 times faster than the EPSDE. Monte Carlo is not dominant in the selection of sensing time; that is, it is not suited to real-time.Figure 8
Comparison of SFDE and Monte Carlo convergence rate.From the above experimental results, SFDE increases the system throughput with ensuring the convergence of the premise. Eventually SFDE greatly improve the convergence rate. In other words, SFDE overcomes the shortcomings of Monte Carlo and others that are not suitable for real-time, which makes it more practical in solving the effective throughput optimization of cognitive users.


## 5.1. Mathematical Model Based on Energy Detection

Without interfering with the authorized users, it is necessary to determine if they are busy or idle by continuously detecting signals received in a certain frequency band, so as to determine whether these resources are accessible or not, which is a binary hypothesis testing problem, we assume that the authorized user accesses his reserved frequency for periodicT1, and its disappearance takes T0 as a cycle; the energy detection model is as formula (15):(15)T0:zn=μnT1:zn=sn+μnIn the above model, z(n) is the signal received by the cognitive user. μ(n) is a Gaussian noise with a mean of 0 and a variance of σμ2. s(n) is the signal belonged to authorized user, the mean value is 0, and the variance is σ2.Spectrum sensing concerns two parameters (i.e., detection probability and false alarm probability) [16]. Let τ be the duration of observation, and while the statistic index denotes as formula (16)(16)W=1N∑n=1Nzn2whereN is the amount of those perceived samples andf is the sampling frequency, it is obvious that N=τf. Suppose that probability density W is a random variable with distribution of χ2 and a given threshold ε; the false alarm probability can be given by the following formula (17):(17)Pfε=PτW>ε∣T0=12πσ0∫N∞e-W-μ02/2σ02dx=Qεσμ2-τfwhere Pf(ε) refers to the probability of misjudging an authorized user without his/her perceiving, δ02 is the variance of W, and μ0 is the mean of W, respectively.However, assuming the givenT1 and a threshold ε, the probability density W will be a noncentral χ2 distribution variable. Then the corresponding detection probability is shown in formula (18).(18)Pdε=PτW>ε∣T1=Qεσμ2-γ-1τf2γ+1where Pd(ε) refers to the probability of correctly judging the existence of authorization and γ is the signal-to-noise ratio from cognitive users to authorized users. From formulas (17) and (18) combined, we infer that formulas (19) and (20) are correct.(19)Pf=Q2γ+1Q-1Pd¯+τfγ(20)Pd=Q12γ+1Q-1Pf¯-τfγWhen the timely requirement of an authorized user is detected, the related cognitive user needs to quickly give a way to the authorized user. Based on the above formulas (19) and (20), it is obvious that the higher the value of Pd is, the better the related protection is obtained. The lower the Pf is, the higher the reusability of wireless resource is. So a good algorithm should have high Pd and low Pf.


## 5.2. A Trade-Off between User Throughput and Perceived Time

The time cost of processing one data frame of cognitive radio includes two parts, i.e., frame perceived phase and data transmission phase. When the first perception becomes longer, the detection probability becomes larger, the probability of false alarm becomes smaller, but the cognitive user’s data transmission time will be reduced [17]. Therefore, how to balance the sensing and transmission time under the precondition of authorizing users to operate safely and then improve the throughput of the cognitive radio system is an urgent problem to be solved. In this section, the periodic structure of the radio frame is the basis for research, as shown in Figure 6.Figure 6
Period-aware frame structure.When the authorized user is not in the channel, there is no false alarm probability [18]; the cognitive user’s throughput is C0=log⁡2(1+SNRs); if an authorized user exists, the cognitive user throughput is C1=log⁡2(1+SNRs/(1+SNRp)). Obviously C0 > C1, and SNRs=Ps/N0, wherePs is the average cognitive user power and N0 is the noise power. Then SNRp=Pp/N0, where Pp is the interference degree of the authorized user at the cognitive user acceptance point [19]. It can be found that, in order to protect authorized users, the probability of Pd- is close to 1. At this time the system throughput is as formula (21):(21)Rτ=R0ε,τ+R1ε,τAmong them, R0(ε,τ)=T-τ/TC01-Pfε,τP(H0)  R1(ε,τ)=T-τ/TC11-Pdε,τP(H1), P(H0) and P(H1) denote the probability that the first user will not appear and appear, respectively, and P(H0)+P(H1)=1. Since C0 > C1 and Pd- approximately equal 1, R1 is close to zero. Then formula (21) can simplify the following formula (22):(22)Rτ≈R0ε,τ=T-τTC01-Pfε,τPH0Since theQ is a decreasing function, when the sensing time becomes larger, under the specified detection probability, the false alarm probability will be small, and the data transmission time will be smaller. That is to say, the value of formula (22) may become larger or smaller. The trade-off between perceived user throughput and perceived time is to find the optimal sensing timeτ under the protection of the authorized user, so that the system arrives at the maximum effective throughput. Therefore, the optimization problem of looking for the optimal perception time is transformed into formula (23):(23)max:Rτ=R0ε,τs.tPdε,τ≥Pd¯To solve problem of the effective throughput of spectrum resource in wireless cognition network, we need to find the best service mode for the personalized users. This is a problem of function optimization. This section uses the SFDE to find the optimal perception time.


## 5.3. Specific Solution Based on SFDE

Specific implementation steps are as follows, which is based on SFDE.Step(1) initializes a population. The entire range of variables is from 0.001 to 1 into 45 intervals. The upper limit of thei-th segment isbounds(i,2) and the lower bound is limited to bounds (i,1). The specific evaluation process is shown as formula (24):(24)boundsi,2=0.01+0.0002∗iboundsi,1=0.01+0.0002∗i-1where each interval assumes as an individual and the whole has 45 individual vectors. The whole population divide themselves into the three subpopulations, each of which has 15 individuals. Then each individual is initialized as shown in formula (25):(25)xj,i0=boundsi,1+0.0002∗rand0,1where the0.0002 is the length of itself individual gene in the population.Step(2) finds the optimal individualXlbest in each subpopulation. Each gene vector is brought into fitness formula (22). TheXlbest is based on the fitness and the maximum value of each gene for each individual. With randomly selecting the parametersF andCR for each individual from the parameter candidate pool, we can get the sniffing valuesF_ad andF_de of the parameterF corresponding to each individual are obtained and use the optimal individual to compute the variation vector.Step(3) chooses sniffing valuesCR_ad andCR_de of the parameterCRcorresponding to each individual. And we can combine the intermediate vector with the mutation vector of Step (2).Step(4) lets the intermediate vector obtained in Step (3) participate in the selection operation, and we can compute the fitness values for each gene in each intermediate vector by formula (22) and compare the fitness value with the target vector. If the fitness is greater than the target vector, the gene will replace the gene corresponding to the target individual. Repeat Steps (2)–(4) until all individuals in the population have completed the operation of mutation, crossover, and selection. Then the new population goes into the next generation.Step(5) repeats Steps (2)–(4) until the maximum number of iterations is reached. The optimal sensing time and the corresponding maximum effective throughput are obtained.


## 5.4. Parameters Setting

In order to prove the effectiveness of the SFDE algorithm in the process of system effective throughput optimization, the simulation carries out and compares with the Monte Carlo method. In order to fully reflect the superiority and contrast integrity of the improved SFDE, the experiment will contrast those brand-new variants, such as JADE, MDE, EPSDE, and CODE. In addition, this experiment will also join the standard particle swarm algorithm to illustrate the Differential Evolution more effectively. The simulation in the hardware configuration for the INTER CORE i7, CPU 3.19GHz, memory 1.98GB running on the computer, the program written to run the software for the MATLAB 7.0. The parameters used in the system simulation experiment are shown in Table5.Table 5
The parameters used in the simulation experiment.
Parameter value Description NP 45 Population size. D 20 Population individual dimension. iMax 20 The maximum number of iterations. W 5 The maximum number of individuals that the archive set holds. N 15 The number of individuals per sub population. P 0.1 The step size of the parameters of the parameter pool. P(H0) 0.2 The probability of occurrence of cognitive users. P d - 0.95 Detection of non-value of probability. F 6MHz Sampling frequency. SNRp -15dB Authorized user’s SNR. SNRs 20dB Cognitive user’s SNRThe convergence curve obtained by the simulation is shown in Figure7. From the effective throughput convergence charts obtained in Figure 5, it can be seen that the optimal sensing time of the SFDE is 3.67ms and 3.7ms for Monte Carlo. The maximum effective throughput of SFDE is 5.2231bps/Hz, while Monte Carlo’s throughput is 5.1947bps/Hz. The SFDE achieves better goat than the Monte Carlo, which is close to the theoretical value of 5.3bps/Hz. For PSO, it is the maximum throughput with 4.5126bps/Hz, much worse than that of SFDE. JADE is second only to Monte Carlo, but its corresponding sensing time is 5.67ms, which is significantly worse. In summary, SFDE in the throughput performance is very good.Figure 7
Comparison of SFDE and Monte Carlo for system effective throughput.It can be seen from the experimental results in Figure8 that the convergence rate of SFDE in the optimization process is much faster than that of others, especially Monte Carlo. The SFDE spends only 2.1987s on finding the best sensing time, while Monte Carlo spends 52.1423s. So the sensing time of SFDE is 23.7 times faster than Monte Carlo. It is even 5.69 times faster than the EPSDE. Monte Carlo is not dominant in the selection of sensing time; that is, it is not suited to real-time.Figure 8
Comparison of SFDE and Monte Carlo convergence rate.From the above experimental results, SFDE increases the system throughput with ensuring the convergence of the premise. Eventually SFDE greatly improve the convergence rate. In other words, SFDE overcomes the shortcomings of Monte Carlo and others that are not suitable for real-time, which makes it more practical in solving the effective throughput optimization of cognitive users.


## 6. Conclusion

In this paper, in order to optimize the radio time perception, so that the system throughput can be maximized, a Shuffled Frog-leaping Differential Evolution (SFDE) algorithm is put forward, which combines shuffled frog leaping with differential evolution. The experimental studies show that in the same situation the proposed SFDE algorithm improves the existing performance of others. This article simulates the effective throughput of cognitive users in radio and uses the improved SFDE to optimize. Experimental results show that, under the same situation, the SFDE can reach the theoretical value of throughput optimization accuracy, and the convergence speed is also faster.



---

*Source: 2965061-2019-03-04.xml*