当前位置:首页 » 《资源分享》 » 正文

CEC2017测试函数保姆级教程:1000+种群智能优化算法求解cec2017测试函数-matlab

14 人参与  2024年04月02日 14:41  分类 : 《资源分享》  评论

点击全文阅读


目录

引言

完整Matlab代码下载

该代码一举歼灭所有群智能优化算法在cec2017测试函数的应用


引言

我们在阅读文献时,总是会遇到用一些cec测试函数来测试算法的性能。今天,以cec2017测试函数为例,带你使用CEC测试函数。CEC为IEEE Congress on Evolutionary Computation(国际进化大会)的简称,2017为年份。cec2017共有30个单目标测试函数分别是:单峰函数(F1-F3)、简单多峰函数(F4-F10)、混合函数(F11-F20)和组合函数(F21-F30)。测试维度有2维,10维,30维,50维,100维。CEC2017测试函数相比标准测试函数更加复杂,随着维度的增加求解极其困难。

首先需下载cec2017函数。函数的格式为cpp文件,cec17_func.cpp。在matlab里需要编译。在matlab的命令行输入

mex cec17_func.cpp

图片

编译生成了cec17_func.mexw64文件。这里我们已经为各位下载并编译好了,文末可直接享用

其次,加载cec2017测试函数。cec2017测试函数有30个。cec2017的输入x的数据格式需为列向量,即N*1,调用方式为:

fobj = @(x) cec17_func(x,1);

数字1表示cec2017的第一个函数。当然,可以在1-30中任意选择一个数,就选择了对应的测试函数

如果你的输入数据x是一个行向量,即1*N,调用方式为:

fobj = @(x) cec17_func(x',1);

最后,测试应用。我们以鲸鱼优化算法(WOA获取地址:优化算法-鲸鱼优化算法Whale Optimization Algorithm(附Matlab代码))为例进行测试。算法的参数设置如下:

clcclearclose all%%nPop=50; % 种群数Max_iter=500; % 最大迭代次数dim = 2; % 可选 2, 10, 30, 50, 100%%  选择函数Function_name=1; % 函数名:1 - 30[lb,ub,dim,fobj] = Get_Functions_cec2017(Function_name,dim);%% 调用算法tic[Best_score,Best_pos,cg_curve]=WOA(nPop,Max_iter,lb,ub,dim,fobj);toc

完整Matlab代码下载

该代码一举歼灭所有群智能优化算法在cec2017测试函数的应用

cec2017测试函数,你还不会吗?(附Matlab代码)


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/89523.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1