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