拥挤距离:第i-1个与第i+1个所有目标函数值之差的和。注意是所有目标函数值之差。因此需要将每个目标函数值排序后进行计算,其中第一个和最后一个个体的拥挤距离设置为无穷大。
部分代码如下:for i = 1:M %目标函数个数 lim_f(i,1) = min(new_AC(:,k+i)); %目标函数的极小值(k之后对应各个目标值) lim_f(i,2) = max(new_AC(:,k+i)); %目标函数的极大值 end DD = []; crowd_value = []; for i = 1:M [val,ind] = sort(new_AC(:,k+i)); %将目标函数i的值排序 %遍历种群中的所有个体 for j = 1:s2 if j == 1 DD(ind(j),i) = inf; %设置目标函数i的极小值的拥挤距离值为无穷大 elseif j == s2 DD(ind(j),i) = inf; %设置目标函数i的极大值的拥挤距离值为无穷大 else DD(ind(j),i) = (new_AC(ind(j+1),k+i) - new_AC(ind(j-1),k+i))/(lim_f(i,2) - lim_f(i,1)); %计算目标函数i非边界点的拥挤距离值 end end end for jj = 1:s2 crowd_value(jj) = sum(DD(jj,:)); %计算各个粒子的拥挤距离值(求和) end
相关文章
- 01-01一个基于特征向量的近似网页去重算法——term用SVM人工提取训练,基于term的特征向量,倒排索引查询相似文档,同时利用cos计算相似度
- 01-01<算法导论>学习笔记(1)--第1章 算法在计算中的作用
- 01-01剑指offer系列——二维数组中,每行从左到右递增,每列从上到下递增,设计算法找其中的一个数
- 01-01游戏设计中的算法题——计算宝物升级所需的资源数
- 01-01算法的时间、空间复杂度计算
- 01-01在thinkphp中,写的博文标签多对多关系的标签频率统计算法
- 01-01计算机视觉中的算法幻想性视错觉
- 01-01Cardinality Estimation算法学习(一)(了解基数计算的基本概念及回顾求字符串中不重复元素的个数的问题)
- 01-01NSGA2算法中的拥挤度计算
- 01-01算法的时间复杂度比较,计算多项式的直接法和秦九韶法