杜 江,袁中華
(河北工業(yè)大學(xué) 電磁場(chǎng)與電器可靠性省部共建重點(diǎn)實(shí)驗(yàn)室,天津 300130)
變壓器是應(yīng)用最為廣泛的電力設(shè)備之一,在電力系統(tǒng)中具有重要的地位,鐵心柱截面設(shè)計(jì)為其設(shè)計(jì)過(guò)程中的重要一環(huán).合理安排鐵心級(jí)數(shù)及各級(jí)尺寸,使鐵心柱更充分占用線圈內(nèi)的圓形空間,即增大鐵心柱截面積,可以達(dá)到節(jié)約生產(chǎn)材料、降低運(yùn)行損耗的目的,具有非常重要的意義.目前常用的鐵心柱截面優(yōu)化設(shè)計(jì)方法有圖解法、解析法、動(dòng)態(tài)規(guī)劃法等[1-2],但都存在設(shè)計(jì)結(jié)果粗糙、計(jì)算量大等問(wèn)題,設(shè)計(jì)效果很難讓人滿意.
混合蛙跳算法[3](shuffled frog leaping algorithm, 簡(jiǎn)稱SFLA)是結(jié)合模因算法(memetic algorithm, 簡(jiǎn)稱MA)和粒子群優(yōu)化算法(particle swarm optimization, 簡(jiǎn)稱PSO)的一種全新智能仿生算法,具有結(jié)構(gòu)簡(jiǎn)單、參數(shù)少、魯棒性強(qiáng)等優(yōu)點(diǎn),一經(jīng)提出便在計(jì)算機(jī)和工程領(lǐng)域得到廣泛應(yīng)用[4-6].然而,基本混合蛙跳算法(SFLA)只能求解無(wú)約束條件的優(yōu)化問(wèn)題,對(duì)有約束條件的優(yōu)化問(wèn)題,必須首先對(duì)約束條件進(jìn)行處理.罰函數(shù)法[7]是目前最常用的約束條件處理方法,但是,常常因?yàn)榱P因子選取不當(dāng),導(dǎo)致算法的搜索效率嚴(yán)重下降.另外,針對(duì)基本混合蛙跳算法易陷入局部最優(yōu)、收斂精度不高的缺陷,國(guó)內(nèi)外學(xué)者從不同角度進(jìn)行了改進(jìn).文獻(xiàn)[8]對(duì)算法的解向量進(jìn)行離散化并采用閾值選擇策略,增強(qiáng)了算法全局尋優(yōu)能力,提高了收斂速度;文獻(xiàn)[9]把加速因子引入子種群內(nèi)部迭代,提高了算法整體尋優(yōu)能力;文獻(xiàn)[10]將差分進(jìn)化有機(jī)地嵌入進(jìn)化過(guò)程,改善了種群的多樣性,提高了算法復(fù)雜問(wèn)題尋優(yōu)能力.筆者借鑒文獻(xiàn)[11]的約束條件處理方法,引入移動(dòng)步長(zhǎng)變異算子,自適應(yīng)調(diào)整移動(dòng)步長(zhǎng),提出一種求解約束優(yōu)化問(wèn)題的自適應(yīng)混合蛙跳算法(adaptive shuffled frog leaping algorithm for solving constrained optimization problems,簡(jiǎn)稱CASFLA),且將此改進(jìn)算法用于變壓器鐵心柱截面優(yōu)化設(shè)計(jì).
變壓器鐵心柱截面優(yōu)化設(shè)計(jì)就是在線圈內(nèi)圓直徑D和鐵心級(jí)數(shù)n一定的情況下,合理安排鐵心每級(jí)的片寬Bi和片厚Ti,使疊成后的鐵心柱截面積達(dá)到最大.顯然,級(jí)數(shù)越多,鐵心柱截面就越趨近于圓形,鐵心柱截面積就越大,線圈匝數(shù)就越少,就越節(jié)省材料;然而級(jí)數(shù)越多,鐵心疊片的種類也就越多,鐵心的制造工藝就越復(fù)雜.鐵心柱直徑與級(jí)數(shù)的對(duì)應(yīng)關(guān)系如表1所示.
表1 鐵心柱直徑與級(jí)數(shù)的對(duì)應(yīng)關(guān)系
因?yàn)殍F心柱截面積越大,越能節(jié)約材料、降低損耗,所以優(yōu)化設(shè)計(jì)的目標(biāo)函數(shù)為鐵心柱截面積S最大,即
(1)
(1) 鐵心柱每級(jí)片寬必須為5的倍數(shù),即
Bk%5=0.
(2)
(2) 第k級(jí)寬度一半的平方與從第1級(jí)(第1級(jí)記一半厚度)累加到第k級(jí)厚度平方之和,小于或等于線圈內(nèi)圓半徑的平方,即
(3)
(3) 考慮鐵心柱與線圈間支撐件的存在,要求鐵心柱第1級(jí)寬度不小于26 mm,第n級(jí)厚度不小于20 mm,即
B1≥26 mm,Tn≥20 mm.
(4)
(4) 第j級(jí)的寬度必須大于第j+1級(jí)寬度,即
Bj>Bj+1.
(5)
根據(jù)上述分析可得到變壓器鐵心柱截面積優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型為
使得
(6)
基本混合蛙跳算法尋優(yōu)本質(zhì)上是模擬自然界中青蛙的撲食動(dòng)作.該算法的迭代可分為以下操作:種群混合排序、子種群劃分和子種群內(nèi)部更新.
設(shè)青蛙種群由分布在S維解空間內(nèi)的F個(gè)青蛙個(gè)體組成,參與更新的青蛙個(gè)體屬性由個(gè)體位置和移動(dòng)步長(zhǎng)來(lái)描述,它們分別為Xi=(xi1,xi2,…,xiS),Di=(di1,di2,…,diS),其中:1≤i≤m,-Dimax≤Di≤Dimax,Dimax為青蛙最大移動(dòng)步長(zhǎng).
青蛙位置更新方法如下
Di=rand()×(X-Xw),
(7)
Xw(new)=Xw(old)+Di,
(8)
Xw(new)=Xw(old)+rand()×Dimax.
(9)
式(7)為移動(dòng)步長(zhǎng)公式,其中rand()為(0,1)之間的隨機(jī)數(shù).當(dāng)式(8)為局部深度搜索時(shí),X為子種群最優(yōu)個(gè)體位置Xb;當(dāng)式(8)為全局深度搜索時(shí),X為整個(gè)種群最優(yōu)個(gè)體位置Xg,Xw(old),Xw(new)分別為位置更新前后的青蛙個(gè)體位置.式(9)為隨機(jī)移動(dòng)公式.
根據(jù)適應(yīng)度判斷位置的優(yōu)劣,每次更新均由子種群的最差個(gè)體參與,且每次更新只選擇3種操作(局部深度搜索、全局深度搜索和隨機(jī)移動(dòng))中的一種.
由前文對(duì)優(yōu)化問(wèn)題的描述可知,變壓器鐵心柱截面積優(yōu)化設(shè)計(jì)是一個(gè)多約束條件優(yōu)化問(wèn)題.利用混合蛙跳算法求解約束優(yōu)化問(wèn)題,首先對(duì)約束條件進(jìn)行處理,使其轉(zhuǎn)化為無(wú)約束條件的優(yōu)化問(wèn)題.借鑒文獻(xiàn)[11]約束條件的處理方法,使目標(biāo)函數(shù)與約束條件分離,將原問(wèn)題轉(zhuǎn)化為
(10)
其中:fitness(x)對(duì)應(yīng)優(yōu)化問(wèn)題的目標(biāo)函數(shù)f(x);violation(x)對(duì)應(yīng)優(yōu)化問(wèn)題的約束條件,反映解x對(duì)約束條件的違反程度;gi(x)是第i個(gè)不等式約束條件;hj(x)是第j個(gè)等式約束條件;p,q分別是優(yōu)化問(wèn)題中等式約束條件和不等式約束條件的個(gè)數(shù).
在解空間內(nèi),滿足所有約束條件的解x稱為可行解,否則稱為不可行解.基于以上對(duì)解x的適應(yīng)度和對(duì)約束條件違反程度的規(guī)定,該文采用以下原則判斷解空間內(nèi)任意兩個(gè)解(x1和x2)的相對(duì)優(yōu)劣(以最小化問(wèn)題為例):
(1) 當(dāng)解x1和x2都為可行解,如果fitness(x1) (2) 當(dāng)解x1和x2都為不可行解,如果violation(x1) (3) 當(dāng)解x1為可行解,x2為不可行解,則x1優(yōu)于x2. 對(duì)這類多變量、離散型、非線性、多約束條件的復(fù)雜優(yōu)化問(wèn)題,效仿遺傳算法,添加變異操作機(jī)制,自適應(yīng)改變移動(dòng)步長(zhǎng),可以同時(shí)兼顧算法收斂速度及收斂精度,是一種非常有效的提高求解性能的方法.該文在種群進(jìn)化的移動(dòng)步長(zhǎng)中引入變異算子,式(7)改寫(xiě)為 Di=rand()×di×(X-Xw), (11) 其中:di為移動(dòng)步長(zhǎng)變異算子. 由式(11)可以看出,變異算子的大小直接影響移動(dòng)步長(zhǎng)的大小,進(jìn)而影響解空間的搜索范圍.顯然,di取值越大,搜索的解空間就越大;反之,搜索的解空間就越小.當(dāng)算法處于迭代前期,較大的移動(dòng)步長(zhǎng)可以提高算法收斂速度,使蛙群迅速聚集在最優(yōu)解附近;當(dāng)算法處于迭代后期,較小的移動(dòng)步長(zhǎng)可在一定程度上避免粒子在最優(yōu)解附近往復(fù)震蕩,使算法更精確地收斂于最優(yōu)解.另外,當(dāng)算法最優(yōu)解的進(jìn)步速度較快時(shí),較小的移動(dòng)步長(zhǎng)有助于避免粒子跳過(guò)解空間內(nèi)的較優(yōu)位置;當(dāng)算法最優(yōu)解的進(jìn)步速度較慢時(shí),算法很有可能陷入局部最優(yōu),此時(shí)較大的移動(dòng)步長(zhǎng)有助于算法跳出局部最優(yōu). 通過(guò)上述分析,該文最終確定了移動(dòng)步長(zhǎng)變異算子di的控制量為“算法迭代階段測(cè)量值S”和“算法進(jìn)步速度測(cè)量值V”.通過(guò)這兩個(gè)控制量,共同決定di的取值. (1) 設(shè)t為當(dāng)前算法的混合迭代次數(shù)(即進(jìn)行全局信息交換次數(shù)),N1為預(yù)設(shè)算法的最大混合迭代次數(shù).該文用比值t/N1表示算法所處的迭代階段測(cè)量值S.設(shè)pmin,pmax為算法當(dāng)前所處迭代階段的閾值,且pmin∈[0,1),pmax∈(0,1],pmin≤pmax.當(dāng)S∈[0,pmin] 時(shí),則認(rèn)為算法處于迭代前期,此時(shí)應(yīng)使di取較大值,即擴(kuò)大解空間搜索范圍;當(dāng)S∈(pmax,1]時(shí),則認(rèn)為算法處于迭代后期,此時(shí)應(yīng)使di取較小值,以提高算法收斂精度并保證算法收斂;S∈(pmin,pmax]時(shí),di取適中值. (2) 設(shè)Yg1,Yg2分別表示相鄰兩次混合迭代種群最優(yōu)解,用它們的差(Yg2-Yg1)表示算法當(dāng)前的進(jìn)步速度.設(shè)Vmin,Vmax為算法進(jìn)步速度的閾值,當(dāng)(Yg2-Yg1)∈[0,Vmin],則認(rèn)為進(jìn)步速度較小,說(shuō)明可能收斂于局部最優(yōu)解附近,此時(shí)應(yīng)使di取較大值,這樣有助于算法跳出局部最優(yōu)解;當(dāng)(Yg2-Yg1)∈(Vmax,+∞)時(shí),則認(rèn)為進(jìn)步速度較大,此時(shí)應(yīng)使di取較小值,避免移動(dòng)步長(zhǎng)太大而漏掉解空間內(nèi)較好的解;當(dāng)(Yg2-Yg1)∈(Vmin,Vmax],即進(jìn)步速度適中時(shí),此時(shí)應(yīng)使di取適中值. (3) 當(dāng)這兩個(gè)控制量的“意見(jiàn)”出現(xiàn)分歧時(shí),應(yīng)綜合考慮這兩個(gè)控制量對(duì)算法的影響,進(jìn)而確定給變異算子di賦3個(gè)值(較大值dib、適中值dim和較小值dil)中的一個(gè). 基于以上分析,并借助模糊控制思想,得到變異算子控制規(guī)則表(見(jiàn)表2). 表2 控制規(guī)則表 改進(jìn)算法(CASFLA)對(duì)變壓器鐵心柱截面進(jìn)行優(yōu)化設(shè)計(jì)的步驟如下: 步驟1 對(duì)鐵心柱參數(shù)(直徑、級(jí)數(shù)等)、算法參數(shù)(種群規(guī)模、迭代次數(shù)、變異系數(shù)等)及青蛙種群個(gè)體位置進(jìn)行初始化; 步驟2 計(jì)算每只青蛙個(gè)體的適應(yīng)度或約束條件違反程度; 步驟3 對(duì)青蛙種群從優(yōu)到劣進(jìn)行排序; 步驟4 將該青蛙種群劃分為m個(gè)青蛙子種群; 步驟5 對(duì)每個(gè)子種群進(jìn)行指定次數(shù)的子種群內(nèi)部更新; 步驟6 計(jì)算更新后每只青蛙的適應(yīng)度或約束條件違反程度,并找出青蛙種群最優(yōu)青蛙個(gè)體; 步驟7 如果算法當(dāng)前迭代次數(shù)t<2,則執(zhí)行步驟8;否則根據(jù)表1調(diào)整步長(zhǎng)變異算子di的取值; 步驟8 判斷是否滿足結(jié)束條件,即判斷是否達(dá)到最大混合迭代次數(shù)di或者滿足最小允許誤差Δ,如果不滿足結(jié)束條件,則執(zhí)行步驟3,否則輸出變壓器鐵心柱優(yōu)化結(jié)果并結(jié)束. 筆者將提出的求解帶約束條件的自適應(yīng)混合蛙跳算法(CASFLA)應(yīng)用到3種典型直徑的變壓器鐵心柱截面優(yōu)化中,并與現(xiàn)有的算法比較,證實(shí)CASFLA的有效性. 首先以直徑300 mm的鐵心柱為例,CASFLA分別以8級(jí)和11級(jí)對(duì)300 mm的鐵心柱截面積進(jìn)行優(yōu)化.算法參數(shù)為:青蛙個(gè)體數(shù)F=80,子種群數(shù)m=8,最大移動(dòng)步長(zhǎng)Dimax=0.3,最大混合迭代次數(shù)N1=100,子種群內(nèi)部迭代次數(shù)N2=10;各控制參數(shù)為:pmin=0.5,pmax=0.75,Vmin=0.05,Vmax=0.5,dib=2,dim=1,dil=0.8;運(yùn)行平臺(tái)為Visual Studio 2010.對(duì)比結(jié)果如表3所示. 表3 不同算法300 mm鐵心柱截面積優(yōu)化結(jié)果比較 注:疊片系數(shù)為1,片寬以5結(jié)尾,直徑偏差為0. 同樣的方法對(duì)直徑125,220 mm的鐵心柱截面積進(jìn)行優(yōu)化設(shè)計(jì),比較結(jié)果分別如表4,5所示. 表4 不同算法125 mm鐵心柱截面積優(yōu)化結(jié)果比較 注:疊片系數(shù)為1,片寬以5結(jié)尾,直徑偏差為0. 表5 不同算法220mm鐵心柱截面積優(yōu)化結(jié)果比較 注:疊片系數(shù)為1,片寬以5結(jié)尾,直徑偏差為0. 從表3~5可看出,采用筆者提出的改進(jìn)算法(CASFLA)對(duì)變壓器鐵心柱截面積進(jìn)行優(yōu)化設(shè)計(jì),得到的結(jié)果要優(yōu)于其他算法.在計(jì)算復(fù)雜度方面,對(duì)Windows XP系統(tǒng)、AMD雙核2.5 GHz CPU、1.94 G內(nèi)存的計(jì)算機(jī),混合迭代100次得到最優(yōu)解所花費(fèi)的時(shí)間僅為1.2 s左右,大大縮短了設(shè)計(jì)周期.另外,通過(guò)表4還可以看出,級(jí)數(shù)越大,越能得到更大的鐵心柱截面積.在實(shí)際應(yīng)用中,采用鐵心柱截面優(yōu)化設(shè)計(jì)結(jié)果,可節(jié)約生產(chǎn)材料、降低運(yùn)行損耗,進(jìn)而使綜合經(jīng)濟(jì)效益進(jìn)一步提高. 該文以鐵心柱截面積最大為目標(biāo)函數(shù)建立了變壓器鐵心柱截面優(yōu)化設(shè)計(jì)模型,并結(jié)合混合蛙跳算法的特點(diǎn),提出了一種求解約束優(yōu)化問(wèn)題的自適應(yīng)混合蛙跳算法(CASFLA),且將其用于變壓器鐵心柱截面優(yōu)化設(shè)計(jì).3種典型直徑變壓器鐵心柱截面優(yōu)化設(shè)計(jì)結(jié)果表明,該算法具有更強(qiáng)的全局搜索能力,能增加鐵心柱截面積,對(duì)節(jié)省材料、降低損耗有很大幫助. 參考文獻(xiàn): [1] 謝衛(wèi), 田程, 魏永國(guó). 電力變壓器鐵心最佳截面的計(jì)算[J]. 上海大中型電機(jī), 2010 (3): 8-9. [2] 王娟, 楊奕, 盛蘇英. 電力變壓器鐵心柱截面的優(yōu)化設(shè)計(jì)[J]. 變壓器, 2011, 48 (9): 26-27. [3] EUSUFF M M, LANSEY K E. Optimization of water distribution network design using the shuffled frog leaping algorithm[J]. Water Resour Plan Manage, 2003, 129 (3): 210-225. [4] 耿超, 王豐華, 蘇磊, 等. 基于人工魚(yú)群與蛙跳混合算法的變壓器Jiles-Atherton模型參數(shù)辨識(shí)[J]. 中國(guó)電機(jī)工程學(xué)報(bào), 2015, 35 (18): 4799-4807. [5] 張沈習(xí), 陳楷, 龍禹, 等. 基于混合蛙跳算法的分布式風(fēng)電源規(guī)劃[J]. 電力系統(tǒng)自動(dòng)化, 2013, 37 (13): 76-82. [6] 王介生, 高憲文. 基于改進(jìn)蛙跳算法的電渣重熔過(guò)程多變量PID控制器設(shè)計(jì)[J]. 控制與決策, 2011, 26 (11): 1731-1734. [7] 龍文, 趙東泉, 徐松金. 求解約束優(yōu)化問(wèn)題的改進(jìn)灰狼優(yōu)化算法[J]. 計(jì)算機(jī)應(yīng)用, 2015, 35 (9): 2590-2595. [8] 王茜, 張粒子, 舒雋, 等. 基于閾值選擇策略的改進(jìn)混合蛙跳算法在電網(wǎng)規(guī)劃中的應(yīng)用[J]. 電力系統(tǒng)保護(hù)與控制, 2011, 39 (3): 34-39. [9] ELBELTAGI E, HEGAZ Y T, GRIERSON D. A modified shuffled frog-leaping optimization algorithm application to project management[J]. Structure and Infrastructure Engineering, 2007, 3 (1): 53-60. [10] 趙鵬軍, 邵澤軍. 一種新的改進(jìn)的混合蛙跳算法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2012, 48 (8): 48-50. [11] 王錫淮, 鄭曉鳴, 肖健梅. 求解約束化問(wèn)題的人工魚(yú)群算法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2007, 43 (3): 40-42. [12] 王祝榮, 胡鵬, 孟慶民. 變壓器鐵心截面優(yōu)化工程軟件的開(kāi)發(fā)[J]. 變壓器, 2005, 42 (1): 1-3. [13] 湯賜, 張志文. 基因控制遺傳算法在變壓器鐵心截面優(yōu)化設(shè)計(jì)中的應(yīng)用[J]. 變壓器, 2006, 43 (2): 1-3.2.3 變異算子的引入
2.4 算 法
3 應(yīng)用實(shí)例
4 結(jié)束語(yǔ)