??? 摘 要: 提出了基于免疫算法" title="免疫算法">免疫算法的電源優(yōu)化" title="電源優(yōu)化">電源優(yōu)化模型,該模型能夠減少電源優(yōu)化的計(jì)算量,提高計(jì)算效率,并可充分利用特征信息的靈活性求解。
??? 關(guān)鍵詞: 電力系統(tǒng)? 免疫算法? 分段式編碼? 電源優(yōu)化
?
??? 電力系統(tǒng)的主要功能是以經(jīng)濟(jì)合理的方式向用戶(hù)連續(xù)提供高質(zhì)量的電能。電力系統(tǒng)的電源規(guī)劃是電力系統(tǒng)戰(zhàn)略發(fā)展規(guī)劃的重要組成部分,它要解決的核心問(wèn)題是確定系統(tǒng)在規(guī)劃期內(nèi)應(yīng)在何時(shí)、何地建設(shè)何種類(lèi)型、多大容量的發(fā)電廠,以最佳的方式滿(mǎn)足電力負(fù)荷發(fā)展的需求。即尋求規(guī)劃期內(nèi)滿(mǎn)足電力負(fù)荷增長(zhǎng)需求和各種約束條件" title="約束條件">約束條件以及技術(shù)經(jīng)濟(jì)指標(biāo)的國(guó)民經(jīng)濟(jì)總支出最小的電源建設(shè)方案。
??? 目前,求解電力系統(tǒng)電源優(yōu)化問(wèn)題的方法有動(dòng)態(tài)規(guī)劃法(DP)、遺傳算法(GA)、逐步尋優(yōu)算法(POA)和蟻群算法等多種確定和隨機(jī)搜索方法[1]。而免疫算法IA(Immune Algorithm)是一種全局隨機(jī)概率搜索方法,具有多樣性,能避免陷入局部最優(yōu)解,又能夠提高搜索速度,加快全局收斂。本文考慮到免疫算法的全局搜索特性,嘗試性地將其應(yīng)用到區(qū)域電源優(yōu)化問(wèn)題中,通過(guò)實(shí)例計(jì)算表明,免疫算法可以有效地避免陷入局部最優(yōu)解,并且可以較好地收斂到最優(yōu)解。
1 免疫算法原理
1.1 免疫算法介紹
??? 免疫算法的思想來(lái)自模仿人體的免疫系統(tǒng)。免疫系統(tǒng)是人體抵抗細(xì)菌、病毒和其他致病因子入侵的基本防御系統(tǒng),它通過(guò)一套復(fù)雜的機(jī)制來(lái)重組基因,以產(chǎn)生抗體對(duì)付入侵的抗原,達(dá)到消滅抗原的目的。
??? 在免疫算法中,優(yōu)化問(wèn)題的目標(biāo)函數(shù)對(duì)應(yīng)于入侵的抗原,抗體則代表了優(yōu)化問(wèn)題的可能解。免疫算法具有學(xué)習(xí)、記憶、自適應(yīng)調(diào)節(jié)等其他算法所不具備的能力[2],因此它本身有一些不同于其他算法的優(yōu)化步驟:
??? (1)計(jì)算親和性:親和性有兩種形式,一種形式說(shuō)明了抗體與抗原之間的關(guān)系,即解和目標(biāo)函數(shù)的匹配程度;另一種形式解釋了抗體之間的關(guān)系,這個(gè)獨(dú)有的特性保證了免疫算法的多樣性。
??? (2)計(jì)算期望值:計(jì)算期望值的作用是控制適用于抗原(目標(biāo))的相同抗體的過(guò)多產(chǎn)生。
??? (3)構(gòu)造記憶單元:記憶單元用于保存抵御抗原的一組抗體(優(yōu)化問(wèn)題的候選解),在此基礎(chǔ)上免疫算法能夠以很快的速度收斂于全局最優(yōu)解。
1.2 免疫算法的改進(jìn)及其在電源規(guī)劃中的應(yīng)用
??? 免疫算法是利用抗原的復(fù)雜多樣性表示優(yōu)化問(wèn)題的目標(biāo)函數(shù)或約束條件,利用抗體的多樣性表示優(yōu)化問(wèn)題的可行解[3]。為提高免疫算法的速度并增加免疫算法對(duì)知識(shí)的記憶和學(xué)習(xí)能力,以提高算法的整體性能,本文在原算法的基礎(chǔ)上有選擇、有目的地利用待求問(wèn)題(即抗原)中的一些特征信息或知識(shí)來(lái)抑制其優(yōu)化過(guò)程中出現(xiàn)的退化現(xiàn)象,增加抗體的進(jìn)化速度,給出算法的具體步驟,通過(guò)實(shí)驗(yàn)仿真表明該算法具有全局收斂性,并且可以快速有效地得出問(wèn)題的最優(yōu)解。
??? 針對(duì)電源規(guī)劃問(wèn)題的有序性,并根據(jù)免疫系統(tǒng)特有的進(jìn)化特性,本文利用分段式編碼,對(duì)待選電源進(jìn)行編碼,將一些基本的約束條件融入編碼規(guī)則,成功地將免疫算法引入到電源優(yōu)化中。
2 基于改進(jìn)免疫算法的電源規(guī)劃模型
2.1 目標(biāo)函數(shù)
??? 電源規(guī)劃的目標(biāo),是在滿(mǎn)足負(fù)荷需要和各種約束條件及技術(shù)經(jīng)濟(jì)指標(biāo)下國(guó)民經(jīng)濟(jì)支出為最小。在相同的經(jīng)濟(jì)效益下,總支出最小的方案是電源規(guī)劃目標(biāo)函數(shù)的最優(yōu)解。但是由于各種電站的運(yùn)行特性和使用的年限不同,因此為了便于比較,采用等年值法(即將投資費(fèi)用折算成年費(fèi)用)。本文考慮水電站(包括抽水蓄能電站)、火電站規(guī)劃情況,以經(jīng)濟(jì)支出為目標(biāo)函數(shù)。因此規(guī)劃模型可表示為:
???
??? 在上述目標(biāo)函數(shù)的表達(dá)式中,F(xiàn)為總費(fèi)用現(xiàn)值,ati為火電機(jī)組i在第t年投產(chǎn)時(shí)的費(fèi)用,btj為水電機(jī)組" title="水電機(jī)組">水電機(jī)組j(包括抽水蓄能機(jī)組)在第t年投產(chǎn)時(shí)的費(fèi)用;cti為火電機(jī)組i在規(guī)劃期內(nèi)固定年運(yùn)行費(fèi)用,dtj為水電機(jī)組j(包括抽水蓄能機(jī)組)在規(guī)劃期內(nèi)固定年運(yùn)行費(fèi)用;eti為火電機(jī)組i在規(guī)劃期內(nèi)可變運(yùn)行費(fèi)用,ftj為水電機(jī)組j(包括抽水蓄能機(jī)組)在規(guī)劃期內(nèi)可變運(yùn)行費(fèi)用;Rt為t年后回收的殘值費(fèi)用,Bt為第t年新建電源除發(fā)電之外的其他效益(如水電廠除發(fā)電外,還有防洪、灌溉和航運(yùn)等效益);r為貼現(xiàn)率,t0為貼現(xiàn)基準(zhǔn)年份;αk為懲罰系數(shù),F(xiàn)k為個(gè)體不滿(mǎn)足條件k時(shí)的計(jì)算值,M為考慮的懲罰因子的個(gè)數(shù);Xi,t,Yj,t表示的都是0-1變量,1代表在第t年投入了第i,j號(hào)機(jī)組,0則代表了沒(méi)有投入。
??? 目標(biāo)函數(shù)F中含有三部分:第一部分為電力系統(tǒng)投產(chǎn)支出和固定年運(yùn)行費(fèi)用折現(xiàn)值,由投入的機(jī)組型號(hào)、時(shí)間和各經(jīng)濟(jì)參數(shù)決定;第二部分為各段內(nèi)投入機(jī)組的可變運(yùn)行費(fèi)用之和,由各機(jī)組的運(yùn)行時(shí)間、狀態(tài)決定;第三部分為對(duì)應(yīng)系統(tǒng)不滿(mǎn)足有關(guān)約束條件時(shí)的懲罰函數(shù)。
2.2 系統(tǒng)模型的約束條件及其表達(dá)式
??? 電源規(guī)劃模型的約束條件主要包括電力電量平衡、待建電站最大裝機(jī)容量、最早投入年限、發(fā)電機(jī)組" title="發(fā)電機(jī)組">發(fā)電機(jī)組最大最小出力、火電燃料消耗及水電水量消耗限制和調(diào)峰約束等。
??? (1)電力電量平衡:
???
??? 式(2)中, Hi,t為在第t年機(jī)組i的期望利用小時(shí)數(shù),Hj,t為在第t年機(jī)組j的期望利用小時(shí)數(shù),EDk為第t年的系統(tǒng)電量,rek為第t年的電量備用系數(shù)。其他參數(shù)均與模型中的含義相同。
??? (2)發(fā)電機(jī)組最大、最小出力:
???
??? 式(3)中,Pi,t為機(jī)組i在規(guī)劃第t年內(nèi)的出力;Pimin,t,Pimax,t分別為機(jī)組在規(guī)劃第t年內(nèi)的最小和最大出力。
??? (3)火電燃料消耗:
???
??? 式(4)中,Eit為火電機(jī)組i在第t年的發(fā)電量;βi為發(fā)電機(jī)組i的平均燃料單耗;AiNi為發(fā)電機(jī)組i在總運(yùn)行時(shí)間Nt內(nèi)的燃料消耗限量。
??? (4)水電水量消耗限制:
???
??? 式(5)中,Ejt為水電機(jī)組j在第t年的發(fā)電量;Wj為水電機(jī)組j在時(shí)間Nt內(nèi)的平均出力。
??? (5)最早可投入年限:在對(duì)機(jī)組進(jìn)行個(gè)體編碼時(shí),就己把本條件表現(xiàn)在了基因里面。
??? (6)調(diào)峰約束:
???
??? 式(6)中,Pfh為第t年的系統(tǒng)峰荷;Ptn為機(jī)組n的調(diào)峰能力。
2.3 模型的原理框圖與求解步驟
??? 免疫算法中的抗原、抗體、抗原和抗體之間的親和性分別對(duì)應(yīng)電源規(guī)劃問(wèn)題的目標(biāo)函數(shù)、優(yōu)化解、可行解與目標(biāo)函數(shù)的匹配程度[3]。算法的流程如圖1所示。
?
??? 求解步驟如下:
??? (1)抗原識(shí)別。輸入模型的目標(biāo)函數(shù)和約束條件作為算法的抗原。
??? (2)隨機(jī)產(chǎn)生初始抗體。
??? (3)電力電量平衡條件判斷。檢驗(yàn)抗體是否滿(mǎn)足電力平衡條件,按照最小冗余量原則,將基因分段,并根據(jù)負(fù)荷預(yù)測(cè)通過(guò)電量平衡操作計(jì)算出各機(jī)組的發(fā)電量、調(diào)峰差額等參數(shù)。
??? (4)抗體抗原親和度計(jì)算。計(jì)算抗體j與其他抗體和抗原的親和度。本文在計(jì)算抗體之間親和度時(shí)采用了基于信息熵的方法,具體操作見(jiàn)文獻(xiàn)[4]。抗原和抗體j之間的親和度用適應(yīng)度來(lái)表示,可以由目標(biāo)函數(shù)變換得到。本文中具體的計(jì)算公式如下:
???
??? 式(7)中,F(xiàn)j為種群中個(gè)體j的目標(biāo)函數(shù)值,N為種群規(guī)模。由上式可知,目標(biāo)函數(shù)Fj越小,相應(yīng)的適應(yīng)度就越大,并且滿(mǎn)足
??? (5)記憶單元更新。將與抗原親和度高的抗體加入到記憶單元。在系統(tǒng)接收同類(lèi)問(wèn)題求解時(shí),以所保留的記憶細(xì)胞為初始群體,從而提高了問(wèn)題求解的速度。
??? (6)抗體的促進(jìn)與抑制。計(jì)算抗體的濃度以及期望繁殖率。對(duì)產(chǎn)生的個(gè)體進(jìn)行評(píng)價(jià),與抗原親和度高且密度低的抗體生存幾率大。本文所采用的抗體密度以及個(gè)體期望繁殖率的公式參考文獻(xiàn)[5]。
??? (7)終止條件滿(mǎn)足。輸出最優(yōu)結(jié)果。
2.4 抗體編碼的問(wèn)題處理
??? 在規(guī)劃模型中,為了簡(jiǎn)化各電廠的分期工程問(wèn)題,將每臺(tái)機(jī)組作為一個(gè)基因,該基因包含了很多基本特征:如投資現(xiàn)年值、年固定運(yùn)行費(fèi)用、可變運(yùn)行費(fèi)用、單機(jī)容量、所屬電廠等。按照上述基本特征的異同,將每臺(tái)機(jī)組按種類(lèi)進(jìn)行編碼。模型中含有兩類(lèi)電廠(水電和火電)。
??? 例如編碼X13X21X32X32Y11Y13Y33表示共7臺(tái)可選機(jī)組,其中,X和Y代表的是火電和水電的基因;下標(biāo)中的第一個(gè)數(shù)字是按照基本特征的異同分別對(duì)水、火電基因進(jìn)行編碼,如果特征相同,則編號(hào)一致;下標(biāo)中的第二個(gè)數(shù)字是最早投入年限,如X21代表機(jī)組最早投入年限是第1年。這里需要特別指出的是編碼中的Y11Y13,盡管最早投入年限雖然不同,但是它們的編號(hào)一致,這是因?yàn)楹竺娴幕驌Q位操作中同一編號(hào)的兩臺(tái)機(jī)組換位,不論它們的最早投入年限是否一樣,對(duì)后面的適應(yīng)度值計(jì)算結(jié)果無(wú)任何影響。因此,如果發(fā)生基因換位的是不同規(guī)劃段中的同一編號(hào)機(jī)組,在滿(mǎn)足電源建設(shè)的約束條件下,可以認(rèn)為換位后的染色體與其母體相同,以避免不必要的重復(fù)計(jì)算。另外,染色體在滿(mǎn)足機(jī)組最早投入年限的前提下,以電力電量平衡為準(zhǔn)則,用最小冗余量的方法進(jìn)行分段,沒(méi)有被選擇的機(jī)組將作為備選列于染色體末尾,以保證基因換位的便利性。
??? 根據(jù)上述的原理,可以對(duì)待建電源的任一機(jī)組投入次序進(jìn)行染色體編碼,染色體解碼是編碼的逆過(guò)程,限于篇幅,本文不再贅述。
??? 本文中,對(duì)抗體采用N×T維的二進(jìn)制字符串矩陣編碼。各元素(基因)分別對(duì)應(yīng)于某一電源在規(guī)劃單位內(nèi)的狀態(tài),1表示選中投入運(yùn)行,0表示沒(méi)有被選中。這樣,編碼矩陣的行表示某電源在研究的各規(guī)劃單位的狀態(tài)。
3 實(shí)例仿真計(jì)算
??? 本文對(duì)某省5年規(guī)劃期內(nèi)的7個(gè)電站,14個(gè)待選電源進(jìn)行優(yōu)化計(jì)算,各待選電站的機(jī)組容量數(shù)據(jù)如表1。
?
?
??? 首先,對(duì)這14個(gè)待建電源按照文章介紹的編碼方法進(jìn)行編碼,計(jì)算中把規(guī)劃期分為5個(gè)規(guī)劃單位時(shí)間,每個(gè)規(guī)劃單位為1年,在滿(mǎn)足各種約束條件的情況下優(yōu)化結(jié)果列于表2。
?
?
??? 本文提出的一種基于免疫算法的電力系統(tǒng)電源規(guī)劃模型,采用的編碼方式不僅可以滿(mǎn)足染色體編碼的完備性、健全性和非冗余性等原則,與遺傳算法相比,它可以簡(jiǎn)化遺傳操作,減小計(jì)算量,利于應(yīng)用計(jì)算機(jī)語(yǔ)言來(lái)實(shí)現(xiàn),而且適值計(jì)算量也大幅度減少,收斂速度加快。另外,算法充分利用了特征信息的靈活性,避免了產(chǎn)生“早熟”現(xiàn)象[6]。算例仿真表明,本文提出的模型是可行的,該算法應(yīng)該還有更廣闊的發(fā)展空間和應(yīng)用范圍,若將單位規(guī)劃時(shí)間規(guī)定為季度或者月,則該方法將滿(mǎn)足今后對(duì)規(guī)劃準(zhǔn)確性與實(shí)時(shí)性的要求,更加突出其經(jīng)濟(jì)性與實(shí)用性。
參考文獻(xiàn)
[1] 李小明,陳金富,段獻(xiàn)忠,等.電源規(guī)劃模型及求解方法研究綜述.繼電器,2006,34(23):78-84.
[2] ?DESGNPTA D. Artificial immune systems and their applications[M].Bedin Heidelberg:Springer—Verlang,1999.
[3]?CHTM Jang Sung, JANG Hyun Kyo,HAHN Song Yop. A ?study on comparison optimization performances between immune algorithm and other heuristic algorithms[J].IEEE Trans on Magnetics,1998,34(5):2972-2975.
[4]?李蔚,劉長(zhǎng)東,盛德仁,等.免疫算法在火電機(jī)組優(yōu)化組合中的應(yīng)用.浙江大學(xué)學(xué)報(bào)(工學(xué)版),2004,38(8):1090-1094.
[5]?葛紅,毛宗源.免疫算法的實(shí)現(xiàn).計(jì)算機(jī)工程,2003,29(5):62-63.
[6]?吳耀武,候云鵬,熊信瑯,等.基于遺傳算法的電力系統(tǒng)電源規(guī)劃模型[J].電網(wǎng)技術(shù),1999,23(3):10-14.