数学建模方法之图论模型
数学建模的主要建模方法

数学建模的主要建模方法数学建模是指运用数学方法和技巧对复杂的实际问题进行抽象、建模、分析和求解的过程。
它是解决实际问题的一个重要工具,在科学研究、工程技术和决策管理等领域都有广泛的应用。
数学建模的主要建模方法包括数理统计法、最优化方法、方程模型法、概率论方法、图论方法等。
下面将分别介绍这些主要建模方法。
1.数理统计法:数理统计法是基于现有的数据进行概率分布的估计和参数的推断,以及对未知数据的预测。
它适用于对大量数据进行分析和归纳,提取有用的信息。
数理统计法可以通过描述统计和推断统计两种方式实现。
描述统计主要是对数据进行可视化和总结,如通过绘制直方图、散点图等图形来展示数据的分布特征;推断统计则采用统计模型对数据进行拟合,进行参数估计和假设检验等。
2.最优化方法:最优化方法是研究如何在给定的约束条件下找到一个最优解或近似最优解的方法。
它可以用来寻找最大值、最小值、使一些目标函数最优等问题。
最优化方法包括线性规划、非线性规划、整数规划、动态规划等方法。
这些方法可以通过建立数学模型来描述问题,并通过优化算法进行求解。
3.方程模型法:方程模型法是通过建立数学方程或函数来描述问题,并利用方程求解的方法进行求解。
这种方法适用于可以用一些基本的方程来描述的问题。
方程模型法可以采用微分方程、代数方程、差分方程等不同类型的方程进行建模。
通过求解这些方程,可以得到问题的解析解或数值解。
4.概率论方法:概率论方法是通过概率模型来描述和分析不确定性问题。
它可以用来处理随机变量、随机过程和随机事件等问题。
概率论方法主要包括概率分布、随机变量、概率计算、条件概率和贝叶斯推理等内容。
利用概率论的方法,可以对问题进行建模和分析,从而得到相应的结论和决策。
5.图论方法:图论方法是研究图结构的数学理论和应用方法。
它通过把问题抽象成图,利用图的性质和算法来分析和求解问题。
图论方法主要包括图的遍历、最短路径、最小生成树、网络流等内容。
数学建模-图论模型

思路分析
• 每学期任课老师都有一定工作量的要求往往可能要上不止一门课 程。
• 每位同学需要在学期内完成若干门课程的学习。 • 某些对上课设施有特殊要求的课程,也不可以安排在同一时间。 • 为了方便开展一些全校性的活动,有些时段不安排课程。 • 受到教室数量的限制,在同一时段无法安排太多的课程。
模型建立
• 以每个课程为顶点,任何两个顶点之间连一条边当且仅当两门课 程的任课老师为同一人,或有学生同时选了这两门课或上课教室 冲突。
• 那么一个合理的课程安排就是将图中的点进行分化,使得每一个 部分里的点为一个独立集。
• 通过极小覆盖找出图中的极 大独立集,然后删去该极大 独立集,在剩下的图中找出 极大独立集,直到剩下的图 为一个独立集。
匈牙利算法
• 饱和点:M是图G的一个匹配,若G中顶点v是M中某条边的端 点,则称M饱和v,否则称v是M的非饱和点。
• 可扩路:一条连接两个非饱和点x和y的由M外的边和M的边交错 组成的路称为M的(x,y)可扩路。
• 算法基本步骤:
Kuhn-Munkres算法
1.2 图的独立集应用
• 问题描述:各大学学期临近结束时,需要根据老师任课 计划和学生选课情况,再结合教室资源情况安排下一学 期的课程及上课时间和地点。下表所示是某大学电信学 院的大三各专业部分课程情况。该学院每届学生按专业 分班,统一选课。另外,学院只有一间普通机房和一间 高级机房。那么应该如何合理地排这些课程呢?
则称其是双连通或强连通的。对于不是双连通的图,都可以分解成 若干个极大的双连通分支,且任意两分支之间的边是同向的。
举例:
• 右图所示竞赛图不是双连通的
•
为一条有向
的D哈密尔A顿路B。 C E
数学建模图论模型

