灾情巡视路线.docx

上传人:b****8 文档编号:9912254 上传时间:2023-02-07 格式:DOCX 页数:17 大小:1.37MB
下载 相关 举报
灾情巡视路线.docx_第1页
第1页 / 共17页
灾情巡视路线.docx_第2页
第2页 / 共17页
灾情巡视路线.docx_第3页
第3页 / 共17页
灾情巡视路线.docx_第4页
第4页 / 共17页
灾情巡视路线.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

灾情巡视路线.docx

《灾情巡视路线.docx》由会员分享,可在线阅读,更多相关《灾情巡视路线.docx(17页珍藏版)》请在冰豆网上搜索。

灾情巡视路线.docx

灾情巡视路线

灾情巡视路线的优化模型

摘要:

这是一个分组离散的网络图论问题,本文的主要思想是将巡视路线的设计分为两个部分:

首先生成一个可行的巡视路线,然后利用启发式算法对巡视路线进行调整;即利用prim算法得到最小生成树分组,然后将每棵树转化为求旅行商最短回路的MSTP问题,利用Dijkstra算法求得最短回路。

问题一中,首先给出了原图的最小生成树图,再根据树图进行了简单的分组,分别讨论出最短路线,由于题中要药均衡的巡视路线,因此引进均衡度,再进行综合考虑得出最后结论。

问题二中,首先在时间限制要求下,至少需要将原图划分为四个子图,再利用树状图大致划分出这四组,找出最优解。

问题三中,加上上给定的时间参数,完成巡视的最短时间受到单独巡视完离县城最远的乡(镇)或最远村所需时间得限制。

采用一题中图上Dijkstra算法,可以求得从县城到各点的最短距离,进而在分组细分,得出最优模型。

关键词:

灾情巡视路线;优化模型;数学模型;最小生成树

 

一、问题的提出

98年夏天某县遭受水灾,下图为该县的乡(镇)、村公路网示意图,公路边的数字为该路段的公里数。

为考察灾情、组织自救,县领导决定,带领有关部门负责人到全县各乡(镇)、村巡视。

巡视路线指从县政府所在地出发,走遍各乡(镇)、村,又回到县政府所在地的路线。

问题:

1、若分三组(路)巡视,试设计总路程最短且各组尽可能均衡的巡视路线。

2、假定巡视人员在各乡(镇)停留时间T=2小时,在各村停留时间t=1小时,汽车行驶速度V=35公里/小时。

要在24小时内完成巡视,至少应分几组;给出这种分组下你认为最佳的巡视路线。

3、在上述关于T,t和V的假定下,如果巡视人员足够多,完成巡视的最短时间是多少;给出在这种最短时间完成巡视的要求下,你认为最佳的巡视路线。

若巡视组数已定(如三组),要求尽快完成巡视,讨论T,t和V改变对最佳巡视路线的影响。

4、若巡视组数已定(如三组),要求尽快完成巡视,讨论T,t和V改变对最佳巡视路线的影响。

二、基本假设

(1)各巡视组的车的速度相同,且都为匀速行驶。

(2)各视组经过邻县的村及非本组巡视的乡(镇)或村时都只路过,不停留。

(3)巡视组都是从县政府出发,走遍各乡(镇)、村后,又回到县政府。

(4)巡视人员在各乡(镇)停留2小时,在各村停留1小时,汽车匀速行驶的速度为每小时35千米。

(5)巡视组在巡视时不考虑环境因素的影响,天气正常,无突发事件。

(6)各组在巡视过程中,路面正常、畅通,车均能正常行驶。

三、符号的说明

乡(镇)

A、B、C、...O、P、Q

1、2、3、...34、35

巡视组组数

组的最短路程

巡视人员在乡(镇)的巡视时间

T

巡视人员在村的巡视时间

t

汽车行驶速度

v

直接巡视完第j点所需要的时间

均衡度

四、建立模型与求解

3.1模型分析

