用lingo求解數(shù)學(xué)規(guī)劃模型實例_第1頁
用lingo求解數(shù)學(xué)規(guī)劃模型實例_第2頁
用lingo求解數(shù)學(xué)規(guī)劃模型實例_第3頁
用lingo求解數(shù)學(xué)規(guī)劃模型實例_第4頁
用lingo求解數(shù)學(xué)規(guī)劃模型實例_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

用lingo求解數(shù)學(xué)規(guī)劃模型實例一、lingo中的輸入輸出函數(shù)@text函數(shù)該函數(shù)被用在數(shù)據(jù)部分,用來將所需的數(shù)據(jù)輸出至文本文件中。其語法為:

@text(filename)這里filename是文件名,可以采用相對路徑和絕對路徑兩種表示方式。如果忽略filename,那么數(shù)據(jù)就被輸出到標(biāo)準(zhǔn)輸出設(shè)備(大多數(shù)情形都是屏幕)。

@text函數(shù)僅能出現(xiàn)在模型數(shù)據(jù)部分的一條語句的左邊。如在例6.7(職員時序安排模型)一項工作一周7天都需要有人(比如護士工作),每天(周一至周日)所需的最少職員數(shù)為20、16、13、16、19、14和12,并要求每個職員一周連續(xù)工作5天,試求每周所需最少職員數(shù),并給出安排。注意這里我們考慮穩(wěn)定后的情況。決策變量:xi第i周天開始上班的人數(shù);

目標(biāo)函數(shù):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:\數(shù)學(xué)軟件\lingoli\li607.txt)=day'開始上班的人數(shù)為'x;EnddataMON開始上班的人數(shù)為8.0000000TUE開始上班的人數(shù)為

2.0000000WED開始上班的人數(shù)為

0.0000000THU開始上班的人數(shù)為

6.0000000FRI開始上班的人數(shù)為

3.0000000SAT開始上班的人數(shù)為

3.0000000SUN開始上班的人數(shù)為

0.0000000@file函數(shù)該函數(shù)用從外部文件中輸入數(shù)據(jù),可以放在模型中任何地方。語法格式為@file(filename)這里filename是文件名,可以采用相對路徑和絕對路徑兩種表示方式。執(zhí)行一次@file輸入1個記錄,記錄之間的分隔符為

~。@table函數(shù)該函數(shù)以表格形式輸出數(shù)據(jù),只能在數(shù)據(jù)段(DATA)中使用。二、線性規(guī)劃模型特點:目標(biāo)函數(shù)與約束條件均為一次的。線性規(guī)劃的一般模型例1(運輸規(guī)劃模型)某產(chǎn)品有6個產(chǎn)地Ai和8個銷售地Bj(i=1,2,…,6,j=1,2,…,8),產(chǎn)地到銷地的單位運價見下表,問如何安排運輸可使運輸總費用最小。B1B2B3B4B5B6B7B8產(chǎn)量A16267425960A24953858255A35219743351A47673927143A52395726541A65522814352銷量3537223241324338