任意两点均有通路的图称为连通图。
连通而无圈的图称为树,常用T=<V,E>表示树。
若图G’是图 G 的生成子图,且G’又是一棵树, 则称G’是图G 的生成树。
例 Ramsey问题
图1
图2
并且常记: V = v1, v2, … , vn, |V | = n ; E = {e1, e2, … , em}ek=vivj , |E | = m
称点vi , vj为边vivj的端点 在有向图中, 称点vi , vj分别为边vivj的 始点和终点. 该图称为n,m图
8
对于一个图G = V, E , 人们常用图形来表示它, 称其 为图解 凡是有向边, 在图解上都用箭头标明其方向.
4、P'代替P,T'代替T,重复步骤2,3
定理2 设 T为V的子集,P=V-T,设 (1)对P中的任一点p,存在一条从a到p的最短路径,这条路径仅有P中的
点构成, (2)对于每一点t,它关于P的指标为l(t),令x为最小指标所在的点, 即:
l(x)mli(tn )} t{ ,T
(3)令P’=P Ux,T’=T-{x},l’(t)表示T'中结点t关于P'的指标,则
解:用四维01向量表示人,狼,羊,菜例在过河西河岸问的题状态(在
岸则分量取1;否则取0),共有24 =16 种状态; 在河东岸 态类似记作。
由题设,状态(0,1,1,0),(0,0,1,1),(0,1,1,1)是不允许的
其对应状态:(1,0,0,1), (1,1,0,0),(1,0,0,0)也是不允许
数学建模中的图论方法

数学建模中的图论方法一、前言我们知道,数学建模比赛中有问题A和问题B。
一般而言,问题A是连续系统中的问题,问题B是失散系统中的问题。
因为我们在大学数学教育内容中,连续系统方面的知识的比率较大,而离散数学比率较小。
所以好多人有这样的感觉,A题下手快,而B题不好下手。
其他,在有限元素的失散系统中,相应的数学模型又可以区分为两类,一类是存在有效算法的所谓P类问题,即多项式时间内可以解决的问题。
但是这种问题在MCM中特别少见,事实上,由于比赛是开卷的,参照有关文件,使用现成的算法解决一个P类问题,不可以显示参赛者的建模及解决实诘问题能力之大小;还有一类所谓的NP问题,这种问题每一个都还没有成立有效的算法,或许真的就不行能有有效算法来解决。
命题经常以这种NPC问题为数学背景,找一个详细的实质模型来考验参赛者。
这样增添了成立数学模型的难度。
但是这也其实不是说没法求解。
一般来说,因为问题是详细的实例,我们可以找到特其他解法,或许可以给出一个近似解。
图论作为失散数学的一个重要分支,在工程技术、自然科学和经济管理中的好多方面都能供给有力的数学模型来解决实诘问题,所以吸引了好多研究人员去研究图论中的方法和算法。
应当说,我们对图论中的经典例子或多或少仍是有一些认识的,比方,哥尼斯堡七桥问题、中国邮递员问题、四色定理等等。
图论方法已经成为数学模型中的重要方法。
好多灾题因为归纳为图论问题被奇妙地解决。
并且,从历年的数学建模比赛看,出现图论模型的频次极大,比方:AMCM90B-扫雪问题;AMCM91B-找寻最优Steiner树;AMCM92B-紧迫修复系统的研制(最小生成树)AMCM94B-计算机传输数据的最小时间(边染色问题)CMCM93B-足球队排名(特点向量法)CMCM94B-锁具装箱问题(最大独立极点集、最小覆盖等用来证明最优性)CMCM98B-灾情巡视路线(最优回路)等等。
这里面都直接或是间接用到图论方面的知识。
数学建模——图论篇

软件学院
图论原理
在图G1中, 满足充分条件Δ(G)=4 δ(G)=2任意两个 结点度数之和大于等于5,所以是H图.
1
5
4
G1 2 3
a
G2 b c
d
e1 e e5 2 B e6 e3 e 4 C e7
D
V={A,B,C,D} E={e1, e2, e3, e4, e5 e6, e7} 人们茶余饭后经常到桥上散步,从而提出这样问题:是否 可以从某地出发,每座桥都走一次,再回到出发点. 很多 人试图找出这样的路径, 都没有找到. 后来欧拉证明这样 的路径根本不存在. 此图可以抽象为上边右图.
软件学院
图论原理 一. 图的概念 一个图 G=<V(G),E(G)>, 其中结点集V(G):是G的结 点的非空集合.(V(G)≠Φ),简记成V;边集E(G):是 G的边的集合. 有时简记成E. 结点: 用 表示, 旁边标上该结点的名称. 边:有向边:带箭头的弧线.从u到v的边表示成(u,v) 无向边:不带箭头的弧线.u和v间的边表示成(u,v)
v4 1 v5
软件学院
图论原理 通路与回路 1.通路的定义:给定图G=<V,E >,v0 ,v1,v2,,…,vn∈V, e1,e2,,…,en∈E,其中ei是关联vi-1,vi的边,则称 结点和边的交叉序列为图的通路。 如v0 e1v1 e2v2…envn是连接v0到vn的路.v0是此路的起 点,vn是此路的终点.路中含有的边数n称之为路的长度. 如果其中每条边的终点总是下一条边的起点,则边的 序列可以简写成(v0,v1,v2,…,vn) e v0 1 e4 例如右图中: v1 v2 e2 e3 e5 e6 v0 e2v3 e6v2是一条长度为2的路.
数学建模--图论模型(2)

数学与统计学院 李书选
shuxuanli@
2012/07/18
数学建模 –图论模型(2)
4. 最小生成树及算法 5. 旅行售货员问题 6. 中国邮递员问题
回
停 下
4.最小生成树及算法
1) 树的定义与树的特征 定义 连通且不含圈的无向图称为树.常用T表示. 树中的边称为树枝. 树中度为1的顶点称为树叶. 孤立顶点称为平凡树.
2)图的生成树
定义 若T是包含图G的全部顶点的子图,它又是树, 则称T是G的生成树. 图G中不在生成树的边叫做弦.
定理3 图G=(V,E)有生成树的充要条件是图G是连 通的.
证明 必要性是显然的.
充分性:任取 u1 V ,令集合V1 {u1},这时生成
( 树T 的边集 ET1) 为空集. 因为 G 是连通图, 点集V1与
取一圈{v1e1v2e6v5e8v3e2v1},去掉 e6 .
B 破圈法
例 用破圈法求出下图的另一棵生成树.
取一圈{v1e1v2e3v3e2v1}, 去掉 e3 ; 取一圈{v1e1v2e4v4e5v3e2v1},去掉 e4 ; 取一圈{v1e1v2e6v5e8v3e2v1},去掉 e8 ;
取一圈{v1e1v2e6v5e7v4e5v3e2v1}去掉 e6 ; 得到另一颗生成树.
仍能找到边 ei 满足其一端在点集Vi ,另一端在点
(i V \ Vi 中. 由于 ei 有一端在Vi 之外,所以Vi 与 ET ) 集
中的边不构成圈. 当 i n 时,得到
( Vn {u1, u2 ,...,un} V , ETn) {e1, e2 ,...,en1},
即图T
(n) 由定理 2 知, (V , ET ) 有 n 1条边且无圈,
数模培训图论模型

