(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 |