第8章-代數(shù)方程求解和最優(yōu)化問題課件_第1頁
第8章-代數(shù)方程求解和最優(yōu)化問題課件_第2頁
第8章-代數(shù)方程求解和最優(yōu)化問題課件_第3頁
第8章-代數(shù)方程求解和最優(yōu)化問題課件_第4頁
第8章-代數(shù)方程求解和最優(yōu)化問題課件_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章代數(shù)方程求解和最優(yōu)化問題代數(shù)方程是未知數(shù)和常數(shù)進(jìn)行有限次代數(shù)運算所組成的方程,它包括有理方程和無理方程。代數(shù)方程的解稱為的根或零點,其求解一般是通過代數(shù)幾何來進(jìn)行。優(yōu)化設(shè)計問題數(shù)學(xué)模型的一般形式是優(yōu)化設(shè)計問題數(shù)學(xué)模型包括維設(shè)計變量、約束條件(不等式約束條件和等式約束條件)和目標(biāo)函數(shù)三項要素。優(yōu)化問題的數(shù)學(xué)模型是實際優(yōu)化問題的數(shù)學(xué)抽象,在滿足所有的約束條件的情況下,求解維設(shè)計變量,使某項或多項設(shè)計目標(biāo)(技術(shù)經(jīng)濟(jì)指標(biāo))達(dá)到最優(yōu)。應(yīng)當(dāng)指出,對于等式約束條件,施加于該項設(shè)計的等式約束條件數(shù)

必須小于優(yōu)化設(shè)計問題的維數(shù)

。如果

,則由

個等式約束方程限制了設(shè)計變量只可能有唯一的解,沒有最優(yōu)化的余地。8.1代數(shù)方程求解8.1.1代數(shù)方程圖解法符號繪圖函數(shù)fplot()和ezplot()也可以用于圖解法求代數(shù)方程的根,它適用于求解維數(shù)較少的一維方程或二維方程組。對于一維方程圖解,其解就是函數(shù)曲線與x軸交點所對應(yīng)的變量數(shù)值。如果有多個交點,則表示該方程有多個解;如果沒有交點,則表示該方程沒有解。例如,在例5-3使用符號繪圖函數(shù)繪制代數(shù)方程的圖形(圖5-3左圖)中可見,函數(shù)在區(qū)間[-5,5]內(nèi)與x軸有3個交點,因此該代數(shù)方程該區(qū)間內(nèi)有3個實根。對于二維方程組圖解,其解就是兩條函數(shù)曲線的交點所對應(yīng)的坐標(biāo)數(shù)值。如果只有1個交點(或切點),則表示該方程組有1個解;如果有2個交點,則表示該方程組有2個解;如果沒有交點,則表示該方程沒有解。例8-1

用圖解法求解二維聯(lián)立方程。a=-2;b=2;%定義橫軸區(qū)間ezplot('x^2+y^2-1.69',[a,b]);axis'equal';%控制坐標(biāo)軸比例相等holdon;gridon;ezplot('2.4*x^3-y+1.5',[a,b]);line([a,b],[0,0]);line([0,0],[b,a]);xlabel('\bfx');ylabel('\bfy');title('\bf二維代數(shù)方程組的圖解法')gtext('\bff_1=x^2+y^2-1.3^2');gtext('\bff_2=2.4x^3-y+1.5');8.1.2代數(shù)方程的解析解求非線性方程或方程組解析解的函數(shù)調(diào)用格式:

X=solve(fun,x)其中,fun是符號方程的函數(shù)表達(dá)式,x是自變量,X是解析解。應(yīng)當(dāng)指出,函數(shù)solve(fun,x)也可以用于求線性方組的解析解。例8-2求非線性解方程組解析解

%二維非線性方程組的解析解symsabxy;f1='x^2-x*y-a';f2='y^2-x*y+b';disp('二維非線性方程組的解析解:')[X,Y]=solve(f1,f2,'x,y')M文件運行結(jié)果:二維非線性方程組的解析解:x=a/(a-b)^(1/2)-a/(a-b)^(1/2)Y=1/(a-b)^(1/2)*b-1/(a-b)^(1/2)*b8.1.3線性方程組的數(shù)值解最簡便方法是使用矩陣左除或是矩陣求逆的方法,求解線性方程組AX=b。