根据此图便可找到渡河方法.
2020/11/21
数模培训图论模型
(1,1,1,1) (1,1,1,0) (1,1,0,1) (1,0,1,1) (1,0,1,0) (0,0,0,0) (0,0,0,1) (0,0,1,0) (0,1,0,0) (0,1,0,1)
2020/11/21
数模培训图论模型
图的定义
图论中的“图”并不是通常意义下的几何图形或物 体的形状图, 而是以一种抽象的形式来表达一些确定的 事物之间的联系的一个数学系统.
定义1 一个有序二元组(V, E ) 称为一个图, 记为G = (V, E ), 其中
① V称为G的顶点集, V≠, 其元素称为顶点或结点,
例 一摆渡人欲将一只狼,一头羊,一篮菜从河西渡过 河到河东.由于船小,一次只能带一物过河,并且狼与羊, 羊与菜不能独处.给出渡河方法.
解:用四维0-1向量表示(人,狼,羊,菜)在河西岸的 状态(在河西岸则分量取1,否则取0),共有24 =16 种状态. 在河东岸的状态类似记作.
由题设,状态(0,1,1,0),(0,0,1,1),(0,1,1,1)是不允许的, 从而对应状态(1,0,0,1), (1,1,0,0), (1,0,0,0)也是不允许的.
数模培训图论模型
2020/11/21
数模培训图论模型
图论模型
1. 图论基本概念 2. 最短路径算法 3. 最小生成树算法 4. 遍历性问题 5. 二分图与匹配
6. 网络流问题 7. 关键路径问题 8. 系统监控模型 9. 着色模型
2020/11/21
数模培训图论模型
1、图论的基本概念
数学建模 第六章 图论模型

