CEC2017测试函数保姆级教程:1000+种群智能优化算法求解cec2017测试函数-matlab
时间:2024-03-24 17:32:53 来源:网络cs 作者:璐璐 栏目:卖家故事 阅读:
目录
引言
完整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代码)
阅读本书更多章节>>>>本文链接:https://www.kjpai.cn/gushi/2024-03-24/148047.html,文章来源:网络cs,作者:璐璐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
上一篇:C++ Qt开发:QNetworkInterface网络接口组件
下一篇:返回列表