数学建模中的图论方法.

合集下载

数学建模的主要建模方法

数学建模的主要建模方法

数学建模的主要建模方法数学建模是指运用数学方法和技巧对复杂的实际问题进行抽象、建模、分析和求解的过程。

它是解决实际问题的一个重要工具,在科学研究、工程技术和决策管理等领域都有广泛的应用。

数学建模的主要建模方法包括数理统计法、最优化方法、方程模型法、概率论方法、图论方法等。

下面将分别介绍这些主要建模方法。

1.数理统计法:数理统计法是基于现有的数据进行概率分布的估计和参数的推断,以及对未知数据的预测。

它适用于对大量数据进行分析和归纳,提取有用的信息。

数理统计法可以通过描述统计和推断统计两种方式实现。

描述统计主要是对数据进行可视化和总结,如通过绘制直方图、散点图等图形来展示数据的分布特征;推断统计则采用统计模型对数据进行拟合,进行参数估计和假设检验等。

2.最优化方法:最优化方法是研究如何在给定的约束条件下找到一个最优解或近似最优解的方法。

它可以用来寻找最大值、最小值、使一些目标函数最优等问题。

最优化方法包括线性规划、非线性规划、整数规划、动态规划等方法。

这些方法可以通过建立数学模型来描述问题,并通过优化算法进行求解。

3.方程模型法:方程模型法是通过建立数学方程或函数来描述问题,并利用方程求解的方法进行求解。

这种方法适用于可以用一些基本的方程来描述的问题。

方程模型法可以采用微分方程、代数方程、差分方程等不同类型的方程进行建模。

通过求解这些方程,可以得到问题的解析解或数值解。

4.概率论方法:概率论方法是通过概率模型来描述和分析不确定性问题。

它可以用来处理随机变量、随机过程和随机事件等问题。

概率论方法主要包括概率分布、随机变量、概率计算、条件概率和贝叶斯推理等内容。

利用概率论的方法,可以对问题进行建模和分析,从而得到相应的结论和决策。

5.图论方法:图论方法是研究图结构的数学理论和应用方法。

它通过把问题抽象成图,利用图的性质和算法来分析和求解问题。

图论方法主要包括图的遍历、最短路径、最小生成树、网络流等内容。

【数学建模 组合与图论】图论

【数学建模 组合与图论】图论

最短路问题
例:考虑右图 (1,2,3)是基本通路 (1,1,1,2,3)是通路 (1,2,4,1,4,3)是简单通路
(1,2,4,1,4,3,1)是回路
(1,2,4,1,2,3,1)是简单回路 (1,2,4,3,1)是基本回路
最短路问题
例:在下图G中,取Γ1 = v1v2v3 ,Γ2 = v1v2v3v4v2 ,
图的概念
图论是一个应用十分广泛而又极其有趣的数学分支。 物理、化学、生物、科学管理、计算机等各个领域 都可找到图论的足迹。本讲座主要介绍图论的一些 基本知识、图论中常用的初等方法。
例:可以把右图看成是 一个公路网,v1,…,vl0 是一些城镇,每条线旁 边的数字代表这一段公 路的长度。现在问,要 从v1把货物运到v10。走 哪条路最近?这个问题 通常叫做最短路径问题.
图的概念
关联矩阵和邻接矩阵:设图G = (V,E),V = {v1,v2,…,vn},E = {e1, e2,…,em} 。G 的关 联矩阵 M(G) = [ mij] 是一个 n×m 矩阵, 其中 mij 为点 vi 与边 ej 关联的次数;G的 邻接矩阵 A(G) = [ aij] 是一个n阶方阵,其 中aij 是连接 vi 与 vj 的边的数目。
例:下图中,d(v2, v4) = 5,相应的最短路为Γ:v2v1
v3v4。
1
v2
v1
3
1
6
v3
3
v4
G
最短路问题
例(渡河问题):一个摆渡人要把一只狼、一只羊和 一捆菜运过河去。由于船很小,每次摆渡人至多只 能带一样东西。另外,如果人不在旁时,狼就要吃 羊,羊就要吃菜。问这人怎样才能安全地将它们运 过河去?
在一个图中,关联结点vi和vj的边e,无论是有向的 还是无向的,均称边e与结点vi和vj相关联,而vi和 vj称为邻接点,否则称为不邻接的;

