趙雪辰,邢建春,王 平,李國平
(中國人民解放軍陸軍工程大學 國防工程學院,江蘇 南京 210007)
現(xiàn)如今,現(xiàn)代建筑已越來越向著自動化、智能化的方向發(fā)展。但同時也帶來許多問題,比如跨子系統(tǒng)集成困難,協(xié)議不兼容,需要人工對幾萬個底層信息點和傳感器進行校對,浪費大量人力物力等,也就是說現(xiàn)代建筑并不那么“智能”。為了較好地解決上述問題,清華大學建筑節(jié)能研究中心提出了構(gòu)建一種建筑無中心智能控制系統(tǒng)的想法[1-2],將建筑的基本單元設置為建筑空間和各種機電設備,并對每個基本單元配置一個獨立的計算和通信處理設備,稱為計算處理節(jié)點(Computing Process Node,CPN)。無中心的建筑智能化平臺具備節(jié)點即插即用、容易擴展、節(jié)點之間獨立平等的優(yōu)點,大大減少了人工校對等繁瑣的工作,使建筑更趨于自動化、智能化。
建筑電氣系統(tǒng)一直以來都是建筑中重要的組成部分,它主要是指供配電系統(tǒng),越來越復雜的建筑電氣系統(tǒng)導致其發(fā)生故障的概率大大增加。建筑電氣系統(tǒng)一旦發(fā)生故障,輕則停電檢修,重則引起電氣設備損壞,甚至導致火災事故的發(fā)生。
現(xiàn)階段集中式建筑智能化系統(tǒng)下的建筑電氣系統(tǒng)故障恢復效率較低。所以,為了讓建筑更加“智能”,就需要讓建筑智能化系統(tǒng)在運行過程中自動識別出所發(fā)生的故障。
目前,在集中式建筑智能化系統(tǒng)下的建筑電氣故障診斷已經(jīng)有了許多研究成果[3-6]。文獻[3]針對實際建筑物中典型樣本數(shù)據(jù)獲取困難這一問題,利用支持向量機(SVM)的方法建立建筑電氣系統(tǒng)故障仿真模型,并在建筑電氣系統(tǒng)故障模擬硬件實驗平臺上進行了實驗,將其結(jié)果與人工神經(jīng)網(wǎng)絡的仿真結(jié)果進行對比。對比結(jié)果表明,SVM的方法在樣本數(shù)據(jù)較小的情況下具備更好的診斷效果。
文獻[4]提出一種人工魚群算法和SVM相融合的建筑電氣故障識別模型。采用人工魚群算法找到最優(yōu)特征子集,減少分類器維數(shù),融合SVM的方法建立建筑電氣故障識別模型,并進行了仿真實驗。
由于之前提到集中式建筑智能化系統(tǒng)存在諸多問題,因此在無中心、扁平化的建筑智能化平臺下進行建筑電氣故障診斷研究就顯得很有意義。本文主要基于無中心的建筑智能化平臺提出一種基于SVM的故障診斷算法,并在實際配電網(wǎng)拓撲結(jié)構(gòu)下進行仿真分析。該算法主要依靠智能節(jié)點之間的數(shù)據(jù)互傳,自組織地對建筑配電網(wǎng)拓撲結(jié)構(gòu)進行故障診斷,在診斷過程中不需要集中式的監(jiān)控主機,診斷效果以及診斷速度都有了較大的提升。
SVM是建立在統(tǒng)計學習的VC維理論和結(jié)構(gòu)風險最小原理基礎上的一種數(shù)據(jù)挖掘方法,目前已經(jīng)較為成熟地運用在模式識別、預測分析等領(lǐng)域[7-11]。
SVM核心思想是找到一個最優(yōu)超平面使兩類樣本到該平面的間隔最大,本文節(jié)點所插入的SVM采取二分類的策略。假設有兩類數(shù)據(jù)樣本,給定訓練樣本集(xi,yi),i=1,2,…,l,x∈Rn,y∈{±1},將分類的超平面記為(w·x)+b=0,為了使樣本正確分類且分類間隔最大,就必須滿足:
yi[(w·xi)+b]≥1,i=1,2,…,l
(1)
(2)
為了解決這個最優(yōu)化問題,引入Lagrange函數(shù):