X=A\bX=inv(A)*b其中,A是方程組的系數(shù)矩陣,b是常數(shù)向量,X是解析解。例8-3求線性方程組的數(shù)值解%線性方程組的數(shù)值解AA=[1,1,1,1;1,2,-1,4;2,-3,-1,-5;3,1,2,11];bb=[5;-2;-2;0];%線性方程組常數(shù)向量disp('采用矩陣左除求出線性方程組的解:')xx=AA\bbdisp('采用矩陣求逆求出線性方程組的解:')zx=inv(AA)*bbdisp('計算殘量:')r=AA*zx-bbdisp('計算殘量的模:')R=norm(r)M文件運行結(jié)果:采用矩陣左除或矩陣求逆求出線性方程組的解:xx(zx)=1.00002.00003.0000-1.0000計算殘量:r=1.0e-014*0.08880.2220-0.44410.1776計算殘量的模:R=5.3475e-0158.1.4非線性方程的數(shù)值解1、一維非線性方程對于一維非線性方程求解,可以看作是單變量的極小化問題,通過不斷縮小搜索區(qū)間來逼近一維問題的真解。因此,可以使用一維非線性方程優(yōu)化解函數(shù)來求解。其調(diào)用格式是:

[x,fx,flag]=fzero(fun,x0)其中,輸入?yún)?shù)中:fun是非線性方程的函數(shù)表達(dá)式;x0是根的初值;輸出參數(shù)中:x是非線性方程的數(shù)值解;fx是數(shù)值解的函數(shù)值;返回參數(shù)flag>0時,表示求解成功,否則求解出現(xiàn)問題。函數(shù)fzero所使用的算法為二分法、secant法和逆二次插值法的組合。例8-4求解一維非線性方程%求解單變量x非線性方程x0=0.1;%解的初值[xz,fz,flag]=fzero('atan(x)+exp(x)',x0);disp('求解成功性判斷參數(shù):'),flagdisp('非線性方程的解:'),xzdisp('非線性方程解的函數(shù)值:'),fzM文件運行結(jié)果:求解成功性判斷參數(shù):flag=1非線性方程的解:xz=-0.6066非線性方程解的函數(shù)值:fz=-1.1102e-0162、多維非線性方程組對于多維非線性方程組使用多維非線性方程組優(yōu)化解函數(shù)求解的格式:

