240 likes | 370 Views
螞蟻演算法. Ant Algorithm 95360352 施冠宇. ACS 蟻族群系統 (Ant Colony System) ACS 使用 pseudo-random-proportional rule 選擇路徑以縮短計算時間,而且只在最好的解增加費洛蒙的痕跡,經實驗證明,只在最好的解上增加費洛蒙的設計,確實有助於螞蟻能最快搜尋到最佳解. pseudo-random-proportional rule 有 q 0 (0< q 0 <1) 的機率,直接選擇往 最大的路徑前進。. 費洛蒙更新 (pheromone)
E N D
螞蟻演算法 Ant Algorithm 95360352 施冠宇
ACS蟻族群系統(Ant Colony System) ACS 使用pseudo-random-proportional rule選擇路徑以縮短計算時間,而且只在最好的解增加費洛蒙的痕跡,經實驗證明,只在最好的解上增加費洛蒙的設計,確實有助於螞蟻能最快搜尋到最佳解
pseudo-random-proportional rule 有q0(0< q0<1)的機率,直接選擇往 最大的路徑前進。
費洛蒙更新(pheromone) ACS的pheromone update 可分為global update 和local update • Global pheromone trail update 每個循環結束後只在Global-base solution 增加pheromone
其中 為global-base solution的目標函數值,也就是在t次循環裡所尋找到的最短路徑的路徑長度
Local pheromone trail update 和solution construction同時進行,每當螞 蟻經過一段路徑,即減少該pheromone量。 這樣的設計在於,避免同一循環內的螞蟻在 相同的路徑上重複搜尋。
極大-極小螞蟻系統 (MAX-MIN Ant System, MMAS) 這系統和ACS很像,不同的地方在於它在控 制了費洛蒙上範圍,不小於 不大於 (其中 、 為一開始就設定好的參數) 這樣的設計可以讓螞蟻不會過早收斂於某 個範圍內
Solution construction 與ACS相同 • Pheromone update 只在global-bestsolution 的路徑上增加 費洛蒙,且令所有arc上pheromone濃度 限制在 範圍內。
範例 • 假設有一物流配送的區域為方形區域,範圍從 (0,0) 到 (100,100),用MATLAB 以隨機亂數的方式找出20個配送點,各個配送點的座標與需求量如表1所示。有5個候選配送中心,各配送中心座標、地價與單位管理成本如表2 所示,供應商座標是 (45,50),運費率為1。本文參數設定:r = 20 (螞蟻數),α = 1,β = 5,ρ = 0.5, NC(MAX) =500, P(best) = 0.05,每種方法進行20 次的模擬實驗。實驗結果如表3。
由表3可看出在求解配送中心選址問題時,MAX-MIN螞蟻演算法優於傳統蟻群演算法,因為在選代次數為500 的狀況下,MAX-MIN螞蟻演算法最佳解為308.7,20 次的模擬中有19次找到最佳解。傳統蟻群演算法在尋找最佳解的時候會發現收斂速度很慢,結果極不穩定。整體看來MAX-MIN螞蟻演算法能在較短時間內找到最佳解且經由多次運算後發現其模式穩定性很高。
用MAX-MIN 螞蟻演算法求得最後配送結果如表4 所示。需要建立的配送中心有3 個 (第2、3、4 個配送中心),同時也選定需要配送的配送點,而配送中心1 和5 未被分配到配送點,即為多餘的配送中心,配送規模為所供應的配送點的需求量之總和 (以第2 個配送中心為例,由表1 可知配送規模為1.5+0.7+1.2+1.8+2+1.1 = 8.3)。由以上可得知此MAX-MIN螞蟻演算法克服了傳統選址的侷限性,此方法也可以用在複雜且有規模性的選址問題上。
分等螞蟻系統 (Rank-Based Version of Ant System, ASrank) 在ASrank設計裡,每個循環結束後,先將 m 隻螞蟻依 大小排列, 只有排在前面的w-1(w為該演算法須設定的參數)隻螞蟻可增加費洛蒙量,排在愈前面費洛蒙量愈多。
Solution construction 和ACO(螞蟻群聚最佳化)相同 • Pheromone update 將m隻螞蟻依 大小排序, 排在愈前面費洛蒙量愈多。
快速螞蟻系統 FANT 沒有population的觀念。 每次循環只使用一隻螞蟻,再以螞蟻搜尋出的解作為local search。 為了避免收斂於次佳解,有reset pheromone (diversification)的機制。
Solution construction 螞蟻走完所有路徑後,再經過first step of a first improving neighbor procedure改善,即為這次循環所得到的最佳解
Pheromone update FANT 沒有蒸發機制,每個循環結束 update pheromone 其中r會隨著演算過程而變動,而 是一開 始固定好的值。
在每個循環結束後如過遇到以下的情形r會改變:在每個循環結束後如過遇到以下的情形r會改變: • 當找出來的解比global-best solution好時。 • 如果找出的解和原來的global-best solution相同。
改變方式: 有最佳解時:將得到的解設為新的 global- best solution並將r設為1,清除所有arc 上的pheromone資料,將所有所有arc上的 pheromone資料設為1。 相同解時: 令r=r+1,清除所有arc上的 pheromone資料,將所有arc上pheromone 資料設為r。