如何使用軟件_第1頁
如何使用軟件_第2頁
如何使用軟件_第3頁
如何使用軟件_第4頁
如何使用軟件_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

如何使用軟件第1頁,共50頁,2023年,2月20日,星期六1在Lingo中使用Lindo模型Lindo與Lingo都是LINDO系統(tǒng)公司開發(fā)的專門用于求解最優(yōu)化問題的軟件包。與Lindo相比,Lingo軟件主要具有兩大優(yōu)點(diǎn):(1)除具有LINDO的全部功能外,還可用于求解非線性規(guī)劃問題,包括非線性整數(shù)規(guī)劃問題。(2)LINGO包含了內(nèi)置的建模語言,允許以簡練、直觀的方式描述較大規(guī)模的優(yōu)化問題,模型中所需的數(shù)據(jù)可以以一定格式保存在獨(dú)立的文件中。第2頁,共50頁,2023年,2月20日,星期六1在Lingo中使用Lindo模型Lingo9.0完全支持Lindo模型程序的書寫格式。在Lingo9.0模型窗口中選擇菜單命令“File|Open(F3)”

注意在Lingo9.0以前的版本中(如Lingo8.0),“File|ImportLINDOFile(F12)”命令可以將Lindo模型文件轉(zhuǎn)化成Lingo模型。這個(gè)菜單命令的意思是“導(dǎo)入Lindo文件”(在LINGO9.0中已無必要,所以該命令已經(jīng)被取消了)。第3頁,共50頁,2023年,2月20日,星期六·后綴“l(fā)dt”表示LINGO數(shù)據(jù)文件;·后綴“l(fā)tf”表示LINGO命令腳本文件;·后綴“l(fā)gr”表示LINGO報(bào)告文件;·后綴“mps”表示MPS(數(shù)學(xué)規(guī)劃系統(tǒng))格式的模型文件;·“*.*”表示所有文件。后綴“l(fā)g4”表示LINGO格式的模型文件,是一種特殊的二進(jìn)制格式文件,保存了我們在模型窗口中能夠看到的所有文件和其他對象及其格式信息,只有LINGO能讀出它,用其他系統(tǒng)打開這種文件時(shí)會(huì)出現(xiàn)亂碼;后綴“l(fā)ng”表示文本格式的模型文件,并且以這個(gè)格式保存模型時(shí)LINGO將給出警告,因?yàn)槟P椭械母袷叫畔ⅲㄈ缱煮w、顏色、嵌入對象等)將會(huì)丟失;LINDO格式的模型文件第4頁,共50頁,2023年,2月20日,星期六2用Lingo求解二次規(guī)劃(QP)模型例2.1某廠生產(chǎn)的一種產(chǎn)品有甲、乙兩個(gè)牌號(hào),討論在產(chǎn)銷平衡的情況下如何確定各自的產(chǎn)量,使總的利潤最大。所謂產(chǎn)銷平衡指工廠的產(chǎn)量等于市場上的銷量,沒有賣不出去的產(chǎn)品的情況。顯然,銷售總利潤既取決于兩種牌號(hào)產(chǎn)品的銷量和(單件)價(jià)格,也依賴于產(chǎn)量和(單件)成本,按照市場經(jīng)濟(jì)規(guī)律,甲的價(jià)格p1固然會(huì)隨其銷量x1的增長而降低,同時(shí)乙的銷量x2的增長也會(huì)使甲的價(jià)格有稍微的下降,可以簡單地假設(shè)價(jià)格與銷量成線性關(guān)系,即p1=b1-a11x1-a12x2,b1,a11,a12>0,a11>a12;類似地,乙的價(jià)格p2遵循同樣的規(guī)律,即有p2=b2-a21x1-a22x2,b2,a21,a22>0,a22>a21.例如,假定實(shí)際中b1=100,a11=1,a12=0.1,b2=280;a21=0.2,a22=2。此外,假設(shè)工廠的生產(chǎn)能力有限,兩種牌號(hào)產(chǎn)品的產(chǎn)量之和不可能超過100件,且甲的產(chǎn)量不可能超過乙的產(chǎn)量的兩倍,甲乙的單件生產(chǎn)成本分別是q1=2和q2=3(假定為常數(shù))。求甲、乙兩個(gè)牌號(hào)的產(chǎn)量x1,x2使總利潤最大。第5頁,共50頁,2023年,2月20日,星期六優(yōu)化模型

