600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【智能优化算法-蝙蝠算法】基于混合粒子群和蝙蝠算法求解单目标优化问题附matlab代码

【智能优化算法-蝙蝠算法】基于混合粒子群和蝙蝠算法求解单目标优化问题附matlab代码

时间:2022-10-11 23:03:20

相关推荐

【智能优化算法-蝙蝠算法】基于混合粒子群和蝙蝠算法求解单目标优化问题附matlab代码

1 内容介绍

PSO能够实现在全局搜索最大功率点,搜索偏差小,但收敛时间较长,而BA也具有全局搜索功能,前期搜索速度快,但后期搜索时间长,搜索精度低。鉴于这两种算法的特点,结合两种算法在搜索不同时期的优势,BA应用于混合算法前期,提升前期的搜索效果,PSO应用于算法中后期,提升算法的搜索精度,并分别对两种算法进行改进。

蝙蝠的速度更新式(4)的第一部分和粒子群的速度更新式(2)的第一部分均为上代个体速度项,粒子群可以通过惯性权重w调节个体惯性对速度的影响,为了平衡混合算法前期的全局搜索能力和后期的局部搜索能力,在前期蝙蝠算法中引入中后期PSO的w。蝙蝠的速度更新式(4)的第二部分和粒子群的速度更新式(2)的第三部分都为群体认知项,蝙蝠是通过频率而粒子是通过社会学习因子c2调节群体经验对速度的影响,两者可以共用参数c2。为了进一步提升收敛速度,w和c2会随着迭代次数而改变,因此改进后蝙蝠算法的速度更新式为:

2 仿真代码

<span style="color:#333333"><span style="background-color:rgba(0, 0, 0, 0.03)"><code>​</code><code><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span></code><code>% HRPBV source codes version <span style="color:#0e9ce5">1.0</span>%</code><code><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span><span style="color:#dd1144">%%%</span></code><code>​</code><code>clear all </code><code>close all</code><code>clc</code><code>​</code><code>CostFunction=@(x) MyCost(x); % Modify <span style="color:#ca7d37">or</span> replace Mycost.m according to your cost funciton</code><code>​</code><code>Max_iter=<span style="color:#0e9ce5">500</span>; % Maximum number of iterations</code><code>n=<span style="color:#0e9ce5">30</span>; % Number of agents</code><code>d=<span style="color:#0e9ce5">100</span>;</code><code>​</code><code>​</code><code>% HRPBV with V-shaped transfer function</code><code>[gBest, gBestScore, ConvergenceCurve]=HRPBV(n, d, Max_iter, CostFunction);</code><code>​</code><code>plot(ConvergenceCurve,<span style="color:#dd1144">'DisplayName'</span>,<span style="color:#dd1144">'HRPBV'</span>,<span style="color:#dd1144">'Color'</span>, <span style="color:#dd1144">'b'</span>);</code><code>hold on</code><code>​</code><code>​</code><code>title([<span style="color:#dd1144">'\fontsize{12}\bf Convergence curve'</span>]);</code><code>xlabel(<span style="color:#dd1144">'\fontsize{12}\bf Iteration'</span>);ylabel(<span style="color:#dd1144">'\fontsize{12}\bf Average Best-so-far'</span>);</code><code>legend(<span style="color:#dd1144">'\fontsize{10}\bf HRPBV'</span>);</code><code>grid on</code><code>axis tight</code><code>​</code><code>save resuls</code><code>​</code><code>​</code></span></span>

3 运行结果

4 参考文献

[1]陈志敏, 吴盘龙, 薄煜明,等. 基于自控蝙蝠算法智能优化粒子滤波的机动目标跟踪方法[J]. 电子学报, , 46(4):9.

[2]唐海东, 芮钧, 吴正义. 基于混合蝙蝠算法的梯级水电站群优化调度研究[J]. 水电自动化与大坝监测, (6):5.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。