周 勇
(重慶工程學院軟件學院 重慶 401320)
荷電狀態(SOC)是反映系統剩余能量的重要參數之一,SOC指電池在一定放電倍率下,剩余電量與相同條件下額定容量的比值,對電池系統的安全可靠性至關重要[1-2]。電池荷電狀態估計是電池管理系統設計中的一個重要組成部分。鋰離子電池的許多已知問題,如性能下降、加速老化,甚至危險事件,都與錯誤的荷電狀態估計有關[3-4]。不同的SOC估計算法包括:非模態方法、基于模型的觀測器(卡爾曼濾波器)、數據驅動的非線性模型(神經網絡)。然而,SOC受眾多參數影響,如電池工作狀態、環境溫度、電壓、電流、老化情況等,因此常規的包括開路電壓法、內阻法、卡爾曼濾波等線性簡化后的模型難以準確計算SOC[5-6]。隨著計算機技術、信息技術的快速發展,諸如神經網絡、支持向量機等機器學習技術在現場實踐中得到廣泛應用。
快速學習網(FLN)是一種新的改進單隱層前饋神經網絡,與傳統的單隱層前饋神經網絡(FNN)相比,FLN具有分類精度高、泛化能力強等優勢[7-8]。針對電池復雜非線性特性,FLN能夠建立準確的充放電模型。由于FLN模型性能易受到模型參數影響,本文提出采用幾何變異反學習混合蛙跳算法(MOSFLA)優化快速學習網(FLN)模型的SOC預測方法。采用MOSFLA算法調整FLN的輸入權值和隱層閾值模型參數,并構建了MOSFLA-FLN的SOC預測模型。通過對某型號電池歷史充放電參數進行仿真預測,將預測結果與SFLA-FLN、FLN相比較,MOSFLA-FLN模型的絕對誤差可降低到2.71。這表明該方法在SOC預測精度、適用性方面具有良好的性能,能有效地預測SOC值。
FLN是一種改進的前饋神經網絡。FLN與極端學習機的區別在于FLN輸出層能同時接收來自輸入層和影藏層節點傳來的信息,如圖1所示。

圖1 FLN結構圖
設有N個觀測樣本{(xi,yi)},其中第i個樣本為xi=[xi1,xi2,…,xin]T∈Rn,n為輸入節點個數;yi=[yi1,yi2,…,yil]∈Rl表示第i個樣本的l維輸出向量。具有m個隱藏層節點的FLN模型表示為:
(1)

式(1)用矩陣形式表達為:
(2)
(3)
最小二乘范數解求法可得:
(4)
(5)
FLN網絡隨機生成輸入權值和隱層閾值,通過最小二乘計算得到輸出權值矩陣。FLN算法步驟如下:
① 隨機生成輸入權值Win和隱層閾值b;
② 通過式(3)計算隱層輸出矩陣G;
③ 通過式(4)計算輸出權值矩陣W;
④ 通過式(5)將W分為Woi和Woh。
混合蛙跳算法(shuffled frog-leaping algorithm,SFLA)是一種高效的群智能優化算法,其靈感來源于青蛙覓食過程[9]。SFLA在解決高維、非線性的復雜優化問題中得到了許多研究者的關注[10-11]。SFLA算法包括局部搜索和全局信息交換,描述如下:
1) 初始化種群。隨機初始化P=m×n個青蛙,第i只青蛙位置描述如下:
xi=(xi1,xi2,…,xis)
(6)
式中:m表示子群個數;n表示每個子群中青蛙個體數量;s表示優化問題的維度。
2) 排序及子群劃分。種群中青蛙個體按適應度值降序排序,將排序好的青蛙按下式劃分為m個子群:
Yk={xj(k),fj(k)|xj(k)=x(k+m(j-1)),fj(k)=
f(k+m(j-1)),j=1,2,…,n;k=1,2,…,m}
(7)
3) 局部搜索。子群中適應度最差的青蛙記錄為xw,并按下式進行位置更新:
Di=rand(0,1)×(xb-xw)
(8)
xw(new)=xw(old)+Di
(9)
式中:Di為青蛙跳躍步長,Dmin≤Di≤Dmax;xb表示子群中最優解。式(9)更新的xw(new)適應度值若提高,則采用xw(new)替代xw(old);否則采用全局最優解xg替代式(8)中xb,重新執行式(8)和式(9),若適應度值仍沒有提高,則隨機產生一個新解替換原來的xw。
4) 全局信息交換。所有子群完成局部搜索后,將各個子群的青蛙混合在一起形成規模不變的新種群,并按式(7)執行新的子群劃分,實現個體間的全局信息交換。針對極小化優化問題f(x),適應度評價函數定義為:
(10)
為提升SFLA的性能,在標準SFLA中引入幾何中心變異策略和反學習策略,改進后算法記為MOSFLA。
2.2.1幾何中心變異策略
為了改善SFLA的收斂速度,提出了基于概率參數Cm的幾何中心變異算子(geometric centroid mutation,GCM)。根據Cm值隨機生成GCM算子,在局部搜索的每一次迭代過程中,設定Cm值,隨機產生(0, 1)之間的隨機數r,若r≤Cm則采用GCM算子計算新的青蛙位置,否則采用式(9)更新青蛙位置。GCM算子描述如下:
xw(new)=(xr1+xr2+xb)/3+Di
(11)
式中:xr1、xr2是子群中隨機選擇的2個青蛙,xb是當前最優解,(xr1+xr2+xb)/3描述了3個青蛙的幾何中心變異后的位置。
2.2.2反學習策略
SFLA既有探索,也有開發過程,包含三個階段:種群初始化、子群局部搜索和全局信息交換。然而,由于勘探能力差導致SFLA有時會陷入局部最優。為解決此問題,通過在全局信息交換中引入反學習策略(opposition-based learning, OBL)[12],增大全局最優解跳出局部最優的可能。OBL主要思路是考察候選解及其對應的相反位置以實現找到更好的解[13]。最優青蛙的反向位置通過下式計算:
(12)

