目录

【问题描述】

【问题要求】

【背景补充】

【问题解答】

【衍生问题】

【python代码展示】

【模型总结】


【问题描述】

图1 中的网络是,某市区一些单行道在一个下午,早些时候(以每小时车辆数目计算)的交通流量.

图1

【问题要求】

计算该网络的车流量

【背景补充】

什么是网络?

答:一个网络包含一组称为结合点或节点的点集,并由称为分支的线或弧连接部分或全部节点,留的方向在每个分支上有标示,流量(或速度)也有显示或用变量标记。

网络流的基本假设是什么?

答:网格总流入量等于总流出量,且流经一个节点的总输入等于总输出。

【例】

如图2示,x1和x2标记该节点经过其他分支的流出,因为流量在每个节点中是守恒的,我们有

x1 + x2 = 30 ,类似地,每个节点的流量可以用一个方程描述,网络分析的问题就是确定当局部信息(如网络的输入和输出) 已知时,每一分支的流量。

​​​​​​​        ​​​​​​​        ​​​​​​​        

图2

【问题解答】

写出该流量的方程组,并求其通解。

如图3所示,标记道路交叉口(节点)和末知的分支流量。在每个交叉口,令其车辆驶入数目等于车辆驶出数目。

​​​​​​​        ​​​​​​​        

图3

并且,网络中的总流入量(500+300+100+400)等于总流出量(300+x,+600),经简化得

x3 = 400
该方程与上面四个方程联立并重排后得到下面的方程组:

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

图4

行化简相应的增广矩阵得到:

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

图5

该网络的车流量为:

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

图6

【衍生问题】

负流量代表什么?

答:网络分支中的一个负流量,对应于模型中显示方向相反的流量。

问什么不用编程求解方程组?

答:此方程系数矩阵是奇异矩阵,运行代码会报错。

【python代码展示】

# 导入所需包
from scipy import linalg
import numpy as np# 线性方程组求解# x1 + x2 + x3 + x4 + x5 = 800
# x1 + x2 + x3 + x4 + x5 = 300
# x1 + x2 + x3 + x4 + x5 = 500
# x1 + x2 + x3 + x4 + x5 = 600
# x1 + x2 + x3 + x4 + x5 = 400# A表示系数矩阵A = np.array([[1, 1, 0, 0, 0],[0, 1, -1, 1, 0],[0, 0, 0, 1, 1, ],[1, 0, 0, 0, 1],[0, 0, 1, 0, 0]])# b表示常数列b = np.array([800, 300, 500, 600, 400])
x = linalg.solve(A, b)
print(x)

【模型总结】

由于本问题中的道路的单行线,因此这里不允许有负值变量。

该模型仅用于解决单行线问题,在实际中应用范围窄。

