優(yōu)化軟件LINGO使用入門(mén).ppt_第1頁(yè)
優(yōu)化軟件LINGO使用入門(mén).ppt_第2頁(yè)
優(yōu)化軟件LINGO使用入門(mén).ppt_第3頁(yè)
優(yōu)化軟件LINGO使用入門(mén).ppt_第4頁(yè)
優(yōu)化軟件LINGO使用入門(mén).ppt_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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、優(yōu)化軟件LINGO使用入門(mén),Lingo12初步,LINGO入門(mén),初始印象,1,數(shù)據(jù)交換,4,界面介紹 工具欄 文件類(lèi)型 運(yùn)行過(guò)程 求解器狀態(tài)窗口 求解報(bào)告窗口,初始印象,界面介紹,LINGO軟件的主窗口(用戶界面),所有其他窗口都在這個(gè)窗口之內(nèi)。,模型窗口(Model Window),用于輸入LINGO優(yōu)化模型(即LINGO程序)。,狀態(tài)行(最左邊顯示“Ready”,表示 “準(zhǔn)備就緒”),當(dāng)前時(shí)間,當(dāng)前光標(biāo)的位置,工具欄,File|Open (F3) 打開(kāi)文件,File|Print (F7) 打印文件,Edit|Copy (Ctrl+C) 復(fù)制,Edit|Undo (Ctrl+Z) 取消操作,

2、Edit|Find (Ctrl+F) 查找,LINGO|Solution (Alt+O)顯示解答,Edit|Match Parenthesis (Ctrl+P) 匹配括號(hào),LINGO|Options (Ctrl+I) 選項(xiàng)設(shè)置,Window|Close All (Alt+X) 關(guān)閉所有窗口,File|New (F2) 新建文件,File|Save (F4) 保存文件,Edit|Cut (Ctrl+X) 剪切,Edit|Paste (Ctrl+V) 粘貼,Edit|Redo (Ctrl+Y) 恢復(fù)操作,Edit | Go To Line (Ctrl+T) 定位某行,LINGO|Solve (Ct

3、rl+S) 求解模型,LINGO|Picture (Ctrl+K) 模型圖示,Window|Send to Back (Ctrl+B) 窗口后置,Window|Tile (Alt+T) 平鋪窗口,上下文相關(guān)的幫助,Help|Contents(F1) 在線幫助,文件類(lèi)型,.LG4:LINGO格式的模型文件,保存了模型窗口中所能夠看到的所有文本和其他對(duì)象及其格式信息; .LNG:文本格式的模型文件,不保存模型中的格式信息(如字體、顏色、嵌入對(duì)象等); .LDT:LINGO數(shù)據(jù)文件; .LTF:LINGO命令腳本文件; .LGR:LINGO報(bào)告文件; .LTX: LINDO格式的模型文件; .MPS

4、:示MPS(數(shù)學(xué)規(guī)劃系統(tǒng))格式的模型文件。,除“LG4”文件外,另外幾種格式的文件都是普通的文本文件,可以用任何文本編輯器打開(kāi)和編輯。,運(yùn)行過(guò)程,LP QP NLP IP 全局優(yōu)化(選) ILP IQP INLP,LINDO/LINGO預(yù)處理程序,線性優(yōu)化求解程序,非線性優(yōu)化求解程序,分枝定界管理程序,1. 確定常數(shù) 2. 識(shí)別類(lèi)型,1. 單純形算法 2. 內(nèi)點(diǎn)算法barrier(選),1.順序線性規(guī)劃法(SLP) 2.廣義既約梯度法(GRG) (選) 3.多點(diǎn)搜索(Multistart) (選),求解器狀態(tài)窗口,變量數(shù)量,T,N,In,T,N,T,N,Class,Ob,Infe,Ite,Ty

5、pe,Obj,求解花費(fèi)時(shí)間,非零系數(shù)數(shù)量,內(nèi)存使用數(shù)量,約束數(shù)量,模型類(lèi)型,當(dāng)前解狀態(tài),當(dāng)前目標(biāo)函數(shù)值,擴(kuò)展求解器,使用的特殊求解程序,到目前的最佳目標(biāo)值,特殊求解程序當(dāng)前運(yùn)行步數(shù),有效步數(shù),B-and-B Global Multistart,LP,QP,ILP,IQP,PILP, PIQP,NLP,INLP,PINLP,Global Optimum, Local Optimum, Feasible, Infeasible“(不可行), Unbounded“(無(wú)界), Interrupted“(中斷), Undetermined“(未確定),約束不滿足的總量,目前為止的迭代次數(shù),目標(biāo)函數(shù)值的界

6、,分枝數(shù)(對(duì)B-and-B程序); 子問(wèn)題數(shù)(對(duì)Global程序); 初始點(diǎn)數(shù)(對(duì)Multistart程序),可直接求 解的變量 不作為決 策變量。,更新時(shí)間間隔,求解報(bào)告窗口,打開(kāi)lingo程序,將下面代碼復(fù)制粘貼到模型窗口,并運(yùn)行后觀察結(jié)果報(bào)告。,初始印象練習(xí),model: title 入門(mén)練習(xí); max=2*x1+3*x2; 2*x1+x28; 4*x1+3*x215; END,傻瓜輸入法格式 注意事項(xiàng) 算術(shù)運(yùn)算符 邏輯運(yùn)算符 數(shù)學(xué)函數(shù),傻瓜輸入法,傻瓜輸入法格式,例 直接用LINGO來(lái)解如下二次規(guī)劃問(wèn)題:,Model: Title:傻瓜輸入法; !小程序可用,大程序不提倡; st1x1

