朱培宇,趙國勇,梁振春,趙 勇,蘇 宇
(山東理工大學(xué) 機(jī)械工程學(xué)院,山東 淄博 255049)
隨著中國節(jié)能減排戰(zhàn)略的實(shí)施,加工生產(chǎn)過程中能耗的分析和預(yù)測已成為現(xiàn)代綠色制造領(lǐng)域不可回避的問題。Li等[1]通過數(shù)控銑削實(shí)驗(yàn)測得機(jī)床能量效率在18%以下。謝東等[2]利用MATLAB軟件搭建了基于BP神經(jīng)網(wǎng)絡(luò)的能耗預(yù)測模型,通過獲取的切削實(shí)驗(yàn)數(shù)據(jù)進(jìn)行訓(xùn)練,最后得到目標(biāo)函數(shù),然后用遺傳算法尋找最優(yōu)方案,為加工過程能耗提供了一個良好的方案。張華等[3]利用支持向量機(jī)理論建立了風(fēng)速預(yù)測模型對風(fēng)速進(jìn)行短期預(yù)測,驗(yàn)證了支持向量機(jī)預(yù)測模型在風(fēng)速預(yù)測中的可行性。
切削比能作為一種量化工具,是能耗分析的重要組成部分,但其預(yù)測方面的研究還比較匱乏,并且一些預(yù)測研究需要以大量實(shí)驗(yàn)數(shù)據(jù)作為參考基礎(chǔ)來建立模型,費(fèi)時費(fèi)力。而支持向量機(jī)能很好的解決小樣本、非線性、局部極小點(diǎn)等實(shí)際問題,并且具有適應(yīng)性強(qiáng)和泛化能力優(yōu)秀的特點(diǎn)。本文將支持向量機(jī)應(yīng)用于切削比能的預(yù)測研究,既利用了支持向量機(jī)的優(yōu)越性,又填補(bǔ)了切削比能預(yù)測研究的空白,對節(jié)能減排、實(shí)現(xiàn)綠色制造意義重大。
利用某廠生產(chǎn)的XD-40A數(shù)控銑床進(jìn)行銑削加工實(shí)驗(yàn)。以背吃刀量、側(cè)吃刀量、進(jìn)給速度、主軸轉(zhuǎn)速為實(shí)驗(yàn)輸入,機(jī)床加工功率為實(shí)驗(yàn)輸出。實(shí)驗(yàn)工件材料為45號鋼,工件尺寸為200×150×30 mm。刀具采用直徑為20 mm的直齒圓柱立銑刀,齒數(shù)為2,主偏角kr=90°。實(shí)驗(yàn)平臺如圖1所示。
圖1 實(shí)驗(yàn)平臺簡圖
為了保證銑削實(shí)驗(yàn)順利進(jìn)行,我們根據(jù)銑削實(shí)驗(yàn)中各加工參數(shù)的取值要求及加工經(jīng)驗(yàn),對每組參數(shù)取四個水平的數(shù)值,如表1所示。
表1 各因素參數(shù)表
根據(jù)表1,全部實(shí)驗(yàn)因素的組合有44=256次,完成全部組合的實(shí)驗(yàn)是不現(xiàn)實(shí)的。為了簡化實(shí)驗(yàn)次數(shù),又不影響實(shí)驗(yàn)的有效性與準(zhǔn)確度,本文使用正交試驗(yàn)法設(shè)計(jì)實(shí)驗(yàn)。根據(jù)實(shí)驗(yàn)加工參數(shù)及取值水平設(shè)計(jì)正交試驗(yàn)表,并隨機(jī)選取15組數(shù)據(jù)用于后期支持向量機(jī)預(yù)測方法的研究,如表2所示。
表2 使用正交序列表設(shè)計(jì)的實(shí)驗(yàn)及其結(jié)果
支持向量機(jī)(Support Vector Machine, SVM)以統(tǒng)計(jì)學(xué)習(xí)理論為理論基礎(chǔ),主要用于解決分類和回歸問題。SVM在解決小樣本、非線性及高維模式識別問題中表現(xiàn)極佳。它基本上不涉及概率測度和大多數(shù)定律問題。
支持向量機(jī)理論上的模型結(jié)構(gòu)相似于三層BP神經(jīng)網(wǎng)絡(luò),相當(dāng)于“一個隱含層”的三層結(jié)構(gòu)BP網(wǎng)格。通過使用非線性映射將低維輸入空間的樣本映射到高維屬性空間,使其變成線性情況,從而在高維屬性空間采用線性算法對樣本的非線性進(jìn)行分析。相比神經(jīng)網(wǎng)絡(luò),SVM在訓(xùn)練過程中其支持向量會隨著每組樣本數(shù)據(jù)的變化而變化,進(jìn)而使得模型會根據(jù)支持向量數(shù)的變化自動尋找最優(yōu)模型。
設(shè)訓(xùn)練樣本集:
D={(xi,yi)|i=1,2,…},xi∈Rn,yi∈R
回歸函數(shù)由式(1)所示線性方程來表示:
(1)
求解式(2)所示的優(yōu)化問題:
(2)
約束條件:
(3)
其中,ε為回歸允許最大誤差,懲罰因子C>0。
進(jìn)一步將式(2)所示的優(yōu)化問題轉(zhuǎn)化為對偶形式如下:
(4)
約束條件:
(5)
則支持向量機(jī)的輸出為:
(6)
(7)
(1)處理實(shí)驗(yàn)數(shù)據(jù)獲取模型參數(shù)。在本次實(shí)驗(yàn)中利用功率分析儀測得的實(shí)驗(yàn)輸出為機(jī)床加工的實(shí)時功率,經(jīng)過公式計(jì)算使之轉(zhuǎn)變?yōu)槲覀兯枰臋C(jī)床切削比能。每組實(shí)驗(yàn)結(jié)果總結(jié)在表2中。在進(jìn)行支持向量機(jī)建模時,首先要對數(shù)據(jù)進(jìn)行歸一化處理,該步驟在MATLAB軟件中進(jìn)行,利用MATLAB自帶的映射函數(shù)mapminmax進(jìn)行歸一化處理。
圖2 最佳參數(shù)c&g選擇結(jié)果等高線圖
圖3最佳參數(shù)c&g選擇結(jié)果3D視圖
(3)建立預(yù)測模型。LIBSVM工具箱的主要函數(shù)有訓(xùn)練函數(shù)和預(yù)測函數(shù),調(diào)用格式如下:
model=libsvmtrain(train_y,train_x,options);
[predict_y,accuracy/mse,dec_calue]=libsvmpredict (test_y,test_x,model);
其中:
train_x為n×m的訓(xùn)練集屬性矩陣同時也叫做自變量;
train_y為n×1的訓(xùn)練集標(biāo)簽同時也叫做因變量或者目標(biāo)變量;
options為參數(shù)選項(xiàng),比如“-c1 -g0.1”;
model為訓(xùn)練得到的模型,是一個結(jié)構(gòu)體;test_x為N×m的測試集屬性矩陣(自變量);
test_y為N×1的測試集標(biāo)簽(因變量);
model為libsvmtrain訓(xùn)練得到的模型;
predict_y為預(yù)測的測試集標(biāo)簽(目標(biāo)變量);
accuracy/mse為一個3×1的列向量,第一個數(shù)表示分類準(zhǔn)確率(分類問題使用),第二個數(shù)表示mse(回歸問題使用),第三個數(shù)表示平方相關(guān)系數(shù)(回歸問題使用);
dec_value為決策值。
根據(jù)上述函數(shù)在MATLAB中建立基于支持向量機(jī)理論的切削比能預(yù)測模型,選擇徑向基RBF核函數(shù)作為數(shù)控機(jī)床切削比能預(yù)測模型的核函數(shù)。利用上面得到的最佳參數(shù)c和g對SVM進(jìn)行訓(xùn)練,然后再對原始數(shù)據(jù)進(jìn)行回歸預(yù)測。具體程序如下:
cmd=[’-c’,num2str(bestc),’-g’,num2str(bestg),’-s 3 -p 0.01’];
model=libsvmtrain(TS,TSX,cmd);
[predict,mse,devalue]=libsvmpredict(TS,TSX,model);
predict=mapminmax(’reverse’,predict’,TSps);
predict=predict’;
其中:
TS表示輸出數(shù)據(jù)矩陣;
TSX表示實(shí)驗(yàn)輸入?yún)?shù)矩陣;
-s 3表示選擇SVM類型為適用于回歸的
epsilon-SVR類型;
-p表示設(shè)置epsilon-SVR中損失函數(shù)的值。
利用所建立的SVM預(yù)測模型,把背吃刀量、側(cè)吃刀量、進(jìn)給速度、主軸轉(zhuǎn)速設(shè)為樣本輸入,機(jī)床切削比能為樣本輸出。
對表2數(shù)據(jù)進(jìn)行預(yù)測,運(yùn)行結(jié)果為:均方誤差MSE=0.00938781,相關(guān)系數(shù)R=93.5017%。同時,通過可視化原始數(shù)據(jù)和預(yù)測值的對比,發(fā)現(xiàn):只有幾個預(yù)測點(diǎn)偏離原始數(shù)據(jù)點(diǎn)較遠(yuǎn),大部分預(yù)測點(diǎn)的位置都比較靠近原始數(shù)據(jù)點(diǎn),如圖4所示。實(shí)驗(yàn)結(jié)果證明了支持向量機(jī)理論在數(shù)控機(jī)床切削比能預(yù)測中的有效性。
圖4 原始數(shù)據(jù)與回歸預(yù)測數(shù)據(jù)對比結(jié)果
針對數(shù)控機(jī)床能耗特性,提出了一種基于支持向量機(jī)理論的數(shù)控機(jī)床切削比能預(yù)測方法。利用MATLAB軟件及其結(jié)合加載的LIBSVM工具箱建立了支持向量機(jī)預(yù)測模型,對數(shù)控銑床銑削工件時的切削比能進(jìn)行預(yù)測。實(shí)驗(yàn)結(jié)果證明了該模型預(yù)測機(jī)床切削比能的有效性。該研究對數(shù)控機(jī)床節(jié)能加工和工藝優(yōu)化具有重要意義。只是在部分加工參數(shù)影響下,針對一種加工材料的切削比能進(jìn)行了預(yù)測,影響數(shù)控機(jī)床切削比能的因素尚有很多,并且可加工材料多樣,數(shù)控機(jī)床切削比能預(yù)測有待全面進(jìn)行。