羅艷霞 車艷
摘要:以絕對誤差為目標函數(shù),采用混合遺傳算法對陶瓷配方進行設計,并通過加入移民策略和隨進化代數(shù)變換的交叉變異率對算法進行了優(yōu)化。配方實驗結(jié)果顯示,優(yōu)化后的混合遺傳算法相對誤差在1%以內(nèi),這表明改進后的算法在陶瓷坯料配方應用中有很好的適用性。
關(guān)鍵詞:陶瓷配方;遺傳算法;混合遺傳算法
中圖分類號:TP18;TQ174.1
文獻標識碼: A
陶瓷配方過程是分析陶瓷坯料的化學組成,并定量分析每個化學組成質(zhì)量百分比的過程。目前,陶瓷配方主要是通過人工經(jīng)驗來確定原料配方,這不僅耗時耗力,且效果也并不理想[1]。為了提高陶瓷配方效率,有學者利用計算機對配方進行了研究。例如:楊云等[2]使用復合形法計算了陶瓷坯料配方,該方法具有較強的局部搜索能力,但由于全局性較差,所以未能找到全局最優(yōu)解;程杰[3]將標準遺傳算法應用于陶瓷配方優(yōu)化設計中,該方法雖然具有良好的全局搜索能力,但卻容易過早收斂,從而導致配方精度較低。為了尋求最優(yōu)配方算法,本文針對這兩種算法的缺點,提出了一種改進的混合遺傳算法,即將遺傳算法和復合形算法結(jié)合起來,最終通過配方結(jié)果精度進行比較,證明本文方法的有效性。
1優(yōu)化設計模型的建立
1.1約束變量的提取
陶瓷坯料是由原料經(jīng)過計算配方而成的。每種坯料和原料的物理性質(zhì)和化學工藝是不同的,通過分析其化學組成可知,一般的坯料和原料由Al2O3、SiO2、CaO、Fe2O3、MgO、k2O、Na2O和TiO2等八種化學組成表示的[4],其他組成(如P2O5)因含量較小,因此本文不作考慮。
1.2目標函數(shù)的建立
在配方設計中,以坯料的各化學組成質(zhì)量分數(shù)為目標,暫不考慮原料價格等因素。由于本文研究的陶瓷坯料化學組成主要有8種,因此需要建立8個目標函數(shù),并分別使每個目標函數(shù)達到最小值。
1.3約束條件的選取
2混合遺傳算法陶瓷坯料配方優(yōu)化設計
2.1混合遺傳算法在陶瓷坯料配方中的操作
本文針對遺傳算法和復合形法的優(yōu)缺點,將二者結(jié)合在一起,分別從全局和局部進行尋優(yōu)。首先采用遺傳算法尋找到最優(yōu)解的位置,并把經(jīng)過遺傳算法計算后的值作為復合形法的初始點;然后,再按照復合形法的步驟,進行局部搜索,最終找到最優(yōu)解[6]。遺傳算法和復合形法的結(jié)合策略如下:
1)選擇編碼方式。復合形法主要采用浮點數(shù)編碼,遺傳算法主要采用二進制編碼、浮點數(shù)編碼等,為了編碼方式的統(tǒng)一,兩種算法均采用浮點數(shù)編碼,不僅節(jié)省時間,同時也能提高算法的計算精度。
2)建立初始種群。在每種原料的用量上限和用料下限的分布范圍(由陶瓷配方預處理得到)內(nèi)建立初始種群,使種群個體處在可行域內(nèi)。
3)選擇適應度函數(shù)。標準遺傳算法以目標函數(shù)為適應度函數(shù),但對于個體是否能遺傳到下一代,僅通過適應度這一標準難以判斷。為此本文引入一個罰函數(shù),通過罰函數(shù)對不可行解進行懲罰,以減少其適應度值,降低個體遺傳到下一代的概率。同時,由于引入了罰函數(shù),優(yōu)秀基因得以保留,最終結(jié)果得以收斂。本文的適應度函數(shù)設立如公式(3)所示:
fi(X)=fi(X)+D*∑N1max (abs(Hi(X) 其中fi(X)為目標函數(shù),D為一個較大的常數(shù),D=1000000000,CITE為計算的精度,CITE=1E-5,Hi(X)為配方約束條件。 4)選擇操作。本文采用精英保存策略,將當前群體中的最優(yōu)個體直接保留到下一代中。這樣既實現(xiàn)了算法的穩(wěn)定,又保證了競爭環(huán)境的良好性。 5)交叉和變異。本文中,交叉算子采用算術(shù)交叉,變異算子采用算數(shù)變異,為了統(tǒng)一,交叉算子和變異算子也采用浮點數(shù)編碼。 6)當確定好遺傳算法所有步驟后,隨著進化代數(shù)的不斷增加,當連續(xù)五代平均適應度值不超過1%時,選擇有限的個數(shù)作為復合形法的初始點,這樣不僅可以省去構(gòu)造初始復合形點的過程,而且選擇的初始點都在可行域范圍內(nèi)。 7)計算復合形法的好點、壞點、次壞點、同時計算壞點的映射點,映射點的計算可以采用反射、壓縮、伸張、收縮等方法。本文采用反射方法計算映射點,當映射點優(yōu)于壞點時,用映射點代替壞點,重新組成復合形法的初始點參與計算,直到滿足結(jié)束條件。 2.2改進的混合遺傳算法在陶瓷坯料配方中的操作 混合遺傳算法只是簡單地將遺傳算法計算的結(jié)果作為復合形法的初始值,然后用復合形法完成后續(xù)計算,雖然也是將兩種算法結(jié)合,但是并沒有表現(xiàn)出遺傳算法和復合形算法的各自優(yōu)點,因此對算法進行改進,具體步驟如下: 1)確定編碼方式,改進的混合遺傳算法依然采用浮點數(shù)編碼。 2)使用智能方式,建立初始種群,使種群個體處在可行域內(nèi)。 3)不僅要建立適應度函數(shù),還要建立罰函數(shù),確保適應度高的個體盡可能地遺傳到下一代。 4)從當前種群中選擇適應度值最高的個體作為復合形算法的初始點,并以此初始點構(gòu)造其余K-1個初始點。構(gòu)造其他初始點的方法同原復合形法一致。 5)計算復合形法的好點、壞點、次壞點,并同時沿壞點方向計算其映射點。比較壞點和映射點的大小,當映射點好于壞點時,映射點代替壞點,重新構(gòu)成復合形法的初始點,否則繼續(xù)變換映射點,直到映射點好于壞點,當滿足循環(huán)結(jié)束條件時,輸出結(jié)果。 6)用復合形法的計算結(jié)果替換原遺傳算法中的個體,同時采用移民策略提高個體的適應度值。采用移民策略的原因是:當代個體中存在一些適應度值相對較低的個體,但其具有價值,若放棄掉這些個體,最終結(jié)果可能就非最優(yōu)解,所以,為了提高這些個體的適應度值,提前對這些個體進行交叉和變異操作,得到新的個體,用以替換原來的個體。 7)混合遺傳算法中,交叉率Pc和變異率Pm是固定不變的,隨著遺傳代數(shù)的變化,固定的交叉率和變異率不能有效地調(diào)節(jié)混合遺傳算法。在改進的混合遺傳算法中,對交叉率和變異率進行改進,使之隨著遺傳代數(shù)的進化而變化。以平均適應度值為基礎,對于適應度較差的個體,采用較大的交叉率和變異率;對于適應度較好的個體則根據(jù)適應度大小采用適當?shù)慕徊媛屎妥儺惵省?/p> 8)當遺傳算法滿足結(jié)束條件,選出最優(yōu)個體作為復合形法的初始點,按照復合形法的步驟重新進行最優(yōu)計算,待滿足復合形法結(jié)束條件時,輸出最優(yōu)解,此時的最優(yōu)解才是結(jié)合了全局和局部的最優(yōu)解。 改進混合遺傳算法的流程圖如圖2所示。 3配方結(jié)果 以某廠瓷的目標配方及原料組成成分為例進行實例計算,所選目標配方及原料的組成成分如表1所示。 采用混合遺傳算法后的配方結(jié)果如表2所示,采用改進混合遺傳算法后的配方結(jié)果如表3所示。通過比較表2和表3可以看出,改進的混合遺傳算法精度遠高于混合遺傳算法。主要是因為改進的混合遺傳算法不僅完美結(jié)合了遺傳算法和復合形法,而且分別從全局和局部進行了最優(yōu)解的搜索。 4結(jié)論 從實驗結(jié)果分析可以看出,改進混合遺傳算法的配方精度絕對誤差僅為0.01,明顯優(yōu)于混合遺傳算法。改進混合遺傳算法不僅完美結(jié)合了遺傳算法和復合形法,而且分別從全局和局部進行了最優(yōu)解的搜索,同時在遺傳操作中采用了移民策略,對交叉率和變異率進行了改進,不僅提高了計算精度,而且保留了優(yōu)秀基因,因此改進遺傳算法在陶瓷坯料配方中有很好的適應性。 參考文獻: [1]張瑛.陶瓷配方優(yōu)化算法的設計與實現(xiàn)[D].西安:陜西科技大學,2009. [2]楊云,張瑛,王秀峰.最優(yōu)化技術(shù)在陶瓷配方優(yōu)化設計中的應用[J],中國陶瓷,2008,8(44):34-36. [3]程杰.陶瓷坯料配方優(yōu)化系統(tǒng)的設計與實現(xiàn)[D].西安:陜西科技大學,2011. [4]余剛,李棟.基于混合遺傳算法和復合形法的翼型優(yōu)化設計[J].科學技術(shù)與工程,2007,7(10):2292-2295. [5]李棟.基于混合遺傳算法和復合形法的翼型優(yōu)化設計[D].西安:西北工業(yè)大學,2007. [6]王暉,衛(wèi)瑞元.基于遺傳算法和復合形法的圓柱螺旋彈簧優(yōu)化設計[J].蘇州大學學報,2009,4(29):50-52. (責任編輯:曾晶)