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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

首先,編制兩個函數文件,分別保存目標函數和約束函數目標函數文件

functionf=objfun(x)f=5*x(1)^2+2*x(2)^2約束函數文件function[c,ceq]=confun(x)c=1.5/x(1)-x(2);ceq=[];最后,調用fmincon函數求解[X,FVAL]=fmincon(@(x)objfun(x),[1;2],[],[],[],[],[],[],@(x)confun(x))案例1薄鐵板長20cm,折成梯形槽,求梯形側邊多長及底角多大,才會使槽的斷面積最大。寫出這一優(yōu)化設計問題的數學模型。用matlab軟件的優(yōu)化工具箱求解.解取梯形側邊和底角作為設計變量,分別為x1,x2。建立優(yōu)化問題的數學模型如下: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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論