用lingo求解数学规划模型实例_第1页
用lingo求解数学规划模型实例_第2页
用lingo求解数学规划模型实例_第3页
用lingo求解数学规划模型实例_第4页
用lingo求解数学规划模型实例_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用lingo求解数学规划模型实例一、lingo中的输入输出函数@text函数该函数被用在数据部分,用来将所需的数据输出至文本文件中。其语法为:

@text(filename)这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。如果忽略filename,那么数据就被输出到标准输出设备(大多数情形都是屏幕)。

@text函数仅能出现在模型数据部分的一条语句的左边。如在例6.7(职员时序安排模型)一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天,试求每周所需最少职员数,并给出安排。注意这里我们考虑稳定后的情况。决策变量:xi第i周天开始上班的人数;

目标函数:sets:day/mon..sun/:x,d;endsets[obj]min=@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:\数学软件\lingoli\li607.txt)=day'开始上班的人数为'x;EnddataMON开始上班的人数为8.0000000TUE开始上班的人数为

2.0000000WED开始上班的人数为

0.0000000THU开始上班的人数为

6.0000000FRI开始上班的人数为

3.0000000SAT开始上班的人数为

3.0000000SUN开始上班的人数为

0.0000000@file函数该函数用从外部文件中输入数据,可以放在模型中任何地方。语法格式为@file(filename)这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。执行一次@file输入1个记录,记录之间的分隔符为

~。@table函数该函数以表格形式输出数据,只能在数据段(DATA)中使用。二、线性规划模型特点:目标函数与约束条件均为一次的。线性规划的一般模型例1(运输规划模型)某产品有6个产地Ai和8个销售地Bj(i=1,2,…,6,j=1,2,…,8),产地到销地的单位运价见下表,问如何安排运输可使运输总费用最小。B1B2B3B4B5B6B7B8产量A16267425960A24953858255A35219743351A47673927143A52395726541A65522814352销量3537223241324338

单位运价表:产地总产量和:302销地总销量和:280产大于销的模型。产地Ai:总产量ai销地Bi:总销量bi产地Ai到销地Bj:单位运价cij运输量xiji=1,2,…,6;j=1,2,…,8决策变量:产地Ai到销地Bj的运输量xij从产地Ai到销地Bj的运费cijxij从Ai到各销地的运费总运费目标函数:产地Ai:总产量ai销地Bi:总销量bi产地Ai到销地Bj:单位运价cij运输量xiji=1,2,…,6;j=1,2,…,8产地总产量和:302销地总销量和:280为产大于销的模型。目标函数:运往Bj的总运量:从Aj运出的总量:对变量xij的限制:i=1,2,…,6;j=1,2,…,8sets:chdi/w1..w6/:a;xdi/v1..v8/:b;link(chdi,xdi):c,x;endsets[obj]min=@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,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);enddatas.t:V1V2V3V4V5V6V7V8W10190041000W2100320000W30110000400W4000005038W5347000000W60022002730Objectivevalue:664.0000例2(指派问题)九种不同型号的装备配给9个部队,由于各部队的特点与条件不同,不同的装备在不同部队中产生效能不同,问如何分配可保证每个部队各分得一种装备,且使总效能最大(装备在不同部队的效能见下表)。0.240.420.150.460.340.690.030.570.690.310.040.600.690.110.240.450.350.27 0.31 0.240.080.140.540.610.370.480.34 0.490.060.280.130.650.410.550.250.36 0.630.150.310.600.060.410.470.190.31 0.450.020.370.140.690.290.610.180.46 0.450.070.260.150.180.430.550.660.08 0.320.240.580.640.430.450.090.050.20 0.330.560.410.130.650.070.220.460.11123456789ABCDEFGHI装备部队设第i个部队分配第j种装备目标函数:xij=0或1(i,j=1,2,…,9)第i个部队不分配第j种装备xij=0或1(i,j=1,2,…,9)sets:

army/ar1..ar9/;equi/eq1..eq9/;link(army,equi):a,x;endsets[obj]max=@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:\数学软件\lingoli\dali002.txt);@text(F:\数学软件\lingoli\li002.txt)=@table(x);enddata

