999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

改進的蟻群優化算法求解旅行商問題

2022-04-21 08:01:20楊雄飛錢育蓉
計算機工程與設計 2022年4期
關鍵詞:信息

趙 鑫,楊雄飛,錢育蓉+

(1.新疆大學 軟件學院,新疆 烏魯木齊 830046;2.新疆大學 軟件工程重點實驗室,新疆 烏魯木齊 830046;3.新疆維吾爾自治區 信號檢測與處理重點實驗室,新疆 烏魯木齊 830046)

0 引 言

旅行商問題(traveling salesman problem,TSP)是一個典型的組合優化問題[1],國內外學者對這一問題的研究已有很多[2]。蟻群優化算法(ant colony optimization,ACO)是一種群體智能算法[3],蟻群算法具有基于分散自組織系統集體行為的人工智能,蟻群算法早期被應用于求解TSP問題[4],對最優路徑尋優具有良好的優越性,但也存在收斂速度慢、容易陷入局部最優等缺點。對于蟻群算法的改進,比較著名的改進算法還有精英策略螞蟻系統[5]、優化排序螞蟻系統[6]等;也有學者對蟻群算法應用于解決多目標優化問題而設計多目標進化算法,改善其計算效率不高的問題[7],在網格環境下改善均衡作業調度[8],用于配水系統優化[9],解決武器-目標分配問題[10]。

本文研究針對基本蟻群算法在求解TSP問題時表現的停滯行為和早熟收斂問題,提出了一種帶有遺忘因子的蟻群優化算法,命名為遺忘因子蟻群優化算法(forgetting factor ant colony optimization,FFACO)算法。FFACO算法在基本蟻群算法基礎上,優化轉態轉移公式和信息素更新規則,縮短了城市轉換的時間成本,最大限度地發揮了當前最優解的主導作用,加快了收斂速度,同時避免局部解的產生。對TSP的仿真結果表明,改進后的算法通過變遺忘因子進行對最優解的跟蹤,避免了誤差的積累,提高了算法求解的效率。

1 蟻群優化算法

1.1 ACO數學模型

TSP問題用完全加權有向圖表示G=(V,A,d),變量V={1,2,…,n} 為城市集,其中n為城市數,A={(i,j)|(i,j)∈V*V} 為弧集,d是與每條弧arc(i,j)關聯一個正整數的加權函數,TSP的目的是在每個城市只訪問一次時找到一條最短的路徑。蟻群算法是一種啟發式算法,用來模擬真實蟻群的行為,建立食物源與蟻巢之間的最短路徑[11]。當螞蟻尋找食物時,它會在自己所經過的路徑上釋放出一種信息素,其它的螞蟻可以被該信息素吸引,而選擇這個路徑,當越來越多的螞蟻通過這條路徑時,會導致更多的信息素沉積在該路徑上,也會吸引更多的螞蟻繼續選擇該路徑。因為螞蟻根據信息素數量的多少來抉擇將要移動的路徑,信息素在路徑上的沉積的越多,也就越有可能吸引更多的螞蟻來選擇該路徑。因此,螞蟻們依據該原理構造出從巢穴到食物來源并返回的最短路徑,在下面,將提供基本ACO的正式定義。在算法初始階段,隨機的將每只螞蟻放置在一個城市位置上,在構造可行解的過程中,每只螞蟻通過概率決策規則選擇下一個將要訪問的城市位置,第k只螞蟻由當前城市位置,移動到下一個城市位置的概率由式(1)給出,如下所示

(1)

τij(t+s)=(1-ρ)τij(t)+Δτij,ρ∈(0,1)

(2)

α是一個信息啟發式因子,它決定了信息素的相對影響,β是期望啟發因子,表示期望值的相對重要性,反映了螞蟻在運動過程中路徑長度的影響,ρ是一個信息素殘留系數。其中τij(t)是信息素在arc(i,j)上時刻t的蹤跡量。路徑上的信息素將一步一步蒸發掉。經過時間s后,根據式(2)更新軌跡強度

(3)

(4)

1.2 ACO算法流程

ACO算法的具體實現步驟如下:

(1)初始化階段,生成算法所需基本參數α,β,ρ,螞蟻數m、算法迭代次數NC、節點間代價值arc(i,j)、初始路徑信息素濃度τij(0)=A;

