蟻群算法是macro dorigo在1992年博士論文中所闡述的圖中尋找最優(yōu)路徑的算法,他是自然螞蟻群在覓食過(guò)程中搜索路徑的模擬。蟻群算法具有分布式計(jì)算、無(wú)中心控制和分布式固溶體之間間接通信等特征,易于與其他優(yōu)化算法相結(jié)合,它通過(guò)簡(jiǎn)單個(gè)體之間的寫(xiě)作表現(xiàn)出求解復(fù)雜問(wèn)題的能力,被廣泛運(yùn)用于求解優(yōu)化問(wèn)題。蟻群算法不涉及復(fù)雜的數(shù)學(xué)操作,其處理過(guò)程對(duì)計(jì)算機(jī)的軟件硬件要求也不高,因此對(duì)他的研究在理論和實(shí)踐中都具有重要意義。
1、缺點(diǎn)
(1)收斂速度慢。蟻群算法中信息素初值相同,選擇下一個(gè)節(jié)點(diǎn)時(shí)傾向于隨機(jī)選擇。雖然隨機(jī)選擇能探索更大的任務(wù)空間,有助于找到潛在的全局最優(yōu)解,但是需要較長(zhǎng)時(shí)間才能發(fā)揮正反饋的作用,導(dǎo)致算法初期收斂速度較慢。
(2)局部最優(yōu)問(wèn)題。蟻群算法具有正反饋的特點(diǎn),初始時(shí)刻環(huán)境中的信息素完全相同,螞蟻幾乎按隨機(jī)方式完成解的構(gòu)建,這些解必然會(huì)存在優(yōu)劣之分。在信息素更新時(shí),蟻群算法在較優(yōu)解經(jīng)過(guò)的路徑上留下更多的信息激素,而更多的信息激素又吸引了更多的螞蟻,這個(gè)正反饋的過(guò)程迅速地?cái)U(kuò)大初始的差異,引導(dǎo)整個(gè)系統(tǒng)向最優(yōu)解的方向進(jìn)化。雖然正反饋使算法具有較好的收斂速度,但是如果算法開(kāi)始得到的較優(yōu)解為次優(yōu)解, 那么正反饋會(huì)使次優(yōu)解很快占據(jù)優(yōu)勢(shì),使算法陷入局部最優(yōu),且難以跳出局部最優(yōu)。
(3)優(yōu)化能力問(wèn)題。蟻群算法中參數(shù)眾多并且具有一定的關(guān)聯(lián)性,雖然蟻群算法在很多領(lǐng)域都有廣泛應(yīng)用,但是參數(shù)選擇更多是依賴(lài)經(jīng)驗(yàn)和試錯(cuò),不恰當(dāng)?shù)某跏紖?shù)會(huì)減弱算法的尋優(yōu)能力。當(dāng)進(jìn)行路徑規(guī)劃時(shí),為避免形成環(huán)形路徑或者重復(fù)訪問(wèn)某些節(jié)點(diǎn)在算法中設(shè)置禁忌表,但是禁忌表很容易造成“死鎖”現(xiàn)象,減少種群中的有效螞蟻數(shù)量,降低算法的優(yōu)化效率。
(4)種群多樣性與收斂速度的矛盾。種群多樣性對(duì)應(yīng)于候選解在問(wèn)題空間的分布。個(gè)體分布越均勻,種群多樣性就越好,得到全局最優(yōu)解的概率就越大,但是尋優(yōu)時(shí)間就越長(zhǎng);個(gè)體分布越集中,種群多樣性就越差,不利于發(fā)揮算法的探索能力。正反饋加快了蟻群算法的收斂速度,卻使算法較早地集中于部分候選解,因此正反饋降低了種群的多樣性,也不利于提高算法的全局尋優(yōu)能力。
2、單蟻群算法的改進(jìn)
主要從以下幾個(gè)方面:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-814839.html
- 蟻群算法的結(jié)構(gòu)改進(jìn)?
- 蟻群算法的參數(shù)優(yōu)化?
- 信息素初始化方法的改進(jìn)?
- 信息素更新規(guī)則的改進(jìn)?
3、關(guān)鍵參數(shù)分析?
信息素啟發(fā)因子: α?
????????其值越大,螞蟻在選擇以前走過(guò)的路徑的可能性就越大,搜索的隨機(jī)性就會(huì)減弱;而當(dāng)啟發(fā)式因子 α 的值過(guò)小時(shí),則易使蟻群的搜索過(guò)早陷于局部最優(yōu)。根據(jù)經(jīng)驗(yàn),信息素啟發(fā)式因子 α 取值范圍一般為 [1,4]時(shí),蟻群算法的綜合求解性能較好。
啟發(fā)式因子: β
????????期望啟發(fā)因子 β 表示在搜索時(shí)路徑上的信息素在指導(dǎo)螞蟻選擇路徑時(shí)的向?qū)浴F谕麊l(fā)因子 β 的值越大,螞蟻在某個(gè)局部點(diǎn)上選擇局部最短路徑的可能性就越大,雖然這個(gè)時(shí)候算法的收斂速度得以加快,但蟻群搜索最優(yōu)路徑的隨機(jī)性減弱,而此時(shí)搜索易于陷入局部最優(yōu)解。根據(jù)經(jīng)驗(yàn),期望啟發(fā)因子 β 取值范圍一般為[3,5],此時(shí)蟻群算法的綜合求解性能更好。
信息素蒸發(fā)系數(shù): ρ
????????信息素蒸發(fā)系數(shù) ρ 大小的選擇將直接影響到整個(gè)蟻群算法的收斂速度和全局搜索性能。ρ 表示信息素蒸發(fā)系數(shù),1-ρ 則表示信息素持久性系數(shù)。因此,ρ的取值范圍應(yīng)該是0~1之間的一個(gè)數(shù)
ρ 過(guò)小時(shí),則表示以前搜索過(guò)的路徑被再次選擇的可能性過(guò)大,會(huì)影響到算法的隨機(jī)性能和全局搜索能力;ρ 過(guò)大時(shí),說(shuō)明路徑上的信息素?fù)]發(fā)的相對(duì)變多,雖然可以提高算法的隨機(jī)搜索性能和全局搜索能力,但過(guò)多無(wú)用搜索操作勢(shì)必會(huì)降低算法的收斂速度。
螞蟻數(shù)目: m?
????????螞蟻數(shù)目增大后,會(huì)使大量的曾被搜索過(guò)的解(路徑)上的信息素變得趨于平均,信息正反饋的作用不明顯。雖然搜索的隨機(jī)性得到了加強(qiáng),但收斂速度減慢。反之,(螞蟻數(shù)量少),特別是當(dāng)要處理的問(wèn)題規(guī)模比較大時(shí),會(huì)使那些從來(lái)未被搜索到的解(路徑)上的信息素減小到接近于0,搜索的隨機(jī)性減弱,雖然收斂速度加快了,但會(huì)使算法的全局性能降低,算法的穩(wěn)定性差,容易出現(xiàn)過(guò)早停滯現(xiàn)象。
m? 一般取 10 ~ 50
信息素強(qiáng)度: Q?
????????參數(shù) Q? 不必作特別的考慮,可以任意選取。
最大進(jìn)化代數(shù):G
????????一般 G 取 100 ~ 500?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-814839.html
到了這里,關(guān)于蟻群算法優(yōu)缺點(diǎn)及改進(jìn)方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!