✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
旅行商问题(Traveling Salesman Problem,TSP)是计算,工程,运筹学,离散数学,图论等领域中重要的研究课题之一.TSP被定义为一个推销员在所有城市的旅行,然后以最低的成本回到最初的城市,这是一个NP困难的问题.近年来有很多群体智能算法被用于解决TSP问题.群体智能(Swarm Intelligence,SI)对于难以解决的NP难问题是一个重要的研究方向.其中蜜蜂的觅食行为是一种智能的社会行为,属于群体智能范畴.由此产生的人工蜂群(Artificial Bee Colony,ABC)算法是一种模拟蜜蜂觅食行为的算法,模拟蜜蜂觅食行为并利用蜂群算法求旅行商问题的最优解。
%% 局部搜索
%输入:
%Elites 被选择的精英个体
%NbRange %局部搜索的邻域范围,即可改变的最大位数
%NWorkersElites %各精英解邻域内局部搜索解的数量
%输出:
% BeesLocalSearch 局部搜索解
function BeesLocalSearch=LocalSearch(Elites,NbRange,NWorkersElites);
[NElites,N]=size(Elites);
for i=1:NElites
for j = 1:NWorkersElites
HD = unidrnd(NbRange-1)+1; %随机选择改变位数
R=randperm(N); %任选HD个城市交互位置
k =(i-1)*NWorkersElites+j;
BeesLocalSearch(k,:)=Elites(i,:);
BeesLocalSearch(k,R(1:HD))=Elites(i,R(randperm(HD)));
end
end
[1]朱继生. 混合人工蜂群算法求解旅行商问题[D]. 广西大学.
❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除