图论在数学建模中的应用

图论在数学建模中的应用
v1 = (3, 3); v2 = (3, 2); v3 = (3, 1); v4 = (3, 0)
v5 = (2, 2); v6 = (1, 1); v7 = (0, 3); v8 = (0, 2)
v9 = (0, 1); v10 = (0, 0)
以 V ={ v1, v2 , …, v10 }为顶点集,考虑到奇数次渡河及
在《图论及其应用》一书中提到了一些图的若干问题,最短路径,最优二元树,最优Hamilton图,课本中已经给出了一些经典的解法,通过查阅资料发现,如果采用图的矩阵表示这类方法,可以为这些问题提供新的解答思路或者可以优化原来的解答过程;此外,如果采用图的矩阵表示,将使其描述更加接近计算机逻辑和语言,方便将图论问题转换成计算机语言,进而借助计算机的运算性能解决图论的一些复杂计算问题。因而,在图论中图的矩阵表示有着重要的地位。
求决策 ,使状态 按照状态转移规律,由初始状态 经有限步n到达状态 。
接下来讨论模型的求解,设 是某个可行的渡河方案所对应的状态序列,若存在某 ,且同为奇数或同为偶数,满足 ,则称 所对应的渡河方案是可约的。这时 也是某个可行的渡河方案所对应的状态序列。显然,一个有效的渡河方案应当是不可约的。
设渡河已进行到第k步, 为当前的状态,记 , ,为保证构造的渡河方案不可约,则当前的决策 除了应满足:
1) ,且当k为奇数时, ,当k为偶数时, ;
还须满足:
2)当k为奇数时, ;当k为偶数时, 。
D 通过作图,可以得到两种不可约的渡河方案,如下图:
在平面坐标系上画出图示那样的方格,方格点表示s状态 =(x,y) ,允许状态是用圆点标出的10个格子点,允许决策 dk 是沿方格线移动1或2格,k为奇数时,向左、下方移动,k为偶数时,向右、上方移动。图中给出了一种方案,此结果很容易翻译成渡河方案。

数学建模-图论模型

数学建模-图论模型

思路分析
• 每学期任课老师都有一定工作量的要求往往可能要上不止一门课 程。
• 每位同学需要在学期内完成若干门课程的学习。 • 某些对上课设施有特殊要求的课程,也不可以安排在同一时间。 • 为了方便开展一些全校性的活动,有些时段不安排课程。 • 受到教室数量的限制,在同一时段无法安排太多的课程。
模型建立
• 以每个课程为顶点,任何两个顶点之间连一条边当且仅当两门课 程的任课老师为同一人,或有学生同时选了这两门课或上课教室 冲突。
• 那么一个合理的课程安排就是将图中的点进行分化,使得每一个 部分里的点为一个独立集。
• 通过极小覆盖找出图中的极 大独立集,然后删去该极大 独立集,在剩下的图中找出 极大独立集,直到剩下的图 为一个独立集。
匈牙利算法
• 饱和点: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

数学建模中图论方法

数学建模中图论方法
的一个完备匹配,此时若 V1 V2 ,则称M为V1到V2的一个 完备匹配;若V1 V2 M ,则称M是G的一个完美匹配.
第15页/共39页
数学建模中的图论方法----综合例题
3.综合例题 例1 证明任意六个人的集会上,总会有三人互相认识或 者不认识. 证明 这是1947年匈牙利数学竞赛出的一道试题,因为它 很有趣且很重要,后来曾收录到《美国数学月刊》及其它 数学刊物上。这类问题可以转化为图论中的完全图染色问 题.
最低。 数学模型:在一个连通加权图上求权最小的连通生成
子图,显然,即求权最小的生成树,称最小生成树。
Kruskal算法(避圈法)1956年
设G为由n个顶点、m条边构成的加权连通图。先将G中
所有的边按权的大小次序进行排列,不妨
设e1 e2 em ,
ⅰ k 1, A ;
ⅱ 若Ae 导出的子图不含回路,则A Ae;
从它们所在的结点出发,走过图中的所有边最后到达结
点e处。如果他们的速度相同,问谁先到达目的地?
第12页/共39页
数学建模中的图论方法----图论的基础知识
哈密尔顿回路,起源于一个名叫“周游世界”的游戏, 它是由英国数学家哈密尔顿(Hamilton)于1859年提出的。 他用一个正十二面体的20个顶点代表20个大城市(图 (a)),这个正十二面体同构于一个平面图(图(b))。要
a
b
f
a
b
e
c
e
d
c
d
(1)
第11页/共39页
(2)
数学建模中的图论方法----图论的基础知识 a
D
E
b
e
C
F
G
A
B
c
d

