(1)β iter 0, , Initialize particles β |
(2)ββstop_criterionmaximum number of function evaluations or is not attained |
(3) βwhileββ Not stop_criterionββdo |
(4) ββββββforββeach particle ββtoββββdo |
(5) βββββEvaluateββifββthe fitness value is better than the best fitness value (cbest) in historyββthen |
(6) β βββββββUpdate current value as the new . |
(7) βββββend |
(8) ββββββend |
(9) ββββββChoose the particle with the best fitness value in the neighborhood () |
(10) ββββββforββeach particle ββtoββββdo |
(11)β βββββUpdate particle velocity according to Equationββ(3) |
(12) β βββββEnforce velocity bounds |
(13) β βββββUpdate particle position according to Equationββ(4) |
(14) β βββββEnforce particle bounds |
(15) ββββββend |
(16) ββββββifββthere is no improvement of global best solutionββthen |
(17)βββββ |
(18) ββββββend |
(19) ββββββUpdate global best solution |
(20) ββββββ |
(21) ββββββifββββthen |
(22)βββββ |
(23) βββββApply SA to global best solution |
(24) βββββiterSA 0, Initialize according to Equationββ(5) |
(25) βββββ global_best_solution |
(26) βββββ Evaluate() |
(27) βββββwhileββNot SA_stop_criterionββdo |
(28) βββββββwhileββinner-loop stop criterionββdo |
(29) βββββββββ Generate() |
(30) βββββββββ Evaluate() |
(31) βββββββββifββAccept(current_cost, Neighbor_cost, )ββthen |
(32) βββββββββββ |
(33) βββββββββββ |
(34) βββββββββend |
(35) βββββββββiterSA iterSA + 1 |
(36) βββββββββUpdate (global_best_solution) |
(37) βββββββend |
(38) βββββββUpdate() according to Equation(2) |
(39) βββββββUpdate (SA_stop_criterion) |
(40) βββββend |
(41) ββββββend |
(42) ββββββiter iter + 1, Update (stop_criterion) |
(43) end |