數(shù)學(xué)建模第4講-線性規(guī)劃課件_第1頁
數(shù)學(xué)建模第4講-線性規(guī)劃課件_第2頁
數(shù)學(xué)建模第4講-線性規(guī)劃課件_第3頁
數(shù)學(xué)建模第4講-線性規(guī)劃課件_第4頁
數(shù)學(xué)建模第4講-線性規(guī)劃課件_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)內(nèi)容2.掌握用數(shù)學(xué)軟件包求解線性規(guī)劃問題.1.了解線性規(guī)劃的基本內(nèi)容.2.用數(shù)學(xué)軟件包MATLAB求解線性規(guī)劃問題.5.實(shí)驗(yàn)作業(yè).3.用數(shù)學(xué)軟件包LINDO、LINGO求解線性規(guī)劃問題.1.兩個(gè)引例.4.建模案例:投資的收益與風(fēng)險(xiǎn).12/1/2022數(shù)學(xué)建模實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)內(nèi)容2.掌握用數(shù)學(xué)軟件包求解線性規(guī)劃問題.1.1問題一:

任務(wù)分配問題:某車間有甲、乙兩臺機(jī)床,可用于加工三種工件.假定這兩臺車床的可用臺時(shí)數(shù)分別為800和900,三種工件的數(shù)量分別為400、600和500,且已知用三種不同車床加工單位數(shù)量不同工件所需的臺時(shí)數(shù)和加工費(fèi)用如下表.問怎樣分配車床的加工任務(wù),才能既滿足加工工件的要求,又使加工費(fèi)用最低?兩個(gè)引例12/1/2022數(shù)學(xué)建模問題一:任務(wù)分配問題:某車間有甲、乙兩臺機(jī)床,可用于2解

設(shè)在甲車床上加工工件1、2、3的數(shù)量分別為x1、x2、x3,在乙車床上加工工件1、2、3的數(shù)量分別為x4、x5、x6,可建立以下線性規(guī)劃模型:

解答12/1/2022數(shù)學(xué)建模解設(shè)在甲車床上加工工件1、2、3的數(shù)量分別為x1、x3問題二:

某廠每日8小時(shí)的產(chǎn)量不低于1800件.為了進(jìn)行質(zhì)量控制,計(jì)劃聘請兩種不同水平的檢驗(yàn)員.一級檢驗(yàn)員的標(biāo)準(zhǔn)為:速度25件/小時(shí),正確率98%,計(jì)時(shí)工資4元/小時(shí);二級檢驗(yàn)員的標(biāo)準(zhǔn)為:速度15件/小時(shí),正確率95%,計(jì)時(shí)工資3元/小時(shí).檢驗(yàn)員每錯(cuò)檢一次,工廠要損失2元.為使總檢驗(yàn)費(fèi)用最省,該工廠應(yīng)聘一級、二級檢驗(yàn)員各幾名?解設(shè)需要一級和二級檢驗(yàn)員的人數(shù)分別為x1、x2人,則應(yīng)付檢驗(yàn)員的工資為:因檢驗(yàn)員錯(cuò)檢而造成的損失為:12/1/2022數(shù)學(xué)建模問題二:某廠每日8小時(shí)的產(chǎn)量不低于1800件.為了進(jìn)行4故目標(biāo)函數(shù)為:約束條件為:12/1/2022數(shù)學(xué)建模故目標(biāo)函數(shù)為:約束條件為:11/30/2022數(shù)學(xué)建模5線性規(guī)劃模型:解答返回12/1/2022數(shù)學(xué)建模線性規(guī)劃模型:解答返回11/30/2022數(shù)學(xué)建模6線性規(guī)劃模型的一般形式

目標(biāo)函數(shù)和所有的約束條件都是設(shè)計(jì)變量的線性函數(shù).12/1/2022數(shù)學(xué)建模線性規(guī)劃模型的一般形式目標(biāo)函數(shù)和所有的約束條7實(shí)際問題中的優(yōu)化模型x是決策變量f(x)是目標(biāo)函數(shù)gi(x)0是約束條件數(shù)學(xué)規(guī)劃線性規(guī)劃(LP)二次規(guī)劃(QP)非線性規(guī)劃(NLP)純整數(shù)規(guī)劃(PIP)混合整數(shù)規(guī)劃(MIP)整數(shù)規(guī)劃(IP)0-1整數(shù)規(guī)劃一般整數(shù)規(guī)劃連續(xù)規(guī)劃優(yōu)化模型的分類12/1/2022數(shù)學(xué)建模實(shí)際問題中x是決策變量f(x)是目標(biāo)函數(shù)gi(x)0是約束8用MATLAB優(yōu)化工具箱解線性規(guī)劃minz=cX

1.模型:命令:x=linprog(c,A,b)

2.模型:minz=cX

