李笑平
(成都工業職業技術學院 四川省成都市 610218)
基于MATLAB的機械設計方法探討
李笑平
(成都工業職業技術學院 四川省成都市 610218)
要實現產品服務就離不開各種先進的技術和設計理念。機械設計在一定程度上對產品的性能和功能起到了決定性的作用,是產品質量得以保證的關鍵和基礎。本文結合工程的實際情況,總結設計理論,并對遺傳算法的應用情況進行分析。
機械設計;遺傳算法;MATLAB
MATLAB充分結合了工具箱的特殊應用子程序和一套程序擴展系統,這也是它最大的特點。其三大組成部分包括MATLAB工具箱(功能各異)、Simulink動態仿真系統和MATLAB主程序。而MATLAB主程序體系統包括應用程序接口、開發環境、MATLAB語言、圖形處理和MATLAB數據函數庫。在探討基于MATLAB的機械設計方法就離不開對MATLAB組成部門的分析。
(1)MATLAB語言,也可以稱之為“M語言”。這種高級的陣列、矩陣語言包括流程控制語句、輸入、輸出、數據結構、函數、數組語言、高級矩陣等內容,可以在于其他MATLAB系統之間的交互來完成復雜的計算任務。在命令窗口中,用戶可以輸入執行命令和語句同步,也可以事先編寫好應用程序,即M文件,在窗口中命令其一起運行。
(2)開發環境。指的是幫助用戶集合MATLAB文件和函數的工具,為用戶的使用提供方便,圖形用戶界面使其最常采用的一種易于操作的方式。包括工作平臺、MATLAB桌面、MATLAB命令窗口、文件、幫助瀏覽器、搜索路徑等等。
(3)MATLAB數學函數庫。這里面包括了很多計算算法,包括基本函數、復雜函數,基本上解決了在開發和計算過程中可能涉及到的各種函數,既節省時間又為計算提供便利條件。
(4)圖形處理。MATLAB的圖形、圖像處理功能是非常強大的,提供了非常多的三維、二維繪圖函數和命令,其共同的特點就是功能齊全、操作簡單。
(5)應用程序接口。即Application Program Interface,簡稱API,這種系統庫允許用戶編寫MATLAB、FORTRAN和C接口程序。通過編寫程序進行交互,是其圖形顯示能力和數學計算能力有所提高,在一定程度上避免了其較低執行率的缺點。應用程序接口包括MAT數據文件共享數據、MATLAB引擎、MATLAB Compiler等內容。
相較于傳統的優化算法,遺傳算法對問題的梯度信息并沒有很強的依賴程度,對于變量本身沒有直接作用的效果,而是在解空間中利用變量的適應值和編碼技術來尋求最優值,這實際上就避免出現過早收斂于局部最優解的問題。
2.1 遺傳算法的求解步驟
在各個領域當中,遺傳算法都起到了至關重要的作用,因此,這也涉及到了在不同領域和行業中需要在一定程度上改變傳統遺傳算法的情況,但是無論怎么改進,都應該遵循一定的步驟和流程。
(1)解決實際問題的編碼和譯碼策略。在遺傳算法當中,一般情況會采用二進制編碼方式。
(2)確定每個染色體的適應度函數。染色體的適應函數是判斷染色體好壞的標準,同時也體現了個體的生存環境,適應度的值總是希望越大越好,并且杜絕負值出現。
(3)隨機產生初始化的種群。遺傳交叉、變異和選擇的母體就是初始化的種群,合理的種群大小是其選擇的需要注意的事項。大群體存在收斂速度低和計算量增加的缺點,小群體存在收斂速度快和計算量較小的缺點,因此,專家建議其數值的取值范圍在20~200之間。
(4)遺傳算子的選擇。主要包括交叉算子、選擇算子和變異算子,選擇算子指的是在變異、交叉之后的后代當中,選擇有較高適應值的個體為下一個迭代的父代;交叉算子指的是基因重組的過程;變異算子指的是模仿存在在生物體上的某個基因的突變現象。
(5)遺傳的迭代終止條件。一般情況下在終止迭代的時候會采用設置最大數值的方法,其范圍是在100~500之間。
2.2 建立齒輪傳動的數學建模
(1)確定目標函數和設計變量
為了使傳動裝置質量最輕、體積最小,其設計變量就是直接影響齒輪的參數,z1表示小齒輪的齒數,m表示齒輪模數,準d表示齒寬系數,設計變量X=[χ1,χ2,χ3]T=[m,z1,準d]T
根據設計要求,體積最小的目標函數為

