Research Article

Memetic Differential Evolution with an Improved Contraction Criterion

Algorithm 2

Pseudocode of MDE.
(1) Generate the initial population , define as the th vector in ,
is the best vector in the current generation,
is the global best vector in the generation. is the population size,
is the number of function evaluations in each run, is the maximum generation,
is the number of max function evaluation,
is the number of decision variable, is the mutation factor, is crossover rate,
and are the contraction criterion, is the restart mark.
(2)
(3) Evaluate the fitness for the each individual in .
   .
(4) ,
(5)   while    and    do
(6)    Global search using DE
(7)    for   to   do
(8)    ,
(9)    Select , , and
(10)    
(11)    if    then
(12)     Using DE/rand/1/bin to generate  
(13)    else
(14)     Using DE/rand/1/exp to generate
(15)    end if
(16)    Evaluate the trial vector  .
(17)    if   is better than   then
(18)     
(19)    end if
(20)   end for
(21)   if    then
(22)    Replace with .
(23)   end if
(24)   Local search using BFGS
(25)   Calculate the contraction criterion as described in Section 3.1
(26)   if    then
(27)    Pick up the as the initial point of the local search.
(28)    Apply BFGS to find the resultant new local optimum as described in Section 3.2.
(29)    if    then
(30)     Replace with .
(31)     
(32)     
(33)    else
(34)     
(35)    end if
(36)    if    then
(37)     Replace with .
(38)   end if
(39)   Restart mechanism
(40)   if    then
(41)    Run the re-initialization to create a new population as described in Section 3.3.
(42)    Reinitialize .
(43)   end if
(44)   
(45)  end if
(46) end while