plot_route(pos_r); matlab,蚁群算法 matlab程序(已运行) - lyp2003ok的专栏 - CSDN博客
个城市
Pcum=cumsum(P); %cumsum,元素累加即求和
Select=find(Pcum>=rand);%若计算的概率大于原来的就选择这条路线
to_visit=J(Select(1));
Tabu(i,j)=to_visit;
end
end
if NC>=2
Tabu(1,:)=R_best(NC-1,:);
end
%%第四步:记录本次迭代最佳路线
L=zeros(m,1); %开始距离为0,m*1的列向量
for i=1:m
R=Tabu(i,:);
for j=1:(n-1)
L(i)=L(i)+D(R(j),R(j+1)); %原距离加上第j个城市到第j+1个城市的距离
end
L(i)=L(i)+D(R(1),R(n)); %一轮下来后走过的距离
end
L_best(NC)=min(L); %最佳距离取最小
pos=find(L==L_best(NC));
R_best(NC,:)=Tabu(pos(1),:); %此轮迭代后的最佳路线
L_ave(NC)=mean(L); %此轮迭代后的平均距离
NC=NC+1 %迭代继续
%%第五步:更新信息素
Delta_Tau=zeros(n,n); %开始时信息素为n*n的0矩阵
for i=1:m
for j=1:(n-1)
Delta_Tau(Tabu(i,j),Tabu(i,j+1))=Delta_Tau(Tabu(i,j),Tabu(i,j+1))+Q/L(i);
%此次循环在路径(i,j)上的信息素增量
end
Delta_Tau(Tabu(i,n),Tabu(i,1))=Delta_Tau(Tabu(i,n),Tabu(i,1))+Q/L(i);
%此次循环在整个路径上的信息素增量
end
Tau=(1-Rho).*Tau+Delta_Tau;%考虑信息素挥发,更新后的信息素
%%第六步:禁忌表清零
Tabu=zeros(m,n); %%直到最大迭代次数
end
%%第七步:输出结果
Pos=find(L_best==min(L_best));%找到最佳路径(非0为真)
Shortest_Route=R_best(Pos(1),:) %最大迭代次数后最佳路径
Shortest_Length=L_best(Pos(1))%最大迭代次数后最短距离
subplot(1,2,1) %绘制第一个子图形
DrawRoute(C,Shortest_Route) %画路线图的子函数
subplot(1,2,2) %绘制第二个子图形
plot(L_best)
hold on %保持图形
plot(L_ave,'r')
title('平均距离和最短距离') %标题
function DrawRoute(C,R)
%%=========================================================================
%% DrawRoute.m
%%画路线图的子函数
%%-------------------------------------------------------------------------
%% C Coordinate节点坐标,由一个N×2的矩阵存储
%% R Route路线
%%=========================================================================
N=length(R);
scatter(C(:,1),C(:,2));
hold on
plot([C(R(1),1),C(R(N),1)],[C(R(1),2),C(R(N),2)],'g')
hold on
for ii=2:N
plot([C(R(ii-1),1),C(R(ii),1)],[C(R(ii-1),2),C(R(ii),2)],'g')
hold on
end
title('旅行商问题优化结果')
发表于 @2009年01月04日 20:15:00|评论(2)|编辑|收藏
新
plot_route(pos_r); matlab,蚁群算法 matlab程序(已运行) - lyp2003ok的专栏 - CSDN博客相关推荐
- 关于精英蚁群算法matlab,蚁群算法MATLAB解VRP问题
Excel exp12_3_2.xls内容: ANT_VRP函数: function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ANT ...
- MATLAB蚁群算法、遗传算法、粒子群算法解决TSP问题(可以直接运行)
MATLAB蚁群算法.遗传算法.粒子群算法解决TSP问题(可以直接运行) 1. 生成数据文件citys_data.mat 2. 蚁群算法 流程图 代码 结果展示 3.遗传算法 流程图 代码 结果展示 ...
- 【ACO TSP】基于matlab蚁群算法求解31城市旅行商问题【含Matlab源码 1147期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[TSP]基于matlab蚁群算法求解31城市旅行商问题[含Matlab源码 1147期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...
- 【飞行器】基于matlab蚁群算法飞行器巡检路径【含Matlab源码 268期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[飞行器]基于matlab蚁群算法飞行器巡检路径[含Matlab源码 268期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...
- 蚂蚁算法求解tsp问题matlab,蚁群算法解决TSP问题的MATLAB程序
蚁群算法TSP(旅行商问题)通用matlab程序 function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_m ...
- 蚁群算法MATLAB程序
参考<matalba在数学建模中的应用>第九章代码,已测试.欢迎沟通交流. %蚁群算法 %数据准备 %清空环境变量 clear; clc; %程序运行记时开始 t0=clock; %导入数 ...
- 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 119期】
⛄一.简介 路径规划是实现移动机器人自主导航的关键技术,是指在有障碍物的环境中,按照一定的评价标准(如距离.时间.能耗等),寻找到一条从起始点到目标点的无碰撞路径,这里选取最短距离路径规划的评价标准, ...
- 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 1618期】
⛄一.蚁群算法及栅格地图简介 1 蚁群算法 1.1 蚁群算法的提出 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来寻找优化路径的机率型算法.它由Marc ...
- matlab蚁群算法 降维,基于蚁群算法的路由问题研究
在组播路由中,用matlab画图,组播总费用提前收敛,到达各个节点的费用后收敛,甚至有些节点费用一直没有收敛.不应该是每一个节点收敛后,组播树总费用才收敛吗? 是不是我的代码有问题 以下是我的代码: ...
最新文章
- Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的基本操作
- 淘淘商城FTP服务器、Redis和solr集群配置
- Flex 布局教程:实例篇
- LINUX安装ORACLE 9204 报错解决!!
- 【POJ - 3320 】Jessica's Reading Problem (尺取,哈希)
- TotoiseSVN的上手教程
- 5、最长回文子串(python)
- asp毕业设计——基于asp+access的公司门户网站设计与实现(毕业论文+程序源码)——公司门户网站
- 前端三大主流框架到底学哪个好呢?
- POJ 3684 Physics Experiment(弹性碰撞)
- UID/DID/SID总结
- 天马杯-NLP赛道(科技新闻分类与摘要)赛后总结
- BOOST电路的节点电压和电流分析
- 纯静态网页设计鞋服包包 鞋子 童装 服装网店商城html模板.rar(含源码+论文)
- 一行代码解决问题gpedit.msc组策略找不到的问题,太好用了
- 验收报告模版(转载)
- Mybatis错误总结
- 《Continual lifelong learning with neural networks : A review》阅读笔记
- 回滚SQL:通过ROLLBACK SQL查询回滚事务
- 【JavaScript从入门到精通】第二课 初探JavaScript魅力-02
热门文章
- 粒子群算法求解多元函数最值问题
- 【小程序源码】视频壁纸支持多种分类短视频另外也有静态壁纸
- java案例_面向对象编程_Stool
- 四叠半神话大系(bfs序+st+在线倍增+二分)(北理16校赛)
- 最全音视频基础知识学习详解(含多个干货链接)
- oracle12c关闭pdb,oracle 12c pdb启动与关闭
- 10-解决win10系统更新后开机变慢的问题
- SOFAServerless 体系助力业务极速研发
- 神经网络算法有哪几种,神经网络有哪几种算法
- 2022年氧化工艺考试练习题模拟考试平台操作