單位運價表:產(chǎn)地總產(chǎn)量和:302銷地總銷量和:280產(chǎn)大于銷的模型。產(chǎn)地Ai:總產(chǎn)量ai銷地Bi:總銷量bi產(chǎn)地Ai到銷地Bj:單位運價cij運輸量xiji=1,2,…,6;j=1,2,…,8決策變量:產(chǎn)地Ai到銷地Bj的運輸量xij從產(chǎn)地Ai到銷地Bj的運費cijxij從Ai到各銷地的運費總運費目標(biāo)函數(shù):產(chǎn)地Ai:總產(chǎn)量ai銷地Bi:總銷量bi產(chǎn)地Ai到銷地Bj:單位運價cij運輸量xiji=1,2,…,6;j=1,2,…,8產(chǎn)地總產(chǎn)量和:302銷地總銷量和:280為產(chǎn)大于銷的模型。目標(biāo)函數(shù):運往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個部隊,由于各部隊的特點與條件不同,不同的裝備在不同部隊中產(chǎn)生效能不同,問如何分配可保證每個部隊各分得一種裝備,且使總效能最大(裝備在不同部隊的效能見下表)。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裝備部隊設(shè)第i個部隊分配第j種裝備目標(biāo)函數(shù):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:\數(shù)學(xué)軟件\lingoli\dali002.txt);@text(F:\數(shù)學(xué)軟件\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(合理設(shè)計海島旅游線路問題)某景區(qū)由5個海島A,B,C,D,E組成。海島之間及與大陸港口P的距離由表1給出,每個海島的游覽時間為半天,C,D兩個島嶼有旅館可供住宿。游覽的過程為:游船早晨由港口P出發(fā),每半天游覽一個景點。如果行程超過一天,則晚上選擇島嶼C或D住宿。游覽結(jié)束后回到港口P。景點每次接待游客的能力由表2給出,目前旅行社可選擇大、小兩種游船用于旅游。大型可載乘客100人,小型可載乘客40人。大型游船的每公里客均費用是小型游船的85%,但景點E只能停泊小型游船??途眯匈M用正比于船的行程。針對問題一、二、三、四分別建立數(shù)學(xué)模型,完成規(guī)劃旅游線路的設(shè)計,要求在盡可能滿足各景點最大接待能力的條件下,使旅行社的成本盡可能低?問題一:若該公司只經(jīng)營一日游業(yè)務(wù),只選擇小型船,應(yīng)如何規(guī)劃旅游線路?問題二:若該公司只經(jīng)營一日游業(yè)務(wù),可同時選擇小型船和大型船,應(yīng)如何規(guī)劃旅游線路?問題三:若該公司同時經(jīng)營一日游、二日游業(yè)務(wù),只選擇小型船,應(yīng)如何規(guī)劃旅游線路?問題四:若該公司同時經(jīng)營一日游、二日游業(yè)務(wù),可同時選擇小型船和大型船,應(yīng)如何規(guī)劃旅游線路?表1:島嶼及港口之間距離(km)ABCDE大陸港口PA4621506070B303255115C485390D2195E85景點旅游(半天)住宿(每晚)A240B470C250280D280200E210

表2:景點每半天可接待游客的人數(shù)假設(shè)游船都是滿載的。問題一:若該公司只經(jīng)營一日游業(yè)務(wù),只選擇小型船,應(yīng)如何規(guī)劃旅游線路?景點旅游(半天)住宿(每晚)A240B470C250280D280200E210

表2:景點每半天可接待游客的人數(shù)盡可能滿足景點最大接待能力:各景點半天最多接待船數(shù)Si:A:S1=6B:S2=11C:S3=6D:S4=7E:S5=5決策變量:航程為P—i—j—P的船數(shù)xij島i—島j的人均費用:cij表1:島嶼及港口之間距離(km)ABCDE大陸港口PA4621506070B303255115C485390D2195E85港口P—島i的人均費用:pi航程為P—i—j—P的單船費用:40(pi+cij+pj)旅行社總成本:目標(biāo)函數(shù):約束:xij為正整數(shù)xij為正整數(shù),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假設(shè)游船都是滿載的。問題二:若該公司只經(jīng)營一日游業(yè)務(wù),可同時選擇大型船與小型船,應(yīng)如何規(guī)劃旅游線路?景點旅游(半天)住宿(每晚)A240B470C250280D280200E210

表2:景點每半天可接待游客的人數(shù)盡可能滿足景點最大接待能力:景點i半天最多接待大船數(shù)Ti小船數(shù)Si剩余接待能力mi,構(gòu)成數(shù)組(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)尋找滿足“盡可能滿足景點最大接待能力”的合理模式!使景點的剩余接待能力最?。:(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的小船數(shù)xij,大船數(shù)yij島i—島j的人均費用:cij港口P—島i的人均費用:pi航程為P—i—j—P的小船單船費用:40(pi+cij+pj)旅行社總成本:航程為P—i—j—P的大船單船費用:85(pi+cij+pj)目標(biāo)函數(shù):約束:xij,yij為正整數(shù)目標(biāo)函數(shù):xij,yij為正整數(shù)

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三、非線性規(guī)劃模型特點:目標(biāo)函數(shù)或約束條件為為非線性函數(shù)。一般模型:例4(選址問題)某公司有6個建筑工地,位置坐標(biāo)為(ai,bi)(單位:km),水泥日用量di

(單位:噸)ABCDEFai1.258.750.55.7537.25bi1.250.754.7556.57.75di3547611(1)現(xiàn)有2個料場,位于P(5,1),Q(2,7),記(xj,yj),j=1,2,日儲量ej各為20噸。問如何安排每天的供應(yīng)計劃,能使從P,Q兩料場分別向各工地運送水泥的總噸公里數(shù)最小。(假設(shè):料場和工地之間有直線道路)決策變量:從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

,在其它條件不變下使總噸公里數(shù)最小。(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四、多目標(biāo)規(guī)劃模型例5某汽車廠生產(chǎn)A,B,C三種型號的汽車,相關(guān)數(shù)據(jù)如表所示,生產(chǎn)線每天工作8小時,問如何安排生產(chǎn)計劃可使每月(30天)所獲利潤最大?工時(小時/輛)市場需求(輛/月)利潤(萬元/輛)A8102.5B10153.5C1294決策變量:xi表示第i種汽車的月產(chǎn)量xi為正整數(shù)求解得:x1=2,x2=14,x3=7時,最大利潤為:82萬元由于市場發(fā)生了以下變化,B型車銷量有下降趨勢,C型車銷量有上升趨勢,A型車的原料成本增加,使利潤下降,因此工廠要求(1)B型車的產(chǎn)量不大于C型車的產(chǎn)量。(2)適當(dāng)降低A型車產(chǎn)量。(3)盡量不要加班生產(chǎn)(4)盡可能達(dá)到或超過原計劃利潤指標(biāo)82萬元。請根據(jù)以上要求重新調(diào)整生產(chǎn)方案。由于實際生產(chǎn)受外界因素影響,實際利潤z*與82萬元可能有偏差,超額完成指標(biāo)的偏差量稱為正偏差,記為:d+未完成指標(biāo)的偏差量稱為負(fù)偏差,記為:d-規(guī)定:若超額完成指標(biāo),d+>0,d-=0

若未完成指標(biāo),d+=0,d->0

恰好完成指標(biāo),d+=0,d-=0則必有:d++d-≥0xi為正整數(shù)實際利潤z*=82當(dāng)且僅當(dāng)d++d-=0,即d++d-

達(dá)到最小xi為正整數(shù)xi為正整數(shù)工廠要求(4)盡可能達(dá)到或超過原計劃利潤指標(biāo)82萬元。(1)B型車的產(chǎn)量不大于C型車的產(chǎn)量。(3)盡量充分利用設(shè)備臺時,不要加班生產(chǎn)(2)適當(dāng)降低A型車產(chǎn)量。目標(biāo)函數(shù):根據(jù)各目標(biāo)的重要程度,賦予權(quán)值目標(biāo)函數(shù):xi為正整數(shù)1.基本概念(1)偏差量:正偏差量表示超額完成指標(biāo)偏差量:

d+=指標(biāo)的實際值-預(yù)計的指標(biāo)值;負(fù)偏差量表示未完成指標(biāo)的偏差量:

d-=預(yù)計的指標(biāo)值-指標(biāo)的實際值。若超額完成了指標(biāo),則d+>0,d-=0;若未完成指標(biāo),則d->0,d+=0;若恰好完成指標(biāo),則d+=d-=0;(2)絕對(剛性)約束和目標(biāo)約束:絕對約束是指必須滿足的等式約束或者不等式約束。目標(biāo)約束是目標(biāo)規(guī)劃特有的,可以把約束右端項看作是想要達(dá)到的目標(biāo)值,在達(dá)到此目標(biāo)值時允許存在正的或者負(fù)的偏差,因此在這約束條件中加入正、負(fù)偏差量。(3)優(yōu)先因子與權(quán)系數(shù):對于任意一個多目標(biāo)決策問題中多個目標(biāo)總能有主次之分,也就是可以根據(jù)各個目標(biāo)的主次排出優(yōu)先級。(4)目標(biāo)函數(shù)與偏差變量:目標(biāo)規(guī)劃的目標(biāo)函數(shù)是:min=f(d+,d-)

假設(shè)要求恰好達(dá)到目標(biāo)值,即要求目標(biāo)的正負(fù)偏差都盡可能的小;

假設(shè)要求超過指標(biāo)值,即要求目標(biāo)的正偏差不限,而負(fù)偏差越小越好;假設(shè)要求不超過指標(biāo)值,即要求目標(biāo)的負(fù)偏差不限,而正偏差越小越好。多目標(biāo)決策問題的一般的目標(biāo)規(guī)劃模型例6(節(jié)能燈具生產(chǎn)問題)某燈具廠接到了訂購16000套A型和B型節(jié)能燈具的訂貨合同,合同中沒有對兩種燈具各自的數(shù)量做要求,但合同要求工廠在一周內(nèi)完成生產(chǎn)任務(wù)并交貨。根據(jù)該廠的生產(chǎn)能力,一周內(nèi)可以利用的生產(chǎn)時間為20000min,可利用的包裝時間為36000min,生產(chǎn)和包裝完成一套A型燈具各需要2min,生產(chǎn)和包裝完成一套B型燈具分別需要1min和3min,每套A型燈具成本7元,銷售價15元;每套B型燈具成本14元,銷售價20元;廠長要求:(1)必須要按合同完成任務(wù),既不要有不足量也不要有超過量。(2)銷售額盡量達(dá)到或接近275000元。(3)在生產(chǎn)時間和包裝時間上可以有所增加,但超過量盡可能小。在實際中增加生產(chǎn)時間比增加包裝時間困難的多,試為該廠制定生產(chǎn)計劃。要求:(1)必須要按合同完成任務(wù),既不要有不足量也不要有超過量。(x1+x2=16000)決策變量:分別x1,x2分別表示A型、B型燈具的數(shù)量。用分別表示未達(dá)到和超額完成16000套的偏差量;(2)銷售額盡量達(dá)到或接近275000元。用分別表示未完成和超額完成銷售指標(biāo)的偏差量;(3)在生產(chǎn)時間和包裝時間上可以有所增加,但超過量盡可能小。用分別表示減少和增加生產(chǎn)時間的偏差量;用分別表示減少和增加包裝時間的偏差量;在實際中增加生產(chǎn)時間比增加包裝時間困難的多首先確定問題目標(biāo)的優(yōu)先級:第一優(yōu)先級:恰好生產(chǎn)和包裝完成節(jié)能燈具16000套,賦予優(yōu)先因子p1;第二優(yōu)先級:完成或盡量完成銷售額275000元,賦予優(yōu)先因子p2;第三優(yōu)先級:生產(chǎn)時間和包裝時間的增加盡量的小,賦予優(yōu)先因子p3;該問題的目標(biāo)規(guī)劃模型:模型求解:采用序貫算法模型求解的序貫算法:第一步:求解第一目標(biāo)模型得最優(yōu)值:模型求解的序貫算法:第二步:求解第二目標(biāo)模型得最優(yōu)值:模型求解的序貫算法:第三步:求解第三目標(biāo)模型得最優(yōu)值:記:模型化為:記:模型化為:模型化為: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));程序運行方法:共有三級目標(biāo),需運行三次該程序。第一次運行時,取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該廠生產(chǎn)A燈具9000套,B燈具7000套,可完成計劃,且完成銷售指標(biāo)275000元,生產(chǎn)時間需增加5000min,包裝時間需增加3000min。交巡警服務(wù)平臺的設(shè)置與調(diào)度警察肩負(fù)著刑事執(zhí)法、治安管理、交通管理、服務(wù)群眾四大職能。為了更有效地貫徹實施這些職能,需要在市區(qū)的一些交通要道和重要部位設(shè)置交巡警服務(wù)平臺。每個交巡警服務(wù)平臺的職能和警力配備基本相同。由于警務(wù)資源是有限的,如何根據(jù)城市的實際情況與需求合理地設(shè)置交巡警服務(wù)平臺、分配各平臺的管轄范圍、調(diào)度警務(wù)資源是警務(wù)部門面臨的一個實際課題。試就某市設(shè)置交巡警服務(wù)平臺的相關(guān)情況,建立數(shù)學(xué)模型分析研究下面的問題:附圖1給出了該市中心城區(qū)A的交通網(wǎng)絡(luò)和現(xiàn)有的20個交巡警服務(wù)平臺的設(shè)置情況示意圖,相關(guān)的數(shù)據(jù)信息見附件2。請為各交巡警服務(wù)平臺分配管轄范圍,使其在所管轄的范圍內(nèi)出現(xiàn)突發(fā)事件時,盡量能在3分鐘內(nèi)有交巡警(警車的時速為60km/h)到達(dá)事發(fā)地。附圖1:A區(qū)的交通網(wǎng)絡(luò)與平臺設(shè)置的示意圖

說明:(1)圖中實線表示市區(qū)道路(2)實圓點“·”表示交叉路口的節(jié)點,沒有實圓點的交叉線為道路立體相交;(3)星號“*”表示出入城區(qū)的路口節(jié)點;(4)圓圈“○”表示現(xiàn)有交巡警服務(wù)平臺的設(shè)置點;(5)圓圈加星號“○*”表示在出入城區(qū)的路口處設(shè)置了交巡警服務(wù)平臺;為各交巡警服務(wù)平臺分配管轄范圍,使其在所管轄的范圍內(nèi)出現(xiàn)突發(fā)事件時,盡量能在3分鐘內(nèi)有交巡警(警車的時速為60km/h)到達(dá)事發(fā)地。設(shè)立目標(biāo):各交警平臺任務(wù)量盡量均衡各平臺到所管轄的路口的用時總量最小約束:遇突發(fā)事件時,盡量能在3分鐘內(nèi)有警車到達(dá)事發(fā)地。每個路口只被一個平臺管轄。決策變量:fij

:第i個平臺管轄第j個路口已知量:第j個路口的案發(fā)率各路口的坐標(biāo)各條道路的起點與終點標(biāo)號由已知可求出各條道路的長度,從而得到各路口的鄰接矩陣,首先提取附件2中:全市交通路口節(jié)點數(shù)據(jù)、全市交通路口路線的數(shù)據(jù),將這兩組數(shù)據(jù)保存在文件‘jiaojing.mat’文件中,該文件包含兩個矩陣,矩陣A是交通路口節(jié)點數(shù)據(jù)(582×5),矩陣B是交通路口線路(928×2)。建立A區(qū)道路的賦權(quán)鄰接矩陣D1loadjiaojing

%jiaojing中矩陣A為路口節(jié)點矩陣,為1列編號,2列橫坐標(biāo),3列縱坐標(biāo),4案發(fā)率,B為路口線路,1列路口起點標(biāo)號,2列終點標(biāo)號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區(qū)道路鄰接矩陣,有道路連接為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區(qū)道路賦權(quán)鄰接矩陣?yán)胒loyd法求出A區(qū)的最短路矩陣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分鐘之內(nèi)有交警到達(dá)事發(fā)路口的要求,確定各交巡警平臺可以管轄的路口:T=zeros(92,20);c=D(:,1:20)/10;%c為A區(qū)各路口到各平臺的警車最小用時矩陣fori=1:92

