謝胤喆,于汀,陳海良,趙舫,郭瑞鵬,蔣雪冬
(1.浙江大學電氣工程學院,杭州310027;2.中國電力科學研究院,北京100192)
機組組合的改進自學習粒子群算法
謝胤喆1,于汀2,陳海良1,趙舫1,郭瑞鵬1,蔣雪冬1
(1.浙江大學電氣工程學院,杭州310027;2.中國電力科學研究院,北京100192)
安全約束機組組合是混合整數規劃問題,找到高效穩定求解此問題的算法很重要。文中提出了一種新型的離散粒子群求解機組組合問題,通過松弛模型辨識出機組中必開必停的情況,減少離散變量數目,并結合機組組合問題的特性提出了對應的改進自學習策略,能較好地解決含安全約束的機組組合問題。此外,給出了一種初始粒子群生成策略,提高粒子質量。以IEEE30和IEEE118兩個標準節點系統為測試算例,通過與傳統算法和商業軟件包CPLEX的數據對比發現此算法能較快找到最優解或次優解,效率高計算結果穩定,證明該方法可行高效。
機組狀態;網絡安全約束;整數變量辨識;粒子群算法;自學習
近年來國家電網公司致力于堅強智能電網的發展戰略。另外,國家的節能策略也要求機組在保證發電安全的同時減小煤耗。因此,安全約束機組組合SCUC(security constrained unit commitment)問題很有研究的價值。SCUC比較經典的方法主要有規劃法[1]、拉格朗日松弛法[2,3]、混合整數規劃法[4]、遺傳算法[5]等。隨著電網互聯規模的進一步擴大,SCUC問題較難在有限時間內求得其最優解。研究如何應用各類優化方法或者采用各種啟發式策略,以損失解的最優性為代價,力求在盡量短的計算時間內求得盡量優的解顯得很有必要[6]。實際的電力系統中,其最大負荷通常達到裝機容量的70%甚至更高,這意味著將有大量的機組是必開機組。除了因為兩班倒而需經常開停的燃氣蒸汽聯合循環機組外,多數機組除檢修外通常處于全時段開機狀態或者關機狀態,需要啟停的只是部分機組。利用該特點可極大地降低模型中需要計算的整數變量,進而大規??s小系統的狀態組合空間,有效提高機組組合的計算效率。
近年來啟發式算法在SCUC研究中取得了較大的進展,文獻[7]將SCUC問題分解為機組組合UC(unit commitment)問題和含安全約束的優化潮流問題2個子問題,通過2個子問題的交替求解SCUC。文獻[8]將SCUC問題分為確定機組組合狀態和系統經濟調度2個子問題,采用免疫算法確定機組組合狀態,解決了以往基于啟發式算法的機組組合模型難以處理大規模安全約束的問題。文獻[9]將傳統的潮流優化技術與粒子群算法結合起來求解SCUC問題。經典的離散粒子群算法[10,11]DPSO(discrete particle swarm algorithm)通過sigmoid函數來實現-∞~+∞到0~1的映射的方法,雖然將速度轉變成概率,但由于在這里位置只能取0或1,那么更新的速度也必將限定在一個很小的范圍內,此時再通過sigmoid函數轉換時必將只能映射到0~1中很窄的一段區間,會造成的位置更新誤差很大。
本文結合整數辨識的技術和一種新型的自學習離散粒子群優化算法來處理離散量,然后用內點法求解最優潮流模型得到連續量。此外本文應用適應SCUC特性的自適應學習策略來更新粒子,使其能夠容易跳出局部最優值,獲得更好的優化解。另外在文獻[12]基礎上引入了網絡安全約束,暫態穩定不是本文的研究范圍,因此安全約束中不計入電源處的暫態安全。本文也給出了一種新的初始粒子群的生成策略,使初始粒子符合約束條件,提高了初始種群的質量。最后本文分別采用本文提出的算法,并以網絡熱穩限制和機組煤耗最小為安全性指標經濟性指標對IEEE30和IEEE118節點模型進行了測試,測試結果證明該方法的可行性和高效性。
1.1SCUC模型
機組組合問題的目標函數通常是在滿足各種約束條件下使總的發電運行成本最小,即


