智能算法---蟻群算法


智能算法---蟻群算法

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的缺點
     一般需要較長的搜索時間;
     容易出現停滯現象;
     只適用於離散問題

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM