LINGO軟件簡介_第1頁
LINGO軟件簡介_第2頁
LINGO軟件簡介_第3頁
LINGO軟件簡介_第4頁
LINGO軟件簡介_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、LINGO軟件簡介LINGO軟件是一個(gè)處理優(yōu)化問題的專門軟件,它尤其擅長求解線性規(guī)劃、非線性規(guī)劃、整數(shù)規(guī)劃等問題。一個(gè)簡單示例2 2max 98x1277x2 為 0.3x1X2 2x2150x3有如下一個(gè)混合非線性規(guī)劃問題:x 2x2 2x3 100。s.t.% 2x2X1,X2,X30 ;X1,X2為整數(shù)LINGO程序(模型):max=98*x1+277*x2-x1A2-0.3*x1*x2-2*x2A2+150*x3;x1+2*x2+2*x3=100;x1=2*x2;gi n (x1);gi n (x2);! Lin go默認(rèn)變量非負(fù)(注意:bin(x)表示x是0-1變量;gin(x) 表

2、示x是整數(shù)變量;bnd(L,x,U)表示限制 L x U; free(x)表示取消對(duì)x的符號(hào)限制,即可正、可負(fù)。)結(jié)果:Global optimal soluti on found.Objective value:9561.200Exte nded solver steps:0Total solver iterati ons:45VariableValueReduced CostX16.000000-76.70000X231.00000-151.2000X316.00000-150.0000RowSlack or SurplusDual Price19561.2001.00000020.000

3、0000.000000356.000000.000000 非常簡單!在LINGO中使用集合LINGO引進(jìn)了“集為了方便地表示大規(guī)模的規(guī)劃問題,減少模型、數(shù)據(jù)表示的復(fù)雜程度,合”的用法,實(shí)現(xiàn)了變量、系數(shù)的數(shù)組化(下標(biāo))表示例如:對(duì)min 400RP(I)I 1,2,3,4450OP(I )20INV (I)INV(I) INV (I s.t.RP(I )20,1) RP(I)INV(0)I123,4;OP(I) DEM (1),11,2,3,4;10;RP,OP,INV均非負(fù).求解程序:model :sets :!也可以 vmark/1.4/:dem,rp,op,inv;mark/1,2,3,4

4、/:dem,rp,op,i nv;endsetsmin =sum(mark:400*rp+450*op+20*inv); ! 也可以 mark(I):400*rp(I)+450*op(I)+20*inv(I);for (mark(I): rp(I)40);for (mark(I)|I#gt#1: inv(I)=inv(I-1)+rp(I)+op(I)-dem(I);inv(1)=10+rp(1)+op(1)-dem(1);data :dem=40,60,75,35;enddataend上面程序在 modelend之間有(1)集合定義、(2)數(shù)據(jù)輸入和(3)其他三部分內(nèi)容。 集合定義部分(從 s

5、ets:到endsets):定義了一個(gè)指標(biāo)集合mark (可以理解為數(shù)組下標(biāo)及其范圍)和其 4 個(gè)屬性 dem、 rp、 op、 inv (用此向量的數(shù)組變量) 。數(shù)據(jù)輸入部分(從 data:到enddata)依次給岀常量(dem)的值。其他部分:給出優(yōu)化目標(biāo)及約束。一般而言, LINGO 中建立優(yōu)化模型的程序可以由五部分組成,或稱為五段(section):(1)集合段(SETS):這部分以“ SETS:”開始,以“ ENDSETS ”結(jié)束,作用在于定義 必要的集合變量(SET)及其元素(member,含義類似于數(shù)組的下標(biāo))和屬性( attribute,含義 類似于數(shù)組)。( 2)目標(biāo)與約束段

