运筹学实验_最短路径
运筹学实验四
- 实验目的:
- 实验要求:
- 报告内容:
- 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
运筹学实验_最短路径相关推荐
- 运筹学实验_单纯形法
运筹学实验一 实验目的: 实验要求: 报告内容: python实现: 代码: Lingo实现: 代码: 实验目的: python实现单纯形法.lingo实现灵敏度分析.对偶变量.人工变量 实验要求: ...
- 网络安全_密码学实验_非对称加密算法RSA
网络安全_密码学实验_非对称加密算法RSA 一.实验环境 二.非对称加密RSA 1.理解RSA算法原理 2.加密过程 解密过程 一.实验环境 PyCharm 2019.2.4 (Professiona ...
- 迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践(1)
迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践 0.相关文章 1.导入所使用的包 2. 定义迷宫 3.定义迷宫动作 4.策略参数θ转换为行动策略π 5.定义随机移动函数 6.定义使智 ...
- 网络安全_密码学实验_对称加密算法DES
网络安全_密码学实验_对称密码非对称密码_加密算法DES RSA 一.实验环境 二.对称加密DES 1.理解DES算法原理 2.加密过程 3.解密过程 三.运行结果 一.实验环境 PyCharm 20 ...
- 密码学实验题_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盒 ...
- 大学物理实验_超声声速的测量_数据处理软件_源代码
大学物理实验_超声声速的测量_数据处理软件_源代码1 前言 程序适用于大学物理实验_超声声速的测量的有关数据处理.本程序以NUAA大学物理实验中心所提供的的器材以及实验报告模板为基础编写. 代码(基于 ...
- Oracle(11g)数据库教程之十三:第二次实验_数据库的查询和视图
Oracle(11g)数据库教程之十三:第二次实验_数据库的查询和视图 一.实验目的: 1 掌握select语句的基本语法 2. 掌握子查询.连接查询的表示方法 3. 掌握数据汇总的方法 二.实验内 ...
- 组成原理——实验一运算器组成实验_微程序控制器方式
实验一运算器组成实验_微程序控制器方式实验报告 一.实验目的 (1)熟悉逻辑测试笔的使用方法. (2)熟悉 TEC-8 模型计算机的节拍脉冲 T1.T2.T3: (3)熟悉双端口通用寄存器组的读写操作 ...
- 遍历所有点的最短路径matlab_运筹学实验8 最短路的求解
实验8 最短路的求解 成 绩 实验类型:◆验证性实验 ◇综合性实验 ◇设计性实验 实验目的:学会使用Matlab求解最短路. 实验内容:1.Floyd算法:2.利用Matlab编程实现 ...
最新文章
- QT信号与槽——观察者模式——回调函数
- 路由器原理及作用以及交换机
- Mac系统的终端显示git当前分支
- 数论分块专题复习(余数求和+模积和+Ice Rain+The Fool)
- php上传商品信息并显示,第37课 thinkphp5添加商品基本信息及通过前置钩子上传商品主图 模型事件(勾子函数)...
- python 3d绘图 汉字_完美解决Python matplotlib绘图时汉字显示不正常的问题
- 【Android-Room数据库系列】—— Room 基础
- 重新认识javascript的settimeout和异步
- Java中函数参数不固定的问题
- office如何去除多页签
- ubuntu linux mac地址,告诉你Ubuntu更改mac地址的方法及命令
- 是官方的-FeedDemon是炸弹
- swift 选取图库中的图片
- msfvenom生成muma
- c/c++函数参数的缺省值使用要点:
- C++ 中scanf的返回值
- SuperSlide-v2.1.1
- 以太坊区块链 POA本地搭建多节点私有链
- while语句和for嵌套c语言,关于循环的嵌套,说法错误的是() 答案:三种循环(while循环、do-while循环和for循 环)不可以互相嵌套。...
- 圣诞歌曲汇总-27首
热门文章
- Hive窗口函数 row_number over()和sum() over()的使用详解
- 大二期末作孽(SpringBoot+Vue前后端分离博客社区(重构White Hole))
- 最佳二次逼近多项式MATLAB代码,数学实验“Chebshev多项式最佳一致逼近,最佳平方逼近”实验报告(内含matlab程序).doc...
- 最佳页面置换算法详解
- 场景文字检测之CTPN
- 信号量与生产者消费者问题
- 用 C# 编写 USB 存储设备使用痕迹检测和删除工具
- 苹果输入法自动合并两个短横线/减号的解决方法
- jmp指令流程图怎么写_应用程序里的指令可以分成向操作系统请求特定的服务和什么?-常见问题...
- html网页课件,HTML网页制作-教学课件.ppt