(2)確定約束條件
模數約束為2≤m≤8
主動輪齒數約束為17≤z1≤40(為了避免發生根切的情況,齒數不能小于17)
齒寬系數約束為0.6≤準d≤1.2
齒面接觸疲勞強度約束為σH-[σH]≤0

齒根彎曲疲勞強度約束為σF-[σF]≤0

3.1 編碼
在設計的過程中,變量等同于遺傳算法當中的染色體編碼,通過求解和譯碼和編碼來獲取問題的解。變量的個數即為染色體的長度,m代表齒輪模數,z1代表小齒輪齒數,準d代表齒寬系數,采用二進制編碼方式,2~8mm是齒輪模數的取值范圍,所以編碼長度L1=3,編碼空間基礎是8,精度為1。17~40是小齒輪齒數的取值范圍,編碼長度L2=6。0.6~1.2即為齒寬系數的取值范圍,如果精度可以精確到小數點后兩位,則根據32芻0.6×100芻64,編碼長度為6位,總的編碼長度為15位。
3.2 適應度函數
適應度函數可以體現出染色體的優劣,而遺傳算法的目的就是通過對染色體的最優選擇而得到最優解。
通過外點懲罰函數法在目標函數中加入兩個性能約束項,來求得適應度函數。
構造的適應度函數為:fi(tX)=(fX)+P(X)
染色體為X,目標函數為(fX),懲罰項為P(X)
本次的目的目標函數的極小化,因此,分為兩種情況考慮。當可行的時候,0為P(X)的賦值;當X不可行的時候,P(X)=-(r1[g(1X1)]3+r2[g(2X)]2)芻0
懲罰因子用r1和r2來表示,過大或過小的選擇懲罰因子都是不可取的,如果過大,容易增加求解懲罰函數極值的難度;如果過小,就會使迭代的次數增加,因此合理的選擇懲罰因子的適應度函數是非常重要的。
3.3 初始種群的選取
所選取的初始種群不能對運算效率造成影響,其數值范圍在20~200之間。
3.4 選擇變異算子和交叉算子
遺傳進化的主要過程就是交叉,0.6~1.0之間即為它的取值范圍;生物多樣性主要是通過變異來體現,有較大的隨機性,因此0.001~0.1之間即為它的取值范圍。
3.5 迭代終止條件
遺傳算法要想實現終止循環往往通過設定最大的迭代次數來實現,針對于本次的題目來講,100~500之間是其迭代終止的次數取值范圍。
作為機械工程重要組成部分的機械使其,在產品的性能和功能方面起到了決定性的作用,由于現階段改進機械設計方法并不是一朝一夕就可以實現的,但是隨著科技和社會的不斷進步,在研究現代化設計方面已經取得了一定的成績,基于MATLAB的機械設計方法在企業降低成本、提高質量方面都有著積極的作用。
[1]田銘興,楊秀川,楊雪凇,等.基于MATLAB多繞組變壓器模型的磁飽和式可控電抗器仿真建模方法[J].電力自動化設備,2014,34(3):78~81,88.
[2]仇成群,劉成林,沈法華,等.基于Matlab和模糊PID的汽車巡航控制系統設計[J].農業工程學報,2012,28(6):197~202.
TH122
A
1004-7344(2016)15-0257-02
2016-5-11
李笑平(1982-),男,河北衡水人,助講,本科,從事教學工作。