1 简介

采用人工蜂群算法对旅行商问题进行求解,给出了人工蜂群算法求解该问题的具体方案,对不同的旅行商问题算例进行了仿真实验。结果表明,算法可以有效、快速地找到较小规模问题的最优解。

【TSP问题】基于人工蜂群算法求解旅行商问题含Matlab源码_参考文献

【TSP问题】基于人工蜂群算法求解旅行商问题含Matlab源码_最优解_02

【TSP问题】基于人工蜂群算法求解旅行商问题含Matlab源码_最优解_03

【TSP问题】基于人工蜂群算法求解旅行商问题含Matlab源码_参考文献_04

2 部分代码

function varargout = dsxy2figxy(varargin)
if length(varargin{1}) == 1 && ishandle(varargin{1}) ...
&& strcmp(get(varargin{1},'type'),'axes')
hAx = varargin{1};
varargin = varargin(2:end);
else
hAx = gca;
end;
if length(varargin) == 1
pos = varargin{1};
else
[x,y] = deal(varargin{:});
end
axun = get(hAx,'Units');
set(hAx,'Units','normalized');
axpos = get(hAx,'Position');
axlim = axis(hAx);
axwidth = diff(axlim(1:2));
axheight = diff(axlim(3:4));
if exist('x','var')
varargout{1} = (x - axlim(1)) * axpos(3) / axwidth + axpos(1);
varargout{2} = (y - axlim(3)) * axpos(4) / axheight + axpos(2);
else
pos(1) = (pos(1) - axlim(1)) / axwidth * axpos(3) + axpos(1);
pos(2) = (pos(2) - axlim(3)) / axheight * axpos(4) + axpos(2);
pos(3) = pos(3) * axpos(3) / axwidth;
pos(4) = pos(4) * axpos(4 )/ axheight;
varargout{1} = pos;
end
set(hAx,'Units',axun)

3 仿真结果

【TSP问题】基于人工蜂群算法求解旅行商问题含Matlab源码_无人机_05

【TSP问题】基于人工蜂群算法求解旅行商问题含Matlab源码_参考文献_06

4 参考文献

[1]李丽, 程玉荣, and 牛奔. "离散人工蜂群算法求解旅行商问题." 第十三届中国管理科学学术年会论文集 2011.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


【TSP问题】基于人工蜂群算法求解旅行商问题含Matlab源码_参考文献_07