王昌敏,閆海鵬,王訓洪
(1.內(nèi)蒙古雙利礦業(yè)有限公司,內(nèi)蒙古 巴彥淖爾 015000;2.廣西科技大學經(jīng)管學院;3.廣西工業(yè)高質(zhì)量發(fā)展研究中心,廣西 柳州 545006)
精礦品位是選礦廠的最終產(chǎn)品,直接影響企業(yè)的經(jīng)濟效益。精礦品位的測算一般通過抽樣化驗,但由于化驗耗時長,滯后性較大,使生產(chǎn)操作工很難及時調(diào)整生產(chǎn)工藝參數(shù)來保證精礦品位穩(wěn)定。為彌補上述不足,擬構(gòu)建精度更高的精礦品位預(yù)測模型。選礦過程復(fù)雜,機理不清,使用機理較難建立高精度的精礦品位預(yù)測模型,大多數(shù)采用數(shù)學方法建立模型。文獻[2]采用規(guī)劃方法構(gòu)建了精礦品位的預(yù)測模型,并采用概率密度函數(shù)計算了最優(yōu)參數(shù)。文獻[3]結(jié)合支持向量機和小波極值方法建立精礦品位的預(yù)測模型,該預(yù)測模型所需樣本數(shù)量大,使模型運用受到一定限制。文獻[4]采用人工神經(jīng)網(wǎng)絡(luò)方法對精礦品位預(yù)測進行了研究,并通過案例應(yīng)用,驗證了人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于精礦品位預(yù)測的有效性。在上述文獻中,驗證了人工神經(jīng)網(wǎng)絡(luò)擬合性能良好,但其仍存在一些不足為:收斂速度慢、易陷入局部極值。然而,粒子群算法一般通過改變粒子位置和速率進行全局優(yōu)化,其優(yōu)勢具有高魯棒性、快收斂速率和較好的全局優(yōu)化能力。為彌補人工神經(jīng)網(wǎng)絡(luò)的上述不足,結(jié)合2種方法,構(gòu)造基于PSO-BPNN的精礦品位預(yù)測模型,以提高精度為目的,為預(yù)測精礦品位提供幫助。
人工神經(jīng)網(wǎng)絡(luò)借用物理設(shè)備模擬生物神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),被廣泛應(yīng)用于控制、分類、非線性預(yù)測、優(yōu)化等諸多領(lǐng)域。在20世紀70年代初,Werbos創(chuàng)立了反向傳播神經(jīng)網(wǎng)絡(luò)(Back-Propagation Neural Network,BPNN),利用分布式存儲,其具有自學習能力強、并行處理和自適應(yīng)能力強等優(yōu)勢,是目前廣泛應(yīng)用算法之一;BPNN按誤差反方向傳播,是多層前饋神經(jīng)網(wǎng)絡(luò),主要由輸入層、輸出層和隱含層組成;其通過改變連接權(quán)重,提高自學習能力和擬合性能,網(wǎng)絡(luò)圖如圖1所示。
圖1 BPNN結(jié)構(gòu)圖
20世紀90年代,Eberhart和Kennedy[9]創(chuàng)立了粒子群優(yōu)化(Particle Swarm Optimization, PSO),其借用早期受鳥類群體尋食行為,利用種群中個體信息共享和協(xié)作進行優(yōu)化。在PSO算法中,粒子代表潛在解和在解空間里搜索,并通過不斷迭代尋找最優(yōu)解。迭代過程中,粒子依賴兩個最優(yōu)值改變自己。一個為個體最優(yōu)解,另一個為全局最優(yōu)解。
假設(shè)一個群體共有m個粒子,每個粒子的信息由n維向量表示。設(shè)第i個粒子位置為Xi=(xi1,xi2,…,xin),其現(xiàn)在個體最優(yōu)解為Pi=(pi1,pi2,…,pin),現(xiàn)在群體最優(yōu)解為G=(g1,g2,…,gn),該粒子變化率為Vi=(vi1,vi2,…,vin)。依據(jù)粒子群算法的原理,粒子更新公式如下:
式中,w、t分別為慣性權(quán)重和迭代次數(shù);i=1,2,…,m,j=1,2,…,n;c1、c2為加速因子,分別表示粒子走向現(xiàn)在個體最優(yōu)解和群體最優(yōu)解的步長;r1,r2為隨機數(shù),0~1內(nèi)。
公式(3)是為了降低粒子在迭代過程中離開解空間的可能性,使粒子變化率限制在[-vmax,vmax]內(nèi)。
由于BPNN易收斂局部極值和收斂速率較慢,且初始連接權(quán)重和閾值等參數(shù)敏感。而PSO算法通過更新粒子位置和速度來搜索全局最優(yōu)解,其具有快收斂性、高全局搜索性能和強魯棒性等優(yōu)點。PSO-BPNN是將PSO和BPNN相結(jié)合,利用粒子群算法改善BPNN易收斂局部極值和收斂速率較慢等缺點。PSO-BPNN通過粒子群算法優(yōu)化BPNN中的初始連接權(quán)重和閾值,優(yōu)化最優(yōu)的初始連接權(quán)重和閾值,然后將這兩個參數(shù)值傳給BPNN,最后進行預(yù)測。PSO-BPNN的預(yù)測模型過程如下:
(1)構(gòu)建BPNN,設(shè)置參數(shù),初始化連接權(quán)重和閾值。目前,隱含層節(jié)點個數(shù)確定通常使用經(jīng)驗公式,本文經(jīng)驗公式如下:
式中,hi、hj、hk分別為輸入層、隱含層和輸出層節(jié)點個數(shù)。
(2)設(shè)置PSO算法的參數(shù),主要包括群體數(shù)量、學習因子、慣性權(quán)重、最大迭代次數(shù)、適應(yīng)度誤差和粒子維數(shù)等參數(shù)。大多數(shù)參數(shù)是根據(jù)經(jīng)驗和精度設(shè)置,但粒子維數(shù)是由如下公式確定:
(3)初始化個體位置和速度。
(4)使用均方誤差為PSO的適應(yīng)度函數(shù),計算公式為:
式中,M表示樣本個數(shù);N表示粒子維數(shù);yij和分別為樣本i預(yù)測值和實際值。
(5)對每個粒子,比較該粒子的適應(yīng)值和歷史最優(yōu)適應(yīng)值、粒子歷史最優(yōu)適應(yīng)值和全局最優(yōu)適應(yīng)值,若前者大于后者,則用前者替換后者。
(6)依據(jù)公式(1)、(2)和(3),對每個粒子進行更新。
(7)判斷是否滿足結(jié)束條件(適應(yīng)度值小于適應(yīng)度誤差限、迭代次數(shù)大于最大允許迭代次數(shù)),若滿足,則停止迭代,輸出連接權(quán)重和閾值;否則,迭代次數(shù)增加1,返回流程(4)。
(8)根據(jù)流程(7)輸出的連接權(quán)重和閾值對BPNN進行訓練和測試,檢驗預(yù)測模型的預(yù)測和泛化能力。
通過分析選礦過程中各生產(chǎn)關(guān)鍵指標與精礦品位的影響,選取對精礦品位影響大的指標作為輸入變量,分別為入選品位和選礦比,輸出變量為精礦品位。本文收集某礦山選礦廠2015年3月~2017年12月的入選品位、選礦比和精礦品位的日數(shù)據(jù),共500組數(shù)據(jù),部分數(shù)據(jù)如表1所示。在精礦品位預(yù)測模型建立時,分別將前400組數(shù)據(jù)和后100組數(shù)據(jù)作為模型的訓練和測試樣本,對預(yù)測模型的精度進行驗證。
表1 某礦山的部分選礦數(shù)據(jù)
通過newff函數(shù)構(gòu)建BPNN,newff函數(shù)如下:
式中,P、T、S分別為輸入變量、輸出變量、隱含層節(jié)點個數(shù);TF和BLF為傳遞函數(shù)(tansig函數(shù))和訓練函數(shù)(trainlm函數(shù))。
3層BPNN非線性擬合性能強,故采用3層BPNN。輸入與輸出節(jié)點個數(shù)分別為2和1。根據(jù)公式(4),隱含層節(jié)點個數(shù)可為1或2,通過比較網(wǎng)絡(luò)調(diào)試結(jié)果,最終確定隱層節(jié)點個數(shù)為2。訓練次數(shù)、學習率、訓練目標誤差分別設(shè)為100、0.1、0.001,其余參數(shù)選為默認值。
根據(jù)公式(5)計算粒子維數(shù)為9,粒子種群數(shù)和最大允許迭代次數(shù)分別設(shè)為30和20,c1和c2均為1.4,最大限制速度vmax=6。
根據(jù)上述樣本數(shù)據(jù)和參數(shù)構(gòu)建了基于PSO-BPNN的精礦品位預(yù)測模型。為了驗證其預(yù)測性能的優(yōu)越性,采用相同的參數(shù)與樣本數(shù)據(jù),對PSO-BPNN和BPNN預(yù)測模型進行了仿真和比較。圖2~4分別給出了兩種預(yù)測模型的網(wǎng)絡(luò)性能、預(yù)測結(jié)果和預(yù)測結(jié)果誤差的效果圖。表2給出了兩種模型的性能指標。
表2 2種模型的性能指標對比
圖2 精礦品位預(yù)測的網(wǎng)絡(luò)性能
從圖2可以看出,2種預(yù)測模型均達到收斂狀態(tài),且PSO-BPNN預(yù)測模型的收斂速度和收斂結(jié)果都優(yōu)于BPNN。從圖3、圖4和表2可以看出,PSO-BPNN預(yù)測模型的預(yù)測精度勝于BPNN預(yù)測模型。PSO-BPNN預(yù)測模型的最大相對誤差和平均相對誤差分別為0.9%和0.29%,最大相對誤差未超過1%,表明PSO-BPNN預(yù)測模型預(yù)測精度高,并說明該礦山的精礦品位具有可預(yù)測性。
圖3 精礦品位預(yù)測結(jié)果
圖4 精礦品位預(yù)測結(jié)果誤差
融合PSO算法和BPNN,建立基于PSO-BPNN的精礦品位預(yù)測模型。將所建立模型應(yīng)用于實際案例,最大相對誤差和平均相對誤差分別為0.9%和0.29%,均低于1%,表明PSO-BPNN預(yù)測模型預(yù)測精度高,可用于精礦品位的預(yù)測,能為選礦過程控制奠定基礎(chǔ),并具有一定的實用價值。