一、红鸢优化算法简介
红鸢优化算法(Red kite Optimization Algorithm,ROA)由Jalal Raeisi Gahruei和Zahra Beheshti于2022年提出。
参考文献:Jalal Raeisi Gahruei, Zahra Beheshti, The Electricity Consumption Prediction using Hybrid Red kite Optimization Algorithm with Multi-Layer Perceptron Neural Network, Journal of Intelligent Procedures in Electrical Technology, (2022), Vol. 15 (60), pp. 1-22.
二、CEC2017简介
CEC2017共有30个无约束测试函数分别是:单峰函数(F1-F3)、简单多峰函数(F4-F10)、混合函数(F11-F20)和组合函数(F21-F30)。测试维度包含:10D、30D、50D、100D。CEC2017无约束测试问题随着维度的增加求解极其困难。
三、求解结果
将红鸢优化算法ROA运用于求解CEC2017中30个无约束函数,其中每个测试函数可以选择的维度分别有:10D、30D、50D、100D。增大迭代次数,ROA的求解效果更佳。本例测试函数维度均为为10D(可根据自己需求调整),最大迭代次数为5000次。
clc
close all
clear
% 参考文献:Jalal Raeisi Gahruei, Zahra Beheshti, The Electricity Consumption Prediction using Hybrid Red kite Optimization Algorithm with Multi-Layer Perceptron Neural Network, Journal of Intelligent Procedures in Electrical Technology, (2022), Vol. 15 (60), pp. 1-22.
func_num=1;%选择测试函数1-30
D=10;%10/30/50/100
Xmin=-100;
Xmax=100;
pop_size=100;%种群大小
iter_max=5000;%最大迭代次数
fhd=str2func('cec17_func');
[gbest,Fitness,Curve]= ROA(fhd,D,pop_size,iter_max,Xmin,Xmax,func_num);
figure
semilogy(Curve, 'LineWidth',1.5);
legend('ROA' );
xlabel('迭代次数');
ylabel('适应度值');
title(strcat('CEC2017-F',num2str(func_num)));
F1:
F2:
F3:
F4:
四、参考代码
源文件夹包含ROA求解CEC2017的所有代码,测试函数共30个。每个函数可选择维度分别为:10、30、50与100。直接点击main.m文件直接运行,支持二次开发。