�
(1) 可取状态 根据题意,并不是所有状态都是可取的.通过穷举法列出来,可 取状态是: 人在此岸 人在彼岸 (1, 1, 1, 1) (0, 0, 0, 0 ) (1, 1, 1, 0 ) (0, 0, 0, 1 ) (1, 1, 0, 1 ) (0, 0, 1, 0 ) (1, 0, 1, 1 ) (0, 1, 0, 0 ) (1, 0, 1, 0 ) (0, 1, 0, 1 ) 总共有十种可取状态.
=d(1)+c 13放入 A 中,即
A = {P1 , P5 , P3 }, B = {P2 , P4 , P6 , p 7 , P8 }
( 3)
minB {d (i ) + cij } = min {d (1) + c1 j , d (3) + c3 j , d (5) + c5 j } i∈ A , j∈
实例二 交通费用问题
设有一城市间的飞机飞行网络, 由第 Pj 个城 市到第 Pj 个城市所需要费用为 Cij ,令 Cij =∞表示 第 Pj 个城市与第 Pj 个城市不直接通航,Cij 的值 如表 6-1 所示.设所有城市中只有 P1,然后多 P1 然后从 p1 出发到各地,求 p1 到 p8 的最少费用.
表 6-1 2 3 4 5 6 7 8 1 28 2 ∞ 1 ∞ ∞ ∞ 2 ∞ 9 8 ∞ ∞ ∞ ∞ ∞ 24 ∞ 27 ∞ ∞ 8 7 3 4 5 6 7
26 ∞ ∞
8 ∞
7
(1)画网络图 该问题属于图论中的最短路问题.画出网络图 6-3.
显然,从 p1 走到 p8 有若于种走法,每种线路的花费不同,一种简单 的想法是,从某一城市 Pj 出发时,皆选花费最小的城市作为下一站.这种 办未能当然可以使当前一站的花费最小,但未必使整个线路花费最小.举 一个简单的例子,如图 6-4,边上的值为相邻点之间的花费.显然,若按 上面的想法,使每一步都花费最小,则从 A 点到 C 点的最短路线为 A— B —C,其总花费为 4.而从 A 直接走到 C 的花费仅为 3.因此,在考虑这 类问题时,每次寻打下一站时不是去考虑局部花费,而应以考虑总体花费 最少为原则. 先把顶点集分成两个集合,集合 A 包含所有的出发点(包括始发点 P1 ) ,集合 B 包括其它点.显然,初始时:
数学建模图论讲

第2页1 /共86页
2024年8月3日
数学建模-图论
一、图的基本概念
如果图的二顶点间有边相连,则称此顶点相邻,每一对顶点
都相邻的图称为完全图,否则称为非完全图,完全图记为 K V 。
若V (G) X Y, X Y , X Y 0 ,且 X 中 无相邻的顶点对,Y 中亦然,则称图 G 为二分图.
第1行 1 A1i 第i行 1
11,A1i 2
2 2
22,A1i3
4 4
4 4
其中i=2,3,4,5,显然y1=1+(4+4+4+4-1) 4=61. 同理,计算y2时应考虑槽高只有2,21,23,24,25,
26时的情形,类似计算可得 y2=1+(4+4+4+4-1)×5=76.
于是,s=61×2+76×4=426,x=6306426=5880.
计算y1可分别考虑槽高只有1,12,13,14,15的 情形.若只有1,这样的锁具效只有1个, 若只有1和i(i=2,3,4,5),这样的锁具数=G中以1和i为 顶点,长度为3的道路数,此数可通过A的子矩阵A1i计 算得到.
第18页/共86页
数学建模-图论
二、图的矩阵表示(应用实例解法分析)
事实上,因为
间最短的路线。定义T*T=(t(2)ij),
3
4
t(2)ij=min{min1<=k<=5{tik+tkj},tij}, t(2)ij表示 从站点i到站点j的至多换乘一次的最短时间。
5
第22页/共86页
数学建模-图论
二、图的矩阵表示(应用实例及解法分析)
数学建模_ 图论模型_

