基于非支配排序的多目标PSO算法MATLAB实现

本文共496个字,预计阅读时间需要2分钟。

这一篇是Xue Bing在一区cybernetics发的论文,里面提出了两个多目标PSO特征选择算法,一个是NSPSO另一个是CMDPSO。其中NSPSO是参考了NSGA2的框架和思想。

该算法简介请转到:

基于非支配排序的多目标PSO算法

伪代码

具体流程

  • ①划分数据集为测试集和训练集
  • ②初始化PSO算法
  • ③迭代开始
  • ④计算两个目标值(论文中是特征数和错误率)
  • ⑤非支配排序
  • ⑥拥挤距离度量并排序
  • ⑥对每个粒子从第一前沿面选择一个粒子作为gbest,更新当前粒子
  • ⑦调整粒子群
  • ⑧迭代结束返回

MATLAB实现:

NSPSO:

注意其中FSKNN是我的问题的评价函数,包含两个目标值,都存入到pfitness中

NDSort.m为非支配排序代码,请转到

非支配排序算法通用MATLAB代码

拥挤距离代码:

Truncation.m代码:

 

42 位极客在 “基于非支配排序的多目标PSO算法MATLAB实现” 留下足迹

  1. 博主您好,请问可以把NSPSOFS和CMDPSO的代码分享一份给我吗?zhanglx01290122@163.com

  2. 博主您好,看了您的文章感觉非常棒。想问能否分享一份NSPSO的代码用于参考学习呢?

    • 朋友,你现在有NSPSOF和CMDPSO的代码了吗,有的话可以请你发一份给我吗,不甚感激!3178234375@qq.com