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

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

该算法简介请转到:

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

伪代码

具体流程

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

MATLAB实现:

NSPSO:

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

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

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

拥挤距离代码:

Truncation.m代码:

 

47 评论

  1. 楼主你好,正在研读薛冰的这篇文章,请问可以发下源码吗感激不尽1261541459@qq.com

    • 你好,由于年代久远,目前这个代码只有当前页面部分了。您可以自学一下MATLAB,写一个main函数就行。

  2. 你好博主,请问NSPSOF和CMDPSO的代码可以发我一份吗?感激不尽!243752644@qq.com

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

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

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

  5. 博主您好!经常研读您的文章,请问您可以发我一份NSPSOFS和CMDPSO的matlab代码吗?万分感谢!!邮箱是1294416095@qq.com
    万分感谢

  6. 您好,请问可以发一份代码给我吗谢谢呀
    邮箱是809272077@qq.com

  7. 博主您好!感谢博主的讲解,请问您可以把NSPSOFS和CMDPSO的代码发一份给我吗?万分感谢1357194677@qq.com

  8. 楼主,可以分享一下CMDPSO算法吗?我的邮箱是648092066@qq.com.谢谢了!

  9. 初学者冒昧问一下,在运行时都会出现需要输入更多参数,要输入那些参数呢,求指教。

  10. 楼主您好,请问您也可以给我发一份用matlab编写的CMDPSO的算法吗?非常感谢!我的邮箱是1538313116@qq.com。

  11. 非常感谢您的慷慨帮助,但是冒昧地请问您有“非支配排序的多目标PSO算法”的另一个算法CMDPSO吗?再次打扰,万分抱歉!

  12. 楼主您好,请问您也可以帮我发一份用matlab编写的CMDPSO的算法吗?非常感谢,麻烦你了

  13. 非常感谢楼主,看到了这篇感到收益匪浅,我想运行一下代码再仔细学习一下,能发一下吗?我的邮箱1442476218@qq.com,保证只做自己学习使用,不做他用,谢谢您了

  14. 抱歉深夜还来请教您问题。我把评价函数换成ZDT1后,GEN到了4时,Truncation函数发生出错,
    错误使用 pdist2 (line 224)
    PDIST2 does not accept complex data for built-in distances.
    请问为什么会这样呢?

  15. 楼主,您好,能否发一下您推荐的这篇文章,我搜了好久都没有搜索到这篇,只看到了其他,我的邮箱是1637678434@qq.com,谢谢您了

  16. 楼主您好,我最近也在做NSPSO算法的一个多目标问题,有几个问题想咨询一下,楼主可以加一下联系方式吗?

  17. 非常感谢楼主的代码,想问下楼主两个目标(最小化特征数和最小化错误率)评价函数是怎么写的。同一篇论文的CMDPSOFS算法楼主能够实现吗,谢谢

  18. 楼主,请问这个有python的代码嘛???可不可以发一下python代码

  19. 楼主能把数据集与训练集也颇出来吗 希望能够程序能够运行边运行边看理解

    • 这个在我的其他群智能算法里面有划分数据集的算法,你看看关于NSGA2的一些代码,可以自己组装一下

回复 Xiaoyu Shen取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注