林國營,宋強(qiáng),潘峰,肖廈穎,李開成,王凌云
(1.廣東電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,廣州 510000; 2.華中科技大學(xué) 電氣與電子工程學(xué)院 強(qiáng)電磁工程與新技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,武漢 430074)
電磁式互感器多使用非線性鐵磁材料制作。為了開展仿真平臺下的電磁式互感器特性研究,使仿真效果盡可能地接近實(shí)際情況,需要對試驗(yàn)互感器搭建精確的鐵芯磁滯模型。描述磁滯現(xiàn)象的理論模型有Lucas、Jiles-Atherton模型(下文均簡稱為J-A模型)等。其中J-A模型因其控制參數(shù)較少而被廣泛應(yīng)用在鐵磁材料的磁滯建模與仿真中。J-A模型各方程與參量均具有明確的物理意義,可以準(zhǔn)確描述鐵芯磁滯回線的非線性關(guān)系。通過求解J-A模型的微分方程組便能夠得到與真實(shí)情況擬合度較高的B-H曲線,從而實(shí)現(xiàn)互感器的精確建模。
在難以直接獲取方程參數(shù)的場合中經(jīng)常需要使用數(shù)學(xué)方法對參數(shù)進(jìn)行辨識,即通過求解最優(yōu)擬合參數(shù)來逼近理論參數(shù)。若求解結(jié)果的誤差足夠小,則認(rèn)為擬合參數(shù)已經(jīng)精確到可以取代理論參數(shù)[1]。J-A磁滯模型的參數(shù)雖具有實(shí)際意義,卻難以通過實(shí)測直接得到,所以要對其進(jìn)行準(zhǔn)確可靠的參數(shù)辨識。
目前應(yīng)用于J-A模型參數(shù)辨識的常用算法主要是一些基于仿生學(xué)的智能優(yōu)化算法,如遺傳算法、粒子群算法、模擬退火算法等,但是對于處理復(fù)雜的優(yōu)化問題,單一的智能尋優(yōu)方法往往存在顯著缺陷,不利于獲取精確的全局最優(yōu)解,如模擬退火算法對初始溫度、溫度衰減系數(shù)等參數(shù)設(shè)置較為敏感,且搜索后期收斂速度較慢。
近年來,大多數(shù)文獻(xiàn)采用多種算法相結(jié)合的方式來尋找J-A模型的最佳參數(shù)組合。文獻(xiàn)[2]使用了粒子群算法(PSO)結(jié)合Simulink動態(tài)仿真的方法來擬合J-A磁滯回線模型,并獲取相關(guān)參數(shù)。該方法雖表現(xiàn)出較好的魯棒性和收斂性,但是算法復(fù)雜度較高,運(yùn)行時間較長。文獻(xiàn)[3-4]采用神經(jīng)網(wǎng)絡(luò)和遺傳算法相結(jié)合的方法,先使用神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練尋優(yōu)函數(shù),再通過遺傳算法進(jìn)行極值尋優(yōu),相比單優(yōu)化算法達(dá)到了較高的擬合精度,但也導(dǎo)致了算法時效性不足。文獻(xiàn)[5]提出了一種結(jié)合混沌優(yōu)化、遺傳算法和模擬退火算法的混合優(yōu)化方法,犧牲算法簡便性以獲取較快的收斂速度。文獻(xiàn)[6]采用模糊控制方法獲取動態(tài)反饋系數(shù)進(jìn)行蛙跳算法步長修正,減小了原本蛙跳算法的隨機(jī)性且具有一定的自適應(yīng)能力,但對整體收斂品質(zhì)提升不高。
使用一種基于變步長人工魚群和并行模擬退火算法的改進(jìn)混合算法進(jìn)行電磁式電流互感器鐵芯J-A模型的關(guān)鍵參數(shù)辨識。人工魚群算法是一種通過模擬魚群行為進(jìn)行隨機(jī)搜索的智能優(yōu)化算法,能夠快速將搜索域縮小至全局最優(yōu)解的附近,但是該算法盲目性較大,導(dǎo)致后期尋優(yōu)難以獲得更為精確的結(jié)果,同時減慢了尋優(yōu)速度。而基于Meteopolis準(zhǔn)則的模擬退火算法在搜索初期溫度較高時以較高的概率接受差解,從而不易陷入局部最優(yōu)解;在溫度較低時,允許差解的概率變低從而使搜索更為精確。本文提出的改進(jìn)混合算法,在尋優(yōu)前期利用人工魚群算法快速接近全局最優(yōu)解,并引入變步長因子減小算法的隨機(jī)性;再使用模擬退火算法在較小范圍內(nèi)進(jìn)行局部搜索,同時利用并行控制策略進(jìn)行多線程運(yùn)算。改進(jìn)混合算法解決了魚群算法效率較低以及退火算法難以大范圍搜索的問題,能有效提高J-A模型參數(shù)辨識的時效性與精確度。
互感器等效模型的準(zhǔn)確性和有效性,關(guān)鍵在于鐵芯磁滯現(xiàn)象的物理描述與數(shù)學(xué)表達(dá)[7]。目前,描述磁滯現(xiàn)象較為經(jīng)典的模型有Lucas模型和Jiles-Atherton(J-A)模型等[8-10]。其中J-A模型所需辨識的參數(shù)較少,實(shí)現(xiàn)起來較為方便,PSCAD等多款電力仿真軟件中都嵌入了基于J-A理論的互感器等值模型。該模型適用性廣且便于擴(kuò)展研究。
在J-A理論模型的基礎(chǔ)上又出現(xiàn)了多種改進(jìn)策略,不同文獻(xiàn)對于J-A理論的引用和轉(zhuǎn)述也不盡相同,采用文獻(xiàn)[7]提出的改進(jìn)J-A模型作為互感器建模仿真的基礎(chǔ)。
磁化強(qiáng)度M、磁場強(qiáng)度H與磁通密度B之間的關(guān)系為:
B=μ0(H+M)
(1)
式中μ0=4π×10-7為真空磁導(dǎo)率。
根據(jù)能量守恒原理得到能量方程式:
(2)
式中He表示有效磁場強(qiáng)度;α為表征磁疇內(nèi)部耦合的平均場參數(shù);Man為無磁滯磁化強(qiáng)度,即理想材料的磁化強(qiáng)度;Mirr表示M中的不可逆磁化分量;Mrev表示M中的可逆磁化分量。He、Man、Mirr和Mrev的表達(dá)式如下:
He=H+αM
(3)
(4)
M=Mirr+Mrev
(5)
Mrev=c(Man-Mirr)
(6)
再由式(5)和式(6)得到:
Mirr=(M-cMan)/(1-c)
(7)
將式(3)~式(7)帶入能量守恒式(2),可得:
(8)
式中δ是一個符號函數(shù),當(dāng)dH/dt>0時,δ=1, dH/dt<0時,δ=-1。
為了消除J-A的非物理解,對式(8)進(jìn)行修正,修正后的J-A模型方程為:
(9)
(10)
(11)
上述公式中修正系數(shù)β通常取0.96。Ms、a、α、c、k為J-A模型中待求的5個未知參數(shù),都具有明確的物理意義:Ms代表飽和磁化強(qiáng)度,a為朗之萬函數(shù)參數(shù);α為磁疇內(nèi)部耦合的平均場參數(shù);c為可逆磁化系數(shù);k為損耗系數(shù)。因此,對于每種鐵磁材料,其參數(shù)是確定的,且能準(zhǔn)確反應(yīng)該材料的磁化特性。
由上一節(jié)描述可知,互感器J-A模型參數(shù)辨識問題可以看作一個計算量非常龐大的非線性方程組求解問題,群體智能優(yōu)化算法因其在大數(shù)據(jù)環(huán)境下良好的計算能力而常被應(yīng)用于解決此類問題。
人工魚群算法(Artificial Fish Swarm Algorithm, AFSA)思路來自于自然界魚群總是朝向食物濃度高的地方移動這一特征[8],將計算模型的目標(biāo)函數(shù)作為搜索目標(biāo),模擬魚群的行為方式,在一定范圍的搜索域中尋找最佳目標(biāo)及其對應(yīng)的控制變量參數(shù)。相比于其他的智能尋優(yōu)算法,AFSA只將尋優(yōu)目標(biāo)值作為唯一辨識條件,對約束范圍的依賴性小,且對初值與參數(shù)設(shè)定不敏感,適應(yīng)性廣[9];引入變步長因子的AFSA,其移動步長根據(jù)條件靈活應(yīng)變,具有自適應(yīng)能力,整體收斂速度較快。
將計算模型的關(guān)鍵參數(shù)作為人工魚的位置坐標(biāo),若存在k個模型參數(shù),那么在共有N條人工魚的魚群中,第i條人工魚位置Xi=(x1i,x2i,…,xki),其中xki為第k個參數(shù)的取值。將這些參數(shù)帶入計算模型和目標(biāo)函數(shù)中得到因變量Yi作為該位置的食物量(即尋優(yōu)目標(biāo)),每次迭代通過模擬各種魚群行為來更新人工魚的位置,使得魚群朝向食物量最大的區(qū)域聚集[10]。以求極大值問題為例,AFSA三種典型的人工魚行為描述如下:
(1)覓食行為。人工魚當(dāng)下位置為Xi,在其感知范圍內(nèi)隨機(jī)另選位置Xj,比較這兩個位置的食物量Yi和Yj,若Yj>Yi,則向Xj方位前進(jìn)一步。否則重新選擇位置Xj,若反復(fù)試驗(yàn)一定次數(shù)后Yj仍不能超出Yi,則判定其不滿足前進(jìn)條件,人工魚隨機(jī)移動一步;
(2)聚群行為。設(shè)第i條人工魚Xi當(dāng)前可視范圍內(nèi)的伙伴數(shù)量及中心位置分別為nf和Xc,當(dāng)Yc/nf>δYi(δ為擁擠度)時,表示伙伴中心的食物密度較高,則Xi朝該方位移動一步,否則執(zhí)行覓食行為;
(3)追尾行為。類似于聚群行為,記當(dāng)前可視范圍的伙伴中Xj的食物量Yj最大,如果Yj/nf>δYi,表明伙伴Xj所處位置具有較多食物,則Xi朝該方位移動一步,否則執(zhí)行覓食行為。
雖然AFSA前期能較快收斂,縮小搜索域的約束范圍,但其在小范圍內(nèi)的精確檢索卻較為緩慢,無法快速獲取高精度要求下的最優(yōu)目標(biāo)值[11]。這一缺陷在處理復(fù)雜優(yōu)化問題時表現(xiàn)的尤為明顯。該算法一旦進(jìn)入到目標(biāo)值更迭不明顯的搜索域時,AFSA的收斂速度大幅減慢,難以逼近全局最優(yōu)解。總的來說,AFSA后期較差的搜索性能抑制了算法的總體尋優(yōu)能力,搜索至一定精度后難以得到進(jìn)一步優(yōu)化,極大地減慢了運(yùn)算速度,嚴(yán)重影響其搜索質(zhì)量和效率[12-13]。
模擬退火(Simulated Annealing,SA)算法最早是由Metropolis等提出,后來逐漸發(fā)展成一種迭代自適應(yīng)啟發(fā)式概率性搜索算法[14]。該算法具有較高的魯棒性且局部搜索能力強(qiáng)。為了使J-A模型參數(shù)辨識更加精確,盡可能地縮小全局誤差,文中在人工魚群算法的基礎(chǔ)上引入模擬退火算法,使混合算法在前期使用AFSA進(jìn)行快速收斂,后期利用SA進(jìn)行局部搜索,進(jìn)一步精確尋優(yōu)。
SA在Metropolis準(zhǔn)則的基礎(chǔ)上判定是否接受搜尋優(yōu)過程中的產(chǎn)生的新解。假設(shè)計算模型的目標(biāo)函數(shù)為f(x),自變量為x。當(dāng)溫度為T時,若當(dāng)前解為x1,不同于x1的一個新解為x2,其目標(biāo)差df=f(x1)-f(x2),則Metropolis準(zhǔn)則為:
(12)
如果df<0,則以概率1接受新解;否則以概率exp(-df/T)接受新解。
在人工魚群算法中,認(rèn)為食物量為魚群尋找的目標(biāo)函數(shù),魚群向著食物較多的方向移動。依循以上思想,將J-A模型的五個關(guān)鍵參數(shù)的取值作為人工魚的位置坐標(biāo)。目標(biāo)函數(shù)Fitness如式(14)所示。當(dāng)目標(biāo)函數(shù)達(dá)到最大時,參數(shù)辨識水平最高,即互感器J-A模型與實(shí)際測量數(shù)據(jù)的擬合度最高。
(13)
(14)
在J-A模型計算量較大的應(yīng)用環(huán)境下,尋優(yōu)算法的消耗時長具有一定的隨機(jī)性。所提出的改進(jìn)算法在搜索前期對傳統(tǒng)人工魚群算法引入變步長因子控制其隨機(jī)性,使個體選擇適合的步長移動,加快人工魚群算法在搜索前期的迭代速度;在搜索后期引入并行策略,使得模擬退火算法通過四條線程并行運(yùn)算,取得不錯的擴(kuò)展性,且可以更快收斂。改進(jìn)算法運(yùn)用于J-A模型參數(shù)辨識的主流程如圖1所示。
圖1 基于人工魚群和模擬退火算法的改進(jìn)混合算法流程圖Fig.1 Flow chart of the improved hybrid algorithm based on AFSA and SA
改進(jìn)混合算法描述如下:
(1)建立Jiles-Atherton互感器磁滯回線模型:
B=f([Ms,a,α,c,k],H)
(2)給定J-A模型參數(shù)辨識問題的約束條件,在約束條件的范圍內(nèi)隨機(jī)對Ms,a,α,c,k五個參數(shù)取值,得到n組隨機(jī)參數(shù)組合,每個隨機(jī)參數(shù)組合視為一條人工魚的位置坐標(biāo)。
(3)執(zhí)行變步長人工魚群算法,流程圖如圖2所示。
圖2 變步長人工魚群算法流程圖Fig.2 Flow chart of the variable-step artificial fish swarm algorithm
(a)初始化人工魚群:設(shè)定個體數(shù)量n、最大迭代次數(shù)maxgen、搜索前期閾值Ymax1、定步長step;將人工魚群記為{X1,X2,…,Xn},對應(yīng)目標(biāo)函數(shù)記為{Y1,Y2,…,Yn};
(b)執(zhí)行聚群行為和追尾行為,若滿足Y(X)>Yi(Xi),則改變當(dāng)前人工魚的位置坐標(biāo)Xi=Xi+rand*step*|X-Xi|,其中rand是小于1的隨機(jī)數(shù),目的是對定步長step進(jìn)行自適應(yīng)修正。取兩種行為獲取的較大目標(biāo)函數(shù)值更新Yi,人工魚隨之移動到對應(yīng)位置Xi;
(c)獲取整個魚群中最高的目標(biāo)函數(shù)Ybest=max[Yi],以及Ybest對應(yīng)的人工魚位置Xbest,即得到搜索至此的最佳J-A模型參數(shù)組合;
(d)若此時Ybest小于前期閾值Ymax1,則進(jìn)入下一次迭代,迭代次數(shù)gen=gen+1,繼續(xù)執(zhí)行(2)~(3)的迭代過程,直至Ybest>Ymax1,前期搜索結(jié)束,轉(zhuǎn)而進(jìn)入并行模擬退火算法;
(4)進(jìn)入并行模擬退火算法,流程圖如圖3所示。
圖3 并行模擬退火算法流程圖Fig.3 Flow chart of parallel simulated annealing algorithm
(a)參數(shù)初始化:初溫T0,終止溫度Tend,鏈長L,降溫速率q,最大允許誤差per_erro;
(b)主線程和分線程同時輸入初解作為模擬退火當(dāng)下溫度的初始解,初解為前期搜索獲取的最優(yōu)解,有:S1=Xbest;
(c)主線程負(fù)責(zé)記錄初始解,分線程進(jìn)入溫度迭代過程,根據(jù)Metropolis法則,進(jìn)行1次解更新,更新后的解和初始解一起比較選出當(dāng)前最優(yōu)解ybest,以及對應(yīng)的xbest和當(dāng)前誤差erro;
(d)若erro依然大于計算允許的最大誤差per_erro,則將當(dāng)前局部最優(yōu)解作為主線程和分線程下一退火溫度的初始解,令T0=q*T0,繼續(xù)迭代步驟(c),直至erro (5)若全局最優(yōu)值Ybest未達(dá)到后期閾值Ymax2,則令迭代次數(shù)gen=gen+1,繼續(xù)執(zhí)行(2)~(5),直至Ybest>Ymax2,結(jié)束搜索,對應(yīng)的參數(shù)組合[Ms,a,α,c,k]即為J-A模型參數(shù)辨識的結(jié)果。 為了驗(yàn)證上述改進(jìn)混合算法的時效性和精確性,利用Matlab工具進(jìn)行該算法下的J-A模型參數(shù)辨識。仿真計算程序由Matlab2016編譯運(yùn)行,計算機(jī)CPU型號為i7-5930K、3.5 GHz,內(nèi)存為32 GB。 文章使用的實(shí)測數(shù)據(jù)來自文獻(xiàn)[6],J-A模型的五個參數(shù)的取值范圍及理論值如表1所示。 表1 J-A模型參數(shù)范圍及理論值Tab.1 The range and theoretical values of J-A parameters 實(shí)測數(shù)據(jù)為1 000組B-H值,將H帶入式(1)、式(4)和式(6),計算對應(yīng)的B值,使得目標(biāo)函數(shù)fitness達(dá)到全局最優(yōu)解,并得到最優(yōu)解所對應(yīng)的五個參數(shù)a,c,k,α和Ms的值,即為辨識結(jié)果。 本節(jié)分別用粒子群算法、人工魚群算法、以及改進(jìn)混合算法對J-A模型進(jìn)行參數(shù)辨識。其中魚群算法及其改進(jìn)算法均設(shè)定魚群數(shù)為20只,最大迭代次數(shù)為20次。參數(shù)辨識結(jié)果對比如表2所示。 表2 參數(shù)辨識結(jié)果及計算時間對比Tab.2 Comparison of the identified J-A parameters value and computation time 改進(jìn)混合算法和魚群算法的相對理論曲線的擬合情況對比如圖4所示,可發(fā)現(xiàn)兩種方法的曲線擬合效果均較好,幾乎無可視誤差。 圖4 B-H曲線辨識結(jié)果對比Fig.4 Comparison of identified B-H curve 由表1可以看出,改進(jìn)混合算法的辨識精度最高,單一的人工魚群算法精度次之,而粒子群算法精度最低,算法耗時排序則正好相反,綜合來看,改進(jìn)混合算法可以在最短時間內(nèi)辨識出更加精確的全局最優(yōu)解,參數(shù)辨識時效性和精準(zhǔn)度均優(yōu)于其他兩種方法,尤其是與人工魚群算法相比,改進(jìn)混合算法的最優(yōu)解相對誤差減少了0.2個百分點(diǎn),僅為魚群算法相對誤差的一半。 人工魚群算法及改進(jìn)混合算法收斂速度對比如圖5所示。圖5中明顯可以看到,魚群算法在前5次迭代時目標(biāo)值優(yōu)化速度較快,但從第6次迭代開始目標(biāo)值停留在1.48附近不再繼續(xù)增加,直至達(dá)到最大迭代次數(shù),相對而言整體收斂速度較慢。而采用改進(jìn)混合算法時,在第6次迭代后跳出魚群算法的約束,轉(zhuǎn)用并行模擬退火算法進(jìn)行局部尋優(yōu),使得后期也達(dá)到了較高的收斂速度,快速收斂至第10次迭代,之后目標(biāo)值穩(wěn)定在1.475直至收斂結(jié)束,具有較優(yōu)的搜索質(zhì)量。多次使用改進(jìn)混合算法進(jìn)行參數(shù)辨識仿真實(shí)驗(yàn)可以發(fā)現(xiàn),尋優(yōu)迭代曲線基本一致,算法的隨機(jī)性降低,收斂速度較為穩(wěn)定,平均4.8次迭代即可達(dá)到前期閾值,平均11.5次可達(dá)到全局最優(yōu)解。故而可設(shè)定最大迭代次數(shù)在15次以內(nèi),改進(jìn)算法在300 s以內(nèi)即可得出互感器J-A模型參數(shù)辨識結(jié)果,準(zhǔn)確度高且搜索速度快。 圖5 優(yōu)化值進(jìn)化曲線對比Fig.5 Comparison of fitness value curves 提出了一種基于變步長人工魚群算法和并行模擬退火算法的改進(jìn)混合算法,用于互感器J-A模型的5個關(guān)鍵參數(shù)辨識問題中。改進(jìn)算法在搜索前期利用變步長人工魚群算法接近全局最優(yōu)解,搜索后期利用并行模擬退火算法進(jìn)行進(jìn)一步的局部搜索,以獲取更為準(zhǔn)確的全局最優(yōu)解及其對應(yīng)的參數(shù)辨識結(jié)果。建模仿真實(shí)驗(yàn)也驗(yàn)證了改進(jìn)算法在較少的收斂次數(shù)下能獲取更加精準(zhǔn)的全局最優(yōu)解,且計算速度不受傳統(tǒng)算法隨機(jī)性制約,穩(wěn)定性較高。相比于傳統(tǒng)的粒子群算法和人工魚群算法,在耗時較短的情況下即可將精度提高近一倍之多,有效提升了互感器J-A模型參數(shù)辨識的效率和精度。該算法可應(yīng)用于互感器特性研究的仿真實(shí)驗(yàn)中,能有效構(gòu)建更為準(zhǔn)確可靠的互感器模型,具有較高的實(shí)際應(yīng)用價值,適用性較廣。3 改進(jìn)混合算法的參數(shù)辨識及誤差對比分析
4 結(jié)束語