图论模型

基础理论

1.无向图与有向图

  • 有向图的边称为弧,有向图一般记为 D = ( V , A ) D=(V,A) D=(V,A),其中 V V V 为顶点集, A A A 为弧集。
  • 边的表示 ( v i , v j ) (v_i,v_j) (vi​,vj​),弧的表示 < v i , v j > <v_i,v_j> <vi​,vj​>。

2.简单图与完全图

  • 无环且无重边的图称为简单图。
  • 上图中, e 2 e_2 e2​ 和 e 3 e_3 e3​ 为重边, e 5 e_5 e5​ 为环。
  • 任意两点均相邻的简单图称为完全图。含 n n n 个顶点的完全图记为 K n K_n Kn​.

3.赋权图

  • 赋权图中的权可以是距离、费用、时间、效益、成本等。

4.顶点的度

  • 出度记为 d + ( v ) d^+(v) d+(v),入度记为 d − ( v ) d^-(v) d−(v).
  • 度数为奇数的顶点称为奇顶点,度为偶数的顶点称为偶顶点。

定理 给定图 G = ( V , E ) G=(V,E) G=(V,E),所有顶点的度数之和是边数的2倍,即
∑ v ∈ V d ( v ) = 2 ∣ E ∣ \sum_{v \in V} d(v)=2|E| v∈V∑​d(v)=2∣E∣

5.子图

  • 如果 G 1 G_1 G1​ 是 G 2 G_2 G2​ 的子图,且 V 1 = V 2 V_1=V_2 V1​=V2​,则称 G 1 G_1 G1​ 是 G 2 G_2 G2​ 的生成子图

6.道路与回路

  • 设 W = v 0 e 1 v 1 e 2 . . . e k v k W=v_0e_1v_1e_2...e_kv_k W=v0​e1​v1​e2​...ek​vk​,路长为边的个数 k k k
  • 各边相异的道路称为迹,各顶点相异的道路称为轨道。
  • 以顶点 u , v u,v u,v 分别为起点和终点的最短轨道之长为顶点 u , v u,v u,v 的距离。

7.连通图与非连通图

  • 如果无向图 G G G 中任意两个顶点 u u u 和 v v v 之间是连通的,则称图 G G G 是连通图。
  • 在有向图 G G G 中,如果对于任意两个顶点 u u u 和 v v v,从 u u u 到 v v v 和 从 v v v 到 u u u 都存在道路,则称图 G G G 是强连通图。

图的表示

1.关联矩阵