EQ1EQ2EQ3EQ4EQ5EQ6EQ7EQ8EQ9AR1000000001AR2000100000AR3000001000AR4000010000AR5100000000AR6000000100AR7000000010AR8001000000AR90100000000.240.420.150.460.340.690.030.570.690.310.040.600.690.110.240.450.350.27 0.31 0.240.080.140.540.610.370.480.34 0.490.060.280.130.650.410.550.250.36 0.630.150.310.600.060.410.470.190.31 0.450.020.370.140.690.290.610.180.46 0.450.070.260.150.180.430.550.660.08 0.320.240.580.640.430.450.090.050.20 0.330.560.410.130.650.070.220.460.11123456789ABCDEFGHI装备部队例3(合理设计海岛旅游线路问题)某景区由5个海岛A,B,C,D,E组成。海岛之间及与大陆港口P的距离由表1给出,每个海岛的游览时间为半天,C,D两个岛屿有旅馆可供住宿。游览的过程为:游船早晨由港口P出发,每半天游览一个景点。如果行程超过一天,则晚上选择岛屿C或D住宿。游览结束后回到港口P。景点每次接待游客的能力由表2给出,目前旅行社可选择大、小两种游船用于旅游。大型可载乘客100人,小型可载乘客40人。大型游船的每公里客均费用是小型游船的85%,但景点E只能停泊小型游船。客均旅行费用正比于船的行程。针对问题一、二、三、四分别建立数学模型,完成规划旅游线路的设计,要求在尽可能满足各景点最大接待能力的条件下,使旅行社的成本尽可能低?问题一:若该公司只经营一日游业务,只选择小型船,应如何规划旅游线路?问题二:若该公司只经营一日游业务,可同时选择小型船和大型船,应如何规划旅游线路?问题三:若该公司同时经营一日游、二日游业务,只选择小型船,应如何规划旅游线路?问题四:若该公司同时经营一日游、二日游业务,可同时选择小型船和大型船,应如何规划旅游线路?表1:岛屿及港口之间距离(km)ABCDE大陆港口PA4621506070B303255115C485390D2195E85景点旅游(半天)住宿(每晚)A240B470C250280D280200E210

表2:景点每半天可接待游客的人数假设游船都是满载的。问题一:若该公司只经营一日游业务,只选择小型船,应如何规划旅游线路?景点旅游(半天)住宿(每晚)A240B470C250280D280200E210

表2:景点每半天可接待游客的人数尽可能满足景点最大接待能力:各景点半天最多接待船数Si:A:S1=6B:S2=11C:S3=6D:S4=7E:S5=5决策变量:航程为P—i—j—P的船数xij岛i—岛j的人均费用:cij表1:岛屿及港口之间距离(km)ABCDE大陆港口PA4621506070B303255115C485390D2195E85港口P—岛i的人均费用:pi航程为P—i—j—P的单船费用: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));@for(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

DAO1DAO2DAO3DAO4DAO5DAO103300DAO260320DAO306000DAO402005DAO500050派船方案:

P—A—B—P:3条

P—A—C—P:3条

P—B—A—P:6条

P—B—C—P:3条

P—B—D—P:2条

P—C—B—P:6条

P—D—B—P:2条

P—D—E—P:5条

P—E—D—P:5条共需要35条小船,总成本:308600假设游船都是满载的。问题二:若该公司只经营一日游业务,可同时选择大型船与小型船,应如何规划旅游线路?景点旅游(半天)住宿(每晚)A240B470C250280D280200E210

表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,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:(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)“尽可能满足景点最大接待能力”的合理模式:ABCDE(0,6)(1,9)(0,6)(0,7)(0,5)(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)“尽可能满足景点最大接待能力”的合理模式:ABCDE(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)(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)“尽可能满足景点最大接待能力”的合理模式:模式ABCDE1.(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)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)决策变量:航程为P—i—j—P的小船数xij,大船数yij岛i—岛j的人均费用:cij港口P—岛i的人均费用:pi航程为P—i—j—P的小船单船费用:40(pi+cij+pj)旅行社总成本:航程为P—i—j—P的大船单船费用:85(pi+cij+pj)目标函数:约束:xij,yij为正整数目标函数:xij,yij为正整数

i,j=1,2,3,4,5sets:

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),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