式中:F(Pi,t,Ii,t)為總發電成本,本文指煤耗,t;Pi,t和Ii,t為決策變量,Pi,t為機組i在t時段的實際出力,MW;Ii,t=1表示機組處于運行狀態,Ii,t=0表示機組處于停機狀態;Ci(Pi,t)為機組i在t時段的發電運行成本,t;Si,t為機組i在t時段的啟動成本,t;M為機組數,T為總時段數,h;PD,t、SD,t分別t時段系統的總負荷和總的備用容量,MW;Pi,min、Pi,max分別為機組i的最小、最大出力,MW;DRi、URi分別為機組i每個時段允許的上、下調出力分別為機組i的最短運行時間和最小停機時間,分別為機組i在t時段前的持續開機時間和持續關機時間分別為節點s在t時段的發電機出力和負荷為線路j的功率上限,MW;Nb為系統節點數;Ks,t為支路潮流-電機出力靈敏度系數,j=1,2,…,Nl,Nl為系統線路數。
1.2 S-SCED模型
文獻[13]通過建立不含離散變量的松弛安全約束經濟調度模型S-SCED(slacked security constrained economical dispatch),然后基于該S-SCED模型的計算結果確定最小待組合的起作用整數變量全集。但文獻[13]并未在松弛模型中考慮備用量,本文在此基礎上做了修改,并辨識機組的必停時段,降低模型中需要計算的整數變量,大規??s小系統的狀態組合空間,有效提高機組組合的計算效率。此處S-SCED模型為


1.3 整數變量的辨識
由以上S-SCED的計算結果決定下面的變量集合。
(1)必開機組對應的整數變量集合A,按上述目標函數分別進行松弛計算。若機組i各時段出力均不小于最小開機出力Pi,min,?t=1,…,T,則機組i為必開機組,其對應的整數變量Ii,t∈A。
(2)必停機組對應的整數變量集合B,按上述目標函數分別進行松弛計算。若計算結果得到的機組i各時段出力均小于即1,…,T,則機組i為必停機組,其對應的整數變量Ii,t∈B,為保證得到全集,通常將λ取得較小,本文取λ=0.05。
(3)部分時段必停的整數變量集合C,若某機組存在連續的H個時段(H>2 h)的出力并且滿足最小停機時間約束,則H-2個時段為必停時段,去掉H的頭尾時段是為了減小失去最優解的可能性,H單位為h。
(4)未確定的整數變量集合則用粒子群算法尋優。
本文采用新算法將速度直接定義成概率,使其在0~1之間隨機分布,不但繼承了連續粒子群算法的參數設置和收斂性,且更容易跟各種改進的連續粒子群算法結合起來,發揮其強大的收索能力,文獻[12]中給出過DPSO的運算規則,本文算法的運算規則同DPSO,主要改進體現在自學習的策略上,運算規則放在附錄中。
當前比較流行的改進策略有自適應慣性系數調整法[14]、混沌算法[15]、自學習法[16]等。本文算法結合了傳統方法和自學習法,可以繼承粒子本身的優質粒子又能獲取其他所有粒子的優質元素,增加了多樣性。該算法更新速度的策略為

式中:ω為慣性系數;c1、c2為學習因子,一般取2;為(0,1)內的隨機數為粒子i本身找到的最優值,即個體極值為粒子i所在粒子片段目前找到的全局最優值,稱為全局極值。

圖1 以單機組所有時段為粒子片段獲取自學習粒子的過程Fig.1Process of getting the comprehensive learning particle in single unit status all the time

圖2 以單時段所有機組為粒子片段獲取自學習粒子的過程Fig.2Process of getting the comprehensive learning particle in all unit status of single time
更新完速度后,第i個粒子需要用更新后的速度Vi來更新位置Xi,更新策略如下。
1)速度和位置的定義
機組組合問題可以轉化為含0-1整數的混合整數規劃問題,在處理離散量時,元素的取值范圍為E=0或1。
速度在SPSO中表示成概率集為

式中:若p(e)前為+號表示該元素取+e的概率;若p(e)前有-號則表示該元素取-e的概率;p(e)∈[0,1]。
V的基本運算為

假設兩個速度v1={e/p1(e)|e∈E}和v2={-e/ p2(e)|e∈E},則有


舉個例子:假設粒子的空間是二維的,ωvi=和那么按照上面給出的規則有

2、速度與位置的更新
經典的PSO算法速度更新策略為

式中:pbest為粒子本身找到的最優值,即個體極值;gbest為整個種群目前找到的全局最優值,稱為全局極值。
更新完速度后,第i個粒子需要用更新后的速度vi來更新位置Xi,首先必須將更新后的速度vi處理成與位置相類似的形式。每一次迭代中,對每一個粒子產生一個隨機值α∈(0,1),對進行處理,則有

然后更新位置中每個元素,即

