乐于分享
好东西不私藏

找不到源码?缺测试集?这些开源进化算法平台,帮你告别“重复造轮子”

找不到源码?缺测试集?这些开源进化算法平台,帮你告别“重复造轮子”

关注并星标

从此不迷路

KAU的云实验台

联系方式|公众号回复 KAU

本文核心内容

俗话说,工欲善其事,必先利其器

很多刚入门进化算法的朋友,是不是总被这几个问题死死卡住?

——好不容易找到一篇顶会论文,源代码却怎么也扒不到

——想复现实验,连一套像样的标准测试函数集都凑不齐

——真要动手写测试对比代码,更是一头雾水,完全不知道从哪开始

其实,你的这些烦恼,早就有高手替你铺好路了

全球不少优秀团队,已经开发出一批开源的进化计算测试平台。它们不仅内置了大量文献的开源算法代码,有的甚至支持GUI一键对比,让我们这种没资源的个体,也能轻松、零成本地跟最新算法同台竞技

下面,KAU 就为你逐一盘点那些我了解到的开源平台,带你绕开弯路,直奔前沿

如果有遗漏或错误,热烈欢迎你在评论区补充指正!


目录

一、PlatEMO多目标优化平台

二、 Platypus多目标优化平台

三、 pymoo多目标优化平台

四、 MToP多任务优化平台

五、DMOEAs动态多目标优化平台

一、PlatEMO多目标优化平台

进化计算领域的真神!

语言:Matlab

该平台可通过Github下载:https://github.com/BIMK/PlatEMO

下载后在命令行输入 platemo   即可直接运行,无需额外配置

PlatEMO基于Matlab开发,是由安徽大学生物智能与知识发现(BIMK)研究所开发的进化多目标优化平台[1],是一个开源免费的代码库,共包含300+流行的算法

包括单目标优化、约束优化、昂贵优化、多模态优化、稀疏优化、动态优化、多任务优化、鲁棒优化等方面的代码,目前已迭代至4.152026521日)。

[1] B.C. Wang, J.J. Guo, P.Q. Huang, X.B. Meng, A two-stage adaptive penalty method based on co-evolution for constrained evolutionary optimization, Complex Intell. Syst. 9 (2023) 4615–4627, https://doi.org/10.1007/s40747-022-00965-6.

除了海量的开源算法,PlatEMO最方便的就是它的GUI模块,几乎能够秒上手。算法实验指标对比也十分简单。以多目标算法为例,算法对比所需的Wilcoxon秩和检验值、Friedman值,以及HVIGDIGD+等指标都能一键调用出来,同时高亮显示,十分方便。

具体操作这次先不展开,后续KAU会单独出一期,手把手教你添加自己算法和应用问题,感兴趣的朋友,记得点个关注,别错过啦。

二、Platypust多目标优化平台

语言:Python

官方在线文档:https://platypus.readthedocs.io/en/latest/index.html

安装:pip install platypus-opt

Platypus是一个基于Python的多目标优化库[2],其内置了一些经典的算法NSGA-IINSGA-IIIMOEA/DIBEAEPSILON-MOEASPEA2等,能够处理无约束、约束优化问题。

[2] Hadka, D. (2024). Platypus: A Framework for Evolutionary Computing in Python (Version 1.4.1) [Computer software]. Retrieved from https://github.com/Project-Platypus/Platypus.

该库的调用也十分简单,以NSGA-II求解DTLZ2题为例:

三、pymoo多目标优化平台

语言:Python

官方在线文档:https://pymoo.org/index.html

安装:pip install -U pymoo

该平台基于Python开发,是由Julian BlankKalyanmoy Deb团队共同开发的多目标优化框架[3],目前集成了10+种主流算法,包括:单目标优化、多目标优化、约束优化等方向的代码实现,并提供完整的测试问题集、结果可视化和性能评估模块

[3] J. Blank and K. Deb, pymoo: Multi-Objective Optimization in Python, in IEEE Access, vol. 8, pp. 89497-89509, 2020, doi: 10.1109/ACCESS.2020.2990567

该平台也定义了DTLZWFGZDTMW等多目标优化问题以及一些单目标基准函数。通过调用相关函数能获取帕累托前沿曲线、IGDHV等信息。

四、MToP多任务优化平台

语言:Matlab

该平台可通过Github下载:https://github.com/intLyc/MTO-Platform

下载后命令行输入  MToP    即可直接运行,无需额外配置

MToP是一个专攻多任务优化的开源平台[4]。与PlatEMOpymoo 这些“大而全”的平台不同,MToP 聚焦于多任务进化算法这一细分方向,内置了100+种单/多任务优化算法以及200+种多任务优化案例,是目前该领域算法最集中的代码库之一

[4] Y. Li, W. Gong, F. Ming, T. Zhang, S. Li, and Q. Gu, MToP: A MATLAB Optimization Platform for Evolutionary Multitasking, 2023, arXiv:2312.08134

该平台与PlatEMO类似,也可以通过GUI操作,十分方便,算法对比所需的Wilcoxon秩和检验值、Friedman,也能高亮显示并一键导出

五、DMOEAs动态多目标优化平台

语言:Matlab

该平台可通过Github下载:https://github.com/gjianzx/DMOEAs

修改main.m程序后即可直接运行,无需额外配置

MToP是一个专注于动态多目标优化的开源平台内置了6种最新的动态多目标优化算法以及DMOPDFADF等标准动态测试问题

该平台不支持GUI需写m序实现对比调用,不过原作者给出了调用范例,修改较为简单。

 

以上开源平台KAU都已打包整理,公众号后台回复

KY

即可获取

如果这篇文章对你有帮助或启发,可以点击右下角的赞/在看(ง •̀_•́)ง(不点也行),你们的鼓励就是我坚持的动力!若有定制需求,可私信作者

  感谢阅读,祝顺利!