%蟻群演算法求解tsp問題的matlab程式
clear all
close all
clc
%初始化蟻群
m=31;%蟻群中螞蟻的數量,當m接近或等於城市個數n時,本演算法可以在最少的迭代次數內找到最優解
c=[1304 2312;3639 1315;4177 2244;3712 1399;3488 1535;3326 1556;3238 1229;4196 1004;
4312 790;4386 570;3007 1970;2562 1756;2788 1491;2381 1676;1332 695;3715 1678;
3918 2179;4061 2370;3780 2212;3676 2578;4029 2838;4263 2931;3429 1908;3507 2367;
3394 2643;3439 3201;2935 3240;3140 3550;2545 2357;2778 2826;2370 2975];%城市的座標矩陣
nc_max=200;%最大迴圈次數,即演算法迭代的次數,亦即螞蟻出動的撥數(每撥螞蟻的數量當然都是m)
alpha=1;%螞蟻在運動過程中所積累資訊(即資訊素)在螞蟻選擇路徑時的相對重要程度,alpha過大時,演算法迭代到一定代數後將出現停滯現象
beta=5;%啟發式因子在螞蟻選擇路徑時的相對重要程度
rho=0.5;%0q=100;%螞蟻釋放的資訊素量,對本演算法的效能影響不大
%變數初始化
n=size(c,1);%表示tsp問題的規模,亦即城市的數量
d=
蟻群演算法解決tsp問題
控制蟻群演算法走向的關鍵是資訊素,資訊素類似遺傳演算法的適應性函式,類似退火演算法的評價函式,影響著其中乙隻螞蟻的下一步的選擇。螞蟻 類似遺傳演算法的染色體,就是一條解,在tsp問題中螞蟻的路徑就是tsp的解。資訊素 評價函式,與路徑成反比 迭代次數t 所有螞蟻跑完視為一次迭代週期。程式流程 1,隨...
蟻群演算法解決TSP問題
一 論述 1 演算法 蟻群演算法的基本原理 於自然界螞蟻覓食的最短路徑原理,根據昆蟲學家的觀察,發現自然界的螞蟻雖然視覺不發達,但它可以在沒有任何提示的情況下找到從食物源到巢穴的最短路徑,並且能在環境發生變化 如原有路徑上有了障礙物 後,自適應地搜尋新的最佳路徑。2 單個螞蟻尋找路徑 正反饋 單個的...
蟻群演算法 旅行商(TSP)問題詳解
蟻群演算法 ant colony optimization 最早是由marco dorigo等人在1991年提出,他們在研究新型演算法的過程中,發現蟻群在尋找食物時,通過分泌一種稱為資訊素的生物激素交流覓食資訊從而能快速的找到目標,據此提出了基於資訊正反饋原理的蟻群演算法。蟻群演算法的基本思想 於自...