提出了一種基于遺傳算法的機(jī)械方案計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)模型。該模型通過把機(jī)械方案設(shè)計(jì)過程看作一個(gè)狀態(tài)空間的問題求解,用遺傳算法控制搜索過程,自動(dòng)生成一組可行的設(shè)計(jì)方案,并通過傳動(dòng)方案設(shè)計(jì)實(shí)例,驗(yàn)證了求解的有效性。
近年來(lái),機(jī)械計(jì)算機(jī)輔助設(shè)計(jì)方面的研究工作主要集中在詳細(xì)設(shè)計(jì)中易于數(shù)值化的設(shè)計(jì)任務(wù),并研制出不少有效的軟件系統(tǒng),如有限元分析軟件、模擬仿真軟件、繪圖軟件等。而最有創(chuàng)造性的設(shè)計(jì)工作——方案設(shè)計(jì)任務(wù),基本上仍然由設(shè)計(jì)者來(lái)完成。機(jī)械設(shè)計(jì)過程一般由方案設(shè)計(jì)、詳細(xì)設(shè)計(jì)、設(shè)計(jì)評(píng)價(jià)和再設(shè)計(jì)等4個(gè)階段組成。方案設(shè)計(jì)是機(jī)械設(shè)計(jì)的關(guān)鍵環(huán)節(jié),方案的好與壞直接影響產(chǎn)品的性能和質(zhì)量。與詳細(xì)設(shè)計(jì)相比,方案設(shè)計(jì)更注重創(chuàng)造性,因而也就更難用計(jì)算機(jī)來(lái)實(shí)現(xiàn)。目前,在機(jī)械方案計(jì)算機(jī)輔助設(shè)計(jì)方面的研究較少,尚處于初期階段,較有效的理論模型尚未出現(xiàn)。
方案設(shè)計(jì)過程可視為一個(gè)狀態(tài)空間中的問題求解搜索過程。這里要解決的主要問題是如何控制搜索。設(shè)計(jì)問題的狀態(tài)空間是復(fù)雜的,在沒有得出其全部或某些局部解的情況下是無(wú)法明確地構(gòu)筑出來(lái)的,求解搜索常常是隨機(jī)變化的。設(shè)計(jì)問題的求解空間大,盲目搜索將會(huì)導(dǎo)致組合爆炸。研究能在搜索過程中自動(dòng)獲取和積累有關(guān)搜索空間的知識(shí),減少搜索空間并自適應(yīng)地控制搜索過程,從而得到最優(yōu)解的搜索算法是方案設(shè)計(jì)問題求解的關(guān)鍵。遺傳算法(Genetic Algorithm,簡(jiǎn)稱GA)就是這種特別有效的算法。遺傳算法按不依賴于問題本身的方法作用在特征串群體上,搜索可能的特征串空間以找到高適應(yīng)值串,為了指導(dǎo)這個(gè)搜索,算法僅用到與在搜索空間中檢查過的點(diǎn)相聯(lián)系的適應(yīng)值。本文應(yīng)用GA研究提出基于GA的機(jī)械方案計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)模型,并建立實(shí)例系統(tǒng),為機(jī)械產(chǎn)品后序設(shè)計(jì)和最終結(jié)果最優(yōu)打下良好基礎(chǔ)。
1 基于GA的機(jī)械方案CAD模型
1.1 知識(shí)表示
面向?qū)ο蠓椒ㄒ詫?duì)象作為基本元素,是分析問題、解決問題的核心,它模擬了人類認(rèn)識(shí)問題的較高、較廣的過程。
(1)面向?qū)ο蟮闹R(shí)表示方法
在面向?qū)ο蟮闹R(shí)表示方法中,知識(shí)表示的基本構(gòu)件是知識(shí)類和知識(shí)對(duì)象。知識(shí)類實(shí)例化后形成知識(shí)對(duì)象,成為知識(shí)載體,表示與應(yīng)運(yùn)領(lǐng)域中的實(shí)體或抽象體相對(duì)應(yīng)的知識(shí)。例如,知識(shí)類“圓錐齒輪”描述關(guān)于圓錐齒輪機(jī)構(gòu)的知識(shí),其實(shí)例化對(duì)象可被系統(tǒng)用來(lái)組成方案。
知識(shí)對(duì)象由與它有關(guān)的屬性和方法來(lái)描述,屬性反映了知識(shí)對(duì)象的靜態(tài)特性。如機(jī)構(gòu)名稱。方法描述了知識(shí)對(duì)象接受到消息后所執(zhí)行的動(dòng)作。例如,“平帶”對(duì)象有一個(gè)檢查是否滿足傳動(dòng)功率的方法。
知識(shí)類之間的關(guān)系。知識(shí)類之間的最基本的關(guān)系是繼承關(guān)系,派生類可以繼承基類的特性和行為,從而形成知識(shí)的層次關(guān)系。例如,機(jī)械設(shè)計(jì)中各種機(jī)構(gòu)知識(shí)類通過繼承關(guān)系形成樹形結(jié)構(gòu),如圖1所示。知識(shí)對(duì)象之間的關(guān)系,一種是創(chuàng)建關(guān)系,即一個(gè)知識(shí)對(duì)象在其成員方法中依靠創(chuàng)建另一個(gè)對(duì)象,而后委托它進(jìn)行工作,最后完成自己的工作。對(duì)象之間的另一種關(guān)系是聚合關(guān)系。如方案對(duì)象中包括幾個(gè)機(jī)構(gòu)類的派生類對(duì)象,以某種關(guān)系形成一個(gè)方案。
圖1 機(jī)構(gòu)繼承關(guān)系圖
(2)機(jī)械方案設(shè)計(jì)知識(shí)的面向?qū)ο蟊硎?/p>
從系統(tǒng)中知識(shí)的作用來(lái)看,系統(tǒng)中用到的知識(shí)主要有控制知識(shí)、方案評(píng)價(jià)知識(shí)及有關(guān)機(jī)構(gòu)的知識(shí)。控制知識(shí)是有關(guān)問題分析、求解策略及使用知識(shí)的知識(shí),如根據(jù)設(shè)計(jì)要求劃分傳動(dòng)鏈,生成設(shè)計(jì)約束條件。方案評(píng)價(jià)知識(shí)對(duì)GA生成器產(chǎn)生的方案進(jìn)行分析、評(píng)價(jià),確定其適應(yīng)值。機(jī)構(gòu)知識(shí)描述傳動(dòng)方案中的各種機(jī)構(gòu)相關(guān)的知識(shí)。
從知識(shí)表現(xiàn)的形式看,主要有數(shù)據(jù)、算法及判斷形式,在面向?qū)ο蟮闹R(shí)表示法中,可用參數(shù)、規(guī)則和方法等知識(shí)項(xiàng)來(lái)表示每個(gè)知識(shí)對(duì)象中其中的1~3種。參數(shù)可以表示數(shù)據(jù)形式的知識(shí),用知識(shí)類中的成員變量來(lái)描述。規(guī)則用以表示判斷形式的知識(shí),規(guī)則主體由IF-THEN兩部分組成。方法用以表達(dá)計(jì)算過程或判斷形式的知識(shí)。如方案評(píng)價(jià)知識(shí)類可用圖2來(lái)描述。
圖2 方案評(píng)價(jià)知識(shí)類
1.2 方案編碼表示
遺傳算法是一個(gè)搜索編碼串空間的過程,其目的是找到相對(duì)高適應(yīng)值的串,在應(yīng)用遺傳算法求解特殊問題時(shí),首先要確定用類似染色體的串表示問題的方法。在常規(guī)的遺傳算法中,方案表示是把問題的搜索空間中的每個(gè)可能的點(diǎn)表示為確定長(zhǎng)度的特征串,在染色體串和問題的搜索空間中的點(diǎn)之間選擇映射,有時(shí)容易實(shí)現(xiàn),有時(shí)非常困難。選擇一個(gè)便于遺傳算法求解問題的表示方案需要對(duì)問題有深入的了解。機(jī)械傳動(dòng)系統(tǒng)按照能量流動(dòng)路線可分為單流、多流(分流、匯流、混流)形式,如圖3所示。因此一個(gè)機(jī)械傳動(dòng)方案可認(rèn)為由幾個(gè)機(jī)構(gòu)按一定順序構(gòu)成,可用這幾個(gè)機(jī)構(gòu)代碼的有序排列組成一個(gè)編碼來(lái)表示這一方案。由于機(jī)構(gòu)代碼與機(jī)構(gòu)知識(shí)庫(kù)中的知識(shí)對(duì)象的對(duì)象標(biāo)識(shí)一一對(duì)應(yīng),從而機(jī)構(gòu)代碼的一個(gè)有序排列唯一對(duì)應(yīng)某一方案。例如,{3,2,2}的編碼表示由帶輪、齒輪、齒輪組成的一個(gè)方案。
圖3 機(jī)械傳動(dòng)能量流動(dòng)路線分類
1.3 遺傳算法的參數(shù)
遺傳算法的參數(shù)主要有串長(zhǎng)1,群體規(guī)模N,交換概率Pc,變異概率Pm,最大遺傳代數(shù)M。設(shè)組成機(jī)械傳動(dòng)系統(tǒng)的機(jī)構(gòu)數(shù)目為n,每個(gè)機(jī)構(gòu)用一個(gè)自然數(shù)表示,則1=n;其余參數(shù)按照薦用值選取,N=50~200,Pc=0.5~1.0,Pm=0.01,M=500。
1.4 遺傳操作
通過模擬生物界自然選擇和自然遺傳過程,遺傳算法把一個(gè)群體變換到另一個(gè)新的群體。一個(gè)基本遺傳算法由復(fù)制、交換和變異算子組成。
(1)復(fù)制 提高群體的平均適應(yīng)值,采用最優(yōu)串復(fù)制與適應(yīng)值比例復(fù)制相結(jié)合,保證全局收斂,且搜索效率高。
(2)交換 產(chǎn)生新的個(gè)體,采用雙點(diǎn)交換,即從群體中隨機(jī)取出兩個(gè)串,隨機(jī)產(chǎn)生兩個(gè)交換位置,將兩個(gè)串在這兩點(diǎn)之間的對(duì)應(yīng)位置進(jìn)行交換。
(3)變異 增加群體的多樣性,采用均勻突變,即每一位以相同的概率在域內(nèi)變化。
(4)其他算子 引入倒位、共享等算子以保持群體的多樣性。 %o0