matlab算法求解最短路问题.doc

组合优化实验报告实验序号日期班级姓名学号实验名称最短路问题实验所用软件及版本MATLABR2008B1、实验目的1.掌握最短路问题的一种求解算法,并能编程实现该算法2、实验内容1.(4分)如图1所示,节点1、2、3的坐标分别为1,1、2,23、31,09,根据各节点的坐标用MATLAB在2维坐标上画出3个节点123图1XXOY2、(4分)用MATLAB编程求出图1中任意两个节点之间的距离,并用邻接矩阵A存储并输出邻接矩阵A邻接矩阵A举例如下12330W3、(4分)根据邻接矩阵A编程求解出节点1到节点2和节点3的最短路,并画出最短路的树形图,假设如图2123图2XXOXYX4.(8分)附件“50NODETXT”(数据来源于贝尔实验室)为50个城市的坐标,编程求解由第1个城市到其它各城市的最短路,给出最短路的树形图3、详细设计题11源代码A112233109NODE坐标矩阵PLOTA,1,A,2, O 画图2运行结果题21源代码A112233109X,YSIZEAHMESHGRID1XMESHGRID是MATLAB中用于生成网格采样点的函数ARESHAPESQRTSUMAH,AH ,2,2,X,XAFINDA0INF构造权矩阵A2运行结果AINF164012102416401INF178042102417804INF题31源代码FUNCTIONP,DDIJKSTRA_ZDA,SVCLEARCLCDIJKSTRA法求解最短路A为邻接矩阵;SV为寻求最短路的起始点P为所有点的P标号,即路权值D为SV到所有结点的最短路径矩阵CLEARCLCA112233109X,YSIZEAHMESHGRID1XMESHGRID是MATLAB中用于生成网格采样点的函数ARESHAPESQRTSUMAH,AH ,2,2,X,XAFINDA0INF构造权矩阵AN,NSIZEASV1SSVTINFONES1,NT标号初始化PINFONES1,NP标号初始化TV11N具有T标号的点,初始时,所有点均为T标号VZEROS1,N结点的前驱,初始时,均为0TMZEROSN,N所有点从P标号变为T标号的过程矩阵PS0FORI1N将所有结点从P标号变为T标号的过程PVISPV具有P标号的结点TVTMARKTV,S删去具有P标号的结点TMS,AS,FORKPV将具有P标号的点赋值无穷大,从而不影响后面的程序取最小值TMS,KINFTKINFENDFORKTV一次修改P标号点所对应的T标号点的T标号TMS,KTMS,KPSENDFORKTVX,VALMINTK,TMS,KTKX二次修改P标号点所对应的T标号点的T标号IFVAL2VKS修改P标号点所对应的T标号点的前驱ENDENDX,VALMINT寻找P标号点IFXINFBREAKENDSVALPSX修改P标号END下面求解从SV到各点的最短路矩阵AADZEROS1,N最短路临时存储向量FORIN11WIFORK1N将SV到I点的最短路倒序存储在AAD中IFW0BREAKENDAADKWWVWIFWSVAADK1WBREAKENDENDFORL1N将SV到I点的最短路顺序存储在D中IFAADLSVK1FORJL11DI,KAADJKK1ENDENDENDAADZEROS1,NENDG,HSIZEDFORI1G将与最短路径无关的点赋值NANFORJ1HCON由上面计算得到IFDI,J0DI,JNANENDENDEND下面为在T标号结点集合中删除P标号的子函数FUNCTIONTVADTMARKTV,VMTGLENGTHTVFORI1TGIFTVIVMWDIBREAKENDENDTVADTV1,1WD1,TV1,WD1TGENDPLOTA,1,A,2, X HOLDOND1,21FORI2NXYX1AD1,1,1X2ADI,2,1Y1ADI,1,2Y2ADI,2,2PLOTX,Y, M ENDHOLDOFFEND2运行结果题41源代码FUNCTIONP,DDIJKSTRA_ZDERA,SVDIJKSTRA法求解最短路A为邻接矩阵;SV为寻求最短路的起始点P为所有点的P标号,即路权值D为SV到所有结点的最短路径矩阵CLCCLEARALOAD 50NODETXT X,YSIZEANSIZEA,1HMESHGRID1XMESHGRID是MATLAB中用于生成网格采样点的函数ARESHAPESQRTSUMAH,AH ,2,2,X,XN,NSIZEASV1SSVTINFONES1,NT标号初始化PINFONES1,NP标号初始化TV11N具有T标号的点,初始时,所有点均为T标号VZEROS1,N结点的前驱,初始时,均为0TMZEROSN,N所有点从P标号变为T标号的过程矩阵PS0FORI1N将所有结点从P标号变为T标号的过程PVISPV具有P标号的结点TVTMARKTV,S删去具有P标号的结点TMS,AS,FORKPV将具有P标号的点赋值无穷大,从而不影响后面的程序取最小值TMS,KINFTKINFENDFORKTV一次修改P标号点所对应的T标号点的T标号TMS,KTMS,KPSENDFORKTVX,VALMINTK,TMS,KTKX二次修改P标号点所对应的T标号点的T标号IFVAL2VKS修改P标号点所对应的T标号点的前驱ENDENDX,VALMINT寻找P标号点IFXINFBREAKENDSVALPSX修改P标号END下面求解从SV到各点的最短路矩阵AADZEROS1,N最短路临时存储向量FORIN11WIFORK1N将SV到I点的最短路倒序存储在AAD中IFW0BREAKENDAADKWWVWIFWSVAADK1WBREAKENDENDFORL1N将SV到I点的最短路顺序存储在D中IFAADLSVK1FORJL11DI,KAADJKK1ENDENDENDAADZEROS1,NENDG,HSIZEDFORI1G将与最短路径无关的点赋值NANFORJ1HCON由上面计算得到IFDI,J0DI,JNANENDENDEND下面为在T标号结点集合中删除P标号的子函数FUNCTIONTVADTMARKTV,VMTGLENGTHTVFORI1TGIFTVIVMWDIBREAKENDENDTVADTV1,1WD1,TV1,WD1TGENDPLOTA,1,A,2, X HOLDOND1,21FORI1NXYX1AD1,1,1X2ADI,2,1Y1ADI,1,2Y2ADI,2,2PLOTX,Y, G ENDHOLDOFFEND2运行结果4、实验总结通过本次的实验,使我们掌握最短路DIJKUSTRA算法求解树形图有一个节点出发,到达其它所有点的最短路问题,并且认识到计算机编程其实很不容易,想要写出一个程序并运行需要经历许多步骤,认识到自己的不足与短处。最短路问题是图论理论的一个经典问题。寻找最短路径就是在指定网络中两结点间找一条距离最小的路。最短路不仅仅指一般地理意义上的距离最短,还可以引申到其它的度量,如时间、费用、线路容量等。最短路问题也是眼下比较热门的问题,在日常生活中应用广泛,掌握最短路问题的MATLAB算法使得我们在以后的工作及生活中能够更方便的求解实际问题有较大的帮助。5、教师评语及评分

