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