(3)
式中,ai為拉格朗日系數(shù)。上述最優(yōu)化問題滿足對w和b的偏導為零,將該問題轉(zhuǎn)化為相應的對偶問題:
(4)

得到最優(yōu)的拉格朗日常數(shù)之后,再利用偏導為零,求出最優(yōu)權(quán)向量w*和最優(yōu)偏置b*:
(5)
(6)
建筑電氣故障診斷問題實質(zhì)上就是一個分類問題,建立其故障診斷模型,將該故障診斷問題轉(zhuǎn)化為帶約束條件的優(yōu)化問題來求解,其數(shù)學模型一般為:
s.t.g(x)≤0,h(x)=0
(7)
求解該帶約束條件的方法為將相鄰節(jié)點的共有變量解耦,加入一個懲罰函數(shù)α,將上述數(shù)學模型轉(zhuǎn)化為[6]:
s.t.gi(xi)≤0,hi(xi)=0
(8)
其中xij,i,xij,j表示節(jié)點i、j共有的變量。
建筑電氣系統(tǒng)故障診斷問題就是一個將故障數(shù)據(jù)從正常數(shù)據(jù)中剔除出來的過程,即將故障狀態(tài)與正常狀態(tài)進行分類識別。而SVM就是尋找一個最優(yōu)的超平面將兩類樣本很好地分隔開,并且建筑電氣系統(tǒng)的數(shù)據(jù)量相較于其他的電力系統(tǒng)來說較小,采用SVM能較好地解決小樣本情況下的分類問題。本文所用算法中節(jié)點的SVM采用二分類的策略,將故障狀態(tài)的SVM輸出值設為-1,正常狀態(tài)的SVM輸出值設為1。在不同的智能節(jié)點上獨立地運行訓練好的SVM,通過鄰居節(jié)點之間的數(shù)據(jù)互傳以及最終的SVM輸出值來判斷節(jié)點的狀態(tài)。
集中式的SVM主要解決如下式所示問題:
(9)
考慮一個實際建筑配電網(wǎng)的拓撲結(jié)構(gòu),給定每個智能節(jié)點的訓練集Sj={(xjn,yj),n=1,2,…,Nj},其中,yjn∈{1,-1},j=1,2,…,J,J代表拓撲結(jié)構(gòu)中智能節(jié)點的個數(shù),Nj代表每個智能節(jié)點的樣本數(shù)。
無中心算法要求每個節(jié)點與鄰居節(jié)點進行數(shù)據(jù)互傳,將鄰居節(jié)點的數(shù)據(jù)作為本地節(jié)點的樣本屬性值,即本地節(jié)點的訓練集變?yōu)镾j={(xjn,yj),n=1,2,…,Njk},Njk代表本地節(jié)點本身的數(shù)據(jù)樣本以及從鄰居節(jié)點收取過來的數(shù)據(jù)樣本[12-13]。則將原先集中式的SVM無中心化,同時加入一個節(jié)點之間的一致性約束wi=wj,bi=bj,便可得到如下的無中心化SVM模型:
(10)

