文/李淵 杜秋月 張明慧
MATLAB 是matrix 和laboratory 的 組合,翻譯為矩陣工廠或矩陣實驗室,是由美國MathWorks 公司開發(fā)的面對科學計算、數(shù)據(jù)可視化、交互式程序設(shè)計的計算環(huán)境。MATLAB融合數(shù)值分析、數(shù)據(jù)可視化、矩陣計算、非線性動態(tài)系統(tǒng)建模、非線性動態(tài)系統(tǒng)仿真于一體,將上述功能集成在一個便于使用的視窗環(huán)境下。在現(xiàn)代科學研究、現(xiàn)代工程設(shè)計、圖像處理、信號處理、通信、金融等需要進行較多復雜有效數(shù)值計算的項目中應用廣泛,提供了一種更加全面的計算方案。MATLAB 的主要功能在于進行矩陣運算、實現(xiàn)算法、繪制數(shù)據(jù)、繪制函數(shù)、創(chuàng)建界面、連接程序等,其中MATLAB 的優(yōu)化工具箱能夠為技術(shù)人員提供優(yōu)化函數(shù)。MATLAB 優(yōu)化工具箱時語法簡單、初始參數(shù)不復雜、編程量小,在機械優(yōu)化設(shè)計中有著十分重要的作用。
MATLAB 摒棄了以往程序語言編輯模式,適用于解決復雜工程問題。MATLAB 基本數(shù)據(jù)單位為矩陣,指令表達式與工程、數(shù)學等常用形式相似,應用MATLAB 解決數(shù)學問題、工程問題也較為簡捷。MATLAB 結(jié)合了Maple 等軟件的優(yōu)點,支持C 語言、JAVA 語言、C++語言、FORTRAN 等,表現(xiàn)出更加強大的功能。高效的數(shù)值計算與高效的符號計算功能,使MATLAB 更適用于繁雜的數(shù)學運算;完善的圖形處理功能,使MATLAB 能夠?qū)崿F(xiàn)對計算結(jié)果的編程與數(shù)據(jù)可視化;接近數(shù)學表達式的自然化語言使MATLAB 的使用者更容易學習和掌握各類軟件功能;功能豐富的信號處理工具箱、優(yōu)化工具箱、通信工具箱等為使用者提供了方便、實用的處理工具。
MATLAB 優(yōu)化工具箱,即Optimization Toolbox,包含眾多的優(yōu)化算法,能夠求解不同的優(yōu)化問題。所謂優(yōu)化問題是基于變量滿足約束條件的前提,使目標函數(shù)最小化的問題。優(yōu)化問題涉及優(yōu)化目標-min f(X)、優(yōu)化變量X=[x1,x2,x3]、約束條件h1(x)≤0h2(x)≤0h(x)≤0。使用MATLAB 處理優(yōu)化問題,首先基于相應數(shù)學模型設(shè)定適宜優(yōu)化目標,隨后輸入優(yōu)化變量參數(shù)(初值,約束條件,取值范圍),借助MATLAB 優(yōu)化工具箱,計算出優(yōu)化結(jié)果。不同優(yōu)化問題對應的數(shù)學模型及優(yōu)化函數(shù)如表1所示。
表1:不同優(yōu)化問題對應的數(shù)學模型及優(yōu)化函數(shù)
使用MATLAB 優(yōu)化工具箱進行機械優(yōu)化設(shè)計需結(jié)合設(shè)計目標、設(shè)計要求、優(yōu)化類型等對問題進行優(yōu)化。在進行分類時可能存在單目標、多目標、線性、非線性等情況,在實際應用過程中需結(jié)合具體情況進行分析。在確定優(yōu)化類型后構(gòu)建相應數(shù)學模型,選擇適宜的優(yōu)化函數(shù),明確各項參數(shù),結(jié)合目標函數(shù)形態(tài),設(shè)定優(yōu)化選項。在參數(shù)輸入、確定后,調(diào)整函數(shù)程序,依據(jù)提示信息對優(yōu)化現(xiàn)象、相關(guān)設(shè)置等進行調(diào)整,確保符合機械優(yōu)化設(shè)計的要求,確保獲得有效的設(shè)計方案與優(yōu)化數(shù)據(jù)。以某人字形鋼架為例,該鋼架由兩根鋼管組成,具體參數(shù)如下:
鋼管材料密度(ρ)=7.8×103kg/m3
彈性模量(E)=2.1×105MPa
管壁厚度(T)=0.25cm
鋼架跨度=152m
外力=3×105N
優(yōu)化問題x=[D,h]T
穩(wěn)定性約束條件R(x)≤Re
強度約束條件R(x)≤Ry
根據(jù)上述參數(shù),獲取設(shè)計變量、目標函數(shù)、約束條件,明確優(yōu)化類型。該優(yōu)化問題實際上是一個包含了6 個約束的二維非線性優(yōu)化問題。數(shù)學模型為min f(x); s.t.Ax ≤b,MATLAB優(yōu)化函數(shù)為x=fmincon(f,x0,A,b)。經(jīng)標準化后,將函數(shù)表達式套入已知條件即可完成機械優(yōu)化設(shè)計。
機械優(yōu)化設(shè)計是以數(shù)學規(guī)劃作為理論基礎(chǔ),將計算機作為工具,目的在于尋找最佳機械設(shè)計方案。MATLAB 優(yōu)化工具箱中包含很多實用的優(yōu)化函數(shù),利用優(yōu)化函數(shù)能夠解決很多復雜的機械優(yōu)化設(shè)計問題,且編程操作簡單、易懂、編程量小?;贛ATLAB 優(yōu)化工具箱實現(xiàn)機械優(yōu)化設(shè)計,能夠確保機械零件滿足性能要求,規(guī)避了傳統(tǒng)設(shè)計方法的繁雜、重復操作,求解便捷、程序簡明、結(jié)果可靠、精度較高。特別是在一些依靠人工難以處理的問題中,MATLAB 優(yōu)化工具箱能夠有效取得優(yōu)化設(shè)計算法的過程,是設(shè)計人員最有利的工具。