自来水管道规划模型 数学建模.docx

上传人:b****9 文档编号:25430280 上传时间:2023-06-08 格式:DOCX 页数:13 大小:100.14KB
下载 相关 举报
自来水管道规划模型 数学建模.docx_第1页
第1页 / 共13页
自来水管道规划模型 数学建模.docx_第2页
第2页 / 共13页
自来水管道规划模型 数学建模.docx_第3页
第3页 / 共13页
自来水管道规划模型 数学建模.docx_第4页
第4页 / 共13页
自来水管道规划模型 数学建模.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

自来水管道规划模型 数学建模.docx

《自来水管道规划模型 数学建模.docx》由会员分享,可在线阅读,更多相关《自来水管道规划模型 数学建模.docx(13页珍藏版)》请在冰豆网上搜索。

自来水管道规划模型 数学建模.docx

自来水管道规划模型数学建模

 

自来水管道连接规划模型

 

摘要

现代日常生活中,需要通过自来水管道将自来水运输至各个用户处,本文主要分析讨论自来水管道连接规划问题,即在自来水管道铺设过程中在绕开障碍物的前提下的最优路径且自来水管道中各个供水点及用户以最短路径连接的问题。

排除障碍区域:

面积分析法即在二维坐标系上标定各点,障碍区域用由阴影覆盖的凸多边形表出,通过对点坐标之间的向量运算判定各点是否位于阴影区域。

最优路径规划:

通过Prim算法计算最小生成树,得出最优连接方案(prim算法:

在图G=(V,E)(V表示顶点,E表示边)中,从集合V中任取一个顶点(例如取顶点v0)放入集合U中,这时U={v0},集合T(E)为空。

2.从v0出发寻找与U中顶点相邻(另一顶点在V中)权值最小的边的另一顶点v1,并使v1加入U。

即U={v0,v1},同时将该边加入集合T(E)中。

3.重复2,直到U=V为止。

这时T(E)中有n-1条边,T=(U,T(E))就是一棵最小生成树)。

关键词:

管道连接面积法障碍点筛选Prim算法最小生成树

 

一.问题重述

自来水是人们日常生活中不可缺少的生活要素,然而自来水管网的组建却有很多问题需要解决。

一般来说,我们假设管网中任意两个用户之间存在直线段相连,但是在连接过程中,有些区域是必须绕开的,这些必须绕开的区域我们称为障碍区域。

表1给出了若干个可能的用户的地址的横纵坐标,可能的用户的含义是:

如果用户的地址不在障碍区域,那么该用户就是需要使用自来水的用户(即有效用户),否则如果用户的地址在障碍区域,那么该用户就是无效用户(即不要将该用户连接在网络中)。

表2-表5是分别是4个障碍区域必须要覆盖的点的坐标,而对应障碍区域就是覆盖这些要覆盖的点的最小凸集。

(1)请您判定表1中那些用户为有效用户。

(2)请设计一个算法将有效用户连接起来,并且连接的距离总和最小。

表1若干个可能的用户的地址的横纵坐标

可能的用户的序号

可能的用户横坐标

可能的用户纵坐标

1.0000

95.0129

58.2792

2.0000

23.1139

42.3496

3.0000

60.6843

51.5512

4.0000

48.5982

33.3951

5.0000

89.1299

43.2907

6.0000

76.2097

22.5950

7.0000

45.6468

57.9807

8.0000

1.8504

76.0365

9.0000

82.1407

52.9823

10.0000

44.4703

64.0526

11.0000

61.5432

20.9069

12.0000

79.1937

37.9818

13.0000

92.1813

78.3329

14.0000

73.8207

68.0846

15.0000

17.6266

46.1095

16.0000

40.5706

56.7829

17.0000

93.5470

79.4211

18.0000

91.6904

5.9183

19.0000

41.0270

60.2869

20.0000

89.3650

5.0269

21.0000

5.7891

41.5375

22.0000

35.2868

30.4999

23.0000

81.3166

87.4367

24.0000

0.9861

1.5009

25.0000

13.8891

76.7950

26.0000

20.2765

97.0845

27.0000

19.8722

99.0083

28.0000

60.3792

78.8862

29.0000

27.2188

43.8659

30.0000

19.8814

49.8311

31.0000

1.5274

21.3963

32.0000

74.6786

64.3492

33.0000

44.5096

32.0036

34.0000

93.1815

96.0099

35.0000

46.5994

72.6632

36.0000

41.8649

41.1953

37.0000

84.6221

74.4566

38.0000

52.5152

26.7947

39.0000

20.2647

43.9924

40.0000

67.2137

93.3380

41.0000

83.8118

68.3332