问题一,只从路程上考虑,要使得总的路程最短且尽量分布均匀,即每组所走的路程尽量短且相差尽量小。

对于此问题我们先考虑大致分出各组的巡视路线,寻找较优的一些解;再从这些解中综合考虑使得每组所走路程相差不大的解,从中得出最优解。

由于原图较复杂,对于巡视组的大致划分,我们可以利用原图的最小生成树(县城为树根)原理,首先用破圈法找出从O到各个地方的最短路径的树图。

其次在对树图的树枝进行编号,最后讨论其分组:

将其大致划分为三个部分,得出最优方案找出最小生成树后从中寻求每个部分的最短路,最终比较得出最优解。

问题二,从时间上考虑,已知条件有T=2,t=1,汽车行驶速度V=35公里/小时,全县共17乡(镇)(除O外),34个村,仅停留时间共需

小时,若分为三组,每组平均用时需23小时,加上距离一定会大于24小时,所以用三组不能够在24小时内完成巡视。

故至少需要考虑分为四组,再利用树状图大致划分出这四组,找出最优解。

问题三:

考虑在时间限制条件下的最优解。

事实上是在时间参数条件下给定的,完成巡视的最短时间受到单独巡视完离县城最远的乡(镇)或最远村所需时间得限制。

采用一题中图上Dijkstra算法,可以求得从县城到各点的最短距离,进而在分组细分,得出最优模型。

3.2模型的建立与求解

本题的第一问,要求设计分三组巡视时使总路程最短且各组尽可能均衡的路线。

转化为在给定的加权网络图中寻找从

点出发,行遍所有顶点至少一次再回到

点,使得总路程最小的问题。

记三组的巡视路线长度从小到大分别为

则需要求解此问题的目标数学表达式关系为:

以及

但是由于这两个目标是相互矛盾的,即不可能同时达到最小;因此在求解时因注意在两者兼顾的条件下寻找最优解。

为了避免繁杂,我们将这两个目标表达式转换成另一个较合理的目标表达式:

根据前面的分析,首先运用破圈法找出从县政府通往各乡(镇)、村的最短路径,并对其分支编号,最后得出下图:

过程见附录程序1

图1

有上图容易将图大致分为三部分,要使得三组巡视时使总路程尽量最短,我们容易找到两种分法如下:

分法1:

(6,1),(2,3),(5,4)

如图:

分法1

对于分法一的求解:

组名

路线

路线长

总路线长

O-P-28-27-26-N-24-23-22-17-16-I-15-I-18-K-21-20-25-M-O

191.1

599.8

O-2-5-6-7-E-9-F-12-H-14-13-G-11-J-19-L-6-5-2-O

216.4

O-E-29-Q-30-32-31-33-35-34-A-1-B-C-3-D-3-2-O

192.3

 

分法2:

(1,2),(3,4),(5,6)

如下图:

分法2

对于分法二的求解:

组名

路线

路线长

总路线长

O-P-28-27-26-N-24-23-22-17-16-I-18-K-21-20-25-M-O

191.1

 

558.5

O-2-5-6-L-11-G-13-14-H-12-F-10-F-9-E-7-E-8-4-D-3-C-O

241.9

O-R-29-Q-30-32-31-33-35-34-A-B-1-O

125.5

对他们的求解过程详见附录中程序2

从以上两表可以得出,从总路程长度考虑应当选择方案二,但从路程的均衡方面看,应当选择方案一。

由此,我们引进衡量路程均衡的均衡度:

定义:

均衡度

对于分法一,均衡度

对于分法二,均衡度

显然分法二的均衡度很差,二分法一的均衡度较好,经综合考虑我们最终选择分法一方案。

即每组所走路程分别为:

191.1公里;216.4公里;192.3公里,总路程为599.8公里

对于第二问:

首先还是利用最小生成树的分解法,将原图分解成树图,如上题中的图1;

