下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1MATLAB優(yōu)化應(yīng)用1 線性規(guī)劃模型一、線性規(guī)劃課題:實例 i :生產(chǎn)計劃問題假設(shè)某廠計劃生產(chǎn)甲、乙兩種產(chǎn)品,現(xiàn)庫存主要材料有 A 類 3600 公斤,B 類 2000 公斤,C 類 3000 公斤。每件甲產(chǎn)品需用材料 A 類 9 公斤,B 類 4 公 斤,C 類 3 公斤。每件乙產(chǎn)品,需用材料 A 類 4 公斤,B 類 5 公斤,C 類 10 公斤。甲單位產(chǎn)品的利潤 70 元,乙單位產(chǎn)品的利潤 120 元。問如何安排生產(chǎn), 才能使該廠所獲的利潤最大。建立數(shù)學(xué)模型:設(shè) x1、x2分別為生產(chǎn)甲、乙產(chǎn)品的件數(shù)。f 為該廠所獲總潤。max 仁 70 x1+120 x2s.t 9x1+4x2 0實例
2、 2 :投資問題某公司有一批資金用于 4 個工程項目的投資,其投資各項目時所得的凈收益(投入資金锪百分比)如下表:工程項目收益表工程項目ABCD收益(%)1510812由于某種原因,決定用于項目A 的投資不大于其他各項投資之和而用于項目B 和 C 的投資要大于項目 D 的投資。試確定全文該公司收益最大的投資分配方案。建立數(shù)學(xué)模型:設(shè) x1、x2、x3、x4分別代表用于項目 A、B、C、D 的投資百分數(shù)。max仁0.15x1+0.1x2+0.08 x3+0.12 x4s.t x1-x2- x3- x4v0 x2+ x3- x4 0 x1+x2+x3+ x4=1Xj0j=1,2,3,4實例 3 :
3、運輸問題有 A、B、C 三個食品加工廠,負責供給甲、乙、丙、丁四個市場。三個廠每天生產(chǎn)食品箱數(shù)上限如下表:工廠ABC生產(chǎn)數(shù)604050四個市場每天的需求量如下表:市場甲乙丙丁需求量20353334從各廠運到各市場的運輸費(元/每箱)由下表給出:收占 發(fā) 占市場甲乙丙丁工A21322廠B1321C3411求在基本滿足供需平衡的約束條件下使總運輸費用最小。建立數(shù)學(xué)模型:設(shè) ai j為由工廠 i 運到市場 j 的費用,Xi j是由工廠 i 運到市場 j 的箱數(shù)。bi是工廠 i 的產(chǎn)量,dj是市場 j 的需求量。s.t當我們用 MATLAB 軟件作優(yōu)化問題時,所有求 maxf 的問題化為求 min(-
4、f )來作。約束 gi(x)0,化為-gi0來作。上述實例去掉實際背景,歸結(jié)出規(guī)劃問題:目標函數(shù)和約束條件都是變量x 的線性函數(shù)。形如:(1)min fTXs.t A X bAeq X =beqlb X ub其中 X 為 n 維未知向量,fT=f1化,們?yōu)槟繕撕瘮?shù)系數(shù)向量,小于等于約束系數(shù)矩陣A 為mxn 矩陣,b 為其右端 m 維列向量,Aeq 為等式約束系數(shù)矩陣,beq 為等式約束右端常數(shù)列向量。lb,ub 為自變量取值上界與下界約束的n 維常數(shù)向量。二.線性規(guī)劃問題求最優(yōu)解函數(shù):調(diào)用格式:x=linprog(f Ab)x=li nprog(f,A,b,Aeq,beq)x=li nprog
5、(f,A,b,Aeq,beq,lb,ub)x=li nprog(f,A,b,Aeq,beq,lb,ub,xO)x=li nprog(f,A,b,Aeq,beq,lb,ub,xO,optio ns)x,fval=li nprog()x, fval, exitflag=li nprog()x, fval, exitflag, output=li nprog()x, fval, exitflag, output, lambda=li nprog()說明:x=linprog(fAb)返回值 x 為最優(yōu)解向量。x=linprog(fAb,Aeq,beq)作有等式約束的問題。若沒有不等式約束,則令A(yù)= 、
6、b=。x=linprog(f,A,b,Aeq,beq,lb,ub,xO,options)中 lb ,ub 為變量 x 的下界和上界,x0 為初值點,options 為指定優(yōu)化參數(shù)進行最小化。Optio ns的參數(shù)描述:Display顯示水平。選擇off 不顯示輸出;選擇iter#示每一步迭代過程的輸出;選擇final 顯示最終結(jié)果。MaxFu nEvals函數(shù)評價的最大允許次數(shù)Maxiter最大允許迭代次數(shù)TolX x 處的終止容限x,fval=linprog(左端 fval 返回解 x 處的目標函數(shù)值。x,fval,exitflag,output,lambda=li nprog(f,A,b,
7、 Aeq,beq,lb,ub,x0)的輸出部分:exitflag描述函數(shù)計算的退出條件:若為正值,表示目標函數(shù)收斂于解x 處;若為負值,表示目標函數(shù)不收斂;若為零值,表示已經(jīng)達到函數(shù)評價或迭代的最大次數(shù)。output返回優(yōu)化信息:output.iteratio ns表示迭代次數(shù);output.algorithm表示所采用的算法;outprt.fu ncCou nt表示函數(shù)評價次數(shù)。b= ( 60 40 50 )d= ( 20 35 33 34 )3lambda 返回 x 處的拉格朗日乘子。它有以下屬性:lambda.lower-lambda 的下界; lambda.upper-lambda 的
8、上界; lambda.ineqlin-lambda 的線性不等式; lambda.eqlin-lambda 的線性等式。三 舉例例 1 :求解線性規(guī)劃問題:max f=2x1+5x2s.t 先將目標函數(shù)轉(zhuǎn)化成最小值問題:min(-f)=- 2x 程序:f=-2 -5; A=1 0;0 1;1 2;b=4;3;8; x,fval=linprog(f,A,b) f=fval*(-1) 結(jié)果: x = 23fval = -19.0000 maxf = 19 例 2 :minf=5x1-x2+2x3+3x4-8x5S.t -2x1+x2-X3+X4-3X5 62X1+X2-X3+4X4+X5 7OSj
9、15 j=1,2,3,4,5 程序: f=5 -1 2 3 -8;A=-2 1 -1 1 -3;2 1 -1 4 1; b=6;7;lb=O O O O O; ub=15 15 15 15 15;X,fval=linprog(f,A,b,lb,ub) 結(jié)果: X =O.OOOOO.OOOO8.OOOOO.OOOO15.OOOO minf =-1O4例 3 :求解線性規(guī)劃問題:minf=5X1+X2+2X3+3X4+X5S.t-2X1+X2-X3+X4-3X5 12X1+3X2-X3+2X4+X5W-2OSjWlj=1,2,3,4,51-5X24程序:f=5 1 2 3 1;A=-2 1 -1
10、1 -3;2 3 -1 2 1;b=1;-2;lb=0 0 0 0 0;ub=1 1 1 1 1;x,fval,exitflag,output,lambda=linprog(f,A,b,lb,ub)Exiting: One or more of the residuals, duality gap, or total relative error has grown 100000 times greater than its minimum value so far: the primal appears to beinfeasible (and the dual unbounded).(Th
11、e dual residual 0將其轉(zhuǎn)換為標準形式: min f=-70 x1-120 x2s.t 9x1+4x2w36004x1+5x2w20003x1+10 x2w3000XX2 0程序: f=-70 -120;A=9 4 ;4 5;3 10 ; b=3600;2000;3000; lb=0 0;ub=;x,fval,exitflag=linprog(f,A,b,lb,ub) maxf=-fval運行結(jié)果:5結(jié)果: x =200.0000240.0000fval =-4.2800e+004exitflag =1maxf =4.2800e+004例 5 :求解實例 2建立數(shù)學(xué)模型:max
12、f=0.15x1+0.1x2+0.08 x3+0.12 x4S.t x1-X2- x3- x4 0 x1+x2+x3+ x4=1Xj0j=1,2,3,4將其轉(zhuǎn)換為標準形式:min z=-0.15x1-0.1x2-0.08 x3-0.12 x4S.t X1-X2- x3- x40j=1,2,3,4程序: f = -0.15;-0.1;-0.08;-0.12;A = 1 -1 -1 -10 -1 -1 1;b = 0; 0;Aeq=1 1 1 1;beq=1;lb = zeroS(4,1);X,fval,eXitflag = linprog(f,A,b,Aeq,beq,lb) f=-fval結(jié)果:
13、 X =0.50000.25000.00000.2500fval =16s.tx i; 0程序:A=2 1 3 2;1 3 2 1;3 4 1 1;f=A(:);B= 1 0 01 0 010 0 10 00 1 0 0 100 1 00 1 00 0 1 0 010 0 10 0 1;D=1 1 1 0 0 0 0 0 0 0 0 00 0 0 1 110 0 00 0 00 0 0 0 001 1 10 0 00 0 0 0 000 0 01 1 1;b=60;40;50;d=20;35;33;34;lb=zeros(12,1);x,fval,exitflag=linprog(f,B,b,
14、D,d,lb)結(jié)果:x =0.000020.00000.000035.00000.00000.00000.00000.000033.00000.000018.468215.5318fval =122.0000eXitflag =-0.1300exitflag =0.1300即 4 個項目的投資百分數(shù)分別為 50% ,25% ,0, 25%時可使該公司獲得最大的收益,其最大收益可到達 13% 。過程正常收斂。例 6 : 求解實例 3建立數(shù)學(xué)模型:設(shè) ai j為由工廠i 運到市場 j 的費用,Xj j是由工廠 i 運到市場 j 的箱數(shù)。6 是工廠 i 的產(chǎn)量,dj是市場 j 的需求量。b= ( 6
15、0 40 50 )Td= ( 20 35 33 34 )7即運輸方案為:甲市場的貨由 B 廠送 20 箱;乙市場的貨由 A 廠送 35 箱;丙商場的貨由 C 廠送 33 箱;丁市場的貨由 B 廠送 18 箱,再由 C 廠送 16 箱。最低總運費為: 122 元。2 非線性規(guī)劃模型一非線性規(guī)劃課題實例 1 表面積為 36 平方米的最大長方體體積。 建立數(shù)學(xué)模型: 設(shè) x、y、z 分別為長方體的三個棱長,f 為長方體體積。max f = x y (36-2 x y)/2 (x+y)實例 2 投資決策問題某公司準備用 5000 萬元用于 A、B 兩個項目的投資,設(shè) Xi、X2分別表示配給項目 A、B
16、 的投資。預(yù)計項目 A、B 的年收益分別為 20%和 16%。同時,投 資后總的風(fēng)險損失將隨著總投資和單位投資的增加而增加,已知總的風(fēng)險損失為2x12+x22+(x1+x2)2.問應(yīng)如何分配資金,才能使期望的收益最大,同時使風(fēng)險損失為最小。建立數(shù)學(xué)模型:2 2 2max f=20 xi+16x2-入2xi+x2+(xi+x2)s.t X1+X2w5000 x1 0,X2 0目標函數(shù)中的入AO是權(quán)重系數(shù)。由以上實例去掉實際背景,其目標函數(shù)與約束條件至少有一處是非線性的,稱其為非線性問題。 非線性規(guī)劃問題可分為無約束問題和有約束問題。實例 1 為無約束問題,實例 2 為有約束問題。無約束非線性規(guī)劃
17、問題:x=fminunc(fun,x0,options)x=fminunc(fun,x0,options,P1,P2)x,fval=fminunc()x,fval, exitflag=fminunc()x,fval, exitflag,output=fminunc()x,fval, exitflag,output,grad=fminunc()x,fval, exitflag,output,grad,hessian=fminunc()說明: fun 為需最小化的目標函數(shù), x0 為給定的搜索的初始點。 options 指定優(yōu)化參數(shù)。返回的 x 為最優(yōu)解向量; fval 為 x 處的目標函數(shù)值;
18、exitflag 描述函數(shù)的輸出條件; output 返回優(yōu)化信息; grad 返回目標函數(shù)在 x 處的梯度。 Hessian返回在 x 處目標函數(shù)的 Hessian 矩陣信息。例 1 : 求 程序:編輯 ff1.m 文件function f=ff1(x)f=8*x(1)-4*x (2) +x(1)A2+3*x(2)A2;通過繪圖確定一個初始點:x,y=meshgrid(-10:.5:10);z= 8*x-4*y +x.A2+3*y.A2; surf(x,y,z) 選初始點: x0=(0,0) x0=0,0;x,fval,exitflag=fminunc(ff1,x0)結(jié)果: x =求解無約束
19、最優(yōu)化問題的方法主要有兩類:直接搜索法1 fminunc 函數(shù)調(diào)用格式: x=fminunc(fun,x0)(Search method) 和梯度法 (Gradient method).8-4.0000 0.6667fval =-17.3333 exitflag =1例 2 : 程序:編輯 ff2.m 文件: function f=ff2(x)f=4*x(1)八2+5*x(1)*x(2)+2*x (2)八2;取初始點: x0=(1,1)x0=1,1;x,fval,exitflag=fminunc(ff2,x0) 結(jié)果: x =1.0e-007 * -0.1721 0.1896 fval =2.
20、7239e-016exitflag =1例 3 :將上例用提供的梯度 g 最小化函數(shù)進行優(yōu)化計算。 修改 M 文件為: function f,g=ff3(x)f=4*x(1)A2+5*x(1)*x(2)+2*x (2)八2;if nargut 1g(1)=8*x(1)+5*x(2);g(2)=5*x(1)+4*x(2);end通過下面將優(yōu)化選項結(jié)構(gòu)options.GradObj 設(shè)置為on 來得到梯度值。options=optimset( Gradobj , on ); x0=1,1;x,fval,exitflag=fminunc(ff3,x0,options)結(jié)果: x =1.0e-015
21、* -0.2220 -0.2220 fval =5.4234e-031exitflag =12 minsearch 函數(shù)9調(diào)用格式: x=fminsearch(fun,x0)x=fminsearch(fun,x0,options)x=fminsearch(fun,x0,options,P1,P2)x,fval=fminsearch()x,fval, exitflag=fminsearch()x,fval, exitf lag,output=fminsearch()x,fval, exitflag,output,grad=fminsearch()x,fval, exitflag,output,g
22、rad,hessian=fminsearch(說明: 參數(shù)及返回變量同上一函數(shù)。對求解二次以上的問題,)fminsearch 函數(shù)比 fminunc 函數(shù)有效。3 多元非線性最小二乘問題: 非線線性最小二乘問題的數(shù)學(xué)模型為: 其中 L 為常數(shù)。調(diào)用格式: x=lsqnonlin(fun,x0)x=lsqnonlin(fun,x0,lb,ub)x=lsqnonlin(fun,x0,options)x=lsqnonlin(fun,x0,options,P1,P2)x,resnorm=lsqnonlin()x,resnorm, residual,exitflag=lsqnonlin()x,re sn
23、orm, residual , exitflag,output=lsqnonlin()x,resnorm, residual,exitflag, output,lambda=lsqnonlin()x,resnorm, r esidual,exitflag, output,lambda,jacobian=lsqnonlin(說明:x 返回解向量;resnorm 返回 x 處殘差的平方范數(shù)值:sum(fun(x).A2); residual 返回 x 處的殘差值 fun(x) ; lambda 返回包含 x 處拉格朗日乘子的結(jié)構(gòu)參數(shù); jacobian 返回解 x 處的 fun 函數(shù)的雅可比矩陣。
24、lsqnonlin 默認時選擇大型優(yōu)化算法。 Lsqnonlin 通過將 options.LargeScale設(shè)置為of 來作中型優(yōu)化算法。其采用一維搜索法。例 4求 minf=4(x2-x1)2+(x2-4)2,選擇初始點 x0(1,1)程序:f =4*(x (2) -x(1)八2+(x (2)-4)八2x,reshorm=lsqnonlin(f,1,1) 結(jié)果:x=3.9896 3.9912reshorm =5.0037e-009例 5:求 ,選擇初始點 x0(0.2,0.3)求解:先編輯 ff5.m 文件:function f=ff5(x)k=1:10;f=2+2*k-exp(k*x(1
25、)-exp(k*x(2);然后作程序: x0=0.2,0.3;x,resnorm=lsqnonlin(ff5,x0)結(jié)果 : x =0.2578 0.2578resnorm =124.362210有約束非線性規(guī)劃問題:方程第一行描述了目標函數(shù)和約束條件在解處梯度的取消。由于梯度取消,需要用拉格朗日乘子入來平衡目標函數(shù)與約束梯度間大小的差異。調(diào)用格式 : x=fmincon(f,x0,A,b)x=fmincon(f,x0,A,b,Aeq,beq)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon)x=
26、fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval=fminc on()x, fval, exitflag=fmincon()x, fval, exitflag, output=fmincon()x, fval, exitflag, output, lambda=fmincon()說明:x=fmincon(f,x0Ab)返回值 x 為最優(yōu)解向量。其中:x0 為初始點。A,b 為不等式約束的系數(shù)矩陣和右端列向量。x=fmincon(f,x0,A,b,Aeq,beq)作有等式約束的問題。若沒有不等式約束,則令 A= 、b= 。x=fminco
27、n(f, x0,A,b,Aeq,beq,lb,ub, nonlcon ,options)中 lb ,ub 為變量 x 的下界和上界; nonlcon=fun, 由 M 文件 fun.m 給定非線性不等式約束c (x)W0廿等式約束 g(x)=0; options 為指定優(yōu)化參數(shù)進行最小化。例 6:求解: min 100(x2-x12)2+(1-x1)2s.tXi 2;X2 2程序: 首先建立 ff6.m 文件:function f=ff6(x)f=100*(x (2)-x (2)A2)A2+(1-x(1)A2;然后在工作空間鍵入程序:x0=1.1,1.1;A=1 0;0 1;b=2;2;x,f
28、val=fmincon(ff6,x0,A,b)結(jié)果: x =1.0000 1.0000fval =3.1936e-011例 7 :求解:首先建立目標函數(shù)文件 ff7.m 文件:function f=ff7(x)f=-x(1)*x(2)*x(3)然后將約束條件改寫成如下不等式:s.t Gi(x)0i=1, ,mGj(x) =0j=m+1, ,nxl xxu其中: F(x) 為多元實值函數(shù), G(x) 為向量值函數(shù),在有約束非線性規(guī)劃問題中,通常要將該問題轉(zhuǎn)換為更簡單的子問題,其基于 K-T 方程解的方法。 它的 K-T 方程數(shù)學(xué)模型: min F(x)可表達為:這些子問題可以求并作為迭代過程的基
29、礎(chǔ)。11-xi-2x2-2x3W0Xi+2x2+2x3w72在工作空間鍵入程序:A=-1 -2 -2;1 2 2; b=0;72; x0=10;10;10;x,fval=fmincon(ff71,x0,A,b) 結(jié)果: x =24.000012.000012.0000fval =-3456例 8 求解: minf=ex1(6x12+3x22+2x1x2+4x2+1)s.t x1x2-x1-x2+1w0 -2x1x2-5w0程序: 首先建立目標函數(shù)文件 ff8.m 文件: function f=ff8(x)f=exp(x(1)*(6*x(1)八2+3*x (2)八2+2*x(1)*x (2)+4
30、*x (2)+1);再建立非線性的約束條件文件: ff8g.m function c,g=ff8g(x)c(1)=x(1)*x(2)-x(1)-x(2)+1;c(2)=-2*x(1)*x(2)-5;g=; 然后在工作空間鍵入程序:x0=1,1;nonlcon=ff8g x, fval =fmincon(ff8,x0,nonlcon)結(jié)果: x =-2.5000 1.0000fval =3.3244exitflag =1當有等式約束時,要放在矩陣 g 的位置,如上例中加等式約束:x(1)+2*x(1)=0程序: 首先建立 fun1.m 文件: functionc,g=ff8g1(x)c(1)=x
31、(1)*x(2)-x(1)-x(2)+1;c(2)=-2*x(1)*x(2)-5;g(1)=x(1)+2*x(2); 然后在工作空間鍵入程序:x0=-1,1; nonlcon=ff8g1;x, fval,exitflag =fmincon(ff8,x0,nonlcon)12exitflag =3二次規(guī)劃模型數(shù)學(xué)模型:其中 H 為二次型矩陣, A、 Aeq 分別為不等式約束與等式約束系數(shù)矩陣, f,b,beq,lb,ub,x 為向量。 求解二次規(guī)劃問題函數(shù)為 quadprog( )調(diào)用格式 : X= quadprog(H,f,A,b)X= quadprog(H,f,A,b,Aeq,beq)X=
32、quadprog(H,f,A,b,Aeq,beq,lb,ub)X= quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)X= quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)x,fval= quadprog()x,fval,exitflag= quadprog()x,fval,exitflag,output= quadprog()x,fval,exitflag,output,lambda= quadprog()說明: 輸入?yún)?shù)中, x0 為初始點;若無等式約束或無不等式約束,就將相應(yīng)的矩陣和向量設(shè)置為空; options 解; fval是返回
33、解所對應(yīng)的目標函數(shù)值; exitflag 是描述搜索是否收斂; output 是返回包含優(yōu)化信息的結(jié)構(gòu)。 參數(shù)。例 1 :求解:二次規(guī)劃問題min f(x)= x1-3x2+3x12+4x22-2x1x2s.t 2xi+x2 2-xi+4x2 3程序: f=1;-3H=6 -2;-2 8A=2 1;-1 4b=2;3X,fval,exitflag=quadprog(H,f,A,b)結(jié)果: X =-0.04550.3636fval =-0.5682exitflag =1例 2 :求解:二次規(guī)劃問題22min +x1+2x2-2x1x2-4x1-12x2結(jié)果:-2.23611.1180fval =
34、3.6576為指定優(yōu)化參數(shù)。輸出參數(shù)中, x 是返回最優(yōu)Lambda 是返回解 x 入包含拉格朗日乘子的13s.t Xi+x2 2-xi+2x2w22xi+x2w3 0n)為一個 n 維向量;fi(x)為目標函數(shù),i=1, 2,m; g (x)為系統(tǒng)約束,j=1,2,。,k當目標函數(shù)處于沖突狀態(tài)時,不存在最優(yōu)解使所有目標函數(shù)同時達到最優(yōu)。于是我們尋求有效解(又稱非劣解或非支配解或帕累托解 )定義:若(Q)的鄰域內(nèi)不存在 心,使得(+Ax Q),且則稱 為有效解。多目標規(guī)劃問題的幾種常用解法:(1)主要目標法其基本思想是:在多目標問題中,根據(jù)問題的實際情況,確定一個目標為主要目標,而把其余目標作
35、為次要目標,并且根據(jù)經(jīng)驗,選取一定的界限值。這樣 就可以把次要目標作為約束來處理,于是就將原來的多目標問題轉(zhuǎn)化為一個在新的約束下的單目標最優(yōu)化問題。(2)線性加權(quán)和法其基本思想是:按照多目標fi(x) (i=1,2,的重要程度,分別乘以一組權(quán)系數(shù)Xj(j=1, 2,,m 然后相加作為目標函數(shù)而構(gòu)成單目標規(guī)劃問題。即,其中例 1 :某鋼鐵廠準備用 5000 萬用于 A、B 兩個項目的技術(shù)改造投資。設(shè) X1、X2分別表示分配給項目 A、B 的投資。據(jù)專家預(yù)估計,投資項目 A、B 的年收 益分別為 70%和66%。同時,投資后總的風(fēng)險損失將隨著總投資和單項投資的增加而增加,已知總的風(fēng)險損失為0.02
36、x12+0.01x22+0.04(x1+X2)2,問應(yīng)如何分配資金才能使期望的收益最大,同時使風(fēng)險損失為最小。建立數(shù)學(xué)模型max f1(x)=70 x1+66x2min f2(x)= 0.02x12+0.01x22+0.04(x1+x2)2s.t x1+x2w50000wx1, 0wx2線性加權(quán)構(gòu)造目標函數(shù): max f=0.5f1(x) -0.5f2(x)化最小值問題:min (-f)=- 0.5f1(x) +0.5f2(x)首先編輯目標函數(shù) M 文件 ff11.m function f=ff11(x) f=-0.5*(70*x(1)+66*x (2)+0.5*(0.02*x(1)八2+0.
37、01*x (2)八2+0.04*(x(1)+x(2)八2); 調(diào)用單目標規(guī)劃求最小值問題的函14數(shù)x0=1000,1000A=1 1;b=5000;lb=zeros(2,1);x,fval, exitflag=fmincon(ff11,x0, A,b,lb,)f1=70*x(1)+66*x(2)f2=0.02*x(1)A2+0.01*x (2)A2+0.04*(x(1)+x(2)A2結(jié)果: x =307.1428414.2857fval =-1.2211e+004exitflag =1f1 =4.8843e+004f2 =2.4421e+004(3) 極大極小法其基本思想是:對于極小化的多目標
38、規(guī)劃,讓其中最大的目標函數(shù)值盡可能地小為此,對每個 最大值中的最小值。即構(gòu)造單目標規(guī)劃:(4) 目標達到法對于多目標規(guī)劃:s.t gj(x)0j=1,2,-,n先設(shè)計與目標函數(shù)相應(yīng)的一組目標值理想化向量 ,再設(shè)Y為一松弛因子標量。設(shè)為權(quán)值系數(shù)向量。于是多目標規(guī)劃問題化為:在 Matlab 的優(yōu)化工具箱中, fgoalattain 函數(shù)用于解決此類問題。 其數(shù)學(xué)模型形式為:minYF(x)- weight ( goalc(x) 0ceq(x)=0A x bAeq x=beqlb xub其中,x,weight,goal,b,beq,lb禾廿 ub 為向量,A 和 Aeq 為矩陣,c(x),ceq(
39、x) 禾廿 F(x)為函數(shù),調(diào)用格式:x=fgoalattain(F,x0,goal,weight)x=fgoalattain(F,x0,goal,weight,A,b)x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq)x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub) x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options)
40、x R,我們先求諸目標函數(shù)值 fi(x)的最大值,然后再求這些i5x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2)x,fval=fgoalattain()x,fval,attainfactor=fgoalattain()x,fval,attainfactor,exitflag,output=fgoalattain()x,fval,attainfactor,exitflag,output,lambda=fgoalattain()說明: F 為目標函數(shù); x0 為初值; goal 為 F 達到的指定目標;
41、 weight 為參數(shù)指定權(quán)重; A、b 為線性不等式約束的矩陣與向量;Aeq 、beq 為等式約束的矩陣與向量; lb 、ub 為變量 x 的上、下界向量; nonlcon 為定義非線性不等式約束函數(shù) c(x) 和等式約束函數(shù) ceq(x) ;options 中設(shè)置優(yōu)化參數(shù)。x返回最優(yōu)解; fval 返回解 x 處的目標函數(shù)值; attainfactor 返回解 x 處的目標達到因子; exitflag 描述計算的退出條件; output 返回包含優(yōu)化信息的輸 出參數(shù); lambda返回包含拉格朗日乘子的參數(shù)。例 2 :某化工廠擬生產(chǎn)兩種新產(chǎn)品A 和 B,其生產(chǎn)設(shè)備費用分別為 2 萬元/噸和
42、 5 萬元/噸。這兩種產(chǎn)品均將造成環(huán)境污染,設(shè)由公害所造成的損失可折算為 A 為 4 萬元/噸,B 為 1 萬元/噸。由于條件限制,工廠生產(chǎn)產(chǎn)品A 和 B 的最大生產(chǎn)能力各為每月5 噸和 6 噸,而市場需要這兩種產(chǎn)品的總量每月不少于 7 噸。試問工廠如何安排生產(chǎn)計劃,在滿足市場需要的前提下,使設(shè)備投資和公害損失均達最小。該工廠決策認為,這兩個目標中環(huán)境污染應(yīng)優(yōu)先考慮, 設(shè)備投資的目標值為 20 萬元,公害損失的目標為 12 萬元。建立數(shù)學(xué)模型:設(shè)工廠每月生產(chǎn)產(chǎn)品 A 為乂!噸,B 為 X2噸,設(shè)備投資費為 f(x!),公害損失費為 f(x2),則問題表達為多目標優(yōu)化問題:min f1(x)=2
43、x1+5x2min f2(x)=4x1+x2s.t xi 0程序: 首先編輯目標函數(shù) M 文件 ffi2.mfunction f=ffi2(x)f(i)=2*x(i)+5*x(2);f(2)= 4*x(i) +x(2);按給定目標?。篻oal=20,i2; weight=20,i2;x0=2,2A=i 0; 0 i;-i -i;b=5 6 -7; lb=zeros(2,i);x,fval,attainfactor,exitflag=fgoalattain(ffi2,x0,goal,weight,A,b,lb,)結(jié)果: x =2.9i674.0833fval =26.2500i5.7500att
44、ainfactor =0.3i25exitflag =i例 3 :某工廠生產(chǎn)兩種產(chǎn)品甲和乙,已知生產(chǎn)甲產(chǎn)品 i00 公斤需 6 個工時,生產(chǎn)乙產(chǎn)品 i00 公斤需 8 個工時。假定每日可用的工時數(shù)為 48 工時。這兩 種產(chǎn)品每 i00 公斤均可獲利 500 元。乙產(chǎn)品較受歡迎,且若有個老顧客要求每日供應(yīng)他乙種產(chǎn)品 500 公斤,問應(yīng)如何安排生產(chǎn)計劃?16建立數(shù)學(xué)模型:設(shè)生產(chǎn)甲、乙兩種產(chǎn)品的數(shù)量分別為 x 和 x( 以公斤計 ) ,要使生產(chǎn)計劃比較合理,應(yīng)考慮用工時盡量少,獲利盡量大,其用多目標規(guī)劃描述這:min f1=6x1+8x2max f2=100(x1+x2) max f3=x2s.t
45、6xi+8x2 5Xi,x2 0將其標準化為:min f1=6x1+8x2min - f2=-100(x1+x2)min - f3=-x2s.t 6xi+8x2 48-X2-5x1,x20程序: 首先編輯目標函數(shù) M 文件 ff13.mfunction f=ff13(x)f(1)=6*x(1)+8*x(2);f(2)= -100*(x(1) +x(2);f(3)=-x(2);按給定目標?。篻oal=48 -1000 -5;weight=48 -1000 -5;x0=2 2;A=6 8; 0 -1;b=48 -5;lb=zeros(2,1);x,fval,attainfactor,exitfla
46、g=fgoalattain(ff13,x0,goal,weight,A,b,lb,)結(jié)果: x =1.33335.0000fval =48.0000 -633.3333-5.0000attainfactor =1.6338e-008exitflag =1即生產(chǎn)計劃為每日生產(chǎn)甲產(chǎn)品 133.33 公斤,生產(chǎn)乙產(chǎn)品 500 公斤。5最大最小化模型基本思想:在對策論中,我們常遇到這樣的問題:在最不利的條件下,尋求最有利的策略。在實際問題中也有許多求最大值的最小化問題。例如急救中心選址問題就是要規(guī)戈康到所有地點最大距離的最小值。在投資規(guī)劃中要確定最大風(fēng)險的最低限度等等。為此,對每個x R,我們先求諸目標值 f)的最大值,然后再求這些最大值中的最小值。最大最小化問題的數(shù)學(xué)模型:17求解最大最小化問題的函數(shù)為 fmininax調(diào)用格式:x=fminimax(F,xO,)x=fminimax(F,xO,A,b)x=fminimax(F,xO,A,b,Aeq,beq)x=fminimax(F,xO,A,b,Aeq,beq,lb,ub)x=fminimax(F,xO,A,b,Aeq,beq,lb,ub,nonlcon)x=fminimax(F,xO,A,b,Aeq,beq,lb,ub,nonlcon,options)x=fminimax(F,xO,A,b,Aeq,be
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新學(xué)校落成典禮致辭演講稿
- 2024花崗巖訂貨協(xié)議及服務(wù)條款
- 從羅馬人到羅馬尼亞人為拉丁淵源而辯-隨筆
- 證券投資顧問招聘筆試題及解答(某大型國企)2024年
- 商標法:典型案例詳解-札記
- 堅硬頂板動壓巷道遠近應(yīng)力場演化規(guī)律及調(diào)控技術(shù)研究
- 《小猴子下山》教學(xué)反思
- 2024年度車輛租賃合同燃油費用結(jié)算協(xié)議
- 2024年式樣汽車4S店售后租賃協(xié)議范本
- 2024年建筑通風(fēng)與空調(diào)安裝協(xié)議
- 中國高血壓防治指南(2024版)
- 2024-2030年中國不良資產(chǎn)管理行業(yè)市場發(fā)展現(xiàn)狀分析及發(fā)展趨勢與投資前景預(yù)測研究報告
- 2024-2030年冬蟲夏草行業(yè)市場深度調(diào)研及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2024年全新初二生物上冊期中試卷及答案(人教版)
- 走進魚類世界智慧樹知到答案2024年中國海洋大學(xué)
- 代賣商品合同協(xié)議書
- 十字相乘法解一元二次方程練習(xí)100題及答案
- 中外合作辦學(xué)規(guī)劃方案
- 廠房屋頂光伏分布式發(fā)電項目建議書
- 2024年人教版初一道德與法治上冊期中考試卷(附答案)
- 2024年第九屆“鵬程杯”六年級語文邀請賽試卷(復(fù)賽)
評論
0/150
提交評論