非線性規劃例子_第1頁
非線性規劃例子_第2頁
非線性規劃例子_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Fmincon 函數這個函數的基本形式為x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon, options)其中fun為你要求最小值的函數,可以單寫一個文件設置函數,如以上給的例子中。 如果fun中有N個變量,如x y z,或者是X1, X2,X3,什么的,自己排個順序,在fun中統 一都是用 x(1),x(2).x(n)表示的。x0,表示初始的猜測值,大小要與變量數目相同A b為線性不等約束,A*x = b,A應為n*n階矩陣,學過線性代數應不難寫出A和bAeq beq為線性相等約束,Aeq*x = beq。Aeq beq同上可求lb ub為變量的上下

2、邊界,正負無窮用-Inf和Inf表示,lb ub應為N階數組nonlcon為非線性約束,可分為兩部分,非線性不等約束c,非線性相等約束,ceq 可按下面的例子設置function c,ce = nonlconl(x)c = -x(1)+x(2)A2-4;ce = ;% no nonlinear equality constraints7,最后是options,可以用OPTIMSET函數設置,見上例具體可見OPTIMSET函數的幫助文件。fmincon函數提供了大型優化算法和中型優化算法。默認時,若在fun函數中提供了梯 度(options參數的GeadObj設置為on),并且只有上下界存在或只

3、有等式約束,fmincon 函數將選擇大型算法。當既有等式約束又有梯度約束時,使用中型算法。fmincon函數的中型算法一般是使用序列二次規劃。在每一步迭代中求解二次規劃子問 題,并用BFGS法更新Lagrangian乘子和Hessian矩陣。fmincon函數的大型算法采用了 subspace trust region優化算法。這種算法是把目標函數在 點x的鄰域泰勒展開(x可以認為是人為提供的初始猜測),這個展開的鄰域就是所謂的trust region,泰勒展開進行到二階項為止。fmincon函數可能會給出局部最優解,這與初始值的選取有關。目標函數:f=x1y1+x2y2+x3y3+x4y4

4、 約束條件:4y1+80y2+35y3+25y4=600 9y1+2y2+30y3+40y4=700 y1=-6.49*x1+6748 y2=-1.2*x2+1184 y3=-0.22x3+0.026x4+420 y4=-0.034x4+0.027x3+70 所有變量均=0求:目標函數最大值我的求解過程如下:在Matlab下輸入:edit,然后將下面兩行百分號之間的內容,復制進去,保存%function f=zhidao_theendoflife(x)%目標函數構造x1=x(1);x2=x(2);x3=x (3);x4=x(4);y1=-6.49*x1+6748;y2=-1.2*x2+1184

5、;y3=-0.22*x3+0.026*x4+420;y4=-0.034*x4+0.027*x3+70;f=x1*y1+x2*y2+x3*y3+x4*y4;f=-f;%你要求最大值,這里加負,然后計算最小值% %在Matlab下輸入:edit,然后將下面兩行百分號之間的內容,復制進去,保存%function y,yeq=zhidao_theendoflife_cond(x)%約束條件x1=x(1);x2=x(2);x3=x (3);x4=x(4);y1=-6.49*x1+6748;y2=-1.2*x2+1184;y3=-0.22*x3+0.026*x4+420;y4=-0.034*x4+0.027*x3+70;y=4*y1+80*y2+35*y3+25*y4-600;9*y1+2*y2+30*y3+40*y4-700; %加約束的話,在這里加yeq=;%等式約束%返回Matlab輸入:x0=0;0;0;0; xm=0;0;0;0; xM=inf*1;1;1;1; A=; B=; Aeq=; Beq=; x,f_min,flag,c=fmincon(zhidao_theendoflife,x0,A,B,Aeq,Beq,xm,xM,zhidao_theendo

溫馨提示

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

評論

0/150

提交評論