Research Article

An Enhanced Differential Evolution Algorithm Based on Multiple Mutation Strategies

Algorithm 2

The EDE algorithm.
() Initialize a population of NP individuals based on the opposition-based learning technique
() Set // FEs represents the iteration counter
// represents the maximum number of fitness function evaluations
()    while  FEs      do
()     for   to NP  do
()      Sort the population from best to worst
()      Randomly choose a relatively better individual from the top individuals, and let
        best represent the index of chosen individual
()      Select uniform randomly
()      if  rand      then
()       Generate a mutant individual according to (5)
()     else
()      Generate a mutant individual according to (6)
     
()     end if
()     Let
      //rand is a function for generating a random number in the range of [0,  1]
()     Let
()     for   to   do
()     if    then
()      
()     end if
()     end for
()     Evaluate the new produced individual
()     Set FEs = FEs + 1
()     if   is better than   then
()       Replace with
()     end if
()   end for
()   //Perturb the best individual dimension by dimension
()   for   to   do
()      Set // best denotes the index of best individual
()      
()      
()      if    then
()       Modify according to (8)
()      else
()       Modify according to (9)
()      end if
()      Evaluate the modified individual
()      Set FEs = FEs + 1
()      Choose a better individual from the set to represent
()  end for
()   Record the best solution found so far
() end while