決策變量:決策變量就是甲、乙兩個(gè)牌號(hào)的產(chǎn)量(也是銷量)x1,x2目標(biāo)函數(shù):顯然,目標(biāo)函數(shù)就是總利潤z(x1,x2),即

z(x1,x2)=(p1-q1)x1+(p2-q2)x2

=(100-x1-0.1x2-2)x1+(280-0.2x1- 2x2-3)x2

=98x1+277x2-x12-0.3x1x2-2x22約束條件:題中假設(shè)工廠的生產(chǎn)能力有限,兩種產(chǎn)品的產(chǎn)量之和不可能超過100件,且產(chǎn)品甲的產(chǎn)量不可能超過乙的產(chǎn)量的兩倍。寫成數(shù)學(xué)表達(dá)式,就是x1+x2≤100,x1≤2x2第6頁,共50頁,2023年,2月20日,星期六綜上所述

maxz=98x1+277x2-x12-0.3 x1x2-2x22

(1.1)

s.t.

x1+x2≤100(1.2)

x1≤2x2(1.3)

x1,x2≥0(1.4)第7頁,共50頁,2023年,2月20日,星期六LINGO中的變量名由字母和數(shù)字組成,但必須以字母開頭,長度不能超過32個(gè)字符(只能是英文字符,不能含有中文字符)行號(hào)、“TITLE”語句和注釋語句是LINGO中唯一可以使用漢字字符的地方行號(hào)必須以字母或下劃線開頭;LINGO中不區(qū)分大小寫字母LINGO中已假定所有變量非負(fù)第8頁,共50頁,2023年,2月20日,星期六通過“LINGO|Generate|DisplayModel(Ctrl+G)”命令可以看到完整的模型以及每行語句對應(yīng)的行號(hào)了。第9頁,共50頁,2023年,2月20日,星期六可使用“

LINGO|Picture

”命令檢查模型中的簡單錯(cuò)誤,該命令將目標(biāo)函數(shù)和約束表達(dá)式中的非零系數(shù)通過列表(或圖形)顯示出來。第10頁,共50頁,2023年,2月20日,星期六用“LINGO|Solve(Ctrl+S)”命令來運(yùn)行這個(gè)程序。(如果想要了解運(yùn)行狀態(tài)窗口中各項(xiàng)的含義,可先點(diǎn)擊工具欄上的圖標(biāo),再點(diǎn)擊運(yùn)行狀態(tài)窗口,屏幕上自動(dòng)彈出運(yùn)行狀態(tài)窗口的幫助信息。)第11頁,共50頁,2023年,2月20日,星期六求解結(jié)果報(bào)告窗口第12頁,共50頁,2023年,2月20日,星期六3敏感性分析敏感性分析的作用是給出“Rangesinwhichthebasisisunchanged”,即研究當(dāng)目標(biāo)函數(shù)的系數(shù)和約束右端項(xiàng)在什么范圍變化(此時(shí)假定其他系數(shù)保持不變)時(shí),最優(yōu)基(矩陣)保持不變。注意:這里L(fēng)INGO不詢問是否進(jìn)行敏感性分析。如果需要進(jìn)行敏感性分析,必須用“LINGO|Options”命令打開系統(tǒng)選項(xiàng)對話框,在“GeneralSolver”標(biāo)簽下的“DualComputations”下拉列表中選中“Prices&Range”,再按下“OK”按鈕激活敏感性分析功能。修改了系統(tǒng)選項(xiàng)后,以后只需調(diào)用“LINGO|Range”命令即可進(jìn)行敏感性分析了。第13頁,共50頁,2023年,2月20日,星期六修改運(yùn)行時(shí)的內(nèi)存限制激活敏感性分析第14頁,共50頁,2023年,2月20日,星期六 例3.1一奶制品加工廠用牛奶生產(chǎn)A1,A2兩種奶制品,1桶牛奶可以在甲車間用12h加工成3kgA1,或者在乙車間用8h加工成4kgA2。根據(jù)市場需求,生產(chǎn)出的A1,A2全部能售出,且每千克A1獲利24元,每千克A2獲利16元?,F(xiàn)在加工廠每天能得到50桶牛奶的供應(yīng),每天正式工人總的勞動(dòng)時(shí)間為480h,并且甲車間的設(shè)備每天至多能加工100kgA1,乙車間的設(shè)備的加工能力可以認(rèn)為沒有上限限制(即加工能力足夠大)。試為該廠制定一個(gè)生產(chǎn)計(jì)劃,使每天獲利最大,并進(jìn)一步討論以下3個(gè)附加問題: (1)若用35元可以買到1桶牛奶,是否作這項(xiàng)投資?若投資,每天最多購買多少桶牛奶? (2)若可以聘用臨時(shí)工人以增加勞動(dòng)時(shí)間,付給臨時(shí)工人的工資最多是每小時(shí)幾元? (3)由于市場需求變化,每千克A1的獲利增加到30元,是否應(yīng)該改變生產(chǎn)計(jì)劃?第15頁,共50頁,2023年,2月20日,星期六優(yōu)化模型

