嚴(yán)勝利,李俊泓,李 浩,張春林
(廣安職業(yè)技術(shù)學(xué)院,四川 廣安 638000)
制造業(yè)的能源消耗隨著社會(huì)工業(yè)化的持續(xù)改善而增加[1]。準(zhǔn)確預(yù)測(cè)加工過(guò)程中的能源消耗并優(yōu)化加工參數(shù)以提高加工能源效率和節(jié)約制造成本具有重要意義[2]。
優(yōu)化銑削參數(shù)的方法[3]包括:響應(yīng)面法、粒子群優(yōu)化算法、BP-SA 優(yōu)化銑削參數(shù)的路徑、基于深度強(qiáng)化學(xué)習(xí)的銑削參數(shù)優(yōu)化方法等。這些方法的目的是提高加工過(guò)程的能源效率,降低成本,并使銑削加工過(guò)程更加精確和高效。而基于深度強(qiáng)化學(xué)習(xí)的銑削參數(shù)優(yōu)化方法是一種近年來(lái)新發(fā)展起來(lái)的方法,可以考慮加工成本,響應(yīng)面法和粒子群優(yōu)化算法是比較常用的方法。曾金平等[4]建立CNC 車(chē)床主軸加速能耗模型,并討論減少這部分能耗的潛在方法。在刀具磨損的不同階段,考慮切削能耗存在動(dòng)態(tài)變化過(guò)程。因此,戚曉楠等[5]通過(guò)開(kāi)發(fā)統(tǒng)一切削試驗(yàn)工具磨損和能量圖,評(píng)估不同切削條件下的刀具磨損率和特定切削能量。為研究實(shí)際材料去除所消耗的能量,于碩等[6]在過(guò)程水平上定義了一個(gè)新概念,凈切削比能量,并建立每個(gè)完成硬銑加工水平的切削條件和能耗之間的關(guān)系。宣鵬舉等[7]關(guān)注的是熱輔助加工的能耗。此外,表面質(zhì)量也是加工過(guò)程優(yōu)化的關(guān)鍵目標(biāo)之一。盧家鋒等[8]不僅建立不銹鋼銑削的經(jīng)驗(yàn)?zāi)芎哪P?,還基于RSM 方法建立表面粗糙度的預(yù)測(cè)模型,并優(yōu)化節(jié)能和高質(zhì)量加工的工藝參數(shù)。Fatoorehchi 等[9]使用反演分析方法分別建立切削力模型、殘余應(yīng)力模型、工具壽命模型和表面粗糙度模型。然而,隨著加工能耗預(yù)測(cè)模型越來(lái)越完善,模型的計(jì)算也變得更加復(fù)雜。每個(gè)機(jī)床加工部件的能耗公式系數(shù)很多,分析和實(shí)驗(yàn)校準(zhǔn)的工作量增加。
本文提出的銑削參數(shù)優(yōu)化方法基于深度強(qiáng)化學(xué)習(xí),該方法具有較大的搜索時(shí)間優(yōu)勢(shì),并且采用粒子群優(yōu)化算法可以獲得最佳優(yōu)化效果。
反向傳播神經(jīng)網(wǎng)絡(luò)[10](Back Propagation Neural Network,BPNN)是一種人工神經(jīng)網(wǎng)絡(luò),是一種多層前饋神經(jīng)網(wǎng)絡(luò),可以用于監(jiān)督學(xué)習(xí)。BPNN 通過(guò)使用反向傳播算法來(lái)訓(xùn)練網(wǎng)絡(luò),該算法使用梯度下降法來(lái)最小化誤差函數(shù)。其網(wǎng)絡(luò)結(jié)構(gòu)通常包括輸入層、隱藏層和輸出層,其中隱藏層可以有多個(gè)。BPNN 模型的訓(xùn)練過(guò)程是在輸入數(shù)據(jù)和期望輸出之間進(jìn)行的,通過(guò)不斷地調(diào)整神經(jīng)元之間的連接權(quán)重,使得網(wǎng)絡(luò)的輸出結(jié)果逐漸逼近期望輸出。BPNN 模型在分類(lèi)、回歸等任務(wù)中具有廣泛的應(yīng)用。
反向傳播神經(jīng)網(wǎng)絡(luò)模型優(yōu)點(diǎn)在于高效性。BP 神經(jīng)網(wǎng)絡(luò)的示意圖模型如圖1 所示。
圖1 BP 神經(jīng)網(wǎng)絡(luò)的示意圖模型
粒子群算法[11]是一種群體智能優(yōu)化算法,其靈感來(lái)源于鳥(niǎo)群或魚(yú)群等生物的行為。該算法通過(guò)模擬粒子在搜索空間中的移動(dòng)來(lái)尋找最優(yōu)解。每個(gè)粒子代表著搜索空間中的一個(gè)解,其位置和速度可以通過(guò)一定的規(guī)則進(jìn)行更新,使其逐步向最優(yōu)解靠近。在算法迭代過(guò)程中,每個(gè)粒子可以根據(jù)自身的最優(yōu)解以及全局最優(yōu)解進(jìn)行位置和速度更新,以期望找到更優(yōu)解。粒子群算法尋優(yōu)過(guò)程如圖2 所示。
圖2 粒子群算法尋優(yōu)過(guò)程
本文根據(jù)建立的目標(biāo)函數(shù)模型和約束方程,上述模型均為非線性方程,如果采用傳統(tǒng)的優(yōu)化算法(如遺傳算法、蟻群算法等),計(jì)算復(fù)雜,結(jié)果容易陷入局部最優(yōu)。因此,引入一種組合優(yōu)化算法,結(jié)合APSO(Adaptive Particle Swarm Optimization,APSO)和NGSA-II,以優(yōu)化模型,獲得更精確的處理參數(shù)組合,新的組合優(yōu)化算法可以充分發(fā)揮粒子群優(yōu)化的收斂性和遺傳算法的種群多樣性。
APSO 算法是一種群體智能算法,認(rèn)為粒子處于n維空間中,根據(jù)一定規(guī)則傳遞信息,并根據(jù)信息的變化改變自身狀態(tài)生成的自組織行為。如圖3 所示為APSO算法中粒子之間信息傳遞模型。
圖3 APSO 算法中粒子之間信息傳遞模型
該算法的步驟如下。首先,初始化一定規(guī)模的粒子群,當(dāng)粒子群初始化時(shí),每個(gè)粒子都有3 個(gè)屬性:適應(yīng)度P,速度V 和位置X。其次,每個(gè)粒子將比較其當(dāng)前位置的適應(yīng)度值與其歷史中最佳適應(yīng)度值pid,并將比較后的更好值作為當(dāng)前最佳位置pext,否則不進(jìn)行任何變化。粒子可根據(jù)式(1)和式(2)來(lái)更新速度和位置,直到達(dá)到設(shè)定的終止條件。
式中:w 為慣性權(quán)重因子,νid為粒子的速度,νid∈[-νmax,νmax],c1、c2為學(xué)習(xí)因子,通常取c1=c2=2,r1d、r2d為相互獨(dú)立的均勻分布在[0,1]上的隨機(jī)數(shù),xid為當(dāng)前粒子位置。
改進(jìn)的遺傳算法NSGA-II 采用非支配解排序方法和擁擠距離計(jì)算,并增加BPNN 神經(jīng)網(wǎng)絡(luò)思想的精英策略。
2.2.1 基因編碼
基因編碼是遺傳算法設(shè)計(jì)中的關(guān)鍵問(wèn)題。編碼方法必須考慮染色體的有效性、可行性、解空間表示的完整性。在NSGA-II 算法中,設(shè)備、工具和工藝順序的選擇需要在部分編碼方法中合理反映。對(duì)于處理參數(shù)的優(yōu)化,采用編碼機(jī)制,種群中每個(gè)個(gè)體都有3 個(gè)子串。第一個(gè)分子串是工步號(hào),第二部分表示相應(yīng)的工具號(hào),第三部分表示對(duì)應(yīng)于工步的處理特征的平方表面編號(hào)。
2.2.2 交叉處理
改進(jìn)的遺傳算法對(duì)于不同的子串,遺傳處理是不同的。相比于單點(diǎn)交叉,雙點(diǎn)交叉可以有效地減少位置偏差,而不會(huì)引入分布偏差。首先隨機(jī)選擇2 個(gè)染色體F1 和F2 作為親代染色體,在F1 中隨機(jī)生成2 個(gè)交叉點(diǎn),然后將F1 的相應(yīng)左右部分復(fù)制到后代染色體C1的同一位置,最后從F2 中移除F1 的左右部分,在C1染色體上復(fù)制原始后代C1 的一部分基因。以相同的方式,可以獲得另一個(gè)后代的C2 染色體。
2.2.3 突變處理
突變發(fā)生在交叉之后。突變是指將個(gè)體染色體編碼字符串中某個(gè)位點(diǎn)的基因值替換為該位點(diǎn)的其他等位基因,從而形成一個(gè)新個(gè)體。
與NSGA-II 相比,APSO 更加簡(jiǎn)潔,收斂速度更快。然而,更新粒子位置主要依賴于將其自身位置與其周?chē)恢靡约爱?dāng)前種群中的最優(yōu)位置進(jìn)行比較。這種模式相對(duì)簡(jiǎn)單,使得其收斂速度在后期計(jì)算中不夠高效。
NSGA-II 具有4 個(gè)不同的進(jìn)化步驟,包括選擇、交叉和變異,增加了解決方案的多樣性。當(dāng)NSGA-II 解決到一定范圍時(shí),會(huì)導(dǎo)致冗余迭代的低效處理,計(jì)算時(shí)間過(guò)長(zhǎng),解決效率低。因此,本研究將APSO 和NSGAII 結(jié)合起來(lái),融合BPNN 思想,以提高算法效率。
組合算法的步驟總結(jié)如下。
步驟1:初始步驟。在可行區(qū)域內(nèi),APSO 生成p 個(gè)粒子并演化kmax度代數(shù)。所有粒子根據(jù)目標(biāo)函數(shù)的值排序,然后將種群分為2 個(gè)子種群。優(yōu)化的p/2 個(gè)粒子用作APSO 處理的初始種群p1。剩余的p/2 個(gè)粒子用作新一代染色體p2進(jìn)行NSGA-II 處理。
步驟2:進(jìn)化步驟。在尋找最優(yōu)解的過(guò)程中,子種群p1 的位置和速度可根據(jù)式(3)—式(4)進(jìn)行更新。
式中:xid為位置向量,νid為速度向量,k 為迭代次數(shù),w為慣性系數(shù)。根據(jù)式(5)可知,p2中染色體的選擇概率與第i 個(gè)個(gè)體的目標(biāo)函數(shù)值Fi有關(guān)。
步驟3:自適應(yīng)處理。在傳統(tǒng)的遺傳算法中,由于種群規(guī)模有限,大多數(shù)個(gè)體都具有良好的目標(biāo)函數(shù)值,并且這些良好的個(gè)體會(huì)被復(fù)制。其他個(gè)體在經(jīng)過(guò)幾次進(jìn)化迭代后被淘汰。但是當(dāng)適者生存的過(guò)程失去控制時(shí),缺乏多樣性和近親繁殖會(huì)出現(xiàn),交叉和突變處理將失去效力,使算法更難跳出局部最優(yōu)。
從上述的分析可以得知,基于種群早熟標(biāo)記的適應(yīng)性處理過(guò)程如下。程序開(kāi)始時(shí),將初始交叉概率和遺傳概率賦值為1。當(dāng)算法計(jì)算出種群參數(shù)的目標(biāo)函數(shù)值時(shí),也會(huì)計(jì)算出交叉概率和遺傳概率。使用初始交叉概率和遺傳概率進(jìn)行交叉變異,生成下一代的種群,計(jì)算新一代的種群參數(shù)。如果該參數(shù)大于預(yù)設(shè)值,這表明種群趨向于早熟,則使用交叉概率和遺傳概率重新生成一個(gè)新的種群;否則,初始交叉概率和遺傳概率仍然保留。在一定程度上,適應(yīng)性處理可以有效地解決算法的早熟現(xiàn)象。為了確保每一代的最佳個(gè)體不會(huì)被破壞,算法收斂于全局最優(yōu)解。
實(shí)驗(yàn)設(shè)備:立式加工中心(型號(hào):VDL-850A),VDL-850A 相關(guān)規(guī)格和參數(shù)見(jiàn)表1。根據(jù)第2.2 節(jié)和第2.3 節(jié)的分析,分別得到多目標(biāo)函數(shù)的能耗目標(biāo)函數(shù)和成本目標(biāo)函數(shù),并在實(shí)際約束條件下建立多目標(biāo)函數(shù)的優(yōu)化模型。在使用Matlab 編程和優(yōu)化多目標(biāo)函數(shù)時(shí),需要在程序中輸入相關(guān)參數(shù),并輸出最優(yōu)解信息和最優(yōu)目標(biāo)值組合。對(duì)于能耗目標(biāo)函數(shù),使用Matlab編程和優(yōu)化多目標(biāo)函數(shù),在程序中輸入目標(biāo)函數(shù)的相關(guān)參數(shù),對(duì)于成本目標(biāo)函數(shù),根據(jù)公式需要將相關(guān)參數(shù)輸入Matlab 程序中。
表1 VDL-850A 相關(guān)規(guī)格和參數(shù)
根據(jù)多目標(biāo)函數(shù)模型和加工要求,設(shè)置相關(guān)參數(shù)如下。
1)工件材料:零件材料為45 鋼。
2)刀具:直徑為16 cm,齒數(shù)為3 cm 的高速鋼端銑刀,主角度。
3)加工要求:粗銑40 mm×40 mm 尺寸的臺(tái)階面,銑削深度為4 mm,銑削寬度為20 mm,長(zhǎng)度為40 mm,在加工過(guò)程中使用切削液。
基于先前建立的組合算法,只需要從第二步驟開(kāi)始,以便獲得每個(gè)給定目標(biāo)函數(shù)的不同權(quán)重系數(shù)。為方便解決多目標(biāo)優(yōu)化問(wèn)題,通常難以同時(shí)獲得多個(gè)目標(biāo)函數(shù)的最優(yōu)解。為解決這個(gè)問(wèn)題,將多目標(biāo)函數(shù)轉(zhuǎn)化為單目標(biāo)函數(shù)。線性加權(quán)法是最簡(jiǎn)單的計(jì)算方法,權(quán)重可以通過(guò)主觀評(píng)價(jià)每個(gè)目標(biāo)的重要性來(lái)分配。其中λ1+λ2=1,λ1和λ2分別是過(guò)程成本加權(quán)系數(shù)和能耗加權(quán)系數(shù)。在本研究中,這2 個(gè)因素在優(yōu)化過(guò)程中被視為是同等重要的。因此,這里將權(quán)重設(shè)置為λ1=λ2=0.5。然后,新的目標(biāo)函數(shù)可以用作評(píng)估函數(shù)。選擇不同的權(quán)重組合進(jìn)行模擬分析和比較。
為驗(yàn)證所提出方法的有效性,應(yīng)用組合優(yōu)化算法解決多目標(biāo)線性模型問(wèn)題。使用Matlab 編寫(xiě)程序,分別以多目標(biāo)、單一目標(biāo)最小成本和單一目標(biāo)最小能量作為處理參數(shù)優(yōu)化的目標(biāo)。組合算法參數(shù)設(shè)置如下。
①設(shè)置初始種群數(shù)為30。②迭代次數(shù)k 為150,xid取0.9。③vid取0.4。以節(jié)能和低成本為優(yōu)化目標(biāo),組合算法的迭代收斂過(guò)程如圖4 所示。通過(guò)以上分析,分別以多目標(biāo)、單一目標(biāo)最小成本和單一目標(biāo)最小能量作為處理參數(shù)優(yōu)化的目標(biāo)。
圖4 組合算法的迭代收斂過(guò)程
本研究提出的多目標(biāo)優(yōu)化模型與單目標(biāo)優(yōu)化模型進(jìn)行比較,可得以下結(jié)果。
1)以低加工成本為優(yōu)化目標(biāo),銑削速度為28.51m/min,每齒進(jìn)給為0.09 mm/z,加工時(shí)間為45.2 s,加工成本為46.17 元人民幣。單目標(biāo)優(yōu)化銑削速度較低,主軸轉(zhuǎn)速慢,刀具磨損小,加工成本低。但由于加工時(shí)間長(zhǎng),加工所需能量消耗達(dá)到3.475×105 J,因此,本文方法整體成本比單目標(biāo)優(yōu)化模型低。
2)以節(jié)能為優(yōu)化目標(biāo),銑削速度為32.07 m/min,每齒進(jìn)給為0.09 mm/z,加工時(shí)間為42 s,能量消耗為3.468×105 J。銑削速度和主軸轉(zhuǎn)速更快,加工時(shí)間更短,導(dǎo)致加工能量消耗更少。然而,單目標(biāo)優(yōu)化模型由于快速銑削速度導(dǎo)致刀具磨損增加,加工成本達(dá)到46.94 元人民幣,本文方法比單目標(biāo)優(yōu)化模型成本低。
在加工過(guò)程中,工藝參數(shù)的選擇直接關(guān)系到待加工零件的生產(chǎn)效率、成本和能耗。合理的工藝參數(shù)不僅可以提高生產(chǎn)效率,降低生產(chǎn)成本,還可以減少加工過(guò)程中的能耗。因此,設(shè)計(jì)優(yōu)秀的組合算法,解決加工過(guò)程中能耗隨加工過(guò)程的動(dòng)態(tài)變化問(wèn)題,實(shí)現(xiàn)既能滿足加工中心節(jié)能降耗要求,又能兼顧其主要經(jīng)濟(jì)指標(biāo)的優(yōu)化,方法意義重大。
本文首先設(shè)計(jì)了反向傳播神經(jīng)網(wǎng)絡(luò)模型,采用APSO 算法、NSGA-II 算法與自適應(yīng)粒子群算法的復(fù)合優(yōu)化算法,提出優(yōu)化銑削參數(shù)解決加工能耗的方案,并完成了基于APSO 和NSGA-II 的組合算法與單獨(dú)的APSO 方法或NSGA-II 方法比較。采用以VDL-850A型號(hào)的立式加工中心為實(shí)驗(yàn)設(shè)備,針對(duì)能耗目標(biāo)函數(shù),使用Matlab 編程和優(yōu)化多目標(biāo)函數(shù),分別以多目標(biāo)、單一目標(biāo)最小成本和單一目標(biāo)最小能量作為處理參數(shù)優(yōu)化的目標(biāo)。
本研究提出的多目標(biāo)優(yōu)化模型與單目標(biāo)優(yōu)化模型進(jìn)行比較,以低加工成本為優(yōu)化目標(biāo)進(jìn)行分析,銑削速度較低,主軸轉(zhuǎn)速慢,刀具磨損小,加工成本低。以節(jié)能為優(yōu)化目標(biāo)進(jìn)行分析,銑削速度和主軸轉(zhuǎn)速更快,加工時(shí)間更短,導(dǎo)致加工能量消耗更少。因此,本文方法無(wú)論從低加工成本目標(biāo)和節(jié)能優(yōu)化目標(biāo)相比,均比單目標(biāo)優(yōu)化模型成本低。