




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
用Lingo軟件編程求解規(guī)劃問(wèn)題用Lingo軟件編程求解規(guī)劃問(wèn)題1什么是規(guī)劃問(wèn)題?求目標(biāo)函數(shù)在約束條件下的最大值或最小值的問(wèn)題,統(tǒng)稱為規(guī)劃問(wèn)題。決策變量、約束條件、目標(biāo)函數(shù)是線性規(guī)劃的三要素.主要解決最優(yōu)生產(chǎn)計(jì)劃、最優(yōu)分配、最優(yōu)設(shè)計(jì)、最優(yōu)決策、最佳管理等最優(yōu)化問(wèn)題。線性規(guī)劃非線性規(guī)劃實(shí)數(shù)規(guī)劃整數(shù)規(guī)劃0-1規(guī)劃什么是規(guī)劃問(wèn)題?求目標(biāo)函數(shù)在約束條件下的最大值或最小值的問(wèn)題2例1——加工奶制品的生產(chǎn)計(jì)劃獲利24元/公斤獲利16元/公斤1桶牛奶3公斤A1
12小時(shí)8小時(shí)4公斤A2
或50桶牛奶時(shí)間480小時(shí)至多加工100公斤A1
每天:一奶制品加工廠用牛奶生產(chǎn)A1,A2兩種奶制品,1桶牛奶可以在甲車間用12小時(shí)加工成3公斤A1,或者在乙車間用8小時(shí)加工成4公斤A2。根據(jù)市場(chǎng)需求,生產(chǎn)的A1,A2全部能售出,且每公斤A1獲利24元,每公斤A2獲利16元。現(xiàn)在加工廠每天能得到50桶牛奶的供應(yīng),每天正式工人總的勞動(dòng)時(shí)間480小時(shí),并且甲車間每天至多能加工100公斤A1,乙車間的加工能力沒(méi)有限制。試為該廠制訂一個(gè)生產(chǎn)計(jì)劃,使每天獲利最大例1——加工奶制品的生產(chǎn)計(jì)劃獲利24元/公斤獲利16元/公3例1——加工奶制品的生產(chǎn)計(jì)劃獲利24元/公斤獲利16元/公斤1桶牛奶3公斤A1
12小時(shí)8小時(shí)4公斤A2
或50桶牛奶時(shí)間480小時(shí)至多加工100公斤A1
每天:x1桶牛奶生產(chǎn)A1
x2桶牛奶生產(chǎn)A2
獲利24×3x1
獲利16×4x2
原料供應(yīng)
勞動(dòng)時(shí)間
加工能力
決策變量
目標(biāo)函數(shù)
每天獲利約束條件非負(fù)約束
線性規(guī)劃模型(LP)例1——加工奶制品的生產(chǎn)計(jì)劃獲利24元/公斤獲利16元/公4例1——加工奶制品的生產(chǎn)計(jì)劃求的最大值?改變z,即移動(dòng)直線z=72x1+64x2并使之與藍(lán)色區(qū)域有交叉,即可找到最大值。見(jiàn)動(dòng)畫例1——加工奶制品的生產(chǎn)計(jì)劃求5求的最大值?用Lingo軟件求解Lingo結(jié)果中其它項(xiàng)的意思!更多信息例1——加工奶制品的生產(chǎn)計(jì)劃求6例2——軍隊(duì)供給問(wèn)題corps
需求量3537223241324338擁有量
B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143軍隊(duì)有某種先進(jìn)武器302臺(tái)分別放在6個(gè)補(bǔ)給站(depot)中,現(xiàn)由于戰(zhàn)爭(zhēng)需要,8個(gè)軍團(tuán)(corps)分別需要此種武器數(shù)目如表中所示,并且給出了從各補(bǔ)給站送一臺(tái)武器到任一軍團(tuán)的費(fèi)用,問(wèn)如何運(yùn)輸可使成本最???capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例2——軍隊(duì)供給問(wèn)題corps需求量353722324137例2——軍隊(duì)供給問(wèn)題corps
需求量3537223241324338擁有量
B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例2——軍隊(duì)供給問(wèn)題corps需求量353722324138例2——軍隊(duì)供給問(wèn)題用Lingo軟件求解結(jié)果例2——軍隊(duì)供給問(wèn)題用Lingo軟件求解結(jié)果9Lingo軟件LINGOHelp:
LINGOisasimpletoolforutilizingthepoweroflinearandnonlinearoptimizationtoformulatelargeproblemsconcisely,solvethem,andanalyzethesolution.
Optimizationhelpsyoufindtheanswerthatyieldsthebestresult;attainsthehighestprofit,output,orhappiness;ortheonethatachievesthelowestcost,waste,ordiscomfort.
Oftentheseproblemsinvolvemakingthemostefficientuseofyourresources——includingmoney,time,machinery,staff,inventory,andmore.Lingo是一個(gè)可以簡(jiǎn)潔地闡述、解決和分析復(fù)雜問(wèn)題的簡(jiǎn)便工具。其特點(diǎn)是程序執(zhí)行速度很快,易于輸入、修改、求解和分析一個(gè)數(shù)學(xué)規(guī)劃問(wèn)題。Lingo軟件LINGOHelp:Lingo是一個(gè)可以簡(jiǎn)10Lingo軟件
集合段(SETSENDSETS)目標(biāo)與約束段數(shù)據(jù)段(DATAENDDATA)初始段(INITENDINIT)LINGO模型的構(gòu)成:4個(gè)段Lingo是一個(gè)可以簡(jiǎn)潔地闡述、解決和分析復(fù)雜問(wèn)題的簡(jiǎn)便工具。其特點(diǎn)是程序執(zhí)行速度很快,易于輸入、修改、求解和分析一個(gè)數(shù)學(xué)規(guī)劃問(wèn)題。Lingo軟件集合段(SETSENDSETS)L11Lingo軟件——集合
集是相聯(lián)系的對(duì)象的集合,比如工廠、消費(fèi)者群體、交通工具和雇工等等;集是LINGO建模語(yǔ)言的基礎(chǔ),是程序設(shè)計(jì)最強(qiáng)有力的基本構(gòu)件目標(biāo)與約束段;借助于集,能夠用一個(gè)單一的、長(zhǎng)的、簡(jiǎn)明的復(fù)合公式表示一系列相似的約束,從而可以快速方便地表達(dá)規(guī)模較大的模型;集有成員和屬性。Lingo軟件——集合12
集合派生集合基本集合稀疏集合稠密集合元素列表法元素過(guò)濾法直接列舉法隱式列舉法Lingo軟件——集合setname[/member_list/][:attribute_list];setname(parent_set_list)[/member_list/][:attribute_list];
13Lingo軟件——基本集合元素的列舉setname[/member_list/][:attribute_list];sets:students/JohnJill,RoseMike/:sex,age;endsets集成員不放在集定義中,而在隨后的數(shù)據(jù)部分來(lái)定義。sets:students:sex,age;endsetsdata:students,sex,age=John116Jill014 Rose017 Mike113;enddata一個(gè)原始集是由一些最基本的對(duì)象組成的。Lingo軟件——基本集合元素的列舉setname[/me14類型隱式列舉格式示例示例集合的元素?cái)?shù)字型1..n1..51,2,3,4,5字符-數(shù)字型stringM..stringNCar101..car208Car101,car102,…,car208星期型dayM..dayNMON..FRIMON,TUE,WED,THU,FRI月份型monthM..monthNOCT..JANOCT,NOV,DEC,JAN年份-月份型monthYearM..monthYearNOCT2001..JAN2002OCT2001,NOV2001,DEC2001,JAN2002Lingo軟件——基本集合元素的隱式列舉類型隱式列舉格式示例示例集合的元素?cái)?shù)字型1..n1..51,15Lingo軟件——派生集setname(parent_set_list)[/member_list/][:attribute_list];一個(gè)派生集是用一個(gè)或多個(gè)其它集來(lái)定義的,也就是說(shuō),它的成員來(lái)自于其它已存在的集。稠密集:派生集成員由父集成員所有組合構(gòu)成;當(dāng)成員列表被忽略時(shí)稀疏集:其成員為父集成員所有組合構(gòu)成的集合的一個(gè)子集。如上例顯式:links(depot,corps)/d1c2,d2c3,d3c6,d4c3,d5c1,d6c8/:cost,number;過(guò)濾:links(depot,corps)|capacity(&1)#ge#demand(&2):cost;Lingo軟件——派生集setname(parent_set16Lingo軟件——數(shù)據(jù)段與初始段數(shù)據(jù)段:輸入集成員和數(shù)據(jù),提供了模型相對(duì)靜止部分和數(shù)據(jù)分離的可能性。
object_list=value_list;
對(duì)象列=數(shù)值列;初始段:為決策變量設(shè)置初始值。在初始部分輸入的值僅被LINGO求解器當(dāng)作初始點(diǎn)來(lái)用,并且僅僅對(duì)非線性模型有用。和數(shù)據(jù)部分指定變量的值不同,LINGO求解器可以自由改變初始部分初始化的變量的值。以“init:”開始,以“endinit”結(jié)束。初始部分的初始聲明規(guī)則和數(shù)據(jù)部分的數(shù)據(jù)聲明規(guī)則相同。Lingo軟件——數(shù)據(jù)段與初始段數(shù)據(jù)段:輸入集成員和數(shù)據(jù),提17Lingo軟件——目標(biāo)與約束段四個(gè)集合循環(huán)函數(shù):FOR、SUM、MAX、MIN@function(setname[(set_index_list)[|condition]]:expression_list);例子:Lingo軟件——目標(biāo)與約束段四個(gè)集合循環(huán)函數(shù):FOR、SU18Lingo軟件——目標(biāo)與約束段四個(gè)集合循環(huán)函數(shù):FOR、SUM、MAX、MIN@function(setname[(set_index_list)[|condition]]:expression_list);[objective]MAX=@SUM(PAIRS(I,J):BENEFIT(I,J)*MATCH(I,J));@FOR(STUDENTS(I):[constraints]@SUM(PAIRS(J,K)|J#EQ#I#OR#K#EQ#I:MATCH(J,K))=1);@FOR(PAIRS(I,J):@BIN(MATCH(I,J)));MAXB=@MAX(PAIRS(I,J):BENEFIT(I,J));MINB=@MIN(PAIRS(I,J):BENEFIT(I,J));例子:Lingo軟件——目標(biāo)與約束段四個(gè)集合循環(huán)函數(shù):FOR、SU19優(yōu)先級(jí)運(yùn)算符最高#NOT#—(負(fù)號(hào))^*/+—(減法)#EQ##NE##GT##GE##LT##LE##AND##OR#最低<(=)=>(=)三類運(yùn)算符:算術(shù)運(yùn)算符邏輯運(yùn)算符關(guān)系運(yùn)算符Lingo軟件——運(yùn)算符與優(yōu)先級(jí)主要用于集循環(huán)函數(shù)的條件表達(dá)式中形成模型的一個(gè)約束條件,指定一個(gè)表達(dá)式的左邊是否等于、小于等于、或者大于等于右邊。針對(duì)數(shù)值進(jìn)行操作優(yōu)先級(jí)運(yùn)算符最高#NOT#—(負(fù)號(hào))^*/+20Lingo軟件——函數(shù)@abs(x)返回x的絕對(duì)值@sin(x)返回x的正弦值,x采用弧度制@cos(x)返回x的余弦值@tan(x)返回x的正切值@exp(x)返回常數(shù)e的x次方@log(x)返回x的自然對(duì)數(shù)@lgm(x)返回x的gamma函數(shù)的自然對(duì)數(shù)@sign(x)如果x<0返回-1;否則,返回1@floor(x)返回x的整數(shù)部分。當(dāng)x>=0時(shí),返回不超過(guò)x的最大整數(shù);當(dāng)x<0時(shí),返回不低于x的最大整數(shù)。@smax(x1,x2,…,xn)返回x1,x2,…,xn中的最大值@smin(x1,x2,…,xn)返回x1,x2,…,xn中的最小值數(shù)學(xué)函數(shù)Lingo軟件——函數(shù)@abs(x)返回x的絕對(duì)值@si21Lingo軟件——函數(shù)變量定界函數(shù)@bin(x)限制x為0或1@bnd(L,x,U)限制L≤x≤U@free(x)取消對(duì)變量x的默認(rèn)下界為0的限制,即x可以取任意實(shí)數(shù)@gin(x)限制x為整數(shù)Lingo軟件——函數(shù)變量定界函數(shù)@bin(x)限制x為22例3——Lingo與Excel的連接corps
需求量3537223241324338擁有量
B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例3——Lingo與Excel的連接corps需求量35323@ole函數(shù)是從EXCEL中引入或輸出數(shù)據(jù)的接口函數(shù),它是基于傳輸?shù)腛LE技術(shù)。OLE傳輸直接在內(nèi)存中傳輸數(shù)據(jù),并不借助于中間文件。例3——Lingo與Excel的連接@OLE可以同時(shí)讀集成員和集屬性(讀寫)@OLE只能讀一維或二維的Ranges絕對(duì)路徑@ole(‘data.xls’);相對(duì)路徑@ole(‘D:\data.xls’);@ole函數(shù)例3——Lingo與Excel的連接@OLE可24某礦廠現(xiàn)有6個(gè)采礦能力不同的礦廠和3個(gè)精加工能力不同的加工廠,其坐標(biāo)及生產(chǎn)能力如表所示?,F(xiàn)需新建一所粗加工廠,要求運(yùn)輸成本最低,試求出其位置。例4——工廠選址問(wèn)題礦廠123456xa1.258.750.55.7537.25xb1.250.754.7556.57.75output3547611精加工廠123xc3.156.59.25xd0.259.57.35capacity141210非線性規(guī)劃模型某礦廠現(xiàn)有6個(gè)采礦能力不同的礦廠和3個(gè)精加工能力不同的加工廠25
某班準(zhǔn)備從5名游泳隊(duì)員中選擇4人組成接力隊(duì),參加學(xué)校的4*100m混合泳接力比賽。5名隊(duì)員4中用字的百米平均成績(jī)?nèi)缦卤硭?,?wèn)應(yīng)如何讓選拔隊(duì)員組成接力隊(duì)?例5——0-1規(guī)劃問(wèn)題甲乙丙丁戊蝶泳1`0657``21`181`101`07
仰泳1`151`061`071`141`11
蛙泳1`271`061`241`091`23
自由泳58``653``59``457``21`02我們可以:用窮舉法:一種組合一種組合的試!數(shù)據(jù)量大,需要時(shí)間長(zhǎng)!用Lingo中的0-1規(guī)劃求解!某班準(zhǔn)備從5名游泳隊(duì)員中選擇4人組成接力隊(duì),26例5——0-1規(guī)劃問(wèn)題甲乙丙丁戊蝶泳1`0657``21`181`101`07仰泳1`151`061`071`141`11蛙泳1`271`061`241`091`23自由泳58``653``59``457``21`02五個(gè)人的成績(jī):甲乙丙丁戊分別為隊(duì)員i=1,2,3,4,5;記:蝶泳、仰泳、蛙泳、自由泳分別為泳姿j=1,2,3,4;記隊(duì)員i的第j種泳姿的百米最好成績(jī)?yōu)镃ij,并將成績(jī)以秒為單位列出為:例5——0-1規(guī)劃問(wèn)題甲乙27例5——0-1規(guī)劃問(wèn)題五個(gè)人的成績(jī):CijI=1I=2I=3I=4I=5J=16657.03787067J=27566677471J=38766846983J=458.15359.0757.0362引入0-1變量Xij,表示隊(duì)員i是否參加了第j種泳姿的比賽,即目標(biāo):使其最小那么,混合泳接力比賽的成績(jī)就可以表示為:例5——0-1規(guī)劃問(wèn)題五個(gè)人的成績(jī):CijI=128Xij只能為0或1每一個(gè)人最多只能入選四種泳姿之一:每種泳姿必須有一人而且只能有1人入選:例5——0-1規(guī)劃問(wèn)題五個(gè)人的成績(jī):CijI=1I=2I=3I=4I=5J=16657.03787067J=27566677471J=38766846983J=458.15359.0757.0362變量Xij滿足的約束條件為:Xij只能為0或1例5——0-1規(guī)劃問(wèn)題五個(gè)人的成績(jī):Cij29例5——0-1規(guī)劃問(wèn)題最終問(wèn)題:?jiǎn)栴}求解:Lingo8.0軟件求解,調(diào)用excel表中的數(shù)據(jù)。例5——0-1規(guī)劃問(wèn)題最終問(wèn)題:?jiǎn)栴}求解:Lingo8.0軟30Summary規(guī)劃問(wèn)題Lingo軟件的集合、函數(shù)、語(yǔ)法幾個(gè)例子加工奶制品的生產(chǎn)計(jì)劃(線性規(guī)劃)運(yùn)輸問(wèn)題(整數(shù)規(guī)劃)工廠選址問(wèn)題(非線性規(guī)劃)游泳比賽問(wèn)題(0-1規(guī)劃)Summary規(guī)劃問(wèn)題加工奶制品的生產(chǎn)計(jì)劃(線性規(guī)劃)31Thankyouforyourattention!AnyQuestions?Thankyouforyourattention!A32用Lingo軟件編程求解規(guī)劃問(wèn)題解決方案33用Lingo軟件編程求解規(guī)劃問(wèn)題解決方案34用Lingo軟件編程求解規(guī)劃問(wèn)題解決方案35用Lingo軟件編程求解規(guī)劃問(wèn)題解決方案36用Lingo軟件編程求解規(guī)劃問(wèn)題用Lingo軟件編程求解規(guī)劃問(wèn)題37什么是規(guī)劃問(wèn)題?求目標(biāo)函數(shù)在約束條件下的最大值或最小值的問(wèn)題,統(tǒng)稱為規(guī)劃問(wèn)題。決策變量、約束條件、目標(biāo)函數(shù)是線性規(guī)劃的三要素.主要解決最優(yōu)生產(chǎn)計(jì)劃、最優(yōu)分配、最優(yōu)設(shè)計(jì)、最優(yōu)決策、最佳管理等最優(yōu)化問(wèn)題。線性規(guī)劃非線性規(guī)劃實(shí)數(shù)規(guī)劃整數(shù)規(guī)劃0-1規(guī)劃什么是規(guī)劃問(wèn)題?求目標(biāo)函數(shù)在約束條件下的最大值或最小值的問(wèn)題38例1——加工奶制品的生產(chǎn)計(jì)劃獲利24元/公斤獲利16元/公斤1桶牛奶3公斤A1
12小時(shí)8小時(shí)4公斤A2
或50桶牛奶時(shí)間480小時(shí)至多加工100公斤A1
每天:一奶制品加工廠用牛奶生產(chǎn)A1,A2兩種奶制品,1桶牛奶可以在甲車間用12小時(shí)加工成3公斤A1,或者在乙車間用8小時(shí)加工成4公斤A2。根據(jù)市場(chǎng)需求,生產(chǎn)的A1,A2全部能售出,且每公斤A1獲利24元,每公斤A2獲利16元?,F(xiàn)在加工廠每天能得到50桶牛奶的供應(yīng),每天正式工人總的勞動(dòng)時(shí)間480小時(shí),并且甲車間每天至多能加工100公斤A1,乙車間的加工能力沒(méi)有限制。試為該廠制訂一個(gè)生產(chǎn)計(jì)劃,使每天獲利最大例1——加工奶制品的生產(chǎn)計(jì)劃獲利24元/公斤獲利16元/公39例1——加工奶制品的生產(chǎn)計(jì)劃獲利24元/公斤獲利16元/公斤1桶牛奶3公斤A1
12小時(shí)8小時(shí)4公斤A2
或50桶牛奶時(shí)間480小時(shí)至多加工100公斤A1
每天:x1桶牛奶生產(chǎn)A1
x2桶牛奶生產(chǎn)A2
獲利24×3x1
獲利16×4x2
原料供應(yīng)
勞動(dòng)時(shí)間
加工能力
決策變量
目標(biāo)函數(shù)
每天獲利約束條件非負(fù)約束
線性規(guī)劃模型(LP)例1——加工奶制品的生產(chǎn)計(jì)劃獲利24元/公斤獲利16元/公40例1——加工奶制品的生產(chǎn)計(jì)劃求的最大值?改變z,即移動(dòng)直線z=72x1+64x2并使之與藍(lán)色區(qū)域有交叉,即可找到最大值。見(jiàn)動(dòng)畫例1——加工奶制品的生產(chǎn)計(jì)劃求41求的最大值?用Lingo軟件求解Lingo結(jié)果中其它項(xiàng)的意思!更多信息例1——加工奶制品的生產(chǎn)計(jì)劃求42例2——軍隊(duì)供給問(wèn)題corps
需求量3537223241324338擁有量
B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143軍隊(duì)有某種先進(jìn)武器302臺(tái)分別放在6個(gè)補(bǔ)給站(depot)中,現(xiàn)由于戰(zhàn)爭(zhēng)需要,8個(gè)軍團(tuán)(corps)分別需要此種武器數(shù)目如表中所示,并且給出了從各補(bǔ)給站送一臺(tái)武器到任一軍團(tuán)的費(fèi)用,問(wèn)如何運(yùn)輸可使成本最???capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例2——軍隊(duì)供給問(wèn)題corps需求量3537223241343例2——軍隊(duì)供給問(wèn)題corps
需求量3537223241324338擁有量
B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例2——軍隊(duì)供給問(wèn)題corps需求量3537223241344例2——軍隊(duì)供給問(wèn)題用Lingo軟件求解結(jié)果例2——軍隊(duì)供給問(wèn)題用Lingo軟件求解結(jié)果45Lingo軟件LINGOHelp:
LINGOisasimpletoolforutilizingthepoweroflinearandnonlinearoptimizationtoformulatelargeproblemsconcisely,solvethem,andanalyzethesolution.
Optimizationhelpsyoufindtheanswerthatyieldsthebestresult;attainsthehighestprofit,output,orhappiness;ortheonethatachievesthelowestcost,waste,ordiscomfort.
Oftentheseproblemsinvolvemakingthemostefficientuseofyourresources——includingmoney,time,machinery,staff,inventory,andmore.Lingo是一個(gè)可以簡(jiǎn)潔地闡述、解決和分析復(fù)雜問(wèn)題的簡(jiǎn)便工具。其特點(diǎn)是程序執(zhí)行速度很快,易于輸入、修改、求解和分析一個(gè)數(shù)學(xué)規(guī)劃問(wèn)題。Lingo軟件LINGOHelp:Lingo是一個(gè)可以簡(jiǎn)46Lingo軟件
集合段(SETSENDSETS)目標(biāo)與約束段數(shù)據(jù)段(DATAENDDATA)初始段(INITENDINIT)LINGO模型的構(gòu)成:4個(gè)段Lingo是一個(gè)可以簡(jiǎn)潔地闡述、解決和分析復(fù)雜問(wèn)題的簡(jiǎn)便工具。其特點(diǎn)是程序執(zhí)行速度很快,易于輸入、修改、求解和分析一個(gè)數(shù)學(xué)規(guī)劃問(wèn)題。Lingo軟件集合段(SETSENDSETS)L47Lingo軟件——集合
集是相聯(lián)系的對(duì)象的集合,比如工廠、消費(fèi)者群體、交通工具和雇工等等;集是LINGO建模語(yǔ)言的基礎(chǔ),是程序設(shè)計(jì)最強(qiáng)有力的基本構(gòu)件目標(biāo)與約束段;借助于集,能夠用一個(gè)單一的、長(zhǎng)的、簡(jiǎn)明的復(fù)合公式表示一系列相似的約束,從而可以快速方便地表達(dá)規(guī)模較大的模型;集有成員和屬性。Lingo軟件——集合48
集合派生集合基本集合稀疏集合稠密集合元素列表法元素過(guò)濾法直接列舉法隱式列舉法Lingo軟件——集合setname[/member_list/][:attribute_list];setname(parent_set_list)[/member_list/][:attribute_list];
49Lingo軟件——基本集合元素的列舉setname[/member_list/][:attribute_list];sets:students/JohnJill,RoseMike/:sex,age;endsets集成員不放在集定義中,而在隨后的數(shù)據(jù)部分來(lái)定義。sets:students:sex,age;endsetsdata:students,sex,age=John116Jill014 Rose017 Mike113;enddata一個(gè)原始集是由一些最基本的對(duì)象組成的。Lingo軟件——基本集合元素的列舉setname[/me50類型隱式列舉格式示例示例集合的元素?cái)?shù)字型1..n1..51,2,3,4,5字符-數(shù)字型stringM..stringNCar101..car208Car101,car102,…,car208星期型dayM..dayNMON..FRIMON,TUE,WED,THU,FRI月份型monthM..monthNOCT..JANOCT,NOV,DEC,JAN年份-月份型monthYearM..monthYearNOCT2001..JAN2002OCT2001,NOV2001,DEC2001,JAN2002Lingo軟件——基本集合元素的隱式列舉類型隱式列舉格式示例示例集合的元素?cái)?shù)字型1..n1..51,51Lingo軟件——派生集setname(parent_set_list)[/member_list/][:attribute_list];一個(gè)派生集是用一個(gè)或多個(gè)其它集來(lái)定義的,也就是說(shuō),它的成員來(lái)自于其它已存在的集。稠密集:派生集成員由父集成員所有組合構(gòu)成;當(dāng)成員列表被忽略時(shí)稀疏集:其成員為父集成員所有組合構(gòu)成的集合的一個(gè)子集。如上例顯式:links(depot,corps)/d1c2,d2c3,d3c6,d4c3,d5c1,d6c8/:cost,number;過(guò)濾:links(depot,corps)|capacity(&1)#ge#demand(&2):cost;Lingo軟件——派生集setname(parent_set52Lingo軟件——數(shù)據(jù)段與初始段數(shù)據(jù)段:輸入集成員和數(shù)據(jù),提供了模型相對(duì)靜止部分和數(shù)據(jù)分離的可能性。
object_list=value_list;
對(duì)象列=數(shù)值列;初始段:為決策變量設(shè)置初始值。在初始部分輸入的值僅被LINGO求解器當(dāng)作初始點(diǎn)來(lái)用,并且僅僅對(duì)非線性模型有用。和數(shù)據(jù)部分指定變量的值不同,LINGO求解器可以自由改變初始部分初始化的變量的值。以“init:”開始,以“endinit”結(jié)束。初始部分的初始聲明規(guī)則和數(shù)據(jù)部分的數(shù)據(jù)聲明規(guī)則相同。Lingo軟件——數(shù)據(jù)段與初始段數(shù)據(jù)段:輸入集成員和數(shù)據(jù),提53Lingo軟件——目標(biāo)與約束段四個(gè)集合循環(huán)函數(shù):FOR、SUM、MAX、MIN@function(setname[(set_index_list)[|condition]]:expression_list);例子:Lingo軟件——目標(biāo)與約束段四個(gè)集合循環(huán)函數(shù):FOR、SU54Lingo軟件——目標(biāo)與約束段四個(gè)集合循環(huán)函數(shù):FOR、SUM、MAX、MIN@function(setname[(set_index_list)[|condition]]:expression_list);[objective]MAX=@SUM(PAIRS(I,J):BENEFIT(I,J)*MATCH(I,J));@FOR(STUDENTS(I):[constraints]@SUM(PAIRS(J,K)|J#EQ#I#OR#K#EQ#I:MATCH(J,K))=1);@FOR(PAIRS(I,J):@BIN(MATCH(I,J)));MAXB=@MAX(PAIRS(I,J):BENEFIT(I,J));MINB=@MIN(PAIRS(I,J):BENEFIT(I,J));例子:Lingo軟件——目標(biāo)與約束段四個(gè)集合循環(huán)函數(shù):FOR、SU55優(yōu)先級(jí)運(yùn)算符最高#NOT#—(負(fù)號(hào))^*/+—(減法)#EQ##NE##GT##GE##LT##LE##AND##OR#最低<(=)=>(=)三類運(yùn)算符:算術(shù)運(yùn)算符邏輯運(yùn)算符關(guān)系運(yùn)算符Lingo軟件——運(yùn)算符與優(yōu)先級(jí)主要用于集循環(huán)函數(shù)的條件表達(dá)式中形成模型的一個(gè)約束條件,指定一個(gè)表達(dá)式的左邊是否等于、小于等于、或者大于等于右邊。針對(duì)數(shù)值進(jìn)行操作優(yōu)先級(jí)運(yùn)算符最高#NOT#—(負(fù)號(hào))^*/+56Lingo軟件——函數(shù)@abs(x)返回x的絕對(duì)值@sin(x)返回x的正弦值,x采用弧度制@cos(x)返回x的余弦值@tan(x)返回x的正切值@exp(x)返回常數(shù)e的x次方@log(x)返回x的自然對(duì)數(shù)@lgm(x)返回x的gamma函數(shù)的自然對(duì)數(shù)@sign(x)如果x<0返回-1;否則,返回1@floor(x)返回x的整數(shù)部分。當(dāng)x>=0時(shí),返回不超過(guò)x的最大整數(shù);當(dāng)x<0時(shí),返回不低于x的最大整數(shù)。@smax(x1,x2,…,xn)返回x1,x2,…,xn中的最大值@smin(x1,x2,…,xn)返回x1,x2,…,xn中的最小值數(shù)學(xué)函數(shù)Lingo軟件——函數(shù)@abs(x)返回x的絕對(duì)值@si57Lingo軟件——函數(shù)變量定界函數(shù)@bin(x)限制x為0或1@bnd(L,x,U)限制L≤x≤U@free(x)取消對(duì)變量x的默認(rèn)下界為0的限制,即x可以取任意實(shí)數(shù)@gin(x)限制x為整數(shù)Lingo軟件——函數(shù)變量定界函數(shù)@bin(x)限制x為58例3——Lingo與Excel的連接corps
需求量3537223241324338擁有量
B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例3——Lingo與Excel的連接corps需求量35359@ole函數(shù)是從EXCEL中引入或輸出數(shù)據(jù)的接口函數(shù),它是基于傳輸?shù)腛LE技術(shù)。OLE傳輸直接在內(nèi)存中傳輸數(shù)據(jù),并不借助于中間文件。例3——Lingo與Excel的連接@OLE可以同時(shí)讀集成員和集屬性(讀寫)@OLE只能讀一維或二維的Ranges絕對(duì)路徑@ole(‘data.xls’);相對(duì)路徑@ole(‘D:\data.xls’);@ole函數(shù)例3——Lingo與Excel的連接@OLE可60某礦廠現(xiàn)有6個(gè)采礦能力不同的礦廠和3個(gè)精加工能力不同的加工廠,其坐標(biāo)及生產(chǎn)能力如表所示?,F(xiàn)需新建一所粗加工廠,要求運(yùn)輸成本最低,試求出其位置。例4——工廠選址問(wèn)題礦廠123456xa1.258.750.55.7537.25xb1.250.754.7556.57.75output3547611精加工廠123xc3.156.59.25xd0.259.57.35capacity141210非線性規(guī)劃模型某礦廠現(xiàn)有6個(gè)采礦能力不同的礦廠和3個(gè)精加工能力不同的加工廠61
某班準(zhǔn)備從5名游泳隊(duì)員中選擇4人組成接力隊(duì),參加學(xué)校的4*100m混合泳接力比賽。5名隊(duì)員4中用字的百米平均成績(jī)?nèi)缦卤硭荆瑔?wèn)應(yīng)如何讓選拔隊(duì)員組成接力隊(duì)?例5——0-1規(guī)劃問(wèn)題甲乙丙丁戊蝶泳1`06
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度直播平臺(tái)虛擬禮物開發(fā)與交易服務(wù)合同范本
- 2025年度源代碼保密協(xié)議書-新能源技術(shù)研發(fā)合作專用版
- 2025年度證券投資財(cái)務(wù)規(guī)劃與咨詢協(xié)議
- 2025年度房產(chǎn)維修基金管理服務(wù)合同-@-1
- 2025年度廢棄塑料回收利用技術(shù)研發(fā)協(xié)議
- 預(yù)見(jiàn)行業(yè)變化的應(yīng)對(duì)計(jì)劃
- 開展生物學(xué)科研討會(huì)的計(jì)劃
- 教學(xué)日常檢查與評(píng)估機(jī)制計(jì)劃
- 患者膳食管理經(jīng)驗(yàn)與總結(jié)計(jì)劃
- 協(xié)助學(xué)生進(jìn)行自我評(píng)估的計(jì)劃
- 七年級(jí)數(shù)學(xué)新北師大版(2024)下冊(cè)第一章《整式的乘除》單元檢測(cè)習(xí)題(含簡(jiǎn)單答案)
- 2024年財(cái)政部會(huì)計(jì)法律法規(guī)答題活動(dòng)題目及答案一
- 中小學(xué)教師家訪記錄表內(nèi)容(18張)8
- 定向鉆出入土點(diǎn)平面布置圖(可編輯)
- JJF-1356-2012重點(diǎn)用能單位能源計(jì)量審查規(guī)范釋文
- Unit 1 Lesson 1語(yǔ)法-過(guò)去完成時(shí)態(tài)-高中英語(yǔ)北師大版必修第一冊(cè)
- 小學(xué)語(yǔ)文人教四年級(jí)上冊(cè)(統(tǒng)編2023年更新)第四單元-教學(xué)設(shè)計(jì)《神話中的“偷竊者”》
- 班組培訓(xùn)教材
- 變應(yīng)性真菌性鼻竇炎的影像表現(xiàn)
- 鋼棧橋設(shè)計(jì)計(jì)算書
- 貿(mào)易術(shù)語(yǔ)案例討論題匯總
評(píng)論
0/150
提交評(píng)論