命令:x=linprog(c,A,b,Aeq,beq)注意:若沒有不等式:存在,則令A(yù)=[],b=[].12/1/2022數(shù)學(xué)建模用MATLAB優(yōu)化工具箱解線性規(guī)劃minz=cX93.模型:minz=cX

VLB≤X≤VUB命令:[1]x=linprog(c,A,b,Aeq,beq,VLB,VUB)

[2]

x=linprog(c,A,b,Aeq,beq,VLB,VUB,X0)

注意:[1]若沒有等式約束:,則令A(yù)eq=[],beq=[].[2]其中X0表示初始點(diǎn)4.命令:[x,fval]=linprog(…)返回最優(yōu)解x及x處的目標(biāo)函數(shù)值fval.12/1/2022數(shù)學(xué)建模3.模型:minz=cXVLB≤X≤VUB命令:10解編寫M文件xxgh1.m如下:c=[-0.4-0.28-0.32-0.72-0.64-0.6];

A=[0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08];

b=[850;700;100;900];

Aeq=[];beq=[];

vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)

ToMATLAB(xxgh1)12/1/2022數(shù)學(xué)建模解編寫M文件xxgh1.m如下:ToMATLAB(x11解:編寫M文件xxgh2.m如下:

c=[634];A=[010];b=[50];Aeq=[111];beq=[120];vlb=[30,0,20];vub=[];

[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh2)12/1/2022數(shù)學(xué)建模解:編寫M文件xxgh2.m如下:ToMATLAB(12s.t.改寫為:例3問題一的解答

問題12/1/2022數(shù)學(xué)建模s.t.改寫為:例3問題一的解答問題11/30/2013編寫M文件xxgh3.m如下:f=[1391011128];A=[0.41.110000000.51.21.3];b=[800;900];Aeq=[100100010010001001];beq=[400600500];vlb=zeros(6,1);vub=[];[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh3)12/1/2022數(shù)學(xué)建模編寫M文件xxgh3.m如下:ToMATLAB(xxgh14結(jié)果:x=0.0000600.00000.0000400.00000.0000500.0000fval=1.3800e+004即在甲機(jī)床上加工600個(gè)工件2,在乙機(jī)床上加工400個(gè)工件1、500個(gè)工件3,可在滿足條件的情況下使總加工費(fèi)最小為13800.12/1/2022數(shù)學(xué)建模結(jié)果:11/30/2022數(shù)學(xué)建模15例2問題二的解答

問題改寫為:12/1/2022數(shù)學(xué)建模例2問題二的解答問題改寫為:11/30/2022數(shù)學(xué)建16編寫M文件xxgh4.m如下:c=[40;36];A=[-5-3];b=[-45];Aeq=[];beq=[];vlb=zeros(2,1);vub=[9;15];%調(diào)用linprog函數(shù):[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh4)12/1/2022數(shù)學(xué)建模編寫M文件xxgh4.m如下:ToMATLAB(xxgh17結(jié)果為:x=9.00000.0000fval=360即只需聘用9個(gè)一級檢驗(yàn)員.

注:本問題應(yīng)還有一個(gè)約束條件:x1、x2取整數(shù).故它是一個(gè)整數(shù)線性規(guī)劃問題.這里把它當(dāng)成一個(gè)線性規(guī)劃來解,求得其最優(yōu)解剛好是整數(shù):x1=9,x2=0,故它就是該整數(shù)規(guī)劃的最優(yōu)解.若用線性規(guī)劃解法求得的最優(yōu)解不是整數(shù),將其取整后不一定是相應(yīng)整數(shù)規(guī)劃的最優(yōu)解,這樣的整數(shù)規(guī)劃應(yīng)用專門的方法求解.返回12/1/2022數(shù)學(xué)建模結(jié)果為:注:本問題應(yīng)還有一個(gè)約束條件:x1、x2取整數(shù).18用LINDO、LINGO優(yōu)化工具箱解線性規(guī)劃12/1/2022數(shù)學(xué)建模用LINDO、LINGO優(yōu)化工具箱解線性規(guī)劃11/30/2019一、LINDO軟件包下面我們通過一個(gè)例題來說明LINDO軟件包的使用方法.12/1/2022數(shù)學(xué)建模一、LINDO軟件包下面我們通過一個(gè)例20LINDO和LINGO軟件能求解的優(yōu)化模型LINGOLINDO優(yōu)化模型線性規(guī)劃(LP)非線性規(guī)劃(NLP)二次規(guī)劃(QP)連續(xù)優(yōu)化整數(shù)規(guī)劃(IP)12/1/2022數(shù)學(xué)建模LINDO和LINGO軟件能求解的優(yōu)化模型優(yōu)化模型線性規(guī)劃非211桶牛奶3千克A1

12小時(shí)8小時(shí)4千克A2

或獲利24元/千克獲利16元/千克50桶牛奶時(shí)間:480小時(shí)至多加工100千克A1

制訂生產(chǎn)計(jì)劃,使每天獲利最大35元可買到1桶牛奶,買嗎?若買,每天最多買多少?可聘用臨時(shí)工人,付出的工資最多是每小時(shí)幾元?A1的獲利增加到30元/千克,是否應(yīng)改變生產(chǎn)計(jì)劃?每天:例1加工奶制品的生產(chǎn)計(jì)劃12/1/2022數(shù)學(xué)建模1桶牛奶3千克A112小時(shí)8小時(shí)4千克A2或獲利222x1桶牛奶生產(chǎn)A1

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

獲利24×3x1

獲利16×4x2

原料供應(yīng)

勞動時(shí)間

加工能力

決策變量

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

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

線性規(guī)劃模型(LP)建立模型12/1/2022數(shù)學(xué)建模x1桶牛奶生產(chǎn)A1x2桶牛奶生產(chǎn)A2獲利24×3x123max72x1+64x2st2)x1+x2<503)12x1+8x2<4804)3x1<100end

OBJECTIVEFUNCTIONVALUE

1)3360.000