图论中最短路算法与程序实现图论中的最短路问题(包括无向图和有向图)是一个基本且常见的问题。
主要的算法有Dijkstra 算法和Floyd 算法。
Dijkstra 算法是求出指定两点之间的最短路,算法复杂度为 Floyd 算法是求出任意两点之间的最短路,算法复杂度为 2()O n 3()O n1.Dijkstra算法2. Floyd算法算法程序(Matlab)为:for k=1:nfor i=1 :nfor j=1:nt=B(i,k)+B(k,j);if t<B(i,j) B(i,j)=t; end endendend起点终点距离起点终点距离起点终点距离12400718160151725013450892001617140243008152851618130221230910180172724024714010111501819204346001015160182518045210111214019201404193101114130192417556230121320020211805720013344002024190673201415190212230068340142619021232707817015161702147350表1 各点距离(m)实例:已知50个点之间相互连接信息见表1及续表。
求最短距离矩阵续表1 各点距离(m)起点终点距离起点终点距离起点终点距离22441602229313640190 22452702230313738135 22481802230423839130 23242402330433941310 23292102331324041140 23302902331364050190 23441502331504250200 24251702432334344260 24281302432354345210 26271402632364546240 26343202633344648280 27281902735374849200 2829260283639n=50; %Matlab实现的Floyd算法A=zeros(n,n);for i=1:nfor j=1:nif(i==j) A(i,j)=0;else A(i,j)=100000;endendend %赋直接距离信息A(1,2)=400;A(1,3)=450; A(2,4)=300;A(2,21)=230; A(2,47)=140;A(3,4)=600;A(4,5)=210;A(4,19)=310;A(5,6)=230;A(5,7)=200; A(6,7)=320; A(6,8)=340;A(7,8)=170;A(7,18)=160;A(8,9)=200;A(8,15)=285; A(9,10)=180; A(10,11)=150; A(10,15)=160; A(11,12)=140; A(11,14)=130; A(12,13)=200; A(13,34)=400;A(14,15)=190;A(14,26)=190; A(15,16)=170; A(15,17)=250; A(16,17)=140;A(16,18)=130; A(17,27)=240; A(18,19)=204; A(18,25)=180; A(19,20)=140; A(19,24)=175; A(20,21)=180; A(20,24)=190; A(21,22)=300; A(21,23)=270; A(21,47)=350;A(22,44)=160;A(22,45)=270;A(22,48)=180;A(23,24)=240; A(23,29)=210;A(23,30)=290;A(23,44)=150;A(24,25)=170;A(24,28)=130; A(26,27)=140;A(26,34)=320;A(27,28)=190;A(28,29)=260;A(29,31)=190; A(30,31)=240;A(30,42)=130;A(30,43)=210;A(31,32)=230;A(31,36)=260; A(31,50)=210;A(32,33)=190;A(32,35)=140;A(32,36)=240;A(33,34)=210; A(35,37)=160;A(36,39)=180;A(36,40)=190;A(37,38)=135;A(38,39)=130; A(39,41)=310;A(40,41)=140;A(40,50)=190;A(42,50)=200;A(43,44)=260; A(43,45)=210;A(45,46)=240;A(46,48)=280;A(48,49)=200;for j=1:nfor i=1:j-1A(j,i)=A(i,j); %使矩阵对称endendB=A;%利用Floyd算法计算最短距离矩阵for k=1:nfor i=1 :nfor j=1:nt=B(i,k)+B(k,j);if t<B(i,j) B(i,j)=t; endendendend %输出距离矩阵到文件fid=fopen('distance.txt','w'); for i=1:nfor j=1:nfprintf(fid,'%4d ',B(i,j)); endfprintf(fid,'\n');endfclose(fid);。
数学建模中的图论方法

数学建模中的图论方法----图论的基础知识
哈密尔顿回路,起源于一个名叫“周游世界”的游戏, 它是由英国数学家哈密尔顿(Hamilton)于1859年提出的。 他用一个正十二面体的20个顶点代表20个大城市(图 (a)),这个正十二面体同构于一个平面图(图(b))。要 求沿着正十二面体的棱,从一个城市出发,经过每个城市 恰好一次,然后回到出发点。这个游戏曾风靡一时,它有 若干个解。图(b)给出了一个解。
A B C A
B
C
A
B
C
a
b G1
c
d
e
a
b
c G2
d
e
a
b
c G3
d
e
数学建模中的图论方法----图论中的几个实用算法
4.图论中的几个实用算法
1.加权图中的最短路径的Dijkstra算法
最短路径问题:给定连接若干城市的铁路网,寻找从 指定城市到各城市去的最短路线。 数学模型:设 G V , E,W 是一个加权图,边 u, v 的权 记为 u, v ,路径P的长度定义为路径中边的权之和,记 为 P。两结点u和v之间的距离定义为
(1)如果结点v2 , v3 , v4之间至少有一条红边,比如 v2 , v3 是 红边,则得到红色的三角形 v1v2v3; (2)如果结点v2 , v3 , v4之间的边全是蓝色的,则得到蓝色 的三角形 v2v3v4。 关于问题中的结点数,对任何n 6 ,命题都成立.但 当n 5 时,命题便不成立了。这说明:不同的六个点是保 证用两色涂染其边,存在同色三角形的最少点数。
2 15 17 18 11 10
16 1 20
14 13 12 6 7 3 4 5
19 9
图论模型 【数学建模精品资源】

