劉 燁,南新元,李志南
(新疆大學(xué) 電氣工程學(xué)院,烏魯木齊 830047)
隨著社會的發(fā)展,對黃金的需求量越來越多,但易開采的金礦資源日漸枯竭,那些難處理的金礦石將是我們面臨的一個重要挑戰(zhàn)[1]。生物氧化提金預(yù)處理工藝的出現(xiàn),為難處理金礦石的處理提供了可能。生物氧化提金工藝和其他的提金工藝相比,具有提金率高、對硫化物可在常溫下進(jìn)行細(xì)菌氧化反應(yīng)、操作簡便、流程簡單等優(yōu)點,已在工業(yè)提金上得到廣泛應(yīng)用[2]。在生物氧化提金預(yù)處理過程中,氧化還原電位是反應(yīng)細(xì)菌氧化程度的一個重要性能指標(biāo)。作為影響生物氧化體系的重要因素,預(yù)測氧化還原電位對提金工藝生產(chǎn)過程的穩(wěn)定和優(yōu)化、氧化反應(yīng)情況、溫度控制等有著重要指導(dǎo)意義[3]。
由于該提金工藝過程的非線性、時變性以及不確定性等特點,氧化還原電位的預(yù)測很難建立精確的預(yù)測數(shù)學(xué)模型。灰色神經(jīng)網(wǎng)絡(luò)是把灰色系統(tǒng)方法與神經(jīng)網(wǎng)絡(luò)方法有機(jī)地融合,對復(fù)雜非線性問題的預(yù)測有著較好的效果。由于該預(yù)測模型初始化參數(shù)是隨機(jī)產(chǎn)生的,導(dǎo)致預(yù)測結(jié)果沒有較好的預(yù)測精度。所以,有些學(xué)者引入了智能算法來優(yōu)化參數(shù),例如和聲搜索算法[4]、差分進(jìn)化算法[5]、遺傳算法[6]等,但上述算法因其自身的缺陷,找不到較好的初始化參數(shù),易陷入局部最優(yōu)。
教與學(xué)優(yōu)化算法TLBO(teaching learning based algorithm optimization)是2011年由印度學(xué)者 Rao等人提出的一種新的群智能算法[7],由于TLBO算法較好的全局尋優(yōu)能力和較快的收斂速度,已成功應(yīng)用于很多工程優(yōu)化問題中,如機(jī)械優(yōu)化設(shè)計[8]、電力系統(tǒng)環(huán)境經(jīng)濟(jì)調(diào)度[9]和熱交換器優(yōu)化[10]等。本文針對生物氧化提金預(yù)處理工藝中的難點問題,將改進(jìn)教與學(xué)優(yōu)化算法應(yīng)用到該問題中,提出了一種基于改進(jìn)教與學(xué)算法優(yōu)化灰色神經(jīng)網(wǎng)絡(luò)的ATLBO-GNN模型。通過與BP神經(jīng)網(wǎng)絡(luò)、灰色神經(jīng)網(wǎng)絡(luò)的預(yù)測模型進(jìn)行比較,仿真結(jié)果表明了該預(yù)測模型的優(yōu)越性。
灰色神經(jīng)網(wǎng)絡(luò)是一種融合灰色模型和人工神經(jīng)網(wǎng)絡(luò)的混合數(shù)學(xué)模型,它同時具有神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力和逼近任意非線性系統(tǒng)的強(qiáng)大擬合能力[11]。所以對不確定性問題進(jìn)行求解時表現(xiàn)出強(qiáng)大的優(yōu)勢。其結(jié)合方式有許多種,本文將灰色理論的輸出序列作為神經(jīng)網(wǎng)絡(luò)的輸入序列,即串聯(lián)方式。假設(shè)問題數(shù)據(jù)序列為 X(0)={x(0)(1),x(0)(2),…x(0)(k),…x(0)(n)}經(jīng)過累加生成后得到新的數(shù)據(jù)序列 X(1)={x(1)(1),x(1)(2),…x(1)(k),…x(1)(n)},其中 x(1)(k)=此時 X(1)呈指數(shù)增長。
若記 X(0)為 x(t),X(1)為 y(t),其預(yù)測結(jié)果用z(t)表示。則由n個參數(shù)組成的灰色神經(jīng)網(wǎng)絡(luò)預(yù)測模型的微分方程可以表示為
式中:y2,…,yn為輸入?yún)?shù);y1為輸出參數(shù);a,b1,…,bn-1為微分方程的系數(shù)。
上式的時間響應(yīng)式可表示為
則預(yù)測結(jié)果可由上式推出:
將上式映射到一個BP神經(jīng)網(wǎng)絡(luò)中,就得到一個具有n個輸入,1個輸出的灰色神經(jīng)網(wǎng)絡(luò),其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 灰色神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)Fig.1 Topology of grey neural network
圖中:ωij為各層輸入的網(wǎng)絡(luò)權(quán)值;y1為最終預(yù)測值;LA、LB、LC、LD為灰色神經(jīng)網(wǎng)絡(luò)的4層。
LD層輸出節(jié)點的閾值可表示為
網(wǎng)絡(luò)輸出為
TLBO算法主要包括教學(xué)和學(xué)習(xí)2個階段。在教學(xué)階段中,老師通過教學(xué)過程,來提高學(xué)生的知識水平,縮短與自己的差距;在學(xué)習(xí)階段,學(xué)生通過課下的交流和溝通,來提高自己的學(xué)習(xí)水平。
教學(xué)階段是模擬老師的教學(xué)過程,選擇種群中的最優(yōu)個體作為老師,老師盡最大努力使得學(xué)生的平均水平向自己靠近,提高班級的整體水平。教學(xué)過程的數(shù)學(xué)表達(dá)式為
式中:Xteacher是種群中最優(yōu)個體老師;TF為教學(xué)因子TF=round(1+rand);Mean是班級所有個體的平均成績。
在相互學(xué)習(xí)的過程中,從種群中隨機(jī)選擇2個不同的個體Xr1和Xr2,比較2個個體的優(yōu)劣,然后選擇較優(yōu)個體進(jìn)行學(xué)習(xí)。假設(shè)所要解決的問題為最小值問題,學(xué)習(xí)過程的表達(dá)式為
式中:Xr1和Xr2為種群中不同于 Xold的 2個隨機(jī)個體。
在基本的TLBO算法中,學(xué)習(xí)方式比較單一,在算法的搜索后期,會導(dǎo)致算法多樣性喪失較快,易陷入局部最優(yōu),本文提出多種群多學(xué)習(xí)策略。同時,為了更好地均衡算法的全局勘探能力和局部開發(fā)能力,引入交叉操作。下面對這2種改進(jìn)策略作具體介紹。
在TLBO算法中,學(xué)生在老師教學(xué)完后,只是通過向鄰近較優(yōu)的同學(xué)進(jìn)行學(xué)習(xí)來提高自己的知識水平,學(xué)習(xí)方式單一,算法易陷入局部極小。本文提出了多學(xué)習(xí)方式,學(xué)生不僅通過向鄰近較優(yōu)的個體進(jìn)行學(xué)習(xí),而且班級中的最優(yōu)個體也向班級中其他個體進(jìn)行學(xué)習(xí);同時,基本的TLBO算法中,采取1個班級進(jìn)行教學(xué),不利于算法的局部開發(fā)能力。因此,根據(jù)實際的教學(xué)過程,采用多個班級進(jìn)行教學(xué),提出了多種群多學(xué)習(xí)策略。該策略大大地加快了算法的收斂速度,在搜索后期能夠增加種群的多樣性,降低算法陷入局部最優(yōu)的可能性,提高了算法的尋優(yōu)精度。
在多種群多學(xué)習(xí)策略中,學(xué)生不僅向比自己較優(yōu)的個體學(xué)習(xí),而且班級中最優(yōu)的個體也要學(xué)習(xí)其他學(xué)生的優(yōu)秀之處來進(jìn)一步提高自己的知識水平。該多學(xué)習(xí)策略的學(xué)習(xí)方式如式(9)~式(11)所示;為了更好地平衡算法的聚集和發(fā)散,根據(jù)現(xiàn)實的教學(xué)過程,引入一個新的學(xué)習(xí)趨勢因子Lt來調(diào)節(jié)各個子種群在算法搜索的整個過程中所采取的學(xué)習(xí)策略。也就是說,把種群動態(tài)的分成2個子種群,每個子種群在教學(xué)完成以后,按照學(xué)習(xí)趨勢因子來選擇其中一種學(xué)習(xí)方式進(jìn)行學(xué)習(xí)。具體的流程如下所示:
式中:Xmj為不同于 Xbest,j和 Xi,j的個體;iIer為當(dāng)前迭代次數(shù);nIter為最大迭代次數(shù);s為學(xué)習(xí)步長。
當(dāng)種群在搜索后期都聚集到全局最優(yōu)解附近時,由于種群多樣性的下降,算法可能陷入停滯狀態(tài)。為了進(jìn)一步提高算法的尋優(yōu)精度,防止算法陷入局部最優(yōu),充分考慮到同學(xué)們相互學(xué)習(xí)的過程,新提出的2種學(xué)習(xí)方式也要遵循現(xiàn)實的學(xué)習(xí)過程。所以,我們采用相互學(xué)習(xí)的模式,把s設(shè)計成-1∶1的正負(fù)隨機(jī)數(shù),其表達(dá)式為
TLBO算法的學(xué)習(xí)階段通過向鄰近較優(yōu)個體進(jìn)行學(xué)習(xí)來提高個體的知識水平。然而在實際的教學(xué)中,學(xué)生不僅向比自己優(yōu)秀的個體進(jìn)行學(xué)習(xí),而且也應(yīng)把自己的優(yōu)勢發(fā)揚下去,做到取其之長,補(bǔ)己之短。這樣才能在保留自己長處的基礎(chǔ)上,更好地提高自己的知識?;诖怂枷耄趯W(xué)習(xí)階段引入一種新的交叉操作[12],其具體表達(dá)式為
步驟1數(shù)據(jù)歸一化。由于樣本數(shù)據(jù)的量綱不同,數(shù)據(jù)值之間相差較大,為了消除量綱的影響,對原始數(shù)據(jù)按式(15)進(jìn)行歸一化處理,并將其值映射在[0,1]范圍內(nèi)。
式中:xi,j為原始數(shù)據(jù);
為歸一化后的數(shù)據(jù)值;xmax和xmin為原始數(shù)據(jù)的最大值和最小值。
步驟2初始化ATLBO算法的主要參數(shù)。主要包括種群大小、最大迭代次數(shù)、學(xué)習(xí)趨勢因子以及交叉算子。根據(jù)式(16)隨機(jī)初始化種群,并計算函數(shù)適應(yīng)值,找出種群最優(yōu)個體即老師。
步驟3根據(jù)式(8)進(jìn)行教學(xué)過程,向種群中最優(yōu)的個體進(jìn)行學(xué)習(xí),來提高自己的各科成績,從而提高班級的整體水平,并進(jìn)行種群個體更新,找出種群最優(yōu)個體。
步驟4進(jìn)行教學(xué)過程后,采用多種群多學(xué)習(xí)策略進(jìn)行學(xué)習(xí),把種群分為2個子種群,在種群搜索的不同階段對2個子種群采用不同的學(xué)習(xí)策略,具體流程如式(9)~式(11)所示。
步驟5根據(jù)式(13)和式(14),對進(jìn)行完學(xué)習(xí)和交流的個體進(jìn)行交叉操作,并更新種群個體。
步驟6判斷是否達(dá)到最大迭代次數(shù),若滿足,終止迭代輸出最優(yōu)值,若不滿足,繼續(xù)循環(huán)執(zhí)行步驟2到步驟4。
步驟7將迭代完成后獲得最優(yōu)成績的學(xué)生賦值給灰色神經(jīng)網(wǎng)絡(luò)白化方程的參數(shù)a和bi(i=1,2,…,n-1),接著按照灰色神經(jīng)網(wǎng)絡(luò)的權(quán)值訓(xùn)練方法進(jìn)行網(wǎng)絡(luò)訓(xùn)練,不斷調(diào)整權(quán)值和閾值。
步驟8判斷是否到達(dá)最大訓(xùn)練次數(shù),若滿足要求則終止迭代。
本文以新疆某金礦的生產(chǎn)數(shù)據(jù)為例,氧化槽的氧化還原電位主要和氧化槽內(nèi)的溫度、pH值、干礦量、Fe2+和Fe3+的濃度以及礦漿濃度等因素有關(guān)[13],所以為了預(yù)測氧化還原電位的值 (單位為mV),根據(jù)生產(chǎn)測得實際數(shù)據(jù)的情況,選擇溫度、pH值和黃鐵礦含量以及氧化還原電位的值作為原始數(shù)據(jù)進(jìn)行實驗,來驗證本文算法的可行性。
仿真測試的硬件環(huán)境為聯(lián)想筆記本電腦,主板CPU為i5-3230M-2.6 GHz,內(nèi)存為4 G,采用Matlab2014a軟件平臺編程實現(xiàn)。實驗中對比算法的參數(shù)設(shè)置按原文獻(xiàn)進(jìn)行設(shè)置,本文算法參數(shù)設(shè)置如下:灰色神經(jīng)網(wǎng)絡(luò)的輸入神經(jīng)元個數(shù)為3,輸出神經(jīng)元個數(shù)為1,學(xué)習(xí)速率為0.018,選用85組測試數(shù)據(jù),其中前60組作為訓(xùn)練樣本,后25組作為預(yù)測樣本。教與學(xué)優(yōu)化算法中種群規(guī)模為40,迭代次數(shù)為100次。
為了較好地評價幾種預(yù)測模型的預(yù)測效果,本文選取均方根誤差RMSE(root mean square error)與平均絕對誤差MAE(mean absolute error)作為預(yù)測模型的評價指標(biāo),其表達(dá)式為
式中:N為樣本個數(shù);yi*為第i組樣本作用下的期望輸出;yi為第i組樣本作用下的實際輸出。
圖2和圖3所示為ATLBO-GNNM模型的ORP預(yù)測圖和GNNM模型的ORP預(yù)測圖,從圖中可以看出,基于改進(jìn)的TLBO算法的優(yōu)化GNN參數(shù)的預(yù)測模型的預(yù)測結(jié)果的誤差較小,相比GNNM預(yù)測模型的預(yù)測結(jié)果更接近實際值,其預(yù)測精度明顯高于GNNM預(yù)測模型,充分說明了ATLBO-GNNM預(yù)測模型的可行性和優(yōu)越性。表1所示為幾種預(yù)測模型預(yù)測結(jié)果的比較。
圖2 ATLBO-GNNM模型的ORP預(yù)測Fig.2 Predication of ATLBO-GNNM model
圖3 GNNM模型的ORP預(yù)測Fig.3 Predication of GNNM model
表1 幾種預(yù)測模型預(yù)測結(jié)果的比較Tab.1 Comparison of prediction results of several forecasting models
從表1可以看出,本文所提出的氧化還原電位預(yù)測模型無論是從平均相對誤差上還是在均方根誤差方面都優(yōu)于GNNM預(yù)測模型,具有較高的預(yù)測精度和較強(qiáng)的泛化能力。
綜上,本文所提出的ATLBO-GNNM預(yù)測模型的預(yù)測精度相比BP模型和GNNM預(yù)測模型更接近實際生產(chǎn)值,誤差較小,具有較優(yōu)的預(yù)測效果。該預(yù)測模型為氧化還原電位預(yù)測問題的求解提供了一種新的選擇,在實際生產(chǎn)中具有較好的應(yīng)用前景。
本文針對生物氧化還原電位預(yù)測問題,利用改進(jìn)的TLBO算法(ATLBO)與灰色神經(jīng)網(wǎng)絡(luò)進(jìn)行耦合,建立了ATLBO-GNN預(yù)測模型。由于灰色神經(jīng)網(wǎng)絡(luò)參數(shù)選擇的隨機(jī)性,采用改進(jìn)的TLBO算法進(jìn)行優(yōu)化,在改進(jìn)的TLBO算法中,為了更好地均衡算法的聚集與發(fā)散,采用多種群多學(xué)習(xí)策略,對不同的子種群在不同的搜索階段采用不同的學(xué)習(xí)方式,有效地增加了搜索后期的種群多樣性。同時,為了進(jìn)一步鞏固學(xué)生自身的優(yōu)勢,引入了交叉操作,有效地提高了種群跳出局部最優(yōu)的可能性。將ATLBO算法用于生物氧化還原電位預(yù)測,以新疆某金礦測試的數(shù)據(jù)為例進(jìn)行分析,仿真結(jié)果表明,與其他預(yù)測方法相比,提出的ATLBO-GNN預(yù)測模型有較高的預(yù)測精度,為生物氧化電位的預(yù)測提供了一種新途徑,對生物氧化提金與處理過程具有一定的現(xiàn)實意義。
[1]朱長亮,楊紅英,王玉峰,等.含砷難處理金礦石的細(xì)菌氧化預(yù)處理工藝研究現(xiàn)狀及進(jìn)展[J].現(xiàn)在礦業(yè),2009(6):14-17.
[2]李騫.含砷金礦生物預(yù)氧化提金基礎(chǔ)研究[D].長沙:中南大學(xué),2007.
[3]李偉,南新元,吳瓊.生物氧化提金中基于PSO-LSSVM的氧化還原點位建模研究[J].貴金屬,2014,35(4):60-64.
[4]崔東文,金波.基于和聲搜索算法的BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型應(yīng)用研究[J].人民珠江,2015,12(4):123-126.
[5]韓穎.基于改進(jìn)差分進(jìn)化算法的RBF神經(jīng)網(wǎng)絡(luò)在股指預(yù)測中的應(yīng)用[J].合肥工業(yè)大學(xué)學(xué)報,2014,37(11):1397-1401.
[6]程玉桂,黎明,林明玉.基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的城區(qū)中長期電力負(fù)荷預(yù)測與分析[J].計算機(jī)應(yīng)用,2010,30(1):224-226.
[7]Rao R V,Savsani V J,Vakharia D P.Teaching-learning-based optimization:a novel method for constrained mechanical design optimization problems[J].Computer-Aided Design,2011,43(3):303-315.
[8]TOGAN V.Design of planar steel frames using teaching-learning based optimization[J].Engineering Structures,2012,34 (1):225-232.
[9]Roy P K,Mandal D.Quasi-oppositional biogeography-based optimization for multi-objective optimal power flow[J].Electric Power Components and Systems,2011,40(2):236-56.
[10]Rao R V,Patel V.Multi-objective optimization of heat exchangers using a Teaching-learning-based optimization algorithm[J].Applied Mathematical Modeling,2013,37(3):1147-1162.
[11]張毅,楊建國.基于灰色神經(jīng)網(wǎng)絡(luò)的機(jī)床熱誤差建模[J].上海交通大學(xué)學(xué)報,2012,45(11):1581-1586.
[12]Haibin Ouyang,Liqun Gao.Teaching-learning based optimization with global crossover for global optimization problems[J].Applied Mathematics and Computation,2015,265(2):533-556.
[13]訾建威,楊洪英,鞏恩普,等.細(xì)菌氧化預(yù)處理含砷難處理金礦的研究進(jìn)展[J].貴金屬,2005,26(1):66-70.