王昌敏,閆海鵬,王訓洪
(1.內蒙古雙利礦業有限公司,內蒙古 巴彥淖爾 015000;2.廣西科技大學經管學院;3.廣西工業高質量發展研究中心,廣西 柳州 545006)
精礦品位是選礦廠的最終產品,直接影響企業的經濟效益。精礦品位的測算一般通過抽樣化驗,但由于化驗耗時長,滯后性較大,使生產操作工很難及時調整生產工藝參數來保證精礦品位穩定。為彌補上述不足,擬構建精度更高的精礦品位預測模型。選礦過程復雜,機理不清,使用機理較難建立高精度的精礦品位預測模型,大多數采用數學方法建立模型。文獻[2]采用規劃方法構建了精礦品位的預測模型,并采用概率密度函數計算了最優參數。文獻[3]結合支持向量機和小波極值方法建立精礦品位的預測模型,該預測模型所需樣本數量大,使模型運用受到一定限制。文獻[4]采用人工神經網絡方法對精礦品位預測進行了研究,并通過案例應用,驗證了人工神經網絡應用于精礦品位預測的有效性。在上述文獻中,驗證了人工神經網絡擬合性能良好,但其仍存在一些不足為:收斂速度慢、易陷入局部極值。然而,粒子群算法一般通過改變粒子位置和速率進行全局優化,其優勢具有高魯棒性、快收斂速率和較好的全局優化能力。為彌補人工神經網絡的上述不足,結合2種方法,構造基于PSO-BPNN的精礦品位預測模型,以提高精度為目的,為預測精礦品位提供幫助。
人工神經網絡借用物理設備模擬生物神經網絡結構,被廣泛應用于控制、分類、非線性預測、優化等諸多領域。在20世紀70年代初,Werbos創立了反向傳播神經網絡(Back-Propagation Neural Network,BPNN),利用分布式存儲,其具有自學習能力強、并行處理和自適應能力強等優勢,是目前廣泛應用算法之一;BPNN按誤差反方向傳播,是多層前饋神經網絡,主要由輸入層、輸出層和隱含層組成;其通過改變連接權重,提高自學習能力和擬合性能,網絡圖如圖1所示。

圖1 BPNN結構圖
20世紀90年代,Eberhart和Kennedy[9]創立了粒子群優化(Particle Swarm Optimization, PSO),其借用早期受鳥類群體尋食行為,利用種群中個體信息共享和協作進行優化。在PSO算法中,粒子代表潛在解和在解空間里搜索,并通過不斷迭代尋找最優解。迭代過程中,粒子依賴兩個最優值改變自己。一個為個體最優解,另一個為全局最優解。
假設一個群體共有m個粒子,每個粒子的信息由n維向量表示。設第i個粒子位置為Xi=(xi1,xi2,…,xin),其現在個體最優解為Pi=(pi1,pi2,…,pin),現在群體最優解為G=(g1,g2,…,gn),該粒子變化率為Vi=(vi1,vi2,…,vin)。依據粒子群算法的原理,粒子更新公式如下:
式中,w、t分別為慣性權重和迭代次數;i=1,2,…,m,j=1,2,…,n;c1、c2為加速因子,分別表示粒子走向現在個體最優解和群體最優解的步長;r1,r2為隨機數,0~1內。
公式(3)是為了降低粒子在迭代過程中離開解空間的可能性,使粒子變化率限制在[-vmax,vmax]內。
由于BPNN易收斂局部極值和收斂速率較慢,且初始連接權重和閾值等參數敏感。而PSO算法通過更新粒子位置和速度來搜索全局最優解,其具有快收斂性、高全局搜索性能和強魯棒性等優點。PSO-BPNN是將PSO和BPNN相結合,利用粒子群算法改善BPNN易收斂局部極值和收斂速率較慢等缺點。PSO-BPNN通過粒子群算法優化BPNN中的初始連接權重和閾值,優化最優的初始連接權重和閾值,然后將這兩個參數值傳給BPNN,最后進行預測。PSO-BPNN的預測模型過程如下:
(1)構建BPNN,設置參數,初始化連接權重和閾值。目前,隱含層節點個數確定通常使用經驗公式,本文經驗公式如下:
式中,hi、hj、hk分別為輸入層、隱含層和輸出層節點個數。
(2)設置PSO算法的參數,主要包括群體數量、學習因子、慣性權重、最大迭代次數、適應度誤差和粒子維數等參數。大多數參數是根據經驗和精度設置,但粒子維數是由如下公式確定:
(3)初始化個體位置和速度。
(4)使用均方誤差為PSO的適應度函數,計算公式為:
式中,M表示樣本個數;N表示粒子維數;yij和分別為樣本i預測值和實際值。
(5)對每個粒子,比較該粒子的適應值和歷史最優適應值、粒子歷史最優適應值和全局最優適應值,若前者大于后者,則用前者替換后者。
(6)依據公式(1)、(2)和(3),對每個粒子進行更新。
(7)判斷是否滿足結束條件(適應度值小于適應度誤差限、迭代次數大于最大允許迭代次數),若滿足,則停止迭代,輸出連接權重和閾值;否則,迭代次數增加1,返回流程(4)。
(8)根據流程(7)輸出的連接權重和閾值對BPNN進行訓練和測試,檢驗預測模型的預測和泛化能力。
通過分析選礦過程中各生產關鍵指標與精礦品位的影響,選取對精礦品位影響大的指標作為輸入變量,分別為入選品位和選礦比,輸出變量為精礦品位。本文收集某礦山選礦廠2015年3月~2017年12月的入選品位、選礦比和精礦品位的日數據,共500組數據,部分數據如表1所示。在精礦品位預測模型建立時,分別將前400組數據和后100組數據作為模型的訓練和測試樣本,對預測模型的精度進行驗證。

表1 某礦山的部分選礦數據
通過newff函數構建BPNN,newff函數如下:
式中,P、T、S分別為輸入變量、輸出變量、隱含層節點個數;TF和BLF為傳遞函數(tansig函數)和訓練函數(trainlm函數)。
3層BPNN非線性擬合性能強,故采用3層BPNN。輸入與輸出節點個數分別為2和1。根據公式(4),隱含層節點個數可為1或2,通過比較網絡調試結果,最終確定隱層節點個數為2。訓練次數、學習率、訓練目標誤差分別設為100、0.1、0.001,其余參數選為默認值。
根據公式(5)計算粒子維數為9,粒子種群數和最大允許迭代次數分別設為30和20,c1和c2均為1.4,最大限制速度vmax=6。
根據上述樣本數據和參數構建了基于PSO-BPNN的精礦品位預測模型。為了驗證其預測性能的優越性,采用相同的參數與樣本數據,對PSO-BPNN和BPNN預測模型進行了仿真和比較。圖2~4分別給出了兩種預測模型的網絡性能、預測結果和預測結果誤差的效果圖。表2給出了兩種模型的性能指標。

表2 2種模型的性能指標對比

圖2 精礦品位預測的網絡性能
從圖2可以看出,2種預測模型均達到收斂狀態,且PSO-BPNN預測模型的收斂速度和收斂結果都優于BPNN。從圖3、圖4和表2可以看出,PSO-BPNN預測模型的預測精度勝于BPNN預測模型。PSO-BPNN預測模型的最大相對誤差和平均相對誤差分別為0.9%和0.29%,最大相對誤差未超過1%,表明PSO-BPNN預測模型預測精度高,并說明該礦山的精礦品位具有可預測性。

圖3 精礦品位預測結果

圖4 精礦品位預測結果誤差
融合PSO算法和BPNN,建立基于PSO-BPNN的精礦品位預測模型。將所建立模型應用于實際案例,最大相對誤差和平均相對誤差分別為0.9%和0.29%,均低于1%,表明PSO-BPNN預測模型預測精度高,可用于精礦品位的預測,能為選礦過程控制奠定基礎,并具有一定的實用價值。