智慧型演算法 蟻群演算法

2022-05-23 05:27:07 字數 1643 閱讀 2983

1 蟻群演算法及其基本思想

蟻群演算法是一種智慧型優化演算法,通過蟻群優化求解複雜問題,aco在離散優化問題方面有比較好的優越性。

基本思想(以旅行商問題為例)

設定多隻螞蟻,分頭並行搜尋。

每只螞蟻完成一次周遊後,在行進的路上釋放資訊素,資訊素量與解的質量成正比。

螞蟻路徑的選擇根據資訊素強度大小(初始資訊素量設為相等),同時考慮兩點之間的距離,採用隨機的區域性搜尋策略。這使得距離較       短的邊,其上的資訊素量較大,後來的螞蟻選擇該邊的概率也較大。

每只螞蟻只能走合法路線(經過每個城市1次且僅1次),為此設定禁忌表來控制。

所有螞蟻都搜尋完一次就是迭代一次,每迭代一次就對所有的邊做一次資訊素更新,原來的螞蟻死掉,新的螞蟻進行新一輪搜尋。

更新資訊素包括原有資訊素的蒸發和經過的路徑上資訊素的增加。

達到預定的迭代步數,或出現停滯現象(所有螞蟻都選擇同樣的路徑,解不再變化),則演算法結束,以當前最優解作為問題的最優解

2 表示方式

2.1 引數表示

2.2 計算公式

3 aco演算法步驟

4 aco演算法解決旅行商問題

4.1 問題提出

4.2 引數設定

4.3  計算結果

首先對每個節點求對應的引數

有如下圖5個結果

根據得到的結論,再次有螞蟻從五個點出發時,走過的路徑如下面五個表所示

結論:當出現停止現象的時候,說明已經得到最優解,演算法結束,最優解為:aedcba,目標函式值為9

5 aco的優缺點

aco的優點

較強的魯棒性——稍加修改即可應用於其他問題;

分布式計算——本質上具有並行性;

易於與其他啟發式演算法結合。

pso的缺點

一般需要較長的搜尋時間;

容易出現停滯現象;

只適用於離散問題

蟻群演算法以及集群智慧型

蟻群演算法是上世紀90年代初由m.dorigo等學者提出的一種利用螞蟻覓食行為的內在機制來求解複雜問題的方法。在研究螞蟻覓食行為的過程中,人們發現,儘管單隻螞蟻的能力十分有限,而整個蟻群卻能在覓食過程中發現從蟻巢到食物源的最短路徑。螞蟻能夠通過一種稱為 媒介質 stigmergy 的機制來解決複雜問...

蟻群優化演算法

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

蟻群演算法詳解

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