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


    图论模型

    基础理论

    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 > <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\{1,vi 与 ej 相关联, 0,vi 与 ej 不关联. 

    \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\{1,vi 是 ej 的起点, 1,vi 是 ej 的终点, 0,vi 与 ej 不关联. 
    \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\{1,vi,vjA0,vi,vjA

    \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 时,本问题就是最小费用最大流问题。
  • 相关阅读:
    HCIA-Access V2.5 华为认证接入网络工程师学习笔记第一章
    01创建型设计模式——单例模式
    极客君的人生咨询
    Docker | 镜像浅析,以及制作自己的镜像
    第六章 图论 17 AcWing 1562. 微博转发
    dm8 什么时候视图中统计的内存会超过OS
    国内首款开源MySQL HTAP数据库即将发布,三大看点提前告知 石原子科技重磅推出
    vue3 传值
    Linux——线程练习
    Day 21:C++STL算法篇(2/2)
  • 原文地址:https://blog.csdn.net/GW_Krystal/article/details/126408308