【智能优化算法-蝙蝠算法】基于混合粒子群和蝙蝠算法求解单目标优化问题附matlab代码
1 內(nèi)容介紹
PSO?能夠?qū)崿F(xiàn)在全局搜索最大功率點,搜索偏差小,但?收斂時間較長,而?BA?也具有全局搜索功能,前期搜索速度?快,但后期搜索時間長,搜索精度低。鑒于這兩種算法的特?點,結(jié)合兩種算法在搜索不同時期的優(yōu)勢,BA?應(yīng)用于混合算?法前期,提升前期的搜索效果,PSO?應(yīng)用于算法中后期,提升?算法的搜索精度,并分別對兩種算法進(jìn)行改進(jìn)。
蝙蝠的速度更新式(4)的第一部分和粒子群的速度更新?式(2)的第一部分均為上代個體速度項,粒子群可以通過慣性?權(quán)重?w調(diào)節(jié)個體慣性對速度的影響,為了平衡混合算法前期?的全局搜索能力和后期的局部搜索能力,在前期蝙蝠算法中?引入中后期?PSO?的?w。蝙蝠的速度更新式(4)的第二部分和?粒子群的速度更新式(2)的第三部分都為群體認(rèn)知項,蝙蝠是?通過頻率而粒子是通過社會學(xué)習(xí)因子?c2調(diào)節(jié)群體經(jīng)驗對速度?的影響,兩者可以共用參數(shù)?c2。為了進(jìn)一步提升收斂速度,w和?c2會隨著迭代次數(shù)而改變,因此改進(jìn)后蝙蝠算法的速度更?新式為:
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 運行結(jié)果
4 參考文獻(xiàn)
[1]陳志敏, 吳盤龍, 薄煜明,等. 基于自控蝙蝠算法智能優(yōu)化粒子濾波的機動目標(biāo)跟蹤方法[J]. 電子學(xué)報, 2018, 46(4):9.
[2]唐海東, 芮鈞, 吳正義. 基于混合蝙蝠算法的梯級水電站群優(yōu)化調(diào)度研究[J]. 水電自動化與大壩監(jiān)測, 2015(6):5.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
總結(jié)
以上是生活随笔為你收集整理的【智能优化算法-蝙蝠算法】基于混合粒子群和蝙蝠算法求解单目标优化问题附matlab代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 群体智能算法之蝙蝠算法
- 下一篇: 实现图片本地化 ServiceWorke