四组时同三组类似,首先我们把树图分成四部分,使得每组在自己的巡视区域中停留时间尽量相等,且让每组所走区域相对集中。

由于题中共有17个乡镇和35个村,停留时间共需要:

小时,因此每个组大约停留的时间为

小时

那么首先考虑区域的划分,使得每个组停留的时间在17小时左右,由这一条件,经综合分析后将原图大致划分为四个子图,如下图所示:

最后再考虑路程,其方法是通过增边、换边等策略来找尽量短回路,其回路如图所示:

各组巡视情况如下表:

组名

路线

路线长度

停留时间

行走时间

完成总时间

1

O-2-5-6-7-E-11-G-12-H-12-F-10-F-9-E-7-6-5-2-O

195.8

17

5.59

22.59

2

O-(R)-29-Q-30-Q-28-27-26-N-24-23-22-17-16-17-(R)

199.2

16

5.69

21.69

3

O-M-25-20-21-K-18-I-15-14-13-J-19-L-6-O

159.1

18

4.54

22.54

4

O-R-A-33-31-32-35-34-B-I-C-3-D-A-D-3-O

166

38

4.74

22.74

问题三

如下图所示:

在O点至所有点的最短距离中,O到H的距离最长,为77.5公里。

那么,可以从O点出发,沿最短路线到达H点巡视,然后原路返回,沿途经过的点一律不停,所用的时间为:

小时,H离O最远又代表县城,故这是在所给条件下完成的最短时间。

所以完成巡视至少要用6.43小时。

那么,根据这个时间限制再找出最佳巡视路线。

起作法如下:

(1)对于H点按上述最短路方法巡视,记为第一组;

(2)对第二组,从次远点考虑。

次远点为14点,时间为

小时,而

,可见,这一组还可以顺便巡视一个村,在这条路上13与14相邻,那么,巡视13点,时间为6.16小时。

如图:

(3)第三组,再从次远点15考虑,从O到15点的最短时间为

由于

,可见,这组可再巡视一村,从路中的相邻点中找出一伟巡视点18,因此所用时间为5.94小时。

如下图:

(4)第四组,再从次远点10考虑,从O到10点的最短时间为

由于

,可见,这组可再巡视一村,经过综合考虑选择出点8,因此所用时间为6.22小时。

如下图:

以后的各组可以类似地检验得出。

即对点

,计算出

,不再加点:

,则可以加一个村;若

,则可加乡或者村。

由此找,最后我们找出22组,其结果如下表:

组号

巡视路线

停留点

所用时间

1

O-2-5-6-7-E-9-F-12-H-12-F-9-E-7-6-5-2-O

H

6.43

2

O-2-5-6-L-19-J-13-14-13-J-19-L-6-5-2-O

14、13

6.16

3

O-M-25-21-K-18-I-15-I-K-21-25-M-O

15、18

5.94

4

O-2-5-6-7-E-8-E-9-F-10-F-9-E-7-6-5-2-O

10、8

6.22

5

O-M-25-21-K-17-16-17-K-21-25-M-O

16、17

5.445

6

O-2-5-6-7-E-9-F-12-6-11-E-7-6-5-2-O

12、11

5.845

7

O-M-25-21-K-21-20-25-M-O

K、20

5.867

8

O-2-5-6-7-E-11-G-11-E-7-6-5-2-O

G

5.582

9

O-M-25-21-K-18-I-18-K-21-25-M-O

I

5.49

10

O-2-5-6-L-19-J-19-L-6-5-2-O

J、19

6.102

11

O-2-5-6-7-E-9-F-9-E-7-6-5-2-O

F、9

6.148

12

O-2-5-6-L-6-5-2-O

L、6、5

6.228

13

O-2-5-6-7-E-7-6-5-2-O

E、7、2

6.382

14

O-M-25-21-25-M-O

21、M、25

6.262

15

O-P-26-N-23-22-23-24-N-26-P-O

22、23、24

6.30

16