決策變量: 設(shè)每天用x1桶牛奶生產(chǎn)A1,用x2桶牛奶生產(chǎn)A2

目標(biāo)函數(shù): 設(shè)每天獲利為z(元),x1桶牛奶生產(chǎn)3x1(kg)A1,獲利24×3x1,x2桶牛奶生產(chǎn)4x2(kg)A2,獲利16×4x1,故z=72x1+64x2.

約束條件:

原料供應(yīng):生產(chǎn)A1,A2的原料(牛奶)總量不得超過每 天的供應(yīng),即x1+x2≤50(桶);

勞動(dòng)時(shí)間:生產(chǎn)A1,A2的總加工時(shí)間不得超過每天正式 工人總的勞動(dòng)時(shí)間,即12x1+8x2≤480(h);

設(shè)備能力:A1的產(chǎn)量不得超過甲車間設(shè)備每天的加工 能力,即3x1≤100;

非負(fù)約束:x1,x2均不能為負(fù)值。第16頁,共50頁,2023年,2月20日,星期六綜上所述Maxz=72x1+64x2;s.t.x1+x2≤50,

12x1+8x2≤480,

3x1≤100,

x1,x2≥0線性規(guī)劃模型(LP)第17頁,共50頁,2023年,2月20日,星期六模型分析與假設(shè)

比例性可加性連續(xù)性xi對目標(biāo)函數(shù)的“貢獻(xiàn)”與xi取值成正比xi對約束條件的“貢獻(xiàn)”與xi取值成正比xi對目標(biāo)函數(shù)的“貢獻(xiàn)”與xj取值無關(guān)xi對約束條件的“貢獻(xiàn)”與xj取值無關(guān)xi取值連續(xù)A1,A2每公斤的獲利是與各自產(chǎn)量無關(guān)的常數(shù)每桶牛奶加工出A1,A2的數(shù)量和時(shí)間是與各自產(chǎn)量無關(guān)的常數(shù)A1,A2每公斤的獲利是與相互產(chǎn)量無關(guān)的常數(shù)每桶牛奶加工出A1,A2的數(shù)量和時(shí)間是與相互產(chǎn)量無關(guān)的常數(shù)加工A1,A2的牛奶桶數(shù)是實(shí)數(shù)線性規(guī)劃模型第18頁,共50頁,2023年,2月20日,星期六模型求解

圖解法

x1x20ABCDl1l2l3l4l5約束條件目標(biāo)函數(shù)