Objectivevalue:311600.0DAO1DAO2DAO3DAO4DAO5DAO105100DAO260003DAO301000DAO400002DAO503020DAO1DAO2DAO3DAO4DAO5DAO100000DAO200100DAO300020DAO401100DAO500000模式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)Objectivevalue287285.0DAO1DAO2DAO3DAO4DAO5DAO101000DAO200103DAO310000DAO400002DAO503020DAO1DAO2DAO3DAO4DAO5DAO101100DAO200120DAO320000DAO402000DAO500000三、非线性规划模型特点:目标函数或约束条件为为非线性函数。一般模型:例4(选址问题)某公司有6个建筑工地,位置坐标为(ai,bi)(单位:km),水泥日用量di

(单位:吨)ABCDEFai1.258.750.55.7537.25bi1.250.754.7556.57.75di3547611(1)现有2个料场,位于P(5,1),Q(2,7),记(xj,yj),j=1,2,日储量ej各为20吨。问如何安排每天的供应计划,能使从P,Q两料场分别向各工地运送水泥的总吨公里数最小。(假设:料场和工地之间有直线道路)决策变量:从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;endsets[OBJ]min=@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,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;endsets[OBJ]min=@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,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天)所获利润最大?工时(小时/辆)市场需求(辆/月)利润(万元/辆)A8102.5B10153.5C1294决策变量:xi表示第i种汽车的月产量xi为正整数求解得:x1=2,x2=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-≥0xi为正整数实际利润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)绝对(刚性)约束和目标约束:绝对约束是指必须满足的等式约束或者不等式约束。目标约束是目标规划特有的,可以把约束右端项看作是想要达到的目标值,在达到此目标值时允许存在正的或者负的偏差,因此在这约束条件中加入正、负偏差量。(3)优先因子与权系数:对于任意一个多目标决策问题中多个目标总能有主次之分,也就是可以根据各个目标的主次排出优先级。(4)目标函数与偏差变量:目标规划的目标函数是:min=f(d+,d-)

假设要求恰好达到目标值,即要求目标的正负偏差都尽可能的小;

假设要求超过指标值,即要求目标的正偏差不限,而负偏差越小越好;假设要求不超过指标值,即要求目标的负偏差不限,而正偏差越小越好。多目标决策问题的一般的目标规划模型例6(节能灯具生产问题)某灯具厂接到了订购16000套A型和B型节能灯具的订货合同,合同中没有对两种灯具各自的数量做要求,但合同要求工厂在一周内完成生产任务并交货。根据该厂的生产能力,一周内可以利用的生产时间为20000min,可利用的包装时间为36000min,生产和包装完成一套A型灯具各需要2min,生产和包装完成一套B型灯具分别需要1min和3min,每套A型灯具成本7元,销售价15元;每套B型灯具成本14元,销售价20元;厂长要求:(1)必须要按合同完成任务,既不要有不足量也不要有超过量。(2)销售额尽量达到或接近275000元。(3)在生产时间和包装时间上可以有所增加,但超过量尽可能小。在实际中增加生产时间比增加包装时间困难的多,试为该厂制定生产计划。要求:(1)必须要按合同完成任务,既不要有不足量也不要有超过量。(x1+x2=16000)决策变量:分别x1,x2分别表示A型、B型灯具的数量。用分别表示未达到和超额完成16000套的偏差量;(2)销售额尽量达到或接近275000元。用分别表示未完成和超额完成销售指标的偏差量;(3)在生产时间和包装时间上可以有所增加,但超过量尽可能小。用分别表示减少和增加生产时间的偏差量;用分别表示减少和增加包装时间的偏差量;在实际中增加生产时间比增加包装时间困难的多首先确定问题目标的优先级:第一优先级:恰好生产和包装完成节能灯具16000套,赋予优先因子p1;第二优先级:完成或尽量完成销售额275000元,赋予优先因子p2;第三优先级:生产时间和包装时间的增加尽量的小,赋予优先因子p3;该问题的目标规划模型:模型求解:采用序贯算法模型求解的序贯算法:第一步:求解第一目标模型得最优值:模型求解的序贯算法:第二步:求解第二目标模型得最优值:模型求解的序贯算法:第三步:求解第三目标模型得最优值:记:模型化为:记:模型化为:模型化为:sets:nx/1..2/:x;you/1..3/:p,f,z;obj/1..4/:d1,d2,g;link1(you,obj):w1,w2;link2(obj,nx):c;endsetsdata: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;enddatamin=@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#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)都取较大的值。得:Objectivevalue:0.000000,X(1)0.000000X(2)16000.00第二次运行时,取p(1)=0,p(2)=1,,p(3)=0,z(1)=0,z(2)取较大的值。得:Objectivevalue:0.000000,X(1)0.000000X(2)16000.00第三次运行时,取p(1)=0,p(2)=0,,p(3)=0,z(1)=0,z(2)=0得:X(1)9000X(2)7000D2(3)5000D2(4)3000第三次运行时,取p(1)=0,p(2)=0,,p(3)=0,z(1)=0,z(2)=0得:X(1)9000X(2)7000D2(3)5000D2(4)3000该厂生产A灯具9000套,B灯具7000套,可完成计划,且完成销售指标275000元,生产时间需增加5000min,包装时间需增加3000min。交巡警服务平台的设置与调度警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。每个交巡警服务平台的职能和警力配备基本相同。由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。附图1:A区的交通网络与平台设置的示意图

