實(shí)驗(yàn)二、利用Lingo求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題_第1頁(yè)
實(shí)驗(yàn)二、利用Lingo求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題_第2頁(yè)
實(shí)驗(yàn)二、利用Lingo求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題_第3頁(yè)
實(shí)驗(yàn)二、利用Lingo求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題_第4頁(yè)
實(shí)驗(yàn)二、利用Lingo求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)?zāi)康?1、掌握線性整數(shù)規(guī)劃模型在、掌握線性整數(shù)規(guī)劃模型在lingo中的求解,并能達(dá)到中的求解,并能達(dá)到靈活運(yùn)用。靈活運(yùn)用。 2、學(xué)會(huì)用、學(xué)會(huì)用Lingo對(duì)非線性規(guī)劃問(wèn)題進(jìn)行求解。對(duì)非線性規(guī)劃問(wèn)題進(jìn)行求解。 實(shí)驗(yàn)二實(shí)驗(yàn)二 利用利用Lingo求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題變量定界函數(shù)變量定界函數(shù):bin(x): 限制限制 x 為為 0 或或 1.gin(x): 限制限制 x 為整數(shù)為整數(shù).實(shí)驗(yàn)二實(shí)驗(yàn)二 利用利用Lingo求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題求解整數(shù)規(guī)劃及非線性規(guī)劃問(wèn)題例例 1 用用Lingo軟件求解軟件求解0-1規(guī)劃問(wèn)題規(guī)劃問(wèn)題123412341234

2、12341234max253440242411,01zxxxxxxxxxxxxxxxxxxxx 或或max=2*x1+5*x2+3*x3+4*x4;-4*x1+x2+x3+x4=0;-2*x1+4*x2+2*x3+4*x4=1;x1+x2-x3+x4=1;bin(x1);bin(x2);bin(x3);bin(x4);Lingo 程序程序:一、用一、用Lingo 求解規(guī)劃問(wèn)題求解規(guī)劃問(wèn)題例例 2 用用Lingo軟件求解整數(shù)規(guī)劃問(wèn)題軟件求解整數(shù)規(guī)劃問(wèn)題123123123123min25340242220,1,2,3izxxxxxxxxxxxxxi 且取整數(shù)且取整數(shù)min=2*x1+5*x2+3*

3、x3;-4*x1-x2+x3=0;-2*x1+4*x2-2*x3=2;x1-x2+x3=2;gin(x1);gin(x2);gin(x3);Lingo 程序程序:例例 3 用用Lingo軟件求解非線性規(guī)劃問(wèn)題軟件求解非線性規(guī)劃問(wèn)題 2212211212min121,2,0,0.zxxxxxxxx min=(x1-1)2+(x2-2)2;x2-x1=1;x1+x2=2;Lingo 程序程序:注意注意:Lingo 默認(rèn)默認(rèn)變量變量的取值從的取值從0到到正無(wú)窮大正無(wú)窮大,變量定界函數(shù)變量定界函數(shù)可以改變默認(rèn)狀態(tài)可以改變默認(rèn)狀態(tài).free(x): 取消對(duì)變量取消對(duì)變量x的限制的限制(即即x可取任意實(shí)數(shù)

4、值可取任意實(shí)數(shù)值)例例 4 求函數(shù)求函數(shù) 的最小值的最小值. 2222zxy 解解: 編寫(xiě)編寫(xiě)Lingo 程序如下程序如下: min=(x+2)2+(y-2)2;free(x);例例 4 求函數(shù)求函數(shù) 的最小值的最小值. 2222zxy 求得結(jié)果求得結(jié)果: x=-2, y=2二、二、Lingo 循環(huán)編程語(yǔ)句循環(huán)編程語(yǔ)句(1) 集合集合的定義的定義包括如下參數(shù)包括如下參數(shù):1) 集合集合的名稱(chēng)的名稱(chēng).命名規(guī)則命名規(guī)則: 以以字母開(kāi)頭字母開(kāi)頭, 后面是后面是字母字母或或下劃線下劃線.字母不區(qū)分大小寫(xiě)字母不區(qū)分大小寫(xiě).2) 集合集合包含的元素包含的元素(可選可選).3) 集合集合中元素的所有屬性中元

5、素的所有屬性(可選可選).例例4 Math,English,totalsets:endsetsstudentsJohn, Jill, Rose, Mikesets:students/John, Jill, Rose, Mike/:Math,English,total;endsets(2) 數(shù)據(jù)賦值數(shù)據(jù)賦值例例4 data:enddatadata:Math=80,85,90,70;English=75,80,72,60;enddata格式格式:(1) 集合集合的定義的定義例例4 sets:students/John, Jill, Rose, Mike/:Math,English,total;en