ζjn≥0,?j∈J,n=1,2,…,Njk
wj=wi,bj=bi,?j∈J,i∈Bj
式中,C>0為加入的懲罰因子,ξ為當樣本為線性不可分時加入的松弛因子。
本文所提出的無中心自識別算法沒有集中式的故障診斷模型,在每個節(jié)點上都插入一個SVM,僅靠鄰居節(jié)點互傳數(shù)據(jù)來判斷節(jié)點的正常與否,如上式所示,將整個全局的故障診斷問題分解為在每個智能節(jié)點上的局部問題,分布式地進行求解。算法步驟如下:
(1)本地節(jié)點收取自身樣本數(shù)據(jù)xjn,并將自己的數(shù)據(jù)傳遞給鄰居節(jié)點,同時本地節(jié)點收取鄰居節(jié)點的樣本數(shù)據(jù)xkn。
(2)將本地節(jié)點的樣本數(shù)據(jù)xjn以及鄰居節(jié)點的樣本數(shù)據(jù)xkn作為每個節(jié)點SVM的屬性值,采集正常狀態(tài)下的數(shù)據(jù)以及每個節(jié)點故障狀態(tài)下的數(shù)據(jù)作為SVM的訓練樣本。代入到式(10)中求出每個智能節(jié)點的最優(yōu)超平面,將此平面作為無中心建筑智能化平臺正常運行之后的分類依據(jù)。
(3)SVM采取二分類的策略,將正常狀態(tài)下各節(jié)點SVM輸出值均設為1。當某一節(jié)點發(fā)生故障時,將故障節(jié)點的SVM輸出值設為-1,其余節(jié)點的SVM輸出仍為1。按照上述策略以及采集到的正常狀態(tài)和故障狀態(tài)的數(shù)據(jù)對各節(jié)點SVM進行訓練。
SVM采取二分類主要是將其中的故障數(shù)據(jù)分離出來,每個節(jié)點上所存放的數(shù)據(jù)為:[xj1,xj2,…,xjk;yj],正常數(shù)據(jù)下的yj=1,故障數(shù)據(jù)則為yj=-1。
(4)在每個節(jié)點獨立地運行訓練好的SVM,節(jié)點之間互傳數(shù)據(jù)進行迭代計算。當某節(jié)點的SVM輸出為-1時,則該節(jié)點發(fā)生故障。圖1為每個時刻節(jié)點之間的同步迭代示意圖。

圖1同步迭代示意圖
將上述算法嵌入到每一個智能節(jié)點中,對于每個節(jié)點來說,嵌入的算法都是完全一樣的,該算法具有以下優(yōu)點:
(1)簡單易行。算法只需要相鄰節(jié)點之間數(shù)據(jù)互傳,并將訓練好的SVM輸入到智能節(jié)點中去,不必在中央節(jié)點上建立全局的故障診斷模型,并且該算法適用于大多數(shù)拓撲結(jié)構(gòu)。
(2)并行計算。該算法多個節(jié)點并行地進行計算,加快了處理速度,提高了運算效率。
需要特別進行說明的是,該算法只能自組織地識別出發(fā)生故障的智能節(jié)點,并不能估計此故障的嚴重程度。根據(jù)算法得到的結(jié)果,首先得出具體哪個節(jié)點發(fā)生故障,然后再根據(jù)智能節(jié)點之間存在的一些物理約束關(guān)系來判斷此節(jié)點故障的嚴重程度。
以圖2所示實際建筑配電網(wǎng)結(jié)構(gòu)為例對算法進行仿真驗證。將每個母線當成一個智能節(jié)點,利用電源管理單元(Power Management Unit,PMU)測量裝置對母線電流、電壓數(shù)據(jù)進行采集。其智能節(jié)點的網(wǎng)絡拓撲圖如圖3所示。首先采集正常狀態(tài)以及每個節(jié)點故障時的數(shù)據(jù)對各個節(jié)點的SVM進行訓練,然后將訓練好的SVM插入到每個節(jié)點中去,觀察各個節(jié)點的SVM輸出值,進而自組織地識別出故障位置。

圖2 建筑配電網(wǎng)實際結(jié)構(gòu)圖

圖3 智能節(jié)點網(wǎng)絡拓撲結(jié)構(gòu)圖
(1)單個節(jié)點(以節(jié)點1為例)故障
在各個節(jié)點上分布式并行地運行質(zhì)量因素的情況下,當采樣時刻結(jié)束時SVM輸出值為-1的節(jié)點即為故障節(jié)點。圖4中各子圖分別為各節(jié)點的SVM輸出值的變化過程。
(2)兩個節(jié)點(以節(jié)點2、5為例)發(fā)生故障
當兩個或兩個以上節(jié)點發(fā)生故障時,由于所選拓撲結(jié)構(gòu)節(jié)點均為相鄰節(jié)點,訓練的過程會比較復雜。假設在時刻4發(fā)生故障,觀察各節(jié)點SVM的輸出值。圖5中各子圖分別為各節(jié)點故障檢測的結(jié)果圖。
(3)三個節(jié)點(以節(jié)點1、3、4為例)發(fā)生故障
同樣地,在每個智能節(jié)點上運行基于SVM的無中心故障診斷算法,對10個時刻的測量值進行采集,觀察各節(jié)點SVM的輸出值。圖6中各子圖分別為各節(jié)點SVM輸出值示意圖。