[x,fval,flag]=fsolve(fun,x0)其中,輸入?yún)?shù)中fun是非線性方程組的向量函數(shù)表達(dá)式;x0是根的初值;輸出參數(shù)中x是非線性方程(組)的數(shù)值解;fval是數(shù)值解的函數(shù)值;返回參數(shù)flag>0時,表示求解成功.函數(shù)fsolve的作用是從根的初值x0開始,以逐漸減少誤差的算法,搜索出滿足多維非線性方程組fun的實根x和對應(yīng)的函數(shù)值fval。例8-5求解二維非線性方程組x0=[2;3];%解的初值%定義非線性方程組表達(dá)式f和向量xfun=inline('[2*x(1)-x(2)^2-exp(-x(1));-x(1)^3+x(1)*x(2)-exp(-x(2))]','x')[xn,fval,flag]=fsolve(fun,x0);disp('求解成功性判斷參數(shù):'),flagifflag>0disp('方程組的解成功')elseifflag<=0disp('方程組的解不成功')enddisp('非線性方程組的解:'),xndisp('非線性方程組解的函數(shù)值:'),fvalM文件運行結(jié)果:求解成功性判斷參數(shù):flag=1方程組的解成功非線性方程組的解:xn=0.99781.2755非線性方程組解的函數(shù)值:fval=1.0e-006*-0.1945-0.3372兩個非線性方程解的函數(shù)值非常接近于0,說明其解的誤差很小,且判斷參數(shù)flag>0,解成功。8.2MATLAB優(yōu)化工具箱的應(yīng)用MATLAB優(yōu)化工具箱(OptimizationToolbox)中包含有一系列優(yōu)化算法和模塊,可以用于求解線性規(guī)劃和二次規(guī)劃、函數(shù)的最大和最小值、非線性規(guī)劃、多目標(biāo)優(yōu)化、非線性最小二乘逼近和曲線擬合、非線性系統(tǒng)方程和復(fù)雜結(jié)構(gòu)的大規(guī)模優(yōu)化問題。常用的優(yōu)化功能函數(shù)有:求解線性規(guī)劃問題的函數(shù)linprog求解二次規(guī)劃問題的函數(shù)quadprog求解無約束非線性規(guī)劃問題的函數(shù)fminbnd、fminunc和fminsearch求解約束非線性規(guī)劃問題的函數(shù)fmincon求解多目標(biāo)優(yōu)化問題的函數(shù)fgoalattain和fminimax使用MATLAB優(yōu)化工具箱函數(shù)處理優(yōu)化設(shè)計問題的分析和計算的一般步驟是:1、針對具體工程問題建立優(yōu)化設(shè)計的數(shù)學(xué)模型(不等式約束條件表示成的形式);2、分析數(shù)學(xué)模型中的目標(biāo)函數(shù),并建立相應(yīng)的目標(biāo)函數(shù)文件(包括計算目標(biāo)函數(shù)必需的輸入?yún)?shù),描述目標(biāo)函數(shù)表達(dá)式等內(nèi)容),以自定目標(biāo)函數(shù)文件名將它存儲在工作間\MATLAB\WORK\中;3、分析數(shù)學(xué)模型中的非線性約束條件,并建立相應(yīng)的非線性約束函數(shù)文件(包括計算約束函數(shù)必需的輸入?yún)?shù),描述約束函數(shù)表達(dá)式等內(nèi)容),以自定的約束函數(shù)文件名將它存儲在工作間\MATLAB\WORK\中;4、分析優(yōu)化設(shè)計的數(shù)學(xué)模型,選擇適用的優(yōu)化工具函數(shù),并建立調(diào)用優(yōu)化工具函數(shù)的命令文件(內(nèi)容包括輸入初始點,建立設(shè)計變量的線性約束和邊界約束的矩陣和向量,使用優(yōu)化工具函數(shù)調(diào)用目標(biāo)函數(shù)文件和約束函數(shù)文件的語句,以及運算結(jié)果輸出等內(nèi)容),將優(yōu)化工具函數(shù)作為“黑箱”調(diào)用,以自定的命令文件名將它存儲在工作間\MATLAB\WORK\中。將優(yōu)化設(shè)計的命令文件復(fù)制到MATLAB命令窗口的運算提示符“>>”后面運行。8.2.1線性規(guī)劃問題線性規(guī)劃(LinearProgramming)是數(shù)學(xué)規(guī)劃中最簡單和基本的問題,它主要用來解決在有限的資源條件下完成最多的任務(wù),或是確定如何統(tǒng)籌任務(wù)完成以使用最少的資源。線性規(guī)劃的數(shù)學(xué)模型包括決策變量X、約束條件和目標(biāo)函數(shù)三個要素,它的決策變量是非負(fù)的,而且約束函數(shù)和目標(biāo)函數(shù)都是線性函數(shù)。線性規(guī)劃的數(shù)學(xué)模型表示為用于求解線性規(guī)劃的MATLAB函數(shù)是linprog,其調(diào)用格式為:[xopt,fopt]=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)其中,輸入?yún)?shù)有:

f是目標(biāo)函數(shù)各維變量的系數(shù)向量;

A和b是不等式約束函數(shù)的系數(shù)矩陣和常數(shù)向量;

Aeq和beq是等式約束函數(shù)系數(shù)矩陣和常數(shù)向量;

lb和ub分別是設(shè)計變量的下限和上限;

x0是初始點;

