收藏本站 劰载中...网站公告 | 吾爱海洋论坛交流QQ群:835383472

2021五一杯数学建模B题消防救援问题(附原文源码) - 大连黄渤海海洋测绘数据信息有限公司 数学模型

[复制链接]
) a+ m# v% \; G) T y* e3 O) W M/ T

2021五一杯数学建模B题消防救援问题

& i7 E# _7 S1 a; `# M' n% F) w

消防救援问题

0 |! {: y" u1 }' X/ B5 C

随着我国经济的高速发展,城市空间环境复杂性急剧上升,各种事故灾害频发,安全风险不断增大,消防救援队承担的任务也呈现多样化、复杂化的趋势。对于每一起出警事件,消防救援队都会对其进行详细的记录。

- q" [" }6 y9 u# ?: m* P1 v& C

某地有15个区域,分别用A、B、C…表示,各区域位置关系及距离如图1所示,各区域的人口及面积见附件1,该地消防救援队出警数据见附件2。

9 j. _1 n$ G4 u$ ^; T/ z; L

请依据该地的消防出警数据,建立数学模型,完成以下问题:

1 I* C1 ?2 j/ K. T3 Y

问题1:将每天分为三个时间段(0:00-8:00为时段Ⅰ,8:00-16:00为时段Ⅱ,16:00-24:00为时段Ⅲ),每个时间段安排不少于5人值班。假设消防队每天有30人可安排值班,请根据附件数据,建立数学模型确定消防队在每年2月、5月、8月、11月中第一天的三个时间段各应安排多少人值班。

4 K' a8 }3 K3 s o* u. Q5 d

问题2:以该地2016年1月1日至2019年12月31日的数据为基础,以月份为单位,建立消防救援出警次数的预测模型;以2020年1月1日至2020年12月31日的数据作为模型的验证数据集,评价模型的准确性和稳定性,并对2021年各月份的消防救援出警次数进行预测,完成表1。

. _# U: H3 O$ L) A+ X

问题3:依据7种类别事件的发生时间,建立各类事件发生次数与月份关系的多种数学模型,以拟合度最优为评价标准,确定每类事件发生次数的最优模型。

