王素寧,潘三博,楊青斌,林成棟
(1.上海電機學院電氣學院,上海201306; 2.中國電力科學研究院新能源研究所,江蘇南京210003)
基于優化的果蠅算法的光伏MPPT仿真研究
王素寧1,潘三博1,楊青斌2,林成棟1
(1.上海電機學院電氣學院,上海201306; 2.中國電力科學研究院新能源研究所,江蘇南京210003)
光伏陣列在不同的光照強度和溫度等外界環境下,其I-V和P-V輸出特性曲線呈非線性。為了提高光伏發電系統的發電效率,對其進行快速和精準的最大功率跟蹤顯得尤為重要。果蠅算法是一種求解函數極值的新算法,其具有收斂速度快且準確的特點,因此,在建立光伏陣列的數學模型基礎上,提出了一種改進的果蠅算法的光伏最大功率跟蹤方法,并通過在Matlab中仿真,與粒子群跟蹤算法的跟蹤性能進行了對比,證明了該算法在光伏最大功率跟蹤方面的快速性和有效性。
光伏陣列;最大功率跟蹤;Matlab仿真;改進的果蠅算法
隨著光伏發電系統在世界范圍內的廣泛應用,光伏發電系統也漸漸暴露出了許多問題。其中最突出的問題就是光伏發電系統效率偏低,光伏電池不能完全地發揮其效能。要解決此問題,提高光伏發電系統的跟蹤效率是其必經之路,即,尋找更優良的光伏最大功率跟蹤控制算法是必要的[1-2]。通過提高光伏發電系統的跟蹤效率,進而改善整個系統的發電效率。
2011年7 月,臺灣大學教師潘文超博士提出一種新的智能優化算法——果蠅算法。果蠅算法源于提出者對果蠅覓食行為觀察后,總結模擬果蠅在尋找食物的過程中的行為,這種算法可廣泛應用于科學和工程領域[3-4]。
目前已經存在的最大功率跟蹤方法有固定電壓法(constant voltage tracking,CVT)、擾動觀察法(perturbation&observation,P&O,俗稱爬山法)、電導增量法(incremental conductance,INC)和粒子群算法(particle swarm optimization,PSO)[5]等。但它們都有自身的不足,如動態特性不好,不能應對外界環境的變化,當環境溫度、光照強度的變化等,跟蹤到最大功率點后會在其附近來回振蕩,損失掉部分能量。針對上述情況,利用果蠅算法在求解目標函數最大值收斂速度極快的特性,提出一種改進的果蠅優化算法實現最大功率跟蹤的方法,能夠克服以上問題,實現快速、精確、振蕩較小地得到光伏電池最大功率點,減少功率損耗。
1.1 光伏電池工程模型
光伏電池的等效模型[6-7],根據電子學理論,光伏電池的等效電路如圖1所示。
根據圖1,忽略結電容Cj,可以得到光伏電池的I-U特性曲線方程為[8]


圖1 光伏電池等效電路
式中:IL為光電流,A;I0為反向飽和電流,A;q為電子電荷(1.6×1 019 C);K為玻耳茲曼常數(1.38× 10-23 J/K);T為絕對溫度,K;A為二極管因子;RS為串聯電阻,Ω;Rsh為并聯電阻,Ω。對電路模型簡化處理,推導得出一個方便計算最大功率的工程模型,即式(2)。

光伏陣列是由若干太陽能電池板根據負載容量大小要求,通過串并聯的方式組成較大功率的裝置。因此,光伏陣列和單個電池板之間有如下關系:

式中:V為光伏電池板的輸出電壓;I為光伏電池板的輸出電流;P為光伏電池板的輸出功率;Ns為太陽能電池板串聯數目;Np為太陽能電池板并聯數目;VN為光伏陣列的輸出電壓;IN為光伏陣列的輸出電流;PN為光伏陣列的輸出功率。
1.2 光伏陣列輸出特性曲線
采用尚德公司的光伏電池板,在標準測試下參數為:Vmp=36.4 V,Imp=5.34 A,VOC=45.3 V,ISC= 5.67 A,Pmax=196 W。光伏陣列在受到外界不同的光照條件下,其I-V和P-V輸出特性曲線如圖2、圖3所示。
由圖2和圖3看出溫度相同時,隨著光照強度的增加開路電壓幾乎不變,短路電流增加變化較大,最大功率也有所增加。
通過圖2、圖3仿真結果可以得出以下結論:太陽能電池由于光照強度等環境因素影響很大,其輸出具有明顯的非線性?;诠夥姵剌敵鎏匦跃哂蟹蔷€性和最大功率點的特點;而且最大功率點也隨著光照強度和環境溫度等因素變化,為提高能量轉換效率,在實際應用中光伏電池需采用適當的最大功率點跟蹤算法控制光伏系統,保證光伏電池總是運行在最大功率點。