6、dsets(3) 集合集合的的循環(huán)函數(shù)循環(huán)函數(shù)集合集合的的循環(huán)函數(shù)循環(huán)函數(shù)可以使所有的元素重復(fù)完成一些操作可以使所有的元素重復(fù)完成一些操作.函數(shù)函數(shù)函數(shù)功能函數(shù)功能for形成集合形成集合所有元素所有元素需滿足的約束條件需滿足的約束條件sum計(jì)算集合中元素所在表達(dá)式的計(jì)算集合中元素所在表達(dá)式的和和min計(jì)算集合中元素所在表達(dá)式的計(jì)算集合中元素所在表達(dá)式的最小值最小值max計(jì)算集合中元素所在表達(dá)式的計(jì)算集合中元素所在表達(dá)式的最大值最大值maxM=max(students(i):Math);maxE=max(students(i):English);averageM=sum(students(i):

7、Math)/4;for(students(i):total(i)=Math(i)+English(i);例例4 !數(shù)學(xué)的最高分?jǐn)?shù)學(xué)的最高分;!英語(yǔ)的最高分英語(yǔ)的最高分;!數(shù)學(xué)的平均分?jǐn)?shù)學(xué)的平均分;!每個(gè)學(xué)生數(shù)學(xué)與英語(yǔ)分?jǐn)?shù)之和每個(gè)學(xué)生數(shù)學(xué)與英語(yǔ)分?jǐn)?shù)之和.(4) 衍生集合衍生集合的定義的定義. 包括如下參數(shù)包括如下參數(shù):1) 衍生集合衍生集合的名稱(chēng)的名稱(chēng).3) 衍生集合衍生集合包含的元素包含的元素(可選可選).4) 集合集合中元素的所有屬性中元素的所有屬性(可選可選).例例5 link2) 衍生集合衍生集合的父集合名稱(chēng)的父集合名稱(chēng).sets:ren/A,B,C,D/: rent;job/1.5/:

8、 jobt;link(ren,job): time;endsetsrenjobtime注注: 若沒(méi)有指明元素列若沒(méi)有指明元素列表表, LINGO將用父集合將用父集合元素的所有組合作為衍元素的所有組合作為衍生集合的元素生集合的元素.(A,1), (A,2),(A,3),(A,4)(A,5)(B,1), (B,2),(B,3),(B,4)(B,5)(C,1), (C,2),(C,3),(C,4)(C,5)(D,1), (D,2),(D,3),(D,4)(D,5)(5) Lingo 內(nèi)部的數(shù)學(xué)函數(shù)及其返回值內(nèi)部的數(shù)學(xué)函數(shù)及其返回值abs(x): 返回返回x的絕對(duì)值的絕對(duì)值sin(x): 返回返回x的

9、正弦值的正弦值cos(x): 返回返回x的余弦值的余弦值tan(x): 返回返回x的正切值的正切值log(x): 返回返回x的自然對(duì)數(shù)值的自然對(duì)數(shù)值exp(x): 返回返回ex的值的值sqr(x): 返回返回x的平方值的平方值. 該函數(shù)可以用表達(dá)式該函數(shù)可以用表達(dá)式x2代替代替sqrt(x): 返回返回x的正的平方根的正的平方根. 可以用表達(dá)式可以用表達(dá)式x(1/2)代替代替三、三、Lingo 循環(huán)編程舉例循環(huán)編程舉例例例5 現(xiàn)有五名工人甲現(xiàn)有五名工人甲, 乙乙, 丙丙, 丁丁, 戊戊, 完成五項(xiàng)完成五項(xiàng)工作工作A, B, C, D, E, 所需時(shí)間列表如下所需時(shí)間列表如下 工作工作 時(shí)間時(shí)間

10、(小時(shí)小時(shí))工人工人ABCDE甲甲10.521.754乙乙2131.53.5丙丙1.751.52.513丁丁2.521.50.54戊戊11.5223(2) 求每份工作最短的用時(shí)求每份工作最短的用時(shí).(1) 求每個(gè)人的最短工作時(shí)間求每個(gè)人的最短工作時(shí)間;問(wèn)題問(wèn)題:三、三、Lingo 循環(huán)編程舉例循環(huán)編程舉例例例5 sets:ren/A,B,C,D,E/:rent;job/1.5/:jobt;link(ren,job):time;endsetsdata:time=1,0.5,2,1.75,4 2,1,3,1.5,3.5 1.75,1.5,2.5,1,3 2.5,2,1.5,0.5,4 1,1.5,