数学建模图论模型

数学建模图论模型
若将图G的每一条边e都对应一个实数Fe,则称 F(e)为该边的权,并称图G为赋权图(网络), 记为 G = <V, E , F>。
任意两点均有通路的图称为连通图。
连通而无圈的图称为树,常用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)也是不允许

数学建模——图论篇

数学建模——图论篇

软件学院
图论原理 一. 图的概念 一个图 G=<V(G),E(G)>, 其中结点集V(G):是G的结 点的非空集合.(V(G)≠Φ),简记成V;边集E(G):是 G的边的集合. 有时简记成E. 结点: 用 表示, 旁边标上该结点的名称. 边:有向边:带箭头的弧线.从u到v的边表示成(u,v) 无向边:不带箭头的弧线.u和v间的边表示成(u,v)
v3
软件学院
图论原理
回路:如果一条路的起点和终点是一个结点,则称此路 是一个回路. 如果一条路中所有边都不同,则称此路为迹或简单通路. 如果一条回路中所有边都不同,则称此回路为闭迹或简 单回路. 如果一条路中所有结点都不同,则称此路为基本通路. 如果一条回路中所有结点都不同,则称此路为基本回路. 一条基本通路一定是简单通路,但是一条简单通路不 一定是基本通路

图论原理
图的同构 设G=<V,E>和G’=<V’,E’>是图,如果存在双射f:VV’ 且任何 vi,vj∈V,若边(vi,vj)∈E,当且仅当 边(f(vi),f(vj))∈E’, (则称G与G’同构,记作G≌G’. (同构图要保持边的“关联”关系) 例如:右边所示的两个图: a b 1 4 G=<V,E> G’=<V’,E’> c d 3 2 构造映射f:VV’ a 1 b 2 c 3 d 4 a 1 b 2 c 3 d 4
软件学院
图论原理
2.汉密尔顿图的判定: 到目前为止并没有判定H图的充分必要条件. 定理1 (充分条件):G是完全图,则G是H图.

K2

K3

K4


K5
定理2(充分条件)设G是有n(n>2)个结点的简单图,若对G中每 对结点度数之和大于等于n,则G有一条H路(H回路)。

数学建模中的图论方法

数学建模中的图论方法

数学建模中的图论方法一、前言我们知道,数学建模比赛中有问题A和问题B。

一般而言,问题A是连续系统中的问题,问题B是失散系统中的问题。

因为我们在大学数学教育内容中,连续系统方面的知识的比率较大,而离散数学比率较小。

所以好多人有这样的感觉,A题下手快,而B题不好下手。

其他,在有限元素的失散系统中,相应的数学模型又可以区分为两类,一类是存在有效算法的所谓P类问题,即多项式时间内可以解决的问题。

但是这种问题在MCM中特别少见,事实上,由于比赛是开卷的,参照有关文件,使用现成的算法解决一个P类问题,不可以显示参赛者的建模及解决实诘问题能力之大小;还有一类所谓的NP问题,这种问题每一个都还没有成立有效的算法,或许真的就不行能有有效算法来解决。

命题经常以这种NPC问题为数学背景,找一个详细的实质模型来考验参赛者。

这样增添了成立数学模型的难度。

但是这也其实不是说没法求解。

一般来说,因为问题是详细的实例,我们可以找到特其他解法,或许可以给出一个近似解。

图论作为失散数学的一个重要分支,在工程技术、自然科学和经济管理中的好多方面都能供给有力的数学模型来解决实诘问题,所以吸引了好多研究人员去研究图论中的方法和算法。

应当说,我们对图论中的经典例子或多或少仍是有一些认识的,比方,哥尼斯堡七桥问题、中国邮递员问题、四色定理等等。

图论方法已经成为数学模型中的重要方法。

好多灾题因为归纳为图论问题被奇妙地解决。

并且,从历年的数学建模比赛看,出现图论模型的频次极大,比方:AMCM90B-扫雪问题;AMCM91B-找寻最优Steiner树;AMCM92B-紧迫修复系统的研制(最小生成树)AMCM94B-计算机传输数据的最小时间(边染色问题)CMCM93B-足球队排名(特点向量法)CMCM94B-锁具装箱问题(最大独立极点集、最小覆盖等用来证明最优性)CMCM98B-灾情巡视路线(最优回路)等等。

这里面都直接或是间接用到图论方面的知识。

图论及在数学建模中的应用

图论及在数学建模中的应用

加权中心为点 B
A 1.5 2 E 2 F
B 2.5 3
3.5 3 G
C 3 2
2
D
H
最短路问题的变种 1. 最可靠路
在通信网络中,已知各段线路的可靠性,求指定两 点间可靠性最大的线路,其中一条线路的可靠性是 其上各段线路的可靠性之积。
用图 G = (V , E) 表示网络,设线路 e (G 的一条边)的可 靠性为 p(e ) (0 p(e ) 1) ,给 e 定义权 w(e) ln p(e) , 则 G 的一条路 P 的权
G
G'
G''
G' 和 G'' 都是 G 的生成子图。
图 G 的一条点与边的交替序列 P v0 e1v1e2 v 2 ek v k 称为路,其中 ei {v i 1 , v i } (1 i k ) .
边数 k 称为路 P 的长度。 当 v0 = vk 时,称 P 为回路。除 v0 = vk 外,点不重复的 回路称为圈。
(3) 设 l (v k ) min {l (v )| v S },令 S S {v k },i k, 转 (2)。
注: v S 时,l (v ) 表示 v s 至 v 的最短路长 ; v S 时,l (v ) 是 v s 至 v 的最短路长的一个上界 ; 最短路径可以通过反向跟踪获得,即若 l(u) + w(u,v) = l(v) ,则 u 是 v 的紧前点。
v3 v5 v7
从 v1 出发,按广度优先访问到的 点序列为 v1v 2v 3v4v5v6v7 ;
按深度优先访问到的点序列为 v1v 3v5v7 v6v4v 2 。
v1
v2

数学建模中的图论算法及其应用研究

数学建模中的图论算法及其应用研究

数学建模中的图论算法及其应用研究引言:数学建模是指利用数学方法和技巧对实际问题进行分析、抽象、描述、求解和预测的一种研究方法。

图论作为数学建模中的重要工具之一,被广泛应用于各个领域,如网络分析、交通规划、社交网络等。

本文将介绍数学建模中常用的图论算法,并探讨它们在实际问题中的应用。

一、图论基础知识1.1 图的概念图是由一些点和连接这些点的边组成的集合。

点表示图中的实体或对象,边表示实体之间的关系。

图包含了很多重要的信息,例如节点的度、连通性等。

1.2 图的表示方法图可以用邻接矩阵或邻接表来表示。

邻接矩阵是一个二维矩阵,其中的元素表示节点之间是否相连。

邻接表是一个由链表构成的数组,数组的每个元素表示一个节点,每个节点的链表存储了与该节点相连的节点列表。

二、图的遍历算法2.1 深度优先搜索(DFS)深度优先搜索是一种用于图的遍历的算法。

从一个节点出发,递归地访问它的相邻节点,直到所有可达的节点都被访问过为止。

DFS可以用于寻找连通分量、路径搜索等问题。

2.2 广度优先搜索(BFS)广度优先搜索是另一种图的遍历算法。

从一个节点出发,依次访问它的相邻节点,然后再依次访问相邻节点的相邻节点。

BFS可以用于寻找最短路径、网络分析等问题。

三、最短路径算法3.1 Dijkstra算法Dijkstra算法用于寻找图中两个节点之间的最短路径。

它基于贪心策略,从起点开始逐步扩展最短路径,直到到达终点或无法扩展为止。

Dijkstra算法在交通网络规划、电力网络优化等领域有广泛应用。

3.2 Floyd-Warshall算法Floyd-Warshall算法用于寻找图中所有节点之间的最短路径。

它通过动态规划的思想,逐步更新每对节点之间的最短路径。

Floyd-Warshall算法在地理信息系统、通信网络等领域有重要应用。

四、最小生成树算法4.1 Prim算法Prim算法用于寻找连通图的最小生成树。

它从一个起始节点开始,逐步选择与当前生成树距离最近的节点,并将其加入最小生成树中。

数学建模图论讲

数学建模图论讲
如果任两顶点间最多有一条边,且每条边的两个端点皆 不重合的图,则称为简单图。
第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页
数学建模-图论
二、图的矩阵表示(应用实例及解法分析)

数学建模-图论篇

数学建模-图论篇

data
firstarc
nextvex
边结点表中的结点的表示:
data:结点的数据场,保存结点的 数据值。
firstarc:结点的指针场,给出自该 结点出发的的第一条边的 边结点的地址。
nextvex:结点的指针场,给出该结 点的下一结点的地址。
info:边结点的数据场,保存边的 权值等。
adjvex:边结点的指针场,给出本
2C 3D
20 30 ∧
data firstin firstout
tailvex headvex hlink tlink
0
1
02

31∧
2
3
∧∧
3 2 ∧∧
图的存储结构
4、邻接多重表
•结点表中的结点的表示

data
firstedge
data:结点的数据域,保存结点的 数据值。
firstedge: 结点的指针域,给出自该
A
B
E
表示成右图矩阵
C
D
011 00 100 11 1000 1 0100 1 0111 0
图的存储结构
1、邻接矩阵和加权邻接矩阵(labeled adjacency matrix)(续)
•有向图的加权邻接矩阵
设有向图具有 n 个结点,则用 n 行 n 列的矩阵 A 表示该有向图;
并且 A[i,j] = a , 如果i 至 j 有一条有向边且它的权值为a。A[i,j] =无穷,如果 i 至 j 没有一条有向边。
邻接表
十字链表
邻接多重表
1、邻接矩阵和加权邻接矩阵(labeled adjacency matrix) •无权值的有向图的邻接矩阵
设有向图具有 n 个结点,则用 n 行 n 列的布尔矩阵 A 表示该有向图;

图论在数学建模中应用

图论在数学建模中应用

数 学 建 模
算法步骤:
• 第一步:任取
v0 V (G),令 l (v0 ) 0, l (v) (v v0 ),

S0 {v0 }, S 0 V (G) \ S0 , T0 v0 , i 0.
• 第二步:对 v S i , ,若 w(vi v) l (v), ,则令
数 学 建 模

5
V2
V3
1
V5
1
V1
2 8
4
6
2
V4
数 学 建 模
G中从v 0 到其余各点的最短路
Dijkstra算法步骤

• 第一步:令 l v0 0 , l v v v0 S v0 S V \ S i 0 。 • 第二步:对每个v S 令 l v0 min l v , l vi vi v
取 v* S 使得 l v* minl v
vs
记 vi 1 v
*
令 S S vi 1, S V \ S • 第三步:令 i i 1 如果 i v 1 ,则停止,输出各 点标号并反向追溯最短路;否则,转第二步。
数 学 建 模
• 算法中步骤(1)和(3)是清楚的,现在对2给以说明。 • l (v) 表示从v0 到 v i的不包含 s中其它结点的最短通路 的长度,但 l (vi ) 不一定是从 v0 到 vi 的距离,因为从 v0 到 vi 可能有包含 s中另外结点的更短通路。 l (v • 首先我们证明“若v i 是s 中具有最小 ) 值的结点,则
数 学 建 模
Floyd算法
算法的基本步骤 (1)输入权矩阵 D (0) D
(k 1,2,, n) (2)计算 (k ) ( k 1) ( k 1) ( k 1) 其中 dij min[dij , dik dkj ]

数学建模之图论模型讲解

数学建模之图论模型讲解

过河问题:摆渡人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 ] .

