CEC2017:麻雀搜索算法(SSA)求解CEC2017(无约束)【Matlab代码】

作品简介

一、麻雀搜索算法

麻雀搜索算法(sparrow search algorithm,SSA)由Jiankai Xue等人于2020年提出,该算法是根据麻雀觅食并逃避捕食者的行为而提出的群智能优化算法。SSA 主要是受麻雀的觅食行为和反捕食行为的启发而提出的。该算法比较新颖,具有寻优能力强,收敛速度快的优点。麻雀群觅食过程也是发现者-跟随者模型的一种,同时还叠加了侦查预警机制。麻雀中找到食物较好的个体作为发现者,其他个体作为跟随者,同时种群中选取一定比例的个体进行侦查预警,如果发现危险则放弃食物,安全第一。

二、CEC2017测试函数

CEC2017共有30个无约束测试函数分别是:单峰函数(F1~F3)、简单多峰函数(F4~F10)、混合函数(F11~F20)和组合函数(F21~F30)。测试维度包含:10D、30D、50D、100D。CEC2017无约束测试问题随着维度的增加求解极其困难。

三、实验说明

将麻雀搜索算法运用于求解CEC2017中30个无约束函数,其中每个测试函数可以选择的维度分别有:10D、30D、50D、100D。增大迭代次数,SSA的求解效果更佳。

本例测试函数维度均为为30D可根据自己需求调整),种群大小为100,最大迭代次数为5000次。

部分测试结果如下:

F1:目标函数值:100,SSA求得值:106.7046

F2:目标函数值:200,SSA求得值:200.0005

F3:目标函数值:300,SSA求得值:300.0018

F4:目标函数值:400,SSA求得值:404.3879

由此可以看出,SSA在求解CEC2017具有一定的潜力。SSA在前4个测试函数上快速求得的值与函数理论值十分接近,增大迭代次数效果更佳显著。SSA在cec2017上具有一定的竞争力。

四、源文件

源文件夹包含SSA求解CEC2017的所有代码,测试函数共30个。

每个函数可选择维度分别为:10、30、50与100。直接点击main.m文件直接运行,支持二次开发。

源文件夹内容如下:


创作时间: