王軍飛 杜之正
華北電力大學(xué) 河北 保定 071003
供熱機(jī)組負(fù)荷優(yōu)化分配是熱電廠節(jié)能與優(yōu)化運(yùn)行的一項(xiàng)重要研究課題, 在特定機(jī)組組合情況下,機(jī)組間的熱電負(fù)荷能得到合理的分配可以提高全廠運(yùn)行的經(jīng)濟(jì)性。尤其是實(shí)行廠網(wǎng)分開和電價(jià)競爭上網(wǎng)之后,負(fù)荷優(yōu)化分配的問題得到了更廣泛的重視。熱電廠中供熱機(jī)組間的負(fù)荷優(yōu)化分配的實(shí)質(zhì)是在保證系統(tǒng)安全運(yùn)行的情況下,根據(jù)各機(jī)組的煤耗特性曲線或汽耗特性曲線,合理分配機(jī)組所帶的熱負(fù)荷和電負(fù)荷,以達(dá)到降低成本的要求。
熱電廠供熱機(jī)組有多種類型,通常我們接觸的基本類型有背壓機(jī)組、抽凝機(jī)組,這兩種機(jī)組在運(yùn)行時(shí),可以同時(shí)提供熱能和電能。
背壓機(jī)組特點(diǎn)是供熱蒸汽全部通過汽輪發(fā)電機(jī)做功,使得供熱量與發(fā)電量相互牽制,熱、電耦合性很強(qiáng),供熱量與發(fā)電量是一一對應(yīng)的,采用數(shù)學(xué)表達(dá)式可表示如下:
G0=aP+b
Qd=cP+d
式中:G0為耗汽量,t/h;Qd為供熱量,t/h;P為發(fā)電量,MW。
抽凝機(jī)組特點(diǎn)是在一定范圍內(nèi),熱負(fù)荷和電負(fù)荷均可分別進(jìn)行調(diào)節(jié),并且還能按照純凝汽工況運(yùn)行,但能源利用率較差,能量耗費(fèi)較高。
抽凝機(jī)組一般分為單抽機(jī)組和雙抽機(jī)組,單抽機(jī)組可等效為一臺(tái)背壓機(jī)組和一臺(tái)凝汽機(jī)組的組合體,其機(jī)組的特性表達(dá)式可表示如下:
G0=aP+bGg+c
雙抽機(jī)組可等效為兩臺(tái)背壓機(jī)組和一臺(tái)凝汽機(jī)組的組合體,其機(jī)組的特性表達(dá)式可表示如下:
G0=aP+bGg+cGd+d
式中:Gg為機(jī)組所帶的生產(chǎn)用汽量,t/h;Gd為機(jī)組所帶的采暖用汽量,t/h。
供熱機(jī)組間負(fù)荷優(yōu)化分配的本質(zhì)就是在一定的熱負(fù)荷和電負(fù)荷下, 使其總的燃料消耗量為最小,本文研究的是使總的耗汽量最小。對n臺(tái)供熱機(jī)組進(jìn)行負(fù)荷優(yōu)化分配計(jì)算,我們將其數(shù)學(xué)模型表述如下:
等式約束條件:
不等式約束條件:
Pi,min≤Pi≤Pi,max; Gdi,min≤Gdi≤Gdi,max;Ggi,min≤Ggi≤Ggi,max。
式中 G:熱電廠總耗汽量,t/h;
Pi:第i臺(tái)機(jī)組所帶的電負(fù)荷,MW;
P: n臺(tái)機(jī)組總調(diào)度電負(fù)荷,MW;
Ggi:第i臺(tái)機(jī)組所帶的生產(chǎn)用汽量,t/h;
Gg:n臺(tái)機(jī)組總調(diào)度生產(chǎn)用汽量,t/h;
Gdi:第i臺(tái)機(jī)組所帶的采暖用汽量,t/h;
Gd:n臺(tái)機(jī)組總調(diào)度采暖用汽量,t/h;
G0i(Pi,Gdi,Ggi):第i臺(tái)機(jī)組所帶電負(fù)荷及提供的生產(chǎn)用汽量、采暖用汽量與機(jī)組耗汽量之間的函數(shù)關(guān)系。
將上述方程與不同類型機(jī)組的特性方程聯(lián)立,可對供熱機(jī)組負(fù)荷優(yōu)化分配進(jìn)行求解。
以三臺(tái)供熱機(jī)組為例,來研究機(jī)組間熱電負(fù)荷分配,其中:
背壓機(jī)組型號為B25-90/10, 機(jī)組特性方程為:
選取南京體育學(xué)院有慢跑和慢跑中聽音樂習(xí)慣的學(xué)生為研究對象,在南京體育學(xué)院田徑場進(jìn)行為期一周的調(diào)研,調(diào)研結(jié)果發(fā)現(xiàn),有慢跑習(xí)慣、不聽音樂的24人,有慢跑并且有聽音樂習(xí)慣的18人,一共42人。讓這42人在慢跑前填寫一次問卷,慢跑后再次填寫問卷發(fā)放問卷,立即回收。慢跑時(shí)長不少于20min,速度不限。音樂類型不限,根據(jù)自己愛好而定。
G01=33.5993+7.0552P1
Gg1=36.5853+5.9400P15≤P1≤25
單抽機(jī)組型號為C50-8.82/0.118,最大進(jìn)汽量為306 t/h,最小凝汽量為20 t/h。 機(jī)組特性方程為:
G02=4.0256P2+0.2156Gd24.6≤P2≤50
雙抽機(jī)組型號為C50-8.82/1.274/0.118, 最大進(jìn)汽量為360 t/h,最小凝汽量為12t/h。 機(jī)組特性方程為:
G03=4.6367P3+0.6229Gg3+0.1410Gd3
4.3≤P3≤50
求熱電廠在電負(fù)荷P=100MW、生產(chǎn)熱負(fù)荷Gg=200t/h、采暖熱負(fù)荷Gd=180t/h調(diào)度下,各機(jī)組的負(fù)荷分配情況。
即:目標(biāo)函數(shù)minG = minf = G01+G02+G03
Gg=Gg1+Gg3
Gd=Gd2+Gd3
令x1=P1、x2=P2、x3=P3、x4=Gg1、x5=Gd2、x6=Gd3、x7=Gg3。
當(dāng)前,求解線性規(guī)劃問題的軟件總體可以分為三類:第一類是大規(guī)模軟件包,比如MATLAB、Delphi等, 它們都將線性規(guī)劃問題的求解編制為其中的重要內(nèi)容,可以解決復(fù)雜的、包含數(shù)千個(gè)決策變量和數(shù)千個(gè)約束條件的大型線性規(guī)劃問題; 第二類是小型軟件包,如LINGO、LINDO等,這些軟件包可以解決包含不超過100個(gè)決策變量、 不超過60個(gè)約束條件的線性規(guī)劃問題; 第三類就是Microsoft Excel“線性規(guī)劃”模塊。
這里僅介紹用MATLAB 優(yōu)化工具箱求解線性規(guī)劃問題。 MATLAB中線性規(guī)劃問題的標(biāo)準(zhǔn)形式如下:
s.t. A·x≤b
Aeq·x=beq
lb≤x≤ub
這里x、b、beq、lb、ub為向量,A、Aeq為矩陣,f(x)為目標(biāo)函數(shù),Aeq·x=beq為線性約束,lb≤x≤ub為可行解的區(qū)間約束。
在MATLAB 6.0及以上版本中, 求解線性規(guī)劃問題的調(diào)用函數(shù)是linprog。
[x,fval,exitflag,output,lambda] =(f,Aeq,beq,lb,ub)
編寫.m文件
其中:fval目標(biāo)函數(shù)最優(yōu)值;exitflag為終止迭代條件,若exitflag>0表示函數(shù)收斂于解x,若exitflag=0表示超過函數(shù)估值或迭代的最大數(shù)值,exitflag<0表示函數(shù)不收斂于解x;output返回算法信息;lambda為解的Lagrange乘子。
輸出:
利用linprog能求出滿足所有約束條件的最優(yōu)解,但在求解具有相互矛盾的約束條件時(shí)會(huì)出現(xiàn)無解情況。 使用linprog函數(shù)只需編寫簡單的幾行程序代碼,便可求解線性規(guī)劃問題,結(jié)果穩(wěn)定可靠,計(jì)算精度高,使得調(diào)試變得簡單,提高了調(diào)試效率。
Delphi是美國Borland公司研發(fā)的基于Windows平臺(tái)下的快速應(yīng)用程序開發(fā)工具(Rapid Application Development,簡稱RAD)。 Delphi是集成開發(fā)環(huán)境(IDE)、核心Object Pascal,以圖形用戶界面為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用程序開發(fā)工具。
文獻(xiàn)[12]提供了在Delphi 6.0中生成的應(yīng)用程序工程軟件和和最后生成的可執(zhí)行文件,其中對線性規(guī)劃問題求解提供了原始單純形法、 兩階段法、大M法、對偶單純形法等。 原始單純形法程序只能求解約束條件“《”并且限定全部非負(fù)的線性規(guī)劃問題,兩階段法、大M法對約束條件“《”、“》”、“=”以及混合約束都可以求解, 同時(shí)限定向量亦可以取負(fù)值。 使用大M法計(jì)算時(shí), 由于M值較大容易引起數(shù)值計(jì)算上的困難,所以幾乎所有商業(yè)線性規(guī)劃軟件都不使用大M法,而是使用兩階段法。 對偶單純形法只用于靈敏度分析場合。
打開tydch.exe文件, 就進(jìn)入了用戶操作界面,需要注意的是: 在初始化數(shù)據(jù)界面輸入數(shù)據(jù)時(shí),文本框中倒數(shù)第二列為操作標(biāo)識(shí),其中-1、0、1依次表示“《”、“=”、“》”;若某一文本框數(shù)據(jù)輸入為空,則程序把其相應(yīng)的變量賦值為零;最后一列為限定向量的值(即常數(shù)列), 最后一行輸入目標(biāo)函數(shù)的系數(shù)(此處要特別注意最后兩格是空的)。在輸入數(shù)據(jù)無誤后點(diǎn)擊“確定”,程序根據(jù)輸入數(shù)據(jù)來判斷是否加入人工變量,若需要,程序提示“需要加入人工變量,進(jìn)入第一段程序求解”;若不需要,則程序給出提示“不許加入人工變量,直接進(jìn)入第二階段求解”。
圖1 輸入設(shè)置
在輸入目標(biāo)函數(shù)系數(shù)時(shí), 只能輸入變量的系數(shù),而不能輸入常數(shù)項(xiàng),所以遇到這種情況,應(yīng)在取得運(yùn)算最優(yōu)值時(shí)應(yīng)再加上常數(shù)項(xiàng),才能算得最終優(yōu)化結(jié)果。
軟件運(yùn)算結(jié)束是528.2479 t/h, 再加上目標(biāo)函數(shù)常數(shù)項(xiàng)33.5993 t/h,最優(yōu)值為561.8472 t/h,最優(yōu)解不變。
運(yùn)籌學(xué)Delphi求解線性規(guī)劃問題,在用戶界面中,模型的輸入簡單,易操作,但在標(biāo)準(zhǔn)目標(biāo)函數(shù)后面加上一個(gè)常數(shù)項(xiàng),就顯得不便捷了。
圖2 最終結(jié)果
LINGO軟件由美國芝加哥大學(xué)的Linus Scharge教授于1980年開發(fā), 是專門用于求解最優(yōu)化問題的工具軟件包。 LINGO 是英文Linear INteractive and General Optimizer字母的縮寫形式,即“交互式的線性和通用優(yōu)化求解器”。 LINGO軟件有以下特點(diǎn):
1)LINGO 軟件的程序開頭以 “MIN=”或“MAX=”表示目標(biāo)是求最小值或最大值問題,后面直接寫出目標(biāo)函數(shù)的表達(dá)式。
2) LINGO的輸入格式與數(shù)學(xué)模型表達(dá)式幾乎完全一樣,系數(shù)與變量間的乘號“*”不可省略,目標(biāo)函數(shù)及每個(gè)約束條件后面均以“;”結(jié)束,LINGO中的字母不區(qū)分大小寫。
3)LINGO中都已假設(shè)所有的變量為非負(fù),對于約束條件中出現(xiàn)的非負(fù)約束(比如x,y》0)不必寫入程序里。
圖3 模型和解報(bào)表
對于本文的負(fù)荷優(yōu)化分配的線性規(guī)劃問題,當(dāng)模型窗口中程序編寫完畢, 通過點(diǎn)擊按鈕運(yùn)行程序, 可得到LINGO 主框下的解報(bào)表(Solution Report)和解算器狀態(tài)界面(Solver Status),LINGO軟件求得結(jié)果如圖3、圖4所示。
圖4 解算器狀態(tài)界面
利用LINGO 軟件求解,輸入模型簡單,可直觀的描述優(yōu)化模型。 計(jì)算結(jié)果中包含敏感性報(bào)告,使得對影子價(jià)格及靈敏度分析的含義有了深刻的認(rèn)識(shí)。
Excel“線性規(guī)劃”模塊是Microsoft Excel 2003以后版本自身封裝好的一個(gè)獨(dú)立功能模塊。初始安裝時(shí)并沒有被激活,使用時(shí)應(yīng)在主菜單下打開“工具”下拉菜單,然后單擊“加載宏”,打開“加載宏”對話框,選擇“規(guī)劃求解”旁邊的復(fù)選框后點(diǎn)“確定”即可。
激活“規(guī)劃求解”功能模塊后,對于任何一個(gè)線性規(guī)劃數(shù)學(xué)模型, 都可以直接應(yīng)用此模塊進(jìn)行求解, 但我們可以制作一個(gè)Excel線性規(guī)劃問題求解模板,即根據(jù)一些數(shù)學(xué)模型的規(guī)模(決策變量及約束條件的多少), 在主工作表各中劃出一個(gè)固定的區(qū)域, 并明確各區(qū)域的用途和所填寫的數(shù)據(jù)的性質(zhì),并入錄計(jì)算公式,根據(jù)主工作表格中各單元的對應(yīng)關(guān)系,一次設(shè)置好“規(guī)劃求解參數(shù)”和“規(guī)劃求解選項(xiàng)”, 便制作成為一個(gè)可以多次使用的的線性規(guī)劃求解模板。 以后使用時(shí),只需在線性規(guī)劃的求解模板中填入變量系數(shù)和常數(shù)項(xiàng),并簡單修改一下關(guān)鍵參數(shù)的設(shè)置(比如《、》、=)即可,這樣可以減少設(shè)置參數(shù)時(shí)與主工作表單元格地址對照的繁瑣過程。
對于本文的負(fù)荷優(yōu)化分配的線性規(guī)劃問題,通過Excel軟件求得結(jié)果如圖5所示。
圖5 Excel操作界面及最終結(jié)果顯示
在點(diǎn)擊“求解”時(shí),界面顯示結(jié)果不僅有最優(yōu)解和最優(yōu)值,同時(shí),還有一個(gè)“規(guī)劃求解結(jié)果”對話框,對話框右邊報(bào)告選項(xiàng)框第二項(xiàng)“敏感性報(bào)告”有重要意義, 點(diǎn)擊 “確定”,Excel就增加了一個(gè)工作薄“敏感性報(bào)告1”。打開此工作薄,顯示變量單元格及約束的靈敏度分析報(bào)告,包括遞減成本、允許的增(減)量和影子價(jià)格等。
Excel“規(guī)劃求解”功能模塊還可以設(shè)置迭代次數(shù)、精度、誤差值及收斂度等,使得計(jì)算精度更高;同時(shí),生成的敏感性報(bào)告,使得對計(jì)算結(jié)果有更全方位的認(rèn)識(shí)。
1)通過計(jì)算結(jié)果比較,四種計(jì)算機(jī)軟件求解的負(fù)荷優(yōu)化分配的線性規(guī)劃問題的最優(yōu)解和最優(yōu)值相同, 說明四種軟件在求得結(jié)果的數(shù)值上是一致的,并且對熱電廠解決負(fù)荷優(yōu)化分配問題具有重要指導(dǎo)意義。
2) 分析以上四種方法,LINGO的輸入最簡單,MATLAB和Delphi次之, 最后是用EXCEL, 但是從計(jì)算結(jié)果來看,EXCEL 得到的信息最豐富,MATLAB和LINGO得到的信息量相近,Delphi得到信息最少。 綜上所述,LINGO作為一個(gè)專門求解最優(yōu)化問題的軟件包,優(yōu)勢相對明顯一些,不僅操作方便而且又能獲得豐富的信息。
3)最終采用哪種計(jì)算機(jī)軟件求解,還應(yīng)根據(jù)實(shí)際的具體問題和要求的可操作性、穩(wěn)定性及精度等因素共同決定,倘若采用的計(jì)算機(jī)軟件能與熱電廠現(xiàn)場DCS控制結(jié)合起來,那么這項(xiàng)研究更具有工程價(jià)值。
[1]吳祈宗,鄭志勇.鄧偉等.運(yùn)籌學(xué)與最優(yōu)化MATLA編程[M].北京:機(jī)械工業(yè)出版社,2009.
[2]劉志真,陳潔.熱力發(fā)電廠[M].北京:中國電力出版社,2009.
[3]李春明.優(yōu)化方法[M].南京:東南大學(xué)出版社,2009.
[4]李勤道,劉志真.熱力發(fā)電廠熱經(jīng)濟(jì)性計(jì)算分析[M].北京:中國電力出版社,2008.
[5]王運(yùn)民.應(yīng)用線性規(guī)劃理論分配電廠機(jī)組間的負(fù)荷[J].動(dòng)力工程,2002,(6).
[6]唐家裕,付林,狄洪發(fā).不同類型供熱機(jī)組熱電負(fù)荷優(yōu)化分配的研究 [J]. 沈陽工程學(xué)院學(xué)報(bào) (自然科學(xué)版),2007,(7).
[7]陳士成.運(yùn)籌學(xué)—數(shù)據(jù)、模型與決策[M].蘭州:蘭州大學(xué)出版社,2009.
[8]王正東.數(shù)學(xué)軟件與數(shù)學(xué)實(shí)驗(yàn)[M].北京:科學(xué)出版社,2010.
[9]金星,薛毅.優(yōu)化建模與LINDO/LINGO軟件[M].北京:清華大學(xué)出版社,2005.
[10]劉建永.運(yùn)籌學(xué)算法與編程實(shí)踐—Delphi實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2004.
[11]閆水保,張營帥,鄭立軍.采用遺傳算法的供熱機(jī)組間負(fù)荷分配[J].發(fā)電設(shè)備,2008,(1).