(2)螞蟻們根據式(1)計算的概率,來抉擇將要移動下一個節點的位置,并更新相應的tabuk;

(3)當螞蟻們完成一次周游后,記錄它經過的路徑所需的最低成本值,若該值比當前最優解更優,則更新最優解,m只螞蟻根據概率函數選擇下一個城市,完成本次周游;

(4)計算每條路徑上螞蟻留下的信息素數量;

(5)重復步驟(3)~步驟(4),直到所有螞蟻完成整個周游;

(6)當所有螞蟻完成一個周期后,按式(2)~式(4)更新路徑上沉積的信息素濃度值;

(7)當算法達到指定的終止次數或達到設定的最優值誤差率時,算法結束運行并輸出最優解。

2 改進的蟻群優化算法

2.1 遺忘因子調節策略

為了解決TSP傳統蟻群算法的局部最優、搜索停滯和初始收斂慢的問題,在改進算法中,通過調整局部信息素更新策略和全局信息素更新策略,在傳統信息素更新策略中引入遺忘因子,螞蟻在搜索和強化的過程中達到了更好的平衡,在已有的已知數據上對該算法的性能進行了測試。當解算誤差較大時,自動選擇較小的遺忘因子以提高跟蹤靈敏度;當解算誤差較小時,自動選擇較大的遺忘因子,以增加記憶長度,提高辨識精度。

2.2 初始信息素設置

加權初始信息素分布基于最近鄰法,最近鄰法是數據挖掘中最簡單的分類算法之一[12],由于該方法本身具有直觀、求解速度快的特點,因此本文采用最近鄰法來快速建立原始行程的初始信息素分布矩陣,TSP問題的基本概念是最近鄰法求解TSP問題,其實質是貪心策略在解決實際問題中的實際應用,可以簡單地描述如下:首先,以一個源點城市為出發點,然后找到最近的城市,從源點城市找到連接下一城市的方式,并作為下一個源點;最后,依次重復,直到所有的城市標點添加到構建的路徑中,并且將起始城市添加到周游路線的末尾,構建完整的周游路線。

在螞蟻系統(ant system,AS)算法中,初始信息素濃度均等分布,在算法初期階段的螞蟻進行大量盲目搜索,生成諸多無效路徑,導致路徑上信息素濃度更新不準確,削弱信息素指示路徑的啟發式意義。該問題不僅使算法的初始搜索時間較長,而且由于信息素濃度更新的誤差,導致搜索路徑陷入局部最優,影響了算法的性能。受遺忘算法的啟發,本文在前期降低了遺忘因子的值,首先用蟻群算法尋找次優路徑信息,然后增加遺忘因子的值,搜索路徑信息,A是式(5)中的初始測試信息素矩陣

A=τ0*ones(N,N)

(5)

(6)

由式(6)生成初始信息素τij(0),可實現在算法初期階段對初始信息素濃度的合理控制,有利于蟻群算法在求解TSP問題時避免選擇路徑信息素濃度較高,使算法易于陷入局部最優解的能力。避免了蟻群系統中由于信息素過多而在非最優路徑上的搜索,以及信息素濃度過低而無法長期搜索的現象。

2.3 改進的狀態轉換策略

(7)

(8)

λ=1-Elp

(9)

式(8)中,Elp表示lp第二次周游得到的最優值誤差,相對誤差Elp表示結果與算法理想值的差異,Elp越小,算法的性能越好。cb表示算法的最佳值,以及c*是理想值。λ∈(0,1],它來自于式(9),如果理想的最優值一開始是未知的,可以用lN代替c*,如式(10)所示

(10)

2.4 改進的信息素更新策略

由于蟻群算法中的全局更新策略,只更新單周期最優路徑上的信息素釋放的濃度,AS算法的全局更新策略只更新螞蟻經過的所有路徑,導致路徑上的信息素濃度變化不大,應該合理利用每次迭代產生的最優路徑的優化效應,將單次迭代產生的最優路徑與全局最優路徑密切聯系起來。因此,在FFACO算法中,對信息素更新規則的改進主要從兩個方面進行:信息素更新和單個螞蟻整個路徑上的全局信息素更新,在全局更新規則中引入了λ作為遺忘因子,FFACO算法能有效跟蹤不同最優解的信息素加成,避免信息素在單個較短路徑上過度沉積,從而導致局部最優。

