配電網絡重構的改進混合遺傳算法
3.5 適應度函數
由于遺傳算法是一種在給定的解空間內不受約束的隨機搜索算法,因此必須構造一個精確的適應度函數指導遺傳算法的搜索方向向著最優解逼近。本文中適應度函數由目標函數和懲罰函數組成,定義如下:

其中:B1、B2、B3是懲罰因子,通常取較大的數,以加大懲罰力度。
計算個體的適應度,需要用譯碼器對個體進行解碼,求出其對應的網絡結構,然后調用潮流計算程序計算出節點電壓和支路電流代入公式(5)即計算出個體的適應度值。當個體違反電流和電壓的約束條件時,由于懲罰因子取的比較大,其適應度值將非常的低,從而很容易在進化過程中被淘汰。
4 遺傳算法與局部尋優算法的混合策略
在基本遺傳算法中,存在著局部搜索能力差、收斂速度慢的缺點。如果在遺傳算法框架中加入適當的基于鄰域的局部搜索機制,使遺傳算法與傳統的、基于問題知識的啟發式搜索技術相結合構成一種全局和局部搜索相結合的混合遺傳算法,則可以保證在種群進化的每一代,算法的解都是局部最優解,再通過競爭從局部最優解中選擇產生出優良解。
本文對經過交叉和變異后的染色體執行連續多次的“連支前插”操作,來尋找染色體對應解所在局部解空間的最優點。首先通過解碼器將染色體解成支撐樹的形式T={t1t2t3t4...tn,l1l2...lm}。事實上樹支集合內的排列排序和連支集合內的排列順序的改變對于配網的結構都不產生影響,即適應度是不發生變化的,只有當連支與自己所在環內的其它樹支發生交換,也就是發生了支路交換,才對網絡結構產生影響;連支前插法,就是將連支向前插入至樹支區內,例如將組合T中的連支l1向前插至樹支t4的前面,T的組合變成{t1t2t3l1t4...tn,l2...lm}的形式,這樣將由于先加入而變成樹支,同一環內排在最后的樹支將變成連支,因此實現了支路交換。
本文使用的“連支前插”是一種爬山行為(朝著改進的方向)和連續多次的“前插”操作,如果“前插”使串的適應度提高,則執行操作,如此反復,直至不能再前插為止,最后將重新形成組合替代原來的染色體。這一操作實際上使給定的串改良到它的局部極點,這種局部爬山能力與基本遺傳算法的全局搜索能力相結合在實驗中顯示了良好的效果。如圖1,算法通過局部尋優算子來修復通過雜交和變異產生的新個體,使它到達局部最優點。圖1中父代個體X和個體Y產生出子代個體Z′,通過局部尋優產生出最終個體Z。本文引用地址:http://www.104case.com/article/179881.htm
5 配網重構的混合遺傳算法流程
在給定配電網絡和數據后,應用本算法求解最優運行方案的步驟如下:
a.算法首先讀入原始數據進行初始化,設定遺傳算法的最大進化代數,群體規模N,代溝G,染色體長度,雜交概率,變異概率等參數。
b.采用支路整數編碼方法隨機產生第一代的初始種群作為父代。并對初始群體的個體進行解碼,調用潮流計算程序,計算個體適應度及群體平均適應度。
c.基于賭輪選擇機制從交代中選擇適應度較高的個體進行交叉操作,產生新一代個體。
d.對子代個體執行變異操作。
e.對子代個體執行“連支前插”操作,使個體得到進一步的改良。
f.重復步驟c,d,e,直到子代個體數達到N*G個。
g.執行代間更新操作,從父代中復制N*(1-G)個的適應度最高的個體補充到子代中。
h.計算子代個體適應度及群體平均適應度,并將子代作為下一輪進化的父代。
i.當算法達到預先設定的最大進化代數,算法將結束,并輸出適應度最高的個體所對應的網絡方案。否則轉到步驟c,繼續進行進化。
6 算例分析
本文算例采用一個33節點、5聯絡開關的配電網測試系統[4],如圖2所示。
5個常開聯絡開關分別位于支路7~20、11~21,8~14,17~32,24~28上,假設所有支路都裝有分段開關,按照文中的編碼方法,電源支路不參與重構,一直是閉合狀態,不參與編碼,因此染色體長度為35,群體規模取50個,交叉概率取0. 6,變異概率取0. 01。運算程序后,最優重構方案為合上支路7~20、11~21,8~14,17~32上的分段開關,斷開6~7,8~9,13~14,31~32上的分段開關。表1給出了運算結果并與文獻4的算法計算結果進行了比較。
本文算法與文獻[1]-[4]所述算法相比,其收斂性能有了很大的提高。采用文獻的基于二進制編碼的遺傳算法,在同樣的算例上常常要進行到300多代才能收斂,而采用本算法進行到40多代就發現最優個體,在100代左右其平均適應度逐漸收斂于最優,同時相對于文獻[1]-[2],本文在每一代的計算效率也有很大提高。
7 結論
在采用遺傳算法來解決配網重構中的大規模組合優化問題時,本文采用支路整數編碼方法實現基因編碼和基于構造支撐樹方法的譯碼器設計方法,避免了生成不可行解的情形,減少了算法的無效搜索,提高了計算效率。同時本文還提出了基于圖論的連支前插法的局部尋優算法,將它作為一個局部尋優算子加入到算法中,提高了算法的局部尋優性能,加快了算法的收斂速度。算例結果表明這種方法是可行、有效的。
評論