南北彤
(中煤北京煤礦機械有限責任公司,北京 102400)
MATLAB 是“Matrix Laboratory”2 個單詞前3 個字母的組合,意為“矩陣實驗室”,是一個包含眾多科學、工程計算的龐大系統(tǒng)。
MATLAB 語言的產(chǎn)生與數(shù)學計算緊密聯(lián)系在一起。1980 年,美國新墨西哥州大學計算機系主任Cleve Moler為了減少學生在高級語言編程上花費的時間而編寫了該程序,隨后成立了軟件開發(fā)公司,從1984 年推出商業(yè)版本以來,經(jīng)過30 余年的補充與完善以及不斷升級換代,軟件的功能已非常之強大,成為國際上最流行的科學計算與工程計算軟件工具之一,被稱為“第四代”計算機語言。
MATLAB 以其友好的工作平臺和編程環(huán)境,簡單易用的編程語言,應用廣泛的模塊集合工具箱、強大的科學計算和數(shù)據(jù)處理能力等優(yōu)點,在研究單位和工程界也成為工程師們必須掌握的一種工具,是公認的進行高效研究與開發(fā)的首選軟件工具[1]。
在機械設計工作過程中,常常遇到優(yōu)化問題,傳統(tǒng)設計方法常在調(diào)查分析的基礎上,參照同類產(chǎn)品,通過估算、經(jīng)驗類比或試驗來確定初始設計方案,如不能滿足指標要求,則反復進行“分析計算——性能檢驗——參數(shù)修改”的循環(huán)過程,直到滿足設計指標要求為止。整個傳統(tǒng)設計過程就是人工湊試和定性分析比較的過程,是被動地重復分析產(chǎn)品性能,不是主動地設計產(chǎn)品參數(shù)。按照傳統(tǒng)設計方法做出的設計方案,有改進余地,但不是最佳設計方案。目前較為先進的做法還可以用三維繪圖軟件模擬、估算。繪圖軟件并不能完全解決很多實際問題,且一般必須從繪圖開始,再利用繪圖軟件內(nèi)置插件進行計算,然后再回到繪圖,工作量大,還容易造成設計的裕度過大而增加生產(chǎn)成本。
而現(xiàn)代化的機械產(chǎn)品參數(shù)設計工作可以借助專門的計算軟件,應用精確度較高的力學數(shù)值分析方法,進行優(yōu)化分析計算,找到最優(yōu)設計方案,實現(xiàn)理論設計代替經(jīng)驗設計,用精確計算代替近似計算,用優(yōu)化設計代替一般的安全壽命可行性設計。
液壓缸是液壓系統(tǒng)的執(zhí)行元件之一,是將液體的壓力能轉(zhuǎn)換為機械能,實現(xiàn)往復直線運動的能量轉(zhuǎn)換裝置,也是液壓系統(tǒng)中應用最多的執(zhí)行元件。礦用液壓支架中,立柱可以說是最重要的液壓執(zhí)行元件,也是支架最重要的動力部件和支撐件。立柱的性能和可靠性直接影響著支架的性能和可靠性,進而影響著采煤工作面的安全和生產(chǎn)效率。每根立柱承載數(shù)千千牛的頂板壓力,長期處于高壓受力狀態(tài),除應具有合理的工作阻力和可靠的工作特性之外,還必須有足夠的抗壓和抗彎強度,良好的密封,結(jié)構(gòu)簡單且能適應液壓支架工作的要求。液壓支架上廣泛采用的是雙作用活塞式立柱,該文所研究的是雙伸縮立柱。
立柱大缸的缸管選用關系到支架立柱的抗彎曲、抗高壓能力,直接影響立柱整體的使用效果。而有時由于受到運輸、使用條件的限制,要求在滿足使用條件的前提下,降低總體產(chǎn)品重量,所以必須在有限條件下將產(chǎn)品的每一部分重量盡可能降至最低,這樣也使材料成本更加節(jié)約。
現(xiàn)在需要設計一種立柱,已知選用的鋼管材料為30CrMnSi,工作壓強為31.5 MPa,最大工作載荷根據(jù)支架產(chǎn)品整體設計的需要定為Pmax=1 960 kN,最小工作載荷可以近似為0,缸管壁厚δ 的取值范圍為20 mm~38 mm,缸管內(nèi)徑D 的取值范圍為200 mm~300 mm,所需鋼管材料長度為1 500 mm。查得,30CrMnSi 合金結(jié)構(gòu)鋼的密度為7.85×103kg/m3。該文所涉及的主要尺寸參數(shù)含義如圖1 所示。
圖1 主要尺寸參數(shù)示意圖
忽略缸口連接部分切削掉的質(zhì)量和底部焊接坡口加工時去掉的質(zhì)量,則大缸管質(zhì)量計算公式為:
式中:M—大缸管質(zhì)量(kg),ρ—大缸管材料密度(kg/m3),D—大缸管內(nèi)徑(m),δ—大缸管壁厚(m)。
變量設計,即主要尺寸參數(shù)D 與x1、δ 與x2一一對應,便于MATLAB 軟件進行計算:
式中:x1—大缸管內(nèi)徑,x2—壁厚。
整理后,目標函數(shù)為:
為方便計算,以下數(shù)據(jù)均按國際單位制給出。
液壓缸設計中,計算公式有很多,但不是所有的公式形成函數(shù)后都能起到約束作用,不能起到約束作用的函數(shù),應在選擇時不予考慮,以減少工作量。該題目必要的約束條件有2 個。
1.3.1 根據(jù)負載大小選定系統(tǒng)壓力表計算D
式中:F—液壓缸的推力(kN),P—選定的工作壓力(MPa),計算的時候經(jīng)常是用試驗壓力,低于16 MPa時,取實際工作壓力的1.5 倍,高于16 MPa 時,取實際工作壓力的1.25 倍。所以該題中應選31.5×1.25=39.375 MPa。
將變量設計值和已知量代入公式(4),并將式(4)轉(zhuǎn)換為不等式,則得到約束函數(shù)為:
式中:g1(x)為約束條件函數(shù)符號,下文中的g2(x)、g3(x)同理。
1.3.2 缸壁厚度δ
當D/δ 比值不同時,所用公式也不同。
1.3.2.1 當D/δ ≥16時,按薄壁筒計算
式中:δ—缸壁厚度(m),Py—試驗壓力(MPa),當工作壓力≥16 MPa 時,Py=1.25Pa,[σ]—缸體材料的許用應力(MPa)。
按g1(x)代換和轉(zhuǎn)換方式可得:
1.3.2.2 按中等壁厚
當3.2 ≤D/δ <16 時
式中:ψ—強度系數(shù),對無縫管ψ=1,C—計入壁厚公差及腐蝕的附加厚度,通常圓整到標準厚度值,在工作中常取2 mm。
同理可得:
1.3.2.3 按厚壁筒計算
對中、高壓D/δ <3.2 時,常用第二或第四強度理論,該題中不需要考慮。
形狀限制:
0.20 ≤x1≤0.30
0.02 ≤x2≤0.038
經(jīng)過上面的分析步驟,可以把上述問題抽象為數(shù)學模型。
2.1.1 目標函數(shù)子程序
暫且命名為“gangguan1.m”,即“缸管1”:
function f=gangguan1(x)
f=37*10^3*(x(1)*x=(2)+x(2)^2);
2.1.2 約束函數(shù)子程序
命名為“gangguan2.m”,即“缸管2”:
function [c,ceq]=gangguan2(x)
c(1)=0.0634-x(1)^2;c(2)=0.11581*x(1)-x(2);c(3)=0.11198*x(1)-x(2)+0.002;c(4)=x(1)-0.30;c(5)=0.20-x(1);c(6)=x(2)-0.038;c(7)=0.02-x(2);
ceq=[];
2.1.3 主程序
命名為“gangguanyouhua.m”,即“缸管優(yōu)化”:
x0=[1,1];lbnd=[0,0];ubnd=[];options=[];
[c,ceq]=fmincon('gangguan1',x0,[],[],[],[],lbnd,ubnd,'ganggu an2',options)
該題為求解非線性多變量約束最優(yōu)化問題,所以使用的MATLAB 函數(shù)是fmincon[2]。
在命令欄輸入主程序名后運行,得以下結(jié)果,c 后顯示的是x1、x2的計算結(jié)果,ceq 后顯示的是質(zhì)量優(yōu)化后的最小值:
c=
0.2518 0.0302
ceq=
315.0516
根據(jù)計算機輸出結(jié)果,當大缸管內(nèi)徑x1=0.2518m,壁厚x2=0.0302m 時,代入質(zhì)量公式之后得到最小質(zhì)量等于315.0516 kg。
當然,優(yōu)化設計結(jié)果可以經(jīng)過驗算證明其數(shù)值的可靠性。例如,如求得缸管壁厚δ,可以做一下幾方面的驗算,保證立柱可以安全有效工作。
2.2.1 立柱額定壓力必須低于一定的極限值
式中:Pn—立柱額定壓力(內(nèi)部壓強,MPa),D1—液壓缸大缸管外徑(m),也就是D+2δ,σs—材料的屈服強度(MPa)。
經(jīng)過計算可知,大缸管完全滿足該極限驗證要求。
2.2.2 其他驗證方式
此外還有很多驗證方式,如通過Pn與塑性變形關系的驗證,大缸管徑向變形ΔD 允許范圍的驗證,費帕爾(Faupel)計算大缸管爆裂壓力的驗證,根據(jù)梅拉公式與第四強度理論驗證過載強度,進行計算機仿真模擬等[3]。
當然,按照常用液壓缸缸徑序列,必須選擇比所求數(shù)值稍大的內(nèi)徑和壁厚的常用缸徑規(guī)格,當內(nèi)徑和壁厚有相應變化時,質(zhì)量也會隨之變化。上述各值與日常工作中所接觸的立柱參數(shù)相吻合,而且更加精確,達到了最優(yōu)化設計的效果。
該例中雖然是將質(zhì)量引入優(yōu)化設計中,但是影響產(chǎn)品安全性和可靠性的重點參數(shù)也在該過程中得以確定,不但可以對選擇常用規(guī)格系列中的已有規(guī)格有所幫助,而且能夠?qū)ξ磥磉M一步優(yōu)化規(guī)格系列,改進設計提供重要參考。
在設計參數(shù)的過程中,如果添加了更多的約束條件,運算仍然可以得到結(jié)果,但運算結(jié)果不符合形狀約束條件,而且會出現(xiàn)如下警告:"Warning:Trust-region-reflective method does not currently solve this type of problem,using active-set(line search)instead."提示的“active-set”為有效集運算,此時則需要改變所用函數(shù)的類型,或者修改約束條件。
此外,還會出現(xiàn)持續(xù)運算,而不出現(xiàn)運算結(jié)果的可能,這是由于所寫程序出現(xiàn)死循環(huán)運算,即一直持續(xù)運算,但不能得出最優(yōu)化結(jié)果。此時則需要重新檢查所設的目標函數(shù)和約束條件。
綜合所做的其他優(yōu)化題目的過程和經(jīng)驗,總結(jié)出了求解時的7 個步驟。1)判斷優(yōu)化問題的類型(區(qū)分單目標與多目標問題;線性與非線性問題;是否為線性規(guī)劃問題等幾種情況)。2)根據(jù)優(yōu)化問題的類型來選定優(yōu)化函數(shù)。例如,該題目屬于單目標多變量非線性約束優(yōu)化問題, 所以選定fmincon 優(yōu)化函數(shù)。此外,常用函數(shù)還有fminsearch、fminbnd、fminmax、linprog 等很多種,可以滿足各種類型的優(yōu)化問題求解需要。3)優(yōu)化函數(shù)輸入?yún)?shù)。比如初值、等式約束、不等式約束、變量的上下限,編制目標函數(shù)的程序,對于含有非線性約束的問題,需要編制非線性約束的函數(shù)。4)根據(jù)目標函數(shù)的性態(tài),預設優(yōu)化設置。5)在所有的輸入?yún)?shù)定義后,調(diào)用優(yōu)化函數(shù)進行優(yōu)化程序調(diào)試。6)根據(jù)優(yōu)化過程的具體提示信息,修改優(yōu)化選項的設置,直到達到滿足優(yōu)化函數(shù)所需的優(yōu)化條件為止。7) 對所得優(yōu)化數(shù)據(jù)結(jié)果進行分析和評價[4]。
應用MATLAB 的fmincon 等函數(shù),不僅可以很好地解決單目標多變量約束非線性優(yōu)化等優(yōu)化問題,而且大大提高了設計的準確度和可靠性,并且使設計效率比以往有很大提高。在液壓支架設計過程中,我們可以引入MATLAB軟件,運用其函數(shù),當然還可以直接調(diào)用其強大的計算模塊和圖形模擬功能。由于MATLAB 軟件具有強大的圖形、數(shù)值計算功能及較高的編程效率,具有以往采用的其他編程方法或手段來解決優(yōu)化問題時所不能比擬的優(yōu)點。因此,它是一種能夠用來解決機械優(yōu)化設計和工程優(yōu)化問題的十分強大而有效的工具。相信該軟件的運用將會把我們的設計工作提升到新的水平。