options是設(shè)置優(yōu)化選項參數(shù)(參考表8-1)。輸出參數(shù)有:

xopt和fopt是返回目標(biāo)函數(shù)最優(yōu)解及其函數(shù)值。例8-6求解線性規(guī)劃問題編制求解線性規(guī)劃問題的M文件:%求解線性規(guī)劃問題f=[-2,-1,3,-5]';%各維變量的系數(shù)向量A=[1,2,4,-1;2,3,-1,1;1,0,1,1];%系數(shù)矩陣b=[6,12,4];%不等式約束函數(shù)的常數(shù)向量lb=[0,0,0,0];%設(shè)計變量的下限[xopt,fopt]=linprog(f,A,b,[],[],lb)由于線性規(guī)劃問題中沒有等式約束,所以相應(yīng)的系數(shù)矩陣Aeq和常數(shù)向量beq用空矩陣符號“[]”表示。程序運行結(jié)果:Optimizationterminatedsuccessfully.xopt=0.00002.66670.00004.0000fopt=-22.6667可見,約束最優(yōu)解位于兩個邊界約束和的交集上。8.2.2二次規(guī)劃問題二次規(guī)劃問題(QuadraticProgramming)是最簡單的非線性規(guī)劃問題,其目標(biāo)函數(shù)是二次函數(shù),而約束函數(shù)是線性函數(shù)。由于二次規(guī)劃問題的求解比較成熟,有時可以將一些求解比較困難的一般非線性約束規(guī)劃問題轉(zhuǎn)化為較易處理的序列二次規(guī)劃子問題求解。用于求解二次規(guī)劃問題的函數(shù)是quadprog二次規(guī)劃的數(shù)學(xué)模型為使用格式為

[xopt,fopt]=quadprog(H,C,A,b,Aeq,beq,lb,ub,x0,options)其中,輸入?yún)?shù)有:

H是目標(biāo)函數(shù)的海色矩陣;

C是目標(biāo)函數(shù)設(shè)計變量一次項的系數(shù)向量;

A和b是不等式約束函數(shù)的系數(shù)矩陣和常數(shù)向量;

Aeq和beq是等式約束函數(shù)的系數(shù)矩陣和常數(shù)向量

lb和ub分別是設(shè)計變量的下限和上限;

x0是初始點;

options是設(shè)置優(yōu)化選項參數(shù)(參考表8-1)。輸出參數(shù)有:xopt和fopt返回目標(biāo)函數(shù)的最優(yōu)解及其函數(shù)值。例8-7求解約束優(yōu)化問題⑴將目標(biāo)函數(shù)寫成二次函數(shù)的形式其中:線性不等式約束函數(shù)的系數(shù)矩陣和常數(shù)向量為線性等式約束函數(shù)的系數(shù)矩陣和常數(shù)向量為⑵編制求解二次規(guī)劃的M文件%求解二次規(guī)劃問題H=[2,-2,0;-2,3,0;0,0,2];%函數(shù)的海色矩陣C=[0,0,1];%各維變量的系數(shù)向量A=[1,3,2];%不等式約束函數(shù)的系數(shù)矩陣b=[6];%不等式約束函數(shù)的常數(shù)向量Aeq=[2,-1,1];%等式約束函數(shù)的系數(shù)矩陣beq=[4];%等式約束函數(shù)的常數(shù)向量lb=zeros(3,1);%設(shè)計變量的下限[xopt,fopt]=quadprog(H,C,A,b,Aeq,beq,lb)%調(diào)用線性規(guī)劃函數(shù)%最優(yōu)點的約束函數(shù)值g=A*xopt-b%不等式約束h=Aeq*xopt-beq%等式約束M文件運行結(jié)果:Optimizationterminatedsuccessfully.xopt=2.47831.08700.1304fopt=2.6739g=8.8818e-016h=-4.4409e-016可見,二次規(guī)劃的約束最優(yōu)解位于不等式約束和等式約束的交集。8.2.3無約束非線性規(guī)劃問題1、函數(shù)fminbnd應(yīng)用函數(shù)fminbnd只能求解單變量的無約束非線性規(guī)劃問題,而且要求目標(biāo)函數(shù)為連續(xù)函數(shù)。調(diào)用格式

