版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、利用Matlab求解機械設計優(yōu)化問題的分析董洪峰,化工學院,1012207123摘要: MATLAB是目前國際上最流行的科學與工程計算的軟件工具, 它具有強大的數(shù)值分析、矩陣運算、信號處理、圖形顯示、模擬仿真和最優(yōu)化設計等功能。本文淺談MATLAB在機械設計優(yōu)化問題的幾點應用。關鍵詞: MATLAB 約束條件 機械設計優(yōu)化 0 前言 在線性規(guī)劃和非線性規(guī)劃等領域經(jīng)常遇到求函數(shù)極值等最優(yōu)化問題,當函數(shù)或約束條件復雜到一定程度時就無法求解,而只能求助于極值分析算法,如果借助計算器進行手工計算的話,計算量會很大,如果要求遇到求解極值問題的每個人都去用BASIC,C和FORTRAN之類的高級語言編寫一
2、套程序的話,那是非一朝一日可以解決的,但如用MATLAB語言實現(xiàn)極值問題的數(shù)值解算,就可以避免計算量過大和編程難的兩大難題,可以輕松高效地得到極值問題的數(shù)值解,而且可以達到足夠的精度。1.兩種約束條件求極值方法 1)無約束條件的極值問題的解算方法設有Rosenbrock函數(shù)如下:f(X1,X2)=100(X2-X1*X1)2+(1-X1)2求向量X取何值時,F(xiàn)(x)的值最小及最小值是多少?先用MATLAB語言的編輯器編寫求解該問題的程序如下:%把函數(shù)寫成MATLAB語言表達式fun=100*(X(2)-X(1)*X(1)2+(1-X(1)2%猜自變量的初值X0=-1 2; %所有選項取默認值o
3、ptions= ;%調(diào)用最優(yōu)化函數(shù)進行計算。%函數(shù)最小值存放在數(shù)組元素options(8)中%與極值點對應的自變量值存放在向量X里%計算步數(shù)存放在數(shù)組元素options(10)中X,options=fmins(fun,X0,options);%顯示與極值點對應的自變向量X的值。%顯示函數(shù)最小值options(8)%顯示函數(shù)計算步數(shù)options(10)把上面這段程序保存為m文件,然后用“Tools”菜單中的“Run”命令行這段程序,就可以輕松的得到如下結果:X=9.999908938395383e-001 9.99982742178110e-001aans=195顯然,計算結果與理論結果的誤差
4、小到e-10級,這里調(diào)用了MATLAB的最優(yōu)化函數(shù)fmins(),它采用Nelder-Mead的單純形算法,就是因為這個函數(shù)的采用,使最小值問題的解算變得非常簡單。2)帶約束條件的極值問題的解法 設目標函數(shù)和約束條件如下:f(x) =-3X1+X2+X3-X1+2X2-X3= -114X1-X2-2X3=0,X2=0,X3=0;求X向量取何值時函數(shù)取極小值?對條件極值問題通常的做法都是將約束條件標準化(即把等式約束條件寫成等號為0的形式,把不等式寫成=0的形式)。然后把條件極值問題轉(zhuǎn)換為非條件極值問題,MATLAB也采用同樣的做法。下面是求解該問題的MATLAB語言程序。funf =f=-3*
5、X(1)+X(2)+X(3); %寫出目標函數(shù)表達式。fung=g=2*X(1)-X(3)+1;X(1)-2*X(2)+X(3)-11;4*X(1)-X(2)-2*X(3)+3; %把約束條件標準化,寫成向量函數(shù)。注意等式約束條件要放在前面。fun=funf ,fung %把目標函數(shù)表達式和約束條件表達式合成一個向量函數(shù)。 X0=101 %猜初值options= options13=1 %在options(13)中指定等式約束條件的個數(shù)。vlb =zeros(1,3); %指定向量X的下界為0。vub = ; %對向量的上界不做要求。X,options=constr(fun,X0,option
6、s,Vlb,Vlb); %調(diào)constr()函數(shù)%顯示與極值點對應的X 向量值。options(8) %顯示極小值options(10) %顯示計算次數(shù)g=2*X(1)-X(3)+1;X(1)-2*X(2)+X(3)-11;4*X(1)-X(2)-2*X(3)+3 %顯示約束條件表達式的取值。運行這段MATLAB程序得到如下結果:X=4.000000000000000e+000 1.00000000000000le+000 9.000000000000005e+000ans=-1.99999999999999le+000ans=17g 1.77635683940025le-015顯然,計算結果
7、是非常精確的,這里調(diào)用了MATLAB的最優(yōu)化函數(shù)constr(),它是專門用來解算條件極值問題的。2機械優(yōu)化設計應用實例 機械優(yōu)化設計把數(shù)學規(guī)劃理論與數(shù)值方法應用于設計中,用計算機從大量可行方案中找出最優(yōu)化設計方案,從而大大提高設計質(zhì)量和設計效率。MATLAB具有解決線性規(guī)劃和非線性規(guī)劃、約束優(yōu)化和無約束優(yōu)化問題的內(nèi)部函數(shù),因而可以完成這一功能。現(xiàn)舉一例:螺栓組聯(lián)結的優(yōu)化設計 如圖4所示的壓力容器螺栓組聯(lián)接中,已知D1= 400mm,D2 = 250mm,缸內(nèi)工作壓力為p=1.5 MPa,螺栓材料為35號鋼,s=320Mpa,安全系數(shù)S=3,取殘余預緊力Qp=1.6F,采用銅皮石棉密封墊片。現(xiàn)
8、從安全、可靠、經(jīng)濟的角度來選擇螺栓的個數(shù)n和螺栓的直徑d 。21 設計問題分析若從經(jīng)濟性考慮,螺栓數(shù)量盡量少些、尺寸小些,但這會使降低聯(lián)結的強度和密封性,不能保證安全可靠的工作;若從安全、可靠度考慮,螺栓數(shù)量應多一些、尺寸大一些為好,顯然經(jīng)濟性差,甚至造成安裝扳手空間過小,操作困難。為此,該問題的設計思想是:在追求螺栓組聯(lián)結經(jīng)濟成本最小化的同時,還要保證聯(lián)結工作安全、可靠。 2 2 設計變量 目標函數(shù) 約束條件 22 .1 設計變量 選取螺栓的個數(shù)n和直徑d(mm)為設計變量: 22 .2 目標函數(shù) 追求螺栓組聯(lián)結經(jīng)濟成本Cn最小為目標。而當螺栓的長度、材料和加工條件一定時,螺栓的總成本與nd
9、值成正比,所以本問題優(yōu)化設計的目標函數(shù)為min F(X) = Cn = nd = x1x2 強度約束條件 為了保證安全可靠地工作,螺栓組聯(lián)結必須滿足強度條件 ; 其中; N;對于粗牙普通螺紋:由文獻3推薦,小徑 d1=0.85d 所以,強度約束條件為: 密封約束條件 為了保證密封安全,螺栓間距應小于10d,所以,密封約束條件為: 安裝扳手空間約束條件 為了保證足夠的扳手空間,螺栓間距應大于5d,所以,安裝約束條件為: 邊界約束條件 ; 3. 建立數(shù)學模型綜上所述,本問題的數(shù)學模型可表達為:設計變量:目標函數(shù):min F(X) = x1x2約束條件: s.t. ( i = 1, 2, 3, 4,
10、 5,)現(xiàn)運用MATLAB的優(yōu)化函數(shù)進行求解 : 先編寫M文件 function c,ceq=mynas(x)c(1)=146192/(x(1)*x(2)2)-106; % 非線性不等式約束 c(2)=400*pi/x(1)-10*x(2);c(3)=-400*pi/x(1)+5*x(2);ceq=; % 非線性等式約束在MATLAB命令窗口輸入:fun=x(1)*x(2); % 目標函數(shù)x0=4,6; % 設計變量初始值A=-1,0;0,-1; % 線性不等式約束矩陣b=0;0; Aeq=; % 線性等式約束矩陣beq=;lb=; % 邊界約束矩陣ub=;x,fval=fmincon(fun
11、,x0,A,b,Aeq,beq,lb,ub,mynlsub) % 調(diào)用有約束優(yōu)化函數(shù)運行結果如下:x = 11.4499 10.9751fval = 125.6637所以,該問題優(yōu)化結果為:n =11.4499 ,d = 10.9751,目標函數(shù)最小值:F(X)= 125.6637。根據(jù)實際問題的意義取整、標準化:n =12 ,d = 12。由此例可以看出,與其它編程語言相比,MATLAB語言可以簡化編程。圖5是調(diào)用MATLAB繪圖函數(shù)自動對上例繪制的數(shù)學模型要素圖(標注數(shù)字的曲線為目標函數(shù)的等值線),為此在MATLAB命令窗口輸入: x1=0.1:20;y1=146192./(106.*x1
12、.2);y2=400.*pi./(10.*x1);y3=400.*pi./(5.*x1);plot(y1,x1,y2,x1,y3,x1,x(1),x(2),o)y4=0.1:0.1:20;y4,x1=meshgrid(y4,x1);Q=y4.*x1;hold on;c,h=contour(y4,x1,Q); hold on;clabel(c,h) ;4結論 從上述實例可以看出,利用求解最優(yōu)化問題具有編程簡單,精度很高,速度很快,各種工形式的最優(yōu)化問題都適用等優(yōu)點,巧妙各種利用MATLAB語言可以取得事半功倍的效果。MATLAB具有科學計算的強大能力,不管處理什么樣的對象算法、圖形、圖像、報告或者算法仿真MATLAB都能夠幫助大家不斷提高工作效率。 MATLAB環(huán)境能夠完成算法開發(fā)、數(shù)據(jù)分析和可視化、高性能數(shù)據(jù)分析等工作,相對于傳統(tǒng)的 C、C+或者 FORTRAN語言,在 MATLAB中完成這些工作所消耗的時間僅僅是傳統(tǒng)手段的極小一部分。開放性的 MATLAB軟件和開發(fā)語言M 語言,能夠快速實現(xiàn)用戶好的想法和概念
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年西安職業(yè)技術學院單招職業(yè)傾向性考試題庫附答案
- 2025福建圖書聯(lián)合發(fā)行有限責任公司招聘備考題庫附答案
- 2026廣州工控集團校園招聘備考題庫附答案
- 北京大學醫(yī)學部醫(yī)院醫(yī)學檢驗專業(yè)技術人員招聘考試題庫附答案
- 2026年抖音考試題庫附參考答案(滿分必刷)
- 2026年初級經(jīng)濟師之初級建筑與房地產(chǎn)經(jīng)濟考試題庫300道及完整答案一套
- 2026中國電子科技集團公司第十四研究所校園招聘參考題庫附答案
- 2025重慶飛駛特人力資源管理有限公司大足分公司招聘派遣制工作人員招聘1人考試題庫附答案
- 一級2026年注冊建筑師之設計前期與場地設計考試題庫300道附參考答案(能力提升)
- 2025遼寧鞍山師范學院招聘急需緊缺高層次人才20人考試題庫附答案
- 基于TAM模型的旅游App使用行為影響因素分析與策略研究
- 小學生班級管理交流課件
- 重癥患者安全處置流程與風險管理
- 超星爾雅學習通《科學計算與MATLAB語言(中南大學)》2025章節(jié)測試附答案
- 綠色簡約風王陽明傳知行合一
- 重精管理培訓
- 2023-2024學年廣東省深圳市南山區(qū)七年級(上)期末地理試卷
- 《無機及分析化學》實驗教學大綱
- 2023巖溶塌陷調(diào)查規(guī)范1:50000
- JJG 548-2018測汞儀行業(yè)標準
- 二年級【語文(統(tǒng)編版)】語文園地一(第二課時)課件
評論
0/150
提交評論