11、2,2,3;enddataS=sum(link(i,j):time(i,j);for(ren(i):rent=min(job(j):time(i,j);for(job(j):jobt=min(ren(i):time(i,j);!定義集合定義集合;!數(shù)據(jù)賦值數(shù)據(jù)賦值;!所有工作時(shí)間求和所有工作時(shí)間求和;!求每個(gè)人的最短工作時(shí)間求每個(gè)人的最短工作時(shí)間;!求每份工作最短的用時(shí)求每份工作最短的用時(shí);三、三、Lingo 循環(huán)編程舉例循環(huán)編程舉例例例5 用用Lingo循環(huán)編程語(yǔ)句求解線性規(guī)劃模型循環(huán)編程語(yǔ)句求解線性規(guī)劃模型12max7264zxx 121211250,128480,3100,0,0.xxx

12、xxxx 三、三、Lingo 循環(huán)編程舉例循環(huán)編程舉例sets:bliang/1,2/:x,a;yshu/1,2,3/:b;xshu(yshu,bliang):c;endsetsdata:a=72,64;b=50,480,100;c=1,1 12,8 3,0;enddatamax=sum(bliang(i):a(i)*x(i);for(yshu(j):sum(bliang(i):x(i)*c(j,i)=b(j);!定義集合定義集合;!數(shù)據(jù)賦值數(shù)據(jù)賦值;!目標(biāo)函數(shù)目標(biāo)函數(shù);!約束條件約束條件;12max7264zxx 121211250,128480,3100,0,0.xxxxxxx 例例5 用

13、用Lingo循環(huán)編程循環(huán)編程語(yǔ)句求解線性規(guī)劃語(yǔ)句求解線性規(guī)劃模型模型例例6、指派問(wèn)題、指派問(wèn)題公司在各地有公司在各地有4項(xiàng)業(yè)務(wù),選定了項(xiàng)業(yè)務(wù),選定了4位業(yè)務(wù)員去處理。由于位業(yè)務(wù)員去處理。由于業(yè)務(wù)能力、經(jīng)驗(yàn)和其它情況不同,業(yè)務(wù)能力、經(jīng)驗(yàn)和其它情況不同,4業(yè)務(wù)員去處理業(yè)務(wù)員去處理4項(xiàng)業(yè)項(xiàng)業(yè)務(wù)的費(fèi)用(單位:元)各不相同,見(jiàn)下表:務(wù)的費(fèi)用(單位:元)各不相同,見(jiàn)下表: 應(yīng)當(dāng)怎樣分派任務(wù),才能使總的費(fèi)用最?。繎?yīng)當(dāng)怎樣分派任務(wù),才能使總的費(fèi)用最??? 業(yè)務(wù)1234111008001000700260050030080034008001000900411001000500700業(yè)務(wù)員業(yè)務(wù)員4141miniji

14、jijxaZ4 , 3 , 2 , 1,104 , 3 , 2 , 114 , 3 , 2 , 11. .4141jixixjxtsijjijiij或這是一個(gè)最優(yōu)指派問(wèn)題。引入如下變量: 項(xiàng)業(yè)務(wù)個(gè)人做第若不分派第項(xiàng)業(yè)務(wù)個(gè)人做第若分派第jijixij01設(shè)矩陣a(4,4)為指派矩陣,其中a(i,j)為第i個(gè)業(yè)務(wù)員做第j項(xiàng)業(yè)務(wù)的業(yè)務(wù)費(fèi)。則可以建立如下模型:MODEL:SETS:person/A,B,C,D/;task/1.4/;assign(person,task):a,x;ENDSETSDATA:a=1100,800,1000,700, 600,500,300,800,400,800,1000,

15、900,1100,1000,500,700;ENDDATAmin=sum(assign:a*x);for(person(i):sum(task(j):x(i,j)=1);for(task(j):sum(person(i):x(i,j)=1);for(assign(i,j):bin(x(i,j);ENDLINGO程序如下: 1、某游泳隊(duì)擬選用甲、某游泳隊(duì)擬選用甲, 乙乙, 丙丙, 丁丁 四名游泳運(yùn)動(dòng)員組成四名游泳運(yùn)動(dòng)員組成一個(gè)一個(gè) 4100 m 混合泳接力隊(duì)混合泳接力隊(duì), 參加今年的錦標(biāo)賽參加今年的錦標(biāo)賽. 他們他們的的 100 m 自由泳自由泳, 蛙泳蛙泳, 蝶泳蝶泳, 仰泳的成績(jī)?nèi)绫硭狙鲇镜某煽?jī)?nèi)绫硭疽乙冶《?6成績(jī)成績(jī)自由泳自由泳 / s甲甲63575574蛙泳蛙泳 / s69777661蝶泳蝶泳 / s65636263仰泳仰泳 / s716762 甲甲, 乙乙, 丙丙, 丁丁 四名隊(duì)員各自游什么姿勢(shì)四名隊(duì)員各自游什么姿勢(shì) , 才最有可能取得好成績(jī)才最有可能取得好成績(jī)?2、某

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論