優(yōu)化算法筆記(三十四)鴿群算法

1. 算法簡介

(以下描述,均不是學(xué)術(shù)用語,僅供大家快樂的閱讀)
鴿群算法是根據(jù)鴿子依據(jù)磁場而擁有高超識途技巧提出的優(yōu)化算法。算法提出于2014年(到底是08年還是14年凑术?引用顯示08),也算有些年頭了所意。這也是一個由中國研究者提出的優(yōu)化算法淮逊,可喜可賀。
  鴿群算法中的個體和粒子群算法中的粒子結(jié)構(gòu)類似扶踊,都由位置和速度組成泄鹏。在鴿群算法中,鴿子的飛行行為根據(jù)迭代次數(shù)分為了兩個階段秧耗。簡單來說备籽,階段一向著當(dāng)前最優(yōu)位置飛行,階段二向著自身周圍飛行分井。下面將詳細描述其飛行步驟


道理我都懂车猬,但是鴿子為什么這么大?

2. 算法流程

本次的主角就是鴿子了尺锚。
  鴿群中鴿子數(shù)量為N,每只鴿子的位置為X=(x^1,x^2,...,x^D)珠闰,速度為V=(v^1,v^2,...,v^D),該位置的優(yōu)劣由其適應(yīng)度函數(shù)F(X)計算得出缩麸。
  在鴿群算法中铸磅,鴿子的行為依照迭代次數(shù)劃分為兩個階段赡矢,階段1占整個迭代次數(shù)的比例為NcRate杭朱,一般的NcRate取值為0.75阅仔。

2.1 階段1

迭代次數(shù)在[0,iter_{max}*NcRated]代內(nèi)為階段1。
  在階段1中弧械,需要根據(jù)鴿子的位置與目標(biāo)八酒,計算出鴿子的速度。當(dāng)前位置加上速度就得到了新的位置刃唐。


  其具體實現(xiàn)與粒子群相似羞迷,先計算出新的速度,在通過速度和位置得到新位置画饥。公式(1)中R為一個常量衔瓮,一般取值為0.2,iter為當(dāng)前迭代次數(shù)抖甘,rand為[0,1]內(nèi)的均勻隨機數(shù)热鞍。可以看出衔彻,階段1中的速度隨著迭代次數(shù)增加會越來越依賴于和最優(yōu)位置的距離薇宠。然而式(1)中e的指數(shù)部分是一個絕對數(shù)值而不是比值,當(dāng)最大迭代次數(shù)不同時艰额,該公式的效果會有較大的差異澄港。故公式(1)中e的指數(shù)應(yīng)改為iter與iter_{max}的比值,當(dāng)然需要找到適應(yīng)的系數(shù)來進行調(diào)優(yōu)柄沮。

2.2階段2

階段2為迭代次數(shù)大于iter_{max}*NcRate的部分回梧。
  階段2相對復(fù)雜,首先需要對群體進行排序祖搓,將群體均分為兩組狱意,較優(yōu)的那組保持位置不變,同時提供其位置棕硫、適應(yīng)度值作為參數(shù)髓涯,供較差的那組確定它們的新位置所在。


  公式(3)求出了較優(yōu)的那部分鴿子的重心所在哈扮,公式(4)則是讓較差的部分鴿子向著較優(yōu)部分鴿子的重心隨機飛行了一段距離纬纪。

2.3流程圖


文章沒有說明鴿群算法是否需要使用貪心算法,下面會各自進行一次實驗看看效果滑肉。

3. 實驗

適應(yīng)度函數(shù)f(x1,x2)=(x1-a)^2+(x2-b)^2,a=b=90包各。
實驗一: 無貪心步驟

問題維度(維度) 2
總?cè)簲?shù)量(種群數(shù)) 20
最大迭代次數(shù) 50
取值范圍 (-100,100)
實驗次數(shù) 10
NcRate 0.75
R 0.2

  從圖像可以看出靶庙,算法的收斂速度和精度都不錯问畅。但是可以明顯注意到在40代左右,聚集于右下最優(yōu)位置附近的個體會有一個向中心聚集的過程,數(shù)了一下护姆,剛好是10個個體矾端。這應(yīng)該是階段2中較差的部分個體更新位置導(dǎo)致的。
  本次試驗階段2時卵皂,可以認為其適應(yīng)度函數(shù)幾乎等于0秩铆,個體位置幾乎到達90。則Nc計算公式如下:



  可知個體會向著9處前進灯变,并最終收斂到此處殴玛。可以看出階段2中公式(3)設(shè)計欠妥(當(dāng)然添祸,當(dāng)最優(yōu)解在0處時滚粟,精度會有很大的提升)。公式(3)應(yīng)去除分母中求和前的N/2刃泌。

