




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2010,年,6,月,6,日,1,?,LINGO,軟件簡(jiǎn)介,?,LINGO,中集合的使用方法,?,LINGO,中的運(yùn)算符和函數(shù),?,LINGO,軟件與,EXCEL,的接口,?,露天礦生產(chǎn)的車輛安排,2,優(yōu)化,線性規(guī)劃,非線性規(guī)劃,二次規(guī)劃,連續(xù)優(yōu)化,整數(shù)規(guī)劃,LINDO,LINGO,3,例,直接用,LINGO,來(lái)解如下二次規(guī)劃問(wèn)題:,?,?,?,?,?,?,?,?,4,0,3,2,2,100,.,.,1,2,3,.,0,277,98,2,1,2,1,2,1,2,2,2,1,2,1,2,1,為整數(shù),?,?,?,?,?,?,?,?,x,x,x,x,x,x,t,s,x,x,x,x,x,x,Max,輸
2、入窗口如下:,simple.lg4,目標(biāo)函數(shù),約束條件,變量取整,每個(gè)語(yǔ)句,以“;”,結(jié)束,順序無(wú)關(guān),4,輸出結(jié)果:,運(yùn)行菜單命令“,LINGO|Solve”,最優(yōu)整數(shù)解,X=(35,,,65),最大利潤(rùn),=11077.5,5,?,盡量使用實(shí)數(shù)優(yōu)化,減少整數(shù)約束和整數(shù)變量,?,盡量使用光滑優(yōu)化,減少非光滑約束的個(gè)數(shù),如:盡量少使用絕對(duì)值、符號(hào)函數(shù)、多個(gè)變量求,最大,/,最小值、四舍五入、取整函數(shù)等,?,盡量使用線性模型,減少非線性約束和非線性變,量的個(gè)數(shù),(如,x/y,5,改為,x,5,y,),?,合理設(shè)定變量上下界,盡可能給出變量初始值,?,模型中使用的參數(shù)數(shù)量級(jí)要適當(dāng),(,如小于,10,3
3、,),6,例,1 SAILCO,公司需要決定下四個(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è)季度末,每,條船的庫(kù)存費(fèi)用為,20,美元。假定生產(chǎn)提前期為,0,,初始,庫(kù)存為,10,條船。如何安排生產(chǎn)可使總費(fèi)用最???,?,?,?,?,4,3,2,1,),(,20,),(,450,),(,400,MIN,I,I,INV,I,OP,I,RP,RP(,),40,1,2,3,4,I,I,?,?,4,3,
4、2,1,),(,),(,),(,),1,(,),(,?,?,?,?,?,?,I,I,DEM,I,OP,I,RP,I,INV,I,INV,10,),0,(,?,INV,7,?,LINGO,軟件簡(jiǎn)介,?,LINGO,中集合的使用方法,?,LINGO,中的運(yùn)算符和函數(shù),?,LINGO,軟件與,EXCEL,的接口,?,露天礦生產(chǎn)的車輛安排,8,?,QUARTERS,集合的屬性,?,DEM,?,RP,?,OP,?,INV,?,QUARTERS,集合,?,2,?,3,?,4,?,1,quarters/1,2,3,4/:dem,rp,op,inv;,9,以“,MODEL,:”開(kāi),始,以“,END”,結(jié),束,
5、集合定義部分從,(“SETS,:”到,“,ENDSETS” ),:,定義集合及其屬性,?,數(shù)據(jù)輸入部分從,(“DATA,:”到,“,ENDDATA”,),?,?,給出優(yōu)化目標(biāo),和約束,輸入程序,: set.lg4,10,對(duì)語(yǔ)句中冒號(hào)“:”后面的表達(dá)式,按照“:”前,面的集合指定的下標(biāo)(元素)進(jìn)行求和。,本例中目標(biāo)函數(shù)也可以等價(jià)地寫成,SUM(QUARTERS(i): 400*RP(i) +450*OP(i) +20*INV(i) ),“SUM”,相當(dāng)于求和符號(hào)“,”,,“,QUARTERS(i)”,相當(dāng)于“,iQUARTERS”,的含義。,由于本例中目標(biāo)函數(shù)對(duì)集合,QUARTERS,的所有元素
6、,(,下,標(biāo),),都要求和,所以可以將下標(biāo),i,省去。,SUM(,集合(下標(biāo)):關(guān)于集合的屬性的表達(dá)式,),11,循環(huán)函數(shù),FOR(,集合,(,下標(biāo),),:關(guān)于集合的屬性的約束關(guān)系式,),對(duì)冒號(hào)“:”前面的集合的每個(gè)元素(下標(biāo)),冒號(hào),“:”后面的約束關(guān)系式都要成立,本例中,每個(gè)季度正常的生產(chǎn)能力是,40,條帆船,這正是,語(yǔ)句“,FOR(QUARTERS(I):RP(I)=40);”,的含義。,這個(gè)語(yǔ)句可以簡(jiǎn)化成“,FOR(QUARTERS:RP40);”,。,12,全局最優(yōu)解,RP=(40,40,40,25),OP=(0,10,35,0),最小成本,=78450,13,(,1,),集合段(,
7、SETS,),:以“,SETS:”,開(kāi)始,,“,ENDSETS”,結(jié)束,定義必要的集合變量(,SET,)及,其元素(,MEMBER,,含義類似于數(shù)組的下標(biāo))和屬,性(,ATTRIBUTE,,含義類似于數(shù)組)。,(,2,),目標(biāo)與約束段,:目標(biāo)函數(shù)、約束條件等,沒(méi)有段,的開(kāi)始和結(jié)束標(biāo)記,因此實(shí)際上就是除其它四個(gè)段,(,都有,明確的段標(biāo)記,),外的,LINGO,模型。,這里一般要用到,LINGO,的內(nèi)部函數(shù),尤其是與集合相,關(guān)的求和函數(shù),SUM,和循環(huán)函數(shù),FOR,等。,14,(,3,),數(shù)據(jù)段,(DATA),:以,“,DATA:”,開(kāi)始, “ENDDATA”,結(jié)束,對(duì)集合的屬性,(,數(shù)組,),輸
8、入必要的常數(shù)數(shù)據(jù)。,格式為:“,attribute(,屬性,) = value_list(,常數(shù)列表,);,”,常數(shù)列表,(value_list),中數(shù)據(jù)之間可以用逗號(hào)“,”,分開(kāi),也,可以用空格分開(kāi),(,回車等價(jià)于一個(gè)空格,),如上面對(duì),DEM,的,賦值也可以寫成“,DEM=40 60 75 25,;”。,15,(,4,),初始段,(INIT),:以“,INIT: ”,開(kāi)始,,“,ENDINIT”,結(jié)束,對(duì)集合的屬性,(,數(shù)組,),定義初值,(,因?yàn)榍蠼馑惴ㄒ话?是迭代算法,所以,如果能給出一個(gè)比較好的迭代初值,,對(duì)提高算法的計(jì)算效果是有益的,),。,如果有一個(gè)接近最優(yōu)解的初值,對(duì),LING
9、O,求解模型是,有幫助的。定義初值的格式為:,“,attribute,(屬性),= value_list,(常數(shù)列表);,”,(,5,),計(jì)算段,(CALC),:以“,CALC: ”,開(kāi)始,,“,ENDCALC”,結(jié)束,對(duì)一些原始數(shù)據(jù)進(jìn)行計(jì)算處理。,16,例,2,建筑工地的位置,(,用平面坐標(biāo),a,b,表示,距離單位:,公里,),及水泥日用量,d,(,噸,),下表給出。有兩個(gè)臨時(shí)料場(chǎng)位,于,P (5,1), Q (2, 7),日儲(chǔ)量各有,20,噸。從,A, B,兩料場(chǎng)分別,向各工地運(yùn)送多少噸水泥,使總的噸公里數(shù)最小。兩個(gè),新的料場(chǎng)應(yīng)建在何處,節(jié)省的噸公里數(shù)有多大?,a,1.25,8.75,0.
10、5,5.75,3,7.25,b,1.25,0.75,4.75,5,6.5,7.75,d,3,5,4,7,6,11,17,建立模型,記工地的位置為,,水泥日用量為,;料場(chǎng),位置為,,日儲(chǔ)量為,;從料場(chǎng),向工地,的,運(yùn)送量為,。,),(,i,i,b,a,6,1,?,?,i,d,i,),(,j,j,y,x,2,1,?,j,e,j,j,i,ij,c,?,?,?,?,?,?,?,?,?,?,2,6,2,2,1,1,2,1,6,1,MIN,1,s.t.,1,2,6,2,1,2,3,ij,j,i,j,i,j,i,ij,i,j,ij,j,i,f,c,x,a,y,b,c,d,i,c,e,j,?,?,?,?,?,
11、?,?,?,?,?,?,?,?,?,?,L,18,本例中集合的概念,利用集合的概念,可以定義需求點(diǎn),DEMAND,和供應(yīng)點(diǎn),SUPPLY,兩個(gè)集合,分別有,6,個(gè)和,2,個(gè)元素,(,下標(biāo),),。,集合的屬性相當(dāng)于以集合的元素為下標(biāo)的數(shù)組。這里的,相當(dāng)于二維數(shù)組。它的兩個(gè)下標(biāo)分別來(lái)自集合,DEMAND,和,SUPPLY,,因此可以定義一個(gè)由二元對(duì)組,成的新的集合,然后將,定義成這個(gè)新集合的屬性。,ij,c,ij,c,link(demand,supply):c;,19,輸入程序,: location.lg4,定義了三個(gè)集合,其中,LINK,在前,兩個(gè)集合,DEMAND,和,SUPPLY,的,基礎(chǔ)上
12、定義,表示集合,LINK,中的元素就是集合,DEMAND,和,SUPPLY,的元素組合成的有序二元組,,從數(shù)學(xué)上看,LINK,是,DEMAND,和,SUPPLY,的笛,卡兒積,也就是說(shuō),LINK=,(,S,,,T,),|SDEMAND,,,TSUPPLY,因此,其屬性,C,也就是一個(gè),6*2,的矩陣(或者說(shuō),是含有,12,個(gè)元素的二維數(shù)組)。,LINGO,建模語(yǔ)言也稱為矩陣生成器(,MATRIX,GENERATOR,)。類似,DEMAND,和,SUPPLY,直接把元素列舉出,來(lái)的集合,稱為,基本集合,(primary set),而把,LINK,這種基于其它,集合而派生出來(lái)的二維或多維集合稱為,
13、派生集合,(derived set),。,由于是,DEMAND,和,SUPPLY,生成了派生集合,LINK,,所以,DEMAND,和,SUPPLY,稱為,LINK,的,父集合,。,20,初始段,LINGO,對(duì)數(shù)據(jù)是按列賦值的,語(yǔ)句的實(shí)際賦值順序是,X=(5,2), Y=(1,7),而不是,X=(5,1), Y=(2,7),等價(jià)寫法:,“,X=5,2,;,Y=1,7,;”,同理,數(shù)據(jù)段中對(duì)常數(shù)數(shù)組,A,,,B,的賦值語(yǔ)句也可以寫成,A, B=1.25 1.25 8.75 0.75 0.5 4.75 5.75 5 3 6.5 7.25 7.75,;,21,定義目標(biāo)和約束,與前例的方法是類似,(,這
14、里,包含了派生集合,),,請(qǐng)?zhí)貏e注意進(jìn)一步體會(huì)集,合函數(shù),SUM,和,FOR,的用法。,由于新建料場(chǎng)的位置理論上講可以是任意的,,所以在約束的最后,(,模型的“,END”,語(yǔ)句上面,的一行,),用,free,函數(shù)取消了變量,X,、,Y,的非負(fù),限制,在程序開(kāi)頭用,TITLE,語(yǔ)句,對(duì)這個(gè)模型取了一個(gè)標(biāo)題,“,LOCATION,PROBLEM,;并且對(duì)目標(biāo),行(,OBJ,)和兩類約束,(,DEMAND_CON,、,SUPPLY_CON,)分別進(jìn),行了命名,(,請(qǐng)?zhí)貏e注意這里,約束命名的特點(diǎn),),。,22,解答,:,運(yùn)行菜單命令“,LINGO|Solve”,局部最優(yōu)解,X(1)=7.249997,
15、,,X(2)=5.695940,,,Y(1)=7.749998,,,Y(2)=4.928524,,,C,(略),,最小運(yùn)量,=89.8835(,噸公里,),。,問(wèn)題,:,最小運(yùn)量,89.8835,是不是全局最優(yōu),使用“,LINGO|Options”,菜單命令打開(kāi)選項(xiàng)對(duì)話框,在,“,Global Solver”,選項(xiàng)卡上選擇“,Use Global Solver”,激,活全局最優(yōu)求解程序。,23,問(wèn)題,:,最小運(yùn)量,89.8835,是不是全局最優(yōu),為減少計(jì)算工作量,對(duì),X,,,Y,的取值再做一些限制。雖然理論上,新建料場(chǎng)的位置可以是任意的,但顯然最佳的料場(chǎng)位置不應(yīng)該離,工地太遠(yuǎn),至少不應(yīng)該超出現(xiàn)
16、在,6,個(gè)工地所決定的坐標(biāo)的最大、,最小值決定的矩形之外,即,: 0.5=x=8.75,0.75=y=7.75.,此時(shí)目標(biāo)函數(shù)值的下界(,Obj,Bound=85.2638,)與目前得到的最好,的可行解的目標(biāo)函數(shù)值(,Best,Obj=85.2661,)相差已經(jīng)非常小,可,以認(rèn)為已經(jīng)得到了全局最優(yōu)解。,24,計(jì)算結(jié)果,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,3,5,4,7,6,11,20,16,工地與料場(chǎng)示意圖,:,“*”,表示料場(chǎng),“,+”,表示工地,可以認(rèn)為是模型的最后結(jié)果,如果要把料廠,P(5, 1), Q (2, 7),的位置看成是已,知并且固定的,
17、這時(shí)是,LP,模型。只需要把初始,段的“,X Y =5,,,1,,,2,,,7,;”語(yǔ)句移到數(shù)據(jù)段,就可以了。此時(shí),運(yùn)行結(jié)果告訴我們得到全局,最優(yōu)解(變量,C,的取值這里略去),最小運(yùn)量,136.2275(,噸公里,),。,25,包含了兩個(gè)基本集合構(gòu)成的所有二元有序?qū)Φ呐缮?稱為,稠密集合,(,簡(jiǎn)稱稠集,),。有時(shí)候,在實(shí)際問(wèn)題中,一些,屬性,(,數(shù)組,),只在笛卡兒積的一個(gè)真子集合上定義,這種,派生集合稱為,稀疏集合,(,簡(jiǎn)稱疏集,),。,例,3 (,最短路問(wèn)題,),在縱橫交錯(cuò)的公路網(wǎng)中,貨車司機(jī)希望找到一條,從一個(gè)城市到另一個(gè)城市的最短路,.,下圖表示的是公路網(wǎng),節(jié)點(diǎn)表,示貨車可以???/p>
18、的城市,弧上的權(quán)表示兩個(gè)城市之間的距離,(,百公,里,).,那么,貨車從城市,S,出發(fā)到達(dá)城市,T,如何選擇行駛路線,使所經(jīng)過(guò),的路程最短,?,S,T,A,1,A,2,A,3,B,1,B,2,C,1,C,2,6,3,3,6,6,5,8,7,4,6,7,8,9,5,6,26,S,T,A,1,A,2,A,3,B,1,B,2,C,1,C,2,6,3,3,6,6,5,8,7,4,6,7,8,9,5,6,分析,為得到從,S,到,T,的最優(yōu)行駛路線,只需要先求出從,S,到,C,k,(,k,=1,2),的最,優(yōu)行駛路線,就可以方便地得到從,S,到,T,的最優(yōu)行駛路線,.,同樣,為了求出從,S,到,C,k,(
19、,k,=1,2),的最優(yōu)行駛路線,只需要先求出從,S,到,B,j,(,j,=1,2),的最優(yōu)行駛路線,;,為了求出從,S,到,B,j,(,j,=1,2),的最優(yōu)行駛路,線,只需要先求出從,S,到,A,i,(,i,=1,2,3),的最優(yōu)行駛路線,.,而,S,到,A,i,(,i,=1,2,3),的最優(yōu)行駛路線是很容易得到的,(,實(shí)際上,此例中,S,到,A,i,(,i=,1,2,3),只有,唯一的道路,),27,分析,可把從,S,到,T,的行駛過(guò)程分成,4,個(gè)階段,即,SA,i,(,i,=1,2,或,3),A,i, B,j,(,j,=1,或,2), B,j, C,k,(,k,=1,或,2), C,k
20、, T.,記,d,(,Y,X,),為城,市,Y,與城市,X,之間的直接距離,(,若這兩個(gè)城市之間沒(méi)有道,路直接相連,則可以認(rèn)為直接距離為,),,用,L,(X),表示城,市,S,到城市,X,的最優(yōu)行駛路線的路長(zhǎng),:,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0;,1,min,.,2,Y,X,L,S,L,X,L,Y,d,Y,X,X,S,?,?,?,?,?,S,T,A,1,A,2,A,3,B,1,B,2,C,1,C,2,6,3,3,6,6,5,8,7,4,6,7,8,9,5,6,28,本例的計(jì)算,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?
21、,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,1,2,3,1,1,2,3,3,2,1,2,3,3,1,1,2,2,2,1,2,2,1,2,1,6,3,3;,min,6,8,7,10,7;,min,5,6,4,7,4;,min,6,8,15,8;,min,7,9,16,9;,min,5,6,20,5.,L,A,L,A,L,A,L,B,L,A,L,A,L,A,L,A,L,B,L,A,L,A,L,A,L,A,L,C,L,B,L,B,L,B,L,C,L,B,L,B,L,B,L,T,L,C,L,C,L
22、,C,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,S,T,A,1,A,2,A,3,B,1,B,2,C,1,C,2,6,3,3,6,6,5,8,7,4,6,7,8,9,5,6,所以,從,S,到,T,的最優(yōu)行駛路線的路長(zhǎng)為,20.,進(jìn)一步分析以上求解過(guò),程,可以得到從,S,到,T,的最優(yōu)行駛路線為,S A,3, B,2, C,1, T.,這種計(jì)算方法在,數(shù)學(xué)上稱為,動(dòng)態(tài),規(guī)劃,(Dynamic,Programming),29,本例的,LINGO,求解,“CITIES”(,城市,):,一個(gè)基本集合,(,元
23、素通過(guò)枚舉給出,),L:CITIES,對(duì)應(yīng)的屬性變量,(,我們要求的最短路長(zhǎng),),“ROADS”(,道路,):,由,CITIES,導(dǎo)出的一個(gè)派生集合,(,請(qǐng),特別注意其用法,),由于只有一部分城市之間有道路,相連,所以不應(yīng)該把它定義成稠密集合,將其元素,通過(guò)枚舉給出,這就是一個(gè)稀疏集合。,D:,稀疏集合,ROADS,對(duì)應(yīng)的屬性變量,(,給定的距離,),30,從模型中還可以看出:這個(gè),LINGO,程序可以沒(méi)有目標(biāo),函數(shù),這在,LINGO,中,可以用來(lái)找可行解,(,解方程組和,不等式組,),。,在數(shù)據(jù)段對(duì),L,進(jìn)行賦值,只有,L(S)=0,已,知,后面的值為空,(,但位置必須留出來(lái),,即逗號(hào)“,”
24、一個(gè)也不能少,否則會(huì)出,錯(cuò),),。如果這個(gè)語(yǔ)句直接寫成“,L=0,;”,,語(yǔ)法上看也是對(duì)的,但其含義是,L,所有,元素的取值全部為,0,,所以也會(huì)與題意,不符。,31,雖然集合,CITIES,中的元素不是數(shù)字,但當(dāng),它以,CITIES(I),的形式出現(xiàn)在循環(huán)中時(shí),引,用下標(biāo),I,卻實(shí)際上仍是正整數(shù),也就是說(shuō),I,指,的正是元素在集合中的位置,(,順序,),,一般稱,為元素的索引,(INDEX),。,在,for,循環(huán)中的過(guò)濾條件里用了一個(gè)函數(shù),“,index”,其作用是返回一個(gè)元素在集合,中的索引值,這里,index(S)=1(,即元素,S,在,集合中的索引值為,1),,所以邏輯關(guān)系式,“,I#
25、GT#index(S)”,可以可以直接等價(jià)地寫,成“,I#GT#1”,。這里,index(S),實(shí)際上還是,index(CITIES,S),的簡(jiǎn)寫,即返回,S,在集合,CITIES,中的索引值。,32,本例的,LINGO,求解結(jié)果,從,S,到,T,的最優(yōu)行駛路線的路長(zhǎng)為,20(,進(jìn)一步分析,可以得到最優(yōu),行駛路線為,S A3 B2 C1 T),。,33,集合的不同類型及其關(guān)系,集合,派生集合,稀疏集合,稠密集合,基本集合,34,基本集合的定義語(yǔ)法,setname /member_list/ : attribute_list;,其中,setname,為定義的集合名,,member_list,為元
26、素列表,,attribute_list,為屬性列表。,類型,隱式列舉格式,示例,示例集合表示的元素,數(shù)字型,1.n,1.5,1, 2, 3, 4, 5,字符,-,數(shù)字型,stringM.stringN,Car101.car,208,Car101, car102, , car208,日期(星期)型,dayM.dayN,MON.FRI,MON, TUE, WED, THU,FRI,月份型,monthM.monthN,OCT.JAN,OCT, NOV, DEC, JAN,年份,-,月份型,monthYearM.month,YearN,OCT2001.J,AN2002,OCT2001, NOV2001
27、,DEC2001, JAN2002,35,派生集合的定義語(yǔ)法,setname(parent_set_list) /member_list/ : attribute_list;,與基本集合的定義相比較多了一個(gè),parent_set_list(,父集合列表,),。,父集合列表中的集合,(,如,set1,,,set2,,,,等,),稱為派生集合,setname,的父集合,它們本身也可以是派生集合。,36,?,LINGO,軟件簡(jiǎn)介,?,LINGO,中集合的使用方法,?,LINGO,中的運(yùn)算符和函數(shù),?,LINGO,軟件與,EXCEL,的接口,?,露天礦生產(chǎn)的車輛安排,37,LINGO,中的算術(shù)運(yùn)算符有
28、以下,5,種:,+,(加法),,(減法或負(fù)號(hào)),,*,(乘法),,/,(除法),, (,求冪,),。,38,在,LINGO,中,邏輯運(yùn)算,(,表達(dá)式,),通常作為過(guò)濾條件使用,邏,輯運(yùn)算符有,9,種,可以分成兩類:,#AND#(,與,),#OR#(,或,),#NOT#(,非,),:邏輯值之間的運(yùn)算,它,們操作的對(duì)象本身已經(jīng)是邏輯值或邏輯表達(dá)式,計(jì)算結(jié)果也,是邏輯值。,#EQ#(,等于,),#NE#(,不等于,),#GT#(,大于,),#GE#(,大于等,于,),#LT#(,小于,),#LE#(,小于等于,),:是“數(shù)與數(shù)之間”的比較,也就是它們操作的對(duì)象本身必須是兩個(gè)數(shù),計(jì)算得到的結(jié)果,是邏輯
29、值。,39,在,LINGO,中用來(lái)表示優(yōu)化模型的約束條件。,LINGO,中關(guān)系運(yùn)算符有,3,種:,(,即,=,,小于等于,),=(,等于,),,,(,即,=,,大于等于,),(,在優(yōu)化模型中,約束一般沒(méi)有嚴(yán)格小于、嚴(yán)格大于關(guān)系,),40,優(yōu)先級(jí),最高,最低,運(yùn)算符,#NOT#,(,負(fù)號(hào),),*,/,+,(,減法,),#EQ# #NE#,#GT# #GE#,#LT# #LE#,#AND#,#OR#,=,41,ABS(X),:絕對(duì)值函數(shù),返回,X,的絕對(duì)值。,COS(X),:余弦函數(shù),返回,X,的余弦值(,X,的單位是弧度)。,EXP(X),:指數(shù)函數(shù),返回,e,X,FLOOR(X),:取整函數(shù),
30、返回,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é)果,),。,LOG(X),:自然對(duì)數(shù)函數(shù),返回,X,的自然對(duì)數(shù)值。,的值,(,其中,e=,2.718281.),。,MOD(X,Y),:模函數(shù),返回,X,對(duì),Y,取模的結(jié)果,即,X,除以,Y,的,余數(shù),這里,X,和,Y,應(yīng)該是整數(shù)。,POW(X,Y),:指數(shù)函數(shù),返回,XY,的值。,42,SIGN(X),:符號(hào)函數(shù),返回,X,的符號(hào)值(,X 0,時(shí)返回,-1, X
31、 = 0,時(shí)返回,+1,)。,SIN(X),:正弦函數(shù),返回,X,的正弦值(,X,的單位是弧度)。,SMAX(list),:最大值函數(shù),返回一列數(shù),(list),的最大值。,SMIN(list),:最小值函數(shù),返回一列數(shù),(list),的最小值。,SQR(X),:平方函數(shù),返回,X,的平方(即,X*X,)的值。,SQRT(X),:開(kāi)平方函數(shù),返回,X,的正的平方根的值。,TAN(X),:正切函數(shù),返回,X,的正切值(,X,的單位是弧度)。,43,FOR,(,集合元素的循環(huán)函數(shù),),:,對(duì)集合,setname,的每個(gè)元素獨(dú)立地,生成表達(dá)式,表達(dá)式由,expression_list,描述(通常是優(yōu)
32、化問(wèn)題的,約束)。,MAX,(,集合屬性的最大值函數(shù),),:返回集合,setname,上的表達(dá)式,的最大值。,MIN,(,集合屬性的最小值函數(shù),),:返回集合,setname,上的表達(dá)式,的最小值。,PROD,(,集合屬性的乘積函數(shù),),:,返回集合,setname,上的表達(dá)式,的積。,SUM,(,集合屬性的求和函數(shù),):,返回集合,setname,上的表達(dá)式的和。,44,INDEX( set_name, primitive_set_element),給出元素,primitive_set_element,在集合,set_name,中的索引值,(,即按定義集合時(shí)元素出現(xiàn)順序的位置編號(hào),),。省略
33、,set_name,,,LINGO,按模型中定義的集合順序找到第一個(gè)含有該元素的集合,,并返回索引值。如果沒(méi)有找到該元素,則出錯(cuò)。,IN( set_name, primitive_index_1 , primitive_index_2 .),判斷一個(gè)集合中是否含有某個(gè)索引值。如果集合,set_name,中包含,由索引,primitive_index_1 , primitive_index_2 .,所對(duì)應(yīng)元素,則,返回,1(,邏輯值“真”,),,否則返回,0(,邏輯值“假”,),。,WRAP(I,N),此函數(shù)對(duì),N1,無(wú)定義,當(dāng),I,位于區(qū)間,1, N,內(nèi)時(shí)直接返回,I,;一般地,返回,J =
34、I -,K,*N ,其中,J,位于區(qū)間,1, N ,,,K,為整數(shù)。,SIZE (set_name),返回?cái)?shù)據(jù)集,set_name,中包含元素的個(gè)數(shù)。,45,BND(L, X, U),:限制,L = X = U,。,注意,LINGO,中,沒(méi)有與,LINDO,命令,SLB,、,SUB,類似的函數(shù),SLB,和,SUB,BIN(X),:限制,X,為,0,或,1,。注意,LINDO,中的命令是,INT,,但,LINGO,中這個(gè)函數(shù)的名字卻不是,INT(X),FREE(X),:取消對(duì),X,的符號(hào)限制(即可取負(fù)數(shù)、,0,或,正數(shù)),GIN(X),:限制,X,為整數(shù),46,FILE(filename),當(dāng)前
35、模型引用其他,ASCII,碼文件中的數(shù)據(jù)或文,本時(shí)可以采用該語(yǔ)句(但不允許嵌套使用),其中,filename,為,存放數(shù)據(jù)的文件名,該文件中記錄之間用“,”,分開(kāi)。,ODBC,提供,LINGO,與,ODBC,(,Open Data Base Connection,,開(kāi),放式數(shù)據(jù)庫(kù)連接)的接口。,OLE,提供,LINGO,與,OLE(Object Linking and Embeding),接口。,POINTER( N),在,Windows,下使用,LINGO,的動(dòng)態(tài)連接庫(kù),DLL,,,直接從共享的內(nèi)存中傳送數(shù)據(jù)。,TEXT(filename),用于數(shù)據(jù)段中將解答結(jié)果送到文本文件,filenam
36、e,中,當(dāng)省略,filename,時(shí),結(jié)果送到標(biāo)準(zhǔn)的輸出設(shè)備(通,常就是屏幕)。,filename,中可以帶有文件路徑,沒(méi)有指定路徑,時(shí)表示在當(dāng)前目錄,如果這個(gè)文件已經(jīng)存在,將會(huì)被覆蓋。,47,IF(logical_condition, true_result, false_result),當(dāng)邏輯表達(dá)式,logical_condition,的結(jié)果為真時(shí),返回,true_result,,,否則返回,false_result,。,WARN(text, logical_condition ),如果邏輯表達(dá)式“,logical_condition”,的結(jié)果為真,顯示,text,信息。,USER(use
37、r_determined_arguments),允許用戶自己編寫的函數(shù)(,DLL,或,OBJ,文件),可能應(yīng)當(dāng)用,C,或,FORTRAN,等其他語(yǔ)言編寫并編譯。,48,?,LINGO,軟件簡(jiǎn)介,?,LINGO,中集合的使用方法,?,LINGO,中的運(yùn)算符和函數(shù),?,LINGO,軟件與,EXCEL,的接口,?,露天礦生產(chǎn)的車輛安排,49,?,LINGO,系統(tǒng)與,EXCEL,文件傳遞數(shù)據(jù)的函數(shù)的一,般用法是通過(guò),OLE,函數(shù)。,?,調(diào)用格式:,OLE(spreadsheet_file , range_name_list),?,輸入數(shù)據(jù),:“屬性(或變量),=OLE(.)”,?,輸出數(shù)據(jù),:“,OL
38、E(.)=,屬性(或變量)”,電子表格文件名,數(shù)據(jù)的單元,范圍,50,首先,建立相應(yīng)的,EXCEL,數(shù)據(jù)文件,mydata.xls ,并定義相應(yīng)的數(shù)據(jù)單元,B4,:,B7,單元,命名為,CITIES,C4,:,C7,單元,命名為,COST,D4,:,D7,單元,命名為,NEED,E4,:,E7,單元,命名為,SUPPLY,F4,:,F7,單元,命名為,SOLUTION,用于輸出結(jié)果,數(shù)據(jù)單元定義方法:選擇,EXCEL,的菜單命令“插入,|,名稱,|,定義”,,才彈出對(duì)話框中輸入單元名稱,51,MODEL:,SETS:,MYSET,/,OLE(mydata.xls,CITIES),/,:,COS
39、T,NEED,SUPPLY,ORDERED;,ENDSETS,MIN,=,SUM(,MYSET(,I):,ORDERED(,I),*,COST(,I);,FOR(,MYSET(,I):,CON1,ORDERED(,I),NEED(,I);,CON2,ORDERED(,I),SUPPLY(,I);,DATA:,COST,NEED,SUPPLY,=,OLE(mydata.xls),;,OLE(mydata.xls,SOLUTION)=ORDERED,;,ENDDATA,END,Lingo,程序:,從文件,mydata.xls,的,CITIES,所,指示的單元中取出數(shù)據(jù),作為,集合,MYSET,的元
40、素。,從文件,mydata.xls,中相應(yīng)單,元給,COST,NEED,SUPPLY,賦,值,。,沒(méi)有指定單元時(shí),從與,變量名相同的單元中賦值,將,ORDERED,的值輸出賦給,mydata.xls,文件中由,SOLUTION,指定的單元格,52,?,打開(kāi),EXCEL,文件,?,菜單命令“插入,|,對(duì)象”,?,選擇“新建,|LINDO,Document”,,建立一個(gè),空的,LINGO,文件對(duì)象,,且在,EXCEL,中出現(xiàn),LINGO,菜單,?,輸入,LINGO,程序內(nèi)容,即可在,EXCEL,中運(yùn)行,LINGO,程序,53,?,優(yōu)化模型與,LINGO,軟件簡(jiǎn)介,?,LINGO,中集合的使用方法,
41、?,LINGO,中的運(yùn)算符和函數(shù),?,LINGO,軟件與,EXCEL,的接口,?,露天礦生產(chǎn)的車輛安排,54,露天礦里鏟位已分成礦石和巖石,:,平均鐵含量不低于,25%,的為礦石,否則為巖石。每個(gè)鏟位的礦石、巖石數(shù),量,以及礦石的平均鐵含量(稱為品位)都是已知的。,每個(gè)鏟位至多安置一臺(tái)電鏟,電鏟平均裝車時(shí)間,5,分鐘,卡車在等待時(shí)所耗費(fèi)的能量也是相當(dāng)可觀的,原則上,在安排時(shí),不應(yīng)發(fā)生卡車等待,的情況。,礦石卸點(diǎn)需要的鐵含量要求都為,29.5%,?,1%(,品位限制),,搭配量在一個(gè)班次(,8,小時(shí))內(nèi)滿足品位限制即可。卸,點(diǎn)在一個(gè)班次內(nèi)不變。卡車載重量為,154,噸,平均時(shí)速,28km,平均卸
42、車時(shí)間為,3,分鐘。,問(wèn)題:出動(dòng)幾臺(tái)電鏟,分別在哪些鏟位上;出動(dòng)幾輛,卡車,分別在哪些路線上各運(yùn)輸多少次,?,55,距離,鏟位,1,鏟位,2,鏟位,3,鏟位,4,鏟位,5,鏟位,6,鏟位,7,鏟位,8,鏟位,9,鏟位,10,礦石漏,5.26,5.19,4.21,4.00,2.95,2.74,2.46,1.90,0.64,1.27,倒裝,1.90,0.99,1.90,1.13,1.27,2.25,1.48,2.04,3.09,3.51,巖場(chǎng),5.89,5.61,5.61,4.56,3.51,3.65,2.46,2.46,1.06,0.57,巖石漏,0.64,1.76,1.27,1.83,2.74
43、,2.60,4.21,3.72,5.05,6.10,倒裝,4.42,3.86,3.72,3.16,2.25,2.81,0.78,1.62,1.27,0.50,鏟位,1,鏟位,2,鏟位,3,鏟位,4,鏟位,5,鏟位,6,鏟位,7,鏟位,8,鏟位,9,鏟位,10,礦石量,0,95,1,05,1,00,1,05,1,10,1,25,1,05,1,30,1,35,1,25,巖石量,1,25,1,10,1,35,1,05,1,15,1,35,1,05,1,15,1,35,1,25,鐵含量,30%,28%,29%,32%,31%,33%,32%,31%,33%,31%,某露天礦有鏟位,10,個(gè),卸點(diǎn),5,
44、個(gè),現(xiàn)有鏟車,7,臺(tái),,卡車,20,輛。各卸點(diǎn)一個(gè)班次的產(chǎn)量要求:礦石,漏,1.2,萬(wàn),t,、倒裝場(chǎng),1.3,萬(wàn),t,、倒裝場(chǎng),1.3,萬(wàn),t,、,巖石漏,1.9,萬(wàn),t,、巖場(chǎng),1.3,萬(wàn),t,56,57,與典型的運(yùn)輸問(wèn)題明顯有以下不同:,1.,這是運(yùn)輸?shù)V石與巖石兩種物資的問(wèn)題;,2.,屬于產(chǎn)量大于銷量的不平衡運(yùn)輸問(wèn)題;,3.,為了完成品位約束,礦石要搭配運(yùn)輸;,4.,產(chǎn)地、銷地均有單位時(shí)間的流量限制;,5.,運(yùn)輸車輛只有一種,每次滿載運(yùn)輸,,154,噸,/,車次;,6.,鏟位數(shù)多于鏟車數(shù)意味著要最優(yōu)的選擇不多于,7,個(gè),產(chǎn)地作為最后結(jié)果中的產(chǎn)地;,7.,最后求出各條路線上的派出車輛數(shù)及安排
45、。,近似處理:,?,先求出產(chǎn)位、卸點(diǎn)每條線路上的運(yùn)輸量,(MIP,模型,),?,然后求出各條路線上的派出車輛數(shù)及安排,58,?,卡車在一個(gè)班次中不應(yīng)發(fā)生等待或熄火后再啟動(dòng),的情況;,?,在鏟位或卸點(diǎn)處由兩條路線以上造成的沖突問(wèn)題,面前,我們認(rèn)為只要平均時(shí)間能完成任務(wù),就認(rèn),為不沖突。我們不排時(shí)地進(jìn)行討論;,?,空載與重載的速度都是,28km/h,,耗油相差很大;,?,卡車可提前退出系統(tǒng),等等。,59,?,x,ij,:從,i,號(hào)鏟位到,j,號(hào)卸點(diǎn)的石料運(yùn)量,單位:,車;,?,c,ij,:,從,i,號(hào)鏟位到,j,號(hào)卸點(diǎn)的距離,公里;,?,T,ij,:,從,i,號(hào)鏟位到,j,號(hào)卸點(diǎn)路線上運(yùn)行一個(gè)周期平均時(shí)間,分;,?,A,ij,:從,i,號(hào)鏟位到,j,號(hào)卸點(diǎn)最多能同時(shí)運(yùn)行的卡車數(shù),輛;,?,B,ij,:從,i,號(hào)鏟位到,j,號(hào)卸點(diǎn)路線上一輛車最多可運(yùn)行的次數(shù),次;,?,p,i,:,i,號(hào)鏟位的礦石鐵含量,p=(30,28,29,32,31,33,32,31,33,31) %,?,q,j,: j,號(hào)卸點(diǎn)任務(wù)需求,,q=(1.2,1.3,1.3,1.9,1.3)*10000,噸,?,ck,i,:,i,號(hào)鏟位的鐵礦石儲(chǔ)量,萬(wàn)噸,?,cy,i,:,i,號(hào)鏟位的巖石
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦產(chǎn)贊助提成協(xié)議書
- 汽車債權(quán)返還協(xié)議書
- 電梯維修合同協(xié)議書
- 豬場(chǎng)拉糞合同協(xié)議書
- 焊工承包合同協(xié)議書
- 租用校車安全協(xié)議書
- 設(shè)備長(zhǎng)期維修協(xié)議書
- 版權(quán)問(wèn)題轉(zhuǎn)讓協(xié)議書
- 物業(yè)矛盾調(diào)解協(xié)議書
- 離婚大姐調(diào)解協(xié)議書
- FeNO臨床應(yīng)用課程
- 家委會(huì)工作匯報(bào)課件
- 電場(chǎng)電場(chǎng)強(qiáng)度
- 廣東省佛山2022-2023學(xué)年外研版八年級(jí)下學(xué)期英語(yǔ)期末模擬試卷(二)
- 四年級(jí)《爺爺?shù)臓敔攺哪睦飦?lái)》閱讀測(cè)評(píng)題
- CJJ14-2016城市公共廁所設(shè)計(jì)標(biāo)準(zhǔn)
- ISO9001設(shè)計(jì)變更管理程序
- 個(gè)人所得稅 贍養(yǎng)老人協(xié)議書
- 《取水許可核驗(yàn)報(bào)告編制導(dǎo)則(試行)(征求意見(jiàn)稿)》
- 2024年重慶八中中考數(shù)學(xué)一模試卷
- MOOC 中國(guó)特色文化英語(yǔ)教學(xué)-蘇州大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論