版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目標(biāo)函數(shù)以“max”或“min”開頭,max(或min)與目標(biāo)函數(shù)表達(dá)式之間不能有“=”。lindo常用的基本語法
2、變量名的長度不超過8個(gè)字符,并且必須以英文字母開頭。英文字母不區(qū)分大小寫。3、目標(biāo)函數(shù)與約束條件之間必須用“st”分開,并且“st”單獨(dú)一行。4、目標(biāo)函數(shù)、各約束條件都必須以“回車鍵”結(jié)束,并且都應(yīng)該是經(jīng)過化簡后的表達(dá)式,所有字符必須是英文狀態(tài)下輸入的。5、lindo軟件已規(guī)定所有的決策變量均為非負(fù)數(shù)。6、變量與其系數(shù)之間可以有空格,乘號(hào)必須省略,式中不能有括號(hào);約束條件的右端不能有決策變量,
左端不能有常數(shù)項(xiàng);沒有下標(biāo),式中不能有分母,式中不能有“逗號(hào)”和“句號(hào)”等(說明語句除外)。常用的基本語法
7、約束條件中的符號(hào)“≥”用“>=”表示,
“≤”用“<=”表示,并且可以分別用“>”和“<”表示。8、輸入文件中的第一行默認(rèn)為目標(biāo)函數(shù),可以用2),3)等標(biāo)明各約束條件,便于從輸出結(jié)果中查找信息。以感嘆號(hào)“!”開始的是說明語句.9、程序最后以end結(jié)束,對(duì)于小型的規(guī)劃問題,end可以省略。
常用的基本語法
整數(shù)變量(例如:ginx1)和0-1變量(例如intx3)的約束放在end之后,此時(shí)end不能省略。10、如果所有的決策變量都是整數(shù)變量(假如有6個(gè)變量),則可以在end之后寫命令:
gin6
如果不是所有的決策變量都是整數(shù)變量,則不能采用此方法。
此時(shí),如果省略end的話,整數(shù)變量、0-1變量等限制將不起作用。11、如果x1是整數(shù)變量,則應(yīng)在end之后寫上命令:ginx1如果x1是0-1變量,則應(yīng)在end之后寫上命令:intx1
如果所有的決策變量共有6個(gè),并且所有的決策變量都是整數(shù),則可以在end之后寫命令:gin6
如果x1,x2都是整數(shù)變量,但并不是所有的變量都是整數(shù)變量,則要寫成ginx1ginx2不能寫成ginx1,x2或ginx1;x24.2.1LINGO軟件使用格式(1)目標(biāo)函數(shù)以“max=”或“min=”開頭,其后面是目標(biāo)函數(shù)的表達(dá)式。(2)模型以“model:”開始,以“end”結(jié)束,
對(duì)簡單的模型,“model:”及“end”也可以省略。
lingo中的語句順序不重要,目標(biāo)函數(shù)與約束條件有明顯的標(biāo)志,不用加其它的符號(hào)。
lingo總是根據(jù)“max=”或“min=”語句尋找目標(biāo)函數(shù),而其它的語句都是約束語句和說明語句。
除了首行和末行外,每行以“;”結(jié)束。所有字符必須是英文狀態(tài)下輸入的。
1、LINGO使用規(guī)則LINGO軟件的使用規(guī)則(2)(3)乘號(hào)“*”不能省略,式中可以有括號(hào),約束條件的右端可以有決策變量,沒有下標(biāo),式中不能有分母,式中不能有“逗號(hào)”和“句號(hào)”(說明語句和函數(shù)中的內(nèi)容除外)
,故目標(biāo)函數(shù)和各約束約束條件都可以是沒有經(jīng)過化簡后的表達(dá)式。(4)英文字母不區(qū)分大小寫字母,
lingo中的變量名和行名可以超過8個(gè)字符,但不能超過32個(gè)字符,并且變量名必須以字母開頭,后面跟數(shù)字或字母。(5)lingo軟件已規(guī)定所有的決策變量均為非負(fù)數(shù),(除非用限定變量取值范圍的函數(shù)@free或@bnd等另行說明)。LINGO軟件的使用規(guī)則(3)(6)約束條件中的符號(hào)“≥”用“>=”或“>”表示,“≤”用“<=”或“<”表示。(7)計(jì)算機(jī)把輸入程序中的第一行默認(rèn)為目標(biāo)函數(shù),其它各約束條件可以用[_1],[_2]標(biāo)明它的行號(hào)。
(8)雖然決策變量可以放在約束條件的右端,但為了提高Lingo的求解效率,應(yīng)盡可能采用線性表達(dá)式定義目標(biāo)函數(shù)和約束條件。(9)在lingo中以感嘆號(hào)“!”開始的是說明語句,并且說明語句也需要以分號(hào)“;”結(jié)束,并且除了“!”和“;”之外,說明語句中的其它字符可以是任何字符。LINGO軟件的使用規(guī)則(4)(10)lingo模型是由一系列語句組成的,即每個(gè)語句是組成lingo模型的基本部分,每個(gè)語句(目標(biāo)、約束、說明語句等)都是以分號(hào)“;”結(jié)尾的,編寫程序時(shí)應(yīng)注意保持模型的可讀性。例如:雖然lingo允許每行寫多個(gè)語句,也允許一個(gè)語句寫成幾行,但最好一行只寫一個(gè)語句,并且按照語句的嵌套關(guān)系對(duì)語句安排適當(dāng)?shù)目s進(jìn),增強(qiáng)層次感。LINGO軟件的使用規(guī)則(5)(11)在lingo中,以“@”開頭的都是函數(shù)調(diào)用,其中有:整型變量函數(shù)(@bin表示0-1變量,@gin表示整數(shù)變量)和上下界限定等函數(shù)(@free表示去掉非負(fù)限制,@bnd限定變量的上限、下限)。這些變量的限制要放在“end”之前,否則這些變量的限制將不起作用
。如果x1是整數(shù)變量,則應(yīng)在end之前寫命令:@gin(x1);如果x1是0-1變量,則應(yīng)在end之前寫命令:@bin(x1);如果所有的決策變量共有6個(gè),并且所有的決策變量都是整數(shù),不能寫命令:
@bin(6);等其它的命令如果x1,x2都是整數(shù)變量,并且不是所有的變量都是整數(shù)變量,則要寫成@gin(x1);@gin(x2);不能寫成@gin(x1,x2)或其它的命令練習(xí):分別用lindo、lingo編寫下列數(shù)學(xué)模型的程序(1)可以用于求線性規(guī)劃及非線性規(guī)劃問題,包括非線性整數(shù)規(guī)劃問題。2、lingo的優(yōu)點(diǎn)(2)lingo包含內(nèi)置的建模語言(常稱矩陣生成器),允許以簡練、直觀的方式描述較大規(guī)模的優(yōu)化模型(成千萬個(gè)約束條件和變量),
模型中所需的數(shù)據(jù)可以用一定格式保存在獨(dú)立的文件中,需要時(shí)再讀取數(shù)據(jù)。
在lindo中的目標(biāo)函數(shù)最優(yōu)值、最優(yōu)解與靈敏度分析是一起顯示出來,
3、lingo中的靈敏度分析而在lingo中,最優(yōu)解、最
優(yōu)值與靈敏度分析是分別用不同的命令顯示出來。
lingo中的靈敏度分析的數(shù)據(jù)輸出結(jié)果與lindo中的靈敏性分析中輸出結(jié)果是相同的。
因?yàn)閘ingo的求解結(jié)果中是沒有靈敏度分析的,所以如果需要靈敏度分析的數(shù)據(jù),可以通過修改選項(xiàng)來實(shí)現(xiàn)。
①先修改系統(tǒng)選項(xiàng),啟動(dòng)靈敏度分析通過修改選項(xiàng)得到靈敏度分析數(shù)據(jù)的步驟:執(zhí)行“LINGO/options”菜單命令彈出“選項(xiàng)”對(duì)話框,在“General
solver”選項(xiàng)卡中,將其中左邊列的第二個(gè)選項(xiàng)“Dualcompulations”(對(duì)偶計(jì)算)選項(xiàng)的默認(rèn)設(shè)置“prices”改為“pricesandRanges”(價(jià)格及范圍)后,先對(duì)規(guī)劃問題求解一次。②執(zhí)行“LINGO/Range”菜單命令,運(yùn)行后計(jì)算機(jī)則顯示只有靈敏度分析的數(shù)據(jù)。一般情況下,lingo得到的都是局部最優(yōu)解,要得到全局最優(yōu)解,
激活全局最優(yōu)求解程序的步驟
則要激活全局最優(yōu)求解程序,方法如下:執(zhí)行“LINGO/Options”菜單命令彈出“選項(xiàng)框”對(duì)話框,在“GlobalSolver”選項(xiàng)卡上選擇“UseGlobalSolver”點(diǎn)確定即可。
由于全局最優(yōu)求解程序花費(fèi)的時(shí)間可能是很長的,所以為了減少計(jì)算工作量,我們應(yīng)該盡量對(duì)變量等做進(jìn)一步的限制。
1、運(yùn)算符4.2.2
運(yùn)算符及優(yōu)先級(jí)(1)算術(shù)運(yùn)算符:
+加-減*乘/除^乘方(開方)(2)邏輯運(yùn)算符:邏輯運(yùn)算結(jié)果只有真與假,在lingo中用1和0表示,邏輯運(yùn)算符(表達(dá)式)通常作為過濾條件使用。
①#and#與,#or#或,#not#非②#eq#等于,#ne#不等于,#gt#大于,#ge#大于等于,#lt#小于,#le#小于等于
即:g—大于,e—等于,l—小于,t—不等于(3)關(guān)系運(yùn)算符2、運(yùn)算符的優(yōu)先級(jí)<(或<=)=>(或>=)
#not#(負(fù)號(hào))^
*/
+(減法)
#eq#,#ne#,#gt#,#ge#,#lt#,#le##and#與,#or#>=<
高
低
@sqrt(x)
4.2.3常用的函數(shù)在Lingo中,所有的系統(tǒng)函數(shù)都必須是以“@”開頭。1、數(shù)學(xué)函數(shù)@abs(x)
求絕對(duì)值函數(shù),返回x的絕對(duì)值
@cos(x)
求余弦函數(shù),返回x的余弦值,
x的單位是弧度@exp(x)
計(jì)算ex的值@log(x)
計(jì)算lnx
的值@pow(x,y)
計(jì)算xy的值@sqr(x)
計(jì)算x的平方計(jì)算x的平方根@size(A)
求矩陣A的元素個(gè)數(shù)2、集合循環(huán)函數(shù)集合循環(huán)函數(shù)是指對(duì)集合中的所有元素(下標(biāo))進(jìn)行循環(huán)操作的函數(shù),如@sum,@for等。
具體的使用格式:@循環(huán)函數(shù)名(循環(huán)變量所在的集(循環(huán)變量)│過濾條件:循環(huán)表達(dá)式)其中,如果在操作過程中沒有過濾條件,可以省略過濾條件;如果表達(dá)式是對(duì)集合的所有循環(huán)變量進(jìn)行操作,循環(huán)變量也可以省略。集合循環(huán)函數(shù):@for
是對(duì)集合的每個(gè)元素獨(dú)立地操作一次表達(dá)式,通常用于優(yōu)化問題的約束條件;
@sum是求集合中表達(dá)式的和;
@prod是求集合中表達(dá)式的乘積;@max是求集合中表達(dá)式的最大值;
@min是求集合中表達(dá)式的最小值;
但如果是求目標(biāo)函數(shù)的最大、最小值,則是用
“max=目標(biāo)函數(shù)表達(dá)式”,“min=目標(biāo)函數(shù)表達(dá)式”,
而不用寫@。
(1)@for
該函數(shù)用來產(chǎn)生對(duì)集成員的約束。@for函數(shù)允許只輸入一個(gè)約束條件,然后由lingo自動(dòng)產(chǎn)生每個(gè)集成員的約束條件。例4-2
產(chǎn)生序列{1,4,9,16,25}model:
sets:
number/1..5/:x;!此命令產(chǎn)生一個(gè)變量x,是單下標(biāo)變量,其下標(biāo)有5個(gè)取值;
endsets
@for(number(i):x(i)=i^2);!此命令是對(duì)所有的下標(biāo)i,分別求i2;
end(2)@sum
該函數(shù)返回遍歷指定的集成員的一個(gè)表達(dá)式的和。
例4-3
求向量[5,1,3,4,6,10]前5個(gè)數(shù)的和。model:
sets:
number/1..6/:x;
endsets
data:
x=5134610;!此命令給變量x具體的取值;
enddata
s=@sum(number(i)|i#le#5:x(i));
end3、變量定界函數(shù)變量定界函數(shù)是對(duì)變量的取值范圍附加限制。@bnd(A,x,B):
是指限定變量x的取值為
A≤x≤B(在LINDO中無此函數(shù))
@gin(x):
限定變量x
的取值為整數(shù);
@bin(x):
限定變量x為0-1變量,@free(x):
取消變量x的非負(fù)限制,即x可以取負(fù)數(shù)、0或正數(shù),因?yàn)閘ingo原來默認(rèn)所有的變量非負(fù)取值。
在lindo是用命令int,而在lingo中沒有@int(x)
;
4.2.4lingo計(jì)算輸出的結(jié)果
lingo計(jì)算的輸出結(jié)果與lindo計(jì)算的輸出結(jié)果是完全相同的,只是輸出的命令不相同。在lindo中,最優(yōu)值、最優(yōu)解,影子價(jià)格與靈敏度分析的數(shù)據(jù)可以同時(shí)輸出。而在lingo
中,靈敏度分析的數(shù)據(jù)只有通過修改選項(xiàng)才能輸出。lingo計(jì)算輸出結(jié)果例4-1的數(shù)學(xué)模型:model:
max=32*x1+30*x2;
3*x1+4*x2<=36;
5*x1+4*x2<=40;
9*x1+8*x2<=76;
end
輸出結(jié)果:Globaloptimalsolutionfound.
Objectivevalue:282.6667
Totalsolveriterations:3
VariableValueReducedCost
X11.3333330.000000
X28.0000000.000000
RowSlackorSurplusDualPrice
1282.66671.000000
20.0000001.166667
31.3333330.000000
40.0000003.1666674.2.5關(guān)于lingo程序中的段一般來說,lingo中建立的優(yōu)化模型可以由五部分來組成,或稱為五段。下面介紹常用的三段:集合段,數(shù)據(jù)段,目標(biāo)和約束段
1、集合段(sets):這部分要以“sets:”開始,以“endsets”結(jié)束。作用在于定義必要的集合及其元素。
屬性相當(dāng)于變量或數(shù)組,集合的成員相當(dāng)于下標(biāo)。
1、集合段(sets):具體使用格式是:集合名/集的成員/:屬性;ABD/1,2,3,4,5,6/:x,y;顯式羅列所有的成員ABD/1..6/:x,y;
隱式羅列所有的成員,中間的成員系統(tǒng)自動(dòng)產(chǎn)生,只要列出集合的第一個(gè)和最后一個(gè)成員就行,但所有的成員必須是有規(guī)律的。不同的成員及不同的屬性之間,用“,”分隔。
集合的屬性相當(dāng)于以集合的元素為下標(biāo)的數(shù)組,
即屬性相當(dāng)于變量,成員相當(dāng)于下標(biāo)。具體來說,ABD/1,2,3,4,5,6/:x,y;其集合名為ABD,屬性為x,y
成員為1,2,3,4,5,6定義以x,y為變量,下標(biāo)分別為1,2,3,4,5,6的變量,即x1,
x2,x3,x4,x5,x6
y1,y2,y3,y4,y5,y6
屬性(變量)的具體值如果是常數(shù),則應(yīng)在數(shù)據(jù)段中輸入具體數(shù)據(jù);如果是未知數(shù)(即決策變量),則在數(shù)據(jù)段中不能輸入數(shù)據(jù),但可以在初始段輸入初值。集合的成員和屬性可以在定義時(shí)省略,隨后在數(shù)據(jù)段中輸入。關(guān)于集合的一些說明:
myfile/1..5/:a;
定義原始集合myfile,屬性a的成員有5個(gè)元素,即定義a是單下標(biāo)變量,下標(biāo)有5個(gè)取值,即a1,a2,a3,a4,a5。
myfoes/1..6/:b;
定義原始集合myfoes,屬性b的成員有6個(gè)元素,即定義b是單下標(biāo)變量,下標(biāo)有6個(gè)取值,即b1,b2,b3,b4,b5,b6。
myido(myfoes,myfile):x,c;
定義派生集合myido,屬性x和c的成員有30個(gè)元素,即定義x和c是雙下標(biāo)變量,第1個(gè)下標(biāo)有6個(gè)取值,第2個(gè)下標(biāo)有5個(gè)取值。其中myfoes和myfile稱為派生集合的父集。例4-4model:
sets:
myfile/1..5/:a;
myfoes/1..6/:b;
myido(myfile,myfoes):x,c;
endsets
data:
c=1,2,-2,5,6,-4
2,3,-4,6,9,3
2,5,-1,5,-2,0
-5,6,7,9,10,-10
33,4,6,6,7,9;
a=100,200,100,100,400;
b=100,200,100,150,150,200;
enddatamin=@sum(myido(i,j):c(i,j)*x(i,j));
!產(chǎn)銷平衡運(yùn)輸問題的目標(biāo)函數(shù);
@for(myfile(i):@sum(myfoes(j):x(i,j))=a(i));
!產(chǎn)銷平衡運(yùn)輸問題產(chǎn)地的產(chǎn)量約束;
@for(myfoes(j):@sum(myfile(i):x(i,j))=b(j));
!產(chǎn)銷平衡運(yùn)輸問題銷地的銷量約束;
end
2、數(shù)據(jù)段(data):以“data:”開始,以“enddata”結(jié)束,作用在于對(duì)集合的屬性(數(shù)組或變量)輸入必要的常數(shù)數(shù)據(jù)。具體的使用格式為:
屬性(或變量)=常數(shù)列表;在常數(shù)列表中,數(shù)據(jù)之間用“,”分隔,也可以空格分開(“ctrl+回車”的作用也等價(jià)于一個(gè)空格),即變量(或?qū)傩裕┦侨〉忍?hào)右邊的常數(shù).model:
sets:
ABD/1,2,3,4,5,6/:x,y;
endsets
data:
x=1,3,0,5,6,-7;
y=-3,4,29,58,3,10;
enddata
end在數(shù)據(jù)段中輸入數(shù)據(jù)時(shí),可以分別輸入每個(gè)變量對(duì)應(yīng)的數(shù)據(jù),也可以同時(shí)輸入多個(gè)同維的變量的數(shù)據(jù)值。兩種輸入方法得到的結(jié)果相同例4-5等同于x,y=1,-3,3,4,0,29,5,58,6,3,-7,10;
3、目標(biāo)和約束段:這部分實(shí)際上是定義目標(biāo)函數(shù)、約束條件等,但這部分并沒有段的開始及結(jié)束的標(biāo)記。
lingo的目標(biāo)函數(shù)和約束條件,一般要用到循環(huán)函數(shù):如求和函數(shù)@sum和循環(huán)函數(shù)@for等。
目標(biāo)函數(shù)是求最大值或最小值.
max=目標(biāo)函數(shù);
或
min=目標(biāo)函數(shù);
約束條件的標(biāo)志是:@for(約束條件);目標(biāo)函數(shù)的標(biāo)志是:
例如:
sets:
ABD/1,2,3,4,5,6/:X;
AB/1..3/:Y,D;
endsets(1)如程序中有約束條件:
在lingo程序中應(yīng)該表示為:
@for(AB(j):@sum(ABD(i):x(i)*y(j))<=d(j));(2)如程序中有約束條件:
在lingo程序中應(yīng)該表示為:
@for(AB(i):@sum(ABD(j):x(i)*y(j))<=d(i));循環(huán)變量:循環(huán)變量:先計(jì)算變量j
,再計(jì)算變量i.
先計(jì)算變量i,再計(jì)算變量j.
model:
sets:
myfile/1..5/:a;myfoes/1..6/:b;myido(myfile,myfoes):x,c;
endsets
data:
c=1,2,-2,5,6,-4
2,3,-4,6,9,3
2,5,-1,5,-2,0
-5,6,7,9,10,-10
33,4,6,6,7,9;
a=100,200,100,100,400;b=100,200,100,150,150,200;
enddata
min=@sum(myido(i,j):c(i,j)*x(i,j));
@for(myfile(i):@sum(myfoes(j):x(i,j))=a(i));@for(myfoes(j):@sum(myfile(i):x(i,j))=b(j));
end分析用lingo編寫的程序例4-6寫出下面規(guī)劃問題的lingo中用集合編寫的求解程序。如果線性規(guī)劃問題有最優(yōu)解,請(qǐng)寫出最優(yōu)解。
解:要寫出用lingo中集合的方法求解的程序,則應(yīng)該先把規(guī)劃模型化為用求和形式表示的模型,
其中:
則該規(guī)劃問題的用求和形式表示的模型為:用求和形式表示的模型討論用集合表示的模型:其中:(1)變量c,x是單
下標(biāo),下標(biāo)有3
個(gè)取值;變量b是單下標(biāo),下標(biāo)有4個(gè)取值。對(duì)于單下標(biāo)的變量,只要直接定義集合即可,即要定義兩個(gè)集合,一個(gè)有3個(gè)取值的,另一個(gè)有4個(gè)取值的。由于變量c,b,a已經(jīng)有具體的數(shù)值,故必須在數(shù)據(jù)段中給出具體的取值;變量x沒有具體的數(shù)值,它是決策變量,故不能在數(shù)據(jù)段中給出具體的取值。討論用集合表示的模型:(2)變量a是雙
下標(biāo)變量,下標(biāo)共有4×3個(gè)取值,第1個(gè)i下標(biāo)有4個(gè)取值,第2個(gè)下標(biāo)j有3個(gè)取值。
對(duì)于雙下標(biāo)的變量,必須定義派生集合。
它第1個(gè)父集是有4個(gè)取值,第2個(gè)父集是有3個(gè)取值。
變量a已經(jīng)有具體的數(shù)值,它不是決
策變量,故必須在數(shù)據(jù)段中給出具體的取值。
上述數(shù)學(xué)模型用集合編寫的求解程序?yàn)椋杭隙?/p>
sets:
endsets
ab/1,2,3/:x,c;
abc/1,2,3,4/:b;
abcd(abc,ab):a;數(shù)據(jù)段
data:
enddata
c=8,10,2;
b=70,80,15,50;
a=2,1,3
4,2,2
3,0,1
2,2,0;目標(biāo)函數(shù)
max=@sum(ab(j):c(j)*x(j));約束條件@for(abc(i):@sum(ab(j):a(i,j)*x(j))<=b(i));
ab/1,2,3/:x,c;
abc/1,2,3,4/:b;
abcd(abc,ab):a;用集合表示的程序?yàn)椋簃odel:
sets:
ab/1,2,3/:x,c;
abc/1,2,3,4/:b;
abcd(abc,ab):a;
endsets
data:
c=8,10,2;
b=70,80,15,50;
a=2,1,34,2,23,0,12,2,0;
enddata
max=@sum(ab(j):c(j)*x(j));
@for(abc(i):@sum(ab(j):a(i,j)*x(j))<=b(i));
endmodel:
sets:
ab/1,2,3/:x,c;
abc/1,2,3,4/:b;
abcd(abc,ab):a;
endsets
data:
c=8,10,2;
b=70,80,15,50;
a=2,1,34,2,23,0,12,2,0;
enddata
max=@sum(ab(j):c(j)*x(j));
@for(abc(i):@sum(ab(j):a(i,j)*x(j))<=b(i));
end
Globaloptimalsolutionfound.Objectivevalue:280.0000Totalsolveriterations:2VariableValueReducedCostX(1)0.0000002.666667X(2)25.000000.000000X(3)15.000000.000000利用軟件計(jì)算,可知:該數(shù)學(xué)規(guī)劃模型的最優(yōu)解為最優(yōu)值為:
(2)把規(guī)劃問題化為用求和形式表示的模型,其中:
該規(guī)劃問題用求和形式表示的模型為:該規(guī)劃問題用集合編寫的程序?yàn)椋杭隙?/p>
sets:
endsets
ab/1,2,3,4,5/:x,c;
abc/1,2,3/:b;
abcd(abc,ab):a;數(shù)據(jù)段
data:
enddata
c=3,-1,-1,0,0;
b=11,3,1;
a=1,-2,1,1,0
-4,1,2,0,-1
-2,0,1,0,0;目標(biāo)函數(shù)
max=@sum(ab(j):c(j)*x(j));約束條件
@for(abc(i):@sum(ab(j):a(i,j)*x(j))=b(i));
ab/1,2,3,4,5/:x,c;
abc/1,2,3/:b;
abcd(abc,ab):a;model:
sets:
ab/1,2,3/:b;
abc/1,2,3,4,5/:c,x;
abcd(ab,abc):a;
endsets
data:
c=3,-1,-1,0,0;
b=11,3,1;
a=1,-2,1,1,0
-4,1,2,0,-1-2,0,1,0,0;
enddata
max=@sum(ab(j):c(j)*x(j));
@for(abc(i):@sum(ab(j):a(i,j)*x(j))=b(i));
end用集合表示的程序?yàn)椋簃odel:
sets:
ab/1,2,3/:b;
abc/1,2,3,4,5/:c,x;
abcd(ab,abc):a;
endsets
data:
c=3,-1,-1,0,0;
b=11,3,1;
a=1,-2,1,1,0
-4,1,2,0,-1
-2,0,1,0,0;
enddata
max=@sum(abc(j):c(j)*x(j));
@for(ab(i):@sum(abc(j):a(i,j)*x(j))=b(i));
end
Globaloptimalsolutionfound.Objectivevalue:2.000000Totalsolveriterations:0VariableValueReducedCostX(1)4.0000000.000000X(2)1.0000000.000000X(3)9.0000000.000000X(4)0.0000000.3333333X(5)0.0000000.3333333利用軟件計(jì)算可知:該數(shù)學(xué)規(guī)劃模型的最優(yōu)解為最優(yōu)值為:
2
用LINGO求解運(yùn)輸問題:某產(chǎn)品有5個(gè)產(chǎn)地A1,A2,A3,A4,A5,它的產(chǎn)品供應(yīng)6個(gè)銷地B1,B2,B3,B4,B5,B6,產(chǎn)地的產(chǎn)量、銷地的銷
量及產(chǎn)品從各產(chǎn)地運(yùn)往各銷地的單位運(yùn)價(jià)如下表:產(chǎn)地銷地B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 購買瑕疵車合同范例
- 情侶贈(zèng)予物品合同范例
- 美發(fā)產(chǎn)品加盟合同范例
- 紙漿銷售合同范例
- 簡易棚加工合同范例
- 外包業(yè)務(wù)承攬合同范例
- 與監(jiān)理合同范例
- 園林公司合同范例
- 墓地除草合同范例
- 貨架加工合同范例
- 部編版七年級(jí)語文上冊(cè)(課本全冊(cè))課后習(xí)題參考答案
- 2022-2023學(xué)年成都市高二上英語期末考試題(含答案)
- 家庭教育指導(dǎo)師考試復(fù)習(xí)(重點(diǎn))題庫(150題)
- 大連理工2023物理化學(xué)期末(下) A
- 巧克畢業(yè)論文(南昌大學(xué))超星爾雅學(xué)習(xí)通網(wǎng)課章節(jié)測(cè)試答案
- 知識(shí)產(chǎn)權(quán)法(重慶工商大學(xué))智慧樹知到答案章節(jié)測(cè)試2023年
- 對(duì)外漢語初中級(jí)HSK4級(jí)語言點(diǎn)
- AutoCAD計(jì)算機(jī)繪圖全套教程
- 活動(dòng)會(huì)議就餐簽到表
- 設(shè)備類供應(yīng)商評(píng)估表
- 四柱型液壓機(jī)的液壓系統(tǒng)設(shè)計(jì)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論