Research Article

Enhanced Differential Evolution Algorithm with Local Search Based on Hadamard Matrix

Algorithm 2

New framework of DE with HLS.
Input: D, NP, F, CR, P, MaxFEs
(1)Randomly initialize population pop
(2)Evaluate the pop by objective function obj_func, get fit
(3)FEs = NP
(4)while FEs < MaxFEs do
(5) for i = 1: NP do
(6)  Execute the mutation operator to generate a mutation vector
(7)  Execute the crossover operator to generate a trial vector
(8)  Evaluate the trial vector to get fit_ui
(9)  FEs = FEs + 1
(10)  if fit_ui< fit(i)
(11)   pop(i,:) = 
(12)   fit(i) = fit_ui
(13)  else
(14)   if rand < P
(15)    offspring = HLS(, pop(i, :))
(16)    ovalue = obj_func(offspring)
(17)    FEs = FEs + 4;
(18)    [min_value, min_index] = min(ovalue)
(19)    if min_value < fit(i)
(20)     pop(i, :) = offspring(min_index)
(21)     fit(i) = min_value
(22)    end
(23)   end
(24)  end
(25) end
(26)end
Output: optimal solution