劉 濤
(太原供電分公司,山西 太原 030012)
電力系統中潮流分布是指系統中電壓和功率的穩態分布。根據電力系統的網絡結構和功率、電壓等物理量量測等系統運行狀況的邊界條件,來求解潮流分布的計算即潮流計算。潮流計算反映了電力系統的詳細運行狀態,可以幫助運行、規劃人員分析系統在給定條件下的穩態運行特點。潮流計算是電力系統中最基本、最重要的計算,是電力系統運行、規劃以及安全性、可靠性分析和優化的基礎,也是各種電磁暫態和機電暫態分析的基礎和出發點。
最優潮流是數學最優化理論在電力系統中的應用,同時考慮了經濟性和安全性,統籌兼顧、全面規劃,是電力系統中不可缺少的分析工具,在實際電力系統運行中具有重要意義。
本文研究了潮流計算與最優潮流的最新成果,并重點研究了運用計算機在解決潮流計算問題中的核心技術——稀疏技術,包括稀疏存儲和稀疏計算。
潮流計算在數學上是求解一組由潮流方程描述的非線性方程組。20世紀50年代,隨著計算機的出現和計算機技術的發展,研究者開始使用計算機數學模擬方法進行潮流計算。最初通過計算機實現的潮流計算方法是以導納矩陣為基礎的高斯迭代方法(Gauss方法),該方法內存需要少,但是收斂性較差。而以阻抗矩陣為基礎的潮流算法,收斂性較好,但大大增加了內存使用量,無法適用于大規模電力系統。牛頓-拉夫遜(Newton-Raphson,N-R)方法是求解非線性代數方程組的一種方法,在潮流計算中得到應用。20世紀60年代之后,隨著Tinney等人提出稀疏矩陣技術和節點優化編號方法,使得牛頓-拉夫遜方法的求解效率大大增加、求解規模大大增加。在20世紀90年代,潮流計算已經被廣泛應用于電力系統分析,各種算法都已經實用化。現階段關于潮流計算的研究,主要包含兩個方面:
(1)對于核心算法的研究。如對牛頓-拉夫遜方法或者快速分解發進行改進,以取得更好的計算速度等;或者將人工神經網絡、粒子群、遺傳算法等新的數學方法引入潮流計算;或者對于新的數學模型,如電流注入模型的研究。
(2)對于提高潮流計算速度的研究。如對于稀疏技術或者節點優化方法的進一步研究;或者將并行計算技術應用于潮流計算。
潮流計算是最優潮流的基礎,最優潮流是潮流計算的一種擴展。在潮流計算中,當改變系統運行的邊界情況時,系統的潮流分布也會隨之改變。電力系統中存在一些可調可控變量,如發電機的有功功率,調相機的控制電壓或者無功輸出功率,可投切的電容電抗器,有載調壓變壓器的變比等可以由運行人員進行控制,將這些可控變量記作μ。則控制變量μ值不同時,潮流分布不同。而潮流分布決定了系統的運行效益,如系統網損、系統的總發電費用等,故控制變量μ值會影響系統的運行效益。最優潮流就是在滿足系統負荷平衡和系統運行的安全約束等條件下,尋找控制變量μ值,使得系統的運行效益最高。最優潮流在數學上是一個非線性規劃問題,在網絡結構和參數,系統的負荷給定等條件下,試確定系統的控制變量μ值,使得描述系統運行的某一給定目標函數取極小值。
最優潮流方法眾多。如可以按照其處理約束條件的不同分為罰函數類、Kuhn-Tucker罰函數類和Kuhn-Tucker類。可以按照修正的變量空間進行分類,分為直接方法和簡化方法,前者同時修正全空間變量μ和x,而后者只修正控制變量μ,狀態變量通過約束方程求解得到。也可以按照變量修正的方向進行分類:第一類為梯度類算法,具有一階收斂性,如最速下降法;第二類為擬牛頓法,收斂性介于一階和二階之間,如各種變尺度方法;第三類為牛頓法,具有二階收斂性,例如Hessian矩陣法。
稀疏技術的引入,是電力系統計算的一次革命。電力系統分析計算中廣泛涉及與矩陣、矢量相關的運算。由于電力系統本身的結構特點,如一條母線往往只跟周圍的幾條母線有直接的電氣聯系,使得反映網絡結構的矩陣只有少量的非零元,是一個稀疏矩陣。稀疏技術可以分為稀疏矩陣技術和稀疏矢量技術。在涉及稀疏矩陣和稀疏矢量的運算中,零元是沒有必要參與運算的,也沒有必要對其進行存儲。如果能夠做到“排零運算”和“排零存儲”,能夠減少計算程序的內存使用量、減少浮點運算量,從而加快運算速度。電力系統規模越大,稀疏技術帶來的效益越明顯。稀疏矩陣技術在各種電力系統分析計算中被廣泛采用。
電力系統分析中存在著大量的稀疏矩陣和稀疏矢量。為實現“排零存儲”,需要使用特定的格式,只存儲其中的非零元和其檢索信息。
稀疏矢量的存儲比較簡單,只需要存儲非零元和非零元的下標。稀疏矩陣的存儲格式眾多,實際程序設計中根據矩陣的稀疏結構以及所采用的算法的特點,選擇合適的存儲方法。比較常見的稀疏矩陣的存儲格式有3種,即Coordinate、CSR和CSC。下面通過舉例說明的形式介紹這3種常用的稀疏矩陣存儲格式。
3.1.1 Coordinate Format
Coordinate Format,又稱散居格式,是最簡單稀疏存儲方式。本文大量使用的內點算法數學包IPOPT就是使用的Coordinate格式對Jacobian、Hessian矩陣進行存儲。Coordinate Format的優點是非零元在values、rows和columns數組中的位置可以任意排列。缺點是因其存儲順序無規律,檢索難度大。
舉例說明如下:
矩陣A的維數為n=5,A矩陣中非零元個數為nz=13。
Coordinate Format以one-based indexing的存儲方式如下:
values=1-1-3-2 5 4 6 4-4 2 7 8-5
rows=1 1 1 2 2 3 3 3 4 4 4 5 5
columns=1 2 3 1 2 3 4 5 1 3 4 2 5
其中values、rows、columns的長度都為nz。三個數組依次記錄了C矩陣中非零元的數值,其所處的行位置,和其所處的列位置。
3.1.2 CSR Format
CSR(compressed sparse row),行壓縮格式。CSR被各種稀疏矩陣運算數學軟件所支持,如IntelMKL和SuperLU。相比于Coordinate格式,CSR存儲格式檢索方便:可以方便檢索第i行的所有元素,從而可以方便檢索第i行的第j列的元素,即檢索元素B(i,j)。另外,CSR格式使用的存儲空間比Coordinate格式還要更少。
舉例說明如下:
對于上述矩陣A,維數為n=5,非零元個數為nz=13。
CSR格式存儲結構如下(one-based indexing):
values=1-1-3-2 5 4 6 4-4 2 7 8-5
columns=1 2 4 1 2 3 4 5 1 3 4 2 5
row Index=1 4 6 9 12 14
rowIndex中依次記錄了上三角矩陣每一行中第一個非零元在columns和value數組中的位置。比如,row Index中的第二個元素為4,意味著columns和values數組中從第四個元素開始為原矩陣B中的上三角第二行的內容。
3.1.3 CSC Format(Harwell-Boeing)
CSC(compressed sparse column),列壓縮格式。與行壓縮格式類似,只不過rowIndex變為columnIndex。著名的稀疏矩陣算例集Harwell-Boeing Sparse Matrix Collection,就都是使用的CSC(也叫做Harwell-Boeing)格式。
舉例說明如下:
對于上述矩陣A,維數為n=5,非零元個數為nz=13。
CSC Format下的存儲結構如下(one-based indexing):
values=1-1-3-2 5 4 6 4-4 2 7 8-5
columns=1 2 4 1 2 3 4 5 1 3 4 2 5
coIIndex=1 4 7 9 12 14
稀疏矩陣和稀疏矢量的運算特點是“排零運算”。因為零不影響加減法,乘以任何數結果為零。即只要知道運算中有一個操作數是零,計算機不必做浮點計算,就可以知道其結果。
舉例說明如下:比如對n×n階矩陣進行LU分解,將其分解成一個下三角矩陣L和一個單位上三角矩陣U的乘積。LU分解可以分為兩步:①按行規劃運算;②消去運算或者更新運算。
具體計算時,排零運算應根據稀疏矩陣的存儲格式去設計相應的計算方法,盡可能地去減少判斷運算(判斷某個元素是不是零元)和浮點運算。
實際實現時,為實現稀疏技術的排零運算,可以采用各種第三方數學包。這些數學包往往支持各種稀疏矩陣的存儲結構,并能夠快速求解各種稀疏矩陣、稀疏矢量的運算。
比如NISTSparseBlas和SparseLib++(Netlib)都支持稀疏的BLAS運算以及一些稀疏線性方程組的求解。前者是由美國國家標準局(NIST,National Institute of Standards and Technology)根據BLAST規范實現的稀疏BLAS計算包,由C++語言編寫,僅包含3個頭文件和1個源文件,使用簡單;后者功能強大,支持矩陣的文本輸入輸出,支持LU分解和Cholesky分解等。一些主流的商業計算軟件如IntelMKL和NAG等也都支持各種稀疏矩陣格式及各種稀疏矩陣運算。
潮流計算是電力系統中最基本、最重要的計算,是電力系統運行、規劃以及安全性、可靠性分析和優化的基礎,也是各種電磁暫態和機電暫態分析的基礎和出發點。通過研究發現,隨著計算機性能和潮流計算算法的改進,潮流計算的計算規模和計算速度都得到了顯著的提高。在這些算法當中,稀疏技術的應用和完善具有重要意義。通過使用第三方公司開發的數學包,可以大幅提高運用計算機實現稀疏技術的開發效率,這是具有實際意義的。
[1] 姚玉斌,魯寶春,陳學允.1999:《小阻抗支路對牛頓法潮流的影響及其處理方法》,電網技術,23(9):27~31.
[2] 朱凌志,安寧.2005:《基于二維鏈表的稀疏矩陣在潮流計算中的應用》,電網技術,29(8):16~19.
[3] 王守相,王成山.2003:《配電系統節點優化編號方案比較》電力系統自動化,27(8):54~58.