42.0000

1.9640

21.2560

43.0000

68.1277

83.9238

44.0000

37.9481

62.8785

45.0000

83.1796

13.3773

46.0000

50.2813

20.7133

47.0000

70.9471

60.7199

48.0000

42.8892

62.9888

49.0000

30.4617

37.0477

50.0000

18.9654

57.5148

51.0000

19.3431

45.1425

52.0000

68.2223

4.3895

53.0000

30.2764

2.7185

54.0000

54.1674

31.2685

55.0000

15.0873

1.2863

56.0000

69.7898

38.3967

57.0000

37.8373

68.3116

58.0000

86.0012

9.2842

59.0000

85.3655

3.5338

60.0000

59.3563

61.2395

61.0000

49.6552

60.8540

62.0000

89.9769

1.5760

63.0000

82.1629

1.6355

64.0000

64.4910

19.0075

65.0000

81.7974

58.6918

66.0000

66.0228

5.7581

67.0000

34.1971

36.7568

68.0000

28.9726

63.1451

69.0000

34.1194

71.7634

70.0000

53.4079

69.2669

71.0000

72.7113

8.4079

72.0000

30.9290

45.4355

73.0000

83.8496

44.1828

74.0000

56.8072

35.3250

75.0000

37.0414

15.3606

76.0000

70.2740

67.5645

77.0000

54.6571

69.9213

78.0000

44.4880

72.7509

79.0000

69.4567

47.8384

80.0000

62.1310

55.4842

81.0000

79.4821

12.1047

82.0000

95.6843

45.0754

83.0000

52.2590

71.5883

84.0000

88.0142

89.2842

85.0000

17.2956

27.3102

86.0000

97.9747

25.4769

87.0000

27.1447

86.5603

88.0000

25.2329

23.2350

89.0000

87.5742

80.4872

90.0000

73.7306

90.8398

91.0000

13.6519

23.1894

92.0000

1.1757

23.9313

93.0000

89.3898

4.9754

94.0000

19.9138

7.8384

95.0000

29.8723

64.0815

96.0000

66.1443

19.0887

97.0000

28.4409

84.3869

98.0000

46.9224

17.3900

99.0000

6.4781

17.0793

100.0000

98.8335

99.4295

 

表2障碍区域1必须要覆盖的点的坐标

顶点序号

顶点的横坐标

顶点的纵坐标

1

3.2060

12.9166

2

17.4571

19.3377

3

4.7576

20

表3障碍区域2必须要覆盖的点的坐标

顶点序号

顶点的横坐标

顶点的纵坐标

1

50

30

2

53.7465

48.4490

3

46.9222

57.1195

4

33.3207

39.8050

5

43.1123

56.3187

表4障碍区域3必须要覆盖的点的坐标

顶点序号

顶点的横坐标

顶点的纵坐标

1

54.6982

70

2

53.7465

90

3

46.9222

80

表5障碍区域4必须要覆盖的点的坐标

顶点序号

顶点的横坐标

顶点的纵坐标

1

90

75

2

80

95

3

70

80

 

二.问题分析

建立模型要达到的目的就是节省管道,即在满足每个有效用户用水的情况下,使得铺设的管道最短。

因此,自来水的管道问题可以看做是一个最优化问题,目标函数是求铺设的管道最短。

由实际可知不是每两个用户之间都可以用直线相连,必须绕开一些障碍物也就是所谓的障碍区,所以我们应该首先要解决的就是找出这些障碍区域,然后再判断所给出的点是否位于障碍区域,这样就筛选出了有效用户。

接下来就是要把剩下的点用直线连接起来,通过障碍区域的线段视为无效线段把其剔除,筛选出有效线段。

最后就是计算出这些有效线段的总和。

三.模型假设

3.1基本假设

1.假设任意两个用户之间均可用直线连接;

2.文中给出所有点的坐标值准确无误;

3.障碍区域就是障碍顶点围成的凸多边形区域;

4.有效用户都能通过自来水管道获得自来水供应;

5.要保证在任意两点间线段不过障碍区的情况下,求解连接形成的最短路径;

3.2符号和变量的说明

表6论文符号说明

符号

含义

X

记录100个用户点的坐标信息

A

障碍区1的各顶点坐标信息

B

障碍区2的各顶点坐标信息

C

障碍区3的各顶点坐标信息

D

障碍区4的各顶点坐标信息

SIGN

记录各用户点是否在障碍区,若在对应位置记为1;若不在,则对应位置记为0

INSIGN

记录在障碍区的用户点的序号

n

记录保留用户点的个数

NUM

记录任意两用户点之间可用线段连接起来且不过障碍区的线段

DIS