matlab 求解最短路问题,matlab算法求解最短路问题.doc相关推荐

  1. pagerank算法实现matlab,Matlab 入门及PageRank算法求解.ppt

    Matlab 入门及PageRank算法求解 矩阵运算 + 矩阵加 - 矩阵减 * 矩阵乘 / 矩阵左除 \ 矩阵右除 ^ 矩阵幂 维数相同才能加减:方 阵才能求幂. 注意左乘,右乘. a\b?求a* ...

  2. 【优化算法】基于matlab量子粒子群算法求解单目标优化问题【含Matlab源码 2203期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]基于matlab量子粒子群算法求解单目标优化问题[含Matlab源码 2203期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  3. 【ACO TSP】基于matlab GUI蚁群算法求解旅行商问题【含Matlab源码 1032期】

    ⛄一.TSP简介 旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选 ...

  4. MATLAB语言实现模拟退火算法求解n维变量的最小值问题

    在给定定义域,对于求解函数对应的最优值问题.此处以模拟退火算法求解30维变量函数最小值问题举例(最大值问题也可转化成求解最小值问题). 其中,. 一.模拟退火算法简介 模拟退火算法(SA)来源于固体退 ...

  5. 【PSO TSP】基于matlab GUI粒子群算法求解旅行商问题【含Matlab源码 1334期】

    ⛄一.TSP简介 旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选 ...

  6. 4 详解matlab实现龙格库塔算法求解复杂常微分方程组

    目录 4.1 题目 4.2 问题背景 4.3 算法 4.4 matlab编程实现 4.5 结果展示 4.6 讨论 4.1 题目

  7. Matlab基于人工鱼群算法求解TSP问题

    一. 人工鱼的结构模型 人工鱼是真实鱼抽象化.虚拟化的一个实体,其中封装了自身数据和一系列行为,可以接受环境的刺激信息,做出相应的活动.其所在的环境由问题的解空间和其他人工鱼的状态,它在下一时刻的行为 ...

  8. 频域自适应 matlab,频域自适应滤波算法及应用.doc

    频域自适应滤波算法及应用 本科毕业设计 频域自适应滤波算法及应用 华 南 理 工 大 学 毕 业 设 计 (论文) 任 务 书 兹发给 级 班学生毕业设计(论文)任务书,内容如下: 1.毕业设计(论文 ...

  9. 【ACO TSP】基于matlab改进的蚁群算法求解旅行商问题【含Matlab源码 242期】

    ⛄一.TSP简介 旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选 ...

最新文章

  1. Navicat使用Instant Client创建连接到Oracle数据库的正确姿势
  2. 上传照片表单提交包括文本框下拉条等,如何取文本框的值
  3. 【数据结构与算法】之深入解析“石子游戏II”的求解思路与算法示例
  4. python-ConfigParser模块【读写配置文件】
  5. 系统分析员、系统架构师、项目经理的区别(转载)
  6. 7-157 求一元二次方程的根 (20 分)
  7. 关于网站注册账号时提示Server 对象 错误 'ASP 0177 : 800401f3'
  8. pycharm python脚本如何调试_Pycharm调试程序技巧小结
  9. 虚拟仿真实验室 服务器,汽车学院虚拟仿真实验室平台
  10. 炫酷又实用的发送邮箱链接修改密码
  11. 一分钟了解什么是代理ip和api接口
  12. 大数据与人工智能方向基础 --- 概述
  13. php期末作业作业,作业作业作业作业作业作业
  14. Java 排序 - 冒泡排序
  15. python + selenium 实现 华为商城自动抢购
  16. 深度学习框架之PyTorch
  17. oracle mysql查询速度慢_oracle 根据时间范围查询缓慢问题排查解决
  18. 抖音小程序实践三:接口开发指南
  19. PCK - Percentage of Correct Keypoints
  20. 第一,二,三范式,满足不满足的实例

热门文章

  1. java8 - Optional容器
  2. 玩转群晖NAS——前言
  3. python 实现开方
  4. mysql字段排序语句_数据库字段排序的SQL语句
  5. 绿叶学习网HTML技术细节
  6. python setattr/getattr
  7. BUUCTF Misc 被偷走的文件 snake
  8. 社会网络——信管考研方向之管科图情论文分析
  9. 【转载】一个人成败的关键:先有系统思维,然后才有看穿本质的能力
  10. 充电桩的发展如火如荼!