[xopt,fopt,exitflag,output]=fminbnd(fun,x1,x2,options)其中,輸入?yún)?shù)有:

fun是目標(biāo)函數(shù);

[x1,x2]是迭代搜索區(qū)間,即變量的邊界約束,即x1≤x≤x2;

options是設(shè)置優(yōu)化選項參數(shù)(見表8-1)。例如options(1)為負(fù)值時,則顯示中間過程,默認(rèn)值是options(1)=0;options(2)為最優(yōu)解xopt的誤差范圍,默認(rèn)值是1e-4;等等。輸出參數(shù)有:

Xopt為返回的滿足fun取得最小值的x的值;

fopt為目標(biāo)函數(shù)最小值;

exitflag表示退出條件:exitflag>0表示計算收斂,exitflag=0表示超過了最大的迭代次數(shù),exitflag<0表示計算不收斂。

output表示輸出信息,它有3分量:iterations表示迭代次數(shù),funcCount表示代入函數(shù)次數(shù),algorithm表示選用的優(yōu)化算法。例8-8

求解單變量的無約束非線性規(guī)劃問題%單變量函數(shù)的無約束非線性優(yōu)化fun='(x^5+x^3+x^2-1)/(exp(x^2)+sin(-x))';%定義一維目標(biāo)函數(shù)[xopt,fopt,exitflag,output]=fminbnd(fun,-2,2)ezplot(fun,[-2,2]);%繪制符號函數(shù)圖形gridon;xlabel('\bfx');ylabel('\bfy');title('\bf單變量函數(shù)的無約束非線性優(yōu)化')gtext('\bfy=(x^5+x^3+x^2-1)/(e^{x^2}+sin(-x))');gtext('\bfx^*');M文件運行結(jié)果:xopt=0.2176fopt=-1.1312exitflag=1output=iterations:12%迭代次數(shù)

funcCount:13%調(diào)用函數(shù)次數(shù)

algorithm:'goldensectionsearch,parabolicinterpolation'message:[1x112char]2、函數(shù)fminsearch應(yīng)用函數(shù)fminsearch可用于求解單變量或多變量的無約束非線性規(guī)劃問題,它的優(yōu)化算法比較簡單,適合處理目標(biāo)函數(shù)階次低、間斷點多和比較簡單的優(yōu)化問題。它的使用格式為

[xopt,fopt,exitflag,output]=fminsearch(fun,x0,options)其中,輸出參數(shù)有:

xopt和fopt返回目標(biāo)函數(shù)的最優(yōu)解及其函數(shù)值。返回參數(shù)exitflag表示退出條件:exitflag>0表示計算收斂,exitflag=0表示超過了最大的迭代次數(shù),exitflag<0表示計算不收斂。返回參數(shù)output表示輸出信息,它有3分量:iterations表示迭代次數(shù),funcCount表示代入函數(shù)次數(shù),algorithm表示選用的優(yōu)化算法。輸入?yún)?shù)有:

fun是目標(biāo)函數(shù);

x0是初始點;

options是設(shè)置優(yōu)化選項參數(shù)(見表8-1)。如,

options(1)為負(fù)值時,則顯示中間過程,默認(rèn)值是options(1)=0;

options(2)為最優(yōu)解xopt的誤差范圍,默認(rèn)值是1e-4;

options(3)為最優(yōu)解fopt的誤差范圍,默認(rèn)值是1e-4;

options(14)是為函數(shù)求值的最大次數(shù),默認(rèn)值是options(14)=200;等等。例8-9

