在螞蟻系統發表後,陸續有學者發表改良式或以螞蟻系
統 為 基 礎 的 演 算 方 法 , 主 要 有(Dorigo&Gambardella,1997)
【 34 】 的 螞 蟻 合 作 系 統 (Ant Colony System), 以 及 (Stutzle&Hoos,1996) 【 42 】 的 Max-Min Ant System 。 Dorigo(1999)【35】後來將這些和蟻元系統有關的方法統稱 為螞蟻族群最佳化(ant colony optimization)。
1.螞蟻合作系統(Ant Colony System;ACS)
螞蟻合作系統(Ant Colony System)和螞蟻系統(Ant system)不 同的地方主要有下列三點:
(1)ACS 具有傳遞法則可供螞蟻在選擇新路徑和延用之前 走過路徑所累積的記憶之間取得平衡。
(2)全域更改法(golbal update rule)只應用在擁有最好表 現之螞蟻所走過的路徑上。
(3)一般螞蟻建構一條求解的路徑時,是使用局部費洛蒙更 改法(local updating rule)。
ACS 運作的流程如下:
(1)首先 m 隻螞蟻會被放置在 n 個城市上,放置的方式根據 當初設定的初始法則,例如:隨機放置。
(2)螞蟻重覆依據靜態傳遞法則,來建構求解的路徑。每隻 螞 蟻 在 建 構 路 徑 期 間 , 同 時 會 留 下 費 洛 蒙 在 經 過 的 路 徑
上,而此時的費洛蒙的更改法是局部更改法。
(3)當所有的螞蟻結束尋找路徑時,在路徑上的費洛蒙又會 以全域更改法來調整一次。
Dorigo 和 Gambardella(1997)【36】提出了螞蟻合作系統(Ant Colony System;ACS),其在狀態轉移的方式與費洛蒙軌跡 的更新方式都有所改良。
ACS 中的狀態轉移法則為:當一螞蟻在 r 城市,要選擇下 一個城市 s 所遵循的法則,如下所示:
S= ( )
{ ( ) ( ) }
⎪⎩
⎪ ⎨
⎧
∈⋅ ≤
otherwise
,
q q if , , ,
max
arg
0S
u r u
r r
J
u k
η
βτ
其中 q 是隨機的參數,介於 0 和 1 之間;q0是參數,介於 0 和 1 之間;S 是比例式隨機法則(random-proportional rule) 所選出的城市。
2.Max-Min Ant System
Stutzle&Hoos(1996)【42】根據原始螞蟻系統(Ant system) 改良的 MMAS(Max-Min Ant System)。他們認為原始的螞 蟻系統在解決小規模的組合最佳化問題上有不錯的表現,
但當問題的規模隨著增大時,比如旅行銷售員的城市數目
增加到 2000 個,其求解的品質將會大幅的下降。其原因可 能是每條路徑上的費洛蒙過於分散,屬於最佳路徑上的費 洛蒙相對於其它路徑的費洛蒙沒有太強烈的對比,使得眾 多的螞蟻不能很快的集中於之前所到的最適路徑。所以,
Stuizle 和 Hoos 便提出在路徑上的費洛蒙的值,有設定最 大(Max)和最小值(Min),使得費洛蒙值較能集中。
MMAS 和原始的螞蟻系統的主要差別有三點:
1. 在每個 iteration 只允許有最好表現的螞蟻,來更新路徑的 費洛蒙值。
2. 為了避免太快就進入停滯狀態,使得尚未找到最佳解就停 止,所以加入最大及最小值的限制,既
τ
max和τ
min。3. MMAS 在一開始每條路徑的費洛蒙初始值,都設為最大值
τ
max。MMAS 雖是將路徑的費洛蒙值設限於一最大值和最小值 之 間 , 但 其 最 大 或 最 小 值 , 並 不 是 事 先 給 定 的 一 固 定 數 值。而是會隨著系統的執行,而跟著改變。
以下為兩者之運算公式:
( )
dec dec
P avg
P
⋅
−
=
max⋅ 1
min
τ τ
其中 Lopt為最佳路徑的長度。
最 小 值 的 計 算 是 建 立 在 以 下 的 假 設 上:如果最佳路徑被找到 的機率為 Pbest,且 Pbest大於零。當發生系統停滯時,通常所 尋找到的最佳路徑的費洛蒙值,會接近或等於最大值的上限
τ
max,同時其他不屬於最佳路徑的費洛蒙值,理論上會接近所 設的下限τ
min。當每隻螞蟻在選擇到下一個城市的路徑時,若 選的是屬於最佳路徑的一部分的機率是 Pdec,則每隻螞蟻能 建構出一條最佳路徑的機率為 P(decn−1) 。所以必須做出 n-1 各正 確的決策(N 為城市數)。若採用從候選城市,則為:候選城市/2。所以,每隻螞 蟻必須選擇 n/2 個城市,所以 Pdec就等於下列的式子:
Pdec=
min max
max
τ τ
τ
⋅ + avg