求解车流量之线性方程组相关推荐

  1. Java黑皮书课后题第1章:1.13(代数:求解2*2线性方程组)编写程序,求解以下方程组并显示x和y的值 3.4x+50.2y=44.5 2.1x+0.55y=5.9

    Java黑皮书课后题第1章:(代数:求解2*2线性方程组) 题目 题目描述 破题 代码块 方法评析 赘述 修改日志 题目 题目描述 求x和y值: 3.4x+50.2y=44.5 2.1x+0.55y= ...

  2. 第一章第十三题(代数:求解2 × 2线性方程组)(Algebra: solve 2 × 2 linear equations)

    *1.13(代数:求解2 × 2线性方程组)可以使用Cramer法则解下面的2 × 2线性方程组,假定ad-bc不为0: ax + by = e cx + dy = f x = (ed-bf)÷(ad ...

  3. 中国剩余定理求解同余线性方程组(模数互素和非互素的情况)

    参考:http://yzmduncan.iteye.com/blog/1323599 中国剩余定理 中国剩余定理是中国古代求解一次同余方程组的方法,是数论中的一个重要定理. 设m1,m2,m3,... ...

  4. Gauss-Seidel迭代求解线性方程组

    高斯-赛德尔迭代法考试比较多,所以考虑再三,还是单独提取出来独立一篇,方便查阅,突出重点. 首先举例引入: 通过手动求解下面的线性方程组得到精确解: 再用高斯-赛德尔迭代法求解比较: 本人拙见,将每一 ...

  5. matlab 病态方程组,数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序

    (Hilbert 矩阵)病态线性方程组的求解 理论分析表明,数值求解病态线性方程组很困难.考虑求解如下的线性方程组的求解Hx = b ,期中H 是Hilbert 矩阵,()ij n n H h ?=, ...

  6. Lapack求解线性方程组

    可参见这两个页面: 1. http://www.culatools.com/dense/lapack/ 2. http://www.netlib.org/lapack/lug/node1.html 根 ...

  7. 三十分钟理解:矩阵Cholesky分解,及其在求解线性方程组、矩阵逆的应用

    写一篇关于Cholesky分解的文章,作为学习笔记,尽量一文看懂矩阵Cholesky分解,以及用Cholesky分解来求解对称正定线性方程组,以及求对称正定矩阵的逆的应用. 文章目录 直接Choles ...

  8. 高等工程数学 —— 第四章 (1)线性方程组的直接解法与广义逆矩阵求解矛盾方程组

    高等工程数学 -- 第四章 (1)线性方程组的直接解法与广义逆矩阵求解矛盾方程组 文章目录 高等工程数学 -- 第四章 (1)线性方程组的直接解法与广义逆矩阵求解矛盾方程组 线性方程组的直接解法 Ga ...

  9. MATLAB求解线性方程组的八种方法

    MATLAB求解线性方程组的八种方法 求解线性方程分为两种方法–直接法和迭代法 常见的方法一共有8种 直接法 Gauss消去法 Cholesky分解法 迭代法 Jacobi迭代法 Gauss-Seid ...

最新文章

  1. 偏心率e用于描述某一轨道与圆轨道的区别
  2. 三角函数公式、诱导公式
  3. 设计模式的理解:命令模式 (Command)
  4. 从理念到实践跳跃式演进!云的原生“免疫系统”如何有机作战?
  5. PHP实现各种经典算法
  6. 李代数(Lie algebra)有哪些应用
  7. ab 服务器压力测试工具 使用详解
  8. LuaStudio 9.27 去10分钟退出暗桩板
  9. 读《第十一根手指》奏明第三本
  10. linux定时启动python脚本,linux定时执行python脚本
  11. python 中的 Fraction 模块
  12. 外卖返利系统H5公众号小程序cps返利淘宝客流量主分销app开发源码
  13. 方舟服务器显示mod不符,方舟生存进化mod不符怎么办
  14. oracle_java.exe,系统找不到C:\ProgramData\Oracle\Java\javapath\java.exe问题及解决方案
  15. 剪辑师的基本素养--了解四种特写类型
  16. python forward函数_PyTorch之前向传播函数自动调用forward
  17. dns配置异常怎么修复_dns异常怎么修复【详细介绍】
  18. 滴滴巨亏背后,打江山容易,守江山难?
  19. K8S环境快速部署Kafka(K8S外部可访问)
  20. javascript组合模式创建对象

热门文章

  1. Python这个黑科技,让你走上致富道路
  2. NSIS:静默释放文件并运行 制作绿色单文件软件
  3. 科普:什么是企业的数字化转型,OA有何作用?
  4. Express Invoice Plus for Mac是什么软件?Mac发票管理软件推荐!
  5. 涉密资质甲级和乙级有什么区别?一定要搞清楚
  6. 数据库题目:张三的 MySQL 学习之路(一)
  7. python爬取猪八戒网的内容
  8. NTLDR is missing
  9. 引导页源码 - 彩虹云任务引导页模板
  10. kindeditor4.x整合SyntaxHighlighter代码高亮