gusucode.com > 几种多目标优化算法集合,包括MOEAD,MOPSO,NNIA,NSGA2等 > MOPSO/DetermineDomination.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % MATLAB Code for % % % % Multi-Objective Particle Swarm Optimization (MOPSO) % % Version 1.0 - Feb. 2011 % % % % According to: % % Carlos A. Coello Coello et al., % % "Handling Multiple Objectives with Particle Swarm Optimization," % % IEEE Transactions on Evolutionary Computation, Vol. 8, No. 3, % % pp. 256-279, June 2004. % % % % Developed Using MATLAB R2009b (Version 7.9) % % % % Programmed By: S. Mostapha Kalami Heris % % % % e-Mail: sm.kalami@gmail.com % % kalami@ee.kntu.ac.ir % % % % Homepage: http://www.kalami.ir % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function pop=DetermineDomination(pop) npop=numel(pop); for i=1:npop pop(i).Dominated=false; for j=1:i-1 if ~pop(j).Dominated if Dominates(pop(i),pop(j)) pop(j).Dominated=true; elseif Dominates(pop(j),pop(i)) pop(i).Dominated=true; break; end end end end end