VARIABLEVALUEREDUCEDCOST

X120.0000000.000000

X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000NO.ITERATIONS=2DORANGE(SENSITIVITY)ANALYSIS?No20桶牛奶生產(chǎn)A1,30桶生產(chǎn)A2,利潤3360元.模型求解12/1/2022數(shù)學(xué)建模max72x1+64x2OBJECTIVE24OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000

ROW

SLACKORSURPLUSDUALPRICES

2)0.00000048.000000

3)0.0000002.0000004)40.0000000.000000原料無剩余時(shí)間無剩余加工能力剩余40max72x1+64x2st2)x1+x2<503)12x1+8x2<4804)3x1<100end三種資源“資源”剩余為零的約束為緊約束(有效約束)結(jié)果解釋12/1/2022數(shù)學(xué)建模OBJECTIVEFUNCTIONVALUE原料25模型求解

reducedcost值表示當(dāng)該非基變量增加一個(gè)單位時(shí)(其他非基變量保持不變),目標(biāo)函數(shù)減少的量(對max型問題).OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000NO.ITERATIONS=2也可理解為:為了使該非基變量變成基變量,目標(biāo)函數(shù)中對應(yīng)系數(shù)應(yīng)增加的量12/1/2022數(shù)學(xué)建模模型求解reducedcost值表示當(dāng)該非基變量增加一個(gè)26OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES

2)0.00000048.000000

3)0.0000002.000000

4)40.0000000.000000結(jié)果解釋

最優(yōu)解下“資源”增加1單位時(shí)“效益”的增量

原料增1單位,利潤增48時(shí)間增1單位,利潤增2能力增減不影響利潤影子價(jià)格35元可買到1桶牛奶,要買嗎?35<48,應(yīng)該買!聘用臨時(shí)工人付出的工資最多每小時(shí)幾元?2元!12/1/2022數(shù)學(xué)建模OBJECTIVEFUNCTIONVAL27RANGESINWHICHTHEBASISISUNCHANGED:

OBJCOEFFICIENTRANGES

VARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASE

X172.00000024.0000008.000000X264.0000008.00000016.000000RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250.00000010.0000006.6666673480.00000053.33333280.0000004100.000000INFINITY40.000000最優(yōu)解不變時(shí)目標(biāo)系數(shù)允許變化范圍DORANGE(SENSITIVITY)ANALYSIS?

Yesx1系數(shù)范圍(64,96)

x2系數(shù)范圍(48,72)A1獲利增加到30元/千克,應(yīng)否改變生產(chǎn)計(jì)劃x1系數(shù)由243=72增加為303=90,在允許范圍內(nèi)不變!(約束條件不變)結(jié)果解釋

12/1/2022數(shù)學(xué)建模RANGESINWHICHTHEBASISISU28結(jié)果解釋

RANGESINWHICHTHEBASISISUNCHANGED:OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX172.00000024.0000008.000000X264.0000008.00000016.000000

RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250.00000010.0000006.6666673480.00000053.33333280.0000004100.000000INFINITY40.000000影子價(jià)格有意義時(shí)約束右端的允許變化范圍原料最多增加10時(shí)間最多增加5335元可買到1桶牛奶,每天最多買多少?最多買10桶(目標(biāo)函數(shù)不變)注意:充分但可能不必要12/1/2022數(shù)學(xué)建模結(jié)果解釋RANGESINWHICHTHEBASIS291.使用LINDO的一些注意事項(xiàng)?“>”(或“<”)號與“>=”(或“<=”)功能相同變量與系數(shù)間可有空格(甚至回車),但無運(yùn)算符變量名以字母開頭,不能超過8個(gè)字符變量名不區(qū)分大小寫(包括LINDO中的關(guān)鍵字)目標(biāo)函數(shù)所在行是第一行,第二行起為約束條件行號(行名)自動產(chǎn)生或人為定義.行名以“)”結(jié)束行中注有“!”符號的后面部分為注釋.如:

