用Lingo軟件編程求解規(guī)劃問題解決方案_第1頁
用Lingo軟件編程求解規(guī)劃問題解決方案_第2頁
用Lingo軟件編程求解規(guī)劃問題解決方案_第3頁
用Lingo軟件編程求解規(guī)劃問題解決方案_第4頁
用Lingo軟件編程求解規(guī)劃問題解決方案_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

用Lingo軟件編程求解規(guī)劃問題用Lingo軟件編程求解規(guī)劃問題1什么是規(guī)劃問題?求目標(biāo)函數(shù)在約束條件下的最大值或最小值的問題,統(tǒng)稱為規(guī)劃問題。決策變量、約束條件、目標(biāo)函數(shù)是線性規(guī)劃的三要素.主要解決最優(yōu)生產(chǎn)計劃、最優(yōu)分配、最優(yōu)設(shè)計、最優(yōu)決策、最佳管理等最優(yōu)化問題。線性規(guī)劃非線性規(guī)劃實數(shù)規(guī)劃整數(shù)規(guī)劃0-1規(guī)劃什么是規(guī)劃問題?求目標(biāo)函數(shù)在約束條件下的最大值或最小值的問題2例1——加工奶制品的生產(chǎn)計劃獲利24元/公斤獲利16元/公斤1桶牛奶3公斤A1

12小時8小時4公斤A2

或50桶牛奶時間480小時至多加工100公斤A1

每天:一奶制品加工廠用牛奶生產(chǎn)A1,A2兩種奶制品,1桶牛奶可以在甲車間用12小時加工成3公斤A1,或者在乙車間用8小時加工成4公斤A2。根據(jù)市場需求,生產(chǎn)的A1,A2全部能售出,且每公斤A1獲利24元,每公斤A2獲利16元。現(xiàn)在加工廠每天能得到50桶牛奶的供應(yīng),每天正式工人總的勞動時間480小時,并且甲車間每天至多能加工100公斤A1,乙車間的加工能力沒有限制。試為該廠制訂一個生產(chǎn)計劃,使每天獲利最大例1——加工奶制品的生產(chǎn)計劃獲利24元/公斤獲利16元/公3例1——加工奶制品的生產(chǎn)計劃獲利24元/公斤獲利16元/公斤1桶牛奶3公斤A1

12小時8小時4公斤A2

或50桶牛奶時間480小時至多加工100公斤A1

每天:x1桶牛奶生產(chǎn)A1

x2桶牛奶生產(chǎn)A2

獲利24×3x1

獲利16×4x2

原料供應(yīng)

勞動時間

加工能力

決策變量

目標(biāo)函數(shù)

每天獲利約束條件非負(fù)約束

線性規(guī)劃模型(LP)例1——加工奶制品的生產(chǎn)計劃獲利24元/公斤獲利16元/公4例1——加工奶制品的生產(chǎn)計劃求的最大值?改變z,即移動直線z=72x1+64x2并使之與藍(lán)色區(qū)域有交叉,即可找到最大值。見動畫例1——加工奶制品的生產(chǎn)計劃求5求的最大值?用Lingo軟件求解Lingo結(jié)果中其它項的意思!更多信息例1——加工奶制品的生產(chǎn)計劃求6例2——軍隊供給問題corps

需求量3537223241324338擁有量

B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143軍隊有某種先進(jìn)武器302臺分別放在6個補(bǔ)給站(depot)中,現(xiàn)由于戰(zhàn)爭需要,8個軍團(tuán)(corps)分別需要此種武器數(shù)目如表中所示,并且給出了從各補(bǔ)給站送一臺武器到任一軍團(tuán)的費用,問如何運輸可使成本最???capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例2——軍隊供給問題corps需求量353722324137例2——軍隊供給問題corps

需求量3537223241324338擁有量

B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例2——軍隊供給問題corps需求量353722324138例2——軍隊供給問題用Lingo軟件求解結(jié)果例2——軍隊供給問題用Lingo軟件求解結(jié)果9Lingo軟件LINGOHelp:

LINGOisasimpletoolforutilizingthepoweroflinearandnonlinearoptimizationtoformulatelargeproblemsconcisely,solvethem,andanalyzethesolution.

