1 内容介绍
提出一种改进的正弦余弦算法(简记为ISCA).受粒子群优化(PSO)算法的启发,引入惯性权重以提高正弦余弦算法的收敛精度和加快收敛速度.此外,采取反向学习策略产生初始个体以提高种群的多样性和解的质量.采用八个高维基准测试函数进行仿真实验:在相同的最大适应度函数评价次数下,ISCA总体性能上均优于基本SCA和HGWO算法;当维数较高(D=1 000)时,ISCA所用计算量远小于HDEOO算法.实验结果表明ISCA在收敛精度和收敛速度指标上均优于对比算法.
2 部分代码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% BBA source codes version 1.0 %
% %
% Developed in MATLAB R2011b(7.13) %
% %
% Author and programmer: Seyedali Mirjalili %
% %
% e-Mail: ali.mirjalili@gmail.com %
% seyedali.mirjalili@griffithuni.edu.au %
% %
% Homepage: http://www.alimirjalili.com %
% %
% Main paper: S. Mirjalili, S. M. Mirjalili, X. Yang %
% Binary Bat Algorithm, Neural Computing and %
% Application, in press, %
% DOI: 10.1007/s00521-013-1525-5 %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all
clc
CostFunction=@(x) MyCost(x); % Modify or replace Mycost.m according to your cost funciton
Max_iteration=50; % Maximum number of iterations
noP=30; % Number of particles
noV=100;
A=.9; % Loudness (constant or decreasing)
r=.9; % Pulse rate (constant or decreasing)
%BPSO with s-shaped family of transfer functions
[gBest, gBestScore ,ConvergenceCurve]=BBA(noP, A, r, noV, Max_iteration, CostFunction);
plot(ConvergenceCurve,'DisplayName','BBA','Color', 'r');
hold on
title(['\fontsize{12}\bf Convergence curve']);
xlabel('\fontsize{12}\bf Iteration');ylabel('\fontsize{12}\bf Average Best-so-far');
grid on
axis tight
save resuls
3 运行结果
4 参考文献
[1]徐松金, 龙文. 求解高维优化问题的改进正弦余弦算法[J]. 计算机应用研究, 2018, 35(9):4.