用lingo求解数学规划模型实例ppt课件.ppt

上传人:小飞机 文档编号:2096334 上传时间:2023-01-09 格式:PPT 页数:81 大小:1.20MB
返回 下载 相关 举报
用lingo求解数学规划模型实例ppt课件.ppt_第1页
第1页 / 共81页
用lingo求解数学规划模型实例ppt课件.ppt_第2页
第2页 / 共81页
用lingo求解数学规划模型实例ppt课件.ppt_第3页
第3页 / 共81页
用lingo求解数学规划模型实例ppt课件.ppt_第4页
第4页 / 共81页
用lingo求解数学规划模型实例ppt课件.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《用lingo求解数学规划模型实例ppt课件.ppt》由会员分享,可在线阅读,更多相关《用lingo求解数学规划模型实例ppt课件.ppt(81页珍藏版)》请在三一办公上搜索。

1、用lingo求解数学规划模型实例,一、lingo中的输入输出函数text函数 该函数被用在数据部分,用来将所需的数据输出至文本文件中。其语法为:text(filename)这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。如果忽略filename,那么数据就被输出到标准输出设备(大多数情形都是屏幕)。text函数仅能出现在模型数据部分的一条语句的左边。,如在例6.7(职员时序安排模型)一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天,试求每周所需最少职员数,并给出安排。注