数学建模常用算法

数学建模常用算法
图论方法:
最短路问题:两个指定顶点之间的最短路径—给出了一个连接若干个城镇的铁路网络,在这个网络的两个指定城镇间,找一条最短铁路线 (Dijkstra算法 )每对顶点之间的最短路径 (Dijkstra算法、Floyd算法 )。
最小生成树问题:连线问题—欲修筑连接多个城市的铁路设计一个线路图,使总造价最低(prim算法、Kruskal算法 )。
图的匹配问题:人员分派问题:n个工作人员去做件n份工作,每人适合做其中一件或几件,问能否每人都有一份适合的工作?如果不能,最多几人可以有适合的工作?(匈牙利算法)。
遍历性问题:中国邮递员问题—邮递员发送邮件时,要从邮局出发,经过他投递范围内的每条街道至少一次,然后返回邮局,但邮递员希望选择一条行程最短的路线
时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列—通过对预测目标自身时间序列的处理,来研究其变化趋势(长期趋势变动、季节变动、循环变动、不规则变动)
自回归模型:一般自回归模型AR(n)—系统在时刻t的响应X(t)仅与其以前时刻的响应X(t-1),…, X(t-n)有关,而与其以前时刻进入系统的扰动无关 ;移动平均模型MA(m)—系统在时刻t的响应X(t) ,与其以前任何时刻的响应无关,而与其以前时刻进入系统的扰动a(t-1),…,a(t-m)存在着一定的相关关系 ;自回归移动平均模型 ARMA(n,m)—系统在时刻t的响应X(t),不仅与其前n个时刻的自身值有关,而且还与其前m个时刻进入系统的扰动存在一定的依存关系 。
这些方法可以解一些模型:优化模型、微分方程模型、统计模型、概率模型、图论模型、决策模型。
拟合与插值方法(给出一批数据点,确定满足特定要求的曲线或者曲面,从而反映对象整体的变化趋势): matlab可以实现一元函数,包括多项式和非线性函数的拟合以及多元函数的拟合,即回归分析,从而确定函数; 同时也可以用matlab实现分段线性、多项式、样条以及多维插值。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学建模中的图论方法一、引言我们知道,数学建模竞赛中有问题A和问题B。