Z=0Z=2400Z=3600z=c(常數(shù))~等值線c在B(20,30)點(diǎn)得到最優(yōu)解目標(biāo)函數(shù)和約束條件是線性函數(shù)可行域?yàn)橹本€段圍成的凸多邊形目標(biāo)函數(shù)的等值線為直線最優(yōu)解一定在凸多邊形的某個(gè)頂點(diǎn)取得。第19頁,共50頁,2023年,2月20日,星期六Lingo優(yōu)化模型這是一個(gè)(連續(xù))線性規(guī)劃(LP)問題第20頁,共50頁,2023年,2月20日,星期六“LINGO|Solve”求解結(jié)果報(bào)告(1)若用35元可以買到1桶牛奶,是否作這項(xiàng)投資?若投資,每天最多購買多少桶牛奶?(2)若可以聘用臨時(shí)工人以增加勞動(dòng)時(shí)間,付給臨時(shí)工人的工資最多是每小時(shí)幾元?(3)由于市場需求變化,每千克A1的獲利增加到30元,是否應(yīng)該改變生產(chǎn)計(jì)劃?“LINGO|Range”敏感性分析第21頁,共50頁,2023年,2月20日,星期六結(jié)論應(yīng)該批準(zhǔn)用35元買1桶牛奶的投資,但每天最多購買10桶牛奶。可以用低于2元/h的工資聘用臨時(shí)工人以增加勞動(dòng)時(shí)間,但最多增加53.3333h。若每千克A1的獲利增加到30元,則x1系數(shù)變?yōu)?0×3=90,在允許的范圍內(nèi),所以不應(yīng)改變生產(chǎn)計(jì)劃,但最優(yōu)值變?yōu)?0×20+64×30=3720。第22頁,共50頁,2023年,2月20日,星期六 例4.1SAILCO公司需要決定下四個(gè)季度的帆船生產(chǎn)量。下四個(gè)季度的帆船需求量分別是40條,60條,75條,25條,這些需求必須按時(shí)滿足。每個(gè)季度正常的生產(chǎn)能力是40條帆船,每條船的生產(chǎn)費(fèi)用為400美元。如果加班生產(chǎn),每條船的生產(chǎn)費(fèi)用為450美元。每個(gè)季度末,每條船的庫存費(fèi)用為20美元,假定生產(chǎn)提前期為0,初始庫存為10條船。如何安排生產(chǎn)可使總費(fèi)用最?。?在LINGO中使用集合第23頁,共50頁,2023年,2月20日,星期六

DEM——需求量,RP——正常生產(chǎn)的產(chǎn)量,OP——加班生產(chǎn)的產(chǎn)量,INV——庫存量

目標(biāo)函數(shù):

約束條件:

能力限制RP(I)≤40,I=1,2,3,4

產(chǎn)品數(shù)量的平衡方程

INV(I)=INV(I-1)+RP(I)+OP(I)-DEM(I)I=1,2,3,4 INV(0)=10;

變量的非負(fù)約束第24頁,共50頁,2023年,2月20日,星期六Lingo優(yōu)化模型集合屬性集合的屬性相當(dāng)于以集合的元素為下標(biāo)的數(shù)組第25頁,共50頁,2023年,2月20日,星期六Lingo模型的基本要素(1)集合段(SETS)(2)目標(biāo)與約束段(3)數(shù)據(jù)段(DATA):作用在于對集合的屬性(數(shù) 組)輸入必要的常數(shù)數(shù)據(jù)。格式為:

attribute(屬性)=value_list(常數(shù)列表);

常數(shù)列表(value_list)中數(shù)據(jù)之間可以用逗號(hào)“,”分 開,也可以用空格分開(回車的作用也等價(jià)于一個(gè)空 格)

“變量名=?;”

——運(yùn)行時(shí)賦值(4)初始段(INIT)——賦初值(5)計(jì)算段(CALC)——預(yù)處理第26頁,共50頁,2023年,2月20日,星期六例4.2建筑工地的位置(用平面坐標(biāo)a,b表示,距離單位:km)及水泥日用量d(單位:t)由下表給出。目前有兩個(gè)臨時(shí)料場位于P(5,1),Q(2,7),日儲(chǔ)量各有20t,求從A,B兩料場分別向各工地運(yùn)送多少噸水泥,使總的噸公里數(shù)最小。兩個(gè)新的料場應(yīng)建在何處,節(jié)省的噸公里數(shù)有多大?

123456a1.258.750.55.7537.25b1.250.754.7556.57.75d3547611工地的位置(a,b)及水泥日用量d第27頁,共50頁,2023年,2月20日,星期六優(yōu)化模型 記工地的位置為(ai,bi),水泥日用量為di,i=1,2,…,6;料場位置為(xj,yj),日儲(chǔ)量為ej,j=1,2;從料場j向工地i的運(yùn)送量為cij。決策變量: 在問題(1)中,決策變量就是料場j向工地i的運(yùn)送量cij,該問題是個(gè)LP問題;在問題(2)中,決策變量除了料場j向工地i的運(yùn)送量cij,新建料場位置(xj,yj)也是決策變量,該問題是個(gè)NLP問題。目標(biāo)函數(shù):