求二維無約束非線性函數(shù)的最優(yōu)解:%二維無約束非線性優(yōu)化fun='(x(1)^2-2*x(1))*exp(-x(1)^2-x(1)*x(2)-x(2)^2)';[xopt,fopt,exitflag,output]=fminsearch(fun,[1,1])f='(x^2-2*x)*exp(-x^2-x*y-y^2)';%符號函數(shù)ezmeshc(f);%繪制符號函數(shù)圖形(含等高線)xlabel('\bfx');ylabel('\bfy');zlabel('\bff(x,y)');M文件運行結(jié)果:xopt=0.6111-0.3055fopt=-0.6414exitflag=1output=iterations:36funcCount:70algorithm:'Nelder-Meadsimplexdirectsearch'message:[1x196char]3、函數(shù)fminunc應(yīng)用函數(shù)fminunc的優(yōu)化算法比較復(fù)雜,而且可供選擇的幾種不同算法,適用于求解比較復(fù)雜的優(yōu)化問題。它的調(diào)用格式是:[x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…)其中,輸出參數(shù)有:

x是返回目標(biāo)函數(shù)的最優(yōu)解;

fval是返回目標(biāo)函數(shù)在最優(yōu)解x點的函數(shù)值;

exitflag是返回算法的終止標(biāo)志;

output是返回優(yōu)化算法的信息的一個數(shù)據(jù)結(jié)構(gòu);grad是返回目標(biāo)函數(shù)在最優(yōu)解x點的梯度;hessian是返回目標(biāo)函數(shù)最優(yōu)解x點hessian矩陣值輸入?yún)?shù)有:

fun是調(diào)用目標(biāo)函數(shù)的函數(shù)文件名;

x0是初始點;

options是設(shè)置優(yōu)化選項參數(shù)(參考表8-1),包括有18個元素,用以在計算時控制精度要求、輸出形式、算法選擇、迭代次數(shù)、梯度等重要問題,可用空矩陣符號“[]”表示它的默認(rèn)值;

P1、P2等是傳遞給fun的附加參數(shù)。例8-10

求二維無約束非線性函數(shù)的最優(yōu)解%二維無約束非線性優(yōu)化%函數(shù)fminunc求解二維無約束非線性優(yōu)化問題fun='exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)'x0=[0,0];options=optimset('largescale','off','display','iter','tolx',1e-8,'tolfun',1e-8);[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)f='exp(x)*(4*x^2+2*y^2+4*x*y+2*y+1)';ezmesh(f);%繪制符號函數(shù)圖形xlabel('\bfx');ylabel('\bfy');zlabel('\bff(x,y)');說明:在優(yōu)化函數(shù)fminunc的輸入?yún)?shù)options命令中各個選項的意義是'largescale','off'表示關(guān)閉了大規(guī)模方式;'display'用來控制計算過程的顯示;'iter'表示顯示優(yōu)化過程的每次計算結(jié)果('off'不顯示所有輸出,'final'僅輸出最后結(jié)果);'tolx',1e-8是控制輸入變量x的允許誤差精度;‘tolfun’,1e-8是控制目標(biāo)函數(shù)的允許誤差精度(缺省值是1e-4)。M文件運算結(jié)果:fun=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)x=0.5000-1.0000%極小點fval=1.8304e-015%目標(biāo)和數(shù)值exitflag=1output=iterations:7funcCount:33stepsize:1firstorderopt:2.4568e-008algorithm:'medium-scale:Quasi-Newtonlinesearch‘%擬牛頓線搜索算法

message:[1x85char]grad=1.0e-007*%極小點的梯度

0.24570hessian=13.19466.5953%海色矩陣

6.59536.59498.2.4約束非線性規(guī)劃問題約束非線性規(guī)劃問題的數(shù)學(xué)模型表示為函數(shù)fmincon的調(diào)用格式是:[xopt,fopt,exitflag,output,hession]=fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,‘Nlc’,options,P1,P2,…)其中,輸出參數(shù)有:

xopt是返回目標(biāo)函數(shù)的最優(yōu)解;

fopt是返回目標(biāo)函數(shù)在最優(yōu)解x點的函數(shù)值;

exitflag是返回算法的終止標(biāo)志;

output是返回優(yōu)化算法的信息的一個數(shù)據(jù)結(jié)構(gòu);