若更新后的Xi滿足約束條件,則更新結束;若不滿足約束條件則將Xi修正使其滿足條件,完成更新。
3.1 初始粒子群生成策略
本文的擴展粒子群算法SPSO(stretched particle swarm algorithm)采用新的初始粒子生成策略。初始粒子群通常是隨機生成,但由于隨機生成粒子的盲目性,導致大部分粒子不滿足SCUC的約束條件,然而粒子群算法是一種與初始種群關系密切的算法,初始種群的好壞直接影響著粒子的收斂速度和收斂效果。為此本文給出了一種初始種群生成策略,使得初始粒子群能滿足SCUC的約束條件,提高了初始粒子群的質量。另外,可以按文獻[17]的方法確定不起作用的網絡安全約束并去除,大大減少了計算的規模,簡化了其數學模型。
初始粒子群生成的具體步驟如下。
步驟1首先將隨機生成的粒子按圖1的方式排列,進行機組的最小開停機約束校核,若滿足約束轉步驟2,如不滿足進行修正,其修正公式為

步驟2對修正后的粒子按圖2的方式排列,將爬坡率約束式(5)改用機組的上下限來表示,即

步驟3解耦完成后,接下來對每個時段的負荷平衡和備用容量約束進行校核和修正,若每個時段內的機組狀態滿足必要條件

及備用容量約束式(4),則轉向步驟4;若不滿足約束式(18)、式(4),則在滿足最小關機時間約束的機組中按照經濟性從高到底的優先順序采用錦標賽法開機,若不滿足約束式(19),則在滿足最小開機時間約束的機組中按照經濟性從低到高的優先順序采用錦標賽法關機。
步驟4對于初始例子中不滿足網絡安全約束的可以剔除。通過步驟3修正的單個時段內機組狀態一般可行,對不滿足安全約束的機組狀態可以用文獻[16]中滿足SCUC的機組狀態的充分必要條件進行判斷并排除。
3.2 其他改進措施
為了讓粒子群算法取得更好的效果,除采用上述方法外,本文還采用以下改進措施。
(1)重新初始化機制,本文中考慮當迭代5次以上最優解沒有更新,則將粒子群中90%的粒子按第3.1節方式重新生成,增加粒子的多樣性,避免早熟。
(2)在粒子更新過程中碰到不滿足約束條件的粒子也可以用第3.1節辦法進行修復,當修正的粒子滿足步驟3但不滿足步驟4時,該粒子不需舍棄,可以隨機抽取圖2對應時段的粒子片段返回步驟3繼續修正,從而提高粒子的利用率,盡量避免舍棄粒子。
整數變量的辨識過程中的最優潮流計算和離散量確定后的最優潮流均采用內點法求解,粒子群算法的終止條件為最大迭代次數或連續25代抗體沒有找到更優解。仿真是在CPU為Core(TM)22.2 GHz的Dell-PC,Matlab7.7環境下進行。為方便與其他文獻中的算法對比,本文采用文獻[18]中的IEEE30和文獻[19]中IEEE118節點系統。文中粒子群規模為20,迭代50次,慣性權重為ωmax=0.9,ωmin=0.4,隨著迭代次數線性遞減,加速因子c=2。
4.1IEEE30節點系統
IEEE30節點系統包含9臺火電機組,機組參數如表1所示。本文算法模型參數辨識的結果見表2,可見必開機組為1、3、4,必關機組為7、8。
通過機組分類,待定整數變量個數由原有的216個變為74個,這將極大地減少離散變量組合的規模,從而縮短求解時間。

表1 機組參數Tab.1Parameter of units

表2 整數變量辨識結果Tab.2Result of integer variable identification
為了使模型和數據更精確的對比,本文還用商業軟件CPLEX11.0中的cplexmiqp函數求解SCUC問題,作為參考數據,對比CPLEX結果和傳統SPSO算法的結果見表3,本文得到的結果為最優解。
同樣本文對CPLEX和本文粒子群算法的性能做了比較,將原有的24時段按同樣的負荷變化規律擴展到調度24~144個時段,本文的粒子群尋優算法可以方便的進行并行計算,當采用matlab的并行工具設置labs=2。表4為CPLEX和本文算法在粒子群迭代50次情況下的計算結果和計算時間。

表3 計算結果對比Tab.3Consumption of different methods

