【穷举法】应急设施位置选取的程序实现

1.问题的提出

里奥兰翘镇迄今没有自己的应急设施,1986年该镇得到了建立两个应急设施的安全拨款。每个设施都把救护站、消防队和警察所合在一起。
如图(1)指出了1985年每个长方形街区应急事件的次数。在北边的L形状的区域是一个障碍,在南边的长方形区域是一个有浅水塘的公园。应急车辆驶过一南北向的街道平均要花15秒,而通过一条东西向的街道平均要花20秒。
在这里插入图片描述

  1. 假定需求集中在每个街道的中心而应急设施位于街角处。
  2. 假定需求沿每个街区的街道上平均分布的,而应急设施可以位于街道的任何地方。

2.模型假设

  1. 假设需求集中在每个街区的中心,应急设施位于街角处;
  2. 假设在同一街区不会同时发生两个事件;
  3. 假设1985年的应急次数具有典型性,未来的需求分布不会和1985年相差太远;
  4. 应急车辆的响应时间只考虑在街道上行驶时间,其他因素(如转弯、街区内部行车时间)可以忽略不计;
  5. 假设两个应急设施的功能完全相同,当应急事件出现时,只要从离事件发生地点最近的应急设施派出应急车辆即可;
  6. 执行任何一次应急任务的车辆都从某一个应急设施出发,完成任务后回到原设施。不出现从一个应急事件点直接到另一个应急事件发生点的情况(这是由于每个地点发生事件的概率都很小,因此两个地点同时发生事故的概率就更小,因此可以忽略这种情况)。

3.模型的建立与求解

3.1模型建立

1.如下图所示,建立里奥兰翘镇的平面直角坐标系
在这里插入图片描述
2.设两个应急设施的坐标分别为(x1,y1),(x2,y2)

3.现对我们需要计算的指标作如下规定:

  • 一个位置点对某一街区发生事件的响应时间 = 位置点到街区的街道数×车辆行驶一条街道的时间×该街区发生事件的次数
  • 一个位置点对全镇所有应急事件响应的总时间 = 该位置点对所有街区应急事件响应时间的总和
  • 一个位置点对全镇任一次应急事件的平均响应时间 = 总响应时间 / 事件总数

4.两个应急设施到任一街区P(x,y)的时间:
在这里插入图片描述
5.该街区到最邻近的一个设施所需时间为:
在这里插入图片描述
6.总响应时间:
在这里插入图片描述
7.取平均响应时间最小所对应的位置点为应急设施的位置

3.2程序实现

3.2.1 C语言源程序代码

#include<stdio.h>
#include<math.h>

static const double ptime[10][5]={
	{3,1,4,2,5},
	{3,2,3,3,2},
	{2,0,3,3,2},
	{5,0,0,3,1},
	{3,4,3,3,5},
	{2,3,4,4,0},
	{1,2,0,1,3},
	{0,2,0,3,2},
	{3,0,0,0,4},
	{3,1,0,4,2}};

double sum=108.0;

double tval(int x,int y)
{
    double ans=0,t1=0,t2=0;
    for(int i=0;i<=9;i++)
	{
		for(int j=0;j<=4;j++)
		{
			ans = ans + (15*fabs(x-(i+0.5)) + 20*fabs(y-(i+0.5)) -17.5)*ptime[i][j] ;
			//ans = ans + (15*fabs(x-i) + 20*fabs(y-i))*ptime[i][j] ;(应急事件发生在街区四周)
		}
	}
	ans=ans/sum ;
    return ans;
}

int main()
{
    double sum=0,min=999999,tt=0;

    for(int m=0;m<=9;m++)
	{
		for(int n=0;n<=4;n++)
		{
			sum+=ptime[m][n];
		}
	}

    for(int i=0;i<=9;i++)
	{
		for(int j=0;j<=4;j++)
		{
			double tt=tval(i,j);
			if(tt<min)
			{
				min=tt;
			}
			printf("坐标(%d,%d)的响应时间为:%f \n",i,j,tt);
		}
	}
    printf("其中最小的为:%f\n",min); 
    
 getchar();
 return 0;  
} 

3.2.2 程序运行结果

在这里插入图片描述

3.3结果分析

如表(1)是用程序得到的各个点到任一街区P(x,y)的平均响应时间,其中点(4,4)和(5,4)是平均响应时间最小所对应的位置点。
在这里插入图片描述
故选取(4,4)和(5,4)作为两个应急设施的位置点。如图(4)是应急设施在平面坐标上的位置示意图。
在这里插入图片描述

4.模型评价

  • 模型对于障碍物没有充分考虑,如果已知更多关于障碍物的信息,结果可以做的更好
  • 模型忽略了转弯次数对时间的影响,但该假设不会给结果带来太大的偏差
  • 仅根据1985年一年的数据来判断该区域突发事件的频数不大具有代表性,如果根据几年的数据来充分考虑,会更有参考性
  • 15
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值