一般而言,问题A是连续系统中的问题,问题B是离散系统中的问题。

由于我们在大学数学教育内容中,连续系统方面的知识的比例较大,而离散数学比例较小。

因此很多人有这样的感觉,A题入手快,而B题不好下手。

另外,在有限元素的离散系统中,相应的数学模型又可以划分为两类,一类是存在有效算法的所谓P类问题,即多项式时间内可以解决的问题。

但是这类问题在MCM中非常少见,事实上,由于竞赛是开卷的,参考相关文献,使用现成的算法解决一个P类问题,不能显示参赛者的建模及解决实际问题能力之大小;还有一类所谓的NP问题,这种问题每一个都尚未建立有效的算法,也许真的就不可能有有效算法来解决。

命题往往以这种NPC问题为数学背景,找一个具体的实际模型来考验参赛者。

这样增加了建立数学模型的难度。

但是这也并不是说无法求解。

一般来说,由于问题是具体的实例,我们可以找到特殊的解法,或者可以给出一个近似解。

图论作为离散数学的一个重要分支,在工程技术、自然科学和经济管理中的许多方面都能提供有力的数学模型来解决实际问题,所以吸引了很多研究人员去研究图论中的方法和算法。

应该说,我们对图论中的经典例子或多或少还是有一些了解的,比如,哥尼斯堡七桥问题、中国邮递员问题、四色定理等等。

