一、部分题目
2011高教社杯全国大学生数学建模竞赛题目
B题 交巡警服务平台的设置与调度
“有困难找警察”,是家喻户晓的一句流行语。警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。每个交巡警服务平台的职能和警力配备基本相同。由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。
试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:
问题1 附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。 对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。 根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。
问题2 针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。如果有明显不合理,请给出解决方案。 如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。
二、部分论文
三、部分源代码
价值和成本计算
function [COST,value]=cost_value(broad,radio)
%本函数用于计算价值和成本
area=[1.58*0.808 1.966*0.991 1.58*0.808 1.651*0.991 1.65*0.991 1.956*0.991 1.65*0.991 1.956*0.991 1.482*0.992 1.64*0.992 1.956*0.992 1.956*992 1.668*1 1.3*1.1 1.321*0.711 1.414*1.114 1.4*1.1 1.4*1.1 0.310*0.355 0.615*0.180 0.615*0.355 0.92*0.355 0.818*0.355 1.645*0.712];
Sradio=position_radio(broad,radio,area);%调用辐射量函数
value=Sradio/1000*0.5;%计算出一年所发电的钱
W=xlsread('classical.xls','C3:C26');
%计算每块板的价格
for i=1:24
if i<=6
cost(i)=W(i)*14.9;
elseif i>6&i<=13
cost(i)=W(i)*12.5;
else
cost(i)=W(i)*4.8;
end
end
COST=sum(cost.*broad);
计算F值
clc,clear
%本程序用于计算F值,用以比较电池板的性能优劣
area=[1.58*0.808 1.966*0.991 1.58*0.808 1.651*0.991 1.65*0.991 1.956*0.991 1.65*0.991 1.956*0.991 1.482*0.992 1.64*0.992 1.956*0.992 1.956*0.992 1.668*1 1.3*1.1 1.321*0.711 1.414*1.114 1.4*1.1 1.4*1.1 0.310*0.355 0.615*0.180 0.615*0.355 0.92*0.355 0.818*0.355 1.645*0.712];
W=xlsread('classical.xls','C3:C26');
efficiency=xlsread('classical.xls','G3:G26');
for i=1:24
if i<=6
cost(i)=W(i)*14.9;
elseif i>6&i<=13
cost(i)=W(i)*12.5;
else
cost(i)=W(i)*4.8;
end
end
X1=cost./area;
X2=W'./area;
F=X1.*efficiency'./X2
问题1主函数
clc,clear
%第一问主函数
%屋顶
radio1=roof_radio;
broad1(24)=0;
area=[1.58*0.808 1.966*0.991 1.58*0.808 1.651*0.991 1.65*0.991 1.956*0.991 1.65*0.991 1.956*0.991 1.482*0.992 1.64*0.992 1.956*0.992 1.956*992 1.668*1 1.3*1.1 1.321*0.711 1.414*1.114 1.4*1.1 1.4*1.1 0.310*0.355 0.615*0.180 0.615*0.355 0.92*0.355 0.818*0.355 1.645*0.712];
broad1(3)=42;
[COST1,VALUE1]=cost_value(broad1,radio1');
%东面
radio2=xlsread('weather.xls','E1:E8760');
broad2(24)=0;
broad2(14)=13;
broad2(20)=40;
[COST2,VALUE2]=cost_value(broad2,radio2);
%南面
radio3=xlsread('weather.xls','F1:F8760');
broad3(24)=0;
broad3(14)=2;
broad3(20)=16;
broad3(23)=40;
[COST3,VALUE3]=cost_value(broad3,radio3);
%西面
radio4=xlsread('weather.xls','G1:G8760');
broad4(24)=0;
broad4(14)=14;
broad4(20)=14;
broad4(21)=4;
broad4(23)=13;
[COST4,VALUE4]=cost_value(broad4,radio4);
%北面不管怎么排布,都是亏本,不予考虑
year_value=VALUE1*40*0.94/42+VALUE1*2*0.86/42+0.94*(VALUE2+VALUE3+VALUE4)
year_electricity=year_value*2
total_cost=COST1+COST2+COST3+COST4
total_value=year_value*(10+15*0.9+10*0.8)
total_electricity=2*total_value
问题2主函数
clc,clear
%第二问按年主函数
%此程序运行时间10分钟左右
X=xlsread('weather.xls','B1:D8760');
Y=xlsread('weather.xls','I1:J8760');
efficiency=xlsread('classical.xls','G3:G26');
W=xlsread('classical.xls','C3:C26');
ts=Y(:,1)+1;
n=ceil((Y(:,2)+1)/24);
level_radio=X(:,1);
scattering_radio=X(:,2);
vertical_radio=X(:,3);
[m,o]=size(X);
max=0;
a(m)=0;A(m)=0;c(m)=0;C(m)=0;cant_radio(m)=0;
broad(24)=0;
area=[1.58*0.808 1.966*0.991 1.58*0.808 1.651*0.991 1.65*0.991 1.956*0.991 1.65*0.991 1.956*0.991 1.482*0.992 1.64*0.992 1.956*0.992 1.956*992 1.668*1 1.3*1.1 1.321*0.711 1.414*1.114 1.4*1.1 1.4*1.1 0.310*0.355 0.615*0.180 0.615*0.355 0.92*0.355 0.818*0.355 1.645*0.712];
broad(3)=42;
for i=1:m
if vertical_radio(i)>0
u=ts(i);
v=n(i);
[j,k]=sun_azimuth(u,v);
a(i)=j;A(i)=k;
end
end
for cita=0.01:0.01:1.57
for i=1:8760
%c为直线与法向量的余弦值,即直线与平面的正弦值
c(i)=(1+tan(cita)*tan(a(i))*sqrt(1+tan(A(i))^2))/sqrt(1+tan(cita)^2)/sqrt(1+tan(A(i))^2+tan(a(i))^2*(1+tan(A(i))^2));
cant_direct(i)=abs(c(i))*vertical_radio(i);
cant_radio(i)=cant_direct(i)+scattering_radio(i);
end
[COST1,VALUE1]=cost_value(broad,cant_radio');
if max<VALUE1;
max=VALUE1;
CI=cita;
end
end
disp('倾角:')
CI/pi*180
disp('最大价值:')
max
%东面
radio2=xlsread('weather.xls','E1:E8760');
broad2(24)=0;
broad2(14)=13;
broad2(20)=40;
[COST2,VALUE2]=cost_value(broad2,radio2);
%南面
radio3=xlsread('weather.xls','F1:F8760');
broad3(24)=0;
broad3(14)=2;
broad3(20)=16;
broad3(23)=40;
[COST3,VALUE3]=cost_value(broad3,radio3);
%西面
radio4=xlsread('weather.xls','G1:G8760');
broad4(24)=0;
broad4(14)=14;
broad4(20)=14;
broad4(21)=4;
broad4(23)=13;
[COST4,VALUE4]=cost_value(broad4,radio4);
%北面不管怎么排布,都是亏本,不予考虑
year_value=max*40*0.94/42+max*2*0.86/42+0.94*(VALUE2+VALUE3+VALUE4)
total_cost=COST1+COST2+COST3+COST4
total_value=year_value*(10+15*0.9+10*0.8)