13
文文文 文文文文文文文 数数数数数数数数 数数 《》 数6数 数数数数数数

第 6 章 图与网络模型

Embed Size (px)

DESCRIPTION

第 6 章 图与网络模型. 最短路径问题. 例:求以下带权图从 V0 到 V6 最短路径。. 权值表示两点之间的长度. 邻接矩阵 M. 求最短路已有成熟的算法:迪杰斯特拉( Dijkstra )算法 。具体可见数据结构或者图论方面的参考书。 数学规划方法,用 Lingo 解决:. 起点多一条边出去. 终点多一条边进入. 其他点进入的边数等于出去的边数. 12. 2. 100. 1. 7. 4. 8. 13. 5. 3. 最大流问题. 例:求以下带权有向图从 V1 到 V4 的最大流。. 权值表示两点之间的流量限制. 12. 2. 100. - PowerPoint PPT Presentation

Citation preview

文法系 高等数学教研室

《数学建模》多媒体课件

第 6 章 图与网络模型

最短路径问题

例:求以下带权图从 V0到 V6最短路径。

V0 V3 V6

V5

V4V1

V2

1

5

4 4

3

2

4

652

V0 V3 V6

V5

V4V1

V2

1

5

4 4

3

2

4

652

0 1 4 5 0 0 0

1 0 0 2 0 0 0

4 0 0 4 0 3 0

5 2 4 0 5 2 0

0 0 0 5 0 0 6

0 0 3 2 0 0 4

0 0 0 0 6 4 0

邻接矩阵 M 权值表示两点之间的长度

• 求最短路已有成熟的算法:迪杰斯特拉( Dijkstra )算法。具体可见数据结构或者图论方面的参考书。

• 数学规划方法,用 Lingo解决:

1 1

1 1

min

1, 1

: 1,

0, 1,

0 1

n n

ij iji j

n n

ij jij j

ij

z c x

i

st x x i n

i n

x

 

 

 

    或

起点多一条边出去

终点多一条边进入

其他点进入的边数等于出去的边数

V0 V3 V6

V5

V4V1

V2

1

5

4 4

3

2

4

652

V0 V3 V6

V5

V4V1

V2

1

5

4 4

3

2

4

652

最大流问题

例:求以下带权有向图从 V1到 V4的最大流。

权值表示两点之间的流量限制

14

2

3

12

13

7

100

8

5

• 求最大流已有成熟的算法:标号法 ( Ford-Fulkerson 算法)。具体可见图论方面的参考书。

• 数学规划方法,用 Lingo 解决:

1 1

max

, 1

: ,

0, 1,

0

f

fn n

ij ji fj j

ij ij

v

v i

st x x v i n

i n

x c

 

 

 

   

除去源点和汇点的流量等于网络总流量之外,其他点所有流入的流量和流出的流量相等。

14

2

3

12

13

7

100

8

5

最小生成树问题

例:求以下带权图的最小生成树。

3

1

2

4

76

59

3

1

2

5

• 求最小生成树已有成熟的算法: prim 算法和 Kruskal 算法。具体可见图论方面的参考书。

• 数学规划方法,用 Lingo 解决:

1 1

11

1

min

: 1

1, 1

0 1

n n

ij iji j

n

jj

n

jij

ij

z c x

st x

x i

x

   

  或

根至少有一条边连接到其他点

除根外 ,每个点只有一条边进入

3

1

2

4

76

59

旅行商 (TSP)问题

• 一名推销员准备前往若干城市推销产品,然后回到他的出发地。如何为他设计一条最短的旅行路线(从驻地出发,经过每个城市恰好一次,最后返回驻地)?

3

1

2

4

76

59

• 旅行商问题图论中没有成熟的算法,有改良圈算法,但几乎不能找到最优解。

• 数学规划方法,用 Lingo 解决:

1 1

1

1

min

: 1, 1,2, ,

1, 1, 2, ,

1, 2

0 1, , 1,2, ,

0, 2,3, ,

n n

ij iji j

n

ijj

n

jij

i j ij

ij

i

z c x

st x j n

x i n

u u nx n i j n

x i j n

u i n

=  

    =  

     

  或  

   

每个点只有一条边出去

每个点只有一条边进入除起点和终点外,

不构成回路。

只能在有哈密顿回路的情况下。

3

1

2

4

76

59

关键路径问题

• 如下图,某个项目由 4个作业(边)完成,每项作业需要一定时间(边的权值)完成,并且每项作业都需要在一定的状态(顶点)下才能开始,即要完成所有先行作业(所有进入该顶点的边)。求完成这个项目的最短时间。

• 无回路有向赋权图中的最长路径:关键路径。

14

2

3

12

13

7

100

• 关键路径问题图论中已有成熟的算法,具体可见数据结构或者图论方面的参考书。

• 数学规划方法,用 Lingo解决:

,

1

min

: , 0, , 1,2, ,

0, 0, 1,2, ,

n

j i ij i j

i

z x

st x x t t i j n

x x i n

   

   

设 xi 是作业 i 的开始时间。目标:最后一个作业的

开始时间最小。1

4

2

3

12

13

7

100

关键路径问题

• 为了得到每个作业的最早开工时间和最迟开工时间,可更改模型如下:

1

,

1

min

: , 0, , 1, 2, ,

0, 0, 1,2, ,

n

ii

ij j i ij i j

ij

i

z x

st s x x t t i j n

s

x x i n

   

  0

   

全部作业的开始时间最小

当 sij>0 时,说明对应的作业的开始时间可以推迟 sij ,从而得到每个作业 i 的最迟开工时间。

关键路径还可以看成最长路,用求最短路径的方法来求解。

14

2

3

12

13

7

100

图论其他问题

• 图的遍历:深度优先,广度有限• 平面图 ,着色问题• 二分图• 树:二叉树,二叉树遍历,编码,表达式