消防队建设规划.docx
《消防队建设规划.docx》由会员分享,可在线阅读,更多相关《消防队建设规划.docx(47页珍藏版)》请在冰豆网上搜索。
消防队建设规划
消防队建设规划
摘要
消防队的任务是发生火灾时及时赶到火灾现场,扑救火灾,抢救人的生命和重要物资。
因此消防队的选址一定要科学合理,在火灾发生时及时尽快赶到火灾现场,减小损失。
本文我们的主要思想是:
利用floyd算法求出最短路径,MATLAB编程找到新增消防队的最优位置。
针对问题一,我们首先根据问题所给出图形,建立一个53*53的邻接矩阵,利用floyd算法求出任意两点间的最短路径。
已知一个消防队(O点)地址已定,再从A-R(乡镇)中任选一点作为第二个消防队地址,求出任意一点j到其中一个消防队的较小路径,再把这些最短路径进行加和。
以此类推,j点依次取值1到53,找出全部最短路径和中的最小值,对应点及为第二个消防队的最优位置。
通过编程求出第二个消防队的最优位置为J点。
针对问题二,根据题意,我们把县当作乡(镇)来处理,则原比例问题都化为乡(镇)发生大火的概率p11=5/33、小火的概率p12=25/33;村发生大火的概率p21=1/121、p22=10/121。
在第一个问题的基础上乘以对应的概率且同时满足大火分配两个消防队、小火就近分配消防队,求出概率与路径之积和的最小值,确定出了第二个消防队的最优位置仍为J点。
针对问题三,在问题二的基础上,从A-R任意选择两个点为新建消防队地址,假如有一点j,则求出j点到这三个消防队的最短路径a和第二短路径b,再求出发生大火的概率与a、b之和的积加上a与发生小伙的概率之积的值。
j从1到53变化,再在所求和值中找出最小值,找出对应的两个消防队,以此确定出了第二、三个消防队分别为G点和M点。
针对问题四,因为不确定需要新建消防队的数目n,因此我们采取了逐个试探法,让n从1开始,逐次增加消防队的个数带入求解,直到满足条件为止。
假设所有火灾只需要派遣一个消防队的人,则在前三问的基础上,求出新建n个消防队时其余点到所有消防队中的最短路径,找出这些最短路径中的最大值,如果最大值小于30公里,则输出可行结果。
最后按此方法编程求得最少需要新建4个消防队,分别位于E、J、N、R点。
模型的优点:
该模型易于理解,算法简单易懂,应用性广泛。
模型的缺点:
编程时的时间复杂度较高,不适合计算大量数据。
另外,考虑的规划优劣评价准则太少,可能会导致所求结果不一定是最优的。
关键字:
floyd算法,最优规划,逐次试探法
一、问题重述
最近,某县的火灾事故有增多的趋势,某县已有一个消防队(在县府),最
近上级拨款可再新建一个消防队,各个乡镇积极打报告都要求建消防队,建在什
么地方好呢?
县政府请你帮助作一个规划。
1.如果仅一处着火时(各地火警等概率),只就近动用一个消防队即可,你
如何规划?
2.如果县、乡(镇)府所在地的大火和小火的比例为1:
5,村里的比例为1:
10,县、乡(镇)和村的火警比为5:
5:
1,并且大火时需要两个消防队,小火
时只需要一个消防队,你又如何进行规划?
3.对于问题2,若可新建两个消防队又如何规划?
4.若要求接到火警报警后30分钟之内赶到现场,请问最少需增加几个消防
队,建在哪几个乡镇?
上述问题均假定火警不会同时发生,消防队的主要运载工具为消防车,它的
平均时速为60公里。
下图为某县的交通图。
二、问题分析
消防队的任务是在某地区发生火灾时,消防队能及时赶到现场,使火灾受损程度达到最小。
这就要求每个乡(镇)和村与消防队的距离符合实际要求。
因此消防队的选址以及最经济的消防队数目尤为重要。
本文就此问题和文中所提出的要求做了较为全面的解答。
2.1对于问题一,已知一个消防队的位置,要求求出新建一个消防队的最优位置,就是要求所有乡镇和村到其最近消防队的总路程之和最小。
首先我们运用floyd算法求出任意两点间的最短路径,然后用穷举法思想:
若任意一点j(j从1到53变化)到新建消防队i(i从A-R变化)和O点中的最短路径之和,求出全部最短路径和中的最小值,对应的i点即为所求最优位置。
2.2对于问题二,因为县和乡的火警概率和发生火灾的概率完全相同,为了简便算法,我们把县看作是乡,算出相应的概率,在第一问的基础上最短路径乘以对应概率并满足大火分配两个消防队、小火就选就近分配,算出各自总和中的最小值,对应点即为最优位置。
2.3对于问题三,若新建两个消防队,则共有三个消防队,若发生大火时,只需两个消防队,设任意一点为j(j从1到53变化),则找出j点到其中两个消防队的最短路径和第二短路径,并满足大火就近分配两个消防队、小火分配就近一个消防队的原则,求出最短路径与对应火灾概率之积的和,再找出所有和中最小值的,对应的两个消防队的位置即为新建消防队的位置。
2.4对于问题四,由于新建消防队的数目n不确定,因此我们采用逐次试探法,即让n从1逐次增加,在第一问的基础上求出新建n个消防队时其余点到消防队的最短路径,找出这些最短路径中的最大值,如果最大值小于30公里,则对应的n即为最少新建的消防队个数,然后再确定出最优位置。
三、基本假设与符号说明
3.1基本假设
1,假设不考虑路况,消防队在各路段均为匀速行驶。
2,假设消防队接到报警后,立即出发,不考虑消防队的反应时间。
3,假设每个消防队的装置和配备设施相同。
4,假设不考虑灾情蔓延速度,即火灾点不会转移和增加。
3.2符号说明
i:
全县第i个县、乡(镇)i=36、37…..53;
j:
全县第j个村j=1、2……35;
a:
带权的邻接矩阵;
B:
任意两点之间的最短距离的矩阵;
x1:
分配给该队的点到此点的最短路程之和;
x2:
分配给县(O点)的点到县的最短路程之和;
x:
所有的点到各自分配点的最短路程之和;
:
点i到预设队点的最短路程;
:
点i到县(O点)的最短路程;
:
点i到预设队点与县(O点)的最短路程的最小值;
M:
j点发生火灾时到新建队点的距离与概率积的和的最小值;
w:
新建消防队的点的平衡度;
n:
新建消防队点的个数,n=1、2、3......。
四,模型的建立与求解检验
4.1问题一
首先将图上数据转化为带权的邻接矩阵,并用floyd算法(见附录1)求出任意两点之间的最短距离B(程序见附录2)。
然后我们以各乡(镇)为预设队的分配点,用MATLAB编程实现任意一点j到这些分配点的最短路程之和x1或分配到县(O点)的最短路程之和x2以及到所有的点到各自分配点的最短路程之和x,最后整理得表一:
(程序见附录3)
表一以各乡(镇)为预设队的分配点(就近原则)后的总路程情况
各乡(镇)编号
分配给该队的点到此点的最短路程之和x1
分配给县(O点)的点到县的最短路程之和x2
所有的点到各自分配点的最短路程之和x
J
628.3
529.8
1158.1
L
813.6
398.6
1212.2
G
564.4
678
1242.4
K
701.7
546.4
1248.1
E
645.7
627.3
1273
I
613.1
671.7
1284.8
F
481.9
828.8
1310.7
M
1018.8
343.1
1361.9
H
475.4
907.1
1382.5
N
1059
379.5
1438.5
D
759.6
782.3
1541.9
P
607.1
1158.2
1765.3
Q
369.5
1436.5
1806
C
657.4
1157.8
1815.2
R
142.6
1695.7
1838.3
A
162.6
1682.9
1845.5
B
81.5
1827.5
1909
由表一可知:
所有的点到各自分配点的最短路程之和最小的是J点,所以我们初步确定J点为最优位置。
然后求出了所有县、乡(镇)及村对O、J消防队的分配情况(即遇到火警时派遣那一个消防队出镜)如表二。
表二所有县、乡(镇)及村对O、J消防队的分配情况
消防队
分配县、乡(镇)及村
O
1,2,3,4,5,26,27,28,29,30,31,32,33,34,35,A,B,C,D,M,N,O,P,Q,R
J
6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,E,F,G,H,I,J,K,L
由表二及交通图可以直观的看出,所有县、乡(镇)及村对O、J消防队的分配是比较均衡的,所以我们最后选择J点为最优新建消防队点。
4.2问题二
此问题在问题一的基础上新建一个消防队,而与第一问不同的是各地区发生火灾及其大小的概率不同,所以此问我们考虑求出最短路径和相应的概率的乘积。
选择任一点为预设队点,则共有17种选法。
再选择另一点j点为节点,因为发生大火时需要两个消防队,所以需要算出j点到预设队点和县城O点距离的概率积的和。
发生小火时只需一个消防队,则需采取就近原则,算出j到较近消防队的距离和概率积的最小值。
最后我们算出j点发生火灾时到新建队点的距离与概率积的和M为最小值对应的点即为我们要找的新建消防队点。
其中M的计算公式为
M=
其中,,分别为点i到预设站点与县(O点)的最短路程,为分别点i到预设站点与县(O点)的最短路程的最小值。
同时由题意可算出县、乡(镇)及村大火与小火火警的概率,县、乡(镇)大火火警的概率:
P11=5/33,县、乡(镇)小火火警的概率:
P12=25/33,村大火火警的概率:
P21=1/121,村小火火警的概率:
P22=10/121。
由MATLAB编程得出的以各乡(镇)为预设队的分配点(就近原则)后的M值情况(表三)以及消防队J、O对各县、乡(镇)及村有小火火警后(大火火警后J,O全部发出)的分派情况(表四)。
(源代码见附录4)
表三以各乡(镇)为预设队的分配点(就近原则)后的M值情况
各乡(镇)编号[预设队]
分配给该队的点的M值
分配给县(O点)的点的M值
所有的点的M值
J
248.4848
275.4526
523.9375
L
380.5174
167.1931
547.7105
G
249.8782
301.3766
551.2548
E
309.2518
244.6262
553.878
K
336.6014
235.1592
571.7606
M
437.7579
145.3223
583.0802
F
225.5942
363.6507
589.2449
I
287.003
303.9019
590.905
H
203.1275
427.0163
630.1438
D
360.3421
281.9485
642.2906
N
492.0129
151.1105
643.1234
C
301.7223
432.6419
734.3642
P
196.8642
546.0523
742.9165
A
61.49559
705.8347
767.3303
R
43.17438
724.5176
767.692
B
30.20468
745.9347
776.1394
Q
69.80386
710.2171
780.0209
表四消防队J、O对各县、乡(镇)及村有小火火警后的分派情况
(大火火警后J,O全部发出)
消防队
分配县、乡(镇)及村
O
1,2,3,4,5,26,27,28,29,30,31,32,33,34,35,A,B,C,D,M,N,O,P,Q,R
J
6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,E,F,G,H,I,J,K,L
由表三可