!It’sComment.在模型的任何地方都可以用“TITLE”對模型命名(最多72個(gè)字符),如: TITLEThisModelisonlyanExample12/1/2022數(shù)學(xué)建模1.使用LINDO的一些注意事項(xiàng)?“>”(或“<”)30變量不能出現(xiàn)在一個(gè)約束條件的右端表達(dá)式中不接受括號“()”和逗號“,”等任何符號,例:400(X1+X2)需寫為400X1+400X2表達(dá)式應(yīng)化簡,如2X1+3X2-4X1應(yīng)寫成-2X1+3X2缺省假定所有變量非負(fù);可在模型的“END”語句后用“FREEname”將變量name的非負(fù)假定取消可在“END”后用“SUB”或“SLB”設(shè)定變量上下界例如:“subx110”的作用等價(jià)于“x1<=10”但用“SUB”和“SLB”表示的上下界約束不計(jì)入模型的約束,也不能給出其松緊判斷和敏感性分析.14.“END”后對0-1變量說明:INTn或INTname15.“END”后對整數(shù)變量說明:GINn或GINname使用LINDO的一些注意事項(xiàng)12/1/2022數(shù)學(xué)建模變量不能出現(xiàn)在一個(gè)約束條件的右端使用LINDO的一些注312.狀態(tài)窗口(LINDOSolverStatus)當(dāng)前狀態(tài):已達(dá)最優(yōu)解迭代次數(shù):18次約束不滿足的“量”(不是“約束個(gè)數(shù)”):0當(dāng)前的目標(biāo)值:94最好的整數(shù)解:94整數(shù)規(guī)劃的界:93.5分枝數(shù):1所用時(shí)間:0.00秒(太快了,還不到0.005秒)刷新本界面的間隔:1(秒)12/1/2022數(shù)學(xué)建模2.狀態(tài)窗口(LINDOSolverStatus32二、LINGO軟件包12/1/2022數(shù)學(xué)建模二、LINGO軟件包11/30/2022數(shù)學(xué)建模33(1)LINGO模型的優(yōu)點(diǎn)1.LINGO軟件簡介(2)對簡單的LINGO程序LINGO也可以和LINDO一樣編程但LINGO與LINDO語法有差異提供了靈活的編程語言(矩陣生成器)包含了LINDO的全部功能12/1/2022數(shù)學(xué)建模(1)LINGO模型的優(yōu)點(diǎn)1.LINGO軟件簡34Lindo與簡單Lingo程序的比較Model:

min=7*x1+3*x2;

x1+x2>=345.5;

x1>=98;

2*x1+x2<=600;

@gin(x1);

@gin(x2);

endmin7x1+3x2stx1+x2>=345.5x1>=982*x1+x2<=600endgin2lindo程序:lingo程序:12/1/2022數(shù)學(xué)建模Lindo與簡單Lingo程序的比較Mo35投資的收益和風(fēng)險(xiǎn)12/1/2022數(shù)學(xué)建模投資的收益和風(fēng)險(xiǎn)11/30/2022數(shù)學(xué)建模36二、基本假設(shè)和符號規(guī)定12/1/2022數(shù)學(xué)建模二、基本假設(shè)和符號規(guī)定11/30/2022數(shù)學(xué)建模37三、模型的建立與分析1.總體風(fēng)險(xiǎn)用所投資的Si中最大的一個(gè)風(fēng)險(xiǎn)來衡量,即max{qixi|i=1,2,…,n}4.模型簡化:12/1/2022數(shù)學(xué)建模三、模型的建立與分析1.總體風(fēng)險(xiǎn)用所投資的Si中最大的一個(gè)風(fēng)3812/1/2022數(shù)學(xué)建模11/30/2022數(shù)學(xué)建模39四、模型1的求解

由于a是任意給定的風(fēng)險(xiǎn)度,到底怎樣給定沒有一個(gè)準(zhǔn)則,不同的投資者有不同的風(fēng)險(xiǎn)度.我們從a=0開始,以步長△a=0.001進(jìn)行循環(huán)搜索,編制程序如下:12/1/2022數(shù)學(xué)建模四、模型1的求解40a=0;while(1.1-a)>1c=[-0.05-0.27-0.19-0.185-0.185];Aeq=[11.011.021.0451.065];beq=[1];A=[00.025000;000.01500;0000.0550;00000.026];b=[a;a;a;a];vlb=[0,0,0,0,0];vub=[];[x,val]=linprog(c,A,b,Aeq,beq,vlb,vub);ax=x'Q=-valplot(a,Q,'.'),axis([00.100.5]),holdona=a+0.001;endxlabel('a'),ylabel('Q')ToMATLAB(xxgh5)12/1/2022數(shù)學(xué)建模a=0;ToMATLAB(xxgh5)11/30/20241計(jì)算結(jié)果:12/1/2022數(shù)學(xué)建模計(jì)算結(jié)果:11/30/2022數(shù)學(xué)建模42五、結(jié)果分析返回4.在a=0.006附近有一個(gè)轉(zhuǎn)折點(diǎn),在這一點(diǎn)左邊,風(fēng)險(xiǎn)增加很少時(shí),利潤增長很快.在這一點(diǎn)右邊,風(fēng)險(xiǎn)增加很大時(shí),利潤增長很緩慢,所以對于風(fēng)險(xiǎn)和收益沒有特殊偏好的投資者來說,應(yīng)該選擇曲線的拐點(diǎn)作為最優(yōu)投資組合,大約是a*=0.6%,Q*=20%,所對應(yīng)投資方案為:風(fēng)險(xiǎn)度收益x0

x1

x2x3

x40.00600.201900.24000.40000.10910.22123.曲線上的任一點(diǎn)都表示該風(fēng)險(xiǎn)水平的最大可能收益和該收益要求的最小風(fēng)險(xiǎn).對于不同風(fēng)險(xiǎn)的承受能力,選擇該風(fēng)險(xiǎn)水平下的最優(yōu)投資組合.2.當(dāng)投資越分散時(shí),投資者承擔(dān)的風(fēng)險(xiǎn)越小,這與題意一致.即:冒險(xiǎn)的投資者會出現(xiàn)集中投資的情況,保守的投資者則盡量分散投資.1.風(fēng)險(xiǎn)大,收益也大.12/1/2022數(shù)學(xué)建模五、結(jié)果分析返回4.在a=0.006附近有一個(gè)轉(zhuǎn)折點(diǎn),43精品課件!12/1/2022數(shù)學(xué)建模精品課件!11/30/2022數(shù)學(xué)建模44精品課件!12/1/2022數(shù)學(xué)建模精品課件!11/30/2022數(shù)學(xué)建模45實(shí)驗(yàn)作業(yè)某廠生產(chǎn)甲乙兩種口味的飲料,每百箱甲飲料需用原料6千克,工人10名,可獲利10萬元;每百箱乙飲料需用原料5千克,工人20名,可獲利9萬元.今工廠共有原料60千克,工人150名,又由于其他條件所限甲飲料產(chǎn)量不超過800箱.問如何安排生產(chǎn)計(jì)劃,即兩種飲料各生產(chǎn)多少使獲利最大.進(jìn)一步討論:1)若投資0.8萬元可增加原料1千克,問應(yīng)否作這項(xiàng)投資.2)若每100箱甲飲料獲利可增加1萬元,問應(yīng)否改變生產(chǎn)計(jì)劃.返回12/1/2022數(shù)學(xué)建模實(shí)驗(yàn)作業(yè)某廠生產(chǎn)甲乙兩種口味的飲料,每百箱甲飲料需用原料646實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)內(nèi)容2.掌握用數(shù)學(xué)軟件包求解線性規(guī)劃問題.1.了解線性規(guī)劃的基本內(nèi)容.2.用數(shù)學(xué)軟件包MATLAB求解線性規(guī)劃問題.5.實(shí)驗(yàn)作業(yè).3.用數(shù)學(xué)軟件包LINDO、LINGO求解線性規(guī)劃問題.1.兩個(gè)引例.4.建模案例:投資的收益與風(fēng)險(xiǎn).12/1/2022數(shù)學(xué)建模實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)內(nèi)容2.掌握用數(shù)學(xué)軟件包求解線性規(guī)劃問題.1.47問題一:

