函數(shù)極值及規(guī)劃問題解讀_第1頁
函數(shù)極值及規(guī)劃問題解讀_第2頁
函數(shù)極值及規(guī)劃問題解讀_第3頁
函數(shù)極值及規(guī)劃問題解讀_第4頁
函數(shù)極值及規(guī)劃問題解讀_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五章函數(shù)極值MATLAB提供了很多求極 (或最 )的命令函數(shù),既可以求無條件的極 ,也可求有條件的極 ,其中,條件可以是不等式,也可以是等式的,可以是 性的,也可以是非 性的,甚至可以是多個條件, 目 函數(shù)可以是 性的, 也可以是非 性的, 之,MA TLAB 不同的 型,采用不同的函數(shù)命令去求解,以下將分 型來做些 的介 。5.1 性極 (又稱 性 劃)5.1.1 性 劃模型 劃 研究的 象大體可以分 兩大 :一 是在 有的人、 、物等 源的條件下,研究如何合理的 劃、安排,可使得某一目 達到最大,如 量、利 目 等;另一 是在任 確定后,如何 劃、安排,使用最低限度的人、 等 源,去 任

2、 ,如使成本、 用最小等。 兩 從本 上 是相同的,即都在一 束條件下,去 某一個目 的最 (最大或最小) 。 性 劃研究的 要求目 與 束條件函數(shù)都是 性的,而目 函數(shù)只能是一個。在 管理 中,大量 是 性的,有的也可以 化 性的,從而使 性 劃有極大的 用價 。 性 劃模型包含3 個要素:( 1)決策 量 . 中需要求解的那些未知量,一般用 n 向量 x( x1 , x2 , xn ) T表示。( 2)目 函數(shù) . 通常是 需要 化的那個目 的數(shù)學表達式,它是決策 量x 的 性函數(shù)。( 3) 束條件 . 決策 量的限制條件,即x 的允 取 范 ,它通常是x 的一 性不等式或 性等式。 性

3、劃 的數(shù)學模型一般可表示 :min ( max) f T Xs.t A XbAeq X =beqlb Xub其中 X 為 n 未知向量, fT=f 1,f 2, fn 目 函數(shù)系數(shù)向量,小于等于 束系數(shù)矩陣 A 為 m n 矩 , b 其右端 m 列向量, Aeq 等式 束系數(shù)矩 ,beq 等式 束右端常數(shù)列向量。 lb,ub 自 量取 上界與下界 束的n 常數(shù)向量。特 注意: 當我 用 MA TLAB 件作 化 , 所有求 maxf 的 化 求 min(-f )來作。 束 g i (x) 0,化 g i 0來做。5.1.2 性 劃 求最 解函數(shù): 用格式:x=linprog(f,A,b)x=

4、linprog(f,A,b,Aeq,beq)x=linprog(f,A,b,Aeq,beq,lb,ub)x=linprog(f,A,b,Aeq,beq,lb,ub,x0)x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)x,fval=linprog( )x, fval, exitflag=linprog( )x, fval, exitflag, output=linprog( )x, fval, exitflag, output, lambda=linprog( ) 明: x=linprog(f,A,b)返回 x 最 解向量。x=linprog(f,A,b,Ae

5、q,beq)作有等式 束的 。若沒有不等式 束, 令x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)中 lb ,ub 量 x 的下界和上界,A= 、b= 。x0 初 點,options 指定 化參數(shù) 行最小化。x,fval=linprog( )左端fval返回解x 的目 函數(shù) 。x,fval,exitflag,output,lambda=linprog(f,A,b, Aeq,beq,lb,ub,x0)的 出部分:exitflag描述函數(shù) 算的退出條件:若 正 , 表示目 函數(shù)收 于解x ;若 ,表示目 函數(shù)不收 ;若 零 , 表示已 達到函數(shù) 價或迭代的最大次

6、數(shù)。Output 關(guān)于 化的一些信息。Lambda 解 x 的 Lagrange 乘子?!纠?.1】求解 性 劃 :max f=2x 1+5x 2x14x23x12x28s.tx10 x2 0先將目 函數(shù) 化成最小 :min(-f)=- 2x 1 -5x2具體程序如下:f=-2 -5;A=1 0;0 1;1 2;b=4;3;8;lb=0 0;x,fval=linprog(f,A,b,lb)f=fval*(-1)運行 果:x =23fval = -19.0000maxf =19【例 5.2】: minf=5x 1-x2+2x 3+3x 4-8x 5s.t2x1+x2 -x3+x 4-3x5 62

