智能優(yōu)化算法:布谷鳥(niǎo)搜索算法

智能優(yōu)化算法:布谷鳥(niǎo)搜索算法-附代碼

@[toc]
摘要:谷鳥(niǎo)搜索算法(cuckoo search ,cs),是由劍橋大學(xué)Yang等提出的一種群智能優(yōu)化算法,它也是一種新型元啟發(fā)式搜索算法仇奶。CS 算法主要優(yōu)點(diǎn)是參數(shù)少、操作簡(jiǎn)單腹鹉、易實(shí)現(xiàn)她奥、隨機(jī)搜索路徑優(yōu)和尋優(yōu)能力強(qiáng)等,備受學(xué)者關(guān)注别厘,相關(guān)的科研成果也日益倍增

1.算法原理

布谷鳥(niǎo)具有孵卵寄生性虱饿,本身沒(méi)有孵化行為,這就促使它通過(guò)尋找質(zhì)優(yōu)的巢窩,依靠養(yǎng)父母孵化和育雛 氮发。巢寄生殖行為主要表現(xiàn)在宿主的選擇渴肉,繁殖期間,大布谷鳥(niǎo)尋找在孵化和育雛時(shí)間上基本相似爽冕、雛鳥(niǎo)飲食習(xí)性基本相同的仇祭、卵形狀和顏色相當(dāng)?shù)乃拗鳎ǔ1憩F(xiàn)為雀形目鳥(niǎo)類颈畸。確定寄生的宿主后乌奇,大布谷鳥(niǎo)要選擇適當(dāng)?shù)臅r(shí)機(jī),一般在宿主即將孵化之前眯娱,趁宿主外出覓食時(shí)迅速寄生產(chǎn)卵礁苗。春末夏初,便向北飛徙缴,它自己不會(huì)做窩寂屏,不會(huì)育雛,也不會(huì)孵化娜搂,它每次飛到一個(gè)巢窩里只產(chǎn)一個(gè)鳥(niǎo)蛋迁霎。通常情況下,大布谷鳥(niǎo)在產(chǎn)卵前百宇,為了不被宿主察覺(jué)考廉,會(huì)把宿主一枚或數(shù)枚卵移走,使得巢穴中的卵數(shù)量相等或相近携御。而一旦靠養(yǎng)母孵化的雛鳥(niǎo)孵出昌粤,它有將養(yǎng)母本身的雛鳥(niǎo)推出巢外的本性,從而獨(dú)享養(yǎng)母撫養(yǎng)啄刹,這樣自己成活的概率大大增加涮坐。

為了模擬布谷鳥(niǎo)這種尋窩寄生的習(xí)性,Yang 等在文獻(xiàn)中將CS算法假設(shè)以下3種理想狀態(tài):

(1) 每只布谷鳥(niǎo)一次只產(chǎn)一枚卵誓军,并且隨機(jī)選擇一個(gè)鳥(niǎo)巢存放袱讹;
(2) 在尋窩的過(guò)程中,卵最好的鳥(niǎo)巢將會(huì)被保留到下一代昵时;
(3) 可用鳥(niǎo)巢的數(shù)量是固定的捷雕,并且設(shè)鳥(niǎo)巢中外來(lái)卵被發(fā)現(xiàn)的概率是 PP\in [0,1]壹甥。如果發(fā)現(xiàn)外來(lái)鳥(niǎo)蛋救巷,則鳥(niǎo)窩主人重新建立一個(gè)鳥(niǎo)窩。
通過(guò)以上 3 種理想狀態(tài)的假設(shè)句柠,布谷鳥(niǎo)尋優(yōu)搜索的位置和路徑的更新公式如下:
x_i^{t+1}= x_i^t + \alpha \oplus L(\lambda),\, i =1,2,..,n \tag{1}
式中: x_i^t—第 i 個(gè)鳥(niǎo)窩在第t 代的鳥(niǎo)窩位置浦译,\oplus —點(diǎn)對(duì)點(diǎn)乘法棒假,\alpha —步長(zhǎng)控制量,用于控制步長(zhǎng)的搜索范圍精盅,其值服從正態(tài)分布帽哑。

在式(1)中,L(\lambda)為 Lévy隨機(jī)搜索路徑,隨機(jī)步長(zhǎng)為 Lévy分布
L(s,\lambda) \widetilde{}s^{-\lambda},\,(1<\lambda\leq3)\tag{2}
式中: s—由萊維飛行得到的隨機(jī)步長(zhǎng)渤弛。