任務(wù)分配問題:某車間有甲、乙兩臺機(jī)床,可用于加工三種工件.假定這兩臺車床的可用臺時(shí)數(shù)分別為800和900,三種工件的數(shù)量分別為400、600和500,且已知用三種不同車床加工單位數(shù)量不同工件所需的臺時(shí)數(shù)和加工費(fèi)用如下表.問怎樣分配車床的加工任務(wù),才能既滿足加工工件的要求,又使加工費(fèi)用最低?兩個(gè)引例12/1/2022數(shù)學(xué)建模問題一:任務(wù)分配問題:某車間有甲、乙兩臺機(jī)床,可用于48解

設(shè)在甲車床上加工工件1、2、3的數(shù)量分別為x1、x2、x3,在乙車床上加工工件1、2、3的數(shù)量分別為x4、x5、x6,可建立以下線性規(guī)劃模型:

解答12/1/2022數(shù)學(xué)建模解設(shè)在甲車床上加工工件1、2、3的數(shù)量分別為x1、x49問題二:

某廠每日8小時(shí)的產(chǎn)量不低于1800件.為了進(jìn)行質(zhì)量控制,計(jì)劃聘請兩種不同水平的檢驗(yàn)員.一級檢驗(yàn)員的標(biāo)準(zhǔn)為:速度25件/小時(shí),正確率98%,計(jì)時(shí)工資4元/小時(shí);二級檢驗(yàn)員的標(biāo)準(zhǔn)為:速度15件/小時(shí),正確率95%,計(jì)時(shí)工資3元/小時(shí).檢驗(yàn)員每錯(cuò)檢一次,工廠要損失2元.為使總檢驗(yàn)費(fèi)用最省,該工廠應(yīng)聘一級、二級檢驗(yàn)員各幾名?解設(shè)需要一級和二級檢驗(yàn)員的人數(shù)分別為x1、x2人,則應(yīng)付檢驗(yàn)員的工資為:因檢驗(yàn)員錯(cuò)檢而造成的損失為:12/1/2022數(shù)學(xué)建模問題二:某廠每日8小時(shí)的產(chǎn)量不低于1800件.為了進(jìn)行50故目標(biāo)函數(shù)為:約束條件為:12/1/2022數(shù)學(xué)建模故目標(biāo)函數(shù)為:約束條件為:11/30/2022數(shù)學(xué)建模51線性規(guī)劃模型:解答返回12/1/2022數(shù)學(xué)建模線性規(guī)劃模型:解答返回11/30/2022數(shù)學(xué)建模52線性規(guī)劃模型的一般形式

