运筹学实验四

  • 实验目的:
  • 实验要求:
  • 报告内容:
    • Python实现:
      • 代码:
    • Lingo实现:
      • 代码:

实验目的:

python实现Dijkstra算法,lingo解决最短路问题

实验要求:

报告内容:

Python实现:

代码:

def startwith(start: int, mgraph: list) -> list:passed = [start]nopass = [x for x in range(len(mgraph)) if x != start]dis = mgraph[start]while len(nopass):idx = nopass[0]for i in nopass:if dis[i] < dis[idx]: idx = inopass.remove(idx)passed.append(idx)for i in nopass:if dis[idx] + mgraph[idx][i] < dis[i]: dis[i] = dis[idx] + mgraph[idx][i]return disif __name__ == "__main__":inf = 10086mgraph = [[0, 5, 2, inf, inf, inf, inf],[5, 0, inf, 2, 7, inf, inf],[2, inf, 0, 7, inf, 4, inf],[inf,2,7,0,6,2,inf],[inf,7,inf,6,0,1,3],[inf,inf,4,2,1,0,6],[inf,inf,inf,inf,3,6,0]]dis = startwith(0, mgraph)
dis

Lingo实现:

代码:

model:
sets:
city/1..7/:L;
road(city,city):d;
endsets
data:
d=10000;
enddata
calc:
d(1,2)=5;d(1,3)=2;
d(2,4)=2;d(2,5)=7;
d(3,4)=7;d(3,6)=4;
d(4,5)=6;d(4,6)=2;
d(5,6)=1;d(5,7)=3;
d(6,7)=6;
@for(city(j)|j#lt#@size(city):@for( city(i)|i#gt#j:d(i,j)= d(j,i)));
endcalc
L(1)=0;
@for(city(j)|j#gt#1:L(j)=@min(city(i):L(i)+d(i,j)));
end

运筹学实验_最短路径相关推荐

  1. 运筹学实验_单纯形法

    运筹学实验一 实验目的: 实验要求: 报告内容: python实现: 代码: Lingo实现: 代码: 实验目的: python实现单纯形法.lingo实现灵敏度分析.对偶变量.人工变量 实验要求: ...

  2. 网络安全_密码学实验_非对称加密算法RSA

    网络安全_密码学实验_非对称加密算法RSA 一.实验环境 二.非对称加密RSA 1.理解RSA算法原理 2.加密过程 解密过程 一.实验环境 PyCharm 2019.2.4 (Professiona ...

  3. 迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践(1)

    迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践 0.相关文章 1.导入所使用的包 2. 定义迷宫 3.定义迷宫动作 4.策略参数θ转换为行动策略π 5.定义随机移动函数 6.定义使智 ...

  4. 网络安全_密码学实验_对称加密算法DES

    网络安全_密码学实验_对称密码非对称密码_加密算法DES RSA 一.实验环境 二.对称加密DES 1.理解DES算法原理 2.加密过程 3.解密过程 三.运行结果 一.实验环境 PyCharm 20 ...

  5. 密码学实验题_03.3_AES实验_利用Sage构建AES的S盒和逆S盒(基于阅读Sage数学库的Python代码)

    密码学实验题_03.3_AES实验_利用Sage构建AES的S盒和逆S盒(基于阅读Sage数学库的Python代码) 3.    AES实验 3)    (思考题)利用Sage构建AES的S盒和逆S盒 ...

  6. 大学物理实验_超声声速的测量_数据处理软件_源代码

    大学物理实验_超声声速的测量_数据处理软件_源代码1 前言 程序适用于大学物理实验_超声声速的测量的有关数据处理.本程序以NUAA大学物理实验中心所提供的的器材以及实验报告模板为基础编写. 代码(基于 ...

  7. Oracle(11g)数据库教程之十三:第二次实验_数据库的查询和视图

    Oracle(11g)数据库教程之十三:第二次实验_数据库的查询和视图 一.实验目的: 1  掌握select语句的基本语法 2. 掌握子查询.连接查询的表示方法 3. 掌握数据汇总的方法 二.实验内 ...

  8. 组成原理——实验一运算器组成实验_微程序控制器方式

    实验一运算器组成实验_微程序控制器方式实验报告 一.实验目的 (1)熟悉逻辑测试笔的使用方法. (2)熟悉 TEC-8 模型计算机的节拍脉冲 T1.T2.T3: (3)熟悉双端口通用寄存器组的读写操作 ...

  9. 遍历所有点的最短路径matlab_运筹学实验8 最短路的求解

    实验8       最短路的求解 成 绩 实验类型:◆验证性实验  ◇综合性实验  ◇设计性实验 实验目的:学会使用Matlab求解最短路. 实验内容:1.Floyd算法:2.利用Matlab编程实现 ...

最新文章

  1. QT信号与槽——观察者模式——回调函数
  2. 路由器原理及作用以及交换机
  3. Mac系统的终端显示git当前分支
  4. 数论分块专题复习(余数求和+模积和+Ice Rain+The Fool)
  5. php上传商品信息并显示,第37课 thinkphp5添加商品基本信息及通过前置钩子上传商品主图 模型事件(勾子函数)...
  6. python 3d绘图 汉字_完美解决Python matplotlib绘图时汉字显示不正常的问题
  7. 【Android-Room数据库系列】—— Room 基础
  8. 重新认识javascript的settimeout和异步
  9. Java中函数参数不固定的问题
  10. office如何去除多页签
  11. ubuntu linux mac地址,告诉你Ubuntu更改mac地址的方法及命令
  12. 是官方的-FeedDemon是炸弹
  13. swift 选取图库中的图片
  14. msfvenom生成muma
  15. c/c++函数参数的缺省值使用要点:
  16. C++ 中scanf的返回值
  17. SuperSlide-v2.1.1
  18. 以太坊区块链 POA本地搭建多节点私有链
  19. while语句和for嵌套c语言,关于循环的嵌套,说法错误的是() 答案:三种循环(while循环、do-while循环和for循 环)不可以互相嵌套。...
  20. 圣诞歌曲汇总-27首

热门文章

  1. Hive窗口函数 row_number over()和sum() over()的使用详解
  2. 大二期末作孽(SpringBoot+Vue前后端分离博客社区(重构White Hole))
  3. 最佳二次逼近多项式MATLAB代码,数学实验“Chebshev多项式最佳一致逼近,最佳平方逼近”实验报告(内含matlab程序).doc...
  4. 最佳页面置换算法详解
  5. 场景文字检测之CTPN
  6. 信号量与生产者消费者问题
  7. 用 C# 编写 USB 存储设备使用痕迹检测和删除工具
  8. 苹果输入法自动合并两个短横线/减号的解决方法
  9. jmp指令流程图怎么写_应用程序里的指令可以分成向操作系统请求特定的服务和什么?-常见问题...
  10. html网页课件,HTML网页制作-教学课件.ppt