forj=1:20

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

endendendT=sparse(T);%T為在3分鐘內(nèi)有警車可達(dá)的A區(qū)各路口矩陣,T(i,j)=1表示第j平臺警車在3分鐘內(nèi)可達(dá)第i路口。TT={};%TT的i列為第為第i個平臺3分鐘內(nèi)可達(dá)的路口fori=1:20ff=T(:,i);td=find(ff);TT(i)={td};endkk=1:92;U=[];fori=1:20%該循環(huán)將第i個平臺3分鐘內(nèi)可達(dá)的路口顯示出來AA=TT{i}’;[i,AA]kk=setdiff(kk,AA);endkk=setdiff(kk,1:20)%kk存3分鐘內(nèi)沒有警車可達(dá)的路口平臺編號可在3分鐘內(nèi)到達(dá)路口

14243446465666768697071727374757677787980240424344666768697071727374757678343445455646566676870764575860626364656654748495051525356585964748505152565859730313233344748831323334353637454647931323334353637454610112526271225平臺編號警車可在3分鐘內(nèi)到達(dá)路口

132122232414153116333435363745461740414243707218717273747778798081828384858788899091196465666768697071737475767778798081828320208182838485868788899091而282938396192號路口無警車可在3分鐘內(nèi)到達(dá)將282938396192號路口分到最近的交巡警平臺:c1=c(kk,:);%3分鐘內(nèi)無警車可達(dá)路口到各平臺的最短時間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路口的案發(fā)率第i路口可以被第j平臺管否則第i路口到達(dá)第j平臺的最短時間輸出為文本文件,以便lingo調(diào)用T=sparse(T);%T為在3分鐘內(nèi)有警車可達(dá)的A區(qū)各路口矩陣,T(i,j)=1表示第j平臺警車在3分鐘內(nèi)可達(dá)第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分鐘內(nèi)警車可達(dá)的路口c=full(c);提取jiaojin1與jiaojin2數(shù)據(jù).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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論