表4 IEEE30節點系統的計算結果比較Tab.4Comparison of the IEEE30 system
表4顯示,當調度時段較少時,本文算法的計算時間并無明顯優勢,但隨著時段數增加,CPLEX的計算時間呈指數規模增加,而本文的算法時間則呈線性增加,顯示了較高的計算效率。并行計算的加速比和計算機的內核數是成正比的,隨著當前計算機的發展和GPU的成熟,并行式計算的引入必將大幅度地減少計算時間。
4.2IEEE118節點系統
IEEE118節點系統包含186條線路、54臺發電機。由于文獻[19]中安全約束考慮的交流模型而本文用的是直流模型,因而數據沒有比對性。為了程序求解的可行性,線路容量數據在文獻[19]的基礎上乘以1.05。為了對比數據,同樣用CPLEX11.0求解作為參考。
表5所示是IEEE118算例進行100次計算得到的平均結果,每次計算時粒子群迭代次數為300次。通過與CPLEX11.0的運算結果比較可以看出本文算法結果和最優解差距較小。另外由于采用參數辨識過后有37個機組為必停必開機組,需要判斷啟停機組臺數縮小至17臺,大大減少了變量組合規模,計算復雜程度減少,比傳統的粒子群算法更容易得到問題的最優解。

表5 IEEE118不同迭代次數的結果比較Tab.5Comparison of different iteration times for IEEE118
圖3給出的是100次計算每次計算迭代次數到100時的最優解分布曲線,從圖3可以看出最優解之間的波動小,從而證明該算法有較好的穩定性。

