当前位置 - 股票行情交易網 - 國際漫評 - 蟻群算法及其應用實例

蟻群算法及其應用實例

蟻群算法(ant colony optimization, ACO),又稱螞蟻算法,是壹種對自然界螞蟻的尋徑方式進行模擬而得到的壹種仿生算法,是壹種用來在圖中尋找優化路徑的機率型算法。

螞蟻在運動過程中,可以在行走的路徑上留下信息素,後來的螞蟻可以感知到信息素的存在,信息素濃度越高的路徑越容易被後來的螞蟻選擇,從而形成壹種正反饋現象。

它能夠求出從原點出發,經過若幹個給定的需求點,最終返回原點的最短路徑。這也就是著名的旅行商問題(Traveling Saleman Problem,TSP)。

若螞蟻從A點出發到D點覓食,它可以隨機從ABD或ACD中選擇壹條路。假設初始時為每條路分配壹只螞蟻,每個時間單位行走壹步,則經過8個時間單位後,情形如下圖所示:ABD路線的螞蟻到達D點,ACD路線的螞蟻到達C點。

那麽,再過8個時間單位,很容易可以得到下列情形:ABD路線的螞蟻回到A點,ACD路線的螞蟻到達D點。

α 代表信息素量對是否選擇當前路徑的影響程度,反映了蟻群在路徑搜索中隨機性因素作用的強度。

α 越大,螞蟻選擇以前走過的路徑的可能性越大,搜索的隨機性就會減弱。

α 過小,會導致蟻群搜索過早陷入局部最優,取值範圍通常為[1,4]。

β 反映了啟發式信息在指導蟻群搜索中的相對重要程度,蟻群尋優過程中先驗性、確定性因素作用的強度。

β 過大,雖然收斂速度加快,但是易陷入局部最優。

β 過小,蟻群易陷入純粹的隨機搜索,很難找到最優解。通常取[0,5]。

ρ 反映了信息素的蒸發程度,相反,1-ρ 表示信息素的保留水平

ρ 過大,信息素會發過快,容易導致最優路徑被排除。

ρ 過小,各路徑上信息素含量差別過小,以前搜索過的路徑被在此選擇的可能性過大,會影響算法的隨機性和全局搜索能力。通常取[0.2,0.5]。

m過大,每條路徑上信息素趨於平均,正反饋作用減弱,從而導致收斂速度減慢。

m過小,可能導致壹些從未搜索過的路徑信息素濃度減小為0,導致過早收斂,解的全局最優性降低

總信息量Q對算法性能的影響有賴於αβρ的選取,以及算法模型的選擇。

Q對ant-cycle模型蟻群算法的性能沒有明顯影響,不必特別考慮,可任意選取。