鐘佳華 劉 剛
(1.浙江浙能電力股份有限公司 2.浙江浙能嘉華發(fā)電有限公司)
電廠系統(tǒng)運(yùn)行的主要經(jīng)濟(jì)因素是實際發(fā)電成本,火電廠實際發(fā)電成本主要取決于每小時的燃煤投入。運(yùn)行成本 (Rm/h) 或燃煤輸入 (百萬千卡/小時) 直接取決于功率輸出。因此, 通過擬合適當(dāng)?shù)拇螖?shù)多項式, 可以將特定機(jī)組的發(fā)電成本近似為功率輸出的函數(shù), 即該機(jī)組的發(fā)電功率。
電廠在任何負(fù)載條件下運(yùn)行時, 必須確定每個機(jī)組的輸出, 以使輸送功率的成本最小。有研究試圖將輸送電力成本降至最低的方法要求在輕負(fù)載下僅從最高效的機(jī)組供電, 隨著負(fù)載的增加, 電力可以由最高效的機(jī)組提供, 直到達(dá)到機(jī)組的最大效率點。然后,為了進(jìn)一步增加負(fù)載, 下一個臺最高效的機(jī)組將開始供電, 并且在達(dá)到第二臺機(jī)組的最大效率點之前不會調(diào)用第三臺機(jī)組, 這種方法未能將成本降到最低[1-2]。
基于遺傳算法的火電廠機(jī)組最優(yōu)運(yùn)行分析是一種利用遺傳算法優(yōu)化火電廠機(jī)組運(yùn)行的方法?;痣姀S的機(jī)組運(yùn)行涉及諸多變量和參數(shù), 如發(fā)電機(jī)的負(fù)荷、 燃煤用量、 燃燒溫度等, 目標(biāo)是在保證供電穩(wěn)定和設(shè)備安全的前提下, 使得運(yùn)行的成本最小化或效率最大化。遺傳算法是一種啟發(fā)式優(yōu)化算法, 模擬了自然界生物進(jìn)化的過程[3-5]。它通過模擬遺傳、 交叉、 變異等操作, 從初始的隨機(jī)解開始, 逐步尋找到最優(yōu)解。在火電廠機(jī)組最優(yōu)運(yùn)行分析中, 可以將機(jī)組運(yùn)行的各種參數(shù)作為基因編碼, 然后通過遺傳算法的操作來不斷優(yōu)化這些參數(shù), 以實現(xiàn)最優(yōu)的機(jī)組運(yùn)行狀態(tài)。下面是一個基于遺傳算法的火電廠機(jī)組最優(yōu)運(yùn)行分析的簡要步驟:
(1) 問題建模: 將火電廠機(jī)組的運(yùn)行問題抽象成一個數(shù)學(xué)模型, 將各個參數(shù)和目標(biāo)函數(shù)定義清楚。例如, 成本最小化可以作為目標(biāo)函數(shù), 各種參數(shù)如發(fā)電機(jī)負(fù)荷、 燃煤用量、 燃燒溫度等可以作為變量。
(2) 編碼: 將問題中的各個參數(shù)進(jìn)行編碼, 通常使用二進(jìn)制編碼或?qū)崝?shù)編碼, 使得遺傳算法能夠?qū)@些參數(shù)進(jìn)行操作。
(3) 初始種群: 隨機(jī)生成一些初始解 (也稱為個體), 每個個體對應(yīng)一個參數(shù)組合。適應(yīng)度函數(shù): 定義一個適應(yīng)度函數(shù), 用來評價每個個體的優(yōu)劣程度。在火電廠的情境下, 適應(yīng)度函數(shù)可能與成本、 效率等相關(guān)。
選擇: 根據(jù)適應(yīng)度函數(shù)的評價, 選擇一些個體作為父代, 通常采用輪盤賭等選擇方法。
(4) 交叉: 對選出的父代個體進(jìn)行交叉操作, 產(chǎn)生新的個體, 以引入新的變化。變異: 對新產(chǎn)生的個體進(jìn)行變異操作, 以增加種群的多樣性。更新種群:根據(jù)交叉和變異的結(jié)果, 更新種群。重復(fù)迭代: 重復(fù)進(jìn)行選擇、 交叉、 變異和種群更新, 直到達(dá)到一定的迭代次數(shù)或收斂條件。
(5) 結(jié)果分析: 在遺傳算法收斂后, 得到一個或多個優(yōu)化后的個體, 這些個體對應(yīng)著最優(yōu)或近似最優(yōu)的參數(shù)組合。對這些參數(shù)組合進(jìn)行解碼, 得到機(jī)組的最優(yōu)運(yùn)行方案。
本文中C指生成能源成本,Ci是指第i個單位生產(chǎn)能源的成本, 單位為元/小時 (Rm/h),n是單元總數(shù),則總成本可以寫為:
所產(chǎn)生的實際功率Pi是對Ci的主要影響。通過增加原動機(jī)轉(zhuǎn)矩來提高單臺機(jī)組實際發(fā)電量, 因此需要增加燃煤支出。
因此, 發(fā)電機(jī)組i的單臺生產(chǎn)成本Ci對于所有實際目的而言僅是Pi的函數(shù)。發(fā)電機(jī)組i的單臺生產(chǎn)成本可以近似為:
式中,ai和bi,di是第i個單位的常數(shù)。
因此必須選擇一組實際生成變量Pi, 其將最小化成本函數(shù)。選擇需要滿足相應(yīng)條件, 因為有必要同時觀察等式和不等式約束, 平等約束是由功率平衡要求強(qiáng)加的約束, 可以寫為:
式中,Pd是總功率需求。
由于每臺發(fā)電機(jī)的運(yùn)行不得超過其額定值或不得低于某個最小值, 因此我們必須約定以下不等式
式中,Pi,min,Pi,max稱為發(fā)電機(jī)負(fù)載極限。
通過上述分析, 最小發(fā)電成本是通過以下條件實現(xiàn)的
式中,λ是拉格朗日系數(shù),是第i臺發(fā)電機(jī)增量成本 (ⅠC) 。
遺傳算法是一種基于遺傳和自然選擇原理的優(yōu)化技術(shù)。GA 允許由許多個體組成的種群在特定的選擇規(guī)則下進(jìn)化到最大化“適合度”的狀態(tài)。經(jīng)典優(yōu)化方法在尋找全局最優(yōu)點方面存在局限性, 有時會陷入局部最優(yōu)點。由于遺傳算法是一種多點搜索方法而不是傳統(tǒng)的單點搜索方法, 因此遺傳算法有望達(dá)到全局最優(yōu)點。此外, 遺傳算法只使用目標(biāo)函數(shù)的值, 在搜索過程中不使用導(dǎo)數(shù)。與任何其他優(yōu)化算法一樣, GA 通過定義優(yōu)化變量和成本函數(shù) (目標(biāo)函數(shù)) 開始, 它與其他優(yōu)化算法一樣, 通過測試收斂性來結(jié)束。
在GA 中, 設(shè)計變量表示為二進(jìn)制數(shù)字串0 和1。如果每個設(shè)計變量xi,i=1, 2, 3…….n被編碼在長度為q的字符串中, 設(shè)計矢量使用總長度為nq的字符串來表示, 這個字符串被稱為“染色體”。
GA 從一組被稱為“群體”的染色體開始。如果使用二進(jìn)制表示, 則連續(xù)設(shè)計變量x只能由一組十進(jìn)制(離散值) 表示。如果變量x(邊界xmin,xmax給定) 由q個二進(jìn)制數(shù)字組成的字符串表示, 則可以使用
式中,b相當(dāng)于是二進(jìn)制數(shù)的離散值。因此, 如果要以高精度表示連續(xù)變量, 還需要在其二進(jìn)制表示中使用大的q值。
電廠中機(jī)組單元的輸出形成變量參數(shù), 因此變量的數(shù)量等于機(jī)組單元的數(shù)量。電廠總負(fù)荷、 每個機(jī)組的a和b常數(shù)以及每個機(jī)組發(fā)電的下限和上限作為輸入。
在解碼變量值時, 從二進(jìn)制到十進(jìn)制, 使用等式(6), 機(jī)組單元的xmin和最大xmax被視為單位的下限和上限。因此, 任何機(jī)組的發(fā)電量都保持在該機(jī)組的下限和上限之內(nèi)。目標(biāo)函數(shù)定義為
式中,n為發(fā)電機(jī)數(shù)量,Pi為第i臺發(fā)電機(jī)功率,Pd為負(fù)荷總功率。
式中,λi為第i臺發(fā)電機(jī)增量成本。
目標(biāo)函數(shù)的第一部分包含滿足負(fù)荷需求的相等約束, 第二部分考慮實現(xiàn)相等的增量成本。該函數(shù)是為群體的每個染色體計算的, 給出函數(shù)最小值的染色體被認(rèn)為是最適者。染色體根據(jù)其適合度進(jìn)行排列, 然后進(jìn)行繁殖、 交叉和突變操作。執(zhí)行多次這樣的迭代以實現(xiàn)機(jī)組的最優(yōu)運(yùn)行方式。
在MATLAB 中開發(fā)了一個利用遺傳算法進(jìn)行火電廠機(jī)組優(yōu)化組合的程序。該程序已針對不同機(jī)組數(shù)量、 每個機(jī)組發(fā)電量的不同下限和上限的各種問題進(jìn)行了測試。這個程序迭代速度較快, 可以給出正確的結(jié)果, 這里提供了兩個示例案例以供說明。
考慮由三臺發(fā)電機(jī)組成的電廠的參數(shù), 機(jī)組詳細(xì)參數(shù)如表1所示。
表1 發(fā)電機(jī)組參數(shù)
對于435MW 的電廠負(fù)荷, 可以觀察到, 機(jī)組單元1輸出162MW, 機(jī)組單元2輸出155MW, 機(jī)組單元3 輸出118MW。每個機(jī)組單元的輸出相對于幾代GA迭代的最佳值如圖1 所示。可以看出, 所有的機(jī)組單元都有不同的輸出下限和上限。對于不同的電廠負(fù)荷, 可以使用相同的算法提前準(zhǔn)備機(jī)組組合。不同機(jī)組對不同電廠負(fù)荷的分擔(dān)情況如圖2所示。
圖1 機(jī)組輸出相對于迭代的最佳值
圖2 不同電廠負(fù)荷下各機(jī)組分擔(dān)的負(fù)荷
以100MW 為步長的從100 MW 至600 MW 電廠負(fù)荷的UC表, 如表2所示。
表2 機(jī)組組合表
對于任何電廠負(fù)荷, 在100MW 到600MW 的范圍內(nèi), 使用這種由機(jī)組分擔(dān)的負(fù)荷可以獲得。機(jī)組的需求和總發(fā)電量之間最大3 MW 的差異可以接受。在這種情況下, 考慮有兩臺機(jī)組的電廠, 每臺機(jī)組輸出功率的最小和最大限制分別為20MW 和125MW。單位的“a”常數(shù)分別為 (0.2 0.25) 和“b”常數(shù)分別是 (40 30), 共享的總負(fù)載為76 MW。單元機(jī)組1 的輸出為20MW, 單元機(jī)組2 輸出50MW??梢钥闯?, 1 號機(jī)組將在20 MW的下限下運(yùn)行。
本文提出了火電廠機(jī)組優(yōu)化的遺傳算法, 通過定義一個新的目標(biāo) (適應(yīng)度) 函數(shù), 將基本約束優(yōu)化問題的最優(yōu)UC 問題轉(zhuǎn)化為無約束優(yōu)化問題, 每臺發(fā)電機(jī)上的負(fù)載應(yīng)限制在下限和上限范圍內(nèi)。這是通過定義變量的下限和上限單位輸出來實現(xiàn)的, 同時將變量的二進(jìn)制值解碼映射為十進(jìn)制值。針對各種問題對該算法進(jìn)行了測試, 達(dá)到了預(yù)期效果。此外, 使用相同的算法, 可以針對不同的電廠負(fù)載預(yù)先準(zhǔn)備機(jī)組組合, 這有助于提前地決定任何電廠負(fù)載的每個機(jī)組單元共享的負(fù)載。