每個螞蟻路徑信息素的更新規則見式(11),用最近鄰法構造初始路徑并計算τ0,τij即城市i與城市j之間的信息素濃度,為了避免基本蟻群算法中全局信息素更新策略對螞蟻行為的誤導性影響,及時修改了λ的值,以提高現有新信息的有效利用率。

為了增強每條最優路徑對每個螞蟻的反饋信息,在傳統螞蟻蟻周模型和精英策略螞蟻系統的基礎上,提出了一種新的全局信息素更新規則,該規則能充分利用不同的λ和不同強度的新信息,式(12)是在全局最優路徑上增加信息素

τij(t+1)=(1-ρ)·τij(t)+(1-λ)·τ0,λ∈(0,1)

(11)

τij(t+n)=ρ·τij(t)+(1-λ)Δτij(t)+λ(1./Lbest(n+1))

(12)

3 實驗環境及結果

3.1 實驗環境設置

為分析改進算法的性能,分別將其與模擬退火(simulated annealing,SA)、遺傳算法(genetic algorithm,GA)、粒子群優化算法(particle swarm optimization,PSO)和ACO算法對4個不同的TSP實例進行測試:Chn31測試實例和Att48測試實例數據集記錄了重要城市的地理坐標信息,St70和Eil76測試實例分別記錄了城市的位置坐標信息。將SA、GA、PSO、ACO和FFACO算法應用到這4個測試實例中,測試實例全部來自TSPLIB庫中,用仿真軟件Matlab7.0進行仿真實驗,運行計算機配置為Intel(R)core(TM)i7-4710 mq CPU@2.50 Ghz 8核,12 G運行內存,下面將詳細介紹算法的實現。

3.2 算法參數配置

(1)模擬退火算法參數配置

在模擬退火算法的基本版本中,SA的初始溫度為120,終止溫度為1,冷卻系數為0.99,城市隨機交換應用的算子見表1,所交換的數字已用粗體顯示,最大迭代次數為200次。

表1 兩城市隨機交換算子

(2)遺傳算法參數配置

遺傳算法的種群規模為100個個體。從每個個體隨機選擇的城市開始,使用最近鄰啟發式算法生成初始人口。從群體中隨機選擇兩個個體作為親本世代,在突變(pmut=0.80)的情況下,從群體中隨機選擇一個個體,并按相關概率進行突變操作,重組情況下(prec=0.80),最大代數為200。

(3)粒子群優化算法參數配置

粒子群優化算法的種群規模為100個個體,隨機初始化粒子的位置,循環搜索最優路徑。通過計算種群適應度值,更新當前最優值和歷史最優值,結合交叉變異操作,當新路徑長度小于歷史最優值時,接受更新。在中間種群中每個個體交叉和變異的情況下,設定進化的最大數目是200。

(4)ACO算法參數配置

ACO算法的參數初始化為α=1,β=2,Q=10,ρ=0.2,m=10和NC=200。最大迭代次數為200次,m為螞蟻數,n為本算法中的城市數,α表示信息素的重要性因子,β表示啟發式函數的重要因子,ρ表示信息素殘留系數。

(5)FFACO算法參數配置

FFACO算法的參數初始化為:α=1,β=2,m=10,λ=0.1,ρ=0.1和NC=200。NC是最大迭代次數為200,α代表信息素的重要因子,β代表啟發式函數的重要因子,m是螞蟻數,λ是遺忘因子,n是TSP問題中的城市數,ρ代表信息素殘留系數。

3.3 實驗結果

通過對TSPLIB的4個數據集的時間消耗和全局最優解的測試,充分展示了FFACO算法的優越性,為了使結果更具可讀性和更易于比較,對所描述的5種算法(SA、GA、PSO、PSO和FFACO)的研究設計如下:每種算法對4個公開測試實例分別進行測試,取30次實驗運行結果記錄其平均解、最優解、最差解及其與已知最優解的偏差率,4個TSP數據集的模擬計算結果見表2,表3是每個測試實例的已知最佳解決方案(best known solution, BKS)。