Optimizationhelpsyoufindtheanswerthatyieldsthebestresult;attainsthehighestprofit,output,orhappiness;ortheonethatachievesthelowestcost,waste,ordiscomfort.

Oftentheseproblemsinvolvemakingthemostefficientuseofyourresources——includingmoney,time,machinery,staff,inventory,andmore.Lingo是一個可以簡潔地闡述、解決和分析復(fù)雜問題的簡便工具。其特點是程序執(zhí)行速度很快,易于輸入、修改、求解和分析一個數(shù)學(xué)規(guī)劃問題。Lingo軟件LINGOHelp:Lingo是一個可以簡10Lingo軟件

集合段(SETSENDSETS)目標(biāo)與約束段數(shù)據(jù)段(DATAENDDATA)初始段(INITENDINIT)LINGO模型的構(gòu)成:4個段Lingo是一個可以簡潔地闡述、解決和分析復(fù)雜問題的簡便工具。其特點是程序執(zhí)行速度很快,易于輸入、修改、求解和分析一個數(shù)學(xué)規(guī)劃問題。Lingo軟件集合段(SETSENDSETS)L11Lingo軟件——集合

集是相聯(lián)系的對象的集合,比如工廠、消費者群體、交通工具和雇工等等;集是LINGO建模語言的基礎(chǔ),是程序設(shè)計最強(qiáng)有力的基本構(gòu)件目標(biāo)與約束段;借助于集,能夠用一個單一的、長的、簡明的復(fù)合公式表示一系列相似的約束,從而可以快速方便地表達(dá)規(guī)模較大的模型;集有成員和屬性。Lingo軟件——集合12

