TSP_旅行商問題-基本蟻群演算法
阿新 • • 發佈:2018-12-25
TSP_旅行商問題-基本蟻群演算法
旅行商系列演算法
問題描述
對於n組城市座標,尋找最短路徑使其經過所有城市並回到起點。
問題資料集:tsp.eil51問題
1 37 52 2 49 49 3 52 64 4 20 26 5 40 30 6 21 47 7 17 63 8 31 62 9 52 33 10 51 21 11 42 41 12 31 32 13 5 25 14 12 42 15 36 16 16 52 41 17 27 23 18 17 33 19 13 13 20 57 58 21 62 42 22 42 57 23 16 57 24 8 52 25 7 38 26 27 68 27 30 48 28 43 67 29 58 48 30 58 27 31 37 69 32 38 46 33 46 10 34 61 33 35 62 63 36 63 69 37 32 22 38 45 35 39 59 15 40 5 6 41 10 17 42 21 10 43 5 64 44 30 15 45 39 10 46 32 39 47 25 32 48 25 55 49 48 28 50 56 37 51 30 40 最優解:426
基本蟻群演算法基本流程
用一隻螞蟻的行走路徑代表一個可行解;
1、確定迭代週期;
2、確定螞蟻數;
3、對每隻螞蟻;
3.a、隨機選擇起點;
3.b、選擇下一步;
3.b.a、根據所有與當前節點有關的路徑上的資訊素多少,決定下一步,一般資訊素越多,選擇該路徑的概率越高;
3.b.b、螞蟻有一定概率選擇錯誤,即隨機選擇下一步;
3.c、選擇後,在選擇的路徑上按照一定規則留下一定量的資訊素;
3.d、最終的螞蟻路徑就是本次搜尋的最佳路徑;
4、等待週期結束;
基本蟻群演算法在tsp問題上的應用
用一隻螞蟻的行走路徑代表一個可行解,即一個城市序列;
1、確定迭代週期;
2、確定螞蟻數;
2.a、對每隻螞蟻,隨機選擇起點;
2.a.a、進入迴圈選擇後N-1個城市;
2.a.b、根據所有與當前節點城市相連的路徑上的資訊素多少,決定下一步,即選擇資訊素最多的路徑;
2.a.c、螞蟻有一定概率選擇錯誤,即隨機選擇下一步要走的路徑;
2.a.d、選擇後,在選擇的路徑上按照一定規則留下一定量的資訊素;
2.b、螞蟻路徑就是本次搜尋的路徑;
3、每群螞蟻結束後,所有路徑上的資訊素進行一次衰退,保證越後進行的螞蟻的資訊素影響越大;
4、等待週期結束;
【注1】更新選擇的路徑上的資訊素方式為為
為從第i個城市到第j個城市的路徑上的資訊素(初始化為該路徑長度的倒數);
為資訊素衰退因子;
為常數因子;
為從起始城市回到到城市的路徑距離;
【注2】更新資訊素的過程分為全域性更新和區域性更新;
【注3】全域性更新資訊素的的大小有多種,以下有三種模型;
- ACS(Ant Circle System)
為從第i個城市到第j個城市的路徑上的資訊素(初始化為該路徑長度的倒數);
為資訊素衰退因子;
為常數因子;
為從起始城市回到起始城市的路徑距離;
- AQS(Ant Quantity System)
為從第i個城市到第j個城市的路徑上的資訊素(初始化為該路徑長度的倒數);
為資訊素衰退因子;
為常數因子;
為從第i個城市到第j個城市的路徑距離;
- ADS(Ant Density System)