表2 實驗計算結果

表3 基準實例的最優解

表2統計各算法的計算結果,第一列表示各種測試實例,它們按問題規模的大小按遞增順序列出;第二列表示算法的名稱,其余主列是指平均解、最優解、最差解及其偏差率,其中平均解是使用該方法在運行30次后取平均解,最佳和最差解是在使用該方法運行30次結果中取到的,每次運行只取該算法的前200個進化結果,對每個算法的計算結果顯示其真實值和與最優值的偏差,表中每個數據集的最優值結果以粗體顯示。

對于Chn31測試實例,FFACO的計算結果非常好,SA、GA、PSO和ACO的平均解偏差和最差偏差都較大,但GA和PSO的最優解與FFACO相同(偏差為0.023%)。對于48個城市的TSP實例,FFACO仍然可以找到最接近的最優解(dev.0.234%),而SA、GA、PSO和ACO的最優解偏差率遠遠高于FFACO,平均解偏差和最差解偏差也遠高于FFACO。對于70個和76個城市的TSP問題,最優解的最佳性能仍然是FFACO(偏差1.001%,偏差0.929%),比較平均解偏差時,SA、GA、PSO和ACO的平均解偏差高于FFACO。

總體來說,在200次最優解進化過程中,FFACO在以上所有測試實例中表現最好。在上表中的12個優化結果中,有11個是FFACO,改進后的算法大大提高了蟻群算法的性能。針對不同問題規模的TSP實例,SA、GA和PSO都需要大量的迭代來優化最優路徑,這也是它們性能不如FFACO的主要原因。對于小問題,ACO和FFACO在平均解偏差、最優解偏差和最差解偏差上存在顯著差異,隨著問題規模的增大,ACO和FFACO的結果變得比其它程序好,ACO的優點是每次迭代都能得到更好的結果,根據學習到的數據生成一個新的解,但FFACO在訓練最優值和平均值方面比蟻群算法有更好的性能,計算結果表明所提出的改進對TSP問題是有效的,并與SA、GA、PSO和ACO進行了比較。

3.4 結果分析

為增強最優解求解能力的對比性,分析本文算法的有效性,對SA、GA、PSO、ACO算法與本文提出的算法進行最優解進化軌跡的對比,實驗結果如圖1~圖4所示。圖1 為5種算法對Chn31測試實例求最優解時,最優解的進化曲線,圖2為5種算法對Att48測試實例求最優解時的最優解進化曲線。從以上可知,改進后的算法和ACO算法都能在迭代的初始階段快速逼近最優解,而SA、GA、PSO算法明顯落后于二者,且改進后算法在ACO處于停滯狀態時,依然能對最優解實現進一步優化,體現其對最優解良好的跟蹤能力。圖3為5種算法對St70測試實例求最優解時,最優解的進化曲線,圖4為5種算法對Eil76測試實例求最優解時的進化曲線。其中,由圖4可知,改進后的算法在對Eil76測試實例求解時,能夠快速逼近最優解,其它算法最優解進化曲線與其差異明顯。

圖1 最優解進化軌跡(實例Chn31)

圖2 最優解進化軌跡(實例Att48)

圖3 最優解進化軌跡(實例St70)

圖4 最優解進化軌跡(實例Eil76)

從問題規模的角度分析,Chn31、Att48、St70、Eil76這4個測試實例問題規模依次遞增,在有限次的迭代求解中,FFACO和ACO算法有較好的求解能力,但與ACO算法相比,FFACO對不同問題規模的TSP問題求解有更好的適應性。從解的質量來看,所提出的FFACO算法將在每次迭代中更新最優解,而不必過多考慮待解問題的大小,整個求解過程相對穩定,有效地提高了蟻群算法的性能。

從表4可知,5種算法求解不同測試實例時的最優解時間消耗,加粗字體為最優值。對不同算法而言,本文提出的FFACO算法求解最優解的時間消耗最短,與SA、GA、PSO算法相比,FFACO算法在有限次迭代計算中具有明顯優勢,與ACO算法相比,FFACO算法有較好的跳出局部最優解的能力,實現對最優解的良好跟蹤,進而縮短時間消耗。對于不同的測試實例而言,所需求解的問題規模依次遞增,各算法求最優解的時間也有所增加,但FFACO算法仍然是求最優解時最省時間的。

