Research Article

Differential Evolution Algorithm with Self-Adaptive Population Resizing Mechanism

Algorithm 2

The SapsDE algorithm.
: Begin
:  
:  Randomly initialize a population of vectors uniformly distributed in the
:  range
:  Evaluate the fitness values of the population
:  while termination criterion is not satisfied do
:   for   to   do
:    Generate donor vector
:    if     then
:     
:     // mutate with DE/rand-to-best/1 strategy
:    else
(13):     
(14):     // mutate with DE/current-to- best/1 strategy (JADE)
(15):    end if
(16):    Through crossover operation to generate trial vector
(17):     Strategy
(18):    Evaluate the trial vector
(19):    if    then
(20):      // Save index for replacement
(21):    end if
(22):   end for
(23):   // is the minimum value of function evaluations in the last generation
(24):   // is the low bound of population size
(25):   if min(   then
(26):     ;
(27):     = min( )
(28):   else
(29):     ;
(30):     = + 1;
(31):   end if
(32):   if  popsizeLbound then
(33):     = + 1
(34):   end if
(35):   if ( == 1) and ( ) then
(36):    Population_Reducing_Strategy()
(37):     = 0
(38):   end if
(39):   if ( == 1) then
(40):    Population_Augmenting_Strategy1()
(41):    Evaluate the new additional individuals
(42):     = 0
(43):    
(44):   end if
(45):   if ( ) or  ( ) then
(46):    Population_Augmenting_Strategy2()
(47):    Evaluate the new additional individuals
(48):    
(49):    
(50):   end if
(51):    = + 1
(52):  end while
(53): End