




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
LINGO入門(mén)LINGO的菜單用LINGO編程語(yǔ)言建立模型LINGO的運(yùn)算符和函數(shù)LINGO的基本用法§1.1
LINGO入門(mén)第一章LINGO的基本用法1.LINGO的主要功能特色:(1)既能求解線性規(guī)劃問(wèn)題,也有較強(qiáng)的求解非線性規(guī)劃
問(wèn)題的能力;(2)輸入模型簡(jiǎn)練直觀;(3)運(yùn)行速度快,計(jì)算能力強(qiáng);(4)內(nèi)置建模語(yǔ)言,提供幾十個(gè)內(nèi)部函數(shù),從而能以較少
語(yǔ)句,較直觀的方式描述較大規(guī)模的優(yōu)化模型;(5)將集合的概念引入編程語(yǔ)言,很容易將實(shí)際問(wèn)題轉(zhuǎn)換
為L(zhǎng)INGO模型;(6)能方便地與Excel、數(shù)據(jù)庫(kù)等其他軟件交換數(shù)據(jù);建模時(shí)需要注意的幾個(gè)基本問(wèn)題:(1)盡量使用實(shí)數(shù)優(yōu)化模型,減少整數(shù)約束和整數(shù)變量的個(gè)數(shù);(2)盡量使用光滑優(yōu)化模型,減少非光滑約束的個(gè)數(shù);如:盡量少地使用絕對(duì)值函數(shù)、符號(hào)函數(shù)、多個(gè)變量求最大(或最?。┲?、四舍五入函數(shù)、取整函數(shù)等.(3)盡量使用線性優(yōu)化模型,減少非線性約束和非線性變量的個(gè)數(shù)(如x/y<5改為x<5y);(4)合理設(shè)定變量的上下界,盡可能給出變量的初始值;(5)模型中使用的單位的數(shù)量級(jí)要適當(dāng)(如小于103);【約束條件】2.LINGO的基本用法.例1.某工廠有兩條生產(chǎn)線,分別用來(lái)生產(chǎn)M和P兩種型號(hào)的產(chǎn)品,利潤(rùn)分別為200元/個(gè)和300元/個(gè),生產(chǎn)線的最大生產(chǎn)能力分別為每日100和120,生產(chǎn)線每生產(chǎn)一個(gè)M產(chǎn)品需要1個(gè)勞動(dòng)日(1個(gè)工人工作8小時(shí)為1個(gè)勞動(dòng)日)進(jìn)行調(diào)試、檢測(cè)等工作,而每個(gè)P產(chǎn)品需要2個(gè)勞動(dòng)日,該廠工人每天共計(jì)能提供160勞動(dòng)日,假如原材料等其他條件不受限制,問(wèn)應(yīng)該如何安排生產(chǎn)計(jì)劃,才能使獲得的利潤(rùn)最大?解:設(shè)兩種產(chǎn)品的生產(chǎn)量分別為x1和x2,則該數(shù)學(xué)模型為【目標(biāo)函數(shù)】再用LINGO處理……輸入LINGO如下:LINGO處理結(jié)果:LINGO的語(yǔ)法規(guī)定:(1)求目標(biāo)函數(shù)的最大值和最小值分別用MAX=…或MIN=
…來(lái)表示;(2)每個(gè)語(yǔ)句必須以分號(hào)“;”結(jié)束,每行可以有多個(gè)語(yǔ)句,語(yǔ)句可以跨行;(3)變量名稱必須以字母(A-Z)開(kāi)頭,由字母、數(shù)字(0-9)和下劃線“_”組成,長(zhǎng)度不超過(guò)32個(gè)字符,不區(qū)分大小寫(xiě);(4)可以給語(yǔ)句加上標(biāo)號(hào),例如[OBJ]MAX=…
;(5)以“!”開(kāi)頭,以“;”結(jié)束的語(yǔ)句是注釋語(yǔ)句;(6)如果對(duì)變量的取值范圍沒(méi)有作特殊說(shuō)明,則默認(rèn)所有決策變量都非負(fù);(7)LINGO模型以語(yǔ)句“MODEL:”開(kāi)頭,以“END”結(jié)束,對(duì)于比較簡(jiǎn)單的模型,這兩句可以省略;LINGO求解報(bào)告:縮減成本系數(shù)
(相差值)松弛或剩余注:①最優(yōu)解中變量的縮減成本系數(shù)值自動(dòng)取零.②約束條件中,對(duì)于“<=”不等式,稱之為松弛
(Slack).對(duì)于“>=”不等式,稱之為剩余(Surplus).不等式左右兩邊值相等時(shí),松弛和剩余的值為0;如果約束條件無(wú)法滿足,則松弛和剩余的值為負(fù).影子(對(duì)偶)價(jià)格含義:如果該生產(chǎn)線最大生產(chǎn)能力增加1,能使目標(biāo)函數(shù)值增加50.§1.2
了解LINGO的菜單新建打開(kāi)保存打印剪切復(fù)制粘貼取消重做查找定位匹配括號(hào)求解顯示答案模型圖示選項(xiàng)設(shè)置窗口后置關(guān)閉所有窗口平鋪窗口在線幫助上下文相關(guān)幫助文件菜單編輯菜單LINGO菜單窗口菜單幫助菜單◆輸出特殊格式文件MPS格式文件MPI格式文件IBM開(kāi)發(fā)的數(shù)學(xué)規(guī)劃文件標(biāo)準(zhǔn)格式LINDO公司制定的數(shù)學(xué)規(guī)劃文件格式◆用戶基本信息該命令彈出一個(gè)對(duì)話框,要求輸入用戶名和密碼(這些信息在用@ODBC函數(shù)訪問(wèn)數(shù)據(jù)庫(kù)要用到)◆選擇性粘貼該命令把Window剪貼板中的內(nèi)容插入到光標(biāo)所在位置.◆插入新對(duì)象◆鏈接修改模型內(nèi)插入對(duì)象的鏈接性質(zhì).◆對(duì)象的性質(zhì)在模型中選擇一個(gè)鏈接或嵌入對(duì)象,用本命令可以查看和修改這個(gè)對(duì)象的屬性.◆靈敏度分析該命令產(chǎn)生當(dāng)前模型的靈敏度分析報(bào)告:(1)最優(yōu)解保持不變的情況下,目標(biāo)函數(shù)的系數(shù)變化范圍;(2)在影子價(jià)格和縮減成本系數(shù)都不變的前提下,約束條件右邊的常數(shù)變化范圍;例.
做下列模型的靈敏度分析MAX=200*X1+300*X2;X1<=100;X2<=120;X1+2*X2<=160;(不限)注:靈敏性分析耗費(fèi)相當(dāng)多的求解時(shí)間,因此當(dāng)速度很關(guān)鍵時(shí),就沒(méi)有必要激活它【目標(biāo)函數(shù)系數(shù)變化范圍】【約束條件右邊常數(shù)的變化范圍】◆生成模型的展開(kāi)形式為當(dāng)前模型生成一個(gè)用代數(shù)表達(dá)式表示的完整形式,即LINGO將所有基于集合的表達(dá)式(目標(biāo)函數(shù)和約束條件)擴(kuò)展成為等價(jià)的完全展開(kāi)的普通數(shù)學(xué)表達(dá)式模型.◆生成圖形由模型生成圖形,以矩陣形式顯示模型的系數(shù).◆調(diào)試◆模型統(tǒng)計(jì)資料調(diào)試結(jié)果,找到充分行(SufficientRows)和必要行(NecessaryRows).◆查看(以為本方式顯示模型內(nèi)容)◆命令行窗口主要是為用戶交互地測(cè)試命令腳本而設(shè)計(jì).(通常不用)◆狀態(tài)窗口[變量][約束][非零系數(shù)][內(nèi)存使用量][已運(yùn)行時(shí)間][求解器狀態(tài)][擴(kuò)展求解器狀態(tài)]§1.3
用LINGO編程語(yǔ)言建立模型一、LINGO模型的基本組成.例2.某公司有6個(gè)供貨棧,庫(kù)存貨物總數(shù)分別為60,55,51,43,41,52,現(xiàn)有8個(gè)客戶各要一批貨,數(shù)量分別為35,37,22,32,41,32,43,38.各供貨棧到8個(gè)客戶處的單位貨物運(yùn)輸價(jià)見(jiàn)下表34182255W656275932W517293767W433479125W328583594W295247626W1V8V7V6V5V4V3V2V1
客戶貨棧試確定各貨棧到各客戶處的貨物調(diào)運(yùn)數(shù)量,使總的運(yùn)輸費(fèi)用最小解:設(shè)xij從第i個(gè)貨棧到第j個(gè)客戶的運(yùn)貨量,cij表示從第i個(gè)貨棧到第j個(gè)客戶的單位貨物運(yùn)價(jià),ai表示第i個(gè)貨棧的最大供貨量,dj表示第j個(gè)客戶的訂貨量模型如下1.集合定義部分集合是一組相關(guān)對(duì)象構(gòu)成的組合集合在使用之前需要預(yù)先給出定義,初始集合的定義三要素:集合的名稱,集合的元素,集合的屬性(可視為與該集合有關(guān)的變量或常量).集合分為初始(基本\原始)集合和衍生(派生)集合初始集合的定義格式:集合的名稱/集合的元素/:集合的屬性;例.定義例2的貨棧集合ai和djWH/W1..W6/:AI;VD/V1..V8/:DJ;衍生集合的定義四要素:集合的名稱,對(duì)應(yīng)的初始集合,集合的元素(可以省略),集合的屬性(可以沒(méi)有).例.定義集合,表示例3中從第i個(gè)貨棧到第j個(gè)客戶的運(yùn)貨量xij,和第i個(gè)貨棧到第j個(gè)客戶的單位貨物運(yùn)價(jià)cij.LINKS(WH,VD):C,X;注:
如果集合的元素省略不寫(xiě),則默認(rèn)衍生集合的元素取它所對(duì)應(yīng)初始集合的所有可能組合.2.數(shù)據(jù)初始化.如何給例2中的集合AI,DJ,C,
X賦值?AI=60,55,51,43,41,52;
DJ=35,37,22,32,41,32,43,38;
C=6,2,6,7,4,2,5,9
4,9,5,3,8,5,8,2
5,2,1,9,7,4,3,3
7,6,7,3,9,2,7,1
2,3,9,5,7,2,6,5
5,5,2,2,8,1,4,3;
DATA:ENDDATA注:①數(shù)據(jù)初始化部分以“DATA:”開(kāi)始,以ENDDATA結(jié)束,這兩個(gè)語(yǔ)句必須單獨(dú)成一行;②數(shù)據(jù)之間的逗號(hào)和空格可以替換3.目標(biāo)函數(shù)和約束條件.例2的目標(biāo)函數(shù):用LINGO語(yǔ)句表示為:MIN=@SUM(LINKS(I,J):C(I,J)*X(I,J));注:①@SUM是LINGO提供的內(nèi)部函數(shù),其作用是對(duì)某個(gè)集合的所有成員,求指定表達(dá)式的和.@SUM有兩個(gè)參數(shù):集合名稱和表達(dá)式②如果表達(dá)式中參與運(yùn)算的屬性屬于同一個(gè)集合,則
@SUM的索引可以省略.即MIN=@SUM(LINKS:C*X);例2的約束條件:用LINGO語(yǔ)句表示為:@FOR(WH(I):@SUM(VD(J):X(I,J))<=AI(I));注:①@FOR是LINGO提供的內(nèi)部函數(shù),其作用是對(duì)某個(gè)集合的所有成員分別生成一個(gè)約束表達(dá)式.@FOR有兩個(gè)參數(shù):集合名和約束表達(dá)式這里的集合名表示對(duì)該集合所有成員生成對(duì)應(yīng)約束表達(dá)式問(wèn):語(yǔ)句中的I,J能不能省略?用LINGO語(yǔ)句表示為:@FOR(VD(J):@SUM(WH(I):X(I,J))=DJ(J));§1.4
LINGO的運(yùn)算符和函數(shù)一、LINGO的常用運(yùn)算符.1.算術(shù)運(yùn)算符.^*/+-2.邏輯運(yùn)算符.分類(lèi)運(yùn)算符作用運(yùn)算對(duì)象是兩個(gè)數(shù)#EQ#兩個(gè)運(yùn)算對(duì)象相等時(shí)為真,否則為假#NE#兩個(gè)運(yùn)算對(duì)象不相等時(shí)為真,否則為假#GT#左邊大于右邊時(shí)為真,否則為假#GE#左邊大于或等于右邊時(shí)為真,否則為假#LT#左邊小于右邊時(shí)為真,否則為假#LE#左邊小于或等于右邊時(shí)為真,否則為假預(yù)算對(duì)象是邏輯值或邏輯表達(dá)式#NOT#單目運(yùn)算符,表示對(duì)運(yùn)算對(duì)象取反(即真變假,假變真)#AND#兩個(gè)運(yùn)算對(duì)象都真時(shí)為真,否則為假#OR#兩個(gè)運(yùn)算對(duì)象都假時(shí)為假,否則為真邏輯運(yùn)算符優(yōu)先級(jí)別:#NOT#最高,#AND#和#OR#最低3.關(guān)系運(yùn)算符.關(guān)系運(yùn)算符通常用在條件表達(dá)式中,用來(lái)指定約束條件表達(dá)式左邊與右邊必須滿足的關(guān)系.有以下三種:=<=>=注:①LINGO沒(méi)有單獨(dú)的“<”和“>”關(guān)系,如果出現(xiàn)了單個(gè)“<”和“>”,LINGO認(rèn)為是省略了“=”.②如果需要嚴(yán)格?。ù螅┯陉P(guān)系,如A嚴(yán)格小于B,可以表示成:這里是一個(gè)小的正數(shù),它的值依賴于模型中A小于B多少才算不等.例.計(jì)算2#GT#3#AND#4#GT#2結(jié)果為0(FALSE)二、數(shù)學(xué)函數(shù).函數(shù)名返回值@ABS(X)返回X的絕對(duì)值@SIN(X)返回X的正弦值@COS(X)返回X的余弦值@TAN(X)返回X的正切值@LOG(X)返回X的自然對(duì)數(shù)值@EXP(X)返回eX的值(e為自然常數(shù),e=2.7182818……)@SIGN(X)返回X的符號(hào)值@SMAX(X1,X2,…,Xn)返回這一系列數(shù)中的最大值@SMIN(X1,X2,…,Xn)返回這一系列數(shù)中的最小值@FLOOR(X)返回X的整數(shù)部分(向最靠近0的方向取整)@LGM(X)返回X的gamma函數(shù)的自然對(duì)數(shù)值@MOD(X,Y)返回X除以Y的余數(shù)(X和Y都是整數(shù))@POW(X,Y)返回指數(shù)XY的值(該函數(shù)可用X^Y代替)@SQR(X)返回X的平方值(該函數(shù)可用X^2代替)@SQRT(X)返回X的正的平方根(該函數(shù)可用X^(1/2)代替)三、概率函數(shù).函數(shù)名返回值@PSN(X)返回標(biāo)準(zhǔn)正態(tài)分布的分布函數(shù)@PPS(A,X)返回參數(shù)為A的泊松分布函數(shù)值當(dāng)X不是整數(shù)時(shí),采用線性插值進(jìn)行計(jì)算@PBN(P,N,X)返回參數(shù)為P,N的二項(xiàng)分布的分布函數(shù)值@PHG(POP,G,N,X)返回參數(shù)為POP,G,N的超幾何分布的分布函數(shù)值@PFD(N,D,X)返回參數(shù)自由度為N和D的F分布的分布函數(shù)值@PCX(N,X)返回自由度為N的x2分布分布函數(shù)值@PTD(N,X)返回自由度為N的t分布的分布函數(shù)值@RAND(SEED)返回0-1之間的偽隨機(jī)數(shù)SEED為種子@QRAND(SEED)返回0-1之間的多個(gè)擬均勻隨機(jī)數(shù)(只能用在數(shù)據(jù)段)@PEB(A,X)略@PEL(A,X)@PPL(A,X)@PFS(A,X,C)@PSL(X)四、集合操作函數(shù).函數(shù)名返回值@FOR(s:e)該函數(shù)常用在約束條件中,表示對(duì)集合s中的每個(gè)成員生成一個(gè)約束條件表達(dá)式e@SUM(s:e)對(duì)集合s中的每個(gè)成員,分別得到表達(dá)式e的值,然后返回所有這些值的和@MAX(s:e)然后返回所有這些值中的最大值@MIN(s:e)然后返回所有這些值中的最小值@PROD(s:e)然后返回所有這些值的乘積@IN(s:e1)如果成員e1在集合s中,則返返回1,否則返回0@SIZE(s)返回集合s中的成員個(gè)數(shù)@INDEX(s:ek)返回成員ek在集合中的順序號(hào)(索引值),該值在1和集合s的成員個(gè)數(shù)之間,如果集合s中沒(méi)有該元素,則給出出錯(cuò)信息@WRAP(I,N)若I∈[1,N],返回I;否則,返回J=I-N*K(K為整數(shù),J∈[1,N],)上表中,前五個(gè)函數(shù)的表示形式為:@函數(shù)名(集合名|條件:表達(dá)式)例.“@FOR(VD(J)|J#NE#5:表達(dá)式e);”表示什么含義?五、變量定界函數(shù).函數(shù)名返回值@BIN(X)限制X為0或1.【該函數(shù)在0-1規(guī)劃中特別有用】@BND(L,X,U)限制L≤X≤U.【可用作約束條件】@GIN(X)限制X為整數(shù).【該函數(shù)在整數(shù)規(guī)劃中特別有用】@FREE(X)取消對(duì)變量X的限制(即X可取任意實(shí)數(shù)值)注:①@BND函數(shù)可以用約束條件代替,但使用@BND函數(shù)表達(dá)變量的取值范圍比使用約束條件的求解速度快,且不計(jì)入約束條件的數(shù)目中.②@FREE(X)的作用是取消對(duì)變量X的默認(rèn)非負(fù)設(shè)置.例.求函數(shù)z=(x+2)2+
(y-2)2的最小值.min=(x+2)^2+(y-2)^2;@free(x);【請(qǐng)大家上機(jī)驗(yàn)證一下有@FREE和沒(méi)有的差別】五、其他函數(shù).函數(shù)名說(shuō)明@WARN(‘文字信息’,邏輯表達(dá)式)如果邏輯表達(dá)式的值為真,則顯示指導(dǎo)文字信息(用于提示)@IF(邏輯表達(dá)式,表達(dá)式為真時(shí)的值,表達(dá)式為假時(shí)的值)該函數(shù)根據(jù)邏輯表達(dá)式的結(jié)果是真還是假,決定返回值,常用來(lái)表示分段函數(shù)@USER()該函數(shù)允許用戶用C語(yǔ)言活FORTRAN語(yǔ)言編寫(xiě)并編譯自己的函數(shù),返回用戶函數(shù)的計(jì)算結(jié)果例.用@IF表示下列函數(shù).f=@IF(x#LE#500,4*x,500+3*x);或f=@IF(x#GT#500,500+3*x,4*x);【思考:】此外還有:文件輸入輸出函數(shù),金融函數(shù),結(jié)果報(bào)告函數(shù)補(bǔ)充一、稠密集合與稀疏集合.SETS:WH/W1..W6/:AI;VD/V1..V8/:DJ;LINKS(WH,VD):C,X;ENDSETS省略了成員列表,只是指出它基于兩個(gè)初始集合的衍生集合稱為稠密集合.如果衍生集合的成員只是稠密集合中的一部分(子集),則稱為稀疏集合.稀疏集合的定義方法有兩種:(1)直接列表法;(2)元素過(guò)濾法.例.有如下工作流程.ABCEFGHIJKDSETS:TASK/ABCDEFGHIJK/;PRED(TASK,TASK)/A,BB,CC,FC,GF,JG,JJ,KD,EE,HE,IH,JI,J/;ENDSETS(1)直接列表法;(2)元素過(guò)濾法.例.某公司8個(gè)職員兩兩相容度如下表.S1S2S3S4S5S6S7S8S1-9342156S2--173521S3---44292S4----1552S5-----876S6------23S7-------4S8--------SETS:REN/1..8/;LINKS(REN,REN)|&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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南平初三數(shù)學(xué)試卷
- 2025至2031年中國(guó)鋼帶免鐵扣打包機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)絕緣注塑件行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)空氣清鮮器電機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)直接大紅4B行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)環(huán)保水性木漆行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)橡膠防霜?jiǎng)┬袠I(yè)投資前景及策略咨詢研究報(bào)告
- 2025不銹鋼板購(gòu)銷(xiāo)合同范本
- 2025代理合作協(xié)議范本
- 2025臨時(shí)工臨時(shí)工合同協(xié)議AAAB范本
- 環(huán)境檢測(cè)工(采樣技術(shù))崗位面試問(wèn)題及答案
- 2025年食品安全監(jiān)管員專(zhuān)業(yè)知識(shí)測(cè)試試題A卷-附答案
- 核心素養(yǎng)目標(biāo)統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè) 14窮人第二課時(shí)教案
- 消防設(shè)備故障處理售后服務(wù)承諾及維保措施
- 縱隔子宮超聲診斷
- 天然氣管道輸送技術(shù)課件
- 快遞店運(yùn)營(yíng)管理制度
- 現(xiàn)場(chǎng)儀表維修課件
- 時(shí)空地理行業(yè)可信數(shù)據(jù)空間建設(shè)指引
- 金屬拉伸試驗(yàn)題目及答案
- 2025年四川內(nèi)江中考數(shù)學(xué)試卷真題及答案詳解(精校打?。?/a>
評(píng)論
0/150
提交評(píng)論