表4 算法求最優解的時間消耗

圖5~圖8是本文所提FFACO算法對Chn31、Att48、St70、Eil76測試實例的全局最優解路徑規劃圖,圖中所示的橫坐標、縱坐標均為城市位置坐標的描述。

圖5 全局最優解路線(實例Chn31)

圖6 全局最優解路線(實例Att48)

圖7 全局最優解路線(實例St70)

圖8 全局最優解路線(實例Eil76)

綜上所述,本文所提FFACO算法與ACO算法相比有更好的求解能力,對不同問題規模的TSP問題求解有更好的適應性,與SA、GA、PSO算法相比,顯著節約了求最優解的時間成本。本文所提算法有效改善基本蟻群收斂過程中早熟停滯現象,整個求解過程相對穩定且有效地提高蟻群算法的求解質量,使改進算法具有較好的魯棒性和收斂性。

4 結束語

本文提出了一種帶遺忘因子的蟻群算法,提出改進的信息素更新模型,其主要思想是在基本蟻群算法的螞蟻中引入遺忘因子,遺忘因子能及時修正局部信息素的權重和全局信息素的更新,遺忘因子的調整能實現對信息素的良好跟蹤效果,改善了基本蟻群算法的停滯行為和收斂性。最后的實驗結果表明,該算法具有很好的最優解尋優能力,且時間成本更低。未來的工作將集中在從理論上評估路徑評估模型的有效性。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 色综合手机在线| 久久香蕉国产线看观看式| 人妻一本久道久久综合久久鬼色| 国产精选小视频在线观看| 色有码无码视频| 国产精品区网红主播在线观看| 国产成人一区在线播放| 国产亚洲精品自在久久不卡| 欧美va亚洲va香蕉在线| 永久免费无码日韩视频| 综合天天色| 99久久精品国产自免费| 亚洲中文字幕23页在线| 国内丰满少妇猛烈精品播| 成年av福利永久免费观看| 久久久久88色偷偷| 日韩成人在线网站| 亚洲三级影院| 国产成人精品视频一区视频二区| 国产人免费人成免费视频| 国产欧美性爱网| 在线视频亚洲色图| 国产大片黄在线观看| 亚洲嫩模喷白浆| 中文字幕久久波多野结衣| 国产一区二区免费播放| 91精品啪在线观看国产60岁| 午夜国产理论| 一级片免费网站| 国产人在线成免费视频| 色偷偷一区二区三区| 国产女人喷水视频| 在线播放国产一区| 97精品久久久大香线焦| 亚洲天堂视频网站| …亚洲 欧洲 另类 春色| 毛片免费网址| 国产欧美成人不卡视频| 97超碰精品成人国产| 久久午夜影院| 亚洲男人的天堂久久精品| 二级特黄绝大片免费视频大片| 国产精品亚洲天堂| 一区二区三区在线不卡免费| 91亚洲精品国产自在现线| 国产毛片高清一级国语| 午夜福利在线观看成人| 人妻精品久久久无码区色视| 国产女人爽到高潮的免费视频| 亚洲天堂网在线视频| 99ri国产在线| 亚洲成a人片| 中文字幕丝袜一区二区| 精品国产黑色丝袜高跟鞋| 久久五月天国产自| 欧美一区二区自偷自拍视频| 日本色综合网| 精品久久久久久中文字幕女| 国产精品久久久久久搜索| 久久99久久无码毛片一区二区| 亚洲av片在线免费观看| 亚洲精品老司机| 国产高清无码麻豆精品| 国产亚洲欧美日韩在线一区| 久草中文网| 国产永久在线视频| 呦系列视频一区二区三区| 国产性生大片免费观看性欧美| 成人一区在线| 午夜不卡视频| 无码人妻热线精品视频| 日韩免费成人| 中文毛片无遮挡播放免费| 欧美综合一区二区三区| 欧美精品高清| 亚洲一区二区三区国产精品| 亚洲欧美不卡视频| 国产麻豆精品久久一二三| 精品一区二区三区自慰喷水| 国产高清毛片| 欧美日本视频在线观看| 国产十八禁在线观看免费|