7、x1+x 2-x3+4x4+x 5 70 xj15 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=0 0 0 0 0;ub=15 15 15 15 15;x,fval=linprog(f,A,b,lb,ub)運行結(jié)果: x =0.00000.00008.00000.000015.0000minf =-104【例 5.3】:假設(shè)某廠計劃生產(chǎn)甲、乙兩種產(chǎn)品, 現(xiàn)庫存主要材料有A 類 3600 公斤,B 類 2000公斤, C 類 3000 公斤。每件甲產(chǎn)品需用材料A 類 9 公斤, B 類 4 公斤, C 類

8、3 公斤。每件乙產(chǎn)品,需用材料A 類 4 公斤, B 類 5 公斤, C 類 10 公斤。甲單位產(chǎn)品的利潤70 元,乙單位產(chǎn)品的利潤120 元。問如何安排生產(chǎn),才能使該廠所獲的利潤最大。建立數(shù)學模型:設(shè) x1、 x2 分別為生產(chǎn)甲、乙產(chǎn)品的件數(shù)。f 為該廠所獲總潤。max f=70x 1+120x 2s.t 9x1+4x2 36004x1+5x2 20003x1+10x2 3000x1,x 2 0將其轉(zhuǎn)換為標準形式:min f=-70x 1-120x 2s.t9x1+4x2 36004x1+5x2 20003x1+10x2 3000x1,x2 0編寫以下程序:f=-70 -120;A=9 4

9、;4 5;3 10 ;b=3600;2000;3000;lb=0 0;x,fval,exitflag=linprog(f,A,b,lb);x, exitflag,maxf=-fval運行結(jié)果:x =200.0000240.0000exitflag =1maxf =4.2800e+004【例 5.4】:某公司有一批資金用于4 個工程項目的投資,其投資各項目時所得的凈收益(投入資金百分比 )如下表:工程項目收益表工程項目ABCD收益 (%)1510812由于某種原因,決定用于項目A 的投資不大于其他各項投資之和而用于項目B 和 C 的投資要大于項目D 的投資。試確定該公司收益最大的投資分配方案。建

10、立數(shù)學模型:設(shè) x1、 x2 、 x3 、 x4 分別代表用于項目A 、 B、 C、 D 的投資百分數(shù)。max f=0.15x 1+0.1x 2+0.08 x 3+0.12 x 4s.tx1-x2- x 3- x4 0x2+ x 3- x4 0x1+x 2+x 3+ x 4=1xj 0 j=1,2,3,4將其轉(zhuǎn)換為標準形式:minz=-0.15x 1-0.1x 2-0.08 x 3-0.12 x 4s.tx1-x2- x3 - x4 0- x2- x3+ x 4 0x1+x 2+x 3+ x 4=1xj 0 j=1,2,3,4編寫程序:f = -0.15;-0.1;-0.08;-0.12;A

11、=1 -1 -1 -1;0 -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)fmax=-fval運行結(jié)果:x =0.50000.25000.00000.2500fval =-0.1300exitflag =1fmax =0.1300即 4 個項目的投資百分數(shù)分別為 50%,25%,0, 25%時可使該公司獲得最大的收益,其最大收益可到達 13%。過程正常收斂?!纠?5.5】:有 A 、 B、 C 三個食品加工廠,負責供給甲、乙、丙、丁四個市場。三個廠每天生

12、產(chǎn)食品箱數(shù)上限如下表:工廠ABC生產(chǎn)數(shù)604050四個市場每天的需求量如下表:市場甲乙丙丁需求量20353334從各廠運到各市場的運輸費(元 /每箱 )由下表給出:發(fā)收點市場點甲乙丙丁工A2132廠B1321C3411求在基本滿足供需平衡的約束條件下使總運輸費用最小。建立數(shù)學模型:設(shè) ai j 為由工廠i 運到市場j 的費用, xi j 是由工廠 i 運到市場j 的箱數(shù)。 bi 是工廠 i 的產(chǎn)量, dj 是市場 j 的需求量。2132x11x12x13x14A1 3 21Xx21x22x23x243411x31x32x33x34b= ( 60 40 50 )d= ( 20 35 33 34

13、)34min faij xiji 1j 14xijbii1, 2, 3s.tj 13xijd jj 1, 2, 3, 4i 1x i j 0編寫程序:AA=2 1 3 2;1 3 2 1;3 4 1 1;f=AA(:);A= 1 0 0 1 0 0 1 0 0 1 0 00 1 0 0 1 0 0 1 0 0 1 00 0 1 0 0 1 0 0 1 0 0 1;Aeq=1 1 1 0 0 0 0 0 0 0 0 00 0 0 1 1 1 0 0 0 0 0 00 0 0 0 0 0 1 1 1 0 0 00 0 0 0 0 0 0 0 0 1 1 1;b=60;40;50;beq=20;35