图论方法已经成为数学模型中的重要方法。

许多难题由于归结为图论问题被巧妙地解决。

而且,从历年的数学建模竞赛看,出现图论模型的频率极大,比如:AMCM90B-扫雪问题;AMCM91B-寻找最优Steiner树;AMCM92B-紧急修复系统的研制(最小生成树)AMCM94B-计算机传输数据的最小时间(边染色问题)CMCM93B-足球队排名(特征向量法)CMCM94B-锁具装箱问题(最大独立顶点集、最小覆盖等用来证明最优性)CMCM98B-灾情巡视路线(最优回路)等等。

这里面都直接或是间接用到图论方面的知识。

要说明的是,这里图论只是解决问题的一种方法,而不是唯一的方法。

本文将从图论的角度来说明如何将一个工程问题转化为合理而且可求解的数学模型,着重介绍图论中的典型算法。

这里只是一些基础、简单的介绍,目的在于了解这方面的知识和应用,拓宽大家的思路,希望起到抛砖引玉的作用,要掌握更多还需要我们进一步的学习和实践。

二、基本概念和性质首先给出图论中的一些基本概念。

1.一个图G由一个顶点集V和一个边的集E组成。

E中每个元素e是连接顶点集V中两个顶点u和v的边,称e与u,v关联。

我们规定连接两个顶点u、v至多有一条边,且一条边的两个顶点不重合,这种图称为简单图。

2.顶点集为V,边集为E的图G通常记为G=(V,E)。