6、:這部分實(shí)際上定義了目標(biāo)函數(shù)、約束條件等,但這部分沒有段的開始 和結(jié)束標(biāo)記;該段一般常用到 LINGO 內(nèi)部函數(shù),尤其是和集合相關(guān)的求和函數(shù) SUM 和循環(huán) 函數(shù) FOR 等。( 3)數(shù)據(jù)段( DATA ):這部分以“ DATA :”開始,以“ ENDDATA ”結(jié)束,作用在于對(duì) 集合的屬性(數(shù)組)輸入必要的常數(shù)數(shù)據(jù)。格式為:attribute( 屬性 )=value_list( 常數(shù)列表 );常數(shù)列表中的數(shù)據(jù)之間可以用逗號(hào)、 空格或回車符分隔。 如果想要在運(yùn)行時(shí)才對(duì)參數(shù)賦值, 可以 在數(shù)據(jù)段使用輸入語句,其格式為“變量名= ?;”,但僅限對(duì)單個(gè)變量賦值,而不能用于屬性變量(數(shù)組)的單個(gè)元素。

7、( 4)初始段( INIT ):這部分以“ INIT :”開始,以“ ENDINIT ”結(jié)束,作用在于對(duì)集合 的屬性(數(shù)組)定義初值(因?yàn)榍蠼馑惴ㄒ话闶堑惴?提供一個(gè)較好的初值,能提高計(jì)算效果)。定義初值的語句格式為:attribute( 屬性 )=value_list( 常數(shù)列表 );這與數(shù)據(jù)段中的用法類似。( 5)計(jì)算段( CALC ):這部分以“ CALC :”開始,以“ ENDCALC ”結(jié)束,作用在于對(duì) 一些原始數(shù)據(jù)進(jìn)行預(yù)處理加工,使其成為模型直接需要的數(shù)據(jù)。該段中通常是計(jì)算賦值語句。基本集合與派生集合為了處理二維數(shù)組變量等有多個(gè)下標(biāo)的問題,LINGO 引入了“派生集”的概念。我

8、們把直接列岀元素的指標(biāo)集合叫 “基本集合” ,而基于其他集合派生岀來的二維或多維指標(biāo)集合稱為“派生集”。派生集的定義格式為:派生集名(原始集合1,原始集合2,原始集合n):屬性變量列表;實(shí)際上就是笛卡兒積的意思,即:派生集=(i 1,i2,in)| i1集合1, i2集合2,in集合n。1 )一個(gè)應(yīng)用例子(布局問題):某些建筑工地的位置(用平面坐標(biāo)a,b 表示)及水泥日用量d已知。現(xiàn)有A、B兩臨時(shí)料場位于 P (5,1)、Q (2,7),日儲(chǔ)量20。問A、B兩料場分別向各工地運(yùn)輸多少噸水泥,使總噸公里數(shù)最???若重新安排兩料場的位置,應(yīng)怎樣安排才能使總噸公里數(shù)最小?這樣安排可節(jié)省多少噸公里?12

9、3456a1.258.750.55.7537.25b1.250.754.7556.57.75d3547611設(shè)工地位置(ai,bi),水泥日用量為di( i=1,2,6);料場位置(xy),日儲(chǔ)量ej,j=1,2 ; 從料場j向工地i運(yùn)送量為cij。該問題的數(shù)學(xué)模型為:LINGO求解程序?yàn)椋篗ODEL:sets :lmark/1.6/:a,b,d;Jmark/1,2/:x,y,e;IJmark(lmark,Jmark):c;en dsetsdata :!Location for demand(需求點(diǎn)位置 );a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,4.7