grad是返回目標(biāo)函數(shù)在最優(yōu)解x點的梯度;

hessian是是返回目標(biāo)函數(shù)在最優(yōu)解x點的hessian矩陣值。輸入?yún)?shù)有:

fun是調(diào)用目標(biāo)函數(shù)的函數(shù)文件名;

x0是初始點;線性不等式約束條件的系數(shù)矩陣A和常數(shù)向量b;線性等式約束條件的系數(shù)矩陣Aeq和常數(shù)向量beq;設(shè)計變量的下界向量Lb和上界向量Ub;

‘Nlc’是定義非線性約束條件的函數(shù)名;

options是設(shè)置優(yōu)化選項參數(shù),參考表8-1;

P1、P2等是傳遞給fun的附加參數(shù)。參數(shù)A,b,Aeq,beq,Lb,Ub,options如果沒有定義,可用空矩陣符號“[]”代替。例8-11求解約束非線性規(guī)劃問題%約束非線性優(yōu)化問題%1-目標(biāo)函數(shù)文件objfun.mfunctionf=objfun(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);%2-非線性約束函數(shù)文件confun.mfunction[c,ceq]=confun(x)%非線性不等式約束c(1)=1.5+x(1)*x(2)-x(1)-x(2);c(2)=-x(1)*x(2)-10;%非線性等式約束ceq=[];%3-優(yōu)化函數(shù)應(yīng)用x0=[-11];%設(shè)計變量初值A(chǔ)=[1,1];b=0;%描述線性不等式約束g3(X)Aeq=[];beq=[];%沒有線性等式約束lb=[-10,-10];%設(shè)計變量下限ub=[10,10];%設(shè)計變量上限options=optimset('largescale','off','display','iter');[xopt,fval,exitflag,output]=fmincon(@objfun,x0,A,b,Aeq,beq,lb,ub,@confun,options)[c]=confun(xopt)%最優(yōu)點的非線性約束函數(shù)值M文件運行結(jié)果:xopt=-9.54741.0474fval=0.0236exitflag=1output=iterations:8funcCount:28stepsize:1algorithm:'medium-scale:SQP,Quasi-Newton,line-search'firstorderopt:8.5131e-007cgiterations:[]message:[1x144char]c=1.0e-007*-0.90310.90318.2.5多目標(biāo)規(guī)劃問題在規(guī)劃問題中,目標(biāo)函數(shù)根據(jù)工程優(yōu)化設(shè)計問題的主要準(zhǔn)則或幾個設(shè)計準(zhǔn)則來建立的。如果某項設(shè)計要求同時兼顧若干項設(shè)計目標(biāo)達(dá)到最優(yōu),則屬于多目標(biāo)優(yōu)化設(shè)計問題。其中,由各項設(shè)計準(zhǔn)則建立的目標(biāo)函數(shù),稱為分目標(biāo)函數(shù)。多目標(biāo)優(yōu)化問題要比單目標(biāo)優(yōu)化問題復(fù)雜得多。將多目標(biāo)優(yōu)化問題轉(zhuǎn)化為單目標(biāo)優(yōu)化問題,使多目標(biāo)優(yōu)化問題解的半有序性轉(zhuǎn)化為單目標(biāo)優(yōu)化問題解的完全有序性。這種轉(zhuǎn)化后問題的解往往是原多目標(biāo)優(yōu)化問題的一個或部分非劣解,不是全部的非劣解。如何得到一個能夠接受的最好非劣解,關(guān)鍵在于選擇某種形式的折中。MATLAB優(yōu)化工具箱函數(shù)fgoalattain用于求解的多目標(biāo)優(yōu)化問題,也稱為目標(biāo)達(dá)到問題。其形式:其中,是各個分目標(biāo)函數(shù),和是各個分目標(biāo)及其權(quán)重向量。函數(shù)fgoalattain的使用格式為:[xopt,fopt,exitflag,output,hession]=fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,‘Nlc’,options,P1,P2,…)其中,輸出參數(shù)有:

溫馨提示

  • 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

提交評論