下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Lingo超經(jīng)典案例大全LINGO>LinearInteractiveandGeneralOptimizer的縮寫,即“交互式的線性和通用優(yōu)化求解器"。Lingo超強(qiáng)的優(yōu)化計(jì)算能力在很多方面(線性規(guī)劃、非線性規(guī)劃、線性整數(shù)規(guī)劃、非線性整數(shù)規(guī)劃、非線性混合規(guī)劃、二次規(guī)劃等)比matlab、maple等強(qiáng)得多,Lingo編程簡(jiǎn)潔明了,數(shù)學(xué)模型不用做大的改動(dòng)(或者不用改動(dòng))便可以直接采用Lingo語(yǔ)言編程,十分直觀。Lingo模型由4個(gè)段構(gòu)成:(1)集合段(setsendsets);(2)數(shù)據(jù)段(dataenddata);(3)初始段(initendinit);(4)目標(biāo)與約束段。L
2、ingo的五大優(yōu)點(diǎn):1 .對(duì)大規(guī)模數(shù)學(xué)規(guī)劃,LINGO語(yǔ)言所建模型較簡(jiǎn)潔,語(yǔ)句不多;2 .模型易于擴(kuò)展,因?yàn)镕ORSU陲語(yǔ)句并沒有指定循環(huán)或求和的上下限,如果在集合定義部分增加集合成員的個(gè)數(shù),則循環(huán)或求和自然擴(kuò)展,不需要改動(dòng)目標(biāo)函數(shù)和約束條件;3 .數(shù)據(jù)初始化部分與其它部分語(yǔ)句分開,對(duì)同一模型用不同數(shù)據(jù)來計(jì)算時(shí),只需改動(dòng)數(shù)據(jù)部分即可,其它語(yǔ)句不變;4 .“集合”是LINGO有特色的概念,它把實(shí)際問題中的事物與數(shù)學(xué)變量及常量聯(lián)系起來,是實(shí)際問題到數(shù)學(xué)量的抽象,它比C語(yǔ)言中的數(shù)組用途更為廣泛。5 .使用了集合以及FORSU陲集合操作函數(shù)以后可以用簡(jiǎn)潔的語(yǔ)句表達(dá)出常見的規(guī)劃模型中的目標(biāo)函數(shù)和約束條件
3、,即使模型有大量決策變量和大量數(shù)據(jù),組成模型的語(yǔ)句并不隨之增加.一、求解線性整數(shù)規(guī)劃、非線性整數(shù)規(guī)劃問題:1.線性整數(shù)規(guī)劃:model:max=x1+x2;x1+9/14*x2<=51/14;-2*x1+x2<=1/3;gin(x1);gin(x2);end求得x1=3,x2=1,最大值為4.運(yùn)用matlab求時(shí)可以發(fā)現(xiàn)有兩組解:x1=3,x2=1和x1=2,x2=2。通過驗(yàn)證也可知這兩組解均滿足。Lingo的一個(gè)缺陷是:每次只能輸出最優(yōu)解中的一個(gè)(有時(shí)不只一個(gè))。那么,怎樣求得其他解呢?一個(gè)辦法是將求得的解作為約束條件,約束x1不等于3,x2不等于1,再求解。如下:model:m
4、ax=x1+x2;x1+9/14*x2<=51/14;-2*x1+x2<=1/3;gin(x1);gin(x2);abs(x1-3)>abs(x2-1)>end求得x1=2,x2=2.若再次排除這組解,發(fā)現(xiàn)Lingo解不出第三組解了,這時(shí)我們可以斷定:此優(yōu)化模型有兩組解:x1=3,x2=1和x1=2,x2=2.求解模型時(shí)需注意:Lingo中,默認(rèn)變量均為非負(fù);輸出的解可能是最優(yōu)解中的一組,要判斷、檢驗(yàn)是否還有其他解(根據(jù)具體問題的解的情況或用排除已知最優(yōu)解的約束條件法)。2、非線性整數(shù)規(guī)劃:model:sets:row/1.4/:b;col/1.5/:c1,c2,x;l
5、ink(row,col):a;endsetsdata:c1=1,1,3,4,2;c2=-8,-2,-3,-1,-2;a=111111221600115;b=400,800,200,200;enddatamax=sum(col:c1*xA2+c2*x);for(row(i):sum(col(j):a(i,j)*x(j)<b(i);for(col:gin(x);for(col:bnd(0,x,99);End求得:x1=50,x2=99,x3=0,x4=99,x5=20.最大值為51568。這里,我們看不出是否還有其他解,需要將已知的最優(yōu)解排除掉。最大值為50330。最大值為49037。最大值
6、為47859。最大值為46636。利用1的方法分別可得到其他解:x1=48,x2=98,x3=1,x4=98,x5=19.x1=45,x2=97,x3=2,x4=97,x5=18.x1=43,x2=96,x3=3,x4=96,x5=17.x1=40,x2=95,x3=4,x4=95,x5=16.發(fā)現(xiàn)x1,x2,x4,x5均單調(diào)減少,x3單調(diào)增加。最大值越來越小??梢院?jiǎn)單判斷第一組為最優(yōu)的。當(dāng)然,能夠一一檢驗(yàn)最好。二、最優(yōu)選擇問題某鉆井隊(duì)要從10個(gè)可供選擇的井位中確定5個(gè)鉆井探油,使總的鉆探費(fèi)用為最小。若10個(gè)井位的代號(hào)為s1,s2,s10,相應(yīng)的鉆探費(fèi)用c1,c2,c10為5,8,10,6,9
7、,5,7,6,10,8.并且井位選擇上要滿足下列限制條件:(1) 或選擇s1和s7,或選擇鉆探s9;(2) 選擇了s3或s4就不能選s5,或反過來也一樣;(3) 在s5,s6,s7,s8中最多只能選兩個(gè).試建立這個(gè)問題的整數(shù)規(guī)劃模型,確定選擇的井位。取0-1變量s_i,若s_i=1,則表示選取第i個(gè)井,若s_i=0,則表示不選取第i個(gè)井。建立數(shù)學(xué)模型如下:model:sets:variables/1.10/:s,cost;endsetsdata:cost=581069576108;enddatamin=sum(variables:cost*s);(s(1)+s(7)-2)*(s(9)-1)=0
8、;s(3)*s(5)+s(4)*s(5)=0;sum(variables(i)|i#ge#5#and#i#le#8:s(i)<=2;sum(variables:s)=5;for(variables:bin(s);end求得:Totalsolveriterations:26ValVariableueReducedCostS(1)S(2)S(3)S(4)S(5)S(6)S(7)S(9)S(10)Objectivevalue:即選擇井S1,S2,S4,S6,S7以達(dá)到最小費(fèi)用31.三、路徑和最短問題:設(shè)平面上有N個(gè)點(diǎn),求一點(diǎn),使得這個(gè)點(diǎn)到所有點(diǎn)距離之和最小。這里,取N=8。數(shù)據(jù)點(diǎn)是15的隨機(jī)數(shù)
9、。Lingo:model:sets:position/1.8/:x,y;ab/1/:a,b;endsetsdata:text('E:work')=x,y;!讀入到matlab的工作空間中;text('E:work')=a,b;enddatax(1)=1+4*rand;y(1)=1+4*rand;for(position(i)|i#ge#2:x(i)=1+4*rand(x(i-1);!隨機(jī)產(chǎn)生15中的8個(gè)點(diǎn);for(position(i)|i#ge#2:y(i)=1+4*rand(y(i-1);objmin=sum(position(i):sqrt(x(i)-a(
10、1)A2+(y(i)-b(1)A2);!目標(biāo)函數(shù);bnd(1,a(1),5);bnd(1,b(1),5);endmatlab:clear;clc;closeall;load。');load。');holdon;plot(data1(1),data1(2),'o','MarkerSize',15,'MarkerFaceColor','r');plot(data(:,1),data(:,2),or','MarkerSize',15,'MarkerFaceColor','b
11、');set(gcf,'Color','w');set(gca,'FontSize',16)gridoff;data1=repmat(data1,8,1);P=data1(:,1)'data(:,1)'Q=data1(:,2)'data(:,2)'plot(P,Q,'g','LineWidth',2);xlabel('x');ylabel('y');title('Solvingtheproblemoftheminimundistance
12、oftnesumofallthebluepointstowardsthebeingknownredpoint.');gtext('Theminimundistanceis',num2str,'.','FontSize',16,'Color','r');三、運(yùn)輸+選址問題:某公司有6個(gè)建筑工地,位置坐標(biāo)為(ai,bi)(i125abd356單位:公里),水泥日用量di(單位:噸)346354711現(xiàn)有2料場(chǎng),位于A(5,1),B(2,7),記(xj,yj),j=1,2,日儲(chǔ)量ej各有20噸。假設(shè)料場(chǎng)和工地之間
13、有直線道路,制定每天的供應(yīng)計(jì)劃,即從A,B兩料場(chǎng)分別向各工地運(yùn)送多少噸水泥,使總的噸公里數(shù)最小。取決策變量c_ij表示i工地從j料場(chǎng)運(yùn)來的水泥量。模型(線性模型)為:model:sets:demand/1.6/:a,b,d;supply/1.2/:x,y,e;link(demand,supply):c;endsetsdata:a=3;b=5;d=3547611;x=52;y=i7;e=2020;enddataobjmin=sum(link(i,j):c(i,j)*sqrt(a(i)-x(j)A2+(b(i)-yO)A2);!目標(biāo)函數(shù);for(demand(i):sum(supply(j):c(
14、i,j)尸d(i);for(supply(j):sum(demand(i):c(i,j)<=e(j);end求得:C(1,1)C(1,2)C(2,1)C(2,2)C(3,1)C(3,2)C(4,1)C(4,2)C(5,1)C(5,2)C(6,1)C(6,2)Objectivevalue:(2) 改建兩個(gè)新料場(chǎng),需要確定新料場(chǎng)位置(xj,yj)和運(yùn)量cij,在其它條件不變下使總噸公里數(shù)最小。模型一樣,未知量變?yōu)榱蠄?chǎng)位置(xj,yj)和運(yùn)量cij,變?yōu)榉蔷€性優(yōu)化問題。model:sets:demand/1.6/:a,b,d;supply/1.2/:x,y,e;link(demand,supp
15、ly):c;endsetsdata:a=3;b=5;d=3547611;e=2020;enddatainit:x=52;y=17;endinitobjmin=sum(link(i,j):c(i,j)*sqrt(a(i)-x(j)A2+(b(i)-y(j)A2);!目標(biāo)函數(shù);for(demand(i):sum(supply(j):c(i,j)尸d(i);for(supply(j):sum(demand(i):c(i,j)<=e(j);for(supply:free(x);free(y);end求得:C(1,1)C(1,2)C(2,1)C(2,2)C(3,1)C(3,2)C(4,1)C(4,
16、2)C(5,1)C(5,2)C(6,1)C(6,2)(x1,y1)=(,)(x2,y2)=(,)Objectivevalue:四、路徑最短問題:如上圖,求從S到T的最短路徑。設(shè)d(x,y):城市x與城市y之間的直線距離;L(x):城市S到城市x的最優(yōu)行駛路線的路長(zhǎng)。模型為:minL(x)+d(x,y)L(S)=0model:sets:city/S,A1,A2,A3,B1,B2,C1,C2,T/:L;road(city,city)/S,A1S,A2S,A3A1,B1A1,B2A2,B1A2,B2A3,B1A3,B2B1,C1B1,C2B2,C1B2,C2C1,TC2,T/:d;endsetsda
17、ta:d=633658674678956;L=0,6,3,3,;enddatafor(cityO)|j#gt#index(city,S):L(j)=min(road(i,j):L(i)+d(i,j);end求得最短路徑為20.五、指派問題(0-1規(guī)劃問題):四個(gè)人完成4項(xiàng)任務(wù)所用的時(shí)間如下,問如何指派任務(wù)使得完成所有任務(wù)的時(shí)間最短?任務(wù)t1t2t3t4人員m1215134m21041415m39141613m478119c_ij:表示第i個(gè)人完成第j項(xiàng)任務(wù)所用的時(shí)間;決策變量x_ij:若第i個(gè)人選擇第j項(xiàng)任務(wù)則x_ij=1;否則,x_ij=0;模型為:model:sets:task/1.4/:
18、t;man/1.4/:m;link(man,task):c,x;endsetsdata:1041415914161378119;enddataobjmin=sum(link:c*x);for(task(j):sum(man(i):x(i,j)=1);for(man(i):sum(task(j):x(i,j)=1);for(link:bin(x);end求得:最優(yōu)指派為:m1-t4,m2-t2,m3-t1,m4-t3最優(yōu)值為:28。六、裝配線平衡模型(0-1規(guī)劃問題)11件任務(wù)(AK)分配到4個(gè)工作站(14),任務(wù)的優(yōu)先次序如下圖,每件任務(wù)所花費(fèi)的時(shí)間如下表。目標(biāo)是為每個(gè)工作站分配加工任務(wù),盡可
19、能使每個(gè)工作站執(zhí)行相同的任務(wù)量,其最終裝配線周期最短。任務(wù)ABCDEFGHI時(shí)間4511950151212121289T(i):為完成第i項(xiàng)任務(wù)需要的時(shí)間。SETS:TASK/ABCDEFGHIJK/:T;!任務(wù)集合,有一個(gè)完成時(shí)間屬性T;PRED(TASK,TASK)/A,BB,CC,FC,GF,JG,JJ,KD,EE,HE,IH,JI,J/;!任務(wù)之間的優(yōu)先關(guān)系集合(A必須完成才能開始B,等等);STATION/1.4/;!工作站集合;TXS(TASK,STATION):X;!X是派生集合TXS的一個(gè)屬性。如果X(I,K=1,則表示第I個(gè)任務(wù)指派給第K個(gè)工作站完成;ENDSETSDATA:
20、T=4511950151212121289;!任務(wù)ABCDEFGHIJK的完成時(shí)間;ENDDATAFOR(TASK(I):SUM(STATION(K):X(I,K)=1);!每一個(gè)作業(yè)必須指派到一個(gè)工作站;FOR(PRED(I,J):SUM(STATION(K):X(I,K)-SUM(STATION(K):X(J,K)>=0);!對(duì)于每一個(gè)存在優(yōu)先關(guān)系的作業(yè)對(duì)(I,J)來說,I先J后安排;FOR(STATION(K):SUM(TXS(I,K):T(I)*X(I,K)<=CYCTIME);!對(duì)于每一個(gè)工作站來說,其花費(fèi)時(shí)間必須不大于裝配線周期;MIN=CYCTIME;!目標(biāo)函數(shù)是最小
21、化轉(zhuǎn)配線周期;FOR(TXS:BIN(X);!指定X(I,J)為0/1變量;END解得最短周期為50.分配情況為:A-1,B-3,C-4,D-2,E-3,F-4,G-4,H-3,I-3,J-4,K-4.七、選址問題某海島上有12個(gè)主要的居民點(diǎn),每個(gè)居民點(diǎn)的位置(用平面坐標(biāo)x,y表示,距離單位:km)和居住的人數(shù)(r)如下表所示?,F(xiàn)在準(zhǔn)備在海島上建一個(gè)服務(wù)中心為居民提供各種服務(wù),那么服務(wù)中心應(yīng)該建在何處?x0y0r6001000800140012007006008001000120010001100設(shè)建在(a,b)處最合理。建立模型:MODEL:SETS:VAR/1.12/:X,Y,R;ENDS
22、ETSDATA:X=0;Y=0;R=6001000800140012007006008001000120010001100;ENDDATAMIN=SUM(VAR:SQRT(X-A)A2+(Y-BF2)*R;END求得:(a,b尸,,最小值為:。八、婚配問題:10對(duì)年齡相當(dāng)?shù)那嗄?,任意一又男女青年配?duì)的概率pij見下表。試給出一個(gè)配對(duì)方案,使總的配對(duì)概率最大。w1w2w3w4w5w6w7w8w9w10mlm2m3m4m5m6m7m8m9m10取xx_ij為0-1型決策變量。模型為:model:sets:man/m1.m10/;woman/w1.w10/;link(man,woman):p,x;e
23、ndsetsdata:P=enddatamax=prod(man(i):sum(woman(j):p(i,j)*x(i,j);for(woman(j):sum(link(i,j):x(i,j)=1);for(man(i):sum(link(i,j):x(i,j)=1);for(link:bin(x);end求解結(jié)果:m1-w5,m2-w8,m3-w2,m4-w4,m5-w7,m6-w3,m7-w6,m8-w1,m9-w9,m10-w10.最大值為.九、護(hù)士值班安排問題某醫(yī)院,從周一到周日都要有人值班,每天至少需要的護(hù)士如表。要求每個(gè)護(hù)士每周連續(xù)上班5天,試問該醫(yī)院至少需要多少護(hù)士?并給出上班安
24、排計(jì)劃。周1234567人20161316191412取決策變量star(i):周i開始值班的人數(shù);目標(biāo)函數(shù):minsumstar(i)(i=1,2,3,7)約束條件:連續(xù)工作五天,周j值班的人數(shù)=required(j)(j=1,2,3,7)model:sets:days/mon.sun/:required,start;endsetsdata:!每天所需的最少職員數(shù);required=20161316191412;enddatamin=sum(days:start);for(days(J):sum(days(I)|I#le#5:start(wrap(J+2+I,7)>=required(
25、J);end解得:總共需要22人,周一8人開始值班,周二2人,周三0人,周四6人,周五3人,周六3人,周日0人。十、填數(shù)問題分別把1,2,16填到圖示的16個(gè)圈內(nèi),使得每個(gè)三角形上的所有圈內(nèi)的數(shù)的和為81(共4個(gè)三角形)。決策變量:e_ij=1,第i個(gè)圈填數(shù)a_j;e_ij=0,第i個(gè)圈不填數(shù)a_j。a_j=j,j=1,2,3,,16,模型:model:sets:number/1.16/:a;link(number,number):e;tri1(number)/123456789/;tri2(number)/12341615121110/;tri3(number)/45671413121516
26、/;tri4(number)/78911011121314/;endsetsdata:a=12345678910111213141516;enddataobjmax=sum(link(i,j):e(i,j)*a(j);for(number(i):sum(link(i,j):e(i,j)=1);for(number(j):sum(link(i,j):e(i,j)=1);for(link(i,j):bin(e(i,j);sum(number(j):sum(tri1(i):e(i,j)*a(j)=81;sum(number(j):sum(tri2(i):e(i,j)*a(j)=81;sum(number(j):sum(tri3(i):e(i,j)*a(j)=81;sum(number(j):sum(tri4(i):e(i,j)*a(j)=81;sum(link(i,j):e(i,j)*a(j)=136;end紅色的那句程序可以去掉,也可以為:min=sum(link(i,j):e(i,j)*a(j),但求的結(jié)果不同,結(jié)果都符合要求。編號(hào)116的圓圈的填數(shù)結(jié)果至少有3種:(1) 12111107814135941626153(2) 14351587134126111092161(3) 14114159813251631012617為了求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度酒店客房?jī)r(jià)格協(xié)議合同模板
- 二零二五年度鉆機(jī)租賃與地質(zhì)勘探安全協(xié)議
- 二零二五年度鏟車租賃安全責(zé)任保險(xiǎn)合作協(xié)議
- 二零二五年度雇主免責(zé)協(xié)議書:網(wǎng)絡(luò)安全雇主責(zé)任界定合同
- 二零二五年度面粉加工質(zhì)量追溯委托協(xié)議
- 二零二五年度食堂檔口租賃與衛(wèi)生合作協(xié)議樣本
- 二零二五年度廚師健康飲食推廣聘用協(xié)議3篇
- 2025年度茶園承包合同書茶樹良種研發(fā)推廣合同4篇
- 二零二四年度租賃合同之租金擔(dān)保問題
- 二零二五年度出租房屋消防安全責(zé)任委托管理合同3篇
- 遼寧省撫順五十中學(xué)2024屆中考化學(xué)全真模擬試卷含解析
- 2024年湖南汽車工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 2024年中國(guó)科學(xué)技術(shù)大學(xué)少年創(chuàng)新班數(shù)學(xué)試題真題(答案詳解)
- 家長(zhǎng)心理健康教育知識(shí)講座
- GB/T 292-2023滾動(dòng)軸承角接觸球軸承外形尺寸
- 2024年九省聯(lián)考高考數(shù)學(xué)卷試題真題答案詳解(精校打?。?/a>
- 軍人結(jié)婚函調(diào)報(bào)告表
- 民用無人駕駛航空器實(shí)名制登記管理規(guī)定
- 北京地鐵6號(hào)線
- 航空油料計(jì)量統(tǒng)計(jì)員(初級(jí))理論考試復(fù)習(xí)題庫(kù)大全-上(單選題匯總)
- 諒解書(標(biāo)準(zhǔn)樣本)
評(píng)論
0/150
提交評(píng)論