集合派生集合基本集合稀疏集合稠密集合元素列表法元素過濾法直接列舉法隱式列舉法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ù)部分來定義。sets:students:sex,age;endsetsdata:students,sex,age=John116Jill014 Rose017 Mike113;enddata一個原始集是由一些最基本的對象組成的。Lingo軟件——基本集合元素的列舉setname[/me14類型隱式列舉格式示例示例集合的元素數(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軟件——基本集合元素的隱式列舉類型隱式列舉格式示例示例集合的元素數(shù)字型1..n1..51,15Lingo軟件——派生集setname(parent_set_list)[/member_list/][:attribute_list];一個派生集是用一個或多個其它集來定義的,也就是說,它的成員來自于其它已存在的集。稠密集:派生集成員由父集成員所有組合構(gòu)成;當(dāng)成員列表被忽略時稀疏集:其成員為父集成員所有組合構(gòu)成的集合的一個子集。如上例顯式:links(depot,corps)/d1c2,d2c3,d3c6,d4c3,d5c1,d6c8/:cost,number;過濾:links(depot,corps)|capacity(&1)#ge#demand(&2):cost;Lingo軟件——派生集setname(parent_set16Lingo軟件——數(shù)據(jù)段與初始段數(shù)據(jù)段:輸入集成員和數(shù)據(jù),提供了模型相對靜止部分和數(shù)據(jù)分離的可能性。

object_list=value_list;

對象列=數(shù)值列;初始段:為決策變量設(shè)置初始值。在初始部分輸入的值僅被LINGO求解器當(dāng)作初始點來用,并且僅僅對非線性模型有用。和數(shù)據(jù)部分指定變量的值不同,LINGO求解器可以自由改變初始部分初始化的變量的值。以“init:”開始,以“endinit”結(jié)束。初始部分的初始聲明規(guī)則和數(shù)據(jù)部分的數(shù)據(jù)聲明規(guī)則相同。Lingo軟件——數(shù)據(jù)段與初始段數(shù)據(jù)段:輸入集成員和數(shù)據(jù),提17Lingo軟件——目標(biāo)與約束段四個集合循環(huán)函數(shù):FOR、SUM、MAX、MIN@function(setname[(set_index_list)[|condition]]:expression_list);例子:Lingo軟件——目標(biāo)與約束段四個集合循環(huán)函數(shù):FOR、SU18Lingo軟件——目標(biāo)與約束段四個集合循環(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)與約束段四個集合循環(huán)函數(shù):FOR、SU19優(yōu)先級運算符最高#NOT#—(負(fù)號)^*/+—(減法)#EQ##NE##GT##GE##LT##LE##AND##OR#最低<(=)=>(=)三類運算符:算術(shù)運算符邏輯運算符關(guān)系運算符Lingo軟件——運算符與優(yōu)先級主要用于集循環(huán)函數(shù)的條件表達(dá)式中形成模型的一個約束條件,指定一個表達(dá)式的左邊是否等于、小于等于、或者大于等于右邊。針對數(shù)值進(jìn)行操作優(yōu)先級運算符最高#NOT#—(負(fù)號)^*/+20Lingo軟件——函數(shù)@abs(x)返回x的絕對值@sin(x)返回x的正弦值,x采用弧度制@cos(x)返回x的余弦值@tan(x)返回x的正切值@exp(x)返回常數(shù)e的x次方@log(x)返回x的自然對數(shù)@lgm(x)返回x的gamma函數(shù)的自然對數(shù)@sign(x)如果x<0返回-1;否則,返回1@floor(x)返回x的整數(shù)部分。當(dāng)x>=0時,返回不超過x的最大整數(shù);當(dāng)x<0時,返回不低于x的最大整數(shù)。@smax(x1,x2,…,xn)返回x1,x2,…,xn中的最大值@smin(x1,x2,…,xn)返回x1,x2,…,xn中的最小值數(shù)學(xué)函數(shù)Lingo軟件——函數(shù)@abs(x)返回x的絕對值@si21Lingo軟件——函數(shù)變量定界函數(shù)@bin(x)限制x為0或1@bnd(L,x,U)限制L≤x≤U@free(x)取消對變量x的默認(rèn)下界為0的限制,即x可以取任意實數(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可以同時讀集成員和集屬性(讀寫)@OLE只能讀一維或二維的Ranges絕對路徑@ole(‘data.xls’);相對路徑@ole(‘D:\data.xls’);@ole函數(shù)例3——Lingo與Excel的連接@OLE可24某礦廠現(xiàn)有6個采礦能力不同的礦廠和3個精加工能力不同的加工廠,其坐標(biāo)及生產(chǎn)能力如表所示。現(xiàn)需新建一所粗加工廠,要求運輸成本最低,試求出其位置。例4——工廠選址問題礦廠123456xa1.258.750.55.7537.25xb1.250.754.7556.57.75output3547611精加工廠123xc3.156.59.25xd0.259.57.35capacity141210非線性規(guī)劃模型某礦廠現(xiàn)有6個采礦能力不同的礦廠和3個精加工能力不同的加工廠25

某班準(zhǔn)備從5名游泳隊員中選擇4人組成接力隊,參加學(xué)校的4*100m混合泳接力比賽。5名隊員4中用字的百米平均成績?nèi)缦卤硭?,問?yīng)如何讓選拔隊員組成接力隊?例5——0-1規(guī)劃問題甲乙丙丁戊蝶泳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ù)量大,需要時間長!用Lingo中的0-1規(guī)劃求解!某班準(zhǔn)備從5名游泳隊員中選擇4人組成接力隊,26例5——0-1規(guī)劃問題甲乙丙丁戊蝶泳1`0657``21`181`101`07仰泳1`151`061`071`141`11蛙泳1`271`061`241`091`23自由泳58``653``59``457``21`02五個人的成績:甲乙丙丁戊分別為隊員i=1,2,3,4,5;記:蝶泳、仰泳、蛙泳、自由泳分別為泳姿j=1,2,3,4;記隊員i的第j種泳姿的百米最好成績?yōu)镃ij,并將成績以秒為單位列出為:例5——0-1規(guī)劃問題甲乙27例5——0-1規(guī)劃問題五個人的成績:CijI=1I=2I=3I=4I=5J=16657.03787067J=27566677471J=38766846983J=458.15359.0757.0362引入0-1變量Xij,表示隊員i是否參加了第j種泳姿的比賽,即目標(biāo):使其最小那么,混合泳接力比賽的成績就可以表示為:例5——0-1規(guī)劃問題五個人的成績:CijI=128Xij只能為0或1每一個人最多只能入選四種泳姿之一:每種泳姿必須有一人而且只能有1人入選:例5——0-1規(guī)劃問題五個人的成績:CijI=1I=2I=3I=4I=5J=16657.03787067J=27566677471J=38766846983J=458.15359.0757.0362變量Xij滿足的約束條件為:Xij只能為0或1例5——0-1規(guī)劃問題五個人的成績:Cij29例5——0-1規(guī)劃問題最終問題:問題求解:Lingo8.0軟件求解,調(diào)用excel表中的數(shù)據(jù)。例5——0-1規(guī)劃問題最終問題:問題求解:Lingo8.0軟30Summary規(guī)劃問題Lingo軟件的集合、函數(shù)、語法幾個例子加工奶制品的生產(chǎn)計劃(線性規(guī)劃)運輸問題(整數(shù)規(guī)劃)工廠選址問題(非線性規(guī)劃)游泳比賽問題(0-1規(guī)劃)Summary規(guī)劃問題加工奶制品的生產(chǎn)計劃(線性規(guī)劃)31Thankyouforyourattention!AnyQuestions?Thankyouforyourattention!A32用Lingo軟件編程求解規(guī)劃問題解決方案33用Lingo軟件編程求解規(guī)劃問題解決方案34用Lingo軟件編程求解規(guī)劃問題解決方案35用Lingo軟件編程求解規(guī)劃問題解決方案36用Lingo軟件編程求解規(guī)劃問題用Lingo軟件編程求解規(guī)劃問題37什么是規(guī)劃問題?求目標(biāo)函數(shù)在約束條件下的最大值或最小值的問題,統(tǒng)稱為規(guī)劃問題。決策變量、約束條件、目標(biāo)函數(shù)是線性規(guī)劃的三要素.主要解決最優(yōu)生產(chǎn)計劃、最優(yōu)分配、最優(yōu)設(shè)計、最優(yōu)決策、最佳管理等最優(yōu)化問題。線性規(guī)劃非線性規(guī)劃實數(shù)規(guī)劃整數(shù)規(guī)劃0-1規(guī)劃什么是規(guī)劃問題?求目標(biāo)函數(shù)在約束條件下的最大值或最小值的問題38例1——加工奶制品的生產(chǎn)計劃獲利24元/公斤獲利16元/公斤1桶牛奶3公斤A1

12小時8小時4公斤A2

或50桶牛奶時間480小時至多加工100公斤A1

每天:一奶制品加工廠用牛奶生產(chǎn)A1,A2兩種奶制品,1桶牛奶可以在甲車間用12小時加工成3公斤A1,或者在乙車間用8小時加工成4公斤A2。根據(jù)市場需求,生產(chǎn)的A1,A2全部能售出,且每公斤A1獲利24元,每公斤A2獲利16元。現(xiàn)在加工廠每天能得到50桶牛奶的供應(yīng),每天正式工人總的勞動時間480小時,并且甲車間每天至多能加工100公斤A1,乙車間的加工能力沒有限制。試為該廠制訂一個生產(chǎn)計劃,使每天獲利最大例1——加工奶制品的生產(chǎn)計劃獲利24元/公斤獲利16元/公39例1——加工奶制品的生產(chǎn)計劃獲利24元/公斤獲利16元/公斤1桶牛奶3公斤A1

12小時8小時4公斤A2

或50桶牛奶時間480小時至多加工100公斤A1

每天:x1桶牛奶生產(chǎn)A1

x2桶牛奶生產(chǎn)A2

獲利24×3x1

獲利16×4x2

原料供應(yīng)

勞動時間

加工能力

決策變量

目標(biāo)函數(shù)

每天獲利約束條件非負(fù)約束

線性規(guī)劃模型(LP)例1——加工奶制品的生產(chǎn)計劃獲利24元/公斤獲利16元/公40例1——加工奶制品的生產(chǎn)計劃求的最大值?改變z,即移動直線z=72x1+64x2并使之與藍(lán)色區(qū)域有交叉,即可找到最大值。見動畫例1——加工奶制品的生產(chǎn)計劃求41求的最大值?用Lingo軟件求解Lingo結(jié)果中其它項的意思!更多信息例1——加工奶制品的生產(chǎn)計劃求42例2——軍隊供給問題corps

需求量3537223241324338擁有量

B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143軍隊有某種先進(jìn)武器302臺分別放在6個補(bǔ)給站(depot)中,現(xiàn)由于戰(zhàn)爭需要,8個軍團(tuán)(corps)分別需要此種武器數(shù)目如表中所示,并且給出了從各補(bǔ)給站送一臺武器到任一軍團(tuán)的費用,問如何運輸可使成本最?。縞apacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例2——軍隊供給問題corps需求量3537223241343例2——軍隊供給問題corps

需求量3537223241324338擁有量

B1B2B3B4B5B6B7B8depot60A16267425955A24953858251A35219743343A47673927141A52395726552A655228143capacity(i)V(i)demand(j)d(j)cost(i,j)c(i,j)number(i,j)n(i,j)例2——軍隊供給問題corps需求量3537223241344例2——軍隊供給問題用Lingo軟件求解結(jié)果例2——軍隊供給問題用Lingo軟件求解結(jié)果45Lingo軟件LINGOHelp:

LINGOisasimpletoolforutilizingthepoweroflinearandnonlinearoptimizationtoformulatelargeproblemsconcisely,solvethem,andanalyzethesolution.

Optimizationhelpsyoufindtheanswerthatyieldsthebestresult;attainsthehighestprofit,output,orhappiness;ortheonethatachievesthelowestcost,waste,ordiscomfort.

Oftentheseproblemsinvolvemakingthemostefficientuseofyourresources——includingmoney,time,machinery,staff,inventory,andmore.Lingo是一個可以簡潔地闡述、解決和分析復(fù)雜問題的簡便工具。其特點是程序執(zhí)行速度很快,易于輸入、修改、求解和分析一個數(shù)學(xué)規(guī)劃問題。Lingo軟件LINGOHelp:Lingo是一個可以簡46Lingo軟件

集合段(SETSENDSETS)目標(biāo)與約束段數(shù)據(jù)段(DATAENDDATA)初始段(INITENDINIT)LINGO模型的構(gòu)成:4個段Lingo是一個可以簡潔地闡述、解決和分析復(fù)雜問題的簡便工具。其特點是程序執(zhí)行速度很快,易于輸入、修改、求解和分析一個數(shù)學(xué)規(guī)劃問題。Lingo軟件集合段(SETSENDSETS)L47Lingo軟件——集合

集是相聯(lián)系的對象的集合,比如工廠、消費者群體、交通工具和雇工等等;集是LINGO建模語言的基礎(chǔ),是程序設(shè)計最強(qiáng)有力的基本構(gòu)件目標(biāo)與約束段;借助于集,能夠用一個單一的、長的、簡明的復(fù)合公式表示一系列相似的約束,從而可以快速方便地表達(dá)規(guī)模較大的模型;集有成員和屬性。Lingo軟件——集合48

集合派生集合基本集合稀疏集合稠密集合元素列表法元素過濾法直接列舉法隱式列舉法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ù)部分來定義。sets:students:sex,age;endsetsdata:students,sex,age=John116Jill014 Rose017 Mike113;enddata一個原始集是由一些最基本的對象組成的。Lingo軟件——基本集合元素的列舉setname[/me50類型隱式列舉格式示例示例集合的元素數(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軟件——基本集合元素的隱式列舉類型隱式列舉格式示例示例集合的元素數(shù)字型1..n1..51,51Lingo軟件——派生集setname(parent_set_list)[/member_list/][:attribute_list];一個派生集是用一個或多個其它集來定義的,也就是說,它的成員來自于其它已存在的集。稠密集:派生集成員由父集成員所有組合構(gòu)成;當(dāng)成員列表被忽略時稀疏集:其成員為父集成員所有組合構(gòu)成的集合的一個子集。如上例顯式:links(depot,corps)/d1c2,d2c3,d3c6,d4c3,d5c1,d6c8/:cost,number;過濾:links(depot,corps)|capacity(&1)#ge#demand(&2):cost;Lingo軟件——派生集setname(parent_set52Lingo軟件——數(shù)據(jù)段與初始段數(shù)據(jù)段:輸入集成員和數(shù)據(jù),提供了模型相對靜止部分和數(shù)據(jù)分離的可能性。

object_list=value_list;

對象列=數(shù)值列;初始段:為決策變量設(shè)置初始值。在初始部分輸入的值僅被LINGO求解器當(dāng)作初始點來用,并且僅僅對非線性模型有用。和數(shù)據(jù)部分指定變量的值不同,LINGO求解器可以自由改變初始部分初始化的變量的值。以“init:”開始,以“endinit”結(jié)束。初始部分的初始聲明規(guī)則和數(shù)據(jù)部分的數(shù)據(jù)聲明規(guī)則相同。Lingo軟件——數(shù)據(jù)段與初始段數(shù)據(jù)段:輸入集成員和數(shù)據(jù),提53Lingo軟件——目標(biāo)與約束段四個集合循環(huán)函數(shù):FOR、SUM、MAX、MIN@function(setname[(set_index_list)[|condition]]:expression_list);例子:Lingo軟件——目標(biāo)與約束段四個集合循環(huán)函數(shù):FOR、SU54Lingo軟件——目標(biāo)與約束段四個集合循環(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)與約束段四個集合循環(huán)函數(shù):FOR、SU55優(yōu)先級運算符最高#NOT#—(負(fù)號)^*/+—(減法)#EQ##NE##GT##GE##LT##LE##AND##OR#最低<(=)=>(=)三類運算符:算術(shù)運算符邏輯運算符關(guān)系運算符Lingo軟件——運算符與優(yōu)先級主要用于集循環(huán)函數(shù)的條件表達(dá)式中形成模型的一個約束條件,指定一個表達(dá)式的左邊是否等于、小于等于、或者大于等于右邊。針對數(shù)值進(jìn)行操作優(yōu)先級運算符最高#NOT#—(負(fù)號)^*/+56Lingo軟件——函數(shù)@abs(x)返回x的絕對值@sin(x)返回x的正弦值,x采用弧度制@cos(x)返回x的余弦值@tan(x)返回x的正切值@exp(x)返回常數(shù)e的x次方@log(x)返回x的自然對數(shù)@lgm(x)返回x的gamma函數(shù)的自然對數(shù)@sign(x)如果x<0返回-1;否則,返回1@floor(x)返回x的整數(shù)部分。當(dāng)x>=0時,返回不超過x的最大整數(shù);當(dāng)x<0時,返回不低于x的最大整數(shù)。@smax(x1,x2,…,xn)返回x1,x2,…,xn中的最大值@smin(x1,x2,…,xn)返回x1,x2,…,xn中的最小值數(shù)學(xué)函數(shù)Lingo軟件——函數(shù)@abs(x)返回x的絕對值@si57Lingo軟件——函數(shù)變量定界函數(shù)@bin(x)限制x為0或1@bnd(L,x,U)限制L≤x≤U@free(x)取消對變量x的默認(rèn)下界為0的限制,即x可以取任意實數(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可以同時讀集成員和集屬性(讀寫)@OLE只能讀一維或二維的Ranges絕對路徑@ole(‘data.xls’);相對路徑@ole(‘D:\data.xls’);@ole函數(shù)例3——Lingo與Excel的連接@OLE可60某礦廠現(xiàn)有6個采礦能力不同的礦廠和3個精加工能力不同的加工廠,其坐標(biāo)及生產(chǎn)能力如表所示。現(xiàn)需新建一所粗加工廠,要求運輸成本最低,試求出其位置。例4——工廠選址問題礦廠123456xa1.258.750.55.7537.25xb1.250.754.7556.57.75output3547611精加工廠123xc3.156.59.25xd0.259.57.35capacity141210非線性規(guī)劃模型某礦廠現(xiàn)有6個采礦能力不同的礦廠和3個精加工能力不同的加工廠61

某班準(zhǔn)備從5名游泳隊員中選擇4人組成接力隊,參加學(xué)校的4*100m混合泳接力比賽。5名隊員4中用字的百米平均成績?nèi)缦卤硭?,問?yīng)如何讓選拔隊員組成接力隊?例5——0-1規(guī)劃問題甲乙丙丁戊蝶泳1`06

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論