有式 可以看出祝拯,該行走方式是一個(gè)隨機(jī)漫步的過(guò)程。由于萊維飛行的隨機(jī)游動(dòng)特征她肯,局部極值點(diǎn)附近往往會(huì)出現(xiàn)新解佳头,因此萊維飛行的短步長(zhǎng)搜索更加有利于提高解的質(zhì)量。另外晴氨,距離局部最優(yōu)值較遠(yuǎn)的地方也存在新解康嘉,偶爾的大步長(zhǎng)探索,使得算法不容易陷入局部極值點(diǎn)籽前。

根據(jù)布谷鳥(niǎo)的孵化鳥(niǎo)蛋的過(guò)程亭珍, CS算法的算法描述如下:

步驟1 定義目標(biāo)函數(shù)f(X),X=(x_1,...,x_d)^T,函數(shù)初始化枝哄,并隨機(jī)生成 n個(gè)鳥(niǎo)窩的初始位置 X_i(i=1,2,...,n)肄梨,設(shè)置種群規(guī)模、問(wèn)題維數(shù)挠锥、最大發(fā)現(xiàn)概率 P和最大迭代次數(shù)等參數(shù)众羡;

步驟2 選擇適應(yīng)度函數(shù)并計(jì)算每個(gè)鳥(niǎo)窩位置的目標(biāo)函數(shù)值,得到當(dāng)前的最優(yōu)函數(shù)值蓖租;

步驟3 記錄上一代最優(yōu)函數(shù)值粱侣,利用式(1)對(duì)其他鳥(niǎo)窩的位置和狀態(tài)進(jìn)行更新;
步驟 4 現(xiàn)有位置函數(shù)值與上一代最優(yōu)函數(shù)值進(jìn)行比較蓖宦,若較好齐婴,則改變當(dāng)前最優(yōu)值;

步驟 5 通過(guò)位置更新后稠茂,用隨機(jī)數(shù)r\in[0,1]P對(duì)比柠偶,若r>P ,則對(duì)x^{t+1}進(jìn)行隨機(jī)改變主慰,反之則不變嚣州。最后保留最好的一組鳥(niǎo)窩位置 y_i^{t+1};

步驟6 若未達(dá)到最大迭代次數(shù)或最小誤差要求,則返回步驟2 共螺,否則,繼續(xù)下一步情竹;

步驟7 輸出全局最優(yōu)位置藐不。

2.算法結(jié)果

算法結(jié)果

3.參考文獻(xiàn)

[1]蘭少峰,劉升.布谷鳥(niǎo)搜索算法研究綜述[J].計(jì)算機(jī)工程與設(shè)計(jì),2015,36(04):1063-1067.

4.Matlab代碼

https://mianbaoduo.com/o/bread/aJabmp0=

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雏蛮,更是在濱河造成了極大的恐慌涎嚼,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挑秉,死亡現(xiàn)場(chǎng)離奇詭異法梯,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)犀概,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門立哑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人姻灶,你說(shuō)我怎么就攤上這事铛绰。” “怎么了产喉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵捂掰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我曾沈,道長(zhǎng)这嚣,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任塞俱,我火速辦了婚禮姐帚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敛腌。我一直安慰自己卧土,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布像樊。 她就那樣靜靜地躺著尤莺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪生棍。 梳的紋絲不亂的頭發(fā)上颤霎,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音涂滴,去河邊找鬼友酱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛柔纵,可吹牛的內(nèi)容都是我干的缔杉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼搁料,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼或详!你這毒婦竟也來(lái)了系羞?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤霸琴,失蹤者是張志新(化名)和其女友劉穎椒振,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體梧乘,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡澎迎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了选调。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片夹供。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖学歧,靈堂內(nèi)的尸體忽然破棺而出罩引,到底是詐尸還是另有隱情,我是刑警寧澤枝笨,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布袁铐,位于F島的核電站,受9級(jí)特大地震影響横浑,放射性物質(zhì)發(fā)生泄漏剔桨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一徙融、第九天 我趴在偏房一處隱蔽的房頂上張望洒缀。 院中可真熱鬧,春花似錦欺冀、人聲如沸树绩。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)饺饭。三九已至,卻和暖如春职车,著一層夾襖步出監(jiān)牢的瞬間瘫俊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工悴灵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扛芽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓积瞒,卻偏偏與公主長(zhǎng)得像川尖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子茫孔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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