蟻群演算法之二

2021-07-29 01:54:23 字數 899 閱讀 4213

1、螞蟻系統模型的建立 

給定g=(v,a),其中v為定點集,a為各頂點互相連線組成的邊集,已知各頂點之間的連線距離,要求確定一條長度最短的迴路,僅遍歷一次所有頂點的迴路。引入記號:

m:蟻群中螞蟻的數量;bi(t):t時刻位於城市i的螞蟻的數量 dij:城市i和j之間的距離 nij:邊(i,j)的能見度,反映城市i轉移到城市j的啟發程度(啟發程度越高,選擇該路的概率越高);γij:(i,j)邊上的資訊素軌跡強度;蝶兒他γij,螞蟻在邊(i,j)上留下的單位長度軌跡資訊素量;pkij:,螞蟻k的轉移概率,j是將要到的城市。

每只螞蟻完成的操作如下所示:

① 從城市i轉移到城市j的過程或是完成一次迴圈之後,螞蟻在邊(i,j)上釋放資訊素;

② 螞蟻概率地選擇下個要訪問的城市,這個函式與連線兩城市的路徑上的資訊素有關。

③ 為了滿足問題的約束條件,在完成一次迴圈之前,不允許螞蟻選擇已經訪問過的城市。(這個問題的約束條件是什麼?)

簡單的蟻群演算法的基本流程

① 初始化蟻群

② 選擇第i只螞蟻(i從0開始),對每只螞蟻的適應度做一評價

③ 釋放資訊素 螞蟻的適應度越高,釋放的資訊素越多

④  螞蟻移動 螞蟻根據前面螞蟻累積的資訊素和自己的判斷移動

④ 資訊素的揮發

初始時刻,各條路徑上的資訊素量相等。在t=0的時候,初始資訊素軌跡強度全為c。螞蟻使用的狀態轉移規則稱為隨機比例規則,轉移概率的計算如下:對於允許到達的重點來說,轉移狀態=要走的路的資訊素軌跡強度的α次*要走的路的可見度的β次/(所有路的資訊素軌跡強度的α次之和*所有路的可見度β次之和)。可以通過調整α和β來反映相對重要性。

蟻密系統模型:乙隻螞蟻經過路徑(i,j)上釋放的資訊量為每單位q

蟻量模型:乙隻螞蟻在經過路徑(i,j)上釋放的資訊量為每單位長度q/dij.

未完待續、、、

蟻群優化演算法

蟻群優化演算法作為一種全域性最優化搜素方法,同遺傳演算法一樣,靈感都 於自然界,並有良好的搜素效能。然而,從數學的角度來理解分析它們的工作方式是很難的,因為這些演算法都具有很複雜的隨機過程。aco演算法的過程具有一定的隨機性,這就要求初始化螞蟻的數量和更新資訊素的次數必須足夠的多,只有這樣才能最終收...

蟻群演算法詳解

今天開始學習優化演算法,話說蟻群演算法是之前看過的,唉,今天一看都看不懂了,蟻群演算法的思想我就不說了,現在來理解一下這個 吧!該 的主要思想是 for 迭代次數 for 螞蟻個數 每個螞蟻完整的走完一遍 每個點訪問一次 end更新資訊素 end然後根據資訊素的多少找出一條路徑來 tsp的蟻群演算法...

ACO蟻群演算法

aco蟻群演算法 總結一下 在蟻群演算法中有兩個比較重要的引數資訊素濃度a,距離d,主要依靠這兩個特徵引數來推算出蟻群去往地點的概率。在比較早的時候成功解決了tsp旅行商的問題 在後面的例子中也會以這個例子 要用演算法去模擬螞蟻的這種行為,關鍵在於資訊素的在演算法中的設計,以及路徑中資訊素濃度越大的...