圖2 不同光照強度下的I-V特性曲線

圖3 不同光照強度下的P-V特性曲線
2.1 果蠅算法在最大功率跟蹤上應用分析
果蠅算法是一種模仿果蠅覓食行為的尋優新方法,果蠅尋找食物先依靠靈敏的嗅覺判斷與食物的大致距離,再利用視覺向食物方向靠近,多個果蠅一起覓食就構成一種群體智能尋優算法[9-10]。
目前果蠅算法已經成功應用到數據挖掘技術、Z-SCORE模型系數、廣義回歸神經網絡參數優化、支持向量機參數優、最大功率分類預測和求解數學函數極值等領域[11-12]。
光伏最大功率跟蹤的過程實質就是對光伏陣列建立的目標函數進行最優值尋找的過程,即找到公式(5)的最大值。果蠅算法在尋找目標函數最優值方面具有較好的收斂性,每個果蠅個體根據自己的嗅覺先判斷出光伏最大功率點的具體位置,然后通過沿著橫坐標和縱坐標按照一定的步長飛行逐步靠近最大值,通過比較每個果蠅個體的最優值,得到果蠅種群的最優值。果蠅群體迭代搜索食物示意圖4所示。

圖4 果蠅群體迭代搜索食物示意圖
2.2 果蠅算法的步驟
1)首先對果蠅群體位置的初始化,初始化結果為initU_axis;initP_axis(U代表電壓值,P代表功率值);
2)設定電壓和功率搜索方向為隨機函數rand()產生一個[0,1]的步長,則電壓和功率的隨機搜索坐標便可以通過下面的公式獲得。

3)由于最大值位置不可知,因此需要估計光伏電壓和功率當前位置和原點之間的距離Disti,之后計算最大值判定值Si,Si等于距離Disti的倒數。

4)將各個味道濃度判定值代入味道濃度判定函數Fitness(適應值函數),并找出群體最優果蠅位置和最優值,將Si代入最大值判定函數Function中,將公式(5)帶入味道濃度判定函數,尋找出光伏陣列當前位置的最大值。

5)光伏陣列最大值由式(12)獲得。

6)保留光伏陣列當前最大值和與其對應的電壓和功率坐標,這時果蠅群體通過自身的視覺對食物源進行定位,之后飛向最大值所在的位置。

7)進入迭代尋優,重復迭代步驟2)~5),同時判斷最大值是否大于前一迭代局部最大值;若成立,則執行步驟6)。
從以上步驟可發現果蠅優化算法只需設定種群規模群、搜索半徑和種群繁衍代數,其參數設定方便,算法結構簡單,易于編程實現。
2.3 改進的果蠅優化算法
由步驟2)中的公式(7)和公式(8)可以明顯看出,橫縱坐標的初始位置是一個隨機分布函數,搜索范圍很大,經過公式(9)和公式(10)將味道濃度判定值Si變得很小;這時將味道濃度作為判定函數,找到最優值很慢,因此在橫縱坐標迭代區間進行縮小,將電壓和功率值分別歸一化為無量綱的數值,將其范圍歸一化到(0,1)區間,即將上述的步驟3)中由Ui和Pi計算得到Si的自變量進行歸一化,即

式中:VOC為光伏開路電壓;Pmp為光伏給出的額定功率。
將式(16)、式(17)的電壓和功率新坐標重新帶入式(9)、式(10)得到新的Di1和Si1再帶入步驟4)式(11)中的判定函數Function中重新計算。
當迭代結束,找到最大功率值時進行反歸一化,將電壓和功率坐標值反歸一化為真實值。將步驟6)式(14)、式(15)中的電壓和功率坐標進行改寫為

依照這個思路,使得果蠅算法得到優化。在精度不減小的條件下,為了進一步加快搜索范圍,優化的果蠅算法采用變步長進行搜索迭代。在迭代過程中采用新的坐標

圖5 軟件流程圖

將得出的果蠅每個個體最優值進行比較,得出最大值,設定一個誤差值Eerror,當最大值與理論值差值的絕對值小于Eerror時,即│Smellbest-Pmax│<Eerror并且到達最大迭代次數,則停止迭代。
具體詳細流程圖參考圖5。
在光伏電池溫度T=25℃、輻射強度R=1 000 W/m2的情況下對果蠅優化方法和PSO進行仿真實驗。仿真結果如圖6所示。