O-P-26-N-26-27-26-P-O

27、26、N

6.23

17

O-R-29-Q-30-Q-28-P-O

Q、30、28

6.11

18

O-R-31-32-35-34-A-1-O

31、32、34、35

6.32

19

O-1-A-53-31-R-29-R-O

A、33、29

5.97

20

O-2-3-D-4-D-3-2-O

4、D、3

5.99

21

O-P-Q-R-O

P、R

5.32

22

O-1-B-C-O

1、B、C

5.98

五、模型评价

该模型做出了题中给出要求的一些较优的解,但没有找出每个模型的最优意义解,在寻找解时,采用的是图形,运用的是图论的一些基本方法,没有给出数学表达式的限制条件,而是采取直接从图中寻求优解。

参考文献

[1]钱颂迪主编,运筹学,清华大学出版社,1990年

[2]肖位枢主编,图论及其算法,航空工业出版社,1993年

[3]王树禾主编,数学模型基础,中国科学技术大学出版社,1996年

[4]叶其孝主编,大学生建模竞赛辅导教材,湖南教育出版社,1998年

 

附录

程序1,求最小生成树:

T=[];l=0;%l记录T的列数

q

(1)=-1;

fori=2:

n

p(i)=1;q(i)=D(i,1);

end

k=1;

while1

ifk>=n

disp(T);

break;

else

min=inf;

fori=2:

n

ifq(i)>0&q(i)

min=q(i);

h=i;

end

end

end

l=l+1;

T(1,l)=h;T(2,l)=p(h);

q(h)=-1;

forj=2:

n

ifD(h,j)

q(j)=D(h,j);

p(j)=h;

end

end

k=k+1;

end

程序二,求每组的最短路程序:

function[S,D]=minRoute(i,m,W)

%图与网络论中求最短路径的Dijkstra算法M-函数

%格式[S,D]=minroute(i,m,W)

%i为最短路径的起始点,m为图顶点数,W为图的带权邻接矩阵,

%不构成边的两顶点之间的权用inf表示。

显示结果为:

S的每

%一列从上到下记录了从始点到终点的最短路径所经顶点的序号;

%D是一行向量,记录了S中所示路径的大小;

%例如

%clear;w=inf*ones(6);w(1,3)=10;w(1,5)=30;

%w(1,6)=100;w(2,3)=5;w(3,4)=50;w(4,6)=10;

%w(5,4)=20;w(5,6)=60;

%i=1;[s,d]=minroute(i,6,w)

%ByX.D.DingJune2000

dd=[];tt=[];ss=[];ss(1,1)=i;V=1:

m;V(i)=[];dd=[0;i];

%dd的第二行是每次求出的最短路径的终点,第一行是最短路径的值

kk=2;[mdd,ndd]=size(dd);

while~isempty(V)

[tmpd,j]=min(W(i,V));tmpj=V(j);

fork=2:

ndd

[tmp1,jj]=min(dd(1,k)+W(dd(2,k),V));

tmp2=V(jj);tt(k-1,:

)=[tmp1,tmp2,jj];

end

tmp=[tmpd,tmpj,j;tt];[tmp3,tmp4]=min(tmp(:

1));

iftmp3==tmpd,ss(1:

2,kk)=[i;tmp(tmp4,2)];

else,tmp5=find(ss(:

tmp4)~=0);tmp6=length(tmp5);

ifdd(2,tmp4)==ss(tmp6,tmp4)

ss(1:

tmp6+1,kk)=[ss(tmp5,tmp4);tmp(tmp4,2)];

else,ss(1:

3,kk)=[i;dd(2,tmp4);tmp(tmp4,2)];

end;end

dd=[dd,[tmp3;tmp(tmp4,2)]];V(tmp(tmp4,3))=[];

[mdd,ndd]=size(dd);kk=kk+1;

end;S=ss;D=dd(1,:

);

 

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

当前位置:首页 > 高等教育 > 文学

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

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