图G1=(V1,E1)称为G的子图,如果V1V,E1E。

3.顶点v的度(或“次”)是指与v相关联的边的个数。

图G的度数之和为边数的两倍。

4.若图G中任意两个顶点u、v之间都存在连接它们的路,称G为连通图。

5.W=v0e1v1e2……ekvk,其中ei E,vj V,ei与vi-1,vi关联,称W是图G的一条道路。

v0是起点,vk是终点;各边相异的道路叫做行迹,各顶点相异的道路叫做轨道;起点和终点重合的道路为回路;起点和终点重合的轨道为圈;包含图中每条边的回路称为Euler回路;含Euler 回路的图称为Euler图。

6.一个无圈的连通图称为树。

树是最简单而最重要的一类图。

树有下列重要性质:性质:1)在树中去掉任意一条边,所得的图是不连通的。

2)在树中任意两个不相邻的顶点u、v之间添加一条新的边,所得的图恰有一个圈。

下述定理是树的判断定理:定理:若图G具有下列性质中的两条,则它是树,且也具有第三条性质。

(1).G是连通图;(2).G没有圈;(3).G的顶点数=G的边数+1。

7.如果图G=(V,E)的子图G t=(V t,E t)是一个树,且V t=V,称G t是G的生成树。

G连通的充要条件是G有生成树。

生成树一般而言数量很大。

8.设对图G=(V,E)的每一条边e赋予一个实数W(e),称为e的权,G称为赋权图(加权图)。