Floyd 算法的基本思想是:从图的带权邻接 矩阵 A = [a(i, j)]nn 开始,在 A 中用插入顶点的 方法依次构造出 n 个矩阵 D(1)、D(2)、…、D(n), 使最后得到的矩阵 D(n) 成为图的距离矩阵,即 矩阵 D(n) 的 i 行 j 列元素便是 i 号顶点到 j 号顶 点的距离。构造 D(i) 的同时,也引入一个路由 矩阵 P(i) 来记录两点间的最短路径。
4
0 2
2 0
1 3 3,
3 0 5
2 3 1 3 5 0
插入点 v3,得:
di(jk) min{di(jk1), di(kk1) dk(jk1)},
0 1 5 7 2
1 2 2 3 5 6
1
0
4
6 3
1
2
3
3
5
1
D(3)
5
7
2
4 6 3
0 2 1
2 0 3 3
则由点vi到v j 的最短路的路径为: vi ,vak ,,va2 ,va1,vb1,vb2 ,,vbm ,v j.
vi vak va3 va2 va1 vb1 vb2 vbm v j
例 求下图中加权图的任意两点间的距离与路径.
0 1 2
1
0
4
4
D (0)
4
0 2
2 0
1 3 3,
3 0 5
2 4 1 3 5 0
1 2 3 4 5 6
1
2
3
4
5
6
R (0)
1
1
2 2
3 3
4 4
5 5
6 6,
1 2 3 4 5 6
1 2 3 4 5 6
数学建模图论模型及其算法设计(上午)

首先考虑换乘次数最少的线路选择模型,首 先建立直达矩阵如下:
数学建模-图论
二、图的矩阵表示(应用实例及解法分析)
0 0 A 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0
计算A2得到:
特别地, 若对任意 x X ,则 x 与 Y 中每个顶点 相邻,则称图 G (V , E ) 为完全二分图 ,记为 K X , Y 。
2 2012年8月11日
数学建模-图论
一、图的基本概念
设 v V (G ) ,是边 e E (G ) 的端点,则称 v 与 e 相关联, 与顶点 v 关联的边数之和称为该顶点的次数,记为 d (v ) 。
A的n次方矩阵中i行j列元素表示从结点i到结点j的长度为n的路 径条数。
数学建模-图论
二、图的矩阵表示
2 有向图的权矩阵A = (aij ) n×n (n为结点数)
a ij F v i v j , 0, , viv j E i j viv j E
例2:写出右图的权矩阵: 解:
1, v i , v j E a ij 0, v i , v j E
例1:写出右图的邻接矩阵(有向): 解:
0 0 A 1 1 1 0 0 0 0 1 0 1 1 0 1 0
数学建模-图论
二、图的矩阵表示
无向图的邻接矩阵 A = (aij )n×n (n为结点数)
a ij 1, ( v i v j ) E 0, ( v iv j ) E
例1:写出右图底图的邻接矩阵: 解:
0 1 A 1 1 1 0 1 0 1 1 0 1 1 0 1 0
数学建模之图论模型讲解

