李笑平
(成都工業(yè)職業(yè)技術(shù)學(xué)院 四川省成都市 610218)
基于MATLAB的機(jī)械設(shè)計方法探討
李笑平
(成都工業(yè)職業(yè)技術(shù)學(xué)院 四川省成都市 610218)
要實現(xiàn)產(chǎn)品服務(wù)就離不開各種先進(jìn)的技術(shù)和設(shè)計理念。機(jī)械設(shè)計在一定程度上對產(chǎn)品的性能和功能起到了決定性的作用,是產(chǎn)品質(zhì)量得以保證的關(guān)鍵和基礎(chǔ)。本文結(jié)合工程的實際情況,總結(jié)設(shè)計理論,并對遺傳算法的應(yīng)用情況進(jìn)行分析。
機(jī)械設(shè)計;遺傳算法;MATLAB
MATLAB充分結(jié)合了工具箱的特殊應(yīng)用子程序和一套程序擴(kuò)展系統(tǒng),這也是它最大的特點(diǎn)。其三大組成部分包括MATLAB工具箱(功能各異)、Simulink動態(tài)仿真系統(tǒng)和MATLAB主程序。而MATLAB主程序體系統(tǒng)包括應(yīng)用程序接口、開發(fā)環(huán)境、MATLAB語言、圖形處理和MATLAB數(shù)據(jù)函數(shù)庫。在探討基于MATLAB的機(jī)械設(shè)計方法就離不開對MATLAB組成部門的分析。
(1)MATLAB語言,也可以稱之為“M語言”。這種高級的陣列、矩陣語言包括流程控制語句、輸入、輸出、數(shù)據(jù)結(jié)構(gòu)、函數(shù)、數(shù)組語言、高級矩陣等內(nèi)容,可以在于其他MATLAB系統(tǒng)之間的交互來完成復(fù)雜的計算任務(wù)。在命令窗口中,用戶可以輸入執(zhí)行命令和語句同步,也可以事先編寫好應(yīng)用程序,即M文件,在窗口中命令其一起運(yùn)行。
(2)開發(fā)環(huán)境。指的是幫助用戶集合MATLAB文件和函數(shù)的工具,為用戶的使用提供方便,圖形用戶界面使其最常采用的一種易于操作的方式。包括工作平臺、MATLAB桌面、MATLAB命令窗口、文件、幫助瀏覽器、搜索路徑等等。
(3)MATLAB數(shù)學(xué)函數(shù)庫。這里面包括了很多計算算法,包括基本函數(shù)、復(fù)雜函數(shù),基本上解決了在開發(fā)和計算過程中可能涉及到的各種函數(shù),既節(jié)省時間又為計算提供便利條件。
(4)圖形處理。MATLAB的圖形、圖像處理功能是非常強(qiáng)大的,提供了非常多的三維、二維繪圖函數(shù)和命令,其共同的特點(diǎn)就是功能齊全、操作簡單。
(5)應(yīng)用程序接口。即Application Program Interface,簡稱API,這種系統(tǒng)庫允許用戶編寫MATLAB、FORTRAN和C接口程序。通過編寫程序進(jìn)行交互,是其圖形顯示能力和數(shù)學(xué)計算能力有所提高,在一定程度上避免了其較低執(zhí)行率的缺點(diǎn)。應(yīng)用程序接口包括MAT數(shù)據(jù)文件共享數(shù)據(jù)、MATLAB引擎、MATLAB Compiler等內(nèi)容。
相較于傳統(tǒng)的優(yōu)化算法,遺傳算法對問題的梯度信息并沒有很強(qiáng)的依賴程度,對于變量本身沒有直接作用的效果,而是在解空間中利用變量的適應(yīng)值和編碼技術(shù)來尋求最優(yōu)值,這實際上就避免出現(xiàn)過早收斂于局部最優(yōu)解的問題。
2.1 遺傳算法的求解步驟
在各個領(lǐng)域當(dāng)中,遺傳算法都起到了至關(guān)重要的作用,因此,這也涉及到了在不同領(lǐng)域和行業(yè)中需要在一定程度上改變傳統(tǒng)遺傳算法的情況,但是無論怎么改進(jìn),都應(yīng)該遵循一定的步驟和流程。
(1)解決實際問題的編碼和譯碼策略。在遺傳算法當(dāng)中,一般情況會采用二進(jìn)制編碼方式。
(2)確定每個染色體的適應(yīng)度函數(shù)。染色體的適應(yīng)函數(shù)是判斷染色體好壞的標(biāo)準(zhǔn),同時也體現(xiàn)了個體的生存環(huán)境,適應(yīng)度的值總是希望越大越好,并且杜絕負(fù)值出現(xiàn)。
(3)隨機(jī)產(chǎn)生初始化的種群。遺傳交叉、變異和選擇的母體就是初始化的種群,合理的種群大小是其選擇的需要注意的事項。大群體存在收斂速度低和計算量增加的缺點(diǎn),小群體存在收斂速度快和計算量較小的缺點(diǎn),因此,專家建議其數(shù)值的取值范圍在20~200之間。
(4)遺傳算子的選擇。主要包括交叉算子、選擇算子和變異算子,選擇算子指的是在變異、交叉之后的后代當(dāng)中,選擇有較高適應(yīng)值的個體為下一個迭代的父代;交叉算子指的是基因重組的過程;變異算子指的是模仿存在在生物體上的某個基因的突變現(xiàn)象。
(5)遺傳的迭代終止條件。一般情況下在終止迭代的時候會采用設(shè)置最大數(shù)值的方法,其范圍是在100~500之間。
2.2 建立齒輪傳動的數(shù)學(xué)建模
(1)確定目標(biāo)函數(shù)和設(shè)計變量
為了使傳動裝置質(zhì)量最輕、體積最小,其設(shè)計變量就是直接影響齒輪的參數(shù),z1表示小齒輪的齒數(shù),m表示齒輪模數(shù),準(zhǔn)d表示齒寬系數(shù),設(shè)計變量X=[χ1,χ2,χ3]T=[m,z1,準(zhǔn)d]T
根據(jù)設(shè)計要求,體積最小的目標(biāo)函數(shù)為
(2)確定約束條件
模數(shù)約束為2≤m≤8
主動輪齒數(shù)約束為17≤z1≤40(為了避免發(fā)生根切的情況,齒數(shù)不能小于17)
齒寬系數(shù)約束為0.6≤準(zhǔn)d≤1.2
齒面接觸疲勞強(qiáng)度約束為σH-[σH]≤0
齒根彎曲疲勞強(qiáng)度約束為σF-[σF]≤0
3.1 編碼
在設(shè)計的過程中,變量等同于遺傳算法當(dāng)中的染色體編碼,通過求解和譯碼和編碼來獲取問題的解。變量的個數(shù)即為染色體的長度,m代表齒輪模數(shù),z1代表小齒輪齒數(shù),準(zhǔn)d代表齒寬系數(shù),采用二進(jìn)制編碼方式,2~8mm是齒輪模數(shù)的取值范圍,所以編碼長度L1=3,編碼空間基礎(chǔ)是8,精度為1。17~40是小齒輪齒數(shù)的取值范圍,編碼長度L2=6。0.6~1.2即為齒寬系數(shù)的取值范圍,如果精度可以精確到小數(shù)點(diǎn)后兩位,則根據(jù)32芻0.6×100芻64,編碼長度為6位,總的編碼長度為15位。
3.2 適應(yīng)度函數(shù)
適應(yīng)度函數(shù)可以體現(xiàn)出染色體的優(yōu)劣,而遺傳算法的目的就是通過對染色體的最優(yōu)選擇而得到最優(yōu)解。
通過外點(diǎn)懲罰函數(shù)法在目標(biāo)函數(shù)中加入兩個性能約束項,來求得適應(yīng)度函數(shù)。
構(gòu)造的適應(yīng)度函數(shù)為:fi(tX)=(fX)+P(X)
染色體為X,目標(biāo)函數(shù)為(fX),懲罰項為P(X)
本次的目的目標(biāo)函數(shù)的極小化,因此,分為兩種情況考慮。當(dāng)可行的時候,0為P(X)的賦值;當(dāng)X不可行的時候,P(X)=-(r1[g(1X1)]3+r2[g(2X)]2)芻0
懲罰因子用r1和r2來表示,過大或過小的選擇懲罰因子都是不可取的,如果過大,容易增加求解懲罰函數(shù)極值的難度;如果過小,就會使迭代的次數(shù)增加,因此合理的選擇懲罰因子的適應(yīng)度函數(shù)是非常重要的。
3.3 初始種群的選取
所選取的初始種群不能對運(yùn)算效率造成影響,其數(shù)值范圍在20~200之間。
3.4 選擇變異算子和交叉算子
遺傳進(jìn)化的主要過程就是交叉,0.6~1.0之間即為它的取值范圍;生物多樣性主要是通過變異來體現(xiàn),有較大的隨機(jī)性,因此0.001~0.1之間即為它的取值范圍。
3.5 迭代終止條件
遺傳算法要想實現(xiàn)終止循環(huán)往往通過設(shè)定最大的迭代次數(shù)來實現(xiàn),針對于本次的題目來講,100~500之間是其迭代終止的次數(shù)取值范圍。
作為機(jī)械工程重要組成部分的機(jī)械使其,在產(chǎn)品的性能和功能方面起到了決定性的作用,由于現(xiàn)階段改進(jìn)機(jī)械設(shè)計方法并不是一朝一夕就可以實現(xiàn)的,但是隨著科技和社會的不斷進(jìn)步,在研究現(xiàn)代化設(shè)計方面已經(jīng)取得了一定的成績,基于MATLAB的機(jī)械設(shè)計方法在企業(yè)降低成本、提高質(zhì)量方面都有著積極的作用。
[1]田銘興,楊秀川,楊雪凇,等.基于MATLAB多繞組變壓器模型的磁飽和式可控電抗器仿真建模方法[J].電力自動化設(shè)備,2014,34(3):78~81,88.
[2]仇成群,劉成林,沈法華,等.基于Matlab和模糊PID的汽車巡航控制系統(tǒng)設(shè)計[J].農(nóng)業(yè)工程學(xué)報,2012,28(6):197~202.
TH122
A
1004-7344(2016)15-0257-02
2016-5-11
李笑平(1982-),男,河北衡水人,助講,本科,從事教學(xué)工作。