機(jī)械優(yōu)化設(shè)計(jì)matlab-十四講_第1頁
機(jī)械優(yōu)化設(shè)計(jì)matlab-十四講_第2頁
機(jī)械優(yōu)化設(shè)計(jì)matlab-十四講_第3頁
機(jī)械優(yōu)化設(shè)計(jì)matlab-十四講_第4頁
機(jī)械優(yōu)化設(shè)計(jì)matlab-十四講_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

一維優(yōu)化問題一維優(yōu)化問題的數(shù)學(xué)模型為:

在matlab中,一維優(yōu)化問題,也就是一維搜索問題的實(shí)現(xiàn)是由函數(shù)fminbnd來實(shí)現(xiàn)的。具體的調(diào)用格式如下:調(diào)用格式1:X=fminbnd(FUN,x1,x2)這種格式的功能是:返回在區(qū)間(x1,x2)中函數(shù)FUN最小值對應(yīng)的X值。調(diào)用格式2:[X,FVAL]=fminbnd(FUN,x1,x2)這種格式的功能是:同時(shí)返回解x和在點(diǎn)x處的目標(biāo)函數(shù)值。

案例如圖,有一塊邊長為6m的正方形鋁板,四角截去相等的邊長為x的方塊并折轉(zhuǎn),造一個(gè)無蓋的箱子,問如何截法(x取何值)才能獲得最大容器的箱子,只寫出這一優(yōu)化問題的數(shù)學(xué)模型。用matlab軟件的優(yōu)化工具箱求解。

根據(jù)題意,該無蓋箱子的長和寬均為6-2x,高為x,取設(shè)計(jì)變量x根據(jù)長方體容積表達(dá)式,得:建立約束優(yōu)化問題數(shù)學(xué)模型得Matlab程序一:[x,xfval]=fminbnd(‘-x*(6-2*x)^2’,0,3)Matlab程序二:首先編寫m文件functionf=volf(x)f=-(6-2*x)^2*x然后,調(diào)用fminbnd函數(shù)求解[X,FVAL]=fminbnd(@volf,0,3)無約束非線性規(guī)劃問題在MATLAB優(yōu)化工具箱函數(shù)中,有以下兩個(gè)函數(shù)用來求解上述問題:fminunc、fminsearchfminunc

調(diào)用格式1:X=fminunc(FUN,X0)

這種格式的功能是:給定起始點(diǎn)X0,求函數(shù)FUN的局部極小點(diǎn)X。其中,X0可以是一個(gè)標(biāo)量、向量或者矩陣。調(diào)用格式2:[X,FVAL]=fminunc(FUN,X0)

這種格式的功能是:同時(shí)返回解x和在點(diǎn)x處的目標(biāo)函數(shù)值。1.求函數(shù)F=sin(x)+3的最小值點(diǎn)。functionf=demfun(x)f=sin(x)+3然后,在命令窗口中輸入:X=fminunc(@demfun,2)得到X=4.7124求函數(shù)的極小點(diǎn)。

在命令窗口中輸入X=fminunc(@(x)5*x(1)^2+x(2)^2,[5;1])x=1.0e-006*-0.7898-0.07022.fminsearchfminsearch使用單純形法,一種直接搜索的方法。調(diào)用格式1:X=fminsearch(FUN,X0)這種格式的功能是:給定起始點(diǎn)X0,求函數(shù)FUN的局部極小點(diǎn)X。其中,X0可以是一個(gè)標(biāo)量、向量或者矩陣。調(diào)用格式2:[X,FVAL]=fminsearch(FUN,X0)這種格式的功能是:同時(shí)返回解x和在點(diǎn)x處的目標(biāo)函數(shù)值。局限性:(1)應(yīng)用該函數(shù)可能會得到局部最優(yōu)解。(2)該函數(shù)只對實(shí)數(shù)進(jìn)行最小化。如果x為復(fù)數(shù)時(shí),必須將它分為實(shí)數(shù)部和虛數(shù)部。求解函數(shù)的最小值點(diǎn)。方法一:直接在MATLAB命令窗口中輸入:[x0,fval]=fminsearch(’2*x(1)^3+4*x(1)*x(2)^3-10*x(1)*x(2)+x(2)^2’,[0,0]);方法二:在MATLAB的M編輯器中建立函數(shù)文件用來保存所要求解最小值的函數(shù):functionf=demfun1(x)f=2*x(1)^3+4*x(1)*x(2)^3-10*x(1)*x(2)+x(2)^2;保存為demfun1.m。然后,在命令窗口中調(diào)用該函數(shù),這里有兩種調(diào)用方式:調(diào)用方式一:在命令窗口中輸入:[x,fval]=fminsearch('demfun1',[0,0])調(diào)用方式二:在命令窗口中輸入:[x,fval]=fminsearch(@demfun1,[0,0])得到的結(jié)果X=1.00160.8335Fval=-3.32411.線性規(guī)劃約束優(yōu)化問題f=[-7;-5];A=[3,2;4,6;0,7];b=[90;200;210];lb=zeros(2,1);[x,fval]=linprog(f,A,b,[],[],lb)調(diào)用linprog函數(shù)2一般的約束非線性最優(yōu)化問題約束非線性最優(yōu)化是指目標(biāo)函數(shù)和約束函數(shù)都是定義在n維歐幾里得空間上的實(shí)值連續(xù)函數(shù),并且至少有一個(gè)是非線性的。X=fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON)這個(gè)函數(shù)格式同上,同時(shí),約束中增加由函數(shù)NONLCON定義的非線性約束條件,在函數(shù)NONLCON的返回值中包含非線性等式約束Ceq(X)=0和非線性不等式C(X)<=0。其中,C(X)和Ceq(X)均為向量。求解如下形式的約束非線性規(guī)劃問題

首先,編制兩個(gè)函數(shù)文件,分別保存目標(biāo)函數(shù)和約束函數(shù)目標(biāo)函數(shù)文件

functionf=objfun(x)f=5*x(1)^2+2*x(2)^2約束函數(shù)文件function[c,ceq]=confun(x)c=1.5/x(1)-x(2);ceq=[];最后,調(diào)用fmincon函數(shù)求解[X,FVAL]=fmincon(@(x)objfun(x),[1;2],[],[],[],[],[],[],@(x)confun(x))案例1薄鐵板長20cm,折成梯形槽,求梯形側(cè)邊多長及底角多大,才會使槽的斷面積最大。寫出這一優(yōu)化設(shè)計(jì)問題的數(shù)學(xué)模型。用matlab軟件的優(yōu)化工具箱求解.解取梯形側(cè)邊和底角作為設(shè)計(jì)變量,分別為x1,x2。建立優(yōu)化問題的數(shù)學(xué)模型如下:functionf=fun1(x)a=pi/180;f=-(20-2*x(1))*x(1)*sin(x(2)*a)-x(1)^2*sin(x(2)*a)*cos(x(2)*a);

>>x0=[1,10]';lb=[0,0]';ub=[20,90]';>>[x,fmin]=fmincon(@fun1,x0,[],[],[],[],lb,ub)符號表示法fun='-(20-2*x(1))*x(1)*sin(x(2)*pi/180)-x(1)^2*sin(x(2)

溫馨提示

  • 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

提交評論