对于无向图,关联矩阵 M = ( m i j ) n × m \boldsymbol{M}=\left(m_{i j}\right)_{n \times m} M=(mij​)n×m​:
m i j = { 1 , v i 与  e j 相关联,  0 , v i 与  e j 不关联.  m_{i j}=\left\{\begin{array}{ll} 1, & v_{i} \text { 与 } e_{j} \text { 相关联, } \\ 0, & v_{i} \text { 与 } e_{j} \text { 不关联. } \end{array}\right. mij​={1,0,​vi​ 与 ej​ 相关联, vi​ 与 ej​ 不关联. ​
对于有向图,关联矩阵 M = ( m i j ) n × m \boldsymbol{M}=\left(m_{i j}\right)_{n \times m} M=(mij​)n×m​:
m i j = { 1 , v i 是  e j 的起点,  − 1 , v i 是  e j 的终点,  0 , v i 与  e j 不关联.  m_{i j}=\left\{\begin{array}{ll} 1, & v_{i} \text { 是 } e_{j} \text { 的起点, } \\ -1, & v_{i} \text { 是 } e_{j} \text { 的终点, } \\ 0, & v_{i} \text { 与 } e_{j} \text { 不关联. } \end{array}\right. mij​=⎩ ⎨ ⎧​1,−1,0,​vi​ 是 ej​ 的起点, vi​ 是 ej​ 的终点, vi​ 与 ej​ 不关联. ​

2.邻接矩阵

对于有向非赋权图,其邻接矩阵 W = ( w i j ) n × n \boldsymbol{W}=\left(w_{i j}\right)_{n \times n} W=(wij​)n×n​:
w i j = { 1 , ⟨ v i , v j ⟩ ∈ A 0 , ⟨ v i , v j ⟩ ∉ A w_{i j}=\left\{\begin{array}{ll} 1, & \left\langle v_{i}, v_{j}\right\rangle \in A \\ 0, & \left\langle v_{i}, v_{j}\right\rangle \notin A \end{array}\right. wij​={1,0,​⟨vi​,vj​⟩∈A⟨vi​,vj​⟩∈/A​

最大流问题

  • 公路系统有车辆流、物资调配系统有物资流、金融系统有现金流,这些流问题都可归结为网络流问题,如何安排使流量最大,即最大流问题。

1.基本概念

  • 网络上的流,是指定义为弧集合 A A A 上的一个函数 f = { f i j } = { f ( v i , v j ) } f=\left\{f_{ij}\right\}=\left\{f(v_i,v_j)\right\} f={fij​}={f(vi​,vj​)}, f i j f_{ij} fij​ 为弧 ( v i , v j ) (v_i,v_j) (vi​,vj​) 上的流量。
  • 满足下列条件的流 f f f 称为可行流:
    (1)容量限制条件:对每条弧 ( v i , v j ) ∈ A , 0 ⩽ f i j ⩽ c i j \left(v_{i}, v_{j}\right) \in A, 0 \leqslant f_{i j} \leqslant c_{i j} (vi​,vj​)∈A,0⩽fij​⩽cij​
    (2)平衡条件:对于中间点,流出量=流入量,即对于每个 i ( i ≠ s , t ) i(i \neq s, t) i(i=s,t)有
    ∑ j : ( v i , v j ) ∈ A f i j − ∑ j : ( v j , v i ) ∈ A f j i = 0 \sum_{j:\left(v_{i}, v_{j}\right) \in A} f_{i j}-\sum_{j:\left(v_{j}, v_{i}\right) \in A} f_{j i}=0 j:(vi​,vj​)∈A∑​fij​−j:(vj​,vi​)∈A∑​fji​=0
    最大流问题可以写为如下线性规划模型
    max ⁡ v s . t . { ∑ j : ( v i , v j ) ∈ A f i j − ∑ j : ( v j , v i ) ∈ A f j i = { v , i = s − v , i = t 0 , i ≠ s , t 0 ⩽ f i j ⩽ c i j , ∀ ( v i , v j ) ∈ A \begin{array}{l} \max v \\ s.t.\left\{\begin{array}{ll} \sum_{j:\left(v_{i}, v_{j}\right) \in A} f_{i j}-\sum_{j:\left(v_{j}, v_{i}\right) \in A} f_{j i}=\left\{\begin{array}{ll} v, & i=s \\ -v, & i=t \\ 0, & i \neq s, t \end{array}\right.\\ 0 \leqslant f_{i j} \leqslant c_{i j} , \forall \left(v_{i}, v_{j}\right) \in A \end{array} \right. \end{array} maxvs.t.⎩ ⎨ ⎧​∑j:(vi​,vj​)∈A​fij​−∑j:(vj​,vi​)∈A​fji​=⎩ ⎨ ⎧​v,−v,0,​i=si=ti=s,t​0⩽fij​⩽cij​,∀(vi​,vj​)∈A​​

最小费用流问题

  • 在许多实际问题中,还需要考虑网络上流的费用问题。例如,在运输问题中,人们总是希望在完成运输任务的同时,寻求一个使总的运输费用最小的运输方案。
  • 设 b i j b_{ij} bij​ 为弧上的单位费用,则最小费用流问题可用如下线性规划问题描述:
    max ⁡ ∑ ( v i , v j ) ∈ A b i j f i j s . t . { ∑ j : ( v i , v j ) ∈ A f i j − ∑ j : ( v j , v i ) ∈ A f j i = { v , i = s − v , i = t 0 , i ≠ s , t 0 ⩽ f i j ⩽ c i j , ∀ ( v i , v j ) ∈ A \begin{array}{l} \max \sum_{(v_i,v_j)\in A}^{} b_{ij}f{ij} \\ s.t.\left\{\begin{array}{ll} \sum_{j:\left(v_{i}, v_{j}\right) \in A} f_{i j}-\sum_{j:\left(v_{j}, v_{i}\right) \in A} f_{j i}=\left\{\begin{array}{ll} v, & i=s \\ -v, & i=t \\ 0, & i \neq s, t \end{array}\right.\\ 0 \leqslant f_{i j} \leqslant c_{i j} , \forall \left(v_{i}, v_{j}\right) \in A \end{array} \right. \end{array} max∑(vi​,vj​)∈A​bij​fijs.t.⎩ ⎨ ⎧​∑j:(vi​,vj​)∈A​fij​−∑j:(vj​,vi​)∈A​fji​=⎩ ⎨ ⎧​v,−v,0,​i=si=ti=s,t​0⩽fij​⩽cij​,∀(vi​,vj​)∈A​​
  • 当 v v v 是最大流 v m a x v_{max} vmax​ 时,本问题就是最小费用最大流问题。

【数学建模】图论模型(基础理论+最大流与最小费用流问题)相关推荐

  1. 数学建模图论算法学习总结

    数学建模图论算法学习总结 图论基本知识 B站视频: https://www.bilibili.com/video/av18374161/?p=35 https://www.bilibili.com/v ...

  2. 数学建模——支持向量机模型详解Python代码

    数学建模--支持向量机模型详解Python代码 from numpy import * import random import matplotlib.pyplot as plt import num ...

  3. 数学建模——线性规划模型详解Python代码

    数学建模--线性规划模型详解Python代码 标准形式为: min z=2X1+3X2+x s.t x1+4x2+2x3>=8 3x1+2x2>=6 x1,x2,x3>=0 上述线性 ...

  4. 数学建模传染病模型_数学建模| 时间序列模型

    1 数学建模 时间序列模型 1.与实践有关系的一组数据,叫做时间序列: 2.得到时间序列的数据后,要构建模型,其中平稳时间序列的模型,是本节课重点介绍的: 3.y=at+季节性+周期性 一.     ...

  5. 数学建模常用模型04:灰色关联分析法

    数学建模常用模型04:灰色关联分析法 灰色关联分析法 本文所用的资料参考来源:美赛资料网:美赛资料网 与灰色预测模型一样,比赛不能优先使用,灰色关联往往可以与层次分析结合使用.层次分析用在确定权重上面 ...

  6. 数学建模常用模型(一):灰色预测法

    数学建模常用模型(一):灰色预测法 灰色预测法是一种用于处理少量数据.数据质量较差或者缺乏历史数据的预测方法.它适用于一些非线性.非平稳的系统,尤其在短期预测和趋势分析方面有着广泛的应用.灰色预测法作 ...

  7. 数学建模常见模型总结

    数学建模常见模型总结 一.插值 当已有数据量不够,需要补充,且认定已有数据可信时,通常利用函数插值方法. 常用插值方法 拉格朗日插值 分段线性插值 Hermite 三次样条插值 克里金法 matlab ...

  8. 【图论】网络流——最大流和最小费用流

    [图论]网络流--最大流和最小费用流 文章目录 [图论]网络流--最大流和最小费用流 1. 最大流问题 1.1 基本概念 1.2 寻求最大流的算法(Ford-Fulerson) 1.3 matlab求 ...

  9. 【数学建模常用模型】图论专题

    图论是研究点.线间关系的一门学科.现实生活中,凡是涉及到事物间的关系,都可以抽象为图论模型.图论模型也是各大数学建模中常见的一种模型,主要用于计算.规划最短距离.路线等问题.下面介绍几个基本概念和算法 ...

最新文章

  1. 如何在页面加载完成后再去做某事?什么方法可以判断当前页面加载已完成?...
  2. UniCode 速查表
  3. Java CountDownLatch的两种常用场景
  4. taskdef class org.apache.catalina.ant.InstallTask cannot be found
  5. 安装linux并卸载windows,如何在安装双启动后卸载 Windows 或者 Linux
  6. 填坑-十万个为什么?(13)
  7. Latex 修改公式的的大小
  8. win7变成xp风格了怎么改回_XP退役了,如何把Win7变成XP风格
  9. c语言用数组存储高精度数,高精度运算c语言.pptx
  10. 刚刚接触视频剪辑,怎么快速剪视频?
  11. new操作符内部原理(二) 及 delete和free
  12. Smali语言基础语法
  13. PS之人物高低频磨皮
  14. 云计算对网络学习,主要有哪些影响?
  15. 新型冠状病毒的初期症状有哪些?(Java绘图)
  16. 屏幕录制:4Easysoft Screen Recorder Mac中文版
  17. Mac系统下MySQLWorkbench出现no connection established问题
  18. 控制图简明原理及Plotly实现控制图Python实践
  19. Ubuntu虚拟机重启发现用时过长 stop job is running for Unattended Upgrades Shutdown (10s / 30 min)
  20. 【免费分享编程笔记】Python学习笔记

热门文章

  1. Latex如何写出一个增广矩阵中的长坚虚线
  2. 毕业设计 单片机超声波雷达系统 - 嵌入式
  3. PE中的import table/IAT 分析
  4. 给鼠标右键添加上帝模式,让上帝随叫随到的操作
  5. 文档中如何加盖电子公章
  6. word2vec 和 doc2vec 相似和区别
  7. 微信小程序对cover-view标签设置border没效果(手机不显示)
  8. vue表单验证--银行卡验证
  9. 泰山OFFICE技术讲座:页面空白(页边距)是怎么算的
  10. 软件服务工程课程总结