下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3LINGO§3.1LINGO的基本特LINGO8.0forWindows軟件比以前的版本有了很大的改進(jìn),功能大大增強(qiáng),性能更加穩(wěn)LINGO8.0forWindows軟件安裝程序的文件大小通常20M多一點(diǎn),安裝過(guò)程與LINDO6.1forWindowsLINGO8.0forWindows軟件已經(jīng)安裝完動(dòng)LINGO運(yùn)行(多數(shù)的菜單命令通常有快捷鍵,常用的菜單命令在中有圖標(biāo)表示的快捷按鈕),界面是圖形式的,使用起來(lái)也比較方便;另一種是命令行(Command-Line)模式,僅在命而是字符式的,初學(xué)者往往不太容易掌握。與上一章一樣,我們?nèi)匀恢饕赪indows菜單驅(qū)動(dòng)模式下介紹LINGO的使用方法,最后再簡(jiǎn)單介紹一下命令行模式下的主要行命令。2、LINGO包含了內(nèi)置的建模語(yǔ)言,允許以簡(jiǎn)練、直觀的方式描述較大規(guī)模的優(yōu)化問(wèn)題,模型前一條是很容易理解的。那么后一條呢?從前一章的介紹中可以看到,雖然LINDO輸入模型的格式與我們數(shù)學(xué)上對(duì)數(shù)學(xué)規(guī)劃的表達(dá)式非常接近,但是如果我們希望在LINDO模型窗口下輸入一個(gè)比較大規(guī)模的模型,那將是一件非常費(fèi)時(shí)費(fèi)力的事情。例如,如果決策變量有1000個(gè),由于LINDO模型窗口下輸入模型的方法幾乎是不可能的。而LINGO則在這方面通過(guò)引入建模語(yǔ)言有了很大改進(jìn).也就是說(shuō),即使你只對(duì)解線性規(guī)劃感,你也應(yīng)該學(xué)習(xí)使用LINGO?!?.2圖1GOLNGOMODEL–LING011LOIO一個(gè)狀行(仔細(xì)察,可發(fā)現(xiàn)菜也有區(qū))目,態(tài)行左顯示的是“dy”,表示“準(zhǔn)備就緒”;右下角現(xiàn)實(shí)的是當(dāng)前時(shí)間,時(shí)間前面是當(dāng)前光標(biāo)的位置(11列)。將來(lái),用戶可以用選項(xiàng)命令(LINGO|Options菜單命令)決定是否需要顯示工具作為一個(gè)最簡(jiǎn)看看2.2節(jié)中輸入的那個(gè)簡(jiǎn)單例LINGO下應(yīng)當(dāng)如何輸入.當(dāng)時(shí)我們把它存入了一個(gè)名為EXAM0202.LTX的模型文件LINDO和LINGO輸入的差別,我們現(xiàn)在重新用LINDO把它打開(kāi),看到該例子是如圖2所示的線性規(guī)劃。LINGOLINDOLINGO模型。我們選擇菜單),“打開(kāi)文件”的框,我們?cè)谙抡业紼XAM0202.LTX,選定該文件后,屏幕顯示如圖3。這個(gè)以知道當(dāng)前的活動(dòng)窗口),命令窗口顯示的正是從EXAM0202.LTX讀出的原始文本文件“exam0202才是由EXAM0202.LTX轉(zhuǎn)化而來(lái)的等價(jià)的LINGO模型。將目標(biāo)函數(shù)的表示方式從“MAX”變成了[]以“END”結(jié)束)。注意:在上一章的最后,我們?cè)?jīng)用行命令“SAVE”把同樣的LINDO模型存入了一個(gè)名為MODEL01.LTX正確地轉(zhuǎn)化LINGO模型對(duì)于LINDO中用菜單命令保存下來(lái)的模型,LINDOLINGOLINDO模型輸入時(shí)應(yīng)盡量采用“規(guī)范化”的格式LINGO模型“exam0202”已經(jīng)成功地得到了。現(xiàn)在把光標(biāo)移動(dòng)到現(xiàn)在我們可以把模型和結(jié)果報(bào)告保存在文件中。例如,當(dāng)光標(biāo)位于“exam0202”模型窗口時(shí)選擇菜單命令“File|SaveAs”,則出現(xiàn)圖4所示的框。后綴“LG4”表示LINGO格式的模型文件,以這個(gè)格式保存模型時(shí)LINGO將給出警告,因?yàn)槟P椭械母袷叫畔ⅲㄈ缱煮w、顏色、嵌入LINGO報(bào)告文件。除“LG4”文件外,這里的另外幾種格式的文件其實(shí)都是普通的文本文件,可以求解時(shí)也會(huì)顯示狀態(tài)窗口(5所示)LINDO求解時(shí)的狀態(tài)窗口中的內(nèi)容要多一些(LINDOLINGOWINDOWS5有固定變量的約束也不列入約束統(tǒng)計(jì)中(1.8節(jié)的說(shuō)明)??偟膩?lái)說(shuō),這些統(tǒng)計(jì)值的意義比較清楚,圖5中最下面一行的含義也與LINDO狀態(tài)窗口類似,我們下面主要詳細(xì)介紹一下圖5左邊的兩個(gè)框中內(nèi)容。左上角是求解器(求解程序)狀態(tài)框(SolverStatus),1;左下角是擴(kuò)展的求解器(求解程序)狀態(tài)框(ExtendedSolverStatus),含義見(jiàn)表2。Model1章"GlobalOptimum","LocalOptimum","Feasible","Infeasible"(不可行),"Unbounded"()"Interrupted"(中斷 "Undetermined"(未確定SolverB-and-B(分枝定界算法Global(全局最優(yōu)求解程序Multistart(用多個(gè)初始點(diǎn)求解的程序BestObj分枝數(shù)(B-and-B程序);2 98x1+277x2—x12—0.3x1x2—2x2s.t.x1+x2x12x1 x20解QP比用LINDO解要容易輸入模型。注意:原來(lái)的整數(shù)限定語(yǔ)句“GINX1”和“GINX2”這里的都是函數(shù)調(diào)用,在后面(本章3.5節(jié))詳細(xì)介紹LINGO中能夠使用的所有函數(shù)?,F(xiàn)在運(yùn)行菜單命令“LINGO|Sove7=5,5152章.6LNGOPINL(純整數(shù)非線性規(guī)劃(LINGOPIQ(純整數(shù)二次規(guī)劃來(lái)求解?本人也不清楚。你還可以選擇運(yùn)行菜單命令“WINDOWSatusWindow8所示的狀態(tài)窗口(這時(shí)我們已經(jīng)把該規(guī)劃模型保存到了文件IQP0302B.LG4中,所以這個(gè)名字現(xiàn)在也出現(xiàn)在了狀態(tài)窗口中),從中可以看到目前為止找到的最佳目標(biāo)值“BestObj”與問(wèn)題的上界“Objound(LNGO|Opon或@sub或@slb另行說(shuō)明)。LINDO不同,變量可以放在約束條件的右端(同時(shí)數(shù)字也可放在約束條件的左端)。但為了提高LINGO求解時(shí)的效率,應(yīng)盡可能采用線性表達(dá)式定義目標(biāo)和約束(如果可能)。在LINGO中使用重要的,與LINDO相比,這可使輸入較大規(guī)模問(wèn)題的過(guò)程得到簡(jiǎn)化。存費(fèi)用為20。假定生產(chǎn)提前期為0,初始庫(kù)存為10條船。如何安排生產(chǎn)可使總費(fèi)用最?。课覀冇肈EM,RP,OP,INV分別表示需求、正常生產(chǎn)的產(chǎn)量、加班生產(chǎn)的產(chǎn)量、庫(kù)存量,則DEM,RP,OP,INV對(duì)每個(gè)季度都應(yīng)該有一個(gè)對(duì)應(yīng)的值,也就說(shuō)他們都應(yīng)該是一個(gè)由4個(gè)元素組成的數(shù)組,其中DEM是已知的,而RP,OP,INV是未知數(shù)?,F(xiàn)在我們可以寫(xiě)出這個(gè)問(wèn)題的模型。首先,目 {400RP(I)450OP(I)20INV(II是(如1000個(gè)季度)的時(shí)候。QUARTERS={1,2,3,4},它們就是上面數(shù)組的下標(biāo)集合,而數(shù)組LINGO正是充分利用了這種數(shù)組及其下標(biāo)的關(guān)系,引入了“集合”及其“屬性”的概念,把QUARTERS={1,2,3,4}稱為集合,把DEM,RP,OP,INV稱為該集合的屬性。3214LPLINGO10。我們可以看到這個(gè)輸入以“MODEL:”NSTS定義集合及其屬性,后一部分(從“DATA:”到“ENDDATA”)是給出常量DEM的值,中間部分標(biāo)都要求和,所以我們連下標(biāo)i也省去了;如果不省略,目標(biāo)函數(shù)也可以等價(jià)地寫(xiě)成“@SUM(QUARTERS(i):400*RP(i)+450*OP(i)+20*INV(i))”。i=2,3,4時(shí)有所區(qū)別,所以對(duì)下標(biāo)集合的元素(下標(biāo))加了一個(gè)“i#GT#1”的限制條件,而把是邏輯運(yùn)算符號(hào),意思是“大于”(其他邏輯運(yùn)算符將在本章后面3.4節(jié)介紹)?,F(xiàn)在運(yùn)行菜單命令“LINGO|Solve”,則可以得到圖11所示的解答報(bào)告,全局最優(yōu)解RP=(40,LINGO集合段(SETS):SETSENDSETS結(jié)束,作用在于定義必要的于數(shù)組)quarters(含義是季節(jié)),這里它包含四個(gè)元素即四個(gè)季節(jié)指標(biāo)(24(D(PPV)(tsus的4020,V這樣的屬性(這些量的具體數(shù)值如果是常量,則可在數(shù)據(jù)段輸入;如果是未知數(shù),則可在初始段輸入初值)ts402.0全qurs函數(shù),可在具體使用中體會(huì)其功能和用法(3.5節(jié))quarters的41000數(shù)據(jù)段(DATA):這部分要以DATA開(kāi)始,以ENDDATA結(jié)束,作用在于對(duì)集合的屬DEM的賦值也可以寫(xiě)成“DEM=40607525”。在LINGO模型中,如果想在運(yùn)行時(shí)才對(duì)參數(shù)賦值,可以在數(shù)據(jù)段使用輸入語(yǔ)句。但這僅用于對(duì)單個(gè)變量賦值,而不能用于屬性變量(數(shù)組),輸入語(yǔ)句格式為:“變量名=?;”。例如,初始段(INIT):INITENDINIT結(jié)束,作用在于對(duì)集合的屬性(數(shù)組)定義迭代初值,如果有一個(gè)接近最優(yōu)解的初值,對(duì)LINGO求解模型是有幫助的。格式為:attribute=value_list;上例中沒(méi)有初始化部分,在下一個(gè)例子中舉例說(shuō)明。實(shí)際上,LINGO模型在求解時(shí)也是要展開(kāi)成與LINDO模型類似的形式的。選擇菜單命令6個(gè)建筑工地要開(kāi)工,每個(gè)工地的位置(ab表示,距離單位:公里)及d(噸)3P5,1Q(2,7)20噸。兩個(gè)新的,日儲(chǔ)量仍各為20噸,問(wèn)應(yīng)建在何處,節(jié)省的噸公里數(shù)有多大。123456a3b5d35476表 工地的位置(a,b)及水泥日用量 記工地的位置為(ab),水泥日用量為d,i1,L6;料場(chǎng)位置為 e,j1,2ji的運(yùn)送量為c (xa)2(xa)2(yb s.t.j16i1
j1i1id iije jj 當(dāng)使用現(xiàn)有臨時(shí)料場(chǎng)時(shí),決策變量只有c,是LP模型;當(dāng)為新建料場(chǎng)選址時(shí)決策變量為c x,jyjfxjyjNLP13DEMANDSUPPLY集合中的元素就是DEMAND和SUPPLY的笛卡兒積,也就是為矩陣(MATRIXGENERATOR)。DEMAND和SUPPLY這種直接把元素列舉出來(lái)的集合,稱為基本集合(primaryset,也可譯為“原始集合”),LINK這種基于基本集合構(gòu)造的集合稱為派生集合(derivedset,也可譯為“導(dǎo)出集合”)。Y=(1,7),而不是X=(5,1),Y=(2,7)。也就是說(shuō),LINGO對(duì)數(shù)據(jù)是按列賦值的,而不是按行。當(dāng)然,你直接寫(xiě)成兩個(gè)語(yǔ)句“X=5,2;Y=1,7;”也是等價(jià)的。同樣道理,數(shù)據(jù)段中對(duì)常數(shù)數(shù)組A,B的賦A,B=1.251.258.750.750.54.755.75536.57.25由于新建料場(chǎng)的位置可以是任意的,所以我們?cè)诩s束的最后(END上面一行)用@free函數(shù)取消了變量X、Y非負(fù)限制。此外,我們用TITLE語(yǔ)句對(duì)這個(gè)模型取了一個(gè)標(biāo)題13的程序后,現(xiàn)在就可以運(yùn)行菜單命令“LINGO|Solve”,很快得到,最佳的料場(chǎng)位置不應(yīng)該離工地太遠(yuǎn),無(wú)論如何至少不應(yīng)該超出現(xiàn)在6個(gè)工地所決定的坐標(biāo)的最大、最小值決定的矩形之外,即:0.5<=x<=8.75,0.75<=y<=7.75.可以用@bnd函數(shù)加上這個(gè)條件取代模型END上面的行,運(yùn)行NLP模型,發(fā)現(xiàn)全局最優(yōu)求解程序花費(fèi)的時(shí)間仍然很長(zhǎng),圖14是運(yùn)行2735秒時(shí)人為終止求解的求解狀態(tài)窗口。圖 14可以看出,此時(shí)目標(biāo)函數(shù)值的下界(ObjBound=85.2638)與目前得到的最好的可行解的目標(biāo)函數(shù)值(BestObj=85.2661)相差已經(jīng)非常小,可以認(rèn)為已經(jīng)得到了全局最優(yōu)解。部分結(jié)果1516中,我們可以畫(huà)出料場(chǎng)和工地的位置示意13中把初始段的“XY=5,1,2,7;”語(yǔ)句移到數(shù)據(jù)段就可以了。此時(shí),運(yùn)行結(jié)果告訴我們得到全局最優(yōu)解(變量C的取值這里略去),最小運(yùn)量136.2275(噸公里)。上節(jié)我們介紹了在LINGO中可以定義和使用兩類集合:基本集合和派生集合。前面的例子中集合(簡(jiǎn)稱稠集)。其實(shí)在LINGO中,派生集合的元素可以只是這個(gè)笛卡兒積的一個(gè)真子集合,最短路問(wèn)題在交錯(cuò)的公路網(wǎng)中,貨車希望找到一條從一個(gè)城市到另一個(gè)城市的最路.假設(shè)圖17表示的是該公路網(wǎng),節(jié)點(diǎn)表示貨車可以停靠的城市,弧上的權(quán)表示兩個(gè)城市之間的距離(百公里).那么,貨車從城市S出發(fā)到達(dá)城市T,如何選擇行駛路線,使所經(jīng)過(guò)的路程最短?66655 3T 37 17假設(shè)從S到T的最優(yōu)行駛路線P經(jīng)過(guò)城市C1,則P中從S到C1的也一定是從S到C1的最優(yōu)行駛路線;假設(shè)P經(jīng)過(guò)城市C2,則P中從S到C2的也一定是從S到C2的最優(yōu)行駛路線.因此,為了得到從S到T的最優(yōu)行駛路線,我們只需要先求出從S到Ck(k=1,2)的最優(yōu)行駛路線,就可以方便地得到從S到T的最優(yōu)行駛路線.同樣,為了求出從S到Ck(k=1,2)的最優(yōu)行駛路線,只需要先求出從S到Bj(j=1,2)的最優(yōu)行駛路線;為了求出從S到Bj(j=1,2)的最優(yōu)行駛路線,只需要先求出從S到Ai(i=1,2,3)的最優(yōu)行駛路線.而S到Ai(i=1,2,3)的最優(yōu)行駛路線是很容易得到的(實(shí)際上,此例中S到Ai(i=1,2,3)只有也就是說(shuō),此例中我們可以把從S到T4個(gè)階段,S→Ai(i=1,23Ai→Bj(j=12Bj→Ck(k=12),Ck→T.記d(Y,X)為城市Y與城市X之間的直接距離(若這兩個(gè)城市之間沒(méi)長(zhǎng),則:L(X)min{L(Y)d(Y,XY
XL(A1)=6,L(A2)=3,L(B1)=min{L(A1)+6,L(A2)+8,L(A3)+7}=10=L(B2)=min{L(A1)+5,L(A2)+6,L(A3)+4}=7=L(C1)=min{L(B1)+6,L(B2)+8}=15=L(C2)=min{L(B1)+7,L(B2)+9}=16=L(T)=min{L(C1)+5,L(C2)+6}=20=所以,從S到T的最優(yōu)行駛路線的路長(zhǎng)為20.進(jìn)一步分析以上求解過(guò)程,可以得到從S到T的最優(yōu)行駛路線為S→A3→B2→C1→T.上面這種計(jì)算方法在數(shù)學(xué)上稱為動(dòng)態(tài)規(guī)劃(DynamicProgramming).動(dòng)態(tài)規(guī)劃也是最優(yōu)化的一LINGO18LINGO程序。,LROADS應(yīng)的屬性變量(給定的距離從模型中還可以看出:這個(gè)LINGO程序可以沒(méi)有目標(biāo)函數(shù),這在LINGO中是允許的,可以用來(lái)找可行解(解方程組和不等式組。此外,在數(shù)據(jù)段我們對(duì)L進(jìn)行了賦值,但只有L(S)=0是已知現(xiàn)在循環(huán)中時(shí),下標(biāo)I卻實(shí)際上是正整數(shù),也就是說(shuō)I指的正是元素在集合中的位置(順序,一般稱為元素的索引(INDEX。我們?cè)贎for循環(huán)中故意用了一個(gè)函數(shù)“@index”,其作用是返回一個(gè)元素在集合中的索引值,這里@index(S)=1,所以邏輯關(guān)系式“I#GT#@index(S)”可以直接等析,可以得到從S到T的最優(yōu)行駛路線為S→A3→B2→C1→T。用起來(lái)不方便。LINGO提供了另一種定義稀疏集合的方法,這就是“元素過(guò)濾”法,能夠從構(gòu)成派-9342156--173521442921552876234Sj)=1Si,Sj0i<j320-1變量。顯然,目標(biāo)函數(shù)為BENEFIT(Si,Sj)*MATCH(Si,Sj)之和;約束條件是每個(gè)同學(xué)只能(而且必須在)iMATCHi就加起來(lái),此和=1。顯然,這是一個(gè)0-1線性規(guī)劃。20STUDENTS集合的元素列表“S1..S8”等價(jià)于寫(xiě)成“S1S2S3S4S5S6S7S8”,PAIRS的定義中,增加了過(guò)濾條件,即邏輯關(guān)系式“&2#GT#&1”,2個(gè)父集合的元素的索引值(選擇菜單命令“LINGO|SOLVE”運(yùn)行這個(gè)程序,可以得到全局最優(yōu)值=30MATCH變量選項(xiàng),點(diǎn)擊“OK”按鈕,得到的正是我們想看的關(guān)于最優(yōu)解的報(bào)告(如圖22所示)。是在方括號(hào)“[]”中的內(nèi)容,表示是可選的項(xiàng),即該項(xiàng)可以有也可以沒(méi)有):setname[/member_list/][:其中setname為定義的集合名,member_list為元素列表,attribute_list為屬性列表。元素列表可以采用顯式列舉法(即直接將所有元素全部列出,元間用逗號(hào)或空格分開(kāi)),也可以采用隱式列舉法。隱式列舉法可以有幾種不同格式,見(jiàn)表5。1,2,3,4,字符-數(shù)Car101,car102,…,OCT,NOV,DEC,年份- DEC2001,現(xiàn)時(shí),則必須在程序的數(shù)據(jù)段以賦值語(yǔ)句的方式直接給出元素列表。例如,3.3.1節(jié)的模型(圖 QUARTERSDEM=140260375425; setname(parent_set_list)[/member_list/][:pe(父集合列表(如12…sme當(dāng)元素列表(mlt)不在集合定義中出現(xiàn)時(shí),還可以在程序的數(shù)據(jù)段以賦值語(yǔ)句的方式(笛卡兒積ee運(yùn)算符及其優(yōu)面的很多例子里,我們陸續(xù)用到了一些運(yùn)算符,現(xiàn)在歸納一下LING0中的三類運(yùn)算符:9(與O(或T非(等于(不等于),T(大于),E#(大于等于),##(小于),E#(小于等于)。邏輯運(yùn)算的TAO1TE(典)FE。 —(負(fù)號(hào)^*+—(減法 #AND# =LINGO函數(shù)一LINGO中還包括相當(dāng)豐富的數(shù)學(xué)函數(shù)和控制語(yǔ)句。在LINGO中建立優(yōu)化模型時(shí)可以大量@FLOOR(X)返回的整數(shù)部分(向最靠近0的方向取整)。@LGM(X返回變量X的gamma(伽瑪)函數(shù)的自然對(duì)數(shù)值(當(dāng)X為整數(shù)時(shí)LGM(X@SIGN(XX的符號(hào)值(X0時(shí)返回-1X0時(shí)返回+1)@SMAX(list)返回一列數(shù)(list)的最大值。@SMIN(list)返回一列數(shù)(list)的最小值。@function(setname[(set_index_list)[|condition]]:expression_list);其中function是集合函數(shù)名,有FOR、MAX、MIN、SUM四種;setname是集合名;set_index_list是集合索引列表(不需使用索引時(shí)可以省略);condition是用邏輯表達(dá)式描述的條件(通常含有索引,無(wú)條件時(shí)可以省略);expression_list是一個(gè)表達(dá)式(對(duì)@FOR@MAX返回集合setname上的表達(dá)式的最大值。@MIN返回集合setname上的表達(dá)式的最小值。@SUM返回集合setname上的表達(dá)式的和。@IN(set_name,primitive_index_1[,primitive_index_2set_name中包含本集合的元素索引primitive_index_1[,primitive_index_2...]所對(duì)應(yīng)的元素,則返回1,否則返回0。元素索“&1”、“&2”或@INDEX函數(shù)等形式給出,這里“&1”表示對(duì)應(yīng)于第1個(gè)父集合的元素的索引值,“&2”表示對(duì)應(yīng)于第2個(gè)父集合的元素的索引值。PASSED和一個(gè)不及格學(xué)生的集合FAILED,可以如下定義:STUDENTS/ZHAO,QIAN,SUN,LI/:;PASSED(STUDENTS)/QIAN,SUN/:;FAILED(STUDENTS)|#NOT#@IN(PASSED,&1):;A/B/XYC(A,B)/1,X1,Z2,Y3,X/:;X=@IN(C,@INDEX(A,2),@INDEX(B,@INDEX([set_name,]如果省略set_nameLINGOprimitive_set_element的集合,并返回索引值。如果在所有集合中均沒(méi)有找到該元素,會(huì)給I位于區(qū)間[1NIJIK*NJ@SIZE@BND(LX LXU N1付單位費(fèi)用。即@FPA(I,N1(1In(1(1NI11@FPL(I,N)(11@PSL(XMAX(0Z-X)的期望值Z為標(biāo)準(zhǔn)正態(tài)隨@PPL(A,XPoissonMAX(0Z-X)的期望值Z為均值為A的Poisson隨量。X不是整數(shù)時(shí),采用線性插值進(jìn)行計(jì)算)。也就是說(shuō),這個(gè)就是如下概率:當(dāng)總共有POP個(gè)球,其中G個(gè)是白球的,那么隨機(jī)地從中取出N個(gè)球,白球不超過(guò)X個(gè)的概率。@PEL(A,X)當(dāng)?shù)竭_(dá)負(fù)荷為A,服務(wù)系統(tǒng)有X個(gè)服務(wù)器且不允許排隊(duì)時(shí)的Erlang損失概率。@PEB(A,X當(dāng)?shù)竭_(dá)負(fù)荷為AX個(gè)服務(wù)器且允許無(wú)窮排Erlang繁忙概率。修時(shí)間。當(dāng)C和(或)X不是整數(shù)時(shí),采用線性插值進(jìn)行計(jì)算)。@PFD(N,D,X)自由度為NDF分布的分布函數(shù)。@PTD(N,X)自由度為Nt分布的分布函數(shù)。@DUAL(其中filename為存放數(shù)據(jù)的文件名,該文件中記錄之間用“~”分開(kāi)。例如:MYSET/@FILE(myfile.txt)/:@FILE(myfile.txt);MIN=@SUM(MYSET(SHIPPED(I)*COST(I));@FOR(MYSET(I):SHIPPED(I)>NEED(I);SHIPPED(I)<SUPPLY(I));COST=@FILE(myfile.txt);NEED=@FILE(myfile.txt);SUPPLY=@FILE(myfile.txt);@POINTER(@RANGED(感性分析中的allowabledecrease)。@RANGEU(感性分析中的allowableincrease)。GlobalOptimum(全局最優(yōu)Unbounded(LocalOptimum(全局最優(yōu)NumericError(約束中遇到了無(wú)定義的數(shù)學(xué)操作@TEXT(用于數(shù)據(jù)段中將解答結(jié)果送到文本文件filename中。當(dāng)省略filename時(shí),結(jié)果送到標(biāo)準(zhǔn)的@IF(logical_condition,true_result,當(dāng)邏輯表達(dá)式logical_condition的結(jié)果為真時(shí),返回true_result,否則返回false_result。例如@IFXLT#1002015)X<10020,否則返回@USER(TheusercansupplythisinanexternalDLLorobjectcode該函數(shù)是允許用戶自己編寫(xiě)的函數(shù)(DLL或OBJ文件該用戶函數(shù)可能應(yīng)當(dāng)用C或FORTRAN定對(duì)應(yīng)的參數(shù)(C語(yǔ)言中的main(argc,argv)的編程和運(yùn)行方式)。LINGO的主要菜單與上一章介紹的LINDO主菜單比較,LINGO相當(dāng)于合并了LINDO中的Solve(求解)菜單和菜單。這些菜單的用法都是和面只對(duì)前3個(gè)主菜單中與LINDO不同而有一定LINGO特色的主令進(jìn)行簡(jiǎn)要介紹。File|ImportLINDOFile|UserDatabase輸入用戶使用的數(shù)據(jù)庫(kù)需要驗(yàn)證的用戶名(UserID)和(Password)Edit/PasteEdit/PasteSpecial將WINDOWS剪貼板中的內(nèi)容粘貼到當(dāng)前光標(biāo)處。與通常的粘貼命令“Edit/Paste”一樣,它僅用于剪貼板中的內(nèi)容是文本的情形,而“Edit/PasteSpecial…”可以用于剪貼板中的內(nèi)容不是文本的情形,如可以插入其它應(yīng)用程序中生成的對(duì)象(Object)或?qū)ο蟮模↙ink)。例如,編程時(shí)將代碼與數(shù)據(jù)分離是一種很好的習(xí)慣,所以LINGO模型中可能會(huì)在數(shù)據(jù)段用到從其它應(yīng)用程序中生成的數(shù)據(jù)對(duì)象(EXCEL電子表格數(shù)據(jù)),這時(shí)用“Edit/PasteSpecial”Edit|MatchEdit|PasteEdit|Select保存為L(zhǎng)INGO格式(*.LG4)的文件時(shí)才能保存下來(lái),否則下次打開(kāi)文件時(shí)將不會(huì)還原這次你修改的顯示特性。此外,如果“按語(yǔ)法顯示色彩”選項(xiàng)是有效的(LINGO|Options),在模型窗口中將不能通過(guò)Edit|SelectFont菜單命令控制文本的顏色。Edit|InsertNew在模型窗口中選擇一個(gè)外部對(duì)象的,然后選擇Edit|Links命令,則彈出一個(gè)框,Edit|Object該主菜單下的多數(shù)命令與LINDO下相同,或者我們已經(jīng)面結(jié)合例子具體地介紹過(guò)了。我們這里只介紹LINGO|Generate、LINGO|Picture和LINGO|Options命令。LINGO|Generate和LINGO|Picture命令都是在模型窗口下才能使用,它們的功能是按照線LINGO|Generate命令的結(jié)果是以代數(shù)表達(dá)式的形式給出的(3.3.1節(jié)的例子),Nte.2節(jié)(,)。在這個(gè)圖形上單擊鼠標(biāo)右鍵,可以出現(xiàn)一個(gè)相關(guān)聯(lián)的顯示控制菜單(omn”的菜單所示),圖形顯示的內(nèi)容的放大(omIn)、縮小(mt)、顯示全部?jī)?nèi)容(Vwl),也可以控制該窗口是否顯示行名(ws)(arms)(llrs)。圖該命令將打開(kāi)一個(gè)含有7個(gè)選項(xiàng)卡的窗口(如圖??),你可以通過(guò)它修改LINGO系統(tǒng)的各種Splash如果選擇該選項(xiàng),則LINGO每次啟動(dòng)時(shí)會(huì)在屏幕上一個(gè)框,顯示LINGO的版本和信息;否則不彈Status(狀態(tài)欄Status如果選擇該選項(xiàng),則LINGO系統(tǒng)每次運(yùn)行Terse(Solutionlg4lng(textLineLINGO關(guān)鍵此顯示為蘭色,注釋為綠色,其他設(shè)置行數(shù)限制為0時(shí),整個(gè)文件不再區(qū)分顏色。Delay(延遲Paren CommandWindowEcho如果選擇該選項(xiàng),則用File|TakeCommand命令執(zhí)LineCount命令窗口能顯示的行數(shù)的最大值為um(缺省為PageSize每行最大字符數(shù)為Width(缺省為74,可以設(shè)定為64-200之間),多余的字符將被截?cái)嗳笔≈禐?2M,矩陣使用的內(nèi)存超過(guò)該限制,LINGO將報(bào)告"ThemodelgeneratorranoutofTimeDualPricesandRangesModelOnlywhentextchanges:只有當(dāng)模型的文本修改Whentextchangesorwithexternal(線性化M系數(shù)AllowUnrestrictedUseofPrimitiveSetMember(允許地使用基本集合的員名CheckforDuplicateNamesin選擇該選項(xiàng),LINGO將檢查數(shù)據(jù)和模型中的名稱是否重復(fù)使Barrier:法(即內(nèi)點(diǎn)法Tol.初始線性可行性誤差限FinalLinearFeasibilityTol.最后線性可行性誤差限Model ScaleInitialNonlinearFeasibilityTol.初始非線性可行性誤差限FinalNonlinearFeasibilityTol.最后非線性可行性誤差限NonlinearOptimalitySlowProgressIteration迭代(缺省值為5).ytical 選擇該選項(xiàng)LINGO將用啟發(fā)式方法生成初始解;否則選擇該選項(xiàng)LINGO將判別模型是否為二次規(guī)劃,若是選擇該選項(xiàng)LINGO在每次迭代時(shí)只檢查必須檢查的約SLP方向選擇該選項(xiàng)LINGO在每次迭代時(shí)用SLP(SuccessiveSteepest模型(ILP模型),對(duì)連續(xù)規(guī)劃和非線性模型無(wú)效??刂撇捎脝l(fā)式搜索的次數(shù)(缺省值為3,可能的值為0-100).啟發(fā)式方法的目的是從分枝節(jié)點(diǎn)的連續(xù)解出MinProbingRootOnly:僅根節(jié)點(diǎn)增加割(平面AllNodes:所有節(jié)點(diǎn)均增加割(平面Relative上限(比值),缺省值為0.75Max模型(ILP模型),對(duì)連續(xù)規(guī)劃和非線性模型無(wú)效。數(shù)。缺省值為8*10-6LPSolverWarmBarrier:法(即內(nèi)點(diǎn)法Cold目標(biāo)函數(shù)的絕對(duì)目標(biāo)函數(shù)的相對(duì)進(jìn)這么多百分比的解)。缺省值為5*10-8 開(kāi)始采用相對(duì)誤后才使用相對(duì)誤差限策略。缺省值為100秒。值LINGODecidesLINGO自動(dòng)選擇(缺省設(shè)置DepthFirstWorstBound:選擇具有界的節(jié)序 使用全局最優(yōu)求選擇該選項(xiàng),LINGO將用全局最優(yōu)求解程序求解模型,盡可解(缺省值為10-6);AbsoluteWidth(絕對(duì)寬度LocalWidth(局部寬度GlobalWidth(全局寬度GlobalDistance(全局距離Abs(Absolute)Violation(絕對(duì)2、BoxSelectionDepthFirst(深度優(yōu)先序SolverDecidesLINGO決定(缺省設(shè)置,對(duì)小Barrier:法(即內(nèi)點(diǎn)法LINGO的主要行 后面鍵入"COMMANDS"(COM)可以看到LINGO的所有行命令(圖??)??梢钥闯觯琇INDO的不少行命令在LINGO中不再支持,如DATE,TABL,SDBC,F(xiàn)BS,F(xiàn)PUN,SMPN,等等。LINGO也增加了一些與LINDO不同令,如MEM,MODEL,F(xiàn)RMPS,GENL,GEN,HIDE,SMPI,FREEZE,DBUID,DBPWD等,表??簡(jiǎn)要列出了這些新增命令的基本功能。括號(hào),超過(guò)8個(gè)字符的變量名和行名被截?cái)啵虼丝赡墚a(chǎn)生重名問(wèn)題!)時(shí)凍結(jié)(即保存)系統(tǒng)參數(shù)(包括SET命令可以設(shè)定的所有參數(shù)),下次啟動(dòng)LINGO這些參數(shù)仍然有效;實(shí)際上,這些參數(shù)保存在LINGO下的F文件中;用戶隨時(shí)可以運(yùn)行“SETDEFAUT”和“FREEZE”兩條命令恢復(fù)缺省設(shè)置。即使雙方都有令,也可能在LINGO中的功能與在LINDO中不完全相同,如LINGO中的SET命令能設(shè)定的參數(shù)數(shù)量要比LINGO中多出很多。凡是用戶能夠控制的LINGO系統(tǒng)參數(shù),SET命令都能夠?qū)λM(jìn)行設(shè)置.SET命令的使用格式為:SETparameter_name|parameter_index這里parameter_name是參數(shù)名,parameter_index是參數(shù)索引(編號(hào)),parameter_value是參數(shù)值。當(dāng)不寫(xiě)出參數(shù)值時(shí)SET命令的功能是顯示該參數(shù)當(dāng)前的值。此外,“SETDEFAULT”配置文件FLINGO后這些設(shè)置就無(wú)效了。能1234567580(0:數(shù)值導(dǎo)數(shù)1:解析導(dǎo)數(shù)90迭代次數(shù)上限(0:0求解時(shí)間的上限(秒)(0:1(1:是0:否230分枝節(jié)點(diǎn)的選擇策略(0LINGO自動(dòng)選擇;1:深度優(yōu)先;2最壞界的節(jié)點(diǎn)優(yōu)先;3:最好界的節(jié)點(diǎn)優(yōu)先)0(0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度室內(nèi)外地板一體化設(shè)計(jì)與施工合同3篇
- 課題申報(bào)參考:民事非法定種類證據(jù)的實(shí)質(zhì)審查機(jī)制研究
- 課題申報(bào)參考:面向金融大數(shù)據(jù)的聯(lián)邦深度欺詐檢測(cè)方法研究
- 二零二五版文化產(chǎn)業(yè)園規(guī)劃設(shè)計(jì)與建設(shè)合同3篇
- 二零二五版木工企業(yè)員工離職與競(jìng)業(yè)禁止勞動(dòng)合同3篇
- 2025年度個(gè)人營(yíng)運(yùn)汽車租賃車輛安全監(jiān)控系統(tǒng)合同4篇
- 二零二五年度綠色節(jié)能幕墻安裝服務(wù)合同文本4篇
- 2024露天煤礦開(kāi)采項(xiàng)目咨詢與服務(wù)合同范本3篇
- 2025年度木工班組安全生產(chǎn)標(biāo)準(zhǔn)化建設(shè)合同3篇
- 2025年度個(gè)人別墅防水系統(tǒng)安裝合同范本
- 《獅子王》電影賞析
- 河北省保定市定州市2025屆高二數(shù)學(xué)第一學(xué)期期末監(jiān)測(cè)試題含解析
- 中醫(yī)護(hù)理人文
- 2024-2030年中國(guó)路亞用品市場(chǎng)銷售模式與競(jìng)爭(zhēng)前景分析報(bào)告
- 中國(guó)2型糖尿病運(yùn)動(dòng)治療指南 (2024版)
- 貨物運(yùn)輸安全培訓(xùn)課件
- 統(tǒng)編版高中政治選擇性必修2《法律與生活》知識(shí)點(diǎn)復(fù)習(xí)提綱詳細(xì)版
- 前端年終述職報(bào)告
- 2024小說(shuō)推文行業(yè)白皮書(shū)
- 市人民醫(yī)院關(guān)于開(kāi)展“改善就醫(yī)感受提升患者體驗(yàn)主題活動(dòng)”2023-2025年實(shí)施方案及資料匯編
- 政績(jī)觀存在的問(wèn)題及整改措施范文(7篇)
評(píng)論
0/150
提交評(píng)論