收藏 分销(赏)

—A题 消防站的最佳位置.doc

上传人:s4****5z 文档编号:8972734 上传时间:2025-03-09 格式:DOC 页数:5 大小:168.75KB
下载 相关 举报
—A题 消防站的最佳位置.doc_第1页
第1页 / 共5页
—A题 消防站的最佳位置.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
广西民族大学数学建模竞赛选拔赛 2011 A题 消防站的最佳位置 一个城郊的社区计划更新消防站. 原来的消防站在旧城中心. 规划要将新的消防站设置得更科学合理. 消防队员到达火灾现场的时间(行车时间)依赖于火灾现场的距离. 行车时间的资料列于表1. 在前一个季度收集了火警行车时间的资料:平均行车时间为3.2分钟; 表1 行车时间 距离 1.22 3.48 5.1 3.39 4.13 1.75 2.95 1.3 0.76 2.52 1.66 1.84 时间 2.62 8.35 6.44 3.51 6.52 2.46 5.02 1.73 1.14 4.56 2.9 3.19 距离 3.19 4.11 3.09 4.96 1.64 3.23 3.07 4.26 4.4 2.42 2.96 时间 4.26 7 5.49 7.64 3.09 3.88 5.49 6.82 5.53 4.3 3.55 从社区的不同区域打来的求救电话频率的数据列于图1. 其中每一格代表一平方英里,格内的数字为每年从此区域打来的紧急求救电话的数量. 3 0 1 4 2 1 2 1 1 2 3 2 5 3 3 0 1 2 8 5 2 1 0 0 10 6 3 1 3 1 0 2 3 1 1 1 图1 从社区的各个区域打来的求救电话频率 请您解决如下问题: 1)求行车时间。消防队对离消防站r英里处打来的一个求救电话需要的行车时间估计为d分钟。给出消防队对求救电话的行车时间的模型d(r). 2)求平均行车时间。设社区位于区域[0,6]×[0,6]内,(x,y)是新的消防站的位置。根据求救电话频率,确定消防队对求救电话的平均行车时间z = f(x,y). 3)求新的消防站,使平均行车时间最小. 解:假设:1.消防队反应时间只依赖于派遣消防队员时间和火灾现场的距离,不考虑其它因素。 2. 每一次火灾呼救都发生在小正方形的中心。 3. 消防队前往火灾现场的行车距离近似于消防站址到火灾现场的直线距离。 (1)由表1画出所列的行车时间d与距离r的散点图。 第一种情况:使用线性模型进行拟合。 第二种情况:使用幂函数进行拟合。 计算源程序为: x=[1.22 3.48 5.10 3.39 4.13 1.75 2.95 1.30 0.76 2.52 1.66 1.84 3.19 4.11 3.09 4.96 1.64 3.23 3.07 4.26 4.40 2.42 2.96]; y=[2.62 8.35 6.44 3.51 6.52 2.46 5.02 1.73 1.14 4.56 2.90 3.19 4.26 7.00 5.49 7.64 3.09 3.88 5.49 6.82 5.53 4.30 3.55]; b=polyfit(x,y,1) z=b(2)+b(1).*x; plot(x,y,'bo',x,z) hold on y1=log(y); c=polyfit(x,y1,1) z1=exp(c(2))*exp(c(1).*x); plot(x,y,'r*',x,z1,'g+') hold off 用Matlab运行后得到的散点图分别为:(其中蓝色的线为线性模型的拟合,绿色的+号为幂函数的拟合) 则和。比较拟合效果,则非线性拟合比线性拟合更好。而且我们结合实际,当距离为0时,行车时间必为0,这与我们线性拟合的得出的结论不一致。故行车时间与距离的关系为*:。则对离消防站r英里处 打来求救电话需要的反应时间。 (2)模型的假设: 设:各地点()火灾发生的频率为()。 因为新消防站的位置为(x,y),则消防队对求救电话的平均行车时间z = f(x,y)为: z = f(x,y)=3.2+ 。 (3)模型的求解: 要求新的消防站,使平均行车时间最小,即要求平均行车时间函数 z = f(x,y)=3.2+的最小值点。 且约束条件为: ,,即点f(x,y)必须在社区区域[0,6]×[0,6]内。 用随机搜索方法确定最小值初值。 计算源程序为: function l= n=[0 2 3 1 1 1; 10 6 3 1 3 1; 8 5 2 1 0 0; 5 3 3 0 1 2; 2 1 1 2 3 2; 3 0 1 4 2 1;]; s=sum(sum(n)); l=0; for i=0:5; for j=0:5 ; l=l+(n(j+1,i+1)/s)*(3.2+1.4844*exp(0.35*sqrt((i-x(1))^2+(j-x(2))^2))); end end zmin=100; x0=[0,0,100]; k=3; for n=0:1000 x=[unifrnd(-0.5,5.5),unifrnd(-0.5,5.5)]; z=min(,x0(end)); if z<zmin xmin=x(1); ymin=x(2); zmin=z; end end x0=[xmin,ymin,zmin] 用Matlab运行后得到: 最后由命令X = fminunc(@,[1.7122 , 2.3104])得到: 即最小值点为x=1.6795 ,y=2.3202 , 在该处平均时间为最小值,即: ([1.6795 2.3202]])=6.4561
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服