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 运行结果

【智能优化算法-正弦余弦算法】基于反向正弦余弦算法求解高维优化问题附matlab代码_matlab代码

4 参考文献

[1]徐松金, 龙文. 求解高维优化问题的改进正弦余弦算法[J]. 计算机应用研究, 2018, 35(9):4.

部分理论引用网络文献,若有侵权联系博主删除。