圖3 運算100次的最優解分布曲線Fig.3Distribution curve of the optimal solutions with running 100 times
由于粒子群算法中每代粒子之間不存在耦合性,可以進行并行式處理,若能使用更強大的并行技術處理可大幅度減少運算時間。
仿真結果可看出,本文算法在計算規模較小時能快速得到全局最優解,計算時間和計算規模成正比,不會出現維數災,而在計算規模較大時,能在較短的時間內找到次優解,離最優解的距離不超過1%,且計算結果穩定。
本文建立的基于粒子群算法和安全約束的機組組合模型主要特點如下。
(1)改進了文獻[13]的參數辨識方法,在松弛模型中考慮旋轉備用,使松弛模型更合理。
(2)結合SCUC的特性提出了一種結合了整數辨識方法和離散粒子群的算法,通過算例分析可以看出該算法能較大概率收斂到全局最優解,有較好的穩定性,具有較高的工程應用價值。
(3)給出了一種生成初始可行粒子的方法,并可用于修復在粒子更新中不滿足約束條件的粒子,解決了人工智能算法對大規模約束條件難處理的問題,有助于人工智能算法在SCUC問題作更深入的研究。
[1]白曉清,韋化(Bai Xiaoqing,Wei Hua).內點半定規劃法求解含機組組合動態最優潮流(SDP-based method for dynamic optimal power flow with unit commitment)[J].電力系統及其自動化學報(Proceedings of the CSU-EPSA),2011,23(6):67-75.
[2]Ongsakul W,Petcharaks N.Unit commitment by enhanced adaptive lagrangian relaxation[J].IEEE Trans on Power Systems,2004,19(1):620-628.
[3]漲潮海,周其節(Zhang Chaohai,Zhou Qijie).機組優化組合的人工神經網絡拉格朗日混合方法(Artificial neural-net applied to unit commitment scheduling)[J].電力系統及其自動化學報(Proceedings of the CSU-EPSA),1995,7(2):51-58.
[4]李曉磊,周京陽,于爾鏗,等(Li Xiaolei,Zhou Jingyang,Yu Erkeng,et al).基于動態搜索線性混合整數法的機組組合新算法(Linear mixed integer programming algorithm for unit commitment based on dynamic search)[J].電力系統自動化(Automation of Electric Power Systems),2008,32(21):18-21,76.
[5]韓民曉,馬杰,姚蜀軍,等(Han Minxiao,Ma Jie,Yao Shujun,et al).改進的遺傳算法辨識綜合負荷模型(Im-proved genetic algorithm and its application to composite load model)[J].電力系統及其自動化學報(Proceedings of the CSU-EPSA),2011,23(3):79-83.
[6]Yong Fu,Shahidehpour M.Fast SCUC for large-scale power systems[J].IEEE Trans on Power Systems,2007,22(4):2144-2151.
[7]楊朋朋,韓學山,查浩(Yang Pengpeng,Han Xueshan,Zha Hao).一種計及靜態安全約束機組組合的有效算法(A novel algorithm for static security-constrained unit commitment)[J].電力系統自動化(Automation of Electric Power Systems),2009,33(8):39-43.
[8]王敏蔚,楊莉(Wang Minwei,Yang Li).考慮安全約束的機組組合免疫算法模型(A security constrained unit commitment model based on immune algorithm)[J].電力系統自動化(Automation of Electric Power Systems),2010,34(22):57-61.
[9]Collett R,Quaicoe J.Security-constrained unit commitment using particle swarms[C]//Canadian Conference on Electrical and Computer Engineering,Ottawa,Canada:2006.
[10]Kennedy J,Eberhart R C.A discrete binary version of the particle swarm algorithm[C]//IEEE International Conference on Systems,Man,and Cybernetics,Orlando,USA:1997.
[11]陳燁,趙國波,劉俊勇,等(Chen Ye,Zhao Guobo,Liu Junyong,et al).用于機組組合優化的蟻群粒子群混合算法(An ant colony optimization and particle swarm optimization hybrid algorithm for unit commitment based on operate coding)[J].電網技術(Power System Technology),2008,32(6):52-56.
[12]陳海良,郭瑞鵬(Chen Hailiang,Guo Ruipeng).基于改進離散粒子群算法的電力系統機組組合問題(Unit commitment based on improved discrete particle swarm optimization)[J].電網技術(Power System Technology),2011,35(12):94-99.
[13]汪洋,夏清,康重慶(Wang Yang,Xia Qing,Kang Chongqing).機組組合算法中起作用整數變量的辨識方法(Identification of the active integer variables in security constrained unit commitment)[J].中國電機工程學報(Proceedings of the CSEE),2010,30(13):46-52.
[14]Shi Y,Eberhart R C.Fuzzy adaptive particle swarm optimization[C]//IEEE Conference on Evolutionary Computation,Seoul,Korea:2001.
[15]高鷹,謝勝利(Gao Ying,Xie Shengli).混沌粒子群優化算法(Chaos particle swarm optimization algorithm)[J].計算機科學(Computer Science),2004,31(8):13-15.
[16]Liang J J,Qin A K,Suganthan P N,et al.Comprehensive learning particle swarm optimizer for global optimization of multimodal functions[J].IEEE Trans on Evolutionary Computation,2006,10(3):281-295.
[17]Zhai Qiaozhu,Guan Xiaohong,Cheng Jinghui,et al.Fast identification of inactive security constraints in SCUC problems[J].IEEE Trans on Power Systems,2010,25(4):1946-1954.
[18]Ma H,Shahidehpour S M,Marwali M K C.Transmission constrained unit commitment based on Benders decomposition[C]//American Control Conference,Albuquerque,USA:1997.
[19]Yong Fu,Shahidehpour M,Li Zuyi.Security-constrained unit commitment with AC constraints[J].IEEE Trans on Power Systems,2005,20(3):1538-1550.
Unit Commitment Model Based on Self-learning Particle Swarm Algorithm
XIE Yin-zhe1,YU Ting2,CHEN Hai-liang1,ZHAO Fang1,GUO Rui-peng1,JIANG Xue-dong1
(1.School of Electrical Engineering,Zhejiang University,Hangzhou 310027,China;2.China Electric Power Research Institute,Beijing 100192,China)
The unit commitment has commonly been formulated as a mixed-integer,nonlinear optimization problem. To find an efficient and stable method to solve this problem is important.A novel discrete particle swarm optimization to solve unit commitment was proposed in this paper.A novel identification method for the integer variables was proposed to reduce the dimensions.Besides,according to the characteristics of unit commitment and the security constraints,an improved self-learning strategy based on novel particle swarm optimization was proposed.This method can solve security constrained unit commitment well.In addition,a method to produce initial particles in the feasible region was proposed in order to improve the quality of the solution.The feasibility and effectiveness of the proposed method are demonstrated by two test systems of IEEE30 and IEEE118,and the computational results are compared with the custom benders decomposition and the commercial software CPLEX.The result shows that this method can find the optimum or suboptimum solution quickly,which proves the feasibility and validity of this method.
unit state;network security constrained;integer variable identification;particle swarm algorithm;selflearning
TM713
A
1003-8930(2014)02-0014-07
謝胤喆(1988—),男,碩士研究生,研究方向為電力有功調度、無功優化。Email:zjuxyz@zju.edu.cn
2012-08-30;
2012-11-13
國家科技支撐計劃項目(211BAA07B03);國家高技術研究發展計劃(863)計劃資助項目(2011AA05A118)
于汀(1984—),男,碩士,工程師,研究方向為智能電網調度應用的研究。Email:yuting1984829@163.com
陳海良(1986—),男,碩士,工程師,研究方向為電力有功調度、無功優化。Email:570546231@qq.com