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

2024-06-04 8315阅读

目录

引言

完整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测试函数保姆级教程:1000+种群智能优化算法求解cec2017测试函数-matlab 第1张

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

  • mex cec17_func.cpp

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

    编译生成了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代码))为例进行测试。算法的参数设置如下:

        clc
        clear
        close 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代码)


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]