14、;33;34;lb=zeros(12,1);x,fval,exitflag=linprog(f,A,b,Aeq,beq,lb)運行結(jié)果:x =0.000020.00000.000035.00000.00000.00000.00000.000033.00000.000018.468215.5318fval =122.0000exitflag =1即運 方案 :甲市 的 由B 廠送 20 箱;乙市 的 由A 廠送 35 箱;丙商 的 由 C 廠送 33 箱;丁市 的 由 B 廠送 18 箱,再由 C 廠送 16 箱。最低 運 : 122 元。5.20-1 整數(shù) 劃求極 形如:min f T Xs.

15、t A X bAeq X =beqxi 為 0 或 1其中 X 為 n 未知向量, f T=f 1,f 2, fn 目 函數(shù)系數(shù)向量,小于等于 束系數(shù)矩 A為 m n 矩 , b 其右端 m 列向量, Aeq 等式 束系數(shù)矩 ,beq 等式 束右端常數(shù)列向量。 lb,ub 自 量取 上界與下界 束的n 常數(shù)向量。5.2.1 分支定界法在 Matlab 中提供了 bintprog 函數(shù) 0-1 型 性 劃, 采用的是分支定界法原理, 其 用格式如下:x=bintprog(f,A,b)x=bintprog(f,A,b,Aeq,beq)x,fval=bintprog( )x, fval, exitf

16、lag=bintprog( )x, fval, exitflag, output=bintprog( )x, fval, exitflag, output, lambda=bintprog( ) 明:x=bintprog(f,A,b)返回 x 最 解向量。x=bintprog(f,A,b,Aeq,beq)作有等式 束的 。若沒有不等式 束, 令A= 、b= 。x,fval=bintprog( )左端fval返回解x 的目 函數(shù) ?!纠?.6】求解以下 :max z=x1+1.2x2+0.8x3st2.1x1+2x2+1.3x3=50.8x1+x2=5x1+2.5x2+2x3=82x2=8x1,

17、x2,x3 為 0 或 1解答 :首先,將其改變成0-1 整數(shù)規(guī)劃函數(shù)bintprog 要求的標準形式:min z=-x1-1.2x2-0.8x3st2.1x1+2x2+1.3x3=50.8x1+x2=5x1+2.5x2+2x3=82x2=8x1,x2,x3 為 0 或 1Matlab 求解:c=-1,-1.2,-0.8;A=2.1,2,1.3;0.8,1,0;1,2.5,2;0,2,0;b=5;5;8;8;x,fval=bintprog(c,A,b);xfmax=-fval運行結(jié)果可得:x=110fmax =2.2000【例 5.7】某快餐連鎖經(jīng)營公司有7 個地點( A1 , A2 , -,

18、 A7 )可以設(shè)立快餐店,由于地理位置因素,設(shè)立快餐店時必須滿足以下要求:A1 , A2 , A3 三個地點最多可選兩個,A1和 A5 至少選取一個, A6 和 A7 至少選取一個。 已知各個地點設(shè)立快餐店的投入和預計收益如表所示。已知目前公司有 650 萬元可以投資。問怎樣投資才能使公司預計收益最高?地點A1A2A3A4A5A6A7利潤 /萬元101181215125投資 /萬元1031409515019316080解:這是一個選址問題。首先引入0-1 變量 xi;xi=1, 選擇 Ai 地址; xi=0, 不選擇 Ai 地址。則該問題的數(shù)學模型可以表示如下:max z=10x1+11x2+

19、8x3+12x4+15x5+12x6+5x7st(1)103x1+140x2+95x3+150x4+193x5+160x6+80x7=650(2)x1+x2+x3=1(4)x6+x7=1(5)xi=0,1matlab 求解程序如下:c=-10 -11 -8 -12 -15 -12 -5;A=103 140 95 150 193 160 80;1 1 1 0 0 0 0;0 0 0 -1 -1 0 0;0 0 0 0 0 -1 -1;b=650;2;-1;-1;x,fval=bintprog(c,A,b);xf=fval*(-1)運行程序得: x=1;1;0;1;0;1;1,fval=505.2