MOSFLA步驟描述如算法1所示。
算法1MOSFLA
參數初始化:青蛙種群規模(sizepop)、維數(s)、最大迭代次數(Tmax)、當前迭代次數(t)、m、n、概率參數Cm、隨機數r、子群迭代次數(Tsub)等
初始化P=m×n個青蛙個體
t=0;
j=0;
//子群迭代次數
k=0;
//子群計算器
While(t<=Tmax)
F=FitnessFunction(xi),保存適應度值數組F;
F=sort(M),保存全局最優解xg;
按式(7)將P個青蛙劃分成m個子群;
//局部搜索
For (k<=n)
For (j<=Tsub)
按式(8)計算Di;
ifr>Cm
按式(9)更新xb;
else
按式(11)更新xb;
end
j=j+1;
end
k=k+1;
end
//全局信息交換
更新全局最優解xg;
計算適應度值,更新xg;
t=t+1;
End
輸出最優解xg。
FLN在缺乏先驗經驗情況下隨機生成輸入權值和隱層閾值,易造成FLN的預測性能降低。為了改善FLN模型性能,采用MOSFLA算法優化FLN模型參數,將最優模型參數代入模型構建最優MOSFLA-FLN模型。MOSFLA優化FLN模型參數的流程圖如圖2所示。

圖2 MOSFLA優化FLM模型流程圖
鋰電池工作過程中,SOC隨著電池電壓、電流、溫度等因素變化而呈現復雜非線性關系。采用MOSFLA-FLN模型對SOC進行短期預測。恒溫條件下采集某型號電池40組SOC相關數據,隨機選擇30組數據用來訓練MOSFLA-FLN模型,剩下10組數據作為測試集用來驗證模型的泛化能力,部分數據如表1所示。

表1 SOC樣本
系統仿真平臺為英特爾酷睿i5-8300H CPU、8 GB內存;軟件平臺為Windows 7 64位系統、MATLAB 2014a。采用trainFLN函數進行模型訓練、采用MOSFLA進行FLN模型的參數優化、采用simFLN函數進行模型預測。針對訓練集,圖3給出了MOSFLA-FLN模型SOC預測結果;針對測試集,圖4-圖6分別給出了MOSFLA-FLN、SFLA-FLN、FLN模型的SOC預測結果;表2給出了三種模型的預測性能數據。

圖3 MOSFLA-FLN針對訓練集預測結果

圖4 MOSFLA-FLN預測結果

圖5 SFLA-FLN預測結果

圖6 FLN預測結果

表2 三種模型預測性能
MOSFLA算法利用30組訓練樣本訓練FLN模型,并利用得到的最優模型參數對30組樣本進行預測。從圖3可以看出,MOSFLA-FLN模型預測結果幾乎與SOC真實值完全重合,表明該模型具有良好的預測性能。
為了驗證MOSFLA-FLN模型的泛化性能,采用表1中10組測試樣本進行SOC預測實驗。此外,利用SFLA-FLN、FLN分別對SOC進行預測,對比預測結果以分析模型性能。對比圖4-圖6,可以發現3種模型的預測曲線預測結果的趨勢與SOC真實值幾乎一致,表明FLN模型能夠預測復雜非線性的SOC值。然而,從圖4可以看出,MOSFLA-FLN預測結果幾乎與SOC真實值完成重合;圖6顯示預測結果與真實值之間存在較大誤差;圖5顯示經過SFLA優化后的FLN模型預測效果較圖6有了明顯改善,但仍然存在一定誤差。從表2給出的3種模型預測性能數據中可以看出,MOSFLA-FLN模型的最大絕對誤差(AE)為2.71、最大相對誤差(RE)為16.36%;SFLA-FLN對應的最大誤差分別為5.29和58.09%;FLN對應的最大誤差分別為12.90和113.12%,可以看出MOSFLA-FLN模型性能指標最小,進而證明改進的SFLA算法的有效性。
為了準確預測鋰電池SOC值,提出了MOSFLA算法優化FLN模型的SOC短期預測方法。首先,采用幾何中心變異策略和反學習策略對SFLA算分進行改進以提升算法的全局優化能力。然后利用改進后的SFLA算法預先選擇FLN的輸入權值和隱層閾值模型參數,并構建MOSFLA-FLN模型。根據強相關原則,選擇電池電壓、電流為輸入參數,SOC值為輸出參數,建立SOC預測模型,避免電池內部復雜的非線性關系和數學解析過程。最后通過仿真實驗測試MOSFLA-FLN模型的預測性能,結果顯示:MOSFLA-FLN模型的SOC預測絕對誤差低于2.71,相對SFLA-FLN和FLN模型,泛化能力最優,從而驗證了MOSFLA-FLN模型的合理性和實用性。