f是總噸公里數(shù)(運(yùn)量乘以運(yùn)輸距離)第28頁,共50頁,2023年,2月20日,星期六約束條件:各工地的日用量必須滿足,所以各料場的運(yùn)送量不能超過日儲(chǔ)量,所以Cij非負(fù)第29頁,共50頁,2023年,2月20日,星期六綜上所述該問題的數(shù)學(xué)規(guī)劃模型是:第30頁,共50頁,2023年,2月20日,星期六Lingo優(yōu)化模型(NLP)demand,supply:這種直接把元素列舉出來的集合,稱為基本集合link={(s,t)|s∈demand,t∈supply}.這種基于其他集合派生出來的二維或多維集合稱為派生集合。Demand,supply稱為link的父集合。初始段按列賦值第31頁,共50頁,2023年,2月20日,星期六局部最優(yōu)解第32頁,共50頁,2023年,2月20日,星期六全局最優(yōu)解第33頁,共50頁,2023年,2月20日,星期六Lingo優(yōu)化模型(LP)第34頁,共50頁,2023年,2月20日,星期六全局最優(yōu)解第35頁,共50頁,2023年,2月20日,星期六

總結(jié):集合的不同類型及其關(guān)系集合派生集合基本集合稀疏集合稠密集合元素列表法元素過濾法直接列舉法隱式列舉法第36頁,共50頁,2023年,2月20日,星期六5運(yùn)算符優(yōu)先級 運(yùn)算符Highest#NOT#-(negation) ^*/ +-#EQ##NE##GT##GE##LT##LE##AND##OR#Lowest <=(<)=>=(>)算術(shù)運(yùn)算符:^*/+-邏輯運(yùn)算符:a)#AND##OR##NOT#——邏輯值之間

b)#EQ##NE##GT##GE##LT# #LE#——數(shù)與數(shù)之間

a)、b)運(yùn)算結(jié)果都是邏輯值關(guān)系運(yùn)算符:<=(<)=>=(>)——數(shù)與數(shù)之間,表示優(yōu)化模型的 約束條件第37頁,共50頁,2023年,2月20日,星期六函數(shù)注意:LINGO9.0與之前的版本相比,增加了很多新的內(nèi)部函數(shù)。使用這些新函數(shù)的優(yōu)化模型在LINGO9.0之前的各種版本中無法執(zhí)行。我們可以使用下拉菜單“Edit|PasteFunction”在LINGO的模型窗口下直接輸入所需的各種內(nèi)部函數(shù)。此外,可先點(diǎn)擊工具欄上的圖標(biāo),再點(diǎn)擊“Edit|PasteFunction”下你所感興趣的函數(shù),屏幕上將彈出該函數(shù)功能的幫助信息。第38頁,共50頁,2023年,2月20日,星期六“Edit|PasteFunction”菜單命令第39頁,共50頁,2023年,2月20日,星期六6LINGO軟件與外部文件的接口

1〉通過Windows剪貼板傳遞數(shù)據(jù):(1)“Edit|Paste(Ctrl+V)”

一般僅用于剪貼板中的內(nèi)容是文本(包括多信息文本,即RTF格式的文本)的情形。(2)“Edit|PasteSpecial…(Ctrl+V)”

可以用于剪貼板中的內(nèi)容不是文本的情形,如可以嵌入(插入)其他應(yīng)用程序中生成的對象(object)或?qū)ο蟮逆溄樱╨ink)。第40頁,共50頁,2023年,2月20日,星期六

2〉通過文本文件傳遞數(shù)據(jù)(1)輸入:@FILE(filename);

可以在集合段和數(shù)據(jù)段使用,但不允許嵌套使用,filename文件中記錄之間必須用“~”分開。(2)輸出:@TEXT([‘filename’]);通常只在數(shù)據(jù)段使用。第41頁,共50頁,2023年,2月20日,星期六3〉通過Excel電子表格文件傳遞數(shù)據(jù)

@OLE('xlsFile','range1'[,...,'rangen'])

xlsFile是電子表格文件的名稱,應(yīng)當(dāng)包括擴(kuò)展名(如*.xls),還可以包含完整的路徑名,只要字符數(shù)不超過64均可;

range列表是指文件中包含數(shù)據(jù)的單元范圍(單元范圍的格式與Excel中工作表的單元范圍格式一致)。

第42頁,共50頁,2023年,2月20日,星期六該函數(shù)只能在LINGO模型的集合段、數(shù)據(jù)段和初始段使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論