20、.2枚舉法除了采用分支定界法原理計算0-1整數(shù)規(guī)劃外,還可以采用枚舉法枚舉法程序 bintLp_E.mfunction x,f=bintLp_E(c,A,b,N)%x,f=bintLp_E(c,A,b,N):用枚舉法求解下列0-1 線性規(guī)劃%min f=c*x,s.t.A*x=b,x的分量全為 0 或 1%其中 N表示約束條件A*x=b 中的前 N個是等式, N=0 時可以省略%返回結(jié)果 x 是最優(yōu)解, f 是最優(yōu)解處的函數(shù)值if nargin4N=0;endc=c(:);b=b(:);m,n=size(A);x=;f=abs(c)*ones(n,1);i=1;while i0);t1=t11

21、;t12;if isempty(t1)f=min(f,c*B);if c*B=fx=B;endendi=i+1;end注意:以上程序需保存至搜索路徑之下才可以調(diào)用?!纠?5.8 】 求解下列 0-1 型整數(shù)線性規(guī)劃。max f3x12x25x3x12x2x32x14x2x34s.t.x1x234 x2x36x1 , x2 , x3 為0或1解:分別采用二種算法計算如下:c=3 -2 5;a=1 2 -1;1 4 -1 ;1 1 0;0 4 1;b=2;4;3;6;x,fval=bintprog(c,a,b)xx,ffval=bintLp_E(c,a,b)計算結(jié)果如下:x =010fval =-

22、2xx =010ffval =-2【例 5.9】某公司有 A1,A2,A3 三項業(yè)務(wù)需要 B1,B2,B3 三位業(yè)務(wù)員處理 ,每個業(yè)務(wù)員處理業(yè)務(wù)的費用如表所示 ,其中業(yè)務(wù)員 B2 不能處理業(yè)務(wù) A1, 問應(yīng)指派何人去完成何項業(yè)務(wù) ,使所需總費用最少 ?B1B2B3A11500不能處理800A21200900750A3900800900解: 設(shè) xij 表示第 i 項業(yè)務(wù)被第j 位業(yè)務(wù)員處理,其中不能處理時可以認為費用非常高,比如999999 元,則依題意可得如下模型:min z=1500x11+999999x12+800x13+1200x21+900x22+750x23+900x31+800x

23、32+900x33stx11+x12+x13=1x21+x22+x23=1x31+x32+x33=1x11+x21+x31=1x12+x22+x32=1x13+x23+x33=1xij=0,1編寫 matlab 程序:c=1500 999999 800 1200 900 750 900 800 900;Aeq=1 1 1 0 0 0 0 0 0;0 0 0 1 1 1 0 00;0 0 0 0 0 0 1 11;1 0 0 1 0 0 1 00;0 1 0 0 1 0 0 10;0 0 1 0 0 1 0 01;beq=ones(6,1);x,fval=bintprog(c,Aeq,beq)x

