蟻群演算法 旅行商(TSP)問題詳解

2021-10-23 20:56:41 字數 858 閱讀 1806

蟻群演算法(ant colony optimization)最早是由marco dorigo等人在2023年提出,他們在研究新型演算法的過程中,發現蟻群在尋找食物時,通過分泌一種稱為資訊素的生物激素交流覓食資訊從而能快速的找到目標,據此提出了基於資訊正反饋原理的蟻群演算法。

蟻群演算法的基本思想**於自然界螞蟻覓食的最短路徑原理,根據昆蟲科學家的觀察,發現自然界的螞蟻雖然視覺不發達,但它們可以在沒有任何提示的情況下找到從食物源到巢穴的最短路徑,並在周圍環境發生變化後,自適應地搜尋新的最佳路徑。

螞蟻在尋找食物源的時候,能在其走過的路徑上釋放一種叫資訊素的激素,使一定範圍內的其他螞蟻能夠察覺到。當一些路徑上通過的螞蟻越來越多時,資訊素也就越來越多,螞蟻們選擇這條路徑的概率也就越高,結果導致這條路徑上的資訊素又增多,螞蟻走這條路的概率又增加,生生不息。這種選擇過程被稱為螞蟻的自催化行為。對於單個螞蟻來說,它並沒有要尋找最短路徑,只是根據概率選擇;對於整個蟻群系統來說,它們卻達到了尋找到最優路徑的客觀上的效果。這就是群體智慧型。

蟻群演算法根據模擬螞蟻尋找食物的最短路徑行為來設計的仿生演算法,因此一般而言,蟻群演算法用來解決最短路徑問題,並真的在旅行商問題(tsp,乙個尋找最短路徑的問題)上取得了比較好的成效。目前,也已漸漸應用到其他領域中去,在圖著色問題、車輛排程問題、積體電路設計、通訊網路、資料聚類分析等方面都有所應用。

題目:給定31個城市的座標,求乙個迴路,分別經過每乙個城市且不重複,要求所走過的距離最短。

分析:旅行商問題涉及到的情況太多,我們不可能一一枚舉,所以我們採用智慧型演算法來解決這個問題,這裡我們採用蟻群演算法。下面是蟻群演算法實現的流程圖,大家可以看一下,有助於理解該演算法

蟻群演算法解決tsp問題

控制蟻群演算法走向的關鍵是資訊素,資訊素類似遺傳演算法的適應性函式,類似退火演算法的評價函式,影響著其中乙隻螞蟻的下一步的選擇。螞蟻 類似遺傳演算法的染色體,就是一條解,在tsp問題中螞蟻的路徑就是tsp的解。資訊素 評價函式,與路徑成反比 迭代次數t 所有螞蟻跑完視為一次迭代週期。程式流程 1,隨...

蟻群演算法解決TSP問題

一 論述 1 演算法 蟻群演算法的基本原理 於自然界螞蟻覓食的最短路徑原理,根據昆蟲學家的觀察,發現自然界的螞蟻雖然視覺不發達,但它可以在沒有任何提示的情況下找到從食物源到巢穴的最短路徑,並且能在環境發生變化 如原有路徑上有了障礙物 後,自適應地搜尋新的最佳路徑。2 單個螞蟻尋找路徑 正反饋 單個的...

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 ...