7、+x2100; optmax=98*x1+277*x2-x12-0.3*x1*x2-2*x22; st2x1=2*x2; gin(x1);gin(x2); end,注意事項(xiàng),“”(或“=”(或“=”)功能相同; LINGO模型以“MODEL:”開(kāi)始,“END”結(jié)束; 目標(biāo)函數(shù)為“MAX=”。不需要寫(xiě)“ST” ; 變量與系數(shù)間有乘號(hào)運(yùn)算符“ * ”; 變量名以字母開(kāi)頭,不能超過(guò)64個(gè)字符; 變量名不區(qū)分大小寫(xiě)(包括LINGO中的關(guān)鍵字); 語(yǔ)句的順序不重要; 行號(hào)自動(dòng)產(chǎn)生或人為定義。目標(biāo)函數(shù)所在行是第一行, 第二行起為約束條件,約束行名字被放“ ”中; 行中注有“!”符號(hào)的后面部分為注釋;,注意

8、事項(xiàng),在模型的開(kāi)頭可以用“TITLE” 對(duì)模型命名; 變量可以放在約束右端; 每行(目標(biāo),約束,說(shuō)明語(yǔ)句)后增加 “;”; 開(kāi)頭都是函數(shù)調(diào)用; 上下界限定用BND(),不計(jì)入模型的約束,也不能給出其松緊判斷和敏感性分析; 缺省假定所有變量非負(fù);可在模型的“END”語(yǔ)句后用“FREE() ”將變量的非負(fù)假定取消; 對(duì)0-1變量說(shuō)明:BIN();對(duì)整型變量說(shuō)明:GIN(); 模型由一系列語(yǔ)句組成,適當(dāng)縮進(jìn),增強(qiáng)可讀性。,LINGO中的算術(shù)運(yùn)算符有以下5種: +(加法), -(減法或負(fù)號(hào)), *(乘法), /(除法), (求冪)。,算術(shù)運(yùn)算符,數(shù)與數(shù)之間的運(yùn)算,運(yùn)算結(jié)果也是數(shù)。,表示是“數(shù)與數(shù)之間”

9、的大小關(guān)系,在LINGO中用來(lái)表示優(yōu)化模型的約束條件。 LINGO中關(guān)系運(yùn)算符有3種: (即=,大于等于) 在優(yōu)化模型中約束一般沒(méi)有嚴(yán)格小于、嚴(yán)格大于關(guān)系.,關(guān)系運(yùn)算符,ABS(X):返回X的絕對(duì)值。 SIN(X):正弦函數(shù),返回X的正弦值(X的單位是弧度)。 COS(X):返回X的余弦值(X的單位是弧度)。 TAN(X):正切函數(shù),返回X的正切值(X的單位是弧度)。 EXP(X):返回eX的值(其中e=2.718281.)。 POW(X,Y):指數(shù)函數(shù),返回XY的值。 SQR(X):平方函數(shù),返回X的平方(即X*X)的值。 SQRT(X):開(kāi)平方函數(shù),返回X的正的平方根的值。 LOG(X):

10、返回X的自然對(duì)數(shù)值。,數(shù)學(xué)函數(shù),MOD(X,Y):模函數(shù),返回X對(duì)Y取模的結(jié)果,即X除以Y的余數(shù),這里X和Y應(yīng)該是整數(shù)。 SIGN(X):符號(hào)函數(shù),返回X的符號(hào)值(X = 0時(shí)返回+1)。 SMAX(list):最大值函數(shù),返回一列數(shù)(list)的最大值。 SMIN(list):最小值函數(shù),返回一列數(shù)(list)的最小值。 FLOOR(X):返回X的整數(shù)部分(向最靠近0的方向取整)。 LGM(X) :返回X的伽瑪(gamma)函數(shù)的自然對(duì)數(shù)值(當(dāng)X為 整數(shù)時(shí)LGM(X) = LOG(X-1)??;當(dāng)X不為整數(shù)時(shí) ,采用線性插值得到結(jié)果)。,數(shù)學(xué)函數(shù),實(shí)例1,生產(chǎn)計(jì)劃問(wèn)題某工廠計(jì)劃安排生產(chǎn),兩種產(chǎn)

11、品,已知每種單位產(chǎn)品的利潤(rùn),生產(chǎn)單位產(chǎn)品所需設(shè)備臺(tái)時(shí)及A,B兩種原材料的消耗,現(xiàn)有原材料和設(shè)備臺(tái)時(shí)的定額如表所示,問(wèn):怎么安排生產(chǎn)使得工廠獲利最大?,實(shí)例1,實(shí)例1,程序編寫(xiě) model: title 生產(chǎn)計(jì)劃問(wèn)題; maxfmax=2*x1+3*x2; TIMEx1+2*x28; A4*x116; B4*x212; END,實(shí)例1,運(yùn)行結(jié)果 Model Title: 生產(chǎn)計(jì)劃問(wèn)題 Variable Value Reduced Cost X1 4.000000 0.000000 X2 2.000000 0.000000 Row Slack or Surplus Dual Price MAXF

12、14.00000 1.000000 TIME 0.000000 1.500000 A 0.000000 0.1250000 B 4.000000 0.000000,安排是生產(chǎn)產(chǎn)品4單位,產(chǎn)品2單位,最大盈利為14萬(wàn)元 。,數(shù)學(xué)軟件與數(shù)學(xué)實(shí)驗(yàn)第二版 155頁(yè) 第1題,傻瓜輸入法練習(xí),集合段 數(shù)據(jù)段 目標(biāo)與約束段 基本集合與派生集合 循環(huán)函數(shù) 循環(huán)求和函數(shù) 多維數(shù)組 過(guò)濾條件 邏輯運(yùn)算符,“段”的使用,sets:!集合段; s/1.100/:x;!基本集合, 集合名與屬性變量; endsets !目標(biāo)與約束段; sum(s(i):x(i)90;!循環(huán)求和函數(shù);,1.怎樣表示:,“段”的使用,2.怎

13、樣賦值:,sets: ss/1.10/:b; endsets data:! 數(shù)據(jù)段; b=1 0 1 2 3 5 2 6 1 2; enddata, “段”的使用,sets: a/1.100/:; b/1.200/:; C(a,b):x;!派生集合; endsets sum(c(i,j):x(i,j)=280;,3.怎樣表示:, “段”的使用,sets: a/1.100/:; b/1.200/:; C(a,b):x; endsets for(b(j):sum(a(i):x(i,j)=280); !集合元素的循環(huán)函數(shù);,4.怎樣表示:, “段”的使用,FOR( )(集合元素的循環(huán)函數(shù)): 對(duì)集合

14、setname的每個(gè)元素獨(dú)立地生成表達(dá)式,表達(dá)式由expression_list描述。 MAX( )(集合屬性的最大值函數(shù)):返回集合setname上的表達(dá)式的最大值。 MIN( )(集合屬性的最小值函數(shù)):返回集合setname上的表達(dá)式的最小值。 PROD( )(集合屬性的乘積函數(shù)): 返回集合setname上的表達(dá)式的積。 SUM( ) (集合屬性的求和函數(shù)):返回集合setname上的表達(dá)式的和。,集合循環(huán)函數(shù),sets: a/1.100/:; b/1.200/:y; C(a,b):x; endsets for(b(j):gin(y(j); for(c(i,j):bin(x(i,j);

15、,5.怎樣表示:, “段”的使用,6.怎樣表示:,sets: a/1.20/:; b/1.30/:; C/1.40/:; d(a,b,c):x; endsets for(a(i):for(b(j): sum(c(i,j,k)|k#gt#1#and#k#ne#10:x(i,j,k)=100); !過(guò)濾條件;, “段”的使用,在LINGO中,邏輯運(yùn)算(表達(dá)式)通常作為過(guò)濾條件使用。 邏輯運(yùn)算符有9種,可以分成兩類(lèi): #AND#(與),#OR#(或),#NOT#(非):邏輯值之間的運(yùn)算,它們操作的對(duì)象本身已經(jīng)是邏輯值或邏輯表達(dá)式; #EQ#(等于),#NE#(不等于),#GT#(大于),#GE#(大

16、于等于),#LT#(小于),#LE#(小于等于):是“數(shù)與數(shù)之間”的比較。,邏輯運(yùn)算符,運(yùn)算結(jié)果只有“真”(TRUE)和“假”(FALSE)兩個(gè)值(稱為“邏輯值”),LINGO中用數(shù)字1代表TRUE,其他值(典型的值是0)都是FALSE。,例 2 #gt# 3 #and# 4 #gt# 2 結(jié)果是:真(1) 假(0)?,7.怎樣表示:,SETS: HANG/1.3/:B; LIE/1.4/:X; XISHU(HANG,LIE):A; ENDSETS DATA: A= 1 2 3 1 2 5 1 2 3 1 6 -2; B=4 5 7; ENDDATA FOR(HANG(I): SUM(LIE(

17、J):A(I,J)*X(J)B(I);, “段”的使用,程序編寫(xiě),model: title 生產(chǎn)計(jì)劃程序1; Sets: yuefen/1.4/:c,x,e,d; endsets data: c=70 71 80 76; d=6000 7000 12000 6000; e=2 2 2 2 ; a=10000; enddata min=sum(yuefen:c*x)+ sum(yuefen(j)|j#lt#4:sum(yuefen(i)|i#le#j:x-d)*e(j+1); for(yuefen(j)|j#lt#4: sum(yuefen(i)|i#le#j:x) sum(yuefen(i)|

18、i#le#j:d); sum(yuefen:x)= sum(yuefen:d); for(yuefen:xa); end,遍歷集合每一元素,下標(biāo)可省略,MODEL: TITLE :生產(chǎn)計(jì)劃程序1; _1 MIN= 76 * X_1 + 75 * X_2 + 82 * X_3 + 76 * X_4 - 88000 ; _2 X_1 = 6000 ; _3 X_1 + X_2 = 13000 ; _4 X_1 + X_2 + X_3 = 25000 ; _5 X_1 + X_2 + X_3 + X_4 = 31000 ; _6 X_1 = 10000 ; _7 X_2 = 10000 ; _8 X

19、_3 = 10000 ; _9 X_4 = 10000 ; END,程序展開(kāi),Model: Title 生產(chǎn)計(jì)劃程序2; Sets: yuefen/1.4/:c,x,e,d,s; endsets data: c=70 71 80 76; d=6000 7000 12000 6000; e=2 2 2 2 ; a=10000; enddata min=sum(yuefen:c*x+e*s); for(yuefen(i)|i#lt#4:s(i+1)=s(i)+x(i)-d(i); s(4)+x(4)-d(4)=0; s(1)=0; for(yuefen:xa); for(yuefen:gin(x)

20、; for(yuefen:gin(s); End,程序編寫(xiě),數(shù)學(xué)軟件與數(shù)學(xué)實(shí)驗(yàn)第二版 155頁(yè) 第1題(1),(2),(3),“段”的使用練習(xí),與EXCEL交換數(shù)據(jù),數(shù)據(jù)傳遞,與EXCEL交換數(shù)據(jù),用“插入名稱定義”命名選中區(qū)域,數(shù)據(jù)傳遞與EXCEL交換數(shù)據(jù),MODEL: SETS: MYSET: COST, ORDERED,NEED,SUPPLY; ENDSETS MIN = SUM( MYSET( I): ORDERED ( I) * COST( I); FOR( MYSET( I): CON1 ORDERED( I) NEED( I); CON2 ORDERED( I) SUPPLY(

21、I); DATA: MYSET =OLE(D:rxllingo程序mydata.xls,CITIES); !全路徑指明文件,否則當(dāng)前目錄; COST,NEED,SUPPLY =OLE(mydata.xls); !按對(duì)應(yīng)的相同名稱輸入; OLE(mydata.xls,SOLUTION)=ORDERED; !將SHIP 值賦給Excel中的SOLUTION; ! 或者直接寫(xiě)地址:OLE(mydata.xls,Sheet1!$F$4:$F$7)=ORDERED; ENDDATA END,Export Summary Report - Transfer Method: OLE BASED Workbo

22、ok: mydata.xls Ranges Specified: 1 SOLUTION Ranges Found: 1 Range Size Mismatches: 0 Values Transferred: 4,數(shù)據(jù)傳遞與EXCEL交換數(shù)據(jù),報(bào)告窗口輸出總結(jié)報(bào)告:,采用OLE方式傳輸數(shù)據(jù); EXCEL文件為mydata.xls; 指定的接收單元范圍為SOLUTION; 在mydata.xls正好找到一個(gè)名為SOLUTION的域名; 不匹配的單元數(shù)為0; 傳輸了4個(gè)數(shù)值。,model: title 分片; sets: pingtai/1.24/:p; lukou/1.92/:n; link(p

23、ingtai,lukou):t,x; endsets data: t=ole(d:time1.xls,t); n=ole(d:fa.xls,n); enddata,實(shí)例22011全國(guó)數(shù)模競(jìng)賽的一個(gè)模型,從excel文檔中讀入數(shù)據(jù),先給數(shù)據(jù)區(qū)域命名。用“插入名稱定義”命名選中區(qū)域。,min=u; for(pingtai(i):p(i)=sum(lukou(j):x(i,j)*n(j); for(pingtai(i): for(pingtai(k): p(i)-p(k)u;); for(link:t*x30;); for(link:bin(x); for(lukou(j):sum(pingtai(

24、i):x(i,j)=1); end,實(shí)例22011全國(guó)數(shù)模競(jìng)賽的一個(gè)模型,程序結(jié)構(gòu) 程序調(diào)試,程序結(jié)構(gòu)與調(diào)試,程序結(jié)構(gòu),一般來(lái)說(shuō), LINGO中建立的優(yōu)化模型可以由六個(gè)部分組成,或稱為六“段”(SECTION):,(1)集合段(SETS):以“ SETS:” 開(kāi)始, “ENDSETS”結(jié)束,定義必要的集合變量(SET)及其元素(MEMBER,含義類(lèi)似于數(shù)組的下標(biāo))和屬性(ATTRIBUTE,含義類(lèi)似于數(shù)組)。,(2)目標(biāo)與約束段:目標(biāo)函數(shù)、約束條件等,沒(méi)有段的開(kāi)始和結(jié)束標(biāo)記,因此實(shí)際上就是除其它四個(gè)段(都有明確的段標(biāo)記)外的LINGO模型。,(3)數(shù)據(jù)段(DATA):以 “DATA:” 開(kāi)始, “ENDDATA”結(jié)束, 對(duì)集合的屬性(數(shù)組)輸入或輸出必要的常數(shù)數(shù)據(jù)。 格式為:“attribute(屬性) = value_list(常數(shù)列表);”,(5) 計(jì)算段:在數(shù)據(jù)段輸入完成之后在正式求解模型之前對(duì) 原始數(shù)據(jù)進(jìn)行處理,語(yǔ)句是順序執(zhí)行的,不能更換順序,在

溫馨提示

  • 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)論