張 旭,童一飛,胡驥川
(1.中國航發(fā)南方工業(yè)有限公司,湖南株洲 412002;2.南京理工大學(xué)機械工程學(xué)院,江蘇南京 210094)
壓氣機葉片通常用于航空、能源等領(lǐng)域的氣體壓縮設(shè)備中,也應(yīng)用于農(nóng)業(yè)裝備中,以提高零部件的加工效率和質(zhì)量[1],提高整機的可靠性和耐用性。作為航空發(fā)動機的核心部件,葉片的質(zhì)量很大程度上決定了發(fā)動機的性能,因此壓氣機葉片的質(zhì)量尤為重要。一次加工合格指的是壓氣機葉片柔性加工單元完成對葉片的加工之后未經(jīng)過返工返修,第一次檢驗就能合格的壓氣機葉片。而一次加工合格率指的是一次加工合格的壓氣機葉片占加工單元產(chǎn)出的比率。本文以F型號葉片為例,對壓氣機葉片柔性加工單元所產(chǎn)出葉片的一次加工合格率進行預(yù)測,根據(jù)預(yù)測結(jié)果采取相應(yīng)的預(yù)防性措施,減小壓氣機葉片加工單元產(chǎn)出葉片的品質(zhì)出現(xiàn)重大問題的概率。
目前,產(chǎn)品質(zhì)量合格率預(yù)測方法主要分為傳統(tǒng)質(zhì)量預(yù)測方法和人工智能方法2個大類。傳統(tǒng)的質(zhì)量預(yù)測方法主要是基于統(tǒng)計過程控制的方法,人工智能方法的典型代表則是用神經(jīng)網(wǎng)絡(luò)預(yù)測產(chǎn)品合格率。
在人工智能方法預(yù)測產(chǎn)品合格率預(yù)測方面,Apriori算法和FP-Growth算法是2種關(guān)聯(lián)性規(guī)則分析的經(jīng)典算法。為了解決Apriori算法運行效率不高的缺點,Toivonen H[2]探究得出以采樣思想算法為基礎(chǔ),分析和闡述數(shù)據(jù)之間的關(guān)聯(lián)性規(guī)則,從而實現(xiàn)算法運行的并行化。而FP-Growth算法的缺陷是對數(shù)據(jù)結(jié)構(gòu)的要求很高,Han J等人[3]針對FP-Growth算法對數(shù)據(jù)結(jié)構(gòu)的要求很高的缺陷,構(gòu)造FP-tree樹,運用分治思想挖掘FP-tree,從而提高算法的運行效率。
王辰宇[4]運用BP神經(jīng)網(wǎng)絡(luò)模型進行焊點空洞率失效預(yù)測,但礙于缺少約束條件,該方法難以應(yīng)用于不同環(huán)境條件下的空洞率失效預(yù)測。針對AFM模型自學(xué)習(xí)能力不強的問題,張永峰等人[5]融合PID算法與BP神經(jīng)網(wǎng)絡(luò),使得系統(tǒng)具有更強魯棒性,在此基礎(chǔ)上進行質(zhì)量控制仿真實驗,驗證了改進后的BP神經(jīng)網(wǎng)絡(luò)的可行性。由于BP神經(jīng)網(wǎng)絡(luò)模型存在求解過程中收斂速度慢和易陷于局部最優(yōu)解的缺點[6],王曄等[7]運用人工魚群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),檢驗后得出了改進后的算法能使BP神經(jīng)網(wǎng)絡(luò)不陷入局部的最優(yōu)解。然而基于人工魚群改進的BP神經(jīng)網(wǎng)絡(luò)一般適用于數(shù)據(jù)樣本充足的情況,導(dǎo)致該方法難以被多品種小批量生產(chǎn)采用。王星辰等[8]利用CS-BP技術(shù)來改進巡檢機器人的位移補償能力。
粒子群算法要實現(xiàn)對最優(yōu)解的搜索,首先需要在空間解中隨機生成一組粒子群作為初始種群,每個粒子都可以視為目標問題模型的一個可行解,之后通過適應(yīng)度函數(shù)計算出相應(yīng)的適應(yīng)度的值進而判斷是否為最優(yōu)解。粒子群中每一個粒子都由一個矢量來控制該粒子在空間解中的位移方向。粒子群算法對粒子進行初始化之后經(jīng)過多次迭代得出最優(yōu)解。
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)在搜尋最優(yōu)解的過程中容易陷入局部最優(yōu)解,這就對預(yù)測精度產(chǎn)生了較大的影響。PSO無需梯度信息,可調(diào)參數(shù)少,僅通過不斷更新粒子的速度和位置來不斷搜尋到全局最優(yōu)解,在粒子群算法參數(shù)選擇合適的情況下,該算法全局搜索性能較好。本文采用粒子群算法對傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,以此來降低BP神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu)解的可能性,提高預(yù)測的精度。
BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值可以通過粒子群算法來進行優(yōu)化。BP神經(jīng)網(wǎng)絡(luò)的全部權(quán)值和閾值組成粒子群算法中的單個粒子,群體極值決定粒子的選擇。個體極值和群體極值根據(jù)適應(yīng)度值不斷迭代,得到最優(yōu)群體極值對應(yīng)的粒子,而后適應(yīng)度最好的個體的值作為相應(yīng)的BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和閾值。因此,用優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)進行預(yù)測可以得到更精確的預(yù)測值。算法具體過程如圖1所示。
圖1 基于粒子群算法改進的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型
1)初始化參數(shù),包括種群規(guī)模、迭代次數(shù)、學(xué)習(xí)因子以及位置和速度取值的范圍,粒子和速度初始化對粒子位置和粒子速度隨機賦值。
2)根據(jù)時間序列的輸入輸出的參數(shù)數(shù)量建立BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),隨機生成一個種群粒子Wi=(Wi1,Wi2,…,Wis)T,i=1,2,…,n,代表BP神經(jīng)網(wǎng)絡(luò)的初始值。
3)確定適應(yīng)度函數(shù)。給定一個BP神經(jīng)網(wǎng)絡(luò)進化參數(shù),將上一步中的Wi粒子對BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進行賦值,輸入訓(xùn)練樣本進行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,達到設(shè)定的精度得到一個網(wǎng)絡(luò)訓(xùn)練輸出值,則種群W中個體Wi的適應(yīng)度值fiti得計算公式如式(1)所示。
式中,yj為第i個節(jié)點的訓(xùn)練期望輸出值;
M為種群規(guī)模。
4)尋找初始值。根據(jù)上步中定義適應(yīng)度函數(shù),計算每個初始粒子的適應(yīng)度值。然后在通過適應(yīng)度值求出粒子的初始個體極值和群體極值,并將每一個粒子的最好位置作為其歷史最佳位置。
5)粒子位置和速度更新迭代。在每一次循環(huán)迭代中,把個體極值和群體極值代入式(1)和式(2),可以得到更新的粒子速度和粒子位置。
6)個體極值和群體極值更新。在步驟(5)中得到了粒子新的位置和速度,因此可以計算出新的粒子適應(yīng)度值。個體極值和群體極值通過新的粒子適應(yīng)度進行更新。
7)神經(jīng)網(wǎng)絡(luò)賦值預(yù)測。滿足最大迭代次數(shù)后,將粒子群算法得到的最優(yōu)粒子對BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進行賦值,并用優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)對壓氣機葉片合格率時間序列進行預(yù)測。
本小節(jié)對粒子群算法的參數(shù)包括種群規(guī)模M,粒子維度D,權(quán)重因子權(quán)重ω,學(xué)習(xí)因子C1和C2,最大速度Vmax,最大迭代次數(shù)Tmax進行選擇。
1)種群規(guī)模M。種群規(guī)模M就是整個粒子群中粒子的數(shù)量。當選取的粒子數(shù)過少時,粒子群算法的求解速度較快,但是由于粒子數(shù)少導(dǎo)致搜索空間較小,陷入局部極小值的概率較大。當選取的粒子數(shù)過多時,粒子群算法的求解速度較慢,由于粒子數(shù)多所以搜索空間較大,陷入局部最優(yōu)解的概率較小,發(fā)現(xiàn)全局最優(yōu)解的概率較大。通常情況下選取20—40個粒子數(shù)量作為種群規(guī)模M的值,一些特殊問題可能要選取100~200個粒子數(shù)的種群規(guī)模。針對Y型號壓氣機葉片合格率的預(yù)測問題,本文選取40個粒子數(shù)作為種群規(guī)模,保證整個粒子群算法有足夠的搜索空間不易陷入局部最優(yōu)解,同時運行速度也不至于運行速度過慢。
2)粒子維度D。粒子維度D是目標問題的解空間的維度。本文用粒子群算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進行優(yōu)化,所以本文粒子維度D的取值由預(yù)測壓氣機葉片合格率的BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)決定。粒子維度D的計算如式所示,其中R表示BP神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點數(shù),S1表示隱藏層節(jié)點數(shù),S2表示輸出層節(jié)點數(shù)。
3)粒子最大速度Vmax。粒子群中的一個粒子在搜索空間中進行一次移動的最大距離就是這個粒子最大速度Vmax。粒子最大速度選擇如果過快,那么粒子會在較遠處進行最優(yōu)解的搜索,忽略近處的解從而可能錯過最優(yōu)值,削弱整個粒子群算法的局部搜索能力。如果粒子最大速度選擇過慢則容易陷入局部最優(yōu)解。本文的粒子最大速度選擇0.5,此時粒子群算法既可以有不錯的局部搜索能力又可以陷入局部極小值。
4)權(quán)重因子ω。權(quán)重因子ω的作用是平衡粒子群算法粒子的全局搜索能力和局部搜索能力,因此權(quán)重因的取值也會影響粒子群算法對最優(yōu)解的搜尋。權(quán)重因子太大,這種情況下粒子群算法陷入局部極小值的概率較低,但是粒子群整體的收斂性不足。權(quán)重因子太小,粒子群算法的收斂性滿足要求,但是同時也增加了算法陷入局部最優(yōu)解的概率。本文權(quán)重因子ω的值選用0.6,在粒子群算法不易陷入局部極小值的情況下,同時算法的收斂能力也較強。
5)學(xué)習(xí)因子C1和C2。學(xué)子因子表征了粒子群中的粒子移動至個體極值和群體極值所在位置上的加速常數(shù)。學(xué)習(xí)因子C1和C2分別表現(xiàn)出粒子的自生認知能力和社會群體能力。C1表示單個粒子自身認知能力對搜索環(huán)境的思考與判斷,C2表示粒子群中的粒子之間信息的相互傳遞與共享。C1和C2的取值同樣會影響粒子群算法整體對最優(yōu)解的搜索能力。學(xué)習(xí)因子的取值如果過小,這種情況下限制了粒子在目標區(qū)域的搜索范圍。學(xué)習(xí)因子取值過大時,粒子群中的粒子則會超出目標區(qū)域的搜索范圍。通常學(xué)習(xí)因子C1和C2的取值為C1=C2=2,這種情況下粒子群中的粒子對于目標區(qū)域的搜索效率較高。
6)最大迭代次數(shù)Tmax。粒子群算法中,粒子的進行位置和速度更新的最大次數(shù)就是粒子群算法的最大迭代次數(shù)。當達到最大迭代次數(shù)后,粒子群算法停止運行,當前粒子群的最優(yōu)群體極值就是目標問題的全局最優(yōu)解。最大迭代次數(shù)選擇太大則會增加粒子群算法的運行時間,導(dǎo)致粒子群算法的運行效率較低。而最大迭代次數(shù)選擇太小,盡管運行時間縮短了,但是粒子群中的粒子迭代次數(shù)不足會導(dǎo)致粒子群算法所得的解不是最優(yōu)解。本文的最大迭代次數(shù)Tmax取100,在算法求得的最優(yōu)解較好的情況下,粒子群算法的整體運行效率也較好。
使用Matlab2021a軟件建立PSO-BP壓氣機葉片合格率的預(yù)測模型。
經(jīng)過多次實驗對BP神經(jīng)網(wǎng)絡(luò)進行了調(diào)試,當輸入層節(jié)點個數(shù)為20,輸出層節(jié)點個數(shù)為1,隱含層為雙層結(jié)構(gòu)且節(jié)點個數(shù)為15,隱含層激活函數(shù)選sigmiod,輸出層激活函數(shù)選purelin,訓(xùn)練次數(shù)取100,訓(xùn)練目標為1.00e-06,學(xué)習(xí)率取0.1時,BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果誤差值最小。BP神經(jīng)網(wǎng)絡(luò)各參數(shù)如表1所示。
表1 BP神經(jīng)網(wǎng)絡(luò)參數(shù)
粒子群相關(guān)參數(shù)的取值如表2所示,其中粒子維度根據(jù)式(2)計算可知。
表2 粒子群算法參數(shù)
本文選取N企業(yè)2021年一年365天壓氣機葉片柔性加工單元所產(chǎn)出的F型號的一次加工合格率,經(jīng)相空間重構(gòu)(嵌入維數(shù)m=5和時間延遲)后的360個樣本作為訓(xùn)練樣本,由于所獲取的一次加工合格率數(shù)據(jù)為2021年12個月每天的一次加工合格率數(shù)據(jù),因此留出一個月30天的樣本作為預(yù)測輸出樣本,剩下的330個一次合格率數(shù)據(jù)作為訓(xùn)練樣本。F型號壓氣機葉片合格率PSO-BP預(yù)測模型的運行結(jié)果如圖2~圖4所示。
圖2 實際值與預(yù)測值驗證對比
如圖2所示,預(yù)測值在實際值附近小幅度波動,該波動在誤差的允許范圍之內(nèi),表明用PSO-BP預(yù)測模型對于壓氣機葉片的一次加工合格率的預(yù)測具有良好的預(yù)測效果。
決定系數(shù)(又稱擬合優(yōu)度)R2越接近1,說明擬合效果越好,如圖3所示,決定系數(shù)R2為0.9243,屬于一個較高的值,說明PSO-BP預(yù)測模型的擬合效果較好。
圖3 散點擬合圖
如圖4所示,PSO-BP預(yù)測模型輸出的30個預(yù)測值與實際值對比,最大的誤差百分比為1.24%,平均誤差百分比為0.24%,對于壓氣機葉片的一次加工合格率的預(yù)測來說,達到了一個較為精確的值。預(yù)測誤差在1%以內(nèi)視為預(yù)測成功,則PSO-BP預(yù)測模型的預(yù)測準確度到達了96.67%。
圖4 誤差百分比
通過粒子群算法改進的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對于壓氣機葉片的一次加工合格率的預(yù)測具有較好的預(yù)測效果,可以為壓氣機葉片的質(zhì)量控制與決策提供依據(jù)和參考。