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

图论模型

基础理论

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| vVd(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=v0e1v1e2...ekvk,路长为边的个数 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,vjAvi,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,0fijcij
    (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)Afijj:(vj,vi)Afji=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)Afijj:(vj,vi)Afji= v,v,0,i=si=ti=s,t0fijcij,(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)Abijfijs.t. j:(vi,vj)Afijj:(vj,vi)Afji= v,v,0,i=si=ti=s,t0fijcij,(vi,vj)A
  • v v v 是最大流 v m a x v_{max} vmax 时,本问题就是最小费用最大流问题。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值