商立群,李 帆
基于自適應(yīng)布谷鳥搜索和擾動(dòng)觀察法的光伏最大功率點(diǎn)跟蹤
商立群,李 帆
(西安科技大學(xué)電氣與控制工程學(xué)院,陜西 西安 710054)
當(dāng)光伏陣列板暴露在不均勻的光線下時(shí),功率電壓(-)特性曲線會(huì)變?yōu)槎喾?,在這種情況下,傳統(tǒng)的最大功率點(diǎn)跟蹤(MPPT)算法將無法跟蹤到正確的全局最大功率點(diǎn)(GMPP),而具有全局搜索能力的人工智能算法通常是高度參數(shù)化和復(fù)雜的。為了解決上述問題,提出了一種結(jié)合自適應(yīng)布谷鳥搜索算法和擾動(dòng)觀察方法(ACS-P&O)的復(fù)合跟蹤算法。該方法將布谷鳥搜索(CS)算法中的切換概率和Lévy飛行步長系數(shù)通過自適應(yīng)調(diào)整,在跟蹤早期,擴(kuò)大算法的搜索范圍。引入邊界個(gè)體的處理策略,可進(jìn)一步減少算法的迭代次數(shù)。該算法使系統(tǒng)更容易跳出局部最大功率點(diǎn)(LMPP),而在跟蹤后期,算法精確運(yùn)行在小范圍內(nèi),提高了局部開發(fā)能力。擾動(dòng)觀察法(P&O)的加入緩解了系統(tǒng)位于GMPP附近時(shí)的功率振蕩,穩(wěn)定了輸出。仿真結(jié)果表明,ACS-P&O復(fù)合算法能夠適應(yīng)環(huán)境變化的影響,并快速準(zhǔn)確地跟蹤GMPP。
光伏;MPPT;自適應(yīng)布谷鳥搜索算法;擾動(dòng)觀察法;Lévy飛行;邊界個(gè)體
為防止環(huán)境惡化,響應(yīng)國家“碳中和”可持續(xù)性戰(zhàn)略目標(biāo),尋找替代性新能源成為當(dāng)今社會(huì)的熱點(diǎn)話題[1-3]。光伏能源在眾多新能源中分布較廣,清潔、高效、易獲取,所以受到了廣泛的關(guān)注。然而,光伏系統(tǒng)的能量轉(zhuǎn)換率較低,輸出通常具有非線性的特點(diǎn)。為了最大限度地利用光伏陣列輸出的能量,使用最大功率跟蹤技術(shù)(Maximum Power Tracking technology, MPPT)來減少有效功率的損失[4-6]。在目前的研究中,MPPT方法研究主要分為兩類:傳統(tǒng)算法和具有全局性的元啟發(fā)算法。傳統(tǒng)算法通常用于尋找光照條件均勻時(shí)光伏陣列輸出特性曲線的單一峰值,如恒定電壓法、擾動(dòng)觀察法(P&O)和增量電導(dǎo)法(Incremental Conductance, INC)[7-10]。恒定電壓法的輸出只是一個(gè)近似值,取決于原始電路的性能,所以通常與其他算法結(jié)合使用,以找到最佳解決方案。P&O法和INC法的控制邏輯簡單,易于在工程實(shí)踐中應(yīng)用,但固定的步長不能適應(yīng)環(huán)境的巨大變化。當(dāng)光伏系統(tǒng)因云層、飛鳥等物體發(fā)生部分遮擋后,在部分遮擋條件(Partial Shading Conditions, PSC)下運(yùn)行時(shí),輸出功率-電壓曲線由單峰變?yōu)槎喾?,傳統(tǒng)算法因無法跳出局部最大功率點(diǎn)(LMPP)而損失大量能量。
尋找多峰曲線對(duì)應(yīng)的全局最大功率點(diǎn)(Global Maximum Power Point, GMPP)是目前國內(nèi)外的研究熱點(diǎn)[11-13]。常用的元啟發(fā)算法有粒子群算法[14]、鯨魚優(yōu)化算法[15]、差分進(jìn)化算法[16]、人工蜂群算法[17]等。文獻(xiàn)[18]提出了一種結(jié)合粒子群和P&O的混合算法,根據(jù)電流、電壓和功率的變化規(guī)律來確定PSC,只在PSC發(fā)生時(shí)使用PSO算法,在遮陰結(jié)束后使用P&O來跟蹤系統(tǒng),提高系統(tǒng)運(yùn)行效率。文獻(xiàn)[19]提出了一種跟蹤GMPP的并行組合進(jìn)化算法,首先使用遺傳算法和差分進(jìn)化算法分別在平行空間進(jìn)行搜索,然后使用PSO在兩個(gè)子種群中選擇優(yōu)勢(shì)種群再繼續(xù)更新。文獻(xiàn)[20]將灰狼優(yōu)化算法與P&O結(jié)合,可減少灰狼優(yōu)化算法在-曲線上的搜索范圍,使系統(tǒng)更快地收斂。文獻(xiàn)[21]提出一種改進(jìn)羊群算法,通過在原始算法的基礎(chǔ)上加入反向種群及自適應(yīng)策略來擴(kuò)大算法的全局搜索性能,避免陷入局部最優(yōu)。文獻(xiàn)[22]提出了一種免疫螢火蟲算法,通過免疫補(bǔ)充環(huán)節(jié)將較弱個(gè)體去除,可有效地提高算法收斂時(shí)間。
CS算法[23-24]是Yang和Deb在觀察了布谷鳥群尋找其巢穴和繁殖的獨(dú)特方式后于2009年提出的一種生物啟發(fā)式算法。與其他優(yōu)化算法相比,CS算法的初始化參數(shù)少,簡單高效,運(yùn)行速度快,所以非常適用于尋找光伏陣列的最大功率點(diǎn)。文獻(xiàn)[25]提出了一種確定性CS算法,為克服CS算法的隨機(jī)性問題,將原有計(jì)算方程中的隨機(jī)數(shù)刪去,使整個(gè)算法流程的結(jié)構(gòu)參數(shù)更易調(diào)整。文獻(xiàn)[26]將CS算法與黃金分割搜索(Golden Section Search, GSS)算法相結(jié)合,依靠CS算法的全局性首先定位在GMPP區(qū)域,然后切換到GSS算法繼續(xù)跟蹤。CS算法做為元啟發(fā)算法會(huì)因其固有屬性導(dǎo)致后期收斂精度較差,在運(yùn)行前期也有陷入最優(yōu)的可能性,因此本文首先對(duì)傳統(tǒng)的CS算法進(jìn)行改進(jìn),使其切換概率和步長系數(shù)具有自適應(yīng)性,還增添了飛躍邊界個(gè)體的處理?xiàng)l件,使算法在跟蹤初期能夠加速收斂,順利跳出LMPP,當(dāng)自適應(yīng)布谷鳥搜索算法(Adaptive Cuckoo Search Algorithm, ACS)跟蹤到GMPP附近時(shí),算法切換到小步長的P&O繼續(xù)跟蹤,這樣可以保證在跟蹤后期功率振蕩處于最小振幅狀態(tài)。
光伏電池的單二極管等效模型如圖1所示[27]。
圖1 光伏電池單二極管模型
在圖1中,應(yīng)用KVL可以得到光伏電池輸出電流的表達(dá)式。
式中:是光伏電池的輸出電流;ph是光生電流;d是二極管的反向飽和電流;是光伏電池的輸出電壓;s是串聯(lián)等效電阻;p是并聯(lián)等效電阻;是二極管的理想系數(shù);T是熱電壓;s和p分別是串聯(lián)和并聯(lián)在光伏陣列中的單個(gè)電池?cái)?shù)量。其中二極管的光生電流值和反向飽和電流值可以從式(2)和式(3)中得到。
式中:SC_STC和OC_STC分別是光伏陣列在標(biāo)準(zhǔn)環(huán)境下(= 25℃,= 1 000 W/m2)對(duì)應(yīng)的短路電流和開路電壓;和分別是電流和電壓的溫度系數(shù);是光伏板接收的輻照度;STC是標(biāo)準(zhǔn)條件下的輻照度。
光伏電池的熱電壓可以用式(4)表示。
式中:是玻爾茲曼常數(shù),其值通常為1.38×10-23J/K;是絕對(duì)溫度;值為1.6×1019C。
光伏系統(tǒng)的輸出特性通常是非線性的。在光伏系統(tǒng)的運(yùn)行中,為了避免功率不匹配造成的“熱斑效應(yīng)”,通常會(huì)將一個(gè)旁路二極管與光伏電池并聯(lián)起來。當(dāng)系統(tǒng)處于PSC狀態(tài)時(shí),處于陰影部分的光伏電池元件并聯(lián)的旁路二極管會(huì)導(dǎo)通,輸出特性因此從單峰變?yōu)槎喾?,模塊中的電流大小與接收的輻照度成正比。圖2顯示了當(dāng)光照條件均勻和發(fā)生部分遮擋時(shí),系統(tǒng)的功率-電壓曲線的變化??梢宰⒁獾?,當(dāng)遮陽發(fā)生時(shí),曲線發(fā)生了變化,三個(gè)峰值中的兩個(gè)是LMPP,GMPP是唯一存在的。
圖2 均勻光照和部分陰影下的光伏串和P-V特性曲線
布谷鳥種群在繁殖時(shí)不建造自己的巢穴,而是將卵產(chǎn)在其他宿主鳥建造的巢里,由宿主鳥代替孵化。然而,如果宿主鳥發(fā)現(xiàn)卵是外來的,它將放棄這些卵或重新建造一個(gè)新的巢。為了便于建模,提出了以下三個(gè)理想規(guī)則。
(1) 布谷鳥在繁殖時(shí)隨機(jī)找到一個(gè)寄生巢穴后只產(chǎn)一個(gè)卵。
(2) 具有最佳質(zhì)量卵(最佳適應(yīng)度值)的寄生巢穴被保留到下一代。
(3) 可選擇的寄生巢穴的數(shù)量是固定的,宿主鳥將有a(0≤a≤1)的概率發(fā)現(xiàn)該卵為外來卵。
為了獲得最佳的寄生巢穴,CS算法需要不斷地更新位置,然后進(jìn)行比較,在多次迭代過程中找到對(duì)應(yīng)于最佳適配度的解決方案。CS算法有兩種更新位置的方式:偏好局部隨機(jī)游動(dòng)與全局Lévy飛行。在布谷鳥把卵放在寄生巢穴中后,宿主鳥有一個(gè)發(fā)現(xiàn)卵的概率a,每個(gè)巢對(duì)應(yīng)一個(gè)隨機(jī)數(shù)r,如果r>a,則寄生巢穴被宿主發(fā)現(xiàn)并丟棄,此時(shí)需要用偏好局部隨機(jī)游動(dòng)更新巢穴的位置,更新公式為
全局Lévy飛行的更新公式為
1) 自適應(yīng)切換概率
在CS算法中,只有當(dāng)r>a時(shí),偏好隨機(jī)游動(dòng)位置更新方法才會(huì)被激活,而原算法通常對(duì)a取固定值0.25,這使得算法在整個(gè)迭代期中,偏好隨機(jī)游動(dòng)出現(xiàn)的概率相同。為了更準(zhǔn)確地找到全局峰值,算法在迭代初期需要有良好的全局探索能力,以便跳出LMPP,而在算法運(yùn)行的后期需要提高局部開發(fā)能力,使系統(tǒng)運(yùn)行更加穩(wěn)定。根據(jù)這一要求,本文提出了自適應(yīng)切換概率a。在算法運(yùn)行初期,較小的a值可以增加偏好隨機(jī)游動(dòng)的發(fā)生概率,使搜索范圍增大;在算法運(yùn)行后期,較小的a可以通過縮小搜索范圍來提高精度,加速收斂。自適應(yīng)切換概率的建議公式為
式中:為當(dāng)前迭代次數(shù);為最大迭代次數(shù)。a的變化區(qū)間為0.2~0.54,可以適應(yīng)算法在搜索過程中的探索和開發(fā)需要。
2) Lévy飛行的自適應(yīng)步長系數(shù)
從式(6)中可以看出,當(dāng)布谷鳥通過Lévy飛行尋找寄生巢時(shí),步長系數(shù)可以影響算法的搜索范圍。當(dāng)步長值較大時(shí),尋找鳥巢的范圍可以增加,使算法更容易跳出局部最優(yōu)。當(dāng)值較小時(shí),可產(chǎn)生的寄生巢的范圍會(huì)減少,算法可以在小范圍內(nèi)更快地找到最優(yōu)解。在原來的CS算法中,通常以固定值的形式存在,這就不能平衡算法在早期階段的探索和后期開發(fā)的需要。本文提出了Lévy飛行的自適應(yīng)步長系數(shù),以提高全局優(yōu)化求解的能力。改動(dòng)公式為
本文提出的自適應(yīng)步長系數(shù)從1到0.6非線性遞減,使算法在運(yùn)行初期有較大的搜索空間,防止在局部最優(yōu)處收斂,并在算法后期減少可搜索空間,有效提高運(yùn)行精度。
3) 邊界個(gè)體的處理
在原始CS算法中,當(dāng)檢測(cè)到布谷鳥飛離系統(tǒng)設(shè)定邊界值時(shí),會(huì)令飛離的個(gè)體停留在邊界值處。盡管此方法可在一定程度上限制搜索范圍的無限擴(kuò)大,但停留在邊界的個(gè)體到達(dá)最優(yōu)解處仍需要進(jìn)行多次的迭代,本文為提高收斂速度,增強(qiáng)算法的全局性能重新設(shè)定了邊界處理?xiàng)l件:當(dāng)有個(gè)體值大于系統(tǒng)的搜索空間上界,或小于系統(tǒng)的搜索空間下界,則令其返回目前迭代最優(yōu)值與邊界值中間的隨機(jī)位置,新的搜索路徑使個(gè)體更易接近最優(yōu)值處,也有助于算法的全局尋優(yōu)能力,其公式可表示為
式中,與均表示為[0,1]中可能出現(xiàn)的隨機(jī)數(shù)。
生物啟發(fā)式算法因自身特點(diǎn)問題會(huì)存在很強(qiáng)的隨機(jī)性,為了驗(yàn)證改進(jìn)算法針對(duì)多種情況均有良好的適用性,選取4個(gè)國際通用的基準(zhǔn)測(cè)試函數(shù)來對(duì)CS算法與ACS算法進(jìn)行對(duì)比測(cè)試,基準(zhǔn)函數(shù)的基本信息如表1所示。將函數(shù)的維度設(shè)置為30,種群數(shù)為100,最大迭代次數(shù)設(shè)置了400次,圖3中列出了在算法運(yùn)行20次后目標(biāo)值的箱線圖。
表1 基準(zhǔn)測(cè)試函數(shù)
圖3 算法測(cè)試箱線圖
由圖3可以看出,CS算法在對(duì)基準(zhǔn)函數(shù)進(jìn)行跟蹤時(shí)目標(biāo)值的波動(dòng)范圍較大,表現(xiàn)出較強(qiáng)的隨機(jī)性。在跟蹤Generalized函數(shù)時(shí),明顯停留在局部最優(yōu)值處,全局搜索性能較差。ACS算法在應(yīng)對(duì)不同的基準(zhǔn)函數(shù)所求目標(biāo)值均可達(dá)到其理論最優(yōu)值,無陷入局部最優(yōu)的現(xiàn)象,且所得目標(biāo)值的范圍相對(duì)集中,穩(wěn)態(tài)性較好。綜上可以看出,ACS算法在準(zhǔn)確性與穩(wěn)定性上均優(yōu)于CS算法。
在光伏MPPT應(yīng)用中,與人工智能算法相比,小步長P&O算法在穩(wěn)態(tài)跟蹤過程中的輸出更為穩(wěn)定,因此本文采用ACS算法和P&O算法結(jié)合尋優(yōu)方式,P&O算法可以通過式(11)來更新占空比。首先利用ACS算法的全局搜索性能進(jìn)行迭代到GMPP附近,當(dāng)滿足以下兩個(gè)條件之一時(shí),將目前找到的最佳值作為P&O算法的起始占空比,在-曲線上繼續(xù)進(jìn)行精確搜索。1) 滿足設(shè)定的最大跳轉(zhuǎn)迭代次數(shù);2) 迭代更新的寄生窩點(diǎn)位置和目前發(fā)現(xiàn)的最佳窩點(diǎn)位置滿足式(12)的比較關(guān)系。
當(dāng)使用P&O算法繼續(xù)跟蹤GMPP時(shí),由于外部環(huán)境的動(dòng)態(tài)變化,-曲線可能會(huì)發(fā)生偏移,GMPP的位置可能會(huì)發(fā)生變化,如果繼續(xù)使用P&O算法,可能無法找到新的GMPP,需要重新啟動(dòng)ACS算法進(jìn)行跟蹤。本文設(shè)置了兩個(gè)算法重啟條件,當(dāng)滿足其中一個(gè)條件時(shí)重新啟動(dòng)。1)設(shè)定重啟時(shí)間為1min;2) 功率變化情況滿足式(13),采用ACS-P&O復(fù)合算法跟蹤光伏系統(tǒng)GMPP的流程圖如圖4所示。
具體步驟為
步驟1 初始化ACS算法中的參數(shù)。主要有:種群大小、跳躍迭代次數(shù)jump以及每個(gè)系數(shù)參數(shù)值的大小。
步驟2 根據(jù)采集的電流、電壓值計(jì)算適應(yīng)度值,保留計(jì)算所得的最佳適應(yīng)度值。
步驟3 判斷迭代次數(shù)是否滿足跳轉(zhuǎn)迭代數(shù)jump,若滿足則轉(zhuǎn)至步驟8。
步驟4 結(jié)合式(6)與式(9)來更新寄生巢穴的位置,若優(yōu)于上一代則保留其值。