2、意这里我们考虑稳定后的情况。,决策变量:xi第i周天开始上班的人数;,目标函数:,sets:day/mon.sun/:x,d;endsetsobjmin=sum(day:x);for(day(j):sum(day(i)|i#le#5:x(wrap(j+i+2,7)=d);for(day:gin(x);data:d=20,16,13,16,19,14,12;text(F:数学软件lingolili607.txt)=day 开始上班的人数为 x;Enddata,MON 开始上班的人数为 8.0000000 TUE 开始上班的人数为 2.0000000 WED 开始上班的人数为 0.0000000

3、THU 开始上班的人数为 6.0000000 FRI 开始上班的人数为 3.0000000 SAT 开始上班的人数为 3.0000000 SUN 开始上班的人数为 0.0000000,file函数 该函数用从外部文件中输入数据,可以放在模型中任何地方。语法格式为file(filename)这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。执行一次 file输入 1个记录,记录之间的分隔符为。table函数该函数以表格形式输出数据,只能在数据段(DATA)中使用。,二、线性规划模型 特点:目标函数与约束条件均为一次的。线性规划的一般模型,例1(运输规划模型)某产品有6个产地A

4、i 和8个销售地Bj(i=1,2,6,j=1,2,8),产地到销地的单位运价见下表,问如何安排运输可使运输总费用最小。,单位运价表:,产地总产量和:302销地总销量和:280产大于销的模型。,产地 Ai:总产量 ai销地 Bi:总销量 bi产地Ai到销地Bj:单位运价 cij运输量 xiji=1,2,6;j=1,2,8,决策变量:产地Ai到销地Bj的运输量 xij,从产地Ai到销地Bj的运费 cij xij,从Ai到各销地的运费,总运费,目标函数:,产地 Ai:总产量 ai销地 Bi:总销量 bi产地Ai到销地Bj:单位运价 cij运输量 xiji=1,2,6;j=1,2,8产地总产量和:30

5、2销地总销量和:280为产大于销的模型。,目标函数:,运往Bj的总运量:,从Aj运出的总量:,对变量xij的限制:,i=1,2,6;j=1,2,8,sets:chdi/w1.w6/:a;xdi/v1.v8/:b;link(chdi,xdi):c,x;endsetsobjmin=sum(link:c*x);for(xdi(j):sum(chdi(i):x(i,j)=b(j);for(chdi(i):sum(xdi(j):x(i,j)=a(i);data:a=60,55,51,43,41,52;b=35,37,22,32,41,32,43,38;c=6,2,6,7,4,2,5,9,4,9,5,3,

6、8,5,8,2,5,2,1,9,7,4,3,3,7,6,7,3,9,2,7,1,2,3,9,5,7,2,6,5,5,5,2,2,8,1,4,3;text()=table(x);enddata,s.t:,V1 V2 V3 V4 V5 V6 V7 V8 W1 0 19 0 0 41 0 0 0 W2 1 0 0 32 0 0 0 0 W3 0 11 0 0 0 0 40 0 W4 0 0 0 0 0 5 0 38 W5 34 7 0 0 0 0 0 0 W6 0 0 22 0 0 27 3 0,Objective value:664.0000,例2(指派问题)九种不同型号的装备配给9个部队,由于各

7、部队的特点与条件不同,不同的装备在不同部队中产生效能不同,问如何分配可保证每个部队各分得一种装备,且使总效能最大(装备在不同部队的效能见下表)。,0.24 0.42 0.15 0.46 0.34 0.69 0.03 0.57 0.69 0.31 0.04 0.60 0.69 0.11 0.24 0.45 0.35 0.27 0.310.24 0.08 0.14 0.54 0.61 0.37 0.48 0.34 0.49 0.06 0.28 0.13 0.65 0.41 0.55 0.25 0.36 0.63 0.15 0.31 0.60 0.06 0.41 0.47 0.19 0.31 0.4

8、5 0.02 0.37 0.14 0.69 0.29 0.61 0.18 0.46 0.45 0.07 0.26 0.15 0.18 0.43 0.55 0.66 0.08 0.32 0.24 0.58 0.64 0.43 0.45 0.09 0.05 0.20 0.33 0.56 0.41 0.13 0.65 0.07 0.22 0.46 0.11,123456789,A B C D E F G H I,装备,部队,设,第i个部队分配第j种装备,目标函数:,xij=0或1,(i,j=1,2,9),第i个部队不分配第j种装备,xij=0或1,(i,j=1,2,9),sets:army/ar1.

9、ar9/;equi/eq1.eq9/;link(army,equi):a,x;endsetsobjmax=sum(link:a*x);for(equi(i):sum(army(j):x(i,j)=1);for(army(j):sum(equi(i):x(i,j)=1);for(link:bin(x);data:a=file(F:数学软件lingolidali002.txt);text(F:数学软件lingolili002.txt)=table(x);enddata,EQ1 EQ2 EQ3 EQ4 EQ5 EQ6 EQ7 EQ8 EQ9 AR1 0 0 0 0 0 0 0 0 1 AR2 0 0

10、 0 1 0 0 0 0 0 AR3 0 0 0 0 0 1 0 0 0 AR4 0 0 0 0 1 0 0 0 0 AR5 1 0 0 0 0 0 0 0 0 AR6 0 0 0 0 0 0 1 0 0 AR7 0 0 0 0 0 0 0 1 0 AR8 0 0 1 0 0 0 0 0 0 AR9 0 1 0 0 0 0 0 0 0,0.24 0.42 0.15 0.46 0.34 0.69 0.03 0.57 0.69 0.31 0.04 0.60 0.69 0.11 0.24 0.45 0.35 0.27 0.310.24 0.08 0.14 0.54 0.61 0.37 0.48 0.

11、34 0.49 0.06 0.28 0.13 0.65 0.41 0.55 0.25 0.36 0.63 0.15 0.31 0.60 0.06 0.41 0.47 0.19 0.31 0.45 0.02 0.37 0.14 0.69 0.29 0.61 0.18 0.46 0.45 0.07 0.26 0.15 0.18 0.43 0.55 0.66 0.08 0.32 0.24 0.58 0.64 0.43 0.45 0.09 0.05 0.20 0.33 0.56 0.41 0.13 0.65 0.07 0.22 0.46 0.11,123456789,A B C D E F G H I

12、,装备,部队,例3(合理设计海岛旅游线路问题)某景区由5个海岛A,B,C,D,E组成。海岛之间及与大陆港口P的距离由表1给出,每个海岛的游览时间为半天,C,D两个岛屿有旅馆可供住宿。游览的过程为:游船早晨由港口P出发,每半天游览一个景点。如果行程超过一天,则晚上选择岛屿C或D住宿。游览结束后回到港口P。景点每次接待游客的能力由表2给出,目前旅行社可选择大、小两种游船用于旅游。大型可载乘客100人,小型可载乘客40人。大型游船的每公里客均费用是小型游船的85%,但景点E只能停泊小型游船。客均旅行费用正比于船的行程。针对问题一、二、三、四分别建立数学模型,完成规划旅游线路的设计,要求在尽可能满足各

13、景点最大接待能力的条件下,使旅行社的成本尽可能低?,问题一:若该公司只经营一日游业务,只选择小型船,应如何规划旅游线路?问题二:若该公司只经营一日游业务,可同时选择小型船和大型船,应如何规划旅游线路?问题三:若该公司同时经营一日游、二日游业务,只选择小型船,应如何规划旅游线路?问题四:若该公司同时经营一日游、二日游业务,可同时选择小型船和大型船,应如何规划旅游线路?,表1:岛屿及港口之间距离(km),表2:景点每半天可接待游客的人数,假设游船都是满载的。,问题一:若该公司只经营一日游业务,只选择小型船,应如何规划旅游线路?,表2:景点每半天可接待游客的人数,尽可能满足景点最大接待能力:,各景点

14、半天最多接待船数Si:A:S1=6B:S2=11C:S3=6D:S4=7E:S5=5,决策变量:航程为PijP的船数xij,岛i岛j的人均费用:cij,表1:岛屿及港口之间距离(km),港口P岛i的人均费用:pi,航程为PijP的单船费用:40(pi+cij+pj),旅行社总成本:,目标函数:,约束:,xij为正整数,xij为正整数,,sets:dao/dao1.dao5/:p,s;link(dao,dao):c,x;endsetsmin=sum(link(i,j):40*(p(i)+c(i,j)+p(j)*x(i,j);for(dao(i):sum(dao(j):x(i,j)=s(i);fo

15、r(dao(j):sum(dao(i):x(i,j)=s(j);for(link(i,i):x(i,i)=0);for(link:gin(x);,data:p=70,115,90,95,85;s=6,11,6,7,5;c=0,46,21,50,60,46,0,30,32,55,21,30,0,48,53,50,32,48,0,21,60,55,53,21,0;text()=table(x);enddata,DAO1 DAO2 DAO3 DAO4 DAO5 DAO1 0 3 3 0 0 DAO2 6 0 3 2 0 DAO3 0 6 0 0 0 DAO4 0 2 0 0 5 DAO5 0 0 0

16、 5 0,派船方案:PABP:3条 PACP:3条 PBAP:6条 PBCP:3条 PBDP:2条 PCBP:6条 PDBP:2条 PDEP:5条 PEDP:5条,共需要35条小船,总成本:308600,假设游船都是满载的。,问题二:若该公司只经营一日游业务,可同时选择大型船与小型船,应如何规划旅游线路?,表2:景点每半天可接待游客的人数,尽可能满足景点最大接待能力:,景点i 半天最多接待大船数Ti小船数Si剩余接待能力mi,构成数组(Ti,Si,mi)A:(0,6,0),(1,3,20),(2,1,0)B:(0,11,30),(1,9,10),(2,6,30),(3,4,10),(4,1,3

17、0)C:(0,6,10),(1,3,30),(2,1,10)D:(0,7,0),(1,4,20),(2,2,0)E:(0,5,10),寻找满足“尽可能满足景点最大接待能力”的合理模式!使景点的剩余接待能力最小!,A:(0,6,0),(1,3,20),(2,1,0)B:(0,11,30),(1,9,10),(2,6,30),(3,4,10),(4,1,30)C:(0,6,10),(1,3,30),(2,1,10)D:(0,7,0),(1,4,20),(2,2,0)E:(0,5,10),“尽可能满足景点最大接待能力”的合理模式:A B C D E(0,6)(1,9)(0,6)(0,7)(0,5)(

18、0,6)(1,9)(0,6)(2,2)(0,5)(0,6)(1,9)(2,1)(0,7)(0,5)(0,6)(1,9)(2,1)(2,2)(0,5)(0,6)(3,4)(0,6)(0,7)(0,5)(0,6)(3,4)(0,6)(2,2)(0,5)(0,6)(3,4)(2,1)(0,7)(0,5)(0,6)(3,4)(2,1)(2,2)(0,5),“尽可能满足景点最大接待能力”的合理模式:A B C D E(2,1)(1,9)(0,6)(0,7)(0,5)(2,1)(1,9)(0,6)(2,2)(0,5)(2,1)(1,9)(2,1)(0,7)(0,5)(2,1)(1,9)(2,1)(2,2)

19、(0,5)(2,1)(3,4)(0,6)(0,7)(0,5)(2,1)(3,4)(0,6)(2,2)(0,5)(2,1)(3,4)(2,1)(0,7)(0,5)(2,1)(3,4)(2,1)(2,2)(0,5),“尽可能满足景点最大接待能力”的合理模式:模式 A B C D E1.(0,6)(1,9)(2,1)(2,2)(0,5)2.(0,6)(3,4)(2,1)(2,2)(0,5)3.(2,1)(1,9)(0,6)(0,7)(0,5)4.(2,1)(1,9)(2,1)(0,7)(0,5)5.(2,1)(1,9)(2,1)(2,2)(0,5)6.(2,1)(3,4)(0,6)(2,2)(0,5

20、)7.(2,1)(3,4)(2,1)(0,7)(0,5)8.(2,1)(3,4)(2,1)(2,2)(0,5)共8种合理模式!模式1:T=(0,1,2,2,0),S=(6,9,1,2,5)模式8:T=(2,3,2,2,0),S=(1,4,1,2,5),决策变量:航程为PijP的小船数xij,大船数yij,岛i岛j的人均费用:cij,港口P岛i的人均费用:pi,航程为PijP的小船单船费用:40(pi+cij+pj),旅行社总成本:,航程为PijP的大船单船费用:85(pi+cij+pj),目标函数:,约束:,xij,yij为正整数,目标函数:,xij,yij为正整数 i,j=1,2,3,4,5

21、,sets:dao/dao1.dao5/:p,s,t;link(dao,dao):c,x,y;endsetsmin=sum(link(i,j):(p(i)+c(i,j)+p(j)*(40*x(i,j)+85*y(i,j);for(dao(i):sum(dao(j):x(i,j)=s(i);sum(dao(j):y(i,j)=t(i);for(dao(j):sum(dao(i):x(i,j)=s(j);sum(dao(i):y(i,j)=t(j);for(link(i,i):x(i,i)=0;y(i,i)=0);for(link:gin(x);gin(y);,模式1:T=(0,1,2,2,0),

22、S=(6,9,1,2,5),data:p=70,115,90,95,85;s=6,9,1,2,5;t=0,1,2,2,0;c=0,46,21,50,60,46,0,30,32,55,21,30,0,48,53,50,32,48,0,21,60,55,53,21,0;text()=table(x);text()=table(y);enddata,Objective value:311600.0,DAO1 DAO2 DAO3 DAO4 DAO5 DAO1 0 5 1 0 0 DAO2 6 0 0 0 3 DAO3 0 1 0 0 0 DAO4 0 0 0 0 2 DAO5 0 3 0 2 0 DA

23、O1 DAO2 DAO3 DAO4 DAO5 DAO1 0 0 0 0 0 DAO2 0 0 1 0 0 DAO3 0 0 0 2 0 DAO4 0 1 1 0 0 DAO5 0 0 0 0 0,模式1:T=(0,1,2,2,0),S=(6,9,1,2,5),模式2,模式3,,模式8:T=(2,3,2,2,0),S=(1,4,1,2,5),Objective value 287285.0,DAO1 DAO2 DAO3 DAO4 DAO5 DAO1 0 1 0 0 0 DAO2 0 0 1 0 3 DAO3 1 0 0 0 0 DAO4 0 0 0 0 2 DAO5 0 3 0 2 0 DAO1

24、 DAO2 DAO3 DAO4 DAO5 DAO1 0 1 1 0 0 DAO2 0 0 1 2 0 DAO3 2 0 0 0 0 DAO4 0 2 0 0 0 DAO5 0 0 0 0 0,三、非线性规划模型,特点:目标函数或约束条件为为非线性函数。,一般模型:,例4(选址问题)某公司有6个建筑工地,位置坐标为(ai,bi)(单位:km),水泥日用量di(单位:吨),(1)现有2个料场,位于P(5,1),Q(2,7),记(xj,yj),j=1,2,日储量ej各为20吨。,问如何安排每天的供应计划,能使从P,Q两料场分别向各工地运送水泥的总吨公里数最小。,(假设:料场和工地之间有直线道路),决

25、策变量:从P向各工地运量ti1从Q向各工地运量ti2,(i=1,2,6;j=1,2),s.t:,sets:demand/1.6/:a,b,d;supply/1,2/:x,y,e;link(demand,supply):t;endsetsOBJmin=sum(link(i,j):t(i,j)*sqrt(x(j)-a(i)2+(y(j)-b(i)2);for(supply(j):sum(demand(i):t(i,j)=e(j);for(demand(i):sum(supply(j):t(i,j)=d(i);data:a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,

26、4.75,5,6.5,7.75;d=3,5,4,7,6,11;e=20,20;x=5,2;y=1,7;text()=table(t);enddata,(2)改建两个新料场,需要确定新料场位置(xj,yj)和运量tij,在其它条件不变下使总吨公里数最小。,(i=1,2,6;j=1,2),s.t:,(i=1,2,6;j=1,2),s.t:,sets:demand/1.6/:a,b,d;supply/1,2/:x,y,e;link(demand,supply):t;endsetsOBJmin=sum(link(i,j):t(i,j)*sqrt(x(j)-a(i)2+(y(j)-b(i)2);for(

27、supply(j):sum(demand(i):t(i,j)=e(j);for(demand(i):sum(supply(j):t(i,j)=d(i);data:a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,4.75,5,6.5,7.75;d=3,5,4,7,6,11;e=20,20;text()=table(t);enddata,四、多目标规划模型,例5 某汽车厂生产A,B,C三种型号的汽车,相关数据如表所示,生产线每天工作8小时,问如何安排生产计划可使每月(30天)所获利润最大?,决策变量:xi表示第i种汽车的月产量,xi为正整数,求解得:x1=2,x2=

28、14,x3=7时,最大利润为:82万元,由于市场发生了以下变化,B型车销量有下降趋势,C型车销量有上升趋势,A型车的原料成本增加,使利润下降,因此工厂要求(1)B型车的产量不大于C型车的产量。(2)适当降低A型车产量。(3)尽量不要加班生产(4)尽可能达到或超过原计划利润指标82万元。请根据以上要求重新调整生产方案。,由于实际生产受外界因素影响,实际利润z*与82万元可能有偏差,超额完成指标的偏差量称为正偏差,记为:d+未完成指标的偏差量称为负偏差,记为:d-规定:若超额完成指标,d+0,d-=0 若未完成指标,d+=0,d-0 恰好完成指标,d+=0,d-=0则必有:d+d-0,xi为正整数

29、,实际利润z*=82当且仅当d+d-=0,即d+d-达到最小,xi为正整数,xi为正整数,工厂要求(4)尽可能达到或超过原计划利润指标82万元。,(1)B型车的产量不大于C型车的产量。,(3)尽量充分利用设备台时,不要加班生产,(2)适当降低A型车产量。,目标函数:,根据各目标的重要程度,赋予权值,目标函数:,xi为正整数,1.基本概念(1)偏差量:正偏差量表示超额完成指标偏差量:d+=指标的实际值-预计的指标值;负偏差量表示未完成指标的偏差量:d-=预计的指标值-指标的实际值。若超额完成了指标,则d+0,d-=0;若未完成指标,则d-0,d+=0;若恰好完成指标,则d+=d-=0;,(2)绝

30、对(刚性)约束和目标约束:绝对约束是指必须满足的等式约束或者不等式约束。目标约束是目标规划特有的,可以把约束右端项看作是想要达到的目标值,在达到此目标值时允许存在正的或者负的偏差,因此在这约束条件中加入正、负偏差量。(3)优先因子与权系数:对于任意一个多目标决策问题中多个目标总能有主次之分,也就是可以根据各个目标的主次排出优先级。,(4)目标函数与偏差变量:目标规划的目标函数是:min=f(d+,d-)假设要求恰好达到目标值,即要求目标的正负偏差都尽可能的小;假设要求超过指标值,即要求目标的正偏差不限,而负偏差越小越好;假设要求不超过指标值,即要求目标的负偏差不限,而正偏差越小越好。,多目标决

31、策问题的一般的目标规划模型,例6(节能灯具生产问题)某灯具厂接到了订购16000套A型和B型节能灯具的订货合同,合同中没有对两种灯具各自的数量做要求,但合同要求工厂在一周内完成生产任务并交货。根据该厂的生产能力,一周内可以利用的生产时间为20000min,可利用的包装时间为36000min,生产和包装完成一套A型灯具各需要2min,生产和包装完成一套B型灯具分别需要1min和3min,每套A型灯具成本7元,销售价15元;每套B型灯具成本14元,销售价20元;厂长要求:(1)必须要按合同完成任务,既不要有不足量也不要有超过量。(2)销售额尽量达到或接近275000元。(3)在生产时间和包装时间上

32、可以有所增加,但超过量尽可能小。在实际中增加生产时间比增加包装时间困难的多,试为该厂制定生产计划。,要求:(1)必须要按合同完成任务,既不要有不足量也不要有超过量。(x1+x2=16000),决策变量:分别 x1,x2分别表示A型、B型灯具的数量。,用 分别表示未达到和超额完成16000套的偏差量;,(2)销售额尽量达到或接近275000元。,用 分别表示未完成和超额完成销售指标的偏差量;,(3)在生产时间和包装时间上可以有所增加,但超过量尽可能小。,用 分别表示减少和增加生产时间的偏差量;用 分别表示减少和增加包装时间的偏差量;,在实际中增加生产时间比增加包装时间困难的多,首先确定问题目标的

33、优先级:第一优先级:恰好生产和包装完成节能灯具16000套,赋予优先因子p1;第二优先级:完成或尽量完成销售额275000元,赋予优先因子p2;第三优先级:生产时间和包装时间的增加尽量的小,赋予优先因子p3;,该问题的目标规划模型:,模型求解:采用序贯算法,模型求解的序贯算法:,第一步:求解第一目标模型,得最优值:,模型求解的序贯算法:,第二步:求解第二目标模型,得最优值:,模型求解的序贯算法:,第三步:求解第三目标模型,得最优值:,记:,模型化为:,记:,模型化为:,模型化为:,sets:nx/1.2/:x;you/1.3/:p,f,z;obj/1.4/:d1,d2,g;link1(you,

34、obj):w1,w2;link2(obj,nx):c;endsets,data:p=?;z=?0;c=1,1,15,20,2,1,2,3;g=16000,275000,20000,36000;w1=1,0,0,0,0,1,0,0,0,0,0,0;w2=1,0,0,0,0,0,0,0,0,0,0.4,0.6;enddata,min=sum(you:p*f);for(you(k):f(k)=sum(obj(i):(w1(k,i)*d1(i)+w2(k,i)*d2(i););for(obj(i):sum(nx(j):c(i,j)*x(j)+d1(i)-d2(i)=g(i);for(obj(k)|k#

35、lt#size(you):bnd(0,f(k),z(k););for(nx:gin(x);,程序运行方法:共有三级目标,需运行三次该程序。第一次运行时,取p(1)=1,p(2)=p(3)=0,z(1)与z(2)都取较大的值。得:Objective value:0.000000,X(1)0.000000 X(2)16000.00 第二次运行时,取p(1)=0,p(2)=1,p(3)=0,z(1)=0,z(2)取较大的值。得:Objective value:0.000000,X(1)0.000000 X(2)16000.00第三次运行时,取p(1)=0,p(2)=0,p(3)=0,z(1)=0,z

36、(2)=0得:X(1)9000 X(2)7000 D2(3)5000 D2(4)3000,第三次运行时,取p(1)=0,p(2)=0,p(3)=0,z(1)=0,z(2)=0得:X(1)9000 X(2)7000 D2(3)5000 D2(4)3000该厂生产A灯具9000套,B灯具7000套,可完成计划,且完成销售指标275000元,生产时间需增加5000min,包装时间需增加3000min。,交巡警服务平台的设置与调度 警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。每个交巡警服务平台的职能和警力

37、配备基本相同。由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。,附图1:A区的交通网络与平台设置的示意图,说明:(1)图中实线表示市区道路(2)实圆点“”表示交叉路口的节点,没有实圆点的交叉线为道路

38、立体相交;(3)星号“*”表示出入城区的路口节点;(4)圆圈“”表示现有交巡警服务平台的设置点;(5)圆圈加星号“*”表示在出入城区的路口处设置了交巡警服务平台;,为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。设立目标:各交警平台任务量尽量均衡 各平台到所管辖的路口的用时总量最小约束:遇突发事件时,尽量能在3分钟内有警车到达事发地。每个路口只被一个平台管辖。决策变量:fij:第i个平台管辖第j个路口已知量:第j个路口的案发率 各路口的坐标 各条道路的起点与终点标号由已知可求出各条道路的长度,从而得到各路口的邻

39、接矩阵,,首先提取附件2中:全市交通路口节点数据、全市交通路口路线的数据,将这两组数据保存在文件jiaojing.mat文件中,该文件包含两个矩阵,矩阵A是交通路口节点数据(5825),矩阵B是交通路口线路(9282)。,建立A区道路的赋权邻接矩阵D1,load jiaojing%jiaojing中矩阵A为路口节点矩阵,为1列编号,2列横坐标,3列纵坐标,4案发率,B为路口线路,1列路口起点标号,2列终点标号xi=B(:,1);yi=B(:,2);m=length(xi);P=sparse(xi,yi,ones(1,m);P0=P+P;%全市道路邻接矩阵,有道路连接为1,其余为0PA=P0(1

40、:92,1:92);%A区道路邻接矩阵,有道路连接为1,其余为0PA(find(PA=1)=inf;for i=1:92;PA(i,i)=0;endxx=A(:,2);yy=A(:,3);for i=1:582%d为全市各路口直线距离矩阵 for j=1:582 d(i,j)=sqrt(xx(i)-xx(j)2+(yy(i)-yy(j)2);endendd1=d(1:92,1:92);D1=PA.*d1;%D1为A区道路赋权邻接矩阵,利用floyd法求出A区的最短路矩阵D,D=D1;n=length(D);path=zeros(n);for k=1:n for i=1:n for j=1:n

41、if D(i,j)D(i,k)+D(k,j)D(i,j)=D(i,k)+D(k,j);path(i,j)=k;end end endendD,按尽量在3分钟之内有交警到达事发路口的要求,确定各交巡警平台可以管辖的路口:,T=zeros(92,20);c=D(:,1:20)/10;%c为A区各路口到各平台的警车最小用时矩阵for i=1:92 for j=1:20 if c(i,j)20;T(i,j)=1;end endendT=sparse(T);%T为在3分钟内有警车可达的A区各路口矩阵,T(i,j)=1表示第j平台警车在3分钟内可达第i路口。,TT=;%TT的i列为第为第i个平台3分钟内可

42、达的路口for i=1:20 ff=T(:,i);td=find(ff);TT(i)=td;endkk=1:92;U=;for i=1:20%该循环将第i个平台3分钟内可达的路口显示出来 AA=TTi;i,AA kk=setdiff(kk,AA);endkk=setdiff(kk,1:20)%kk存3分钟内没有警车可达的路口,平台编号 可在3分钟内到达路口 1 42 43 44 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 2 40 42 43 44 66 67 68 69 70 71 72 73 74 75 76 78 3 43 44

43、54 55 64 65 66 67 68 70 76 4 57 58 60 62 63 64 65 66 5 47 48 49 50 51 52 53 56 58 59 6 47 48 50 51 52 56 58 59 7 30 31 32 33 34 47 48 8 31 32 33 34 35 36 37 45 46 47 9 31 32 33 34 35 36 37 45 46 10 11 25 26 27 12 25,平台编号 警车可在3分钟内到达路口 13 21 22 23 24 14 15 31 16 33 34 35 36 37 45 46 17 40 41 42 43 70

44、72 18 71 72 73 74 77 78 79 80 81 82 83 84 85 87 88 89 90 91 19 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 8320 20 81 82 83 84 85 86 87 88 89 90 91,而28 29 38 39 61 92号路口无警车可在3分钟内到达,将28 29 38 39 61 92号路口分到最近的交巡警平台:,c1=c(kk,:);%3分钟内无警车可达路口到各平台的最短时间for i=1:6 t=c1(i,:);v(i)=find(t=min(t);%距离路口

45、最近的平台endkk,v%将其归到距离路口最近的平台,第28 29 号路口分到15号交巡警平台第38号路口分到16号交巡警平台第39号路口分到2号交巡警平台第61号路口分到7号交巡警平台第92号路口分到20号交巡警平台,决策变量:,第i路口由第j平台管辖,否则,第i路口的案发率,第i路口可以被第j平台管,否则,第i路口到达第j平台的最短时间,输出 为文本文件,以便lingo调用,T=sparse(T);%T为在3分钟内有警车可达的A区各路口矩阵,T(i,j)=1表示第j平台警车在3分钟内可达第i路口。for i=1:20 T(i,i)=1;endT(28,15)=1;T(29,15)=1;T(

46、38,16)=1;T(39,2)=1;T(61,7)=1;T(92,20)=1;u=full(T);%各警用平台在3分钟内警车可达的路口 c=full(c);,提取jiaojin1与jiaojin2数据.,sets:luk/1.92/:r;pt/1.20/:w;link(luk,pt):c,u,f;endsets data:r=1.7,2.1,2.2,1.7,2.1,2.5,2.4,2.4,2.1,1.6,2.6,2.4,2.2,2.5,2.1,2.6,2.5,1.9,1.8,1.9,1.4,1.4,2.4,1.1,1.6,1.2,0.8,1.3,1.4,2.1,1.6,1.5,1.4,1.7

47、,1.4,1.1,0.1,1.2,1.4,1.7,1.4,1.4,1.7,1.1,1.4,1.2,1.6,1.4,1.2,1.1,0.8,0.6,1.4,0.9,1,0.5,0.8,1.1,0.9,0.7,0.6,1.2,1.4,0.8,0.7,0.8,0.8,0.9,1.1,0.9,1.1,0.8,0.9,1.1,0.8,1.1,0.8,0.8,0.8,0.8,1.4,1.1,0.9,1,1.2,1.4,1.1,0.9,1.4,0.9,0.9,0.8;u=file(F:jiaojin2.txt);c=file(F:jiaojin1.txt);enddata,min=sum(pt(j):(w(

48、j)-RR)2);for(luk(i):sum(pt(j):f(i,j)=1);for(link(i,j):f(i,j)=u(i,j);for(pt(j):w(j)=sum(luk(i):r(i)*f(i,j);for(link(i,j):bin(f(i,j);RR=sum(luk(j):r(j)/20;,求得第一目标值为:59.6175以此作为约束,求第二目标,sets:endsets data:r=;u=file(jiaojin2.txt);c=file(jiaojin1.txt);text(fff.txt)=table(f);enddata,min=sum(link(i,j):c(I,j

49、)*f(I,j);sum(pt(j):(w(j)-RR)2)=59.6175;for(luk(i):sum(pt(j):f(i,j)=1);for(link(i,j):f(i,j)=u(i,j);for(pt(j):w(j)=sum(luk(i):r(i)*f(i,j);for(link(i,j):bin(f(i,j);RR=sum(luk(j):r(j)/20;,平台编号 管辖路口 1 68 69 71 73 74 75 2 2 39 43 70 72 3 44 54 55 65 66 67 4 57 60 62 63 64 5 49 50 52 53 6 51 56 58 59 7 30

50、48 61 8 32 46 47 9 33 34 35 10 11 26 27 12 25,由输出文件fff.txt建立matlab数组ppp得:平台号,平台编号 管辖路口 13 21 22 23 24 14 15 28 29 31 16 36 37 38 45 17 40 41 42 18 82 83 84 87 89 19 76 77 78 79 80 8120 20 85 86 88 90 91 92,各平台管辖路口的案发率之和:W(1)=7.600000 W(2)=6.900000W(3)=7.500000 W(4)=6.600000W(5)=6.400000W(6)=5.800000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号