1. 算法簡(jiǎn)介
(以下描述赃承,均不是學(xué)術(shù)用語(yǔ),僅供大家快樂(lè)的閱讀)
天鷹算法(Aquila Optimizer)是根據(jù)天鷹捕獵的行為提出的優(yōu)化算法悴侵。算法提出于2021年瞧剖,較新的算法一枚。(查了半天也不知道天鷹是個(gè)啥動(dòng)物可免,孤陋寡聞了算是)
天鷹算法中個(gè)體的搜索也分為兩階段抓于,為擴(kuò)展搜索和收縮搜索。從名字可以看出擴(kuò)展階段浇借,搜索范圍較大捉撮,收縮階段搜索范圍較小。
2. 算法流程
本算法的主角就是天鷹了妇垢。
與大多數(shù)算法一樣巾遭,天鷹算法中的個(gè)體只有位置這一個(gè)屬性。天鷹的種群數(shù)量為N,每只鷹的位置為 闯估,該位置的優(yōu)劣由其適應(yīng)度函數(shù)計(jì)算得出灼舍。
根據(jù)迭代次數(shù),將天鷹的行為分為擴(kuò)展階段和收縮階段涨薪。其中擴(kuò)展階段為前2/3次迭代骑素,后1/3次迭代時(shí)間為收縮階段。
2.1擴(kuò)展階段
擴(kuò)展階段總體來(lái)說(shuō)是讓個(gè)體在當(dāng)前最優(yōu)個(gè)體附近進(jìn)行搜索尤辱。
擴(kuò)展階段有兩種更新位置的方式砂豌,每個(gè)個(gè)體隨機(jī)選擇其中一種來(lái)得到自己的新位置。
公式(1)中為當(dāng)前的全局最優(yōu)解光督,為當(dāng)前所有個(gè)體的平均位置阳距,rand為[0,1]內(nèi)的均勻隨機(jī)數(shù)。公式(2)中结借,表示群體中的隨機(jī)個(gè)體筐摘。公式(3)(4)中的d為當(dāng)前維度值。
首先看看公式(3)和公式(4)的圖像船老。
可以看出咖熟,公式(3)和公式(4)的曲線是兩個(gè)類似反向阻尼的曲線×希可是這兩個(gè)公式的變量是維度d,只有維度非常大時(shí)才會(huì)呈現(xiàn)上圖的情況馍管,較小維度上幾乎可以認(rèn)為其值為10。
該階段每個(gè)個(gè)體隨機(jī)選擇公式(1)或者公式(2)來(lái)計(jì)算自己的新位置薪韩。其中公式(1)隨著迭代次數(shù)的增加和種群的收斂确沸,逐漸向0靠近。公式(2)則是在隨機(jī)個(gè)體周圍進(jìn)行搜索俘陷。(四個(gè)公式罗捎,只有公式(2)勉強(qiáng)能用)。
2.2 收縮階段
與擴(kuò)展階段類似拉盾,在收縮階段中桨菜,每個(gè)個(gè)體也是在兩個(gè)更新位置的方式中隨機(jī)選擇一個(gè)來(lái)計(jì)算自己的新位置。
其中是(5)中為x取值范圍的最大最小值捉偏,rand為[0,1]內(nèi)的均勻隨機(jī)數(shù)倒得。公式(6)中的G2為[-1,1]內(nèi)的均勻隨機(jī)數(shù),levy為列維飛行隨機(jī)數(shù)夭禽。公式(7)中r1為[-1,1]內(nèi)的均勻隨機(jī)數(shù)屎暇。
該階段,每個(gè)個(gè)體會(huì)隨機(jī)選擇公式(5)(6)中的一個(gè)來(lái)計(jì)算自己的新位置驻粟。隨著種群的收斂根悼,公式(5)將向則靠近,期望為解空間中心-0.5。而公式(6)則會(huì)向著0靠近蜀撑。
2.3流程圖
在天鷹算法的兩個(gè)階段挤巡,都需要添加貪心算法保證個(gè)體的新位置優(yōu)于其原位置。
從其實(shí)現(xiàn)公式中可以看出酷麦,四個(gè)位置更新公式中矿卑,公式(1)(6)會(huì)向0收斂,公式(5)會(huì)收斂到常數(shù)沃饶,只有公式(2)勉強(qiáng)能用母廷,所以該算法的性能應(yīng)該不太行轻黑。
3. 實(shí)驗(yàn)
適應(yīng)度函數(shù)。
實(shí)驗(yàn)一:
問(wèn)題維度(維度) | 2 |
總?cè)簲?shù)量(種群數(shù)) | 20 |
最大迭代次數(shù) | 50 |
取值范圍 | (-100琴昆,100) |
實(shí)驗(yàn)次數(shù) | 10 |
從圖像上看氓鄙,其效果不差,但是最終離正解還是有一定的距離业舍,局部搜索能力欠佳抖拦。雖然公式(1)(6)會(huì)使新位置收斂到0,但由于貪心算法的兜底舷暮,在圖像上并沒(méi)有顯示出來(lái)态罪。
值 | |
---|---|
最優(yōu)值 | 0.005404808270018164 |
最差值 | 19.398149544638596 |
平均值 | 6.123727179786971 |
從結(jié)果來(lái)看,這個(gè)結(jié)果幾乎已經(jīng)無(wú)法接受了下面,結(jié)果較差且不太穩(wěn)定复颈。
下面我們看看移除貪心算法后,群體的運(yùn)動(dòng)圖像沥割,看是否會(huì)像前面所說(shuō)向0點(diǎn)聚集券膀。
實(shí)驗(yàn)二:移除原算法中的貪心步驟。
可以看出驯遇,在前期群體還能向著正解靠近芹彬,到了后期,部分個(gè)體明顯的向著0點(diǎn)(圖像中心)聚集叉庐,也印證了之前的說(shuō)法舒帮。
值 | |
---|---|
最優(yōu)值 | 0.05297912524033737 |
最差值 | 5.344528430379567 |
平均值 | 1.1799885325237747 |
看結(jié)果卻比實(shí)驗(yàn)一好了不少,應(yīng)該是由于缺少了貪心算法的約束陡叠,個(gè)體能夠到達(dá)的位置更加多樣玩郊,找到較優(yōu)解的概率也增大了一點(diǎn)點(diǎn),也不太行枉阵。
4. 總結(jié)
天鷹算法模擬了天鷹的捕食過(guò)程译红,將其搜索獵物過(guò)程分為擴(kuò)展階段和搜索階段,擴(kuò)展階段大范圍搜索獵物兴溜,收縮階段侦厚,小范圍捕獲獵物。但是算法的實(shí)現(xiàn)與設(shè)計(jì)有著較大的出入拙徽,實(shí)現(xiàn)上有較大的概率讓個(gè)體位置收斂到0刨沦,面對(duì)正解不在0的問(wèn)題時(shí),算法無(wú)法取得較好的結(jié)果膘怕。
參考文獻(xiàn)
Aquila Optimizer: A novel meta-heuristic optimization algorithm 提取碼: 3ctk
原文代碼 提取碼: 3ctk
以下指標(biāo)純屬個(gè)人yy,僅供參考
指標(biāo) | 星數(shù) |
---|---|
復(fù)雜度 | ★★★★★☆☆☆☆☆ |
收斂速度 | ★★☆☆☆☆☆☆☆☆ |
全局搜索 | ★★★☆☆☆☆☆☆☆ |
局部搜索 | ★☆☆☆☆☆☆☆☆☆ |
優(yōu)化性能 | ★★☆☆☆☆☆☆☆☆ |
跳出局部最優(yōu) | ★☆☆☆☆☆☆☆☆☆ |
改進(jìn)點(diǎn) | ★★★☆☆☆☆☆☆☆ |