( M( U; Y8 ?) z6 S# ?! w3 ^, m$ y

问题4:根据图1,请建立数学模型,分析该地区2016-2020年各类事件密度在空间上的相关性,并且给出不同区域相关性最强的事件类别(事件密度指每周每平方公里内的事件发生次数)。

5 b" g" ^; R% ~8 i

问题5:依据附件2,请建立数学模型,分析该地各类事件密度与人口密度之间的关系(人口密度指每平方公里内的人口数量)。

+ P; \+ W: m4 V$ k

问题6:目前该地有两个消防站,分别位于区域J和区域N,请依据附件1和附件2,综合考虑各种因素,建立数学模型,确定如果新建1个消防站,应该建在哪个区域?如果在2021-2029年每隔3年新建1个消防站,则应依次建在哪些区域?

: A8 I3 k/ C: ~3 f0 k# j$ m/ d; }3 q M0 A- J8 s$ L" J2 i" b/ W

问题分析:

8 t: `( W& P. I7 s

针对问题 1,关于确定人数值班问题,首先筛选并统计出 2020 年、2019 年、

A C1 M$ N" s7 v6 T

2018 年、2017 年、2016 年的 2 月、5 月、8 月、11 月的第一天的三个时间段的出警次数,通过灰色预测方法得到每年的这 2 月、5 月、8 月、11 月这四个月第一天的三个时间段出警次数的预测数据。在对三个时间段各分配 5 人的基础上,根据每个

! _' f6 ]9 ^3 i+ Z; P' c+ l; ~

月第一天的三个时间段对应的权重比例对剩余 15 人进行合理分配,计算出人员分配的人数。

$ z0 O+ S }# `2 D# |, s3 h

针对问题 2,我们引入 ARIMA 预测模型,利用差分法对数据进行平稳性处理, 使得模型更加稳定和准确,对模型的检验我们采用平稳性 R 方与显著性检验。

9 t) r- Q+ `6 O0 R" b' G, t

针对问题 3,我们选用了插值拟合和 ARIMA 两种模型,以此来建立各类事件发生次数与月份的关系。

$ d f! @& X% L' S) v

针对问题 4,我们首先绘制散点图判断出各类事件在空间上具有相关性,为了直观表示各指标在不同区域之间的相关性,采用皮尔逊系数进行直观展示。

$ H" h& S3 R: W& E+ ~ b& D

针对问题 5,我们首先绘制散点图判断出人口密度与事件具有线性关系,由此可以采用灰色关联模型进行分析。

3 R- R8 B5 ~& W

针对问题 6,选择消防站需要考虑的因素最多的就是平均出警距离,所以在本问题中我们选择出警距离作为建立消防站的唯一评判因素。利用 Dijkstra 算法计算各区域之间的最短距离,计算在区域 J 和区域 N 以外的 13 个区域新增一个消防站后的平均出警距离,取新增后平均出警距离最小的区域作为建消防站的区域。

# _1 |( y4 _' |4 Z( N/ k 8 D5 h/ a5 T9 h0 v: y

load 'xx.mat' n=length(y); yy=ones(n,1);

; q M( M4 G) A% n" y& b9 I

yy(1)=y(1);

2 `5 @( m" {" L% n# Y" \& f

for i=2:n

7 r7 Y; t; r3 y S u3 k% O0 N

yy(i)=yy(i-1)+y(i)

9 d, X: Z' i0 u% f) Z$ y

end

, d& {! y* l5 D5 ]2 B8 [1 o7 e

B=ones(n-1,2);

/ H7 v* a. e$ L# U' R3 F1 F+ Y; [' Z

for i=1n-1)

) `# F& l1 [8 s: k; A' m

B(i,1)=-(yy(i)+yy(i+1))/2; B(i,2)=1;

/ @) t1 s2 _. n& r

end BT=B'; for j=1n-1)

# X$ w4 x/ X( A2 ], l

YN(j)=y(j+1);

, K, s9 C- p* ^

end YN=YN';

' Z9 T; D( I8 v7 H( L

A=inv(BT*B)*BT*YN; a=A(1);

/ z. y2 z0 E7 A L

u=A(2);

, E5 Q# C; h, W A

t=u/a;

, \- _4 R) X7 \

t_test=input('输入需要预测的个数'); i=1:t_test+n;

e* o: L8 u8 V$ t9 {. w

yys(i+1)=(y(1)-t).*exp(-a.*i)+t; yys(1)=y(1);

! S: N! X1 W6 U# D

for j=n+t_test:-1:2 ys(j)=yys(j)-yys(j-1);

" [4 x+ F/ b' B0 G$ ^2 P+ ~

end x=1:n;

( L: A' a% S0 j: F$ _8 k+ s

xs=2:n+t_test; yn=ys(2:n+t_test);

- ?( x: ?) V/ z$ J) T* [: H# ]

plot(x,y,'^r',xs,yn,'*-b'); det=0;

. E0 h7 P# {& u# t7 v

for i=2:n

$ e; D. W7 G" P

det=det+abs(yn(i)-y(i));

/ I' E% v }! M( E* b2 ]% x

end det=det/(n-1);

7 d; Q( B, C& ^' y8 E& ]

disp(['百分绝对误差为:',num2str(det),'%']);

7 H8 ` `* i/ u4 R

disp(['预测值为:',num2str(ys(n+1:n+t_test))]);

' ?( m, H2 N3 U( n' j' r& s8 r* d ) V5 b( I, c+ A6 o, a0 n! m* s$ t. i7 p B7 W4 c6 ]8 Z3 y# C8 i% X( q# n6 P 1 h$ O% A+ R" |4 N* a/ g& D; n
回复

举报 使用道具

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
依存妄想症候群
活跃在2026-2-8
快速回复 返回顶部 返回列表