圖4 單個節(jié)點故障檢測結(jié)果

圖5 兩個節(jié)點故障檢測結(jié)果

圖6 三個節(jié)點故障檢測結(jié)果
針對扁平化、無中心建筑智能化系統(tǒng)提出的基于SVM的建筑電氣故障無中心算法具有以下特點:
(1)實時性。無中心算法將訓練好的SVM插入到每個節(jié)點中,通過節(jié)點之間當前時刻的數(shù)據(jù)互傳進行并行運算來對節(jié)點的狀態(tài)進行診斷,運算速度快,克服了一般算法的滯后性。
(2)普適性。無中心算法不是只針對某些特定的配電網(wǎng)結(jié)構(gòu),只要對每個節(jié)點的SVM訓練完成,插入到節(jié)點中即可達到診斷效果。
(3)并行性。無中心算法要求多個節(jié)點同時參與并行計算,運算速度較快。
本文提出了一種基于無中心智能化平臺的建筑電氣系統(tǒng)故障診斷算法,但該算法才剛剛起步,無中心故障診斷算法在系統(tǒng)規(guī)模較大的情況下比集中式算法運用更為靈活。如何將無中心算法推廣到實際的無中心智能化建筑中,是下一步非常有意義的研究工作。
[1] 沈啟. 智能建筑無中心平臺架構(gòu)研究[D]. 北京:清華大學, 2015.
[2] 代允闖.空調(diào)冷凍站“無中心控制系統(tǒng)”研究[D]. 北京:清華大學,2016.
[3] 張龍. 建筑電氣系統(tǒng)故障診斷方法研究[D]. 北京:北京林業(yè)大學, 2014.
[4] 李忠. 人工魚群算法和支持向量機的建筑電氣故障識別[J]. 電氣應用, 2015(16):89-93.
[5] CHEN F, WANG Y, SHEN L, et al. The design of the building electrical fault diagnosis system based on multi-agent[C]// Control and Decision Conference. IEEE, 2015:3345-3349.
[6] WU Q, WANG Y, ZHANG L, et al. The research on fault diagnosis of building electrical system based on RBF neural network[C]// Proceedings of 2013 Chinese Intelligent Automation Conference. Springer Berlin Heidelberg, 2013:9-19.
[7] CRISTIANINI N,TAYLOR J S. 支持向量機導論[M]. 李國政,王猛,曾華軍,譯.北京:電子工業(yè)出版社, 2004.
[8] 張學工.關(guān)于統(tǒng)計學習理論與支持向量機[J]. 自動化學報, 2000, 26(1):32-42.
[9] STOLPE M, BHADURI K, DAS K. Distributed support vector machines: an overview[M].Solving Large Scale Learning Tasks. Challenges and Algorithms. Springer International Publishing, 2016.
[10] FLOURI K, Beferull-LOZANO B, TSAKALIDES P. Distributed consensus algorithms for SVM training in wireless sensor networks[C]// Signal Processing Conference, 2008, European. IEEE, 2008:1-5.
[11] 虞國全. 基于支持向量機的智能故障診斷技術(shù)研究[D]. 南昌:南昌大學, 2007.
[12] 王世強, 姜子炎, 邢建春,等. 空調(diào)系統(tǒng)傳感器故障檢測的無中心算法[J]. 制冷學報, 2016, 37(2):30-37.
[13] 王世強, 邢建春, 李決龍,等. 一種傳感器故障診斷的無中心自組織算法[J]. 微電子學與計算機, 2016, 33(5):80-84.