張 巍 陳 懇
(南昌大學(xué)信息工程學(xué)院,南昌 330031)
負(fù)荷預(yù)測是供電部門的重要工作之一,準(zhǔn)確的負(fù)荷預(yù)測,可以經(jīng)濟(jì)合理地安排電網(wǎng)內(nèi)部發(fā)電機(jī)的起停,保持電網(wǎng)運(yùn)行的安全穩(wěn)定性,合理安排機(jī)組檢修計(jì)劃,保證社會(huì)的正常生產(chǎn)和生活,有效地降低發(fā)電成本,提高經(jīng)濟(jì)效益和社會(huì)效益。社會(huì)用電受很多相關(guān)因素的影響,例如政府的政策,國內(nèi)國際政治,經(jīng)濟(jì)形勢,晝夜以及季節(jié)和氣候冷暖的影響,以及氣溫的變化,節(jié)假日,突發(fā)事故及電價(jià)等因素的影響。這些因素的存在都使得電力負(fù)荷的預(yù)測存在一定的隨機(jī)性與不確定性,而分形能很好地解決復(fù)雜非線性問題。因此,本文運(yùn)用分形拼貼原理以及分形插值算法建立預(yù)測模型,對短期電力負(fù)荷進(jìn)行預(yù)測。本文還應(yīng)用遺傳算法探尋分形插值垂直比例因子,以實(shí)現(xiàn)分形插值曲線與實(shí)際函數(shù)曲線的擬合。
分形理論是一門新興的學(xué)科,其具有一定程度的應(yīng)用普遍性。
分形拼貼就是構(gòu)造一個(gè)迭代函數(shù)系{X;W0,W1,…,Wn},使得對給定集合L經(jīng)此IFS變換后的結(jié)果拼貼成另一個(gè)集合A,兩集合在Hausdorff距離下盡量接近。如果以電力負(fù)荷數(shù)據(jù)為給定的集合,那么存在一個(gè)迭代函數(shù)系{X;W0,W1,…,Wn}使得電力負(fù)荷歷史數(shù)據(jù)集合在這組映射Wi(i=1,2,…,n)下的象趨近于電力負(fù)荷歷史數(shù)據(jù)集合。
分形插值方法[1-4]是對一組給定的信息點(diǎn)構(gòu)造相應(yīng)的迭代函數(shù)系IFS,使該IFS的吸引子為通過這組信息點(diǎn)的函數(shù)。給定一組數(shù)據(jù){(xi,yi);i=1,2,…,n},要構(gòu)造一個(gè)函數(shù)f(x),使得給定的數(shù)據(jù)都經(jīng)過f(x)繪制的圖形或者趨近于函數(shù)圖象,此f(x)就稱為插值函數(shù)。
迭代函數(shù)系IFS(R2;wi,i=1,2,…,n)中每個(gè)函數(shù)wi的形式如下:
并且滿足如下條件:
根據(jù)以上式(1)、(2)、(3)得以下方程組:
上式中,選定di為自由參數(shù),即垂直尺度因子,則ai、ci、ei、fi可通過下式求得,即
確定了仿射變換的參數(shù),就可以確定每個(gè)wi函數(shù),接著利用分形迭代算法求取IFS的吸引子。
生成IFS吸引子的算法[5]有兩種:
1)確定性迭代算法
(1)初始化,任意確定一個(gè)初始集,設(shè)定最大迭代步數(shù)。
(2)對這些初始集上的點(diǎn)依次進(jìn)行各個(gè)iw變換,將變換后的點(diǎn)集保存。
(3)將步驟(2)中求得的每一個(gè)變換后的點(diǎn)集中的點(diǎn)都在屏幕上打出。
(4)返回第(2)步,直到迭代到最大步數(shù)為止。
2)隨機(jī)迭代法
這是一種隨機(jī)的選取IFS中仿射變換的方法。首先對每個(gè)仿射變換都附上一個(gè)概率ip,i=1,2,…,n,則IFS變成了含概率的IFS,形式為
隨機(jī)迭代法的思想是:先在給定的數(shù)據(jù)中任取一個(gè)初始點(diǎn)x0,再隨機(jī)地選取一個(gè)仿射變換wi,令x1=wi(x0),…,如此下去,將得到一系列點(diǎn)的集合{xn}∞n=1,這些點(diǎn)構(gòu)成的軌跡圖即為分形圖。其具體的算法步驟如下所示。
(1)設(shè)定一個(gè)初始點(diǎn)(x0,y0)及總的迭代次數(shù)。
(2)根據(jù)概率分布,以pi從仿射變換中隨機(jī)選取一個(gè)wi。
(3)以wi作用初始點(diǎn)(x0,y0),得到新的點(diǎn)的坐標(biāo)(x1,y1)。
(4)令x0=x1,y0=y1。
(5)在屏幕上打出點(diǎn)(x0,y0)。
(6)返回第二步,進(jìn)行下一次迭代,直到迭代次數(shù)大于總的迭代次數(shù)。
由上述兩種迭代算法的原理可知,兩種迭代算法各有各的優(yōu)點(diǎn)和缺點(diǎn)。確定性算法原理簡單,能產(chǎn)生清晰完整的圖像,但是占用了大量的內(nèi)存空間,執(zhí)行起來費(fèi)時(shí);而隨機(jī)性算法是通過概率控制每次迭代IFS碼被選中的次數(shù),存儲(chǔ)空間小,但隨機(jī)性強(qiáng),可能有IFS碼在迭代過程中一直沒被選中。
迭代函數(shù)系各個(gè)參數(shù)除了由歷史數(shù)據(jù)求取,垂直比例因子di也起著決定性的作用,所以如何選取di是非常重要的,因?yàn)樗鼘⒂绊懛中吻€的起伏。本文利用遺傳算法對di進(jìn)行優(yōu)化選取。針對電力負(fù)荷預(yù)測,本文對垂直比例因子尋優(yōu)的算法過程如下
1)設(shè)定目標(biāo)函數(shù)
本文用負(fù)荷預(yù)測的平均相對誤差來定義遺傳算法的目標(biāo)函數(shù):
式中,f(xi)指的是分形插值曲線生成值,yi指的是給定的歷史數(shù)據(jù)。選取di使上述適應(yīng)度函數(shù)最小。
2)GA算法的具體步驟
(1)編碼,利用二進(jìn)制編碼方式對垂直比例因子di進(jìn)行編碼。
(2)產(chǎn)生初始群體,隨機(jī)產(chǎn)生初始群體,這第一代群體中的個(gè)體可能有id的最優(yōu)解,但一般情況下沒有,所以要對這些初始群體進(jìn)行反復(fù)的交叉變異來尋求最優(yōu)解。
(3)計(jì)算適應(yīng)度,本文的適應(yīng)度函數(shù)f=1/E,也即目標(biāo)函數(shù)的倒數(shù),確定了適應(yīng)度函數(shù),就對群體中的各個(gè)個(gè)體進(jìn)行適應(yīng)度的計(jì)算。
(4)選擇,將各個(gè)個(gè)體的適應(yīng)度按降序進(jìn)行排列,從當(dāng)代群體中選擇優(yōu)良的個(gè)體遺傳到下一代。
(5)交叉,將優(yōu)選后的個(gè)體以一定的交叉概率配對,形成新的群體。
(6)變異,將交叉后的新群體中的各個(gè)個(gè)體以一定的變異概率進(jìn)行某個(gè)基因位或某些基因位上的基因值取反。
循環(huán),產(chǎn)生新群體,對每一代的群體都進(jìn)行反復(fù)的選擇、交叉和變異,直到某一代群體中的所有個(gè)體的適應(yīng)度函數(shù)都優(yōu)于上一代群體。
已經(jīng)介紹了分形插值的方法及遺傳算法對參數(shù)尋優(yōu)的原理說明,下面就將這些原理方法具體應(yīng)用到電力負(fù)荷預(yù)測中,步驟如下。
獲取負(fù)荷樣本,以四天的負(fù)荷為樣本,選取三天為歷史日,一天為預(yù)測日,三天的歷史日中將鄰近預(yù)測日的那一天定為基準(zhǔn)日,其余兩天為相似日。
先對基準(zhǔn)日進(jìn)行分形插值各個(gè)參數(shù)的求解,從基準(zhǔn)日的96個(gè)負(fù)荷點(diǎn)中選取一定數(shù)量的特征點(diǎn)作為插值點(diǎn),利用遺傳算法對這些插值點(diǎn)進(jìn)行初始群體的選取和編碼,將二進(jìn)制轉(zhuǎn)為十進(jìn)制,再代入1-5式進(jìn)行各個(gè)參數(shù)的計(jì)算,繼而利用確定性迭代算法和隨機(jī)迭代算法得到基準(zhǔn)日的分形曲線。再利用一般的插值方法求得各個(gè)插值點(diǎn)的負(fù)荷值,將這些值代入式(7)求取目標(biāo)函數(shù),接著可以得到第一代群體的各個(gè)適應(yīng)度,然后根據(jù)GA算法中的選擇、交叉和變異,以及一系列的循環(huán)優(yōu)化,可以得到最后的id的最優(yōu)解,將求得的垂直比例因子代入式(5)求取其余4個(gè)參數(shù)值,這樣就得到了基準(zhǔn)日的最優(yōu)分形插值參數(shù)。
利用相同的求取基準(zhǔn)日最優(yōu)分形插值參數(shù)的方法來求得其他相似日的最優(yōu)分形參數(shù)。
對求得的幾個(gè)歷史日的最優(yōu)分形插值參數(shù)進(jìn)行加權(quán)求均,得到一個(gè)統(tǒng)計(jì)意義上的分形插值參數(shù),再利用確定性迭代算法和隨機(jī)迭代算法分別進(jìn)行吸引子的求取。該吸引子可以認(rèn)為是預(yù)測日的分形插值曲線。
本文根據(jù)南昌某地區(qū)的歷史負(fù)荷數(shù)據(jù)來預(yù)測2011年11月12日的負(fù)荷,選取的歷史日為11月的9、10、11日,11日為基準(zhǔn)日,插值點(diǎn)選為:1,5,8,14,20,24,28,32,37,42,48,54,58,61,65,72,76,81,84,90,96共 21個(gè)點(diǎn)。利用分形插值理論以及遺傳算法,得到了在兩種分形迭代算法下的預(yù)測日負(fù)荷值,部分預(yù)測值見表1。
表1 預(yù)測日的部分預(yù)測值及其比較結(jié)果
表1中給出了預(yù)測日在兩種分形迭代算法下的凌晨0點(diǎn)至2點(diǎn)間的負(fù)荷值及其誤差,總體而言,應(yīng)用隨機(jī)性迭代算法比應(yīng)用確定性迭代算法得到的預(yù)測結(jié)果更接近于電力負(fù)荷實(shí)際值。
由圖1可以知道,兩種分形迭代算法所作的負(fù)荷預(yù)測結(jié)果都與實(shí)際負(fù)荷值接近,但應(yīng)用分形隨機(jī)性迭代算法所得到的插值曲線與實(shí)際函數(shù)曲線的擬合度更高。
圖1 兩種迭代算法的預(yù)測負(fù)荷曲線與實(shí)際負(fù)荷值得比較
本文應(yīng)用分形插值理論以及分形迭代算法,再結(jié)合遺傳算法對電力負(fù)荷進(jìn)行預(yù)測,大大提高了預(yù)測的精度,特別是分形隨機(jī)算法的應(yīng)用,較之前常用的分形確定性算法在求取吸引子上有了很大程度上的精度的提高。然而本文也有很多需要改進(jìn)的地方,比如沒有考慮天氣因素對負(fù)荷的影響,還有相似日權(quán)重系數(shù)的確定等。這些都對負(fù)荷預(yù)測的精度有一定程度的影響。
[1] 唐立春,李光熹,熊曼麗.基于分形的電力系統(tǒng)負(fù)荷預(yù)測[J].電力系統(tǒng)及其自動(dòng)化學(xué)報(bào),1999,11(4):21-24.
[2] RUAN H J,SHA ZH.Solving inverse problem of FIF by interpolating operator [J].Chinese J.Number.Math.And Appl.2000,22(3):1-11.
[3] DALLA L.Bivariate Fractal Interpolation Functions on Grids [J].Fractals,2002,10(1):53-58.
[4] CHATTERJEE M,LIN H T .Rate allocation and admission control for differentiated services in CDMA data networks[J].IEEE Transactions on Mobile Computing,2007,6(2):179-191.
[5] QI D X .Fractal and its computer generation[M].Beijing: Science press,1996: 67-69.