- 智能優(yōu)化算法與MATLAB編程實(shí)踐
- 陳克偉 魏曙光主編
- 475字
- 2024-12-31 17:34:22
1.1.1 雄性蜉蝣的運(yùn)動(dòng)
當(dāng)雄性蜉蝣投放在一個(gè)固定的區(qū)域內(nèi)時(shí)容易發(fā)生聚集行為,向著群體中心位置靠近。蜉蝣個(gè)體的位置是按照自身經(jīng)驗(yàn)或鄰近個(gè)體的行為進(jìn)行調(diào)節(jié)的。
假設(shè)是在第t次迭代時(shí)雄性蜉蝣i在搜索空間中的當(dāng)前位置,雄性蜉蝣i的位置更新是第t+1次的迭代速度
加上第t次迭代的位置之和,其位置表達(dá)式如下:

雄性蜉蝣向中心不斷地聚集和移動(dòng),并在水面上的一定距離內(nèi)表演舞蹈,其速度更新如下:

式中,為雄性蜉蝣i在j維度第t次迭代的速度;
為雄性蜉蝣i在j維度第t次迭代的位置;a1和a2為雄性蜉蝣移動(dòng)行為的吸引系數(shù);pbestij為迄今為止雄性蜉蝣i的個(gè)體歷史最優(yōu)位置;gbestj為迄今為止雄性蜉蝣群體的全局歷史最優(yōu)位置;
為雄性蜉蝣的能見度系數(shù),用于控制雄性蜉蝣的能見范圍;
為當(dāng)前位置與pbestij的距離;
為當(dāng)前位置與gbestj的距離。其距離的計(jì)算公式如下:

式中,Xi為pbest或者gbest的位置;Xij為pbest或者gbest在j維度的位置;xi為雄性蜉蝣個(gè)體i;xij為雄性蜉蝣個(gè)體i在j維度的位置;n為雄性蜉蝣的維度上限。
為了得到最優(yōu)雄性蜉蝣個(gè)體的位置,雄性蜉蝣須不斷更新速度,其速度更新如下:

式中,d為舞蹈系數(shù),用于不斷吸引異性;r為[?1,1]之間的隨機(jī)數(shù)。
推薦閱讀
- Python程序設(shè)計(jì)教程(第2版)
- Testing with JUnit
- 自己動(dòng)手實(shí)現(xiàn)Lua:虛擬機(jī)、編譯器和標(biāo)準(zhǔn)庫
- Python爬蟲開發(fā):從入門到實(shí)戰(zhàn)(微課版)
- Wireshark Network Security
- Vue.js 3.0源碼解析(微課視頻版)
- Java深入解析:透析Java本質(zhì)的36個(gè)話題
- Python完全自學(xué)教程
- Linux Device Drivers Development
- Mastering Xamarin.Forms(Second Edition)
- 蘋果的產(chǎn)品設(shè)計(jì)之道:創(chuàng)建優(yōu)秀產(chǎn)品、服務(wù)和用戶體驗(yàn)的七個(gè)原則
- Swift 4 Protocol-Oriented Programming(Third Edition)
- Java編程指南:語法基礎(chǔ)、面向?qū)ο蟆⒑瘮?shù)式編程與項(xiàng)目實(shí)戰(zhàn)
- Mastering Machine Learning with scikit-learn
- 代碼整潔之道:程序員的職業(yè)素養(yǎng)