Research Article

Multiobjective Optimization of PID Controller of PMSM

Algorithm 1

NSGA-II algorithm.
Pop = InitPop(N)            % initialization
Fronts = Fast_Nondominated_Sort (Pop)      % fast nondominated sort
while gen ngens
for i = 1: N
  p1, p2 = Parents_ select (Pop(i))
  TempPop(i).x = crossover(p1, p2)    % crossover operation
  TempPop(i).x = mutation(%mutation) % mutation operation
  NewPop(i) = TempPop(i) Pop(i) % new population obtaining
  Fronts = Fast_Nondominated_Sort (NewPop(i))
end for
k = 0
Pop = Null
while sizeof (Pop) < N
   = Get_ Fronts(Fronts, k)   % Pareto fronts obtaining
  Pop = Pop Ind_ Pront(NewPop, )
  k = k + 1
end while
gen = gen + 1
end while