

PSO 能够实现在全局搜索最大功率点,搜索偏差小,但 收敛时间较长,而 BA 也具有全局搜索功能,前期搜索速度 快,但后期搜索时间长,搜索精度低。鉴于这两种算法的特 点,结合两种算法在搜索不同时期的优势,BA 应用于混合算 法前期,提升前期的搜索效果,PSO 应用于算法中后期,提升 算法的搜索精度,并分别对两种算法进行改进。
蝙蝠的速度更新式(4)的第一部分和粒子群的速度更新 式(2)的第一部分均为上代个体速度项,粒子群可以通过惯性 权重 w调节个体惯性对速度的影响,为了平衡混合算法前期 的全局搜索能力和后期的局部搜索能力,在前期蝙蝠算法中 引入中后期 PSO 的 w。蝙蝠的速度更新式(4)的第二部分和 粒子群的速度更新式(2)的第三部分都为群体认知项,蝙蝠是 通过频率而粒子是通过社会学习因子 c2调节群体经验对速度 的影响,两者可以共用参数 c2。为了进一步提升收敛速度,w和 c2会随着迭代次数而改变,因此改进后蝙蝠算法的速度更 新式为:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% HRPBV source codes version 1.0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all close allclcCostFunction=@(x) MyCost(x); % Modify or replace Mycost.m according to your cost funcitonMax_iter=500; % Maximum number of iterationsn=30; % Number of agentsd=100;% HRPBV with V-shaped transfer function[gBest, gBestScore, ConvergenceCurve]=HRPBV(n, d, Max_iter, CostFunction);plot(ConvergenceCurve,'DisplayName','HRPBV','Color', 'b');hold ontitle(['\fontsize{12}\bf Convergence curve']);xlabel('\fontsize{12}\bf Iteration');ylabel('\fontsize{12}\bf Average Best-so-far');legend('\fontsize{10}\bf HRPBV');grid onaxis tightsave resuls

[1]陈志敏, 吴盘龙, 薄煜明,等. 基于自控蝙蝠算法智能优化粒子滤波的机动目标跟踪方法[J]. 电子学报, 2018, 46(4):9.
[2]唐海东, 芮钧, 吴正义. 基于混合蝙蝠算法的梯级水电站群优化调度研究[J]. 水电自动化与大坝监测, 2015(6):5.
部分理论引用网络文献,若有侵权联系博主删除。