原冠秀,高 巖,王宏杰
(1.上海理工大學(xué) 管理學(xué)院,上海 200093;2.上海健康醫(yī)學(xué)院 文理學(xué)院,上海 201318)
隨著現(xiàn)代工業(yè)技術(shù)的快速發(fā)展,人類生活變得越來越方便,如智能家居、電動(dòng)汽車等的使用。然而,方便的同時(shí)也給世界能源可持續(xù)發(fā)展帶來了巨大的挑戰(zhàn),尤其越來越多的電器產(chǎn)品和工業(yè)的超負(fù)荷運(yùn)營,是當(dāng)前世界電網(wǎng)所面臨亟待解決的問題。在這種背景下,智能電網(wǎng)應(yīng)運(yùn)而生,智能電網(wǎng)是連接發(fā)電廠、供電商、用戶之間的依靠先進(jìn)的通信和計(jì)量設(shè)施建立起來的電力網(wǎng)絡(luò)結(jié)構(gòu)。
由于電力能源自身的易損性和難存儲(chǔ)性,要求電力市場(chǎng)供電側(cè)和需求側(cè)達(dá)到均衡時(shí),才能實(shí)現(xiàn)能源的利用最大化。在電力市場(chǎng)運(yùn)營中,實(shí)時(shí)電價(jià)已經(jīng)是智能電網(wǎng)需求側(cè)管理的重要手段之一。在實(shí)時(shí)電價(jià)問題的解決過程中,目前國內(nèi)外研究主要采用兩種方法:一種是利用博弈論方法均衡供電側(cè)和需求側(cè)之間的關(guān)系,制定定價(jià)機(jī)制;另一種是利用最優(yōu)化方法研究社會(huì)福利最大化問題[1-2]。現(xiàn)有利用最優(yōu)化方法來研究實(shí)時(shí)電價(jià)的文獻(xiàn),大多數(shù)考慮的是用戶效用函數(shù)為單一類型,而現(xiàn)實(shí)生活中,由于用戶種類繁多,他們的消費(fèi)模式和偏好不同,效用函數(shù)會(huì)呈現(xiàn)多樣化。文獻(xiàn)[3]研究了基于用戶效用最大化和供電商成本最小化的社會(huì)福利最大化模型,通過分布式算法進(jìn)行對(duì)偶分解,并利用梯度投影法給出了供電商與用戶之間的實(shí)時(shí)電價(jià)更新算法。文獻(xiàn)[4-5]討論了不同環(huán)境中智能電網(wǎng)實(shí)時(shí)電價(jià)的需求側(cè)管理,提出了一些啟發(fā)式算法,解決供電商和用戶之間的用電策略,如粒子群算法、模擬退火法、ADMM算法等,它們所考慮的效用函數(shù)都為單一類型。而文獻(xiàn)[6-7]雖然針對(duì)不同電器的使用情況和耗能類型,將電器分為彈性、半彈性和非彈性,仍然沒有考慮電器分類所帶來的不同類型的效用函數(shù)。文獻(xiàn)[8-12]考慮了在實(shí)時(shí)動(dòng)態(tài)價(jià)格算法中,由于可再生資源和傳輸損耗對(duì)住宅需求響應(yīng)的不確定性,研究了如何鑒別、剔除不穩(wěn)定供電商和惡意用戶,但是,并沒有考慮電力市場(chǎng)實(shí)時(shí)電價(jià)隨效用函數(shù)的變化。另外,一些文獻(xiàn)還研究了多目標(biāo)的實(shí)時(shí)電價(jià)優(yōu)化模型,考慮含風(fēng)力和時(shí)間等多重約束耦合的實(shí)時(shí)電價(jià)及價(jià)格預(yù)測(cè)模型,利用當(dāng)市場(chǎng)供需平衡時(shí)才能實(shí)現(xiàn)出清價(jià)格的原理,得到了實(shí)時(shí)電價(jià)的更新算法[13-15]。
在利用最優(yōu)化方法解決實(shí)時(shí)電價(jià)問題中,大多數(shù)的研究都是基于效用函數(shù)最大化、成本函數(shù)最小化建立的??紤]單一類型效用函數(shù)的社會(huì)福利最大化模型,由于效用函數(shù)是凹函數(shù),對(duì)應(yīng)的優(yōu)化問題為凸優(yōu)化,利用Lagrange 對(duì)偶分解法、牛頓法、梯度投影法等方法求解,得到Lagrange乘子,即實(shí)時(shí)電價(jià)的影子價(jià)格[3,16]。但是,在現(xiàn)代網(wǎng)絡(luò)時(shí)代,邊際效益在有些情況下是增加的,如中國移動(dòng)通訊,隨著用戶的增多,邊際效益是增加的,也就是說,效用函數(shù)是非凹函數(shù)。類似的,本文考慮多類用戶多類效用函數(shù)并存的社會(huì)福利最大化模型,該模型不再是凸優(yōu)化問題,不能按照現(xiàn)有的方法解決。文獻(xiàn)[17]中提出了邊際效用非遞減用戶的實(shí)時(shí)電價(jià)方法,利用增廣Lagrange 乘子法得到了影子價(jià)格的存在唯一性。文獻(xiàn)[18]考慮了電器分類下不同類型的效用函數(shù),文獻(xiàn)[19-20]利用Karush-Kuhn-Tucher(KKT)系統(tǒng)解決該類實(shí)時(shí)電價(jià)問題,并得到了較好的效果。
本文考慮同時(shí)含有凹效用函數(shù)和非凹效用函數(shù)兩種情形并存的社會(huì)福利最大化模型,根據(jù)微觀經(jīng)濟(jì)學(xué)中出清價(jià)格滿足市場(chǎng)供需平衡原理,通過求解KKT 最優(yōu)性條件,證明了Lagrange 乘子的存在唯一性,進(jìn)一步得到了一種基于KKT 系統(tǒng)的分布式實(shí)時(shí)電價(jià)更新算法。在求解過程中,供電側(cè)的最優(yōu)產(chǎn)電量與用電側(cè)的最優(yōu)用電量可以分別計(jì)算得到,這樣也保護(hù)了用戶的隱私。最后將數(shù)值仿真結(jié)果與固定電價(jià)算法下的社會(huì)福利相比較,證實(shí)了該算法的合理性、有效性。
效用函數(shù)是微觀經(jīng)濟(jì)學(xué)中的概念,通常用來表示消費(fèi)者在消費(fèi)中所獲得的效用與所消費(fèi)的商品組合之間數(shù)量關(guān)系的函數(shù),以衡量消費(fèi)者從消費(fèi)既定的商品組合中所獲得滿足的程度。效用函數(shù)有多種形式,這里按照用戶不同,分兩種情形討論。
對(duì)于一般用戶來說,隨著電力消費(fèi)越來越高,用戶的滿意度隨之增長(zhǎng),但是,到一定程度會(huì)達(dá)到飽和,適合采用凹效用函數(shù),即(x,ω)≤0。如對(duì)數(shù)函數(shù)、分片線性函數(shù)、二次函數(shù)等,本文采用如下二次函數(shù)[17]:
式中:x代表用戶的用電量,不同用戶不同時(shí)間段彼此獨(dú)立;α為預(yù)先給定的參數(shù),α ≥0;ω代表用戶滿意度參數(shù),隨著時(shí)間、溫度等變化,各個(gè)用戶之間也各不相同。
對(duì)于一些大工業(yè)、商業(yè)用戶,由于電力消費(fèi)滿意度不同,效用隨著產(chǎn)值的改變而變化很大,在一定的電力消費(fèi)階段,效用函數(shù)值的增加速度會(huì)隨著電力消費(fèi)水平迅速增加,如果仍采用凹效用函數(shù),不再貼近實(shí)際生產(chǎn)狀況。根據(jù)微觀經(jīng)濟(jì)學(xué)原理,選取適當(dāng)?shù)姆前夹в煤瘮?shù)更加貼切。如S 型函數(shù),即Sigmoid 函數(shù)[21]:
式中,a,b為預(yù)先給定的參數(shù)。
Sigmoid 函數(shù)是單調(diào)連續(xù)增函數(shù),表示一些大用戶在用電量過低或過高時(shí)效用變化緩慢,在用電量適宜的階段,效用變化迅速。注意到參數(shù)b為函數(shù)的拐點(diǎn),即
假設(shè)供電商每次發(fā)電成本與產(chǎn)生的能量數(shù)量是單獨(dú)相關(guān)的,可由成本函數(shù)來表示。通常成本函數(shù)是一個(gè)單調(diào)增加的嚴(yán)格凸函數(shù),目前普遍采用的成本函數(shù)為二次函數(shù),即
式中:ak,bk,ck為預(yù)先給定的參數(shù),ak>0,bk,ck≥0,隨著時(shí)段不同而變化;Lk為時(shí)段k內(nèi)的產(chǎn)電量。
假設(shè)在某個(gè)區(qū)域電力系統(tǒng)中有一個(gè)供電商、多個(gè)用戶。N為所有用戶集合,每個(gè)用戶i∈N,,其中,Nc代表采用凹效用函數(shù)的用戶集合,Ninc代表采用非凹效用函數(shù)的用戶集合。實(shí)時(shí)電價(jià)理論上指某一時(shí)刻的費(fèi)用,為了方便起見,將一個(gè)時(shí)間周期(如一天24 h)分為k個(gè)時(shí)段(如24 個(gè)時(shí)段),記K={1,2,···,k}為所有時(shí)段的集合。符號(hào)表示消費(fèi)者在第 個(gè)時(shí)段的用電量,滿足,其中,表示用戶i在第k個(gè)時(shí)段最小用電量,即不斷電的情況下滿足基本的生活要求,表示用戶i在第k個(gè)時(shí)段所有電器充分利用的最大用電量。符號(hào)Lk表示第k個(gè)時(shí)段供電商的產(chǎn)電量,它滿足表示第k個(gè)時(shí)段內(nèi)最小和最大產(chǎn)電量,要求能夠提供在第k個(gè)時(shí)段所有用戶的最小用電量,保障基本生活要求,即
在整個(gè)電力市場(chǎng)中,從社會(huì)福利最大化角度考慮,基于兩個(gè)目的:最大化所有用戶的效用之和,同時(shí)最小化供電側(cè)的成本,從而建立如下模型:
式(4)中目標(biāo)函數(shù)為社會(huì)總福利,第一個(gè)約束條件含義為在每一時(shí)段,電力市場(chǎng)不斷電的情況下,所有用戶側(cè)的用電總量不會(huì)超過供電側(cè)的產(chǎn)電量。
在電力市場(chǎng)的消費(fèi)過程中,每個(gè)時(shí)段的電力消耗可以看成是完全獨(dú)立的,用戶彼此之間也是獨(dú)立的,這樣整個(gè)社會(huì)福利最大化問題就可以轉(zhuǎn)化為只需考慮某一個(gè)時(shí)段的社會(huì)福利最大化問題,整個(gè)社會(huì)福利最大化模型可以被分為k個(gè)子問題:
求解問題(5)有多種方法,如集中式內(nèi)點(diǎn)法、梯度投影法[3]、牛頓法[19]等。事實(shí)上,優(yōu)化問題的Lagrange 乘子,在電力市場(chǎng)實(shí)際問題中代表電價(jià)的影子價(jià)格,它反映了社會(huì)資源配置達(dá)到最優(yōu)的一種價(jià)格,用來指導(dǎo)供電商調(diào)整電價(jià)。因此,可以通過求解優(yōu)化問題(5)的KKT 條件,尋求Lagrange 乘子,即影子價(jià)格。定理1 首先給出優(yōu)化問題(5)的Lagrange 乘子是存在且唯一的。
定理1[17]假設(shè)優(yōu)化問題(5)中效用函數(shù)是連續(xù)可微的,由式(1)和式(2)給出,成本函數(shù)Ck(Lk)由式(3)給出,則優(yōu)化問題(5)在最優(yōu)點(diǎn)的Lagrange 乘子存在且唯一。
定理1 說明優(yōu)化問題(5)的Lagrange 乘子存在且唯一,由于優(yōu)化問題的約束條件都是線性的,滿足線性獨(dú)立約束規(guī)格[22-23],從而滿足KKT 條件,這樣就可以通過求解KKT 系統(tǒng)來進(jìn)一步求解Lagrange 乘子,即實(shí)時(shí)電價(jià)的影子價(jià)格。
考慮社會(huì)福利最大化問題(5)對(duì)應(yīng)的KKT 系統(tǒng):
其中,第一個(gè)約束的Lagrange 乘子 λk代表了實(shí)時(shí)電價(jià)的影子價(jià)格,用于指導(dǎo)供電商調(diào)整電價(jià)。產(chǎn)電量約束條件的Lagrange 乘子為,用電量約束條件的Lagrange 乘子為。
用戶側(cè)和供電側(cè)的邊際效用和邊際成本為
根據(jù)微觀經(jīng)濟(jì)學(xué)原理,當(dāng)電力水平目前沒有達(dá)到飽和的情況下,市場(chǎng)供電量與需求量達(dá)到平衡時(shí),市場(chǎng)價(jià)格為出清價(jià)格[21],從而建立實(shí)時(shí)電價(jià)迭代更新公式為
由式(9)可知,當(dāng)電力市場(chǎng)的供電量和需求量保持一致時(shí),即供需平衡時(shí),算法收斂,此時(shí)為影子價(jià)格的最優(yōu)解,指導(dǎo)供電商調(diào)整電價(jià),得到市場(chǎng)出清價(jià)格。
定理2實(shí)時(shí)電價(jià)迭代式(9)中每個(gè)用戶的用電量和產(chǎn)電量Lk可以分別由下列公式:
給出。
證明a.當(dāng)產(chǎn)電量或者用電量達(dá)不到最大或最小值時(shí),由式(6c)可知,產(chǎn)電量約束條件的Lagrange 乘子取值為0,將式(7)代入式(6a)可得,此時(shí)產(chǎn)電量為,這里代表邊際成本函數(shù)mc(Lk)的反函數(shù);
進(jìn)一步整理,對(duì)于供電側(cè)的產(chǎn)電量可以由式(10)給出。同樣分析需求側(cè)的用電量、邊際效用與影子價(jià)格的關(guān)系,可以得到需求側(cè)的用電量可以由式(11)給出。
給定某一時(shí)段k的第t次迭代的電價(jià),利用式(10)計(jì)算出供電側(cè)的產(chǎn)電量,利用式(11)計(jì)算用戶側(cè)的用電量,代入式(9),更新實(shí)時(shí)電價(jià)。這樣,供電側(cè)的產(chǎn)電量和用電側(cè)的用電量就可以分開計(jì)算,保護(hù)了用戶的隱私。
根據(jù)以上討論,現(xiàn)給出實(shí)時(shí)電價(jià)更新算法。
算法1(用戶側(cè)):
步驟1當(dāng)k∈K時(shí),對(duì)所有用戶i∈N,初始化
步驟2若t∈T,從供電商處接收電價(jià);
步驟3利用式(11)更新用電量;
步驟4將用電量的信息傳遞給供電商。
算法2(供電側(cè)):
步驟1當(dāng)k∈K時(shí),初始化
步驟2若t∈T,
b.利用式(10)更新產(chǎn)電量Lk;
步驟3若停止準(zhǔn)則成立,則算法停止;否則,重復(fù)步驟b—d。
前面利用KKT 條件的結(jié)論給出了供電側(cè)和用戶之間的用電策略,在算法中,實(shí)時(shí)電價(jià)的更新只需要知道用戶側(cè)的用電量和供電側(cè)的產(chǎn)電量,實(shí)現(xiàn)了供電側(cè)和用戶側(cè)分離,無需知道每個(gè)用戶的效用情況,保護(hù)了用戶的隱私。該算法不僅適用于采用凹效用函數(shù)的用戶,同樣也適用于部分采用非凹效用函數(shù)的大工業(yè)、商業(yè)用戶。
假設(shè)所考慮的電力系統(tǒng)有1 個(gè)供電商、10 個(gè)用戶,其中,8 個(gè)用戶采用二次效用函數(shù),2 個(gè)用戶采用Sigmoid 效用函數(shù)。一天時(shí)間分為24 個(gè)時(shí)段。這里,成本函數(shù)參數(shù)取值ak=0.01,bk=0,ck=0。效用函數(shù)U1中取參數(shù)α=0.3,效用函數(shù)U2中取參數(shù)a=2,b=15,ω∈[1,4]隨機(jī)選取,一旦取定,在一個(gè)小周期內(nèi)固定,初始電價(jià)λ0=0.56,終止參數(shù)ε=0.01。
將仿真結(jié)果與固定電價(jià)下的社會(huì)福利進(jìn)行了比較,在固定電價(jià)算法中,效用函數(shù)的參數(shù)取所有用戶參數(shù)的最大值,即ωmax=4,固定電價(jià)利用公式[3]λk=ωmax-Lkα/N計(jì)算得到。
圖1 給出了分布式算法下每個(gè)時(shí)段實(shí)時(shí)電價(jià)的變化情況,圖2 給出了實(shí)時(shí)電價(jià)下供電側(cè)的產(chǎn)電量和用電側(cè)的總用電量的變化情況,說明了當(dāng)市場(chǎng)產(chǎn)電量與總用電量達(dá)到平衡時(shí),實(shí)時(shí)電價(jià)得到最優(yōu)值,即市場(chǎng)出清價(jià)格。
從圖3 可以看出,在某一時(shí)間段供電側(cè)的產(chǎn)電量、用電側(cè)的總用電量、實(shí)時(shí)電價(jià)在迭代14 次以后,都達(dá)到了收斂,說明了分布式算法的有效性。
圖1 一天實(shí)時(shí)電價(jià)Fig.1 Electricity real-time price of a day
圖2 每時(shí)段產(chǎn)電量與總用電量Fig.2 Electricity production and consumption of a day
圖3 某時(shí)段總用電量、產(chǎn)電量和實(shí)時(shí)電價(jià)的迭代次數(shù)Fig.3 Electricity consumption and production and the iteration times for the real-time electricity price in a certain time period
圖4 比較了分布式實(shí)時(shí)電價(jià)算法和固定電價(jià)算法下的社會(huì)福利最大值,可以看出,每個(gè)時(shí)段實(shí)時(shí)電價(jià)下的社會(huì)福利值都大于固定電價(jià)下的社會(huì)福利最大值,說明實(shí)時(shí)電價(jià)的優(yōu)越性。
考慮某一個(gè)用戶的福利,用其效用減去所付費(fèi)用來表示:
圖4 實(shí)時(shí)電價(jià)與固定電價(jià)下的社會(huì)福利值Fig.4 Social welfare value under real-time price and fixed price
式中,p為實(shí)時(shí)電價(jià)。
圖5 以用戶3 為例,說明了在每個(gè)時(shí)段實(shí)時(shí)電價(jià)算法下的個(gè)體用戶福利都要高于在固定電價(jià)算法下的福利。
圖6 和圖7 是考慮10 個(gè)用戶分別采用不同效用函數(shù)進(jìn)行比較,其中,前8 個(gè)用戶采用的是二次凹效用函數(shù),9,10 用戶采用的是Sigmoid 非凹效用函數(shù)。在某一個(gè)時(shí)段中,雖然實(shí)時(shí)電價(jià)下的效用都大于固定電價(jià)下的效用,但是,從圖6 中可以看出,采用Sigmoid 非凹效用函數(shù)的用戶9 雖然用電量不為0,但是,圖7 中的效用卻接近于0,其他時(shí)段也有類似情形,這說明僅僅考慮耗電量比例公平對(duì)于這些用戶是不公平的,這也是作者下一步將要解決的問題。
圖5 兩種電價(jià)下用戶3 的福利Fig.5 Social welfare of the user 3 under two price mechanisms
圖6 時(shí)段8 實(shí)時(shí)電價(jià)下所有用戶用電量Fig.6 All users' electricity consumption under the real-time electricity pricing in eighth time period
圖7 時(shí)段8 兩種電價(jià)下所有用戶的效用Fig.7 Utility of all users under two price mechanisms in eighth time period
針對(duì)智能電網(wǎng)系統(tǒng)具有不同類型效用函數(shù)的用戶,建立了采用凹效用函數(shù)和Sigmoid 非凹效用函數(shù)兩類用戶的社會(huì)福利最大化模型,研究了實(shí)時(shí)電價(jià)問題。在已有研究對(duì)用戶僅考慮單一類型效用函數(shù)或分類后不同效用函數(shù)基礎(chǔ)上,重新考慮分類為凹效用和非凹效用函數(shù)進(jìn)行研究。由于所研究的社會(huì)福利最大化模型是非凸優(yōu)化問題,是NP 難的,本文根據(jù)市場(chǎng)出清價(jià)格原理,通過研究該模型的KKT 最優(yōu)性條件,得到了實(shí)時(shí)電價(jià)影子價(jià)格的迭代方法。整個(gè)算法只需知道用戶的用電量和供電商的產(chǎn)電量,實(shí)現(xiàn)了供電側(cè)和用電側(cè)的分離,既得到了分布式實(shí)時(shí)電價(jià)更新算法,又保護(hù)了用戶的隱私。仿真結(jié)果證實(shí)了算法的有效性。結(jié)果顯示,對(duì)于非凹效用函數(shù)的用戶僅考慮需求比例存在不公平的現(xiàn)象,這也明確了下一步研究的方向。