24、x,ffval=bintLp_E(c,Aeq,beq,6)運行程序可得:x=xx=0 0 1 0 1 0 1 0 0;fval=ffval=2600答案 :A1 被 B3 處理, A2 被 B2 處理, A3 被 B1 處理時總費用最少,只需 2600 元 .5.3 整數(shù)規(guī)劃求極值MATLAB關(guān)于整數(shù)規(guī)劃沒有內(nèi)帶的函數(shù),目前關(guān)于整數(shù)規(guī)劃的自編程序已編好,以下是其中之一:functionx,val,status=ip(f,A,b,Aeq,beq,lb,ub,M,e)options=optimset(display, off); bound=inf;x0,val0=linprog(f,A,b,Ae

25、q,beq,lb,ub,options);x,val,status,b=rec(f,A,b,Aeq,beq,lb,ub,x0,val0,M,e,bound);functionxx,val,status,bb=rec(f,A,b,Aeq,beq,lb,ub,x,v,M,e,bound)options=optimset(display, off);x0,val0,status0=linprog(f,A,b,Aeq,beq,lb,ub,options);ifstatus0boundxx=x;val=v;status=status0;bb=bound;return;endind=find(abs(x0

26、(M)-round(x0(M)e);ifisempty(ind)status=1;ifval0br_valuebr_var=tempbr_var;br_value=tempbr_value;endendifisempty(A)r c=size(Aeq);elser c=size(A);endA1=A;zeros(1,c);A1(end,br_var)=1;b1=b;floor(br_value);A2=A;zeros(1,c);A2(end,br_var)=-1;b2=b;-ceil(br_value);x1,val1,status1,bound1=rec(f,A1,b1,Aeq,beq,lb

27、,ub,x0,val0,M,e,bound);status=status1;ifstatus10&bound10&bound2boundstatus=status2;xx=x2;val=val2;bb=bound2;end注意:請先將以上程序保存至搜索路徑之下,函數(shù)名為ip.m函數(shù)調(diào)用規(guī)則如下:x,val,status=ip(c,A,b,Aeq,beq,lb,ub,M,e)該函數(shù)求解如下整數(shù)規(guī)劃問題:Min c*xSubject toA*x=bAeq*x=beqLb=x=ubM 是存放整數(shù)變量編號的向量e 是整數(shù)取值的容忍度,當一個變量同其取值之間差值小于e 時,該變量被認為是已經(jīng)為整數(shù)。一般

28、e=5.96e-08;該函數(shù)返回變量如下:X: 整數(shù)規(guī)劃的解Val;目標函數(shù)最優(yōu)值Status=1如果成功=0如果迭代到線性規(guī)劃的最大迭代次數(shù)=-1如果沒有解【例 5.10】求解滿足以下條件的極值:max z=20x1+10x2st5x1+4x2=242x1+5x2=0x1,x2 取整數(shù)分析:由于函數(shù)是求極小值,故先變換成求負的最小值,然后變成正的最大值。具體如下:c=-20,-10;A=5 4;2 5;b=24;13;lb=0 0;M=1 2;e=5.96e-08;x,val,status=ip(c,A,b,lb,M,e);x,maxf=-val,status計算結(jié)果如下:x =41maxf

29、 =90.0000status =1【例5.11】現(xiàn)有一個容積為36 立方米 ,最大載重40 噸的集裝箱,需裝入兩種產(chǎn)品.產(chǎn)品甲為箱式包裝,每箱體積0.3 立方米 ,重0.7 噸 ,每箱價值1.5 萬元 ;產(chǎn)品乙為袋式包裝,每袋體積為0.5立方米,重0.2 噸 ,每袋價值1 萬元 .問箱子應(yīng)當裝入多少產(chǎn)品甲(不可拆開包裝)以及多少產(chǎn)品乙( 可以拆開包裝)才能使集裝箱載貨價值最大?模型求解:假設(shè)應(yīng)裝入x1箱甲產(chǎn)品,x2袋乙產(chǎn)品,則問題變成如下數(shù)學模型:max z=1.5x1+x2st0.3x1+0.5x2=360.7x1+0.2x2=0x1 取整數(shù)編程如下:c=-1.5,-1;A=0.3 0.5

30、;0.7 0.2;b=36;40;lb=0 0;M=1;e=5.96e-08;x,val,status=ip(c,A,b,lb,M,e);x,fmax=-val,status計算結(jié)果為:x =44.000045.6000fmax =111.6000status =15.4 非線性函數(shù)求極值(非線性規(guī)劃)非線性規(guī)劃與線性規(guī)劃的區(qū)別是:其目標函數(shù)與約束條件至少有一處是非線性的。非線性規(guī)劃問題可分為無約束問題和有約束問題。5.4.1無約束非線性規(guī)劃問題:1有界單變量優(yōu)化函數(shù)fminbnd調(diào)用格式:x,val=fminbnd(f,x1,x2),其中f 是用來求極值的函數(shù),可以是函數(shù)名,也可以是函數(shù)表達

31、式,意思是求函數(shù)f 在區(qū)間x1,x2 上的極小值(不是最小值)?!纠?5.12】 求函數(shù) y( x 2為了能更方便的找出極值點,先用1) 31 的極值plot 函數(shù)畫出該函數(shù)的曲線圖,輸入如下命令:x=-2:0.1:2;f=(x.2-1).3+1;plot(x,f)302520151050-1.5-1-0.500.511.52-2圖 5.1從圖中可以看出函數(shù)有極小值.輸入如下命令:f1=(x.2-1).3+1; x,val=fminbnd(f1,-2,2)回車后可得: x = 4.4409e-016 ; val =0 ,即可知極小值為 f(0)=0 【例 5.13】 求解 f(x)=x2-2x

32、-1 的極值解答:先作圖:x=-1:0.1:3;f=x.2-2*x-1;plot(x,f)21.510.50-0.5-1-1.5-2-0.500.511.522.53-1圖 5.2從 中可以看出函數(shù)有極小 . 入如下命令:f1= x.2-2*x-1; x,val=fminbnd(f1,-1,3)回 后可得: x =1 ;val =-2 ,即可知極小 f(1)=-22求解多元無 束最 化 函數(shù) fminunc 用格式:x=fminunc(fun,x0)x=fminunc(fun,x0,options)x=fminunc(fun,x0,options,P1,P2)x,fval=fminunc( )

33、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 指定 化參數(shù)。返回的 x 最 解向量; fval 為 x 的目 函數(shù) ; exitflag 描述函數(shù)的 出條件; output返回 化信息; grad 返回目 函數(shù)在x 的梯度。 Hessian 返回在 x 目 函數(shù)的 Hessi

34、an矩 信息?!纠?5.14】 : 求min f 8 x 4 y x 23 y 2通 確定一個初始點:x,y=meshgrid(-10:0.5:10);z= 8*x-4*y +x.2+3*y.2;surf(x,y,z)圖 5.3選初始點: x0=(0,0)x0=0,0;編輯 ff1.m 文件function f=ff1(x)f=8*x(1)-4*x(2) +x(1)2+3*x(2)2;程序調(diào)用 :x0=0,0; x,fval,exitflag=fminunc(ff1,x0)結(jié)果: x =-4.00000.6667fval =-17.3333exitflag =1【例 5.15】: min f4

35、 x 25 xy2 y 2解:通過繪圖確定一個初始點:x,y=meshgrid(-10:0.5:10);z= 4*x.2+5*x.*y +2*y.2;surf(x,y,z)120010008001060054000200-501050-5-10-10圖 5.4選初始點: x0=(0,0)x0=0,0;編輯 ff2.m 文件function f=ff2(x)f=4*x(1).2+5*x(1).*x(2) +2*x(2).2;程序調(diào)用 :x0=0,0; x,fval,exitflag=fminunc(ff2,x0)結(jié)果: x = 0 0fval =0exitflag =1【例 5.16】:計算 z

36、 x 3y33x 23 y29 x 的極值解: 1)求極小值編寫目標函數(shù) :function f=li5_16(x)f=x(1)3-x(2)3+3*x(1)2+3*x(2)2-9*x(1);主程序窗口調(diào)用:x0=0 0;x,fval, exitflag=fminunc(li5_16 ,x0)計算結(jié)果:x =1.0000-0.0000fval =-5exitflag =1即 f(1,0)=-5 為極小值。2)求極大值:可以變成求目標函數(shù)負的極小值,然后反號即可求出極大值。 寫目 函數(shù) :function f=li5_161(x)f=-x(1)3+x(2)3-3*x(1)2-3*x(2)2+9*x