最優(yōu)值 1.0852653759188143E-16
最差值 0.004604311219220796
平均值 9.028977620358627E-4

從結(jié)果來看凡壤,鴿群算法還不錯,但是性能好像不太穩(wěn)定蔬咬,畢竟只用了階段1就計算出了結(jié)果鲤遥,情有可原。
  下面看看添加了貪心算法的實驗林艘。
實驗二: 有貪心步驟


  圖像好像比實驗一好了一些盖奈,但是并不能說明問題。實驗一中存在的問題在實驗二中仍然存在狐援,只是由于貪心步驟的緣故钢坦,鴿群無法飛到差于自己的位置,階段2仍然沒有任何作用啥酱。

最優(yōu)值 4.457111736304401E-16
最差值 4.637206866491525E-4
平均值 5.506734307008853E-5

實驗結(jié)果好像好了一丟丟爹凹,但幾乎可以認為沒有變化。

4. 總結(jié)

鴿群算法是受鴿子依據(jù)磁場識途的特性啟發(fā)而提出的優(yōu)化算法镶殷。算法的結(jié)構(gòu)簡單禾酱,主要分為兩個階段,其中階段1為向著最優(yōu)位置前進绘趋,階段2則是較差個體向著較優(yōu)群體中心前進(bushi)颤陶。
  從實驗中可以看出,原算法的公式設(shè)計有些許缺陷陷遮,進行修改后應(yīng)該能夠得到非常不錯的結(jié)果滓走。

參考文獻

Haibin, Duan, Peixin, et al. Pigeon-inspired optimization: a new swarm intelligence optimizer for air robot path planning[J]. International Journal of Intelligent Computing & Cybernetics, 2008. 提取碼:wjok
以下指標(biāo)純屬個人yy,僅供參考

指標(biāo) 星數(shù)
復(fù)雜度 ★☆☆☆☆☆☆☆☆☆
收斂速度 ★★★☆☆☆☆☆☆☆
全局搜索 ★★★☆☆☆☆☆☆☆
局部搜索 ★★★★☆☆☆☆☆☆
優(yōu)化性能 ★★★★☆☆☆☆☆☆
跳出局部最優(yōu) ★☆☆☆☆☆☆☆☆☆
改進點 ★★★★☆☆☆☆☆☆

目錄
上一篇 優(yōu)化算法筆記(三十三)黏菌算法
下一篇 優(yōu)化算法筆記(三十五)天鷹算法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者帽馋。
  • 序言:七十年代末搅方,一起剝皮案震驚了整個濱河市比吭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌姨涡,老刑警劉巖衩藤,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绣溜,居然都是意外死亡慷彤,警方通過查閱死者的電腦和手機娄蔼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門怖喻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人岁诉,你說我怎么就攤上這事锚沸。” “怎么了涕癣?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵哗蜈,是天一觀的道長。 經(jīng)常有香客問我坠韩,道長距潘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任只搁,我火速辦了婚禮音比,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘氢惋。我一直安慰自己洞翩,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布焰望。 她就那樣靜靜地躺著骚亿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪熊赖。 梳的紋絲不亂的頭發(fā)上来屠,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音震鹉,去河邊找鬼俱笛。 笑死,一個胖子當(dāng)著我的面吹牛足陨,可吹牛的內(nèi)容都是我干的嫂粟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼墨缘,長吁一口氣:“原來是場噩夢啊……” “哼星虹!你這毒婦竟也來了零抬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤宽涌,失蹤者是張志新(化名)和其女友劉穎平夜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卸亮,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡忽妒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了兼贸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片段直。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖溶诞,靈堂內(nèi)的尸體忽然破棺而出鸯檬,到底是詐尸還是另有隱情,我是刑警寧澤螺垢,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布喧务,位于F島的核電站,受9級特大地震影響枉圃,放射性物質(zhì)發(fā)生泄漏功茴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一孽亲、第九天 我趴在偏房一處隱蔽的房頂上張望坎穿。 院中可真熱鬧,春花似錦墨林、人聲如沸赁酝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酌呆。三九已至,卻和暖如春搔耕,著一層夾襖步出監(jiān)牢的瞬間隙袁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工弃榨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留菩收,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓鲸睛,卻偏偏與公主長得像娜饵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子官辈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容