05网络模型练习题

news/2024/10/25 18:24:51/

新版MATLAB中,图论工具箱的函数进行了更换

MATLAB中文参考文档:https://ww2.mathworks.cn/help/matlab/index.html

遍历、最短路径和循环
bfsearch 广度优先图搜索
dfsearch 深度优先图搜索
shortestpath 两个单一节点之间的最短路径
shortestpathtree 从节点的最短路径树
distances 所有节点对组的最短路径距离
allpaths 查找两个图节点之间的所有路径
maxflow 图中的最大流
minspantree 图的最小生成树
hascycles 确定图是否包含循环
allcycles 查找图中的所有循环
cyclebasis 图的基础循环基

  1. 有 20 吨货物需要沿一条路径从城市1经过城市 2、3、4 运送到城市 5,可以选择3 种不同的运输方式:铁路、公路和航空匀速.在3个位于路途中间的城市里可以更改运输方式但是在相邻的两个城市之间只能采取一种运输方式,表 1给出了在每一对城市之间运输1吨货物的成本,表2 给出了在更换运输方式时每吨货物需要的额外支出,此支出与地点无关应该选择怎样的运输方案可以使得总成本最小?(提示:转化为最短路问题求解)
1-22-33-44-5
铁路30254060
公路25404550
航空40205045
从…装换为…铁路公路航空
铁路0512
公路8010
航空15100
a = zeros(14);
a(1,2)=600;a(1,3)=500;a(1,4)=800;a(2,5)=500;a(2,6)=900;a(2,7)=640;
a(3,5)=660;a(3,6)=800;a(3,7)=600;
a(4,5)=800;a(4,6)=1000;a(4,7)=400;a(5,8)=800;a(5,9)=1000;a(5,10)=1240;
a(6,8)=960;a(6,9)=900;a(6,10)=1200;
a(7,8)=1100;a(7,9)=1100;a(7,10)=1000;a(8,11)=1200;a(8,12)=1300;a(8,13)=1440;
a(9,11)=1100;a(9,12)=1000;a(9,13)=1200;
a(10,11)=1200;a(10,12)=1100;a(10,13)=900;a(11,14)=1;a(12,14)=1;a(13,14)=1;G = digraph(a);
plot(G)
[path1,d] = shortestpath(G,1,14);
highlight(plot(G),path1,'EdgeColor','g')
path1
d-1

image-20230719140725775

image-20230719140756706

  1. 某市政工程公司在未来5~8 月份内需完成4 项工程:A 修建一条地下通道、B 修建一座人行天桥、C新建一条道路及 D 道路维修.工期和所需劳动力见表 1.该公司共有劳动力 120人,任一项工程在一个月内的劳动力投入不能超过 80 人,问公司如何分配劳动力完成所有工程,是否能按期完成?
工程工期需要劳动力(人月)
A 修建一条地下通道5~7月100
B 修建一座人行天桥6~7月80
C 新建一条道路5~8月200
D道路维修8月80

image-20230719140808335

b = zeros(10);b(1,2)=120;b(1,3)=120;b(1,4)=120;b(1,5)=120;b(2,6)=80;b(2,8)=80;b(3,6)=80;b(3,7)=80;b(3,8)=80;b(4,6)=80;b(4,7)=80;b(4,8)=80;b(5,8)=80;b(5,9)=80;b(6,10)=100;b(7,10)=80;b(8,10)=200;b(9,10)=80;S = digraph(b);plot(S,'EdgeLabel',S.Edges.Weight);
[mf,GF]= maxflow(S,1,10)
GF.Edges

image-20230719141126572

image-20230719141529324

image-20230719141529324
b = zeros(10);

b(1,2)=120;b(1,3)=120;b(1,4)=120;b(1,5)=120;

b(2,6)=80;b(2,8)=80;

b(3,6)=80;b(3,7)=80;b(3,8)=80;

b(4,6)=80;b(4,7)=80;b(4,8)=80;

b(5,8)=80;b(5,9)=80;

b(6,10)=100;b(7,10)=80;b(8,10)=200;b(9,10)=80;

S = digraph(b);

plot(S,‘EdgeLabel’,S.Edges.Weight);
[mf,GF]= maxflow(S,1,10)
GF.Edges


http://www.ppmy.cn/news/981039.html

相关文章

【多线程带来的的风险-线程安全的问题的简单实例-线程不安全的原因】

文章目录 前言线程不安全的5大原因1. 抢占式执行和随机调度2. 多个线程同时修改一个变量(共享数据)3. 修改操作不是原子性的4. 内存可见性5. 指令重排序 前言 什么是线程安全? 简单来说,如果多线程环境下代码运行的结果是符合我们预期的&am…

数据结构【线性表】

数据结构入门级 第二章 线性表 一、线性表的定义和基本操作 线性表的定义:具有相同属性数据类型的数据元素组成的一个有限序列;除第一个元素外的元素都有直接前驱,除最后一个元素外的元素都有直接后继;存在一个唯一被称为“第一个…

【MATLAB第60期】基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型

【MATLAB第60期】源码分享 | 基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型 一、简要介绍 ARMAX模型相比ARMA考虑了影响因素 ,即可以实现基于时间序列数据的回归预测。目前,ARMAX预测未来功能存在困难,本篇文章不予介绍。大致思路…

刘铁猛C#语言教程——表达式详解1

表达式的定义 对以上文档的翻译: 对以上文档的代码解释:表达式是为了实现具体的算法逻辑并得到一个具体的值,而表达式的返回值可以是一个单值,也可以是实例,方法,或者命名空间;例如:…

EAP设备自动化控制系统在设备数采和控制方面的优势

随着科技的不断进步和工业自动化的发展,EAP(Equipment Automation Program)设备自动化控制系统在各个行业中扮演着越来越重要的角色。作为连接MES(Manufacturing Execution System)和设备层的沟通桥梁,EAP系…

【python】在matlab中调用python

参考 Matlab调用Python - 知乎 (zhihu.com) 说一下我犯的错误: 1、电脑上有没有python都可以,我以为anaconda里的python不行,又重新下了一个python3.8 实际上导入的时候可以用 pyversion(D:\myDownloads\anaconda\envs\pytorch38\pytho…

vue3 中的监听器

划重点:用户创建的侦听器回调,都会在 Vue 组件更新之前被调用。这意味着你在侦听器回调中访问的 DOM 将是被 Vue 更新之前的状态。如果想在侦听器回调中能访问被 Vue 更新之后的 DOM,你需要指明 flush: ‘post’ 选项: 1.watch …

SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现

SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现 实战前先做一个背景了解。 单体架构、SOA和微服务 单体架构:近几年技术的飞速发展,各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个war或jar包发布即可&a…