19 20 29 39 61 19、77、79 20、84、85、86、87、88、89、90 29、28 39、38、40 61 表3 调整后服务平台管辖范围
3 8 2 3 1
程序:lp1015,zengjia 3.3、问题2的模型建立及求解:
3.3.1、全市交巡警服务平台合理性评价及方案设定
1、首先需要强调的是:
①各个区的平台是不能跨区的 ②各个平台的辖区是不能重合的
满足这两点后,设定全市交警服务平台合理性评价:
①警情主导警务原则:根据管区道路交通流量、拥堵状况、治安复杂情况、发案量高低,科学确定平台管控区域;
②快速处警原则:城区接警后确保快速到达现场
③方便与安全原则:按照醒目、规范,方便群众和确保安全的原则,科学设置平台。
平台设置在遵循上述三大原则的基础上,应当结合辖区地域特征、人口分布、交通状况、治安状况和未来城市发展规划等实际情况,在充分考虑现有警力和财力并确保安全的条件下,科学确定平台的数量和具体位置。
在评价合理性的时候,我们引入了最大覆盖率:被平台三分钟覆盖的节点数在区总节点数中占的比重。
所以对该市各个区分别进行Floyd算法,得到各自的最短路矩阵。在平台所在的行中进行每列的最小值选择。最小值小于30mm,就是被覆盖。用这种方法分别得到六个区的最大覆盖率,即:
区域 A B C D E F 最大覆盖率 0.9348 0.9178 0.6948 0.7692 0.6311 0.6759
表 4 区域覆盖率
程序:fugai
由表中覆盖率可以看出,A区,B区的平台设置较为合理,其余几个区的平台设置较为不合理其中E区最差。对覆盖率较差的区,可以进行平台设置的调整,调整的方案有三种:
①不变动原有平台的个数与位置,添加若干个新的平台。 ②不变动原有平台的个数,改变平台的位置。
③改变平台的个数,也改变平台的位置,以合理的标准去设置合适的平台 2、调整方案:
在此我们选取E区,采取方案②加以调整。调整的具体实施:在E区的最短距离矩阵中取出每行的最小值和次小值,并取出最多的十五个,对应的十五个节点就是新的调整以后的平台。 运行程序后得到新的平台设置为:
405、408、412、423、429、435、436、444、455、457、461、462、467、472、474
这十五个平台覆盖了75个节点,调整后E区的覆盖率为:0.7282,比旧的平台设置要更为合理。 程序:LP1017
3.2.2、最佳围堵方案的确定:
在该题目中,首先需要有两点假设:
①嫌疑人驾车逃逸速度和警察追堵速度一直,均为60km/h ②嫌疑人逃逸时不走重复路段
此时调用的平台是没有改动之前原市区图中设立的平台点,警方在案发后3分钟才接到报警,假如警察用了t分钟追堵住嫌疑人,那么嫌疑犯逃跑时间是t?3分钟。
能把嫌疑人追堵住,就是在他还没到,但可以到的所有节点都已经被警察提前到了。也就是说,嫌疑犯逃跑时间是t?3分钟逃到的节点,可以被距离他最近的平台在t分钟以内到达,这样,嫌疑人就是t分钟中成功被追堵住。
我们先对全市进行floyd,算出最短距,并提取出32行的那行数据,赋给K。然后t从1开始,直到我们认为足够长的时间,定为6分钟,每次增加0.1分钟不断迭代。每次都找到嫌疑人在t?3分钟,和t?3.1分钟之间可以到达的节点,然后检测这些节点到区内最近平台的时间是否在t分钟,若是,则成功追堵;如不是,则继续迭代,知道出现第一个满足。
程序:p
四、模型的评价
4.1 模型优点
1、对题目所给数据大部分都进行了合理的应用和处理,对于实际问题理解的较为到位。
2、模型建立的思路简单清晰,算法较为灵活、执行效率教高。
3、模型能应用于其他种类的应急设施设置,整个模型有很好的通用性。 4.2 模型缺点
1、整个模型我们都化为了一个点的模型,如案发地点我们假定都在节点上,这在现实中是不可能的,可以进一步将点离散化,更为密集。
2、对模型的建立与求解,我们坚持的核心因素是三分钟到达节点,标准比较单一。
3、模型中我们没有考虑人口密度的问题,在实际中这是一个很重要的参考因素。
参考文献
[1] 姜启元,《数学模型》第四版,北京:高等教育出版社,2011年 [2]王沫然,《MATLAB与科学计算》,北京:电子工业出版社,2003年 [3]胡运权 《运筹学》,北京,清华大学出版社,第三版,2009年
程序:lp1003 for k=1:1:928 n1=daolu(k,1); n2=daolu(k,2); if n1<=92 if n2<=92
a=jiedian(n1,2); b=jiedian(n1,3); c=jiedian(n2,2); d=jiedian(n2,3); plot([a c],[b d]); hold on end end end
x1=jiedian(1:20,2); y1=jiedian(1:20,3); plot(x1,y1,'ro'); hold on
for n=1:1:92
x=jiedian(n,2); y=jiedian(n,3); plot(x,y,'.'); hold on end
for m=1:1:13 t=churu(m,2); a=jiedian(t,2); b=jiedian(t,3); plot(a,b,'r*'); hold on end
程序:shitu for k=1:928
n1=daolu2(k,1); n2=daolu2(k,2); if n1<=92 & n2<=92
a=jiedian2(n1,2); b=jiedian2(n1,3); c=jiedian2(n2,2); d=jiedian2(n2,3);
plot([a c],[b d],'g','linewidth',2); hold on else
if n1<=165 & n2<=165 & n1>92 & n2>92 a=jiedian2(n1,2); b=jiedian2(n1,3); c=jiedian2(n2,2); d=jiedian2(n2,3);
plot([a c],[b d],'y','linewidth',2); hold on else
if n1<=319 & n2<=319 & n1>166 & n2>166 a=jiedian2(n1,2); b=jiedian2(n1,3); c=jiedian2(n2,2); d=jiedian2(n2,3);
plot([a c],[b d],'linewidth',2); hold on else
if n1<=371 & n2<=371 & n1>320 & n2>320 a=jiedian2(n1,2); b=jiedian2(n1,3); c=jiedian2(n2,2); d=jiedian2(n2,3);
plot([a c],[b d],'k','linewidth',2); hold on else
if n1<=474 & n2<=474 & n1>372 & n2>372 a=jiedian2(n1,2); b=jiedian2(n1,3); c=jiedian2(n2,2); d=jiedian2(n2,3);
plot([a c],[b d],'m','linewidth',2); hold on else
相关推荐: