李 彬,尉守科,于俊清,3,李石君+
(1.武漢大學(xué) 計算機(jī)學(xué)院,武漢 湖北430072;2.華中科技大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 湖北430072;3.華中科技大學(xué) 網(wǎng)絡(luò)與計算中心,武漢 湖北430072)
隨著對混配煤研究[1-4]的不斷開展發(fā)現(xiàn),雖然混配比燃燒單煤更能提高鍋爐效率,節(jié)約煤炭資源,減少對環(huán)境的污染,但是對單煤混配的研究還存在著不少問題。本文針對目前國內(nèi)配煤模型研究中存在的問題,在深入分析與研究后,對當(dāng)前的配煤優(yōu)化模型與優(yōu)化算法進(jìn)行改進(jìn),實現(xiàn)一個配煤優(yōu)化的應(yīng)用系統(tǒng)。主要包括以下幾個方面:①對比分析當(dāng)前所具有一些的配煤模型,根據(jù)優(yōu)劣性選取并建立一個火電企業(yè)實用型配煤優(yōu)化模型;②配煤技術(shù)雖然存在,但是配煤理論不夠深入。根據(jù)實驗室項目中的燃料管理系統(tǒng)可以看出,各大火電企業(yè)并未形成一整套的配煤系統(tǒng),雖已經(jīng)開始應(yīng)用配煤技術(shù),但是缺乏一定的理論指導(dǎo);③選取其它文獻(xiàn)中已知數(shù)據(jù)以及本實驗室合作項目的數(shù)據(jù)庫中電廠配煤的歷史數(shù)據(jù),對改進(jìn)的算法進(jìn)行測試驗證,更好地反饋算法的優(yōu)劣性。
在配煤生產(chǎn)過程中,產(chǎn)生了許多的配煤算法,如窮舉法、遺傳算法[5]、蟻群算法、粒子群算法[6,7]以及兩種混合的算法。由于粒子群算法的高效性、精度高、收斂快、實現(xiàn)容易等優(yōu)點,本文選取了粒子群算法作為配煤算法的主導(dǎo)算法,并對該算法進(jìn)行了更深一步的優(yōu)化。
在最初的粒子群算法中,很難平衡粒子的局部搜索能力和全局搜索能力,就是粒子缺少對上一次的速度記憶性以及自身最好位置的影響、全局最好位置的影響所占權(quán)重的調(diào)整。粒子群優(yōu)化算法首先隨機(jī)產(chǎn)生所有粒子,通過迭代更新每一個粒子的位置、速度與個體最優(yōu)適應(yīng)值,然后通過比較更新全局最優(yōu)位置與全局最優(yōu)值,最終找到問題的最優(yōu)解。
在第k次迭代時,某個粒子必須具有以下兩個屬性:
(1)位 置 向 量Xki=(xk1,…,xki,...,xkN),其 中xki∈[XMINi,XMAXi],1≤i≤N,XMINi和XMAXi是粒子在這一維上的左右限制;
(2)速度向量Vki=(vk1,…,vki,...,vkN),其中每個分量都不能超過指定的最大速度。
粒子群算法的每一次發(fā)生迭代時,整個群體中粒子位置和速度按照一定的方式進(jìn)行更改,具體公式如下
式 (1)中,r1和r2是隨機(jī)數(shù);c1和c2被稱作學(xué)習(xí)因子,通常c1=c2=2;wk是權(quán)重,常用的取值范圍是0.1-1.2之間。wk也可以是變動的,經(jīng)過驗證,若權(quán)重值隨著迭代次數(shù)線性減小,可以有效的提高算法的收斂性。Shi和Eberhart指出:當(dāng)最大速度很小時 (例如小于2),使用接近于1的慣性權(quán)重;當(dāng)最大速度不是特別小時 (例如大于3),使用權(quán)重w=0.8較好。如果沒有給出最大速度,則選取0.8作為權(quán)重比較好。慣性權(quán)重w 比較小時粒子群算法的局部搜索能力比較強(qiáng);慣性權(quán)重較大時將會偏重于發(fā)揮粒子群算法的全局搜索能力。
粒子群算法在迭代進(jìn)行時,粒子速度的大小不能超出一定的范圍,同樣粒子位置的更新也要不超出指定的范圍內(nèi)。同時,Pi和Pg在迭代過程中不斷更新,迭代結(jié)束后得到的Pg就是所要求的全局最優(yōu)解。
標(biāo)準(zhǔn)粒子群算法雖然有較好的特性,但是針對不同的問題表現(xiàn)出來的效果是不一樣的,當(dāng)用于本文配煤優(yōu)化模型時還是出現(xiàn)了一些迭代次數(shù)偏高,易陷入局部最優(yōu)的問題,因此對粒子群算法的改進(jìn)工作也是必不可少的。
通過分析可知,對粒子群算法的改進(jìn)很大程度上體現(xiàn)在對wk、c1和c2的改進(jìn)上,慣性權(quán)重因子wk控制著迭代前的速度對迭代后速度的影響。wk可以對算法的全局搜索能力和局部搜索能力進(jìn)行平衡調(diào)節(jié),因此,若要優(yōu)化粒子群算法,該參數(shù)的參與必不可少,慣性權(quán)重越大,群體全局搜索能力越強(qiáng),群體局部搜索能力越弱;否則,局部搜索能力較強(qiáng),而全局搜索能力較弱[8]。
本文針對配煤的數(shù)學(xué)模型求解的問題,將粒子群算法進(jìn)行了深入改進(jìn),改進(jìn)重點描述如下:
(1)每次迭代結(jié)束后得到的全局最優(yōu)位置Pg,再給一個輕微的隨機(jī)擾動,這樣的隨機(jī)擾動符合正態(tài)分布,保證擾動大部分都比較小,并且通過系數(shù)控制,使得隨著迭代的進(jìn)行波動性也越來越小,這樣改進(jìn)之后不但增加了每個粒子的運動軌跡的隨機(jī)性,而且也沒有失去粒子聚集的一般特性。本文中設(shè)定的公式如下
其中,randn是服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù),k是當(dāng)前的迭代次數(shù),式 (3)中10的作用是為了控制波動不至于太大,以防對算法改進(jìn)起到相反的作用。隨著迭代的進(jìn)行,由于受到迭代次數(shù)k 的影響,R 會隨之變小,達(dá)到了預(yù)期的效果。
(2)一次實驗中,在粒子群可能已發(fā)生早熟的時候,再次將部分的粒子重新隨機(jī)打亂,也可以很高效的解決粒子的局部收斂的缺點。本算法中的處理是默認(rèn)算法運行過半后就會出現(xiàn)收斂,此時將粒子20%再隨機(jī)生成,不過,該步驟只有當(dāng)粒子個數(shù)和迭代次數(shù)都不是很少的時候才執(zhí)行。此方式借鑒了粒子群算法和變異因子的結(jié)合。
(3)慣性權(quán)重的選取,研究發(fā)現(xiàn),迭代前期較大的慣性權(quán)重全局搜索能力較強(qiáng),后期較小的慣性權(quán)重局部搜索能力較強(qiáng),因此對慣性權(quán)重的探索是必不可少的,本文中對該值進(jìn)行設(shè)定,使?jié)M足以上條件
本文通過測試,非線性減小的慣性權(quán)重比線性減小的效果有一定的改進(jìn),因此本文選取的慣性權(quán)重如式 (5)所示,其中k為當(dāng)前迭代次數(shù),N 為總迭代次數(shù)。
(4)當(dāng)最優(yōu)解的某一維是該維度上的邊界值時,收斂速度會有一定程度的減慢,因此,當(dāng)精度要求較高,且全局最優(yōu)位置出現(xiàn)在某一維的邊界附近 (提前設(shè)定一個閾值,如0.1)時,嘗試將該維度上的值修正成邊界值,作為新的全局最優(yōu)位置。同時本次迭代結(jié)束后還需要檢驗修正后的全局最優(yōu)位置的適應(yīng)值是否小于修正前的全局最優(yōu)位置的適應(yīng)值,若確實小,則無需再更改;否則,將全局最優(yōu)位置恢復(fù)成修正之前的值。
(5)求解算法中默認(rèn)的每個煤種所占比例的取值范圍在 [0,100],但實際配煤時某種單煤所占比例一般會有所限制的,例如根據(jù)需求,煤種一所占比例最少為30%,而煤種二的比例不得超過50%,因此本算法中加入了相應(yīng)的限制參數(shù),使得配煤工作更加靈活,也較符合實際。
(6)如果發(fā)現(xiàn)某次實驗沒有達(dá)到收斂,對算法進(jìn)行修正,合并前后兩次實驗,將前一次的實驗結(jié)果應(yīng)用到下一次當(dāng)中,雙保險來保證實驗結(jié)果的準(zhǔn)確性。這樣的做法也在某些問題上彌補了粒子群算法的 “早熟”行為,且下一次的實驗的收斂速度一般更高于上一次,節(jié)約了運行時間。
(7)本算法中需要添加檢驗函數(shù),判斷粒子在某一位置是否滿足約束條件。若不滿足,舍棄并重新計算新的位置。
(8)初始化時稍微擴(kuò)大邊界范圍,可以使得粒子的初始位置更加分散些,更具備一定的隨機(jī)性。同時,控制好粒子不飛出邊界。
我們把相應(yīng)的改進(jìn)方式應(yīng)用到算法當(dāng)中,下面給出了本文中改進(jìn)的粒子群算法流程如圖1所示。對改進(jìn)后算法的測試將會在下一章節(jié)的系統(tǒng)測試中介紹。
圖1 算法流程
在配煤系統(tǒng)中,我們把Windows當(dāng)做操作平臺進(jìn)行設(shè)計開發(fā)系統(tǒng)圖形界面,而具體的編程實現(xiàn)和功能設(shè)計采用了強(qiáng)大的數(shù)學(xué)軟件MATLAB。
系統(tǒng)結(jié)構(gòu)大致由讀取數(shù)據(jù)庫數(shù)據(jù)、煤種選擇、煤質(zhì)指標(biāo)范圍設(shè)置、實驗參數(shù)設(shè)置、精度設(shè)置和優(yōu)化計算組成,界面顯示如圖2所示。
圖2 配煤優(yōu)化圖形界面
本系統(tǒng)的數(shù)據(jù)庫包含了各種單煤的煤質(zhì)信息:發(fā)熱量、揮發(fā)分、硫分、水分、灰分,還有單煤名稱和單價,這些問題是解決配煤問題的基礎(chǔ)信息,正好利用火電企業(yè)已有的數(shù)據(jù)庫新建一個存儲單煤信息的表。我們可以在圖2所示系統(tǒng)界面中對煤種、煤質(zhì)指標(biāo)范圍、實驗參數(shù)和精度進(jìn)行設(shè)置。
設(shè)置完各項參數(shù)后,點擊 “開始計算”按鈕 (如圖2所示),程序開始運行計算,數(shù)秒之后將得到一些配煤結(jié)論。通過多次實驗,得出結(jié)論:實驗次數(shù)建議取1-20 之間,迭代次數(shù)建議取40-200之間,粒子個數(shù)建議取20-100之間,這樣得出的效果比較有說服力,也不至于系統(tǒng)計算時間過長。
假設(shè)單煤數(shù)據(jù)見表1。
表1 單煤數(shù)據(jù)
煤質(zhì)指標(biāo)范圍 (約束條件)見表2。
表2 煤質(zhì)指標(biāo)
本系統(tǒng)一共設(shè)置了選取了7種單煤進(jìn)行摻配,煤種較多,更能檢驗出本系統(tǒng)的性能。同時設(shè)置了7種不同的精度供用戶選擇,可以根據(jù)不同的鍋爐和實際要求,設(shè)置不同的精度。下面進(jìn)行了3組實驗,分別選擇3組典型的實驗精度進(jìn)行測試,實驗精度分別為5%、0.5%和0.01%。
圖3 精度為5%時的1、3、5、7號煤所占比例變化
(1)精度設(shè)置為低精度 (5%),實驗次數(shù)為2,迭代次數(shù)為50,粒子個數(shù)為20,點擊 “開始計算”之后粒子都是在朝著全局最優(yōu)的位置聚集,每一種煤所占比例隨著迭代的變動如圖3所示。
兩次實驗的結(jié)果一致,7種煤的最終比例分別為:0,0,30,0,65,0,5。最終混煤最低單價為318元。此結(jié)果的精度是5%,因此可以滿足一般的配煤需求,已經(jīng)起到了盡可能降低成本的作用,接下來繼續(xù)測試更高精度的配煤結(jié)果。
圖4 精度為0.5%時的3號煤和5號煤所占比例變化
(2)設(shè)置配煤精度為0.5%,實驗次數(shù)為2,迭代次數(shù)為80,粒子個數(shù)仍為20,計算后的結(jié)果如圖4所示。
兩次實驗的結(jié)果一致,7 種煤的最終比例分別為:0,0,36.5,0,63.5,0,0。最終混煤最低單價為315.1元。
以上的結(jié)果發(fā)現(xiàn),第一次實驗迭代到30次左右的時候開始收斂,直到結(jié)束,之后的第二次實驗,以此結(jié)果為出發(fā)點,一直保持著這個結(jié)果不變,而且此結(jié)果同文獻(xiàn) [9]的完全吻合,可見這樣的結(jié)果是比較滿意的,可以作為配煤的最終結(jié)果,也驗證了本論文算法的可行性。
(3)設(shè)置配煤精度為最高精度 (0.01%),實驗次數(shù)為2,迭代次數(shù)為100,粒子個數(shù)為20,進(jìn)行實驗之后得到配煤比例的結(jié)果,同樣只用3號煤和5號煤進(jìn)行演示,結(jié)果如圖5所示。
圖5 精度為0.01%時3號煤和5號煤所占比例變化
該精度下在迭代進(jìn)行到70次左右時開始收斂,并得到了最優(yōu)解。實驗結(jié)果同精度為0.5%類似,均是第一次實驗就已經(jīng)收斂,在之后的實驗保持該最優(yōu)解,都得到了7種單煤的最終比例:0,0,36.5,0,63.5,0,0;最終混煤最低單價為315.1元。
通過以上3組不同精度的實驗比較發(fā)現(xiàn),實驗的結(jié)果都是高度一致的 (除了第一組實驗受到精度的限制,也非常接近最優(yōu)解),而且完全符合文獻(xiàn) [9]中的實驗結(jié)果,經(jīng)過論證,這樣的結(jié)果確實是最優(yōu)的。
通過已知煤質(zhì)數(shù)據(jù)測試了系統(tǒng)的一些功能,得到了比較滿意的結(jié)果,下面將對優(yōu)化方法的優(yōu)劣性和穩(wěn)定性進(jìn)行驗證,實驗數(shù)據(jù)包括文獻(xiàn) [9]中提供的數(shù)據(jù),以及文獻(xiàn)[10]提供的數(shù)據(jù)。
(1)算法性能優(yōu)越性比較:首先測試標(biāo)準(zhǔn)的粒子群算法,設(shè)置粒子個數(shù)為20,迭代次數(shù)為150,進(jìn)行20 次實驗,把求得最優(yōu)解時的迭代次數(shù)作為比較標(biāo)準(zhǔn),得到20個結(jié)果:92,61,79,134,100,75,80,85,70,98,93,90,151,120,135,126,106,53,58,114。平均迭代次數(shù)為96次,程序耗時374s。從圖6 中也可以看出,隨著迭代的進(jìn)行粒子逐漸取到了最優(yōu)值,并在平均迭代九十多次后趨于穩(wěn)定。
圖6 標(biāo)準(zhǔn)粒子群算法
然后測試本文中的改進(jìn)粒子群算法,同樣進(jìn)行類似的設(shè)定,粒子個數(shù)為20,迭代次數(shù)為100,進(jìn)行20 次實驗,還是把求得最優(yōu)解時的迭代次數(shù)作為比較的標(biāo)準(zhǔn)。測試時,同樣把取得最優(yōu)解時已經(jīng)發(fā)生的迭代次數(shù)作為參考,得到20 個結(jié)果:61,64,69,79,61,65,79,68,71,74,86,66,75,66,59,62,54,73,66,84。平均迭代次數(shù)為69次,程序耗時320s。迭代過程如圖7所示。
圖7 改進(jìn)粒子群結(jié)果
通過比較可以發(fā)現(xiàn),本文的方法不但可以取到最優(yōu)解,而且所需要的平均迭代次數(shù)也是比較少的,平均減少了十幾次??梢姳菊撐闹袑?biāo)準(zhǔn)粒子群算法的改進(jìn)確實是有效的,體現(xiàn)出了其優(yōu)越性。
(2)算法穩(wěn)定性比較:算法的優(yōu)越性已經(jīng)體現(xiàn),但穩(wěn)定性也是同樣重要的,接下來我們繼續(xù)對本論文方法的穩(wěn)定性進(jìn)行驗證。
1)根據(jù)文獻(xiàn) [10]提供的單煤數(shù)據(jù)和設(shè)計要求檢測,表3給出了5種單煤及其配煤要求。
將數(shù)據(jù)錄入并根據(jù)文獻(xiàn)要求配置好系統(tǒng)參數(shù),精度為5%,實驗次數(shù)為1,迭代次數(shù)20,粒子個數(shù)10,5種單煤的比例變化如圖8所示。圖中用不同的形狀將不同煤種進(jìn)行了區(qū)分。
表3 單煤數(shù)據(jù)及配煤要求
圖8 5種單煤比例變化
最終得出5 種單煤的比例為兗州煤:45%,邰武煤:10%,新集煤:35%,鞏義3 煤:10%,龍口3 煤:0%,最低配煤成本單價為224元/噸。這些結(jié)果與文獻(xiàn)中的結(jié)果完全吻合,并且本系統(tǒng)僅耗時0.456 秒就得出結(jié)果,效率是相當(dāng)高的。
2)根據(jù)文獻(xiàn) [10]中單煤數(shù)據(jù)和設(shè)計煤種的要求對算法進(jìn)行檢測,表4給出了5種單煤信息和設(shè)計要求。
表4 單煤數(shù)據(jù)及設(shè)計要求
將數(shù)據(jù)輸入到系統(tǒng)中,設(shè)置精度為最高 (0.01%),實驗次數(shù)為2,迭代次數(shù)150,粒子個數(shù)40,同時合并前后兩次實驗,最終求得到5種單煤的比例結(jié)果見表5。
表5 單煤數(shù)據(jù)及設(shè)計要求
以上結(jié)果與文獻(xiàn) [10]的結(jié)果也是完全吻合,可見粒子的穩(wěn)定性確實是存在的。
綜上,根據(jù)以上幾組測試實驗可以發(fā)現(xiàn),本文中所應(yīng)用的模型和對粒子群的優(yōu)化算法是具有優(yōu)越性和穩(wěn)定性的。
本文通過對粒子群算法進(jìn)行進(jìn)一步的改進(jìn)并應(yīng)用于配煤模型的求解當(dāng)中,最后形成了一個完整的配煤優(yōu)化系統(tǒng)。本文通過重復(fù)大量的探索測試,改進(jìn)粒子群算法的各個參數(shù)和邏輯關(guān)系,最后得出本文中出現(xiàn)的配煤優(yōu)化算法,進(jìn)而應(yīng)用在了模型的求解當(dāng)中,同時利用實驗驗證了本文模型中所利用的粒子群的優(yōu)化算法是具有優(yōu)越性和穩(wěn)定性的,但是通過大量的實驗也發(fā)現(xiàn)了本系統(tǒng)仍存在一些不足的地方,主要有包括以下幾個方面:
(1)對配煤人員的要求比較高。由于本文中涉及到了對粒子群算法中參數(shù)的設(shè)置,包括實驗次數(shù)、迭代次數(shù)和粒子個數(shù),雖然在界面中已經(jīng)給出了默認(rèn)值和部分提示信息,但還是免不了工作人員對這些數(shù)據(jù)的疑問。
(2)對粒子群算法的改進(jìn)雖有效果,但不是非常顯著。雖然本文中對粒子群算法的改進(jìn)之后,使得計算過程中需要的收斂次數(shù)減少(從96降到69),但是效果還不是特別的明顯。
(3)初始化粒子的時候具有很大的盲目性,隨機(jī)生成的大部分粒子可能不滿足約束條件。目前還沒找到一個更好的初始化方法,希望在以后的研究中可以解決。
[1]Zeng Ming,Liu Ximei.Review of renewable energy investment and financing in China:Status,mode,issues and countermeasures[J].Renewable &Sustainable Energy Reviews,2014,31:23-37.
[2]Dienst Carmen,Schneider Clemens.On track to become a low carbon future city?First findings of the integrated status quo and trends assessment of the pilot city of Wuxi in China [J].Sustainability,2013,5 (8):3224-3243.
[3]Tian Lixin,Jin Rulei.Theoretical exploration of carbon emissions dynamic evolutionary system and evolutionary scenario analysis[J].Energy,2012,40 (1):376-386.
[4]Zhao Zhenyu,Yan Hong.Assessment of the biomass power generation industry in China [J].Renewable Energy,2012,37 (1):53-60.
[5]YANG Shengchun.Power coal blending model research [J].Guangdong Electric Power,2012,25 (1):36-39 (in Chinese). [楊圣春.火電廠配煤模型研究 [J].廣東電力,2012,25 (1):36-39.]
[6]DONG Husheng,LU Ping,ZHONG Baojiang,et al.The automatic coal blending system based on collaborative quantum particle swarm optimization [J].Manufacturing Automation,2014,30 (1):74-77 (in Chinese).[董虎勝,陸萍,鐘寶江,等.基于協(xié)同量子粒子群的自動配煤系統(tǒng)優(yōu)化 [J].制造業(yè)自動化,2014,30 (1):74-77.]
[7]ZHANG Lifeng,HU Xiaobing.Hybrid particle swarm optimization algorithm for solving nonlinear constrained problem [J].Computer Science,2011,38 (10A):178-188 (in Chinese).[張利鳳,胡小兵.求解非線性約束問題的混合粒子群優(yōu)化算法 [J].計算機(jī)科學(xué),2011,38 (10A):178-188.]
[8]SUI Conghui.Study on the method of particle swarm optimization(pso)algorithm to improve [D].Chengdu:Southwest Jiaotong University,2010 (in Chinese). [隨聰慧.粒子群算法的改進(jìn)方法研究 [D].成都:西南交通大學(xué),2010.]
[9]LIU Yongjiang,GAO Zhengping,HAN Yi,et al.Coal-fired power plants based on particle swarm algorithm to optimize coal blending research [J].Journal of Boiler Technology,2012,43 (5):18-24 (in Chinese). [劉永江,高正平,韓義,等.基于粒子群算法的火電廠優(yōu)化配煤研究 [J].鍋爐技術(shù),2012,43 (5):18-24.]
[10]TAN Baocheng,LI Yuanke.Coal blending technology and its mathematical model research [J].Journal of Xi’an University of Technology,2011,31 (2):156-159 (in Chinese). [譚寶成,李元坷.配煤技術(shù)及其數(shù)學(xué)模型研究 [J].西安工業(yè)大學(xué)學(xué)報,2011,31 (2):156-159.]