摘要:在計(jì)算機(jī)時(shí)代,解決科學(xué)與工程問題的手段主要是程序與優(yōu)化算法,求全局最大主峰重要的是找到主峰以及爬峰的速度,即尋優(yōu),最常采取的辦法有窮舉法,但這種方法會(huì)造成信息浪費(fèi)。保證算法簡(jiǎn)便且通用性更強(qiáng),遺傳算法在眾多算法中脫穎而出。文章對(duì)遺傳學(xué)算法的原理、計(jì)算基礎(chǔ)和操作做了介紹,并對(duì)遺傳算法原理在機(jī)械工程中的應(yīng)用予以簡(jiǎn)單分析研究。
關(guān)鍵詞:遺傳算法原理;機(jī)械工程;數(shù)學(xué)基礎(chǔ);算子;程序與優(yōu)化算法
中圖分類號(hào):TH123 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-2374(2014)34-0062-02
在計(jì)算機(jī)時(shí)代,解決科學(xué)與工程問題的手段主要是程序與優(yōu)化算法,求全局最大主峰重要的是找到主峰以及爬峰的速度,即尋優(yōu),最常采取的辦法有窮舉法,但這種方法在尋優(yōu)過程中只承認(rèn)當(dāng)前的最優(yōu)值而摒棄其余信息,造成了信息的極大浪費(fèi),于是人們開始探索一種更為合適的辦法,以求尋找最優(yōu)值過程的高效性,同時(shí)保證算法簡(jiǎn)便而且通用性更強(qiáng),遺傳算法在眾多算法中脫穎而出。
1 GA(遺傳算法)原理
遺傳算法就是一種以事物的自然屬性和遺傳屬性為基礎(chǔ),通過計(jì)算機(jī)對(duì)生物進(jìn)化規(guī)律進(jìn)行模擬以尋優(yōu)的一種算法,將尋優(yōu)的范圍與遺傳空間相對(duì)應(yīng),把每一種可能的值通過二進(jìn)制碼進(jìn)行編碼,如同染色體一樣,形成的字符串相當(dāng)于基因,然后按預(yù)期的結(jié)果對(duì)每一組編碼進(jìn)行評(píng)價(jià),選出最合適的一個(gè)值。算法一開始是提出一些問題的解,然后根據(jù)要求對(duì)這些解進(jìn)行選擇,重新拆解組合,去掉不合適的,留下最優(yōu)值,由此形成的便是新值,如此往復(fù),繼承與改良,這便是GA算法。由以上我們可以看出GA算法并不是簡(jiǎn)單的重復(fù),而是屬于一種螺旋式的上升過程,是不斷向更好的方向“進(jìn)化”的,在淘汰與擇優(yōu)中趨于穩(wěn)定。
2 GA算法的數(shù)學(xué)基礎(chǔ)和算子
2.1 GA算法的數(shù)學(xué)基礎(chǔ)
圖式定理是GA算法的數(shù)學(xué)基礎(chǔ),圖式定理是Holland提出的,它在一定程度上解釋了GA算法強(qiáng)大的數(shù)據(jù)信息處理能力,由定理我們能看出,經(jīng)過不斷地復(fù)制和交叉變異,在第一代中包含的編碼數(shù)量H可以用如下公式表示:
m(H,t+1)≥m(H,t)(N(H)/FAV)[1-PC·(〥(H)/(L-1))-O(H)·Pm] (1)
如以遺傳學(xué)講,其中m(H,t)和m(H,t+1)分別代表第t代和第t+1代種群數(shù)量,N代表圖式H中染色體適應(yīng)能力的平均水平,F(xiàn)AV代表種群中包含的染色體的適應(yīng)力的平均水平,交叉比率用PC表示,變異比率用Pm表示,圖式的長(zhǎng)度用〥表示,OH是H的確定參數(shù),即階,染色體長(zhǎng)度用L表示。
2.2 GA算法的算子
GA遺傳算法的基本算子有三個(gè),分別是選擇、交叉和變異。
選擇算子相當(dāng)于生物界優(yōu)勝劣汰,決定物種最終存活的自然選擇,在生物群中選擇一些適應(yīng)力強(qiáng)的生物,將它們的染色體放入基因庫(kù),是染色體重新交叉組合完成變異的前提,選擇算子的特點(diǎn)是只能在原有的基礎(chǔ)上選擇出優(yōu)良的基因,而無法重新創(chuàng)造。
交叉算子相當(dāng)于自然界生物為完成繁衍生息和進(jìn)化而進(jìn)行的交配繁殖現(xiàn)象,染色體經(jīng)由交叉,重新組合后形成新的染色體,即從雙親染色體里隨機(jī)地分別選擇一條再重新組合,是染色體的重新創(chuàng)造。
變異算子是在選擇和交叉算子完成重組的基礎(chǔ)上使遺傳算法能力的增強(qiáng),以尋找GA值的最優(yōu)解,如果在整個(gè)GA算法中少了變異操作,就只能在原有基礎(chǔ)上來回尋找而沒有新的突破。
3 如何實(shí)現(xiàn)遺傳算法
遺傳算法歸根結(jié)底是尋找一個(gè)最優(yōu)的解或者工程中所講的最好的解決方案,從函數(shù)來講是求如下函數(shù)的最優(yōu)解:
F=f(x,y,z),x,y,z∈Ω,F(xiàn)∈R (2)
其中x,y,z是自變量,每一組(x,y,z)就是一組解,優(yōu)化目標(biāo)的目的是尋找一組解使得:
F=f(x0,y0,z0)=max f(x,y,z) (3)
首先,將公式(2)的各個(gè)參數(shù)通過二進(jìn)制數(shù)編碼形成字符串,再進(jìn)行鏈接形成所謂的“基因鏈”,據(jù)已有的研究結(jié)果,可以知道字符串長(zhǎng)度不同、碼制不同都將對(duì)最終計(jì)算的結(jié)果的精度產(chǎn)生影響。
其次,采用隨機(jī)抽選的方式選擇個(gè)體的初始值,之所以隨機(jī)抽選是因?yàn)檫@樣產(chǎn)生的結(jié)果更具有一般性,能代表尋常情況。
最后,確定群體的規(guī)模,即確定基因選擇的目標(biāo)源,在這個(gè)目標(biāo)源中尋找最佳值,規(guī)模的確定決定了GA算法結(jié)果的權(quán)威性和有效性,太小則不能提供足夠的采樣點(diǎn),結(jié)果的多樣性將會(huì)打折扣,太大則會(huì)增加計(jì)算量,拖長(zhǎng)搜索時(shí)間,通暢將規(guī)??刂圃?0~200左右為宜,在對(duì)每個(gè)個(gè)體的優(yōu)劣實(shí)施評(píng)價(jià)之后,設(shè)置一個(gè)適應(yīng)度函數(shù),然后分別確定交叉率和變異率,判斷搜索何時(shí)停止,在本次討論中,判斷標(biāo)準(zhǔn)可以定為搜索所得的解是否達(dá)到了預(yù)期的最大值。
4 GA在機(jī)械工程中的應(yīng)用
GA算法的優(yōu)點(diǎn)顯而易見,它在機(jī)械工程中的應(yīng)用是極為廣泛的。
在零件的切削中可以對(duì)零部件和切削工具予以優(yōu)化,使得切削參數(shù)的設(shè)置達(dá)到總在工作以最低的成本,實(shí)現(xiàn)最高的效率,最終得到最高的收益的目的,在自動(dòng)化控制的智能制造系統(tǒng)中可以為系統(tǒng)的靜態(tài)動(dòng)態(tài)的配合尋找到最佳契合點(diǎn),以下對(duì)GA算法在機(jī)械公式和功能中的應(yīng)用以具體實(shí)例加以闡述。
4.1 優(yōu)化人工神經(jīng)網(wǎng)
ANN,即人工神經(jīng)網(wǎng),是一種用于建模和控制的,針對(duì)模型結(jié)構(gòu)不穩(wěn)定的線性系統(tǒng)而設(shè)計(jì)的結(jié)構(gòu),單次結(jié)構(gòu)目前并不成熟,并沒有確切的數(shù)據(jù)指導(dǎo)后來者準(zhǔn)確的使用,處于摸索階段。對(duì)于ANN,目前采用的訓(xùn)練方法是反向傳播算法,大速度比較慢且結(jié)果具有一定的局限性,GA算法可謂使這一問題得見柳暗花明。
在AN的行學(xué)習(xí)參數(shù)的優(yōu)化工作中,仍用反向傳播,但對(duì)一下因素進(jìn)行編碼操作,包括隱含層數(shù)、隱含層數(shù)的單元數(shù)、勢(shì)態(tài)、網(wǎng)絡(luò)連接方法、迭代數(shù)等,編碼完成后,構(gòu)成ANN基因鏈,把基因鏈的適應(yīng)度函數(shù)定義為10-MSE-隱含單元數(shù)/10-訓(xùn)練跌代數(shù)/1000,MSE是訓(xùn)練好的網(wǎng)絡(luò)對(duì)樣本的方差。endprint
4.2 優(yōu)化FLC矩陣的參數(shù)
模糊邏輯控制器,簡(jiǎn)稱FLC,涉及到的概念有控制對(duì)象偏差和動(dòng)作強(qiáng)度,表達(dá)了二者的模糊關(guān)系,現(xiàn)有一延時(shí)二階系統(tǒng)的函數(shù)為GS=exp(-0.4s)/(0.3s+1),要求此系統(tǒng)的輸出值盡量的跟蹤輸入值,采用FLC矩陣進(jìn)行參數(shù)優(yōu)化,取矩陣R=77×11,對(duì)此矩陣的77個(gè)元素以8bit的二進(jìn)制碼表示,基因鏈長(zhǎng)616bit,經(jīng)由GA算法優(yōu)化的FLC控制下,輸出值的效果明顯地優(yōu)于“比例-積分-微分”控制器的效果。
4.3 實(shí)現(xiàn)機(jī)床掛最佳組合
擊床掛輪組合的完美與否直接決定了生產(chǎn)線的效率,而這又是一個(gè)極為古老的問題,最佳組合最終實(shí)現(xiàn)的是掛輪組的傳動(dòng)比與要求的值誤差達(dá)到最小,本文中,筆者通過GA算法,以求能找到一個(gè)有效的方案,適合度函數(shù)定義為:
F=20-ABS(id)-(A/B)*(C/D)
(A,B,C,D)∈Ω
其中,A,B,C,D分別代表掛輪齒數(shù),共計(jì)4個(gè)掛輪,ABS()表示絕對(duì)值函數(shù),Ω是掛輪約束條件,需要A+B>C=d+m,C+D>B+d+m,d,m分別代表齒輪模、安裝軸徑。
筆者在文中采用cenitor算法,對(duì)每個(gè)齒輪用一個(gè)5位二進(jìn)制碼進(jìn)行編碼,代表掛輪表的32個(gè)掛輪,共4個(gè)掛輪故基因碼長(zhǎng)20位,個(gè)體數(shù)為100,經(jīng)過驗(yàn)證后發(fā)現(xiàn),如果id為整數(shù),GA算法只需完成1000次雜交運(yùn)算就可以選出多個(gè)誤差為0的組合,它并非盲目地完成計(jì)算,搜索數(shù)遠(yuǎn)小于問題解的數(shù)值。
5 結(jié)語(yǔ)
隨著GA算法的不斷發(fā)展,由于其與其他技術(shù)易于融合,當(dāng)然對(duì)于它的爭(zhēng)議仍然是存在的,但就近年的研究,大量實(shí)例都證明了它是一種簡(jiǎn)單且實(shí)用性很強(qiáng)的算法,在工程領(lǐng)域中的應(yīng)用也將更加廣泛。
參考文獻(xiàn)
[1] 黃洪鐘,趙正佳,姚新勝,馮春.遺傳算法原理、實(shí)現(xiàn)及其在機(jī)械工程中的應(yīng)用研究與展望[J].機(jī)械設(shè)計(jì),2012,(6).
[2] 趙建勛,張振明,田錫天,賈曉亮,朱名銓.本體及其在機(jī)械工程中的應(yīng)用綜述[J].計(jì)算機(jī)集成制造系統(tǒng),2013,(4).
[3] 曹俊,朱如鵬.遺傳算法的發(fā)展及其在機(jī)械工程領(lǐng)域中的應(yīng)用[J].機(jī)械技術(shù)史,2013,(9).
作者簡(jiǎn)介:鄭旭浩(1973-),女,吉林通化人,吉林交通職業(yè)技術(shù)學(xué)院工程機(jī)械分院研究生講師,研究方向:機(jī)械設(shè)計(jì)與理論。endprint