Research Article
An Enhanced Differential Evolution Algorithm Based on Multiple Mutation Strategies
() 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 |
|