10、5,5,6.5,7.75;!Qua ntities of the dema nd and supply(供需量);d=3,5,4,7,6,11;e=20,20;en ddatainit :!lnitial location for the supply(初始點(diǎn));x,y=5,1,2,7;endin itObjective function(目標(biāo));OBJ min =sum(IJmark(i,j): c(i,j)*(x(j)-a(i)A2+(y(j)-b(i)F2)A(1/2);!demand contraints(需求約束);for (lmark(i):DEMAND_CONSUMJmark(j

11、):c(i,j)=d(i););supply constrains(供給約束);for (Jmark(j):SUPPLY_CONSUMImark(i):c(i,j)v=e(j););for (Jmark:free (x); free (y););END2) 一個(gè)動(dòng)態(tài)規(guī)劃的例子:(最短路問題)從 S城市到T城市之間找一條最短路徑,道路情 況如下:數(shù)學(xué)模型為:LINGO求解程序:model :cities/s,a1,a2,a3,b1,b2,c1,c2,t/:L;路線的里程;sets :roads(cities,cities)/s,a1 s,a2 s,a3出;!派生集合roads表示的是網(wǎng)絡(luò)中的道路

12、;!由于并非所有城市間都有道路直接連接,所以將路具體列!屬性L(i)表示城市S到城市i的最優(yōu)行駛a1,b1 a1,b2 a2,b1 a2,b2 a3,b1 a3,b2b1,c1 b1,c2 b2,c1 b2,c2!屬性D(i,j) 是城市i到城市j的直接距離(已知);c1,t c2,t/:D;en dsetsdata :D= 6 3 36 5 8 6 7 46 7 8 95 6;L=0,;!因?yàn)?L(s)=0;en ddatafor (cities(i)|i#gt#index (s):!這行中index(s)可以直接寫成1;L(i)= min(roads(j,i):L(j)+D(j,i););

13、!這就是最短路關(guān)系式;endVariable ValueL( S)0.000000L( A1)6.000000L( A2)3.000000L( A3)3.000000L( B1)10.00000L( B2)7.000000L( C1)15.00000L( C2)16.00000L( T)20.00000最短路徑為: S-A3-B2-C1-T3)(指派問題)設(shè)有 6個(gè)人做6件事。其中Cj表示第i人做第j事的收益;設(shè)第i人做第j 事時(shí)Xij=1,否則Xij=0。該問題的規(guī)劃模型:人事1事2事3事4事5事61201516547217153312863912181630134128112719145-

14、7102110326-61113說明:其中“-”表示某人無法做該事??闪钇錇?(表示絕對(duì)不行)或 0 (領(lǐng)薪不用干活)LINGO求解程序:MODEL:sets :lmark/1.6/:i;Jmark/1.6/:j;IJmark(lmark,Jmark):c,x;en dsetsdata :!第i人做第j事的收益;c=20,15,16,5,4,717,15,33,12,8,69.12.18.16.30.1312.8.11.27.19.14-99,7,10,21,10,32-99,-99,-99,6,11,13;en ddataOBJ max = sum(IJmark(i,j): c*x);!每人

15、做一項(xiàng)工作;for (Imark(i):SUMJmark(j):x(i,j)=1;);!每事一人做;for (Jmark(j):SUMImark(i):x(i,j)=1;);for (IJmark:bin (x);!本約束可以不要,因?yàn)橛薪鈺r(shí)必為0或1;END4)(生產(chǎn)與銷售計(jì)劃問題)某公司用兩種原油( A和B)混合加工成兩種汽油(甲和乙)。 甲、乙兩種汽油含原油A的最低比例分別為50%和60%,每噸售價(jià)分別是 4800元和5600元。該公司現(xiàn)有原油 A和B的庫存量分別為500噸和1000噸,還可以從市場上買到不超過1500噸的原油A。原油A的市場價(jià)為:購買量不超500噸時(shí)單價(jià)為10000元/

16、噸;購買量超過 500噸但不超1000噸時(shí),超過500噸部分單價(jià)為 8000元/噸;購買量超過1000噸部分的單價(jià)是 6000元/ 噸。該公司應(yīng)如何安排原油的采購和加工以獲得最大利潤?數(shù)學(xué)模型:設(shè)原油A用于生產(chǎn)甲、乙兩種汽油的數(shù)量分別是x11和X12,原油B用于生產(chǎn)甲、乙兩種汽油的數(shù)量分別是x21和x22 ;購買原油 A的數(shù)量是x噸,采購支岀為 c(x)千元/噸。為了處理分段函數(shù)c(x),將原油采購量x分解為對(duì)應(yīng)價(jià)格10千元/噸的采購量x1、對(duì)應(yīng)對(duì)應(yīng)價(jià)格(x1500)x20(x2500)x30此時(shí)采購支出 c(x)10x18x28 千元 /噸的采購量 x2 和對(duì)應(yīng)價(jià)格6 千元 /噸的采購量 x3 ,它們應(yīng)滿足:表示要么 x1=500 要么 x2=0 ,即 x1 的量不達(dá)到 500 時(shí) x2=0表示要么 x2=500 要么 x3=0 ,即 x2 的量不達(dá)到 500 時(shí) x3=06x3模型改變?yōu)椋?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論