37、(1);主程序窗口 用:x0=-1 1;x,fval, exitflag=fminunc(li5_161 ,x0),maxf=-fval 算 果:x =-3.00002.0000fval =-31.0000exitflag =1maxf =31.0000即 f(-3,2)=31 極大 。5.4.2 有 束非 性 劃 :數(shù)學模型:min f ( x)s.t.AxbAeq. xbeqC( x)0Ceq( x)0lbxub線 性不等式約 束線性 等式 約束非線性不等 式約 束非 線性等式約 束有 界約 束 用格式:x=fmincon(f,x0,A,b)x=fmincon(f,x0,A,b,Aeq,b

38、eq)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval=fmincon( )x, fval, exitflag=fmincon( )x, fval, exitflag, output=fmincon( )x, fval, exitflag, output, lambda=fmincon( )A,b 明: x=fmincon(f,x0,A,b)返回 x 最 解向量。其中:f 目 函數(shù), 不

39、等式 束的系數(shù)矩 和右端列向量。x=fmincon(f,x0,A,b,Aeq,beq)作有等式 束的 。若沒有不等式 束, 令x0 初始點。A= 、b= 。x=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon ,options)中 lb ,ub 量x 的下界和上界;options 指定 化參數(shù) 行最小化。lambda是lagrange乘子,它體 哪個 束有效。nonlcon=fun, 由 M 文件 fun.m 定非 性不等式 束c (x) 0 和等式 束g(x)=0 ;非 性 束條件函數(shù)格式一般如下:functionC,Ceq=mycon(x)C= % 算 xCeq=% 算 的非 性不等式 束x 的非 性等式 束C(x)=0 Ceq(x)=0的函數(shù) ;的函數(shù) ;【例 5.17】:求解: min 100(x2222-x1) +(1-x 1)s.tx1 2;x2 2程序:首先建立

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論