目標(biāo)函數(shù)和所有的約束條件都是設(shè)計(jì)變量的線性函數(shù).12/1/2022數(shù)學(xué)建模線性規(guī)劃模型的一般形式目標(biāo)函數(shù)和所有的約束條53實(shí)際問題中的優(yōu)化模型x是決策變量f(x)是目標(biāo)函數(shù)gi(x)0是約束條件數(shù)學(xué)規(guī)劃線性規(guī)劃(LP)二次規(guī)劃(QP)非線性規(guī)劃(NLP)純整數(shù)規(guī)劃(PIP)混合整數(shù)規(guī)劃(MIP)整數(shù)規(guī)劃(IP)0-1整數(shù)規(guī)劃一般整數(shù)規(guī)劃連續(xù)規(guī)劃優(yōu)化模型的分類12/1/2022數(shù)學(xué)建模實(shí)際問題中x是決策變量f(x)是目標(biāo)函數(shù)gi(x)0是約束54用MATLAB優(yōu)化工具箱解線性規(guī)劃minz=cX

1.模型:命令:x=linprog(c,A,b)

2.模型:minz=cX

命令:x=linprog(c,A,b,Aeq,beq)注意:若沒有不等式:存在,則令A(yù)=[],b=[].12/1/2022數(shù)學(xué)建模用MATLAB優(yōu)化工具箱解線性規(guī)劃minz=cX553.模型:minz=cX

VLB≤X≤VUB命令:[1]x=linprog(c,A,b,Aeq,beq,VLB,VUB)

[2]

x=linprog(c,A,b,Aeq,beq,VLB,VUB,X0)

注意:[1]若沒有等式約束:,則令A(yù)eq=[],beq=[].[2]其中X0表示初始點(diǎn)4.命令:[x,fval]=linprog(…)返回最優(yōu)解x及x處的目標(biāo)函數(shù)值fval.12/1/2022數(shù)學(xué)建模3.模型:minz=cXVLB≤X≤VUB命令:56解編寫M文件xxgh1.m如下:c=[-0.4-0.28-0.32-0.72-0.64-0.6];

A=[0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08];

b=[850;700;100;900];

Aeq=[];beq=[];

vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)

