茍瑞欣, 劉小敏, 肖艷利, 王 錚
(國(guó)網(wǎng)寧夏電力有限公司經(jīng)濟(jì)技術(shù)研究院能源互聯(lián)網(wǎng)技術(shù)經(jīng)濟(jì)研究中心, 銀川 750001)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,現(xiàn)代電網(wǎng)已經(jīng)成為網(wǎng)絡(luò)物理系統(tǒng)[1]。作為最關(guān)鍵的廣域監(jiān)視、保護(hù)和控制功能之一,系統(tǒng)完整性保護(hù)(system integrity protection,SIP)旨在通過(guò)采取諸如負(fù)荷卸載、發(fā)電拒絕等補(bǔ)救措施來(lái)防止系統(tǒng)范圍內(nèi)的穩(wěn)定性問(wèn)題[2-3]。當(dāng)檢測(cè)到某些預(yù)定和不期望的系統(tǒng)條件時(shí),除了試圖減少SIP的自然失效次數(shù)外,如何確保智能電網(wǎng)中的SIP方案在面對(duì)網(wǎng)絡(luò)攻擊時(shí)不會(huì)嚴(yán)重惡化同樣重要。
SIP方案大多采用集中式主從架構(gòu),很少有方案綜合考慮網(wǎng)絡(luò)安全。為了保護(hù)SIP安全并增強(qiáng)其網(wǎng)絡(luò)泛化能力,可以探索三種解決方案:①應(yīng)用傳統(tǒng)的IT安全措施,如通信網(wǎng)絡(luò)隔離和加密,以保護(hù)SIP免受網(wǎng)絡(luò)威脅[4];②部署多個(gè)保護(hù)模塊作為彼此的備份[5];③重新設(shè)計(jì)SIP,使其能夠及時(shí)檢測(cè)到異常情況,并具有自適應(yīng)性,以便在受到攻擊時(shí)能夠相應(yīng)地調(diào)整其行為[6]?,F(xiàn)主要研究第三種選擇,尋求一種新的針對(duì)智能電網(wǎng)的抗攻擊SIP設(shè)計(jì)方案。
對(duì)于抗攻擊SIP設(shè)計(jì)方案,研究人員通常轉(zhuǎn)向權(quán)力下放來(lái)解決集中職能的安全問(wèn)題。文獻(xiàn)[7]提出了一種基于多智能體系統(tǒng)(MAS)規(guī)則的入侵檢測(cè)方案,該方法能檢測(cè)繼電器的嚴(yán)重跳閘,并能區(qū)分網(wǎng)絡(luò)攻擊和正常故障。然而。本文研究中主要集中在局部保護(hù)方面,而基于規(guī)則的異常檢測(cè)的可擴(kuò)展性可能成為應(yīng)用過(guò)程中的一個(gè)瓶頸,因?yàn)閷?duì)于復(fù)雜的函數(shù),有效的規(guī)則并不總是顯式的,也不容易總結(jié)。文獻(xiàn)[8]提出了分布式特殊保護(hù)系統(tǒng)(SPS)的思想,利用置信度來(lái)統(tǒng)計(jì)地識(shí)別不可信的智能體,并利用“數(shù)據(jù)重傳”機(jī)制來(lái)減少數(shù)據(jù)丟失的影響。然而,提出的解決方案需要同時(shí)提供大量冗余數(shù)據(jù)多個(gè)在線(xiàn)控制器。文獻(xiàn)[9]討論了一種通用的基于MAS的自適應(yīng)負(fù)荷分配方法,參與負(fù)載分配算法的智能體基于平均一致性算法動(dòng)態(tài)交換負(fù)載信息,每個(gè)代理在達(dá)成一致性后,根據(jù)系統(tǒng)范圍內(nèi)的供需差異和負(fù)載連接指標(biāo),計(jì)算出需要分配的本地負(fù)載。然而,這項(xiàng)工作沒(méi)有考慮MAS受到惡意網(wǎng)絡(luò)攻擊的情況。
為了提升系統(tǒng)抗攻擊能力以及泛化能力,現(xiàn)提出一種基于支持向量機(jī)嵌入分層決策樹(shù)(SVMLDT)的多智能體電網(wǎng)抗攻擊系統(tǒng)完整性保護(hù)方案;同時(shí)提出一種基于動(dòng)態(tài)規(guī)劃的自適應(yīng)減載方案,該方案能夠適應(yīng)拒絕服務(wù)(denial of service,DoS)攻擊。利用SVMDT以點(diǎn)對(duì)點(diǎn)的方式進(jìn)行交互,使得每個(gè)智能體都具有數(shù)據(jù)處理和決策的能力制作。實(shí)驗(yàn)結(jié)果證明了提出方法的有效性。
傳統(tǒng)的SIP通常包括一個(gè)主機(jī)(決策模塊)和幾個(gè)從機(jī)(傳感器/執(zhí)行器)。此類(lèi)集中保護(hù)方案容易受到網(wǎng)絡(luò)攻擊,當(dāng)SIP受到協(xié)同攻擊時(shí),失去主設(shè)備將導(dǎo)致隱藏故障。本節(jié)介紹一種基于多智能體系統(tǒng)(MAS)的分布式SIP,主要滿(mǎn)足只有部分代理收到對(duì)方攻擊,該SIP可以盡最大努力提供補(bǔ)救措施。MAS是由多個(gè)智能體組成的,這些智能體之間相互通信和交互,從而實(shí)現(xiàn)具有自治性的各種任務(wù)。每個(gè)智能體都有一組特定的資源(處理器、內(nèi)存、傳感器、執(zhí)行器等)和操作行為(通知、請(qǐng)求、接受和拒絕等等)。通常,MAS采用分層或?qū)Φ润w系結(jié)構(gòu)。由于具有層次結(jié)構(gòu)的MAS仍然可以區(qū)分智能體的作用,因此主要研究對(duì)等體系結(jié)構(gòu)。
許多現(xiàn)有研究工作傾向于在變電站內(nèi)設(shè)計(jì)MAS。相反,本文研究中提出的第一個(gè)假設(shè)是一個(gè)智能體代表一個(gè)完整的變電站。MAS中的智能體之間需要進(jìn)行數(shù)據(jù)和信息的交換,通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)對(duì)MAS的性能有很大的影響。圖1描繪了一種可能的拓?fù)浣Y(jié)構(gòu),其中把網(wǎng)絡(luò)映射到物理網(wǎng)格。下文提出的異常檢測(cè)和自適應(yīng)控制可以不考慮實(shí)際的通信拓?fù)浣Y(jié)構(gòu),因此對(duì)拓?fù)涞慕Y(jié)構(gòu)設(shè)計(jì)沒(méi)有著重介紹。
圖1 點(diǎn)對(duì)點(diǎn)MAS體系結(jié)構(gòu)
MAS的總體運(yùn)行流程圖如圖2所示,其中包括異常檢測(cè)和自適應(yīng)最佳減載(為內(nèi)置應(yīng)用程序)。每個(gè)智能體在本地檢測(cè)異常,但是在進(jìn)行任何保護(hù)操作之前,相互連接的智能體之間必須達(dá)成一致。此過(guò)程采用了平均一致性算法[10]。
圖2 多智能體模型流程圖
不同SIP方案對(duì)時(shí)序性能的要求各不相同,應(yīng)充分考慮,以保證能夠及時(shí)實(shí)施補(bǔ)救措施。通常,特定SIP方案不涉及多個(gè)節(jié)點(diǎn)(變電站)。雖然兩個(gè)智能體之間的通信需要中間智能體的協(xié)助并不少見(jiàn),但設(shè)計(jì)良好的通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以消除通信瓶頸,減少路由跳數(shù),從而降低通信延遲。盡管基于MAS的SIP可以替代傳統(tǒng)的集中式方案,但更佳方案是保留集中式保護(hù),將從屬節(jié)點(diǎn)轉(zhuǎn)換為智能代理,然后在他們之間進(jìn)行對(duì)等通信。通過(guò)這種方式,其他研究可以充分利用現(xiàn)有研究方案,并且系統(tǒng)升級(jí)成本較低。
集中式SIP的一個(gè)現(xiàn)存問(wèn)題是,當(dāng)從機(jī)沒(méi)有收到來(lái)自主機(jī)的任何命令時(shí),并不知道是因?yàn)闆](méi)有發(fā)生意外事件,還是因?yàn)樘囟畋粚?duì)方阻止或選擇性地過(guò)濾掉。傳統(tǒng)SIP從機(jī)無(wú)法區(qū)分這兩種情況,但智能體提出的SIP具有這種能力。為了使分散式SIP能更好地感知狀態(tài)信息,提出一種數(shù)據(jù)驅(qū)動(dòng)的異常檢測(cè)算法。
檢測(cè)異常的任務(wù)是捕獲信息物理系統(tǒng)(CPS)的任何異常操作狀態(tài),這些異常狀態(tài)可以形成一個(gè)多分類(lèi)問(wèn)題,通過(guò)監(jiān)督學(xué)習(xí)解決。標(biāo)記訓(xùn)練數(shù)據(jù)是監(jiān)督學(xué)習(xí)的前提條件,因此首先將電力系統(tǒng)的運(yùn)行狀態(tài)歸為CPS。
根據(jù)平等和不平等的違反運(yùn)算約束的次數(shù),通常電力系統(tǒng)有5種不同的運(yùn)行狀態(tài):正常、警報(bào)、緊急、極端和恢復(fù)??紤]到物理層和網(wǎng)絡(luò)層之間的相互作用,得出了一個(gè)更全面的電網(wǎng)狀態(tài)轉(zhuǎn)換圖,如圖3所示。
圖3 電力系統(tǒng)運(yùn)行狀態(tài)作為CPS
正常狀態(tài)(N/0)——物理層和網(wǎng)絡(luò)層均無(wú)異常。這種狀態(tài)用“N”或“0”表示,在本文研究中沒(méi)有區(qū)別,下文同樣如此。
應(yīng)急后狀態(tài)(P/1)——當(dāng)發(fā)生物理意外事件時(shí),網(wǎng)絡(luò)層中的SIP不會(huì)受到攻擊,并按預(yù)期正常工作。
隱藏故障狀態(tài)(H/2)——部分網(wǎng)絡(luò)層已被破壞,但尚未發(fā)生物理層意外事件。
警報(bào)狀態(tài)(A/3)——物理系統(tǒng)發(fā)生事故,同時(shí),網(wǎng)絡(luò)層一部分的保護(hù)方案也受到損害。
緊急狀態(tài)(E/4)——物理系統(tǒng)處于由于執(zhí)行保護(hù)方案而觸發(fā)級(jí)聯(lián)事件的狀態(tài)。
在極端狀態(tài)(I)——物理系統(tǒng)不穩(wěn)定,需要隔離。
在圖3中,每個(gè)模塊表示電力系統(tǒng)的狀態(tài),并且是網(wǎng)絡(luò)層中的狀態(tài)(頂部藍(lán)色文本)和物理層狀態(tài)(底部紅色文本)的組合。在定義了這些狀態(tài)后,異常檢測(cè)函數(shù)可以區(qū)分正常狀態(tài)和由網(wǎng)絡(luò)攻擊(狀態(tài)H、A或E)或自然突發(fā)事件(P)引起的異常狀態(tài)。除了狀態(tài)I以外的所有狀態(tài)都將用于數(shù)據(jù)標(biāo)記,因?yàn)楫?dāng)系統(tǒng)已處于極端狀態(tài)時(shí),異常檢測(cè)并沒(méi)有多大作用了。狀態(tài)I的所有數(shù)據(jù)實(shí)例也被標(biāo)記為狀態(tài)E。
在CPS異常檢測(cè)中,應(yīng)利用網(wǎng)絡(luò)和物理特征,從而可以揭示兩層之間的潛在關(guān)聯(lián),以反映整個(gè)系統(tǒng)的運(yùn)行狀態(tài)。
決策樹(shù)(DT)和支持向量機(jī)(SVM)是監(jiān)督學(xué)習(xí)中常用的兩種分類(lèi)方法。DT以其分類(lèi)效率而聞名,然而,當(dāng)處理與線(xiàn)性決策邊界不可分離的數(shù)據(jù)時(shí),DT的分類(lèi)精度可能不理想。相比之下,支持向量機(jī)可以更好地生成非線(xiàn)性邊界,并對(duì)具有數(shù)值特征的數(shù)據(jù)進(jìn)行分類(lèi),但與DT相比,它的計(jì)算量大,速度較慢。另外,支持向量機(jī)是進(jìn)行二值分類(lèi)的理想選擇。當(dāng)涉及多類(lèi)分類(lèi)時(shí),使用支持向量機(jī)會(huì)導(dǎo)致出現(xiàn)未分類(lèi)區(qū)域[11]?,F(xiàn)提出支持向量機(jī)嵌入分層決策樹(shù)(SVMLDT)方法,首先將訓(xùn)練數(shù)據(jù)集分離到所有名義特征下的子集合,降低了特征空間的維數(shù)。然后SVMLDT對(duì)每個(gè)子空間應(yīng)用決策樹(shù)支持向量機(jī)(decision tree support vector machine,DTSVM),這一步只需要考慮數(shù)值特征。
如上所述,SVMLDT首先利用所有名義特征,通過(guò)構(gòu)建第一層決策樹(shù)對(duì)超空間進(jìn)行分層。其次,將DTSVM應(yīng)用于第一層樹(shù)的每個(gè)葉節(jié)點(diǎn),使每一層樹(shù)的葉節(jié)點(diǎn)成為第二層樹(shù)的根節(jié)點(diǎn)。在構(gòu)造第一層樹(shù)中采用貪婪策略,利用信息增益進(jìn)行特征選擇。整個(gè)SVMLDT訓(xùn)練過(guò)程見(jiàn)算法1,主要包括以下三個(gè)步驟。
步驟1 形成具有標(biāo)稱(chēng)特征的第一層樹(shù)。
步驟2 對(duì)于第一層樹(shù)的一個(gè)根節(jié)點(diǎn),根據(jù)不同類(lèi)質(zhì)心之間的歐幾里德距離,選擇距離其他類(lèi)“最遠(yuǎn)”的類(lèi)Csep。
步驟3 訓(xùn)練支持向量機(jī),將Csep與其他類(lèi)分開(kāi)。使用遞歸算法,直到第二層樹(shù)的所有節(jié)點(diǎn)變?yōu)槿~節(jié)點(diǎn)。
算法1 SVMLDT輸入:數(shù)據(jù)集S輸出:SVMLDT模型1:程序SVMLDT(S)2:Tree=NULL3:L1_ tree=DT(標(biāo)稱(chēng)特性)4:Tree=L1_ tree5:for 每一個(gè)在L1樹(shù)中的葉子結(jié)點(diǎn)Svdo6:ifSv是‘pure (度為0),then標(biāo)記為葉結(jié)點(diǎn)7:else8:Sv為L(zhǎng)2_tree的根節(jié)點(diǎn)9:類(lèi)Csep=selectClass(Sv)10:在Csep和剩余數(shù)據(jù)之間執(zhí)行SVM算法11:if(兩個(gè)節(jié)點(diǎn)均為葉結(jié)點(diǎn))不是真的,then12:對(duì)非葉節(jié)點(diǎn)重復(fù)步驟9~步驟10。13:end if14:將L2_tree嵌入Tree中15:end if16:end for17:Return Tree18:end
算法2 選擇類(lèi)別(S)輸入:數(shù)據(jù)集S結(jié)果:類(lèi)Csep1:程序—選擇類(lèi)別(S)2:for每一個(gè)類(lèi)Cido3:找到質(zhì)心距離{dij,j≠i}4:在類(lèi)和其他類(lèi)別之間5:end for6:i=argmaximinj(dij)7:Csep=C8:ReturnCsep9:end
在本節(jié)中提出的削減負(fù)載方案依賴(lài)于互聯(lián)智能體之間的負(fù)載分配。對(duì)于一個(gè)相互連接的MAS,當(dāng)每個(gè)智能體觀(guān)察到顯著的負(fù)載變化時(shí),它將在全球范圍內(nèi)廣播其負(fù)載特性。另外,智能體從所有其他智能體收集負(fù)載配置文件,根據(jù)收集的負(fù)載數(shù)據(jù),智能體用動(dòng)態(tài)規(guī)劃的方法定期解決式(1)中提出的0-1背包問(wèn)題。因此,當(dāng)智能體需要削減負(fù)載時(shí),可以很快完成此任務(wù)。優(yōu)化問(wèn)題的目標(biāo)函數(shù)是在削減負(fù)荷后盡可能多地保留負(fù)荷值。
(1)
式(1)中:N為削減負(fù)荷方案涉及的變電站總數(shù);Ki為變電站i的饋線(xiàn)數(shù)量;Pij(MW)和vij(美元/MWh)分別代表變電站i饋線(xiàn)j上的負(fù)荷量和相應(yīng)的單位負(fù)荷值;PD(MW)為系統(tǒng)中的總負(fù)載;C(MW)為SIP觸發(fā)時(shí)必須削減的負(fù)載量。對(duì)于削減負(fù)荷方案,通常通過(guò)分析權(quán)重來(lái)確定C,假設(shè)每個(gè)智能體都知道此值是一個(gè)常數(shù),該優(yōu)化問(wèn)題中的決策變量為xij。當(dāng)xij=0時(shí),智能體將削減指定饋線(xiàn)的負(fù)載;當(dāng)xij=1時(shí),保持負(fù)載。單位負(fù)荷值vij的定義如式(2)所示:
vfeeder=LMP×(1+λfeeder)
(2)
式(2)中:LMP為節(jié)點(diǎn)邊際電價(jià);λfeeder為饋線(xiàn)的權(quán)重;vfeeder為反饋符合值。因此,饋線(xiàn)值是Pij和vij的乘積,單位為美元/h。
3.1節(jié)提出的削減負(fù)荷方案要求參與削減負(fù)荷的所有智能體相互關(guān)聯(lián)。當(dāng)MAS受到網(wǎng)絡(luò)攻擊時(shí),情況可能并非如此。通過(guò)修改式(1)中提出的自適應(yīng)策略,當(dāng)某些通信信道被DoS攻擊阻塞時(shí),SIP仍能盡最大努力采取補(bǔ)救措施。當(dāng)智能體之間的通信被阻塞時(shí),原互連的MAS將被分成幾個(gè)相互連接的小組。在一個(gè)小組中,實(shí)時(shí)負(fù)載文件仍然可以進(jìn)行“全局”共享。因此,自適應(yīng)策略可以描述如下。
(1)總削減負(fù)荷量仍由意外事故分析確定。
(4)每個(gè)智能體解決了式(3)中提出的動(dòng)態(tài)規(guī)劃問(wèn)題,并在需要時(shí)相應(yīng)地削減其部分。
(3)
用矩陣Pn×m表示所有n個(gè)代理和m次保護(hù)措施的歷史削減負(fù)荷記錄,如式(4)所示。式(5)~式(8)證明了當(dāng)每一個(gè)智能體群按式(3)規(guī)定進(jìn)行削減時(shí),總的卸載量為C(MW)。假設(shè)歷史削減負(fù)荷記錄沒(méi)有被攻擊,此假設(shè)是合理的,因?yàn)榫o急事件很少發(fā)生,而且在事后分析期間,攻擊者輸入的任何不良記錄都可以被過(guò)濾掉。
(4)
(5)
(6)
(7)
(8)
另外,所提出的自適應(yīng)削減負(fù)荷方案對(duì)DoS攻擊誘導(dǎo)的信道或智能體失效具有很強(qiáng)的抗攻擊能力,但不處理數(shù)據(jù)完整性攻擊可能導(dǎo)致失敗。
將文獻(xiàn)[12]中提出的卸載負(fù)荷SIP被映射到國(guó)際電氣工程師協(xié)會(huì)(IEEE)39總線(xiàn)系統(tǒng)作為研究案例,因?yàn)?9總線(xiàn)系統(tǒng)在某些條件下表現(xiàn)出類(lèi)似的卸載負(fù)荷保護(hù)需求。如圖4所示,當(dāng)39總線(xiàn)系統(tǒng)中的G8停止工作時(shí),線(xiàn)路16~19和線(xiàn)路21~22將過(guò)載。這是因?yàn)閳D4右下角以藍(lán)色虛線(xiàn)為界的子系統(tǒng)擁有整個(gè)系統(tǒng)37.9%的發(fā)電量,但該區(qū)域的負(fù)荷量只有15%,剩余的發(fā)電量主要通過(guò)16~19號(hào)線(xiàn)和21~22號(hào)線(xiàn)輸送到系統(tǒng)的其余部分。如果兩條線(xiàn)路因過(guò)載而跳閘,整個(gè)系統(tǒng)將變得不穩(wěn)定。因此,選擇G8表示電廠(chǎng),G8附近的卸載負(fù)荷(包括25~28號(hào)總線(xiàn))作為補(bǔ)救措施,防止兩條線(xiàn)路跳閘。
圖4 帶負(fù)荷卸載保護(hù)方案的IEEE39總線(xiàn)
創(chuàng)建5個(gè)虛擬機(jī)(VM)作為智能體,分別代表工廠(chǎng)G8和總線(xiàn)25~28。在每個(gè)虛擬機(jī)中,與操作和削減負(fù)荷相關(guān)的智能體行為的編程語(yǔ)言為Java,并利用Java運(yùn)行平臺(tái)(JADE)實(shí)現(xiàn)了智能體之間的通信。所有智能體都通過(guò)一個(gè)虛擬的雙向環(huán)連接。在此基礎(chǔ)上,對(duì)智能體通信、一致性達(dá)成和負(fù)載削減進(jìn)行了評(píng)估。對(duì)于異常檢測(cè)評(píng)估,在Opal RT模擬器上進(jìn)行實(shí)時(shí)模擬,從而合成數(shù)據(jù),并由智能體通過(guò)Kepware OPC服務(wù)器進(jìn)行收集[13]。在Simulink模型中對(duì)智能體間的同環(huán)互連進(jìn)行仿真,傳統(tǒng)的集中式保護(hù)仍然有效。通過(guò)R腳本對(duì)采集到的合成數(shù)據(jù)進(jìn)行異常檢測(cè)。
表1給出了每個(gè)智能體的特定作用,第2列狀態(tài)包括每個(gè)智能體的相關(guān)斷路器狀態(tài)。例如,S25_26表示總線(xiàn)25附近線(xiàn)路25~26上斷路器的狀態(tài)。第3列包含與每個(gè)總線(xiàn)相關(guān)的特性,Vi和ai分別為總線(xiàn)i的電壓幅值和相對(duì)相角,有功功率的輸入Inj(發(fā)電和負(fù)載)如第4列所示,第5列是功率流,第6列是系統(tǒng)頻率。相反,第7列Δt是經(jīng)過(guò)處理的指標(biāo),表示兩個(gè)連續(xù)頻率驟降之間的時(shí)間間隔。每個(gè)智能體都記錄該指標(biāo)的最后兩個(gè)值,表示最后三個(gè)頻率下降的特征。Carm和Cshed是網(wǎng)絡(luò)信息,表明存在從剩余的執(zhí)行保護(hù)措施的主機(jī)收到的“Arm”和“Shed”命令。
表1 智能體參數(shù)
首先從以下場(chǎng)景收集合成數(shù)據(jù),系統(tǒng)負(fù)載設(shè)為靜態(tài)值。該數(shù)據(jù)集被分成訓(xùn)練子集和測(cè)試子集。注意,測(cè)試子集包含了來(lái)自訓(xùn)練數(shù)據(jù)集相同類(lèi)型事件的信息。
目標(biāo)意外事件(即G8跳閘)不會(huì)受到攻擊,并且集中式的保護(hù)可以成削減負(fù)荷。配備集中式的保護(hù)時(shí),不會(huì)發(fā)生不相關(guān)的自然突發(fā)事件。當(dāng)傳統(tǒng)的集中式保護(hù)受到環(huán)形網(wǎng)絡(luò)上的單點(diǎn)或雙點(diǎn)DoS攻擊時(shí)(15種情況),G8會(huì)受到對(duì)方攻擊。
用R語(yǔ)言實(shí)現(xiàn)SVMLDT,分別用“C50”和“e1071”工具包實(shí)現(xiàn)DT和SVM。作為比較,有4種不同的分類(lèi)方法:①C50(決策樹(shù));②DTSVM;③SVMLDT;④K最近鄰(KNN),這4種方法用相同的訓(xùn)練子集進(jìn)行訓(xùn)練。表2、表3將上述測(cè)試子集分別作為智能體25和智能體26的混淆矩陣得出測(cè)試結(jié)果??梢园l(fā)現(xiàn),如果不區(qū)分狀態(tài)N和P或A和E,C50和SVMLDT可以獲得更好的檢測(cè)精度??紤]到它們需要采取補(bǔ)救措施,對(duì)N和P或A和E狀態(tài)進(jìn)行忽視處理是可行的。N和P都不需要采取補(bǔ)救措施,相反,A和E兩個(gè)階段也需要相同的補(bǔ)救措施。
表2 代理25的算法比較
表3 基于智能體26的算法比較
為了進(jìn)一步評(píng)估異常檢測(cè)模塊,又收集了兩個(gè)合成數(shù)據(jù)集來(lái)進(jìn)行“在線(xiàn)”測(cè)試。第一個(gè)是以下場(chǎng)景中收集的:在云主機(jī)G8的兩側(cè)都有DoS攻擊時(shí),遺留的集中式保護(hù)正在運(yùn)行,然后觸發(fā)G8。第二個(gè)是在系統(tǒng)正常運(yùn)行期間收集的數(shù)據(jù),包括自然線(xiàn)路故障和動(dòng)態(tài)負(fù)載變化。也就是說(shuō),第二個(gè)測(cè)試數(shù)據(jù)集包含訓(xùn)練集沒(méi)有的數(shù)據(jù)。智能體28的在線(xiàn)檢測(cè)結(jié)果如圖5所示,4個(gè)子槽的左縱軸代表系統(tǒng)頻率,右軸代表CPS運(yùn)行狀態(tài)。例如,一個(gè)脈沖在值為2處結(jié)束,表示隱藏的故障狀態(tài)H,通過(guò)子批次(a)、(b)以及子批次(c)、(d)的比較,可以看出DT和SVMLDT都能正確區(qū)分目標(biāo)事件。但是通過(guò)比較子批次(a)、(b),發(fā)現(xiàn)DT在未觀(guān)測(cè)到的測(cè)試數(shù)據(jù)上比SVMLDT在N和P之間的錯(cuò)誤分類(lèi)更多。
圖5 A28在線(xiàn)異常檢測(cè)評(píng)估
SVMLDT訓(xùn)練的時(shí)間性能取決于所考慮的SIP范圍和訓(xùn)練數(shù)據(jù)集的大小。SIP越復(fù)雜,模型需要考慮的變量越多,因此機(jī)器學(xué)習(xí)相關(guān)問(wèn)題就越復(fù)雜。對(duì)于本文討論的負(fù)載抑制SIP,每個(gè)智能體大約包括15個(gè)特性??偣彩占?50萬(wàn)個(gè)數(shù)據(jù),訓(xùn)練數(shù)據(jù)集的下采樣率設(shè)為0.002。由于所收集的數(shù)據(jù)不包括高頻信息,所以可以執(zhí)行下采樣。表4總結(jié)了4個(gè)智能體訓(xùn)練SVMLDT(1級(jí)樹(shù)和2級(jí)樹(shù))的平均中央處理器(CPU)時(shí)間消耗。一次檢測(cè)所需的平均時(shí)間如圖6所示。與DTSVM[14]、決策樹(shù)(C50)[15]、K近鄰算法(KNN)[16]和隨機(jī)森林(RF)[17]等其他分類(lèi)方法相比,SVMLDT的運(yùn)行速度性能較差。檢測(cè)時(shí)間大約需要2 ms,但仍能滿(mǎn)足削減負(fù)荷時(shí)的保護(hù)要求,且具有較好的檢測(cè)精度。
圖6 異常檢測(cè)時(shí)間成本
表4 SVMLDT訓(xùn)練時(shí)間
為了評(píng)估最佳自適應(yīng)削減負(fù)荷算法,首先需要將IEEE39節(jié)點(diǎn)系統(tǒng)中25~28總線(xiàn)上的集中負(fù)載分配給多個(gè)饋線(xiàn)。因此,假設(shè)25~28變電站各有6、4、6和8條饋線(xiàn),每條饋線(xiàn)在該總線(xiàn)上傳輸固定比例的總負(fù)荷。饋線(xiàn)的負(fù)荷曲線(xiàn)包括數(shù)量和價(jià)值兩個(gè)指標(biāo),在一般情況下,應(yīng)考慮負(fù)荷波動(dòng)并將其加到負(fù)荷值中。
(1)動(dòng)態(tài)負(fù)荷曲線(xiàn):為了使削減負(fù)荷方案能更好地運(yùn)用到實(shí)際中,利用中部獨(dú)立系統(tǒng)運(yùn)行機(jī)構(gòu)(MISO)觀(guān)測(cè)到的區(qū)域控制誤差(ACE)來(lái)模擬IEEE 39節(jié)點(diǎn)模型中的隨機(jī)負(fù)荷變化。從MISO網(wǎng)站收集的200個(gè)ACE用于通過(guò)核密度估計(jì)生成ACE概率密度函數(shù)(PDF)。然后可以從PDF中繪制ACE來(lái)模擬系統(tǒng)負(fù)載的變化。這些ACE按比例放大,從而適應(yīng)IEEE 39總線(xiàn)模型,然后按比例分割并分配給每個(gè)饋線(xiàn)。對(duì)于每個(gè)饋線(xiàn)上的負(fù)荷“值”,利用了來(lái)自MISO實(shí)時(shí)市場(chǎng)的典型LMP。對(duì)總線(xiàn)的LMP進(jìn)行隨機(jī)抽樣,然后按式(2)計(jì)算負(fù)荷值,用來(lái)表示負(fù)荷的真實(shí)值。這樣,就可以在IEEE39節(jié)點(diǎn)模型中設(shè)定負(fù)載動(dòng)態(tài)。
(2)自適應(yīng)控制結(jié)果:首先模擬目標(biāo)意外事件(即G8停運(yùn))10次,然后運(yùn)行自適應(yīng)減載算法,得到歷史削減負(fù)荷記錄,如式(4)所示。然后針對(duì)不同系統(tǒng)運(yùn)行狀態(tài)下出現(xiàn)的10種新的突發(fā)事件對(duì)該算法進(jìn)行了測(cè)試。0-1背包問(wèn)題的目標(biāo)值如圖7所示。“2-2子組”表示由于DoS攻擊,變電站25、26、27和28被分為兩個(gè)子組。類(lèi)似地,“1-3子組”是變電站25與其他變電站隔離后得到的分組??梢钥闯?,當(dāng)多智能體劃分為多個(gè)子組時(shí),其削減負(fù)成本比當(dāng)所有智能體相互關(guān)聯(lián)時(shí)的要高。然而,為了保持系統(tǒng)的穩(wěn)定性,仍然在削減同樣數(shù)量的負(fù)載。這意味著分散智能體能夠在受到DoS攻擊時(shí)會(huì)盡最大努力提供補(bǔ)救措施。與集中式SIP相比,此改進(jìn)措施較理性,當(dāng)主節(jié)點(diǎn)受到DoS攻擊時(shí),不會(huì)減輕負(fù)載。
圖7 減載結(jié)果
為了提升系統(tǒng)抗攻擊能力以及泛化能力,提出了一種基于支持向量機(jī)嵌入分層決策樹(shù)的多智能體電網(wǎng)抗攻擊系統(tǒng)完整性保護(hù)方案。通過(guò)實(shí)驗(yàn)結(jié)果分析可以得出如下結(jié)論。
(1)該算法能夠以較高的精度檢測(cè)出CPS的異常工作狀態(tài),且分散式SIP在面對(duì)惡意攻擊時(shí)具有更大的適應(yīng)性和恢復(fù)能力。
(2)無(wú)論是異常檢測(cè)還是自適應(yīng)控制模塊,都可以用其他算法代替,以適應(yīng)不同的功能需求。證明了提出方法具有較好的使用性能。
(3)由于引入了最優(yōu)自適應(yīng)負(fù)荷卸載等功能,有效加快了提出的異常檢測(cè)和自適應(yīng)控制速度,減少了時(shí)間成本。