说明:(1)图中实线表示市区道路(2)实圆点“·”表示交叉路口的节点,没有实圆点的交叉线为道路立体相交;(3)星号“*”表示出入城区的路口节点;(4)圆圈“○”表示现有交巡警服务平台的设置点;(5)圆圈加星号“○*”表示在出入城区的路口处设置了交巡警服务平台;为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。设立目标:各交警平台任务量尽量均衡各平台到所管辖的路口的用时总量最小约束:遇突发事件时,尽量能在3分钟内有警车到达事发地。每个路口只被一个平台管辖。决策变量:fij

:第i个平台管辖第j个路口已知量:第j个路口的案发率各路口的坐标各条道路的起点与终点标号由已知可求出各条道路的长度,从而得到各路口的邻接矩阵,首先提取附件2中:全市交通路口节点数据、全市交通路口路线的数据,将这两组数据保存在文件‘jiaojing.mat’文件中,该文件包含两个矩阵,矩阵A是交通路口节点数据(582×5),矩阵B是交通路口线路(928×2)。建立A区道路的赋权邻接矩阵D1loadjiaojing

%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:92,1:92);%A区道路邻接矩阵,有道路连接为1,其余为0PA(find(PA~=1))=inf;fori=1:92;PA(i,i)=0;endxx=A(:,2);yy=A(:,3);fori=1:582%d为全市各路口直线距离矩阵

forj=1:582d(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区的最短路矩阵DD=D1;n=length(D);path=zeros(n);fork=1:n

fori=1:n

forj=1:n

ifD(i,j)>D(i,k)+D(k,j)D(i,j)=D(i,k)+D(k,j);path(i,j)=k;

endendendendD,按尽量在3分钟之内有交警到达事发路口的要求,确定各交巡警平台可以管辖的路口:T=zeros(92,20);c=D(:,1:20)/10;%c为A区各路口到各平台的警车最小用时矩阵fori=1:92

forj=1:20

ifc(i,j)<=3&i>20;T(i,j)=1;

endendendT=sparse(T);%T为在3分钟内有警车可达的A区各路口矩阵,T(i,j)=1表示第j平台警车在3分钟内可达第i路口。TT={};%TT的i列为第为第i个平台3分钟内可达的路口fori=1:20ff=T(:,i);td=find(ff);TT(i)={td};endkk=1:92;U=[];fori=1:20%该循环将第i个平台3分钟内可达的路口显示出来AA=TT{i}’;[i,AA]kk=setdiff(kk,AA);endkk=setdiff(kk,1:20)%kk存3分钟内没有警车可达的路口平台编号可在3分钟内到达路口

14243446465666768697071727374757677787980240424344666768697071727374757678343445455646566676870764575860626364656654748495051525356585964748505152565859730313233344748831323334353637454647931323334353637454610112526271225平台编号警车可在3分钟内到达路口

132122232414153116333435363745461740414243707218717273747778798081828384858788899091196465666768697071737475767778798081828320208182838485868788899091而282938396192号路口无警车可在3分钟内到达将282938396192号路口分到最近的交巡警平台:c1=c(kk,:);%3分钟内无警车可达路口到各平台的最短时间fori=1:6t=c1(i,:);v(i)=find(t==min(t));%距离路口最近的平台end[kk‘,v’]%将其归到距离路口最近的平台第2829号路口分到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路口。fori=1:20T(i,i)=1;endT(28,15)=1;T(29,15)=1;T(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;endsetsdata:r=1.7,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论