假设G是连通的赋权图,要找G的连通子图G *=(V,E*),使得W(G*)=∑∈Eee W) (为最小。

显然G*应为G的一个生成树。

G的权最小的生成树称为G的最小生成树。

三、算法介绍3.1 最短轨道问题背景:给定连接若干城市的铁路网,寻求从指定城市v0到各城v去的最短道路。

数学模型:图G为一赋权图,对任给的v V(G),寻求轨道P(v0,v),使得W(P(v0,v))=min{W(P),P取自所有v0到v的轨道集合}其中W(P)是轨道P上各边权之和。

这一问题可用迪克斯特拉(Dijkstra)算法解决。

基本思想:从起点v0开始,逐步寻找到达各点的最短路,在每一步都对顶点记录一个数,称之为该点的标号,它表示v0到该点的最短距离的上界,或就是v0到该点的最短距离。

实际上每一步都通过把至少一个具有T标号的点变成P标号(即把一个不是最短距离标号的顶点变成是最短距离标号的顶点),这样最多经过|V(G)|-1步就可完成。

步骤:记l(v)为v0到v的距离。

(1) l(v0)=0,l(v) = ,(v v0);S0={v0},i=0。

(2) 对v Si,min{l(v),l(vi)+w(viv)}代替l(v);这样找到点vi+1使得l(v)取最小值,v(i+1)(Si 的余集)。

令S(i+1)=Si+{v(i+1)}。

(3) i=|V(G)|-1时停止,否则,i+1,转到(2)。

实例:CMCM94A-公路选址问题。

3.2 求最小生成树1.克罗斯克尔(Kruskal)算法(1956年),俗称“避圈法”背景:筑路选线问题欲修筑连接n个城市的铁路,已知i城与j城之间的铁路造价为Cij。

设计一个线路图,使总造价最低。

分析:选线问题的数学模型是在连通加权图上求权最小的连通生成子图。

显然,权最小的连通生成子图是一个生成树,即求取连通加权图上的权最小的生成树,这就归结为最小生成树问题。

这个问题可由克罗斯克尔(Kruskal)算法解决。

思路:从“边”着手选最小生成树。

步骤:设G为由m个节点组成的连通赋权图。

(1) 先把G中所有的边按权值大小由小到大重新排列,并取权最小的一条边为树T中的边。

即选e1E,使得w(e1)=min。

(2) 从剩下的边中按(1)中的排列取下一条边。

若该边与前面已取进T中的边构成一个回路,则舍弃该边,否则也把它取进T中。

若e1,e2,…,ei已经选好,则从E-{e1,e2,…,ei}中选取ei+1,使得G[{e1,e2,…,ei,ei+1}]中无圈,且w(ei+1)=min。

(3) 重复步骤(2),直到T中有m-1条边为止。

则T为G的最小生成树。

该算法的复杂度为O(e log e),其中e是图G中的边数。

2.普莱姆(Prim)算法思路:从点入手来选边步骤:(1) 在图G中任取一个节点vi1,并放入T中。

(2) 令S=V(G)/V(T),V(G)、V(T)分别是G、T的节点集。

(3) 在所有连接V(T)节点与S节点的边中,选出权值最小的边(u0,v0),即w(u0,v0)=min{w(u,v)|u V(T), v S}。

(4) 将边(u0,v0)放入T中。

(5) 重复步骤(2)-(4),直到G中节点全部取完。

该算法的复杂度为O(n^2),其中n为图G的节点数。

3.1975年管梅谷提出的“破圈法”3.3 Steiner生成树实际背景:在已有网络上选择连通几个城市的最廉价交通或通讯网。

数学模型:从已知的加权连通图上求取最小的树状子图,使此树包含指定的顶点子集。

第一个的边长为3,第二个的边长为1,总费用第二个更少。

分析:与传统的最小生成树相比,这里可以引入若干“虚拟站”并构造一个新的Steiner树,这样可以降低由一组站生成的传统的最小生成树所需的费用(降低的费用大概为13.4%)。

而且为构造一个有n个顶点的网络的费用,最低的Steiner树决不需要多于(n-2)个虚设站。

当然,有时最小Steiner 生成树与最小生成树相同。

寻求最小Steiner生成树的算法有Melzak算法(1961年),但是这是一个指数时间的算法,现在没有多项式时间的算法,换句话说它是一个NP问题。

而且,这里的要求是用直折线代替欧氏直线距离,因而不能利用直接的算法。

所以在解决这样的问题的时候,为减少运算的时间,理论上的分析是必要的:比如树的长度的下界,Steiner树的存在性,虚设站的位置等等。

常用的算法还包括穷举法、模拟退火法等。

Melzak算法:其基础是3点steiner树,即3点Fermat问题的几何作图法。

参考[2],Page375。

模拟退火法原理:模拟退火法(Simulated annealing, SA)是模拟热力学中经典粒子系统的降温过程,来求解极值问题。

当孤立粒子系统的温度以足够慢的速度下降时,系统近似处于热力学平衡状态,最后系统将达到本身的最低能量状态,即基态,这相当于能量函数的全局极小点。

其步骤如下(也称为Metropolis过程):(1)给定初始温度T0,及初始点,计算该点的函数值f(x)。

(2)随机产生扰动Δx,得到新点x′=x+Δx,计算新点函数值f(x′),及函数值差Δf=f(x′)-f(x)。

(3)若Δf≤0,则接受新点,作为下一次模拟的初始点;(4)若Δf>0,则计算新点接受概率:,产生[0,1]区间上均匀分布的伪随机数r,r∈[0,1],如果p(Δf)≥r,则接受新点作为下一次模拟的初始点;否则放弃新点,仍取原来的点作为下一次模拟的初始点。

模拟退火法实例:1.MCM91B(通讯网络中的极小生成树)是一个求STEINER生成树问题,参见《工科数学专辑》Page:70-78。

2、CMCM 97A题97年全国大学生数模竞赛A题“零件的参数设计”,可以归结为非线性规划模型,由于目标函数很复杂,且又是一个多维函数,因此求解比较困难,为应用模拟退火法进行求解,将7个自变量的取值范围进行离散化,取步长为0.0001,这样,所有7个变量取值就组成了一个极为庞大的离散空间, 而这个问题变成组合优化模型。

这个问题算法的状态调整规则是:每次从7个自变量中随机选取1-4个,让选取的自变量随机移动,考虑选取的自变量在两个方向移动组合,从中选取最佳的作为候选者,自变量移动的距离随着温度的降低而减少,为避免陷入局部极小,可以从多个随机选取的初始值开始计算,算法的其它步骤同上。

3、CMCM 98B题98年全国大学生数学建模竞赛B题“水灾巡视问题”,是一个推销员问题,本题有53个点,所有可能性大约为exp(53),目前没有好方法求出精确解,既然求不出精确解,我们使用模拟退火法求出一个较优解,将所有结点编号为1到53,1到53的排列就是系统的结构,结构的变化规则是:从1到53的排列中随机选取一个子排列,将其反转或将其移至另一处,能量E自然是路径总长度。

相关文档
最新文档