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