使用蚁群算法解决旅行商问题步骤如下:初始化参数。
将蚂蚁随机的放在城市上。
蚂蚁各自按概率选择下一座城市。
蚂蚁完成各自的周游。
更新信息素,进行下一次迭代。
在更新信息素的过程中,只有最优路线上的信息素会进行增加操作,且不能超过信息素最大值。
结果如下:
最短路径变化图
蚁群算法找到的最优路径
主函数
主函数如下:clc;
clear;
pos = load('berlin52.txt'); % 7542pos = pos(:, 2:3);
pos = pos';
dm = makeDistanceMatrix(pos); % 距离矩阵n = size(dm, 1); % 城市个数m = 80; % 蚂蚁个数alpha = 1.4; % 信息素重要程度beta = 2.2; % 启发式因子重要程度rho = 0.15; % 信息素挥发系数Q = 10^6; % 信息素增加强度eta = makeEta(d