黃立言* 王彥偉
(武漢工程大學(xué) 機(jī)電工程學(xué)院)
MATLAB 是由美國(guó)MathWorks 公司發(fā)布的主要面向科學(xué)計(jì)算、數(shù)據(jù)可視化及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,簡(jiǎn)稱矩陣實(shí)驗(yàn)室[1]。MATLAB是一個(gè)集強(qiáng)大的科學(xué)計(jì)算、完美的可視化功能、完善的自我?guī)椭到y(tǒng)的開(kāi)放式交互的大型軟件,現(xiàn)已廣泛應(yīng)用于數(shù)學(xué)物理、材料化工、機(jī)電自動(dòng)化、管理金融、生物醫(yī)藥、海洋科學(xué)、航天軍工、語(yǔ)音處理以及社會(huì)科學(xué)等各個(gè)領(lǐng)域,種類繁多且不斷拓展的工具箱使MATLAB 軟件深受科研工作者的青睞。MATLAB 優(yōu)化工具箱(optimization toolbox)是基于MATLAB 的面向最優(yōu)化求解的專用工具箱[2],其主界面如圖1 所示。MATLAB 優(yōu)化工具箱幾乎可以完美求解各類優(yōu)化問(wèn)題。其高效簡(jiǎn)潔的函數(shù)表達(dá)和對(duì)算法參數(shù)的自由設(shè)置便于用戶調(diào)用各類優(yōu)化函數(shù),利用MATLAB 優(yōu)化工具箱可以求解線性規(guī)劃、非線性規(guī)劃和多目標(biāo)規(guī)劃問(wèn)題。此外,該優(yōu)化工具箱還提供了線性、非線性最小化、方程求解、曲線擬合、最大最小問(wèn)題和半無(wú)限問(wèn)題等的求解方法,為優(yōu)化方法在實(shí)際工程應(yīng)用中提供了更加有效、方便、快捷的途徑?,F(xiàn)將MATLAB 優(yōu)化工具箱中常用優(yōu)化函數(shù)進(jìn)行了歸納,如表1 所示。
圖1 MATLAB優(yōu)化工具箱主界面
表1 MATLAB優(yōu)化工具箱常用優(yōu)化函數(shù)
人字架應(yīng)用十分廣泛,其主要由2 根鋼管構(gòu)成,如圖2 所示,其頂點(diǎn)受到的外力為2F = 3× 105N。已知人字架跨度2B = 152 cm,鋼管壁厚I = 0.25 cm,鋼材彈性模量E = 2.1× 105MPa,材料密度 ρ = 7.8× 103kg/m3,許用壓應(yīng)力[σy]= 420 MPa。要求在鋼管壓應(yīng)力σ 不超過(guò)許用壓應(yīng)力[σy]和失穩(wěn)臨界應(yīng)力σe的條件下,選取合適的人字架高度h 和鋼管平均直徑D,使鋼管總質(zhì)量m 最小[3]。
圖2 人字架受力簡(jiǎn)圖
將人字架的高度h 和鋼管平均直徑D 作為優(yōu)化設(shè)計(jì)變量(上標(biāo)T 表示轉(zhuǎn)置):
設(shè)計(jì)變量初始數(shù)據(jù)如表2 所示。
表2 初始數(shù)據(jù)表
根據(jù)前文所述簡(jiǎn)化模型,可建立如下目標(biāo)函數(shù):
強(qiáng)度約束條件σ ≤[σy],即鋼管所受的壓應(yīng)力 不超過(guò)許用壓應(yīng)力[σy]:
穩(wěn)定性約束條件σ ≤σe,即鋼管所受的壓應(yīng)力σ 不超過(guò)鋼管的臨界壓應(yīng)力σe:
根據(jù)設(shè)計(jì)經(jīng)驗(yàn),邊界約束條件可設(shè)置為:
綜上所述,將所有函數(shù)規(guī)格化,則人字架優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型可表示為:
根據(jù)之前建立的人字架優(yōu)化模型及相關(guān)參數(shù),利用MATLAB 優(yōu)化工具箱對(duì)人字架進(jìn)行優(yōu)化設(shè)計(jì)。這是一個(gè)多維有約束非線性問(wèn)題,其優(yōu)化流程可簡(jiǎn)要概括如下:
(1)編寫目標(biāo)函數(shù)的M 文件;
(2)編寫描述非線性約束的M 文件;
(3)設(shè)置相關(guān)參數(shù),選擇合適的優(yōu)化方法,調(diào)用MATLAB 優(yōu)化工具箱進(jìn)行優(yōu)化;
(4)得出結(jié)果,并進(jìn)行分析。
根據(jù)優(yōu)化后的數(shù)學(xué)模型,利用MATLAB 優(yōu)化工具箱進(jìn)行求解。代入已知數(shù)據(jù)后,經(jīng)34 次迭代,計(jì)算收斂,求得最優(yōu)解。徐發(fā)濱[4]以人工神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),介紹了一種基于遺傳算法的反饋Hopfied 神經(jīng)網(wǎng)絡(luò)算法,并構(gòu)造了工程結(jié)構(gòu)優(yōu)化模型;郭惠昕等[5]針對(duì)非線性約束問(wèn)題,提出了一種新的、可行的混沌最優(yōu)化算法——三次載波混沌最優(yōu)化算法,并將該方法應(yīng)用于工程結(jié)構(gòu)優(yōu)化設(shè)計(jì);李文勇等[6]針對(duì)優(yōu)化問(wèn)題中的多極值現(xiàn)象,提出了一種基于有記憶模擬退火的全局優(yōu)化算法,并針對(duì)不同的設(shè)計(jì)變量采用了不同的鄰域產(chǎn)生方法。為了驗(yàn)證本文方法的可靠性,分別根據(jù)徐發(fā)濱[4]、郭惠昕等[5]、李文勇等[6]提出的方法進(jìn)行了詳細(xì)計(jì)算,并對(duì)結(jié)果進(jìn)行了比較,如表3 所示。
表3 不同優(yōu)化方法計(jì)算結(jié)果的比較
由表3 可知,本文的計(jì)算結(jié)果與文獻(xiàn)[4-6]中的方法計(jì)算結(jié)果接近,表明本文介紹的方法有較強(qiáng)的可靠性,可以應(yīng)用于實(shí)際工程問(wèn)題。
通過(guò)人字架的優(yōu)化實(shí)例可以看出,MATLAB 應(yīng)用十分廣泛,也是進(jìn)行科研設(shè)計(jì)工作的利器,是解決機(jī)械優(yōu)化設(shè)計(jì)的重要工具。利用MATLAB 優(yōu)化工具箱中已有的優(yōu)化求解函數(shù),能夠方便快捷地對(duì)最優(yōu)化問(wèn)題進(jìn)行求解,避免了繁瑣的算法設(shè)計(jì)和程序編寫,節(jié)約了大量精力和時(shí)間,大大提高了設(shè)計(jì)者的工作效率,有較強(qiáng)的使用價(jià)值。MATLAB 優(yōu)化工具箱求解方便快捷,精度高,速度快,結(jié)果穩(wěn)定可靠,且程序簡(jiǎn)明,能很好地實(shí)現(xiàn)優(yōu)化設(shè)計(jì)的算法過(guò)程。