圖6 3種算法仿真結果對比
通過仿真驗證,從圖6中得出改進的果蠅優化算法在跟蹤速度方面比PSO具有明顯優勢。該算法原理簡單,實現起來方便,在尋找光伏陣列最大值上收斂速度特別快。具體表現在以下4個方面:
1)種群規模:果蠅優化算法的種群規模為20,PSO的種群規模30,改進的果蠅優化算法種群規模僅為10。
2)計算量:在同樣的迭代次數下,改進的果蠅優化算法跟蹤到最大功率點的種群規模少,需要設定的參數少,PSO需要設置PopSize(種群規模)、MaxIt(迭代次數)、iter=0(標志位)、maxw(最大慣性權值)、minw(最小慣性權值)、w(每一步慣性權值)、interdec(每一步慣性權值變化量)、popul(位置參數)、vel(速度參數)、c1(速度方向迭代計算系數)、c2(速度方向迭代計算系數)等參數。而改進的果蠅優化算法只需要PopSize(種群規模)、MaxIt (迭代次數)、InitX_axis和InitY_axis(初始位置和方向參數);兩者相比較,改進的果蠅優化算法在參數設置方面節省程序空間,程序運行需要的時間快。
3)快速性:果蠅優化算法和PSO算法需要迭代5次才能跟蹤上,而改進的果蠅優化算法第2次就能跟蹤上。
4)精確度:光伏最大功率值的理論值是196 W,果蠅優化算法得到的數值為195.987 W,比PSO的精確度要高。
具體對比結果如表1所示。

表1 算法運行結果對比
該算法還存在一定的缺點:由于光伏最大值判定取值為距離的倒數,它限定了變量的取值為正,同時限制了它的使用范圍;并且收斂容易陷入局部最大值,穩定性也有待進一步研究。
改進:針對陷入局部極值問題可以采用和其他智能算法或者數學方法結合,擴大收斂范圍。
[1]高志強,王建賾,紀延超,等.一種快速的光伏最大功率點跟蹤方法[J].電力系統保護與控制,2012,40 (8):105-109.
[2]賴東升,楊蘋.一種應用于光伏發電MPPT的變步長電導增量法[J].電力電子技術,2012,46(3):40-42.
[3]潘文超.果蠅最佳演化算法一最新演化式計算技術[M].臺灣:滄海書局,2011.
[4]潘文超.應用果蠅優化算法優化廣義回歸神經網絡進行企業經營績效評估[J].太原理工大學學報,2011,29(4):1-5.
[5]陳劍,趙爭鳴,袁立強.等.光伏系統最大功率點跟蹤技術的比較[J].清華大學學報(自然科學版),2010,50(5):700-704.
[6]蘇建徽,余世杰,趙為,等.硅太陽電池工程用數學模型[J].太陽能學報,2001,22(4):409-412.
[7]茆美琴,余世杰,蘇建徽.帶有MPPT功能的光伏陣列Matlab通用仿真模型[J].系統仿真學報,2005,17 (5):1248-1251.
[8]萬曉鳳,張燕飛,余運俊,等.光伏電池工程數學模型的比較研究[J].計算機仿真,2014,31(3):113-117.
[9]韓俊英,劉成忠.自適應混沌果蠅優化算法[J].計算機應用,2013,33(5):1313-1316.
[10]張勇,夏樹發,唐東生,等.果蠅優化算法對多峰函數求解性能的仿真研究[J].暨南大學學報,2014,35 (1):82-87.
[11]雷秀娟,史忠科,周亦鵬.PSO優化算法演變及其融合策略[J].計算機工程與應用,2007,43(7):90-93.
[12]靳其兵,趙振興,蘇曉靜,等.基于粒子健康度的快速收斂粒子群優化算法[J].化工學報,2011,62(8):
2328-2333 .
王素寧(1990),碩士研究生,主要研究方向為光伏發電技術;
潘三博(1974),副教授,碩士生導師,主要研究可再生能源光伏發電及儲能技術、高效率電力電子變換器、諧振逆變器等方面;
楊青斌(1988),助理工程師,主要研究方向為新能源發電及其并網檢測;
林成棟(1991),碩士研究生,主要研究方向為光伏逆變器設計。
Under different sun light and temperature of the external environment,the I-V and P-V output characteristic curves of photovoltaic(PV)array are nonlinear.In order to improve the efficiency of photovoltaic power generation system,it is important to track the maximum power point quickly and accurately.Fruit fly algorithm is a kind of new algorithm to solve the extremum of function,it has a quick and accurate convergence speed,therefore,a kind of improved fruit fly algorithm for photovoltaic maximum power point tracking is proposed based on the established mathematical model of PV array.Through the simulation with Matlab,the quickness and accuracy of the proposed algorithm are verified by comparing tracking performance with particle swarm optimization algorithm.
PV array;MPPT;Matlab simulation;improved fruit fly optimization algorithm
TM615
A
1003-6954(2015)06-0001-04
2015-08-26)
上海市教委科研創新基金(14YZ160);上海電機學院科研項目(12C107)