记录不在障碍区各用户点之间可用不过障碍区线段连接的线段的长度

EE

记录生成的最小生成树的各点及各线段信息

sum

表示产生的最小生成树中所有管道的总长

四.模型建立

5.1.问题一的模型建立

问题一是判断这100个点中哪些点属于有效点,即有效用户。

首先利用matlab做出这一百个点的相应位置的图,其代码见附录三

 

做出此图,分析可知:

要求出哪些用户为有效用户,可用面积法对其进行筛选。

这样就先得根据障碍区域的顶点坐标求出每个障碍区域的面积,然后求出各用户点与各障碍区域任意两个顶点所围成的三角形面积之和,比较面积,若两面积相等,则该点在障碍区域,视为无效点,即无效用户,否则用户点不在障碍区域,为有效用户。

根据障碍区的顶点坐标,可做出相应的图形,代码见附录三,图如下:

五.模型求解

5.1筛选有效用户

用面积法确定是否为有效点。

面积法的原理:

确定各障碍区的面积以及用户点与各障碍区任意两个定点构成的三角形的面积之和,比较上面两个面积,若相等,则该用户点在障碍区为无效用户,否则,用户点不在障碍区为有效用户。

运用向量的方法求解障碍区面积S

若障碍区是三角形,对应各顶点坐标分别为(x1,y1),(x2,y2),(x3,y3)。

则a=(x2-x1,y2-y1),b=(x3-x1,y3-y1)。

由于三角形面积S=|a|*|b|*sin/2,向量a,b外积的模长|a×b|=|a|*|b|*sin;则有S=|a×b|/2;

若障碍区为五边形,对应点为(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5)。

则划分成三个三角形,各三角形的顶点分别为(x1,y1),(x2,y2),(x3,y3);(x3,y3),(x4,y4),(x5,y5);(x1,y1),(x3,y3),(x5,y5)。

再用求三角形面积的方法求解即可。

筛选完毕的结果如下:

INSIGN=

4233699

n=

96

所以在障碍区的点的序号分别为:

4233699。

无效用户的信息为:

(4.0000,48.5982,33.3951);(23.0000,81.3166,87.4367);(36.0000,41.8649,41.1953);(99.0000,6.4781,17.0793);

有效用户的个数是:

96。

5.2有效线段的筛选

已筛选出有效用户,就要求出有效用户之间以最短的线段线段相连,但是这些线段必须是有效线段,若两用户之间以线段相连了,但是这条线段通过了障碍区域,此时,这条线段就是无效线段。

此时需要筛选出有效线段,首先要求出任意两个有效用户之间的直线与过各障碍区域任意两个顶点之间的直线的交点坐标,然后用向量法判断该交点是否在两用户的线段上和障碍区顶点为端点的线段上,若在,则为无效线段,否则为有效线段。

5.2.1运用矩阵的方法求解两直线之间的交点坐标

如果任意两个有效用户点的坐标分别为A、B,同一障碍区任意两个顶点坐标为M、N。

则由解线性方程组的方法有

,运用Matlab求解该线性方程组

=A\

5.2.2运用向量法判断线段是否为有效线段

若求得的交点坐标为P(x,y),则通过向量关系PM=

PN,可以求的

0,则该线段为有效线段;若

<0,则要考虑向量关系PA=

PB,若

0,则该线段为有效线段,否则,该线段为无效线段,生成的矩阵见附录四,在m矩阵中存储。

5.3利用Prim算法求最小生成树

学生实力有限,此步骤正凌乱进行中,以下为代码片段

functionMST=Prim_algo(G)

N=length(G);

MST=[];

k=0;

vis=zeros(1,N);

vis

(1)=1;

whilek

minw=inf;

u=0;v=0;

fori=[1:

N]

forj=[1:

N]

ifvis(i)==1&&vis(j)==0

ifG(i,j)

minw=G(i,j);

u=i;v=j;

end

end

end%forj

end%fori

vis(v)=1;

k=k+1;

MST(k,:

)=[uvminw];

%uvw=[uvminw]

end

六.模型检验 

计算最小生成树的长度sum,即该模型所生成的最小生成树的最短长度,即运用该模型进行自来水管道的连接所需要的自来水管长度最短。

七.模型的评价

可以在保证障碍区不变的情况下,任意改变用户点的信息,运用该模型同样可以求得连接自来水管道的最短长度。

且不需要过多改动,不需要人工进行修改计算的结果。

但是在障碍区变化的情况下,则需要较大改动。

九.参考书目 

 [1] 薛定宇,,《高等应用数学问题的Matlab求解》,清华大学,2008 .

十.附录

小组成员:

宫柏钰

卢双

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1