ToMATLAB(xxgh1)12/1/2022數(shù)學(xué)建模解編寫M文件xxgh1.m如下:ToMATLAB(x57解:編寫M文件xxgh2.m如下:

c=[634];A=[010];b=[50];Aeq=[111];beq=[120];vlb=[30,0,20];vub=[];

[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh2)12/1/2022數(shù)學(xué)建模解:編寫M文件xxgh2.m如下:ToMATLAB(58s.t.改寫為:例3問題一的解答

問題12/1/2022數(shù)學(xué)建模s.t.改寫為:例3問題一的解答問題11/30/2059編寫M文件xxgh3.m如下:f=[1391011128];A=[0.41.110000000.51.21.3];b=[800;900];Aeq=[100100010010001001];beq=[400600500];vlb=zeros(6,1);vub=[];[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh3)12/1/2022數(shù)學(xué)建模編寫M文件xxgh3.m如下:ToMATLAB(xxgh60結(jié)果:x=0.0000600.00000.0000400.00000.0000500.0000fval=1.3800e+004即在甲機(jī)床上加工600個(gè)工件2,在乙機(jī)床上加工400個(gè)工件1、500個(gè)工件3,可在滿足條件的情況下使總加工費(fèi)最小為13800.12/1/2022數(shù)學(xué)建模結(jié)果:11/30/2022數(shù)學(xué)建模61例2問題二的解答

問題改寫為:12/1/2022數(shù)學(xué)建模例2問題二的解答問題改寫為:11/30/2022數(shù)學(xué)建62編寫M文件xxgh4.m如下:c=[40;36];A=[-5-3];b=[-45];Aeq=[];beq=[];vlb=zeros(2,1);vub=[9;15];%調(diào)用linprog函數(shù):[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh4)12/1/2022數(shù)學(xué)建模編寫M文件xxgh4.m如下:ToMATLAB(xxgh63結(jié)果為:x=9.00000.0000fval=360即只需聘用9個(gè)一級檢驗(yàn)員.

注:本問題應(yīng)還有一個(gè)約束條件:x1、x2取整數(shù).故它是一個(gè)整數(shù)線性規(guī)劃問題.這里把它當(dāng)成一個(gè)線性規(guī)劃來解,求得其最優(yōu)解剛好是整數(shù):x1=9,x2=0,故它就是該整數(shù)規(guī)劃的最優(yōu)解.若用線性規(guī)劃解法求得的最優(yōu)解不是整數(shù),將其取整后不一定是相應(yīng)整數(shù)規(guī)劃的最優(yōu)解,這樣的整數(shù)規(guī)劃應(yīng)用專門的方法求解.返回12/1/2022數(shù)學(xué)建模結(jié)果為:注:本問題應(yīng)還有一個(gè)約束條件:x1、x2取整數(shù).64用LINDO、LINGO優(yōu)化工具箱解線性規(guī)劃12/1/2022數(shù)學(xué)建模用LINDO、LINGO優(yōu)化工具箱解線性規(guī)劃11/30/2065一、LINDO軟件包下面我們通過一個(gè)例題來說明LINDO軟件包的使用方法.12/1/2022數(shù)學(xué)建模一、LINDO軟件包下面我們通過一個(gè)例66LINDO和LINGO軟件能求解的優(yōu)化模型LINGOLINDO優(yōu)化模型線性規(guī)劃(LP)非線性規(guī)劃(NLP)二次規(guī)劃(QP)連續(xù)優(yōu)化整數(shù)規(guī)劃(IP)12/1/2022數(shù)學(xué)建模LINDO和LINGO軟件能求解的優(yōu)化模型優(yōu)化模型線性規(guī)劃非671桶牛奶3千克A1

12小時(shí)8小時(shí)4千克A2

或獲利24元/千克獲利16元/千克50桶牛奶時(shí)間:480小時(shí)至多加工100千克A1

制訂生產(chǎn)計(jì)劃,使每天獲利最大35元可買到1桶牛奶,買嗎?若買,每天最多買多少?可聘用臨時(shí)工人,付出的工資最多是每小時(shí)幾元?A1的獲利增加到30元/千克,是否應(yīng)改變生產(chǎn)計(jì)劃?每天:例1加工奶制品的生產(chǎn)計(jì)劃12/1/2022數(shù)學(xué)建模1桶牛奶3千克A112小時(shí)8小時(shí)4千克A2或獲利268x1桶牛奶生產(chǎn)A1

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

獲利24×3x1

獲利16×4x2

原料供應(yīng)

勞動時(shí)間

加工能力

決策變量

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

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

線性規(guī)劃模型(LP)建立模型12/1/2022數(shù)學(xué)建模x1桶牛奶生產(chǎn)A1x2桶牛奶生產(chǎn)A2獲利24×3x169max72x1+64x2st2)x1+x2<503)12x1+8x2<4804)3x1<100end

OBJECTIVEFUNCTIONVALUE

1)3360.000

VARIABLEVALUEREDUCEDCOST

X120.0000000.000000

X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000NO.ITERATIONS=2DORANGE(SENSITIVITY)ANALYSIS?No20桶牛奶生產(chǎn)A1,30桶生產(chǎn)A2,利潤3360元.模型求解12/1/2022數(shù)學(xué)建模max72x1+64x2OBJECTIVE70OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000

ROW

SLACKORSURPLUSDUALPRICES

2)0.00000048.000000

3)0.0000002.0000004)40.0000000.000000原料無剩余時(shí)間無剩余加工能力剩余40max72x1+64x2st2)x1+x2<503)12x1+8x2<4804)3x1<100end三種資源“資源”剩余為零的約束為緊約束(有效約束)結(jié)果解釋12/1/2022數(shù)學(xué)建模OBJECTIVEFUNCTIONVALUE原料71模型求解

