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

下載本文檔

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

文檔簡介

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

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

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

根據(jù)題意,該無蓋箱子的長和寬均為6-2x,高為x,取設(shè)計變量x根據(jù)長方體容積表達式,得:建立約束優(yōu)化問題數(shù)學模型得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ù)中,有以下兩個函數(shù)用來求解上述問題:fminunc、fminsearchfminunc

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

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

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

在命令窗口中輸入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)這種格式的功能是:給定起始點X0,求函數(shù)FUN的局部極小點X。其中,X0可以是一個標量、向量或者矩陣。調(diào)用格式2:[X,FVAL]=fminsearch(FUN,X0)這種格式的功能是:同時返回解x和在點x處的目標函數(shù)值。局限性:(1)應用該函數(shù)可能會得到局部最優(yōu)解。(2)該函數(shù)只對實數(shù)進行最小化。如果x為復數(shù)時,必須將它分為實數(shù)部和虛數(shù)部。求解函數(shù)的最小值點。方法一:直接在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)化是指目標函數(shù)和約束函數(shù)都是定義在n維歐幾里得空間上的實值連續(xù)函數(shù),并且至少有一個是非線性的。X=fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON)這個函數(shù)格式同上,同時,約束中增加由函數(shù)NONLCON定義的非線性約束條件,在函數(shù)NONLCON的返回值中包含非線性等式約束Ceq(X)=0和非線性不等式C(X)<=0。其中,C(X)和Ceq(X)均為向量。求解如下形式的約束非線性規(guī)劃問題

首先,編制兩個函數(shù)文件,分別保存目標函數(shù)和約束函數(shù)目標函數(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è)計問題的數(shù)學模型。用matlab軟件的優(yōu)化工具箱求解.解取梯形側(cè)邊和底角作為設(shè)計變量,分別為x1,x2。建立優(yōu)化問題的數(shù)學模型如下: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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論