过河问题:摆渡人Ferryman,狼wolf,羊sheep,卷 心菜cabbage过河问题 . 如何摆渡使得它们不能互 相伤害.
考试安排问题:学校期末考试安排n门课的考 试时间时,不能把同一位学生选修的两门课安排在 同一时间考试,问学校考试最少要进行多长时间?
信道分配问题:发射台所用频率从小到大编号 为1,2, …称为信道。用同一信道的两个台站相距得 少于一个常数d,问各台至少需同时使用几个不同 的信道?
A—R,A—C,A—T,
R—P,P—S,S—T,
T—B,B—D,D—C,
A
R—S,R—B,P—D,
S—C,S—D.
T
每种药品作为一个顶 点,不能放在一起的 S 连边。相邻顶点用不 同颜色着色。
R P
这一问题就是图论中的顶点着色问题。
至少需用3个房间:A,S,B/D,T,R/C,P
B C
D
例3 最短路问题(SPP-shortest path problem) 一名司机奉命在最短的时间内将一车货物从甲
问题变成了:能否从这个图上任一顶点出发,
经过每条边一次且仅一次而回到出发顶点。
--Euler-回路(圈)问题。
A
A
B
D
B
D
C
C
例2 药品存储问题
▪ 有8种化学药品A、B、C、D、P、R、S和T要放 进贮藏室保管,出于安全原因,下列各组药品不能 贮在同一室内:A—R,A—C,A—T,R—P, P—S,S—T,T—B,B—D,D—C,R—S, R—B,P—D,S—C,S—D,试为这8种药品设 计一个使用房间数最少的贮藏方案。
G[{v1,v2,v3}] G[{e3,e4,e5,e6}]
3) 若 V V,且 V ,以 V 为顶点集,以两端点 均在V 中的边的全体为边集的图 G 的子图,称 为G的由V 导出的子图,记为 G[V ] .
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定理 d (v) 2.
vV
推论 任何图中奇点 的个数为偶数. d (v1) 4
d (u3) 1
d (u3) 2
一个顶点记为 ui1,置 Si1 Si {ui1}.
3) 若 i 1,则停Hale Waihona Puke ;若 i 1,则用 i+1 代
替i,并转2).
S0 {u0},l(u j ) , j 1,2,...,7.
u1 S0 l(u1) min{,0 1}
Dijkstra算法: 求G中从顶点u0到其余顶点的最短路.
G[{v1,v2,v3}] G[{e3,e4,e5,e6}]
3) 若 V V,且 V ,以 V 为顶点集,以两端点 均在V 中的边的全体为边集的图 G 的子图,称 为G的由V 导出的子图,记为 G[V ] .
4) 若E E,且 E ,以 E为边集,以 E 的端点 集为顶点集的图 G 的子图,称为 G 的由E 导出的
第二讲 图论模型
1. 问题引入与分析
2. 图论的基本概念
3. 最短路问题及算法
4. 最小生成树及算法
回
5. 旅行售货员问题
停
6. 模型建立与求解 下
1. 问题引入与分析
1) 98年全国大学生数学建模竞赛B题“最佳灾 情巡视路线”中的前两个问题是这样的:
今年(1998年)夏天某县遭受水灾. 为考察灾情、 组织自救,县领导决定,带领有关部门负责人到 全县各乡(镇)、村巡视. 巡视路线指从县政府 所在地出发,走遍各乡(镇)、村,又回到县政 府所在地的路线.
若图G中的边均为无序偶对 viv j,称G为无向图.称 边e viv j 为无向边,称e连接vi 和 v j,顶点 vi 和v j 称 为e的端点. 既有无向边又有有向边的图称为混合图.
例 设H (V (H ), E(H )),其中: V (H ) {u1,u2,u3,u4,u5}, E(H ) {a1, a2, a3, a4, a5, a6, a7}, a1 (u1,u2) , a2 (u2,u2) , a3 (u4,u2 ) , a4 (u4,u5) , a5 (u4,u3) , a6 (u3,u4 ) , a7 (u1,u3). (见右图 3)
3) 把赋权图G中一条路的权称为它的长,把(u,v)
路的最小权称为u和v之间的距离,并记作 d(u,v).
1) 赋权图中从给定点到其余顶点的最短路
最短路是一条路,且最短路的任一节也是最短路. 求下面赋权图中顶点u0到其余顶点的最短路.
假设G为赋权有向图或无向图,G边上的权均非 负.若 (u,v) E(G) ,则规定 w(u,v) .
解决此类问题的一般方法是不现实的,对于规模较大
的问题可使用近似算法来求得近似最优解.
2.图论的基本概念
1) 图的概念 2) 赋权图与子图 3) 图的矩阵表示 4) 图的顶点度 5) 路和连通
1) 图的概念
定义 一个图G是指一个二元组(V(G),E(G)),其中: 1) V (G) {v1,v2, ,v }是非空有限集,称为顶点集, 其中元素称为图G的顶点. 2) E(G)是顶点集V(G)中的无序或有序的元素偶对 (vi ,v j ) 组成的集合,即称为边集,其中元素称为边.
边导出的子图,记为 G[E] .
3) 图的矩阵表示
邻接矩阵: (以下均假设图为简单图).
1) 对无向图 G,其邻接矩阵 A (aij ) ,其中:
1, aij 0,
若vi与v j相邻, 若vi与v j不相邻.
v1 v2 v3 v4 v5
0 1 1 0 0 v1 1 0 1 0 0 v2 A 1 1 0 1 1 v3 0 0 1 0 0 v4
3.最短路问题及算法
最短路问题是图论应用的基本问题,很多实际 问题,如线路的布设、运输安排、运输网络最小费 用流等问题,都可通过建立最短路问题模型来求解.
•最短路的定义 •最短路问题的两种方法:Dijkstra和Floyd算法 .
1) 求赋权图中从给定点到其余顶点的最短路. 2) 求赋权图中任意两点间的最短路.
其中:
1,
mij 1,
0,
若vi是e j的尾, 若vi是e j的头, 若vi不是e j的头与尾.
e1 e2 e3 e4 e5
1 0 1 1 0 u1
M 1 1 0
0
0
u2
0 1 1 0 1 u3
0 0 0 1 1 u4
4) 图的顶点度
定义 1) 在无向图G中,与顶点v关联的边的数目(环 算两次),称为顶点v的度或次数,记为d(v)或 dG(v). 称度为奇数的顶点为奇点,度为偶数的顶点为偶点.
0 0 1 0 0 v5
2) 对有向图 G (V , E) ,其邻接矩阵 A (aij ) ,其中:
1, aij 0,
若(vi ,v j ) E, 若(vi ,v j ) E.
u1 u2
0 1 A 0 0
0 1 0 0
u3 u4
1 1 u1 0 0 u2 0 0 u3 1 0 u4
3) 对有向赋权图 G (V , E) , 其邻接矩阵 A (aij ) ,
3) 若 V V,且 V ,以 V 为顶点集,以两端点 均在V 中的边的全体为边集的图 G 的子图,称 为G的由 V 导出的子图,记为 G[V ] .
4) 若E E,且 E ,以 E为边集,以 E 的端点 集为顶点集的图 G 的子图,称为 G 的由E 导出的
边导出的子图,记为 G[E] .
Dijkstra算法: 求G中从顶点u0到其余顶点的最短路.
1) 置 l(u0) 0,对v u0,l(v) ,S0 {u0}且 i 0 .
2) 对每个 v Si ,用 min{l(v),l(ui ) w(ui ,v)}
代替 l(v) ,计算 min{l(v)},并把达到这个最小值的
vS i
本题给出了某县的公路网络图,要求的是在不 同的条件下,灾情巡视的最佳分组方案和路线.
将每个乡(镇)或村看作一个图的顶点,各乡 镇、村之间的公路看作此图对应顶点间的边,各条 公路的长度(或行驶时间)看作对应边上的权,所 给公路网就转化为加权网络图,问题就转化图论中 一类称之为旅行售货员问题,即在给定的加权网络 图中寻找从给定点O出发,行遍所有顶点至少一次 再回到点O,使得总权(路程或时间)最小.
2) 起点与终点重合的途径称为闭途径.
3) 起点与终点重合的的路称为圈(或回路),长 为k的圈称为k阶圈,记为Ck.
4) 若在图G中存在(u,v)路,则称顶点u和v在图G 中连通.
5) 若在图G中顶点u和v是连通的,则顶点u和v之 之间的距离d(u,v)是指图G中最短(u,v)路的长;若没 没有路连接u和v,则定义为无穷大.
6) 任意两顶点都相邻的简单图,称为完全图. 记为Kv.
7) 若V (G) X Y,X Y ,且X 中任意两顶点不
相邻,Y 中任意两顶点不相邻,则称为二部图或 偶图;若X中每一顶点皆与Y 中一切顶点相邻,称为 完全二部图或完全偶图,记为Km,n (m=|X|,n=|Y|).
,
8) 图 K1,n 叫做星.
本题是旅行售货员问题的延伸-多旅行售货员问题. 本题所求的分组巡视的最佳路线,也就是m条
经过同一点并覆盖所有其他顶点又使边权之和达到 最小的闭链(闭迹).
如第一问是三个旅行售货员问题,第二问是四 个旅行售货员问题.
众所周知,旅行售货员问题属于NP完全问题, 即求解没有多项式时间算法.
显然本问题更应属于NP完全问题. 有鉴于此, 一定要针对问题的实际特点寻找简便方法,想找到
1)若分三组(路)巡视,试设计总路程最 短且各组尽可能均衡的巡视路线.
2)假定巡视人员在各乡(镇)停留时间T=2 小时,在各村停留时间t=1小时,汽车行驶速度V =35公里/小时. 要在24小时内完成巡视,至少应分 几组;给出这种分组下最佳的巡视路线.
公路边的数字为该路段的公里数.
2) 问题分析:
d (u3) 3
5) 路和连通
定义1) 无向图G的一条途径(或通道或链)是指 一个有限非空序列 W v0e1v1e2 ekvk ,它的项交替 地为顶点和边,使得对 1 i k,ei的端点是vi1和 vi , 称W是从v0到 vk 的一条途径,或一条 (v0,vk ) 途径. 整 数k称为W的长. 顶点 v0 和 vk 分别称为的起点和终点 , 而 v1,v2, ,vk1称为W的内部顶点.
定义 图G的阶是指图的顶点数|V(G)|, 用 v来表示; 图的边的数目|E(G)|用 来表示.
用 G (V (G), E(G)) 表示图,简记 G (V , E). 也用 viv j 来表示边 (vi ,v j ).
例设 G (V (G), E(G)) , 其中:V (G) {v1,v2,v3,v4}, E(G) {e1,e2, e3,e4,e5,e6} , e1 v1v1,e2 v2v3,e3 v1v3, e4 v1v4,e5 v3v4,e6 v3v4. (见图 2)
2) 若途径W的边互不相同但顶点可重复,则称W 为迹或简单链.
3) 若途径W的顶点和边均互不相同,则称W为路 或路径. 一条起点为 v0 ,终点为vk 的路称为 (v0,vk ) 路 记为P(v0,vk ).
定义
1) 途径 W v0e1v1...ekvk 中由相继项构成子序列 viei1vi1...e jv j 称为途径W的节.
X : x1 x2 x3 X : x1 x2 x3
Y : y1 y2 y3 y4 Y : y1 y2 y3 y4
K1,4
K6