蟻群演算法（Ant Colony Optimization，ACO），又稱螞蟻演算法，是一種用來在圖中尋找優化路徑的機率型演算法。它由Marco Dorigo于1992年在他的博士論文「 Ant system: optimization by a colony of cooperating agents」中提出，其靈感來源於螞蟻在尋找食物過程中發現路徑的行為。蟻群演算法是一種模擬進化演算法，初步的研究表明該演算法具有許多優良的性質。針對PID控制器參數優化設計問題，將蟻群演算法設計的結果與遺傳演算法設計的結果進行了比較，數值模擬結果表明，蟻群演算法具有一種新的模擬進化優化方法的有效性和應用價值。
常見的擴充套件
下面是一些最常用的變異蟻群演算法：
精英螞蟻系統
全域性最優解決方案在每個迭代以及其他所有的螞蟻的沉積資訊素。
最大最小螞蟻系統（MMAS）
新增的最大和最小的資訊素量 τmax，τmin ，只有全域性最佳或迭代最好的巡邏沉積的資訊素。所有的邊緣都被初始化為τmax並且當接近停滯時重新初始化為τmax。
蟻羣系統
蟻羣系統已被提出。
基於排序的螞蟻系統（ASrank）
所有解決方案都根據其長度排名。然後為每個解決方案衡量資訊素的沉積量，最短路徑相比較長路徑的解沉積了更多的資訊素。
連續正交蟻群（COAC）
COAC的資訊素沉積機制能使螞蟻協作而有效地尋解。利用正交設計方法，在可行域的螞蟻可以使用增大的全域性搜索能力和精度，快速、高效地探索他們選擇的區域。 
正交設計方法和自適應半徑調整方法也可推廣到其他優化演算法中，在解決實際問題施展更大的威力。
收斂
一些版本的演算法可以被證明是收斂的（即它能夠在有限時間找到全域性最優解）。第一個蟻群演算法收斂的證據製作于2000年，建立了基於影象的蟻群演算法，繼而是ACS和MMAS的演算法。像大多數元啓發式方法一樣，估計理論收斂速度是很難的。在2004年，Zlochin和他的同事們表明，COA-type演算法在分佈演算法的叉熵和估計方面能被隨機梯度下降法吸收。他們建議這些元啓發式方法作為一個「研究性模式」。 
應用
蟻群優化演算法已應用於許多組合優化問題，包括蛋白質摺疊或路由車輛的二次分配問題，很多派生的方法已經應用於實變數動力學問題，隨機問題，多目標並行的實現。它也被用旅行推銷員問題的擬最優解。在圖表動態變化的情況下解決相似問題時，他們相比模擬退火演算法和遺傳演算法方法有優勢；蟻群演算法可以連續執行並適應實時變化。這在網路路由和城市交通系統中是有利的。
第一蟻群優化演算法被稱為「螞蟻系統」，它旨在解決推銷員問題，其目標是要找到一系列城市的最短遍歷路線。總體演算法相對簡單，它基於一組螞蟻，每隻完成一次城市間的遍歷。在每個階段，螞蟻根據一些規則選擇從一個城市移動到另一個：它必須訪問每個城市一次;一個越遠的城市被選中的機會越少（能見度更低）;在兩個城市邊際的一邊形成的資訊素越濃烈，這邊被選擇的概率越大;如果路程短的話，已經完成旅程的螞蟻會在所有走過的路徑上沉積更多資訊素，每次迭代后，資訊素軌跡揮發。
排程問題
車間作業排程問題（JSP） 
開放式車間排程問題（OSP）
排列流水車間問題（PFSP） 
單機總延遲時間問題（SMTTP）
單機總加權延遲問題（SMTWTP） 
資源受限專案排程問題（RCPSP）
車間組排程問題（GSP） 
附帶依賴安裝時間順序的單機總延遲問題（SMTTPDST）
附帶順序相依設定/轉換時間的多階段流水車間排程問題（MFSP）
車輛路徑問題
限量車輛路徑問題（CVRP）
多站車輛路徑問題（MDVRP）
週期車輛路徑問題（PVRP）
分批配送車輛路徑問題（SDVRP） 
隨機車輛路徑問題（SVRP）
裝貨配送的車輛路徑問題（VRPPD）
帶有時間窗的車輛路徑問題（VRPTW）
依賴時間的時間窗車輛路徑問題（TDVRPTW）
帶時間窗和複合服務員工的車輛路徑問題（VRPTWMS）
分配問題
二次分配問題（QAP）
廣義分配問題（GAP）
頻率分配問題（FAP）
冗餘分配問題（RAP）
設定問題
覆蓋設定問題（SCP）
分割槽設定問題（SPP）
約束重量的樹圖劃分問題（WCGTPP）
加權弧L-基數樹問題（AWlCTP）
多揹包問題（MKP）
最大獨立集問題（MIS）
其他
面向關係的網路路由
無連線網路路由
數據挖掘
專案排程中的貼現現金流
分佈式資訊檢索
網格工作流排程問題
影象處理
系統識別
蛋白質摺疊
電子電路設計
相關的方法
遺傳演算法（GA）支援一系列的解決方案。解的合併或突變增加了解集，其中質量低劣的解被丟棄，尋找高級解決方案的過程模仿了這一演變。
模擬退火（SA）是一個全域性優化相關​​的通過產生目前解的相鄰解來遍歷搜索空間的技術。高級的相鄰解總是可接受的。低階的相鄰解可能會根據基於質量和溫度參數德差異的概率被接受。溫度參數隨著演算法的程序被修改以改變搜索的性質。
反作用搜索優化的重點在於將機器學習與優化的結合，加入內部反饋迴路以根據問題、根據實例、根據目前解的附近情況的特點自動調整演算法的自由參數。
禁忌搜索（TS）類似於模擬退火，他們都是通過測試獨立解的突變來遍歷解空間的。而模擬退火演算法對於一個獨立解只產生一個突變，禁忌搜索會產生許多變異解並且移動到產生的解中的符合度最低的一個。爲了防止循環並且促進在解空間中的更大進展，由部分或完整的解組建維繫了一個禁忌列表。移動到元素包含于禁忌列表的解是禁止，禁忌列表隨著解遍歷解空間的過程而不斷更新。
人工免疫系統（AIS）演算法仿照了脊椎動物的免疫系統。
粒子群優化（PSO），群智慧方法。
引力搜索演算法（GSA），群智慧方法。
蟻群聚類方法（ACCM中），這個方法利用了聚類方法擴充套件了蟻群優化。
隨機傳播搜索（SDS），基於代理的概率全域性搜索和優化技術，最適合于將目標函式分解成多個獨立的分佈函式的優化問題。
歷史
蟻群優化演算法的年表：
1959年，Pierre-Paul Grassé發明了Stigmergy理論來解釋白蟻建設巢的行為。
1983年，Deneubourg和他的同事們研究了螞蟻的集體行為。
1988年，Moyson Manderick寫了一篇螞蟻自組織的文章。
1989年，Goss, Aron, Deneubourg和Pasteels關於阿根廷螞蟻的集體行為的研究，給蟻群優化演算法的思想提供了靈感。 
1989年，Ebling和他的同事落實了覓食行為的模型。
1991年，M. Dorigo在他的博士論文中提出了螞蟻系統（文章于1992年發表）。一份從論文中提取的技術報告五年後出版，由V. Maniezzo和A.Colorni合著。
1996年，螞蟻系統的文章出版。
1996年，Hoos與Stützle發明了最大最小螞蟻系統。
1997年，Dorigo和Gambardella發佈了蟻羣系統。 
1997年，Schoonderwoerd和他的同事們開發了對電信網路的首次應用。
1998年，Dorigo發起了第一次蟻群演算法的專題會議。
1998年，Stützle提出初步的並行實現。
1999年，Bonabeau, Dorigo和Theraulaz的出版了一本書，主要關於人工螞蟻。
2000年，未來計算機系統雜誌上發表了螞蟻演算法特刊。
2000年，排程的最早期的應用程式，排程了序列和約束的滿意度。
2000年，Gutjahr提供了一個蟻群演算法收斂的第一個證據。
2001年，COA演算法首次被使用（Eurobios和AntOptima）。
2001年，IREDA和他的同事們發表了第一個多對像演算法。
2002年，排程設計的首次應用，貝葉斯網路。
2002年，比安奇和她的同事提出了隨機問題的最早演算法。
2004年，Zlochin和Dorigo表明，有些演算法等價于隨機梯度下降法，Cross-entropy method和估計分佈演算法。
2005年，首次在蛋白質摺疊問題上的應用。