reducedcost值表示當(dāng)該非基變量增加一個(gè)單位時(shí)(其他非基變量保持不變),目標(biāo)函數(shù)減少的量(對max型問題).OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000NO.ITERATIONS=2也可理解為:為了使該非基變量變成基變量,目標(biāo)函數(shù)中對應(yīng)系數(shù)應(yīng)增加的量12/1/2022數(shù)學(xué)建模模型求解reducedcost值表示當(dāng)該非基變量增加一個(gè)72OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES

2)0.00000048.000000

3)0.0000002.000000

4)40.0000000.000000結(jié)果解釋

最優(yōu)解下“資源”增加1單位時(shí)“效益”的增量

原料增1單位,利潤增48時(shí)間增1單位,利潤增2能力增減不影響利潤影子價(jià)格35元可買到1桶牛奶,要買嗎?35<48,應(yīng)該買!聘用臨時(shí)工人付出的工資最多每小時(shí)幾元?2元!12/1/2022數(shù)學(xué)建模OBJECTIVEFUNCTIONVAL73RANGESINWHICHTHEBASISISUNCHANGED:

OBJCOEFFICIENTRANGES

VARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASE

X172.00000024.0000008.000000X264.0000008.00000016.000000RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250.00000010.0000006.6666673480.00000053.33333280.0000004100.000000INFINITY40.000000最優(yōu)解不變時(shí)目標(biāo)系數(shù)允許變化范圍DORANGE(SENSITIVITY)ANALYSIS?

Yesx1系數(shù)范圍(64,96)

x2系數(shù)范圍(48,72)A1獲利增加到30元/千克,應(yīng)否改變生產(chǎn)計(jì)劃x1系數(shù)由243=72增加為303=90,在允許范圍內(nèi)不變!(約束條件不變)結(jié)果解釋

12/1/2022數(shù)學(xué)建模RANGESINWHICHTHEBASISISU74結(jié)果解釋

RANGESINWHICHTHEBASISISUNCHANGED:OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX172.00000024.0000008.000000X264.0000008.00000016.000000

RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250.00000010.0000006.6666673480.00000053.33333280.0000004100.000000INFINITY40.000000影子價(jià)格有意義時(shí)約束右端的允許變化范圍原料最多增加10時(shí)間最多增加5335元可買到1桶牛奶,每天最多買多少?最多買10桶(目標(biāo)函數(shù)不變)注意:充分但可能不必要12/1/2022數(shù)學(xué)建模結(jié)果解釋RANGESINWHICHTHEBASIS751.使用LINDO的一些注意事項(xiàng)?“>”(或“<”)號與“>=”(或“<=”)功能相同變量與系數(shù)間可有空格(甚至回車),但無運(yùn)算符變量名以字母開頭,不能超過8個(gè)字符變量名不區(qū)分大小寫(包括LINDO中的關(guān)鍵字)目標(biāo)函數(shù)所在行是第一行,第二行起為約束條件行號(行名)自動產(chǎn)生或人為定義.行名以“)”結(jié)束行中注有“!”符號的后面部分為注釋.如:

!It’sComment.在模型的任何地方都可以用“TITLE”對模型命名(最多72個(gè)字符),如: TITLEThisModelisonlyanExample12/1/2022數(shù)學(xué)建模1.使用LINDO的一些注意事項(xiàng)?“>”(或“<”)76變量不能出現(xiàn)在一個(gè)約束條件的右端表達(dá)式中不接受括號“()”和逗號“,”等任何符號,例:400(X1+X2)需寫為400X1+400X2表達(dá)式應(yīng)化簡,如2X1+3X2-4X1應(yīng)寫成-2X1+3X2缺省假定所有變量非負(fù);可在模型的“END”語句后用“FREEname”將變量name的非負(fù)假定取消可在“END”后用“SUB”或“SLB”設(shè)定變量上下界例如:“subx110”的作用等價(jià)于“x1<=10”但用“SUB”和“SLB”表示的上下界約束不計(jì)入模型的約束,也不能給出其松緊判斷和敏感性分析.14.“END”后對0-1變量說明:INTn或INTname15.“END”后對整數(shù)變量說明:GINn或GINname使用LINDO的一些注意事項(xiàng)12/1/2022數(shù)學(xué)建模變量不能出現(xiàn)在一個(gè)約束條件的右端使用LINDO的一些注772.狀態(tài)窗口(LINDOSolverStatus)當(dāng)前狀態(tài):已達(dá)最優(yōu)解迭代次數(shù):18次約束不滿足的“量”(不是“約束個(gè)數(shù)”):0當(dāng)前的目標(biāo)值:94最好的整數(shù)解:94整數(shù)規(guī)劃的界:93.5分枝數(shù):1所用時(shí)間:0.00秒(太

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論