張振亞,駱麗春,王越,王萍,程紅梅
(1.智能建筑與建筑節(jié)能安徽省重點實驗室,安徽 合肥 230022;2.安徽建筑大學(xué) 電子與信息工程學(xué)院,安徽 合肥 230601;3.安徽建筑大學(xué) 經(jīng)濟與管理學(xué)院,安徽 合肥 230601)
關(guān)鍵字:粒子群優(yōu)化算法;CPN網(wǎng)絡(luò);分布式系統(tǒng);群智能建筑平臺
智能建筑指通過將建筑物的結(jié)構(gòu)、系統(tǒng)、服務(wù)和管理根據(jù)用戶的需求進(jìn)行最優(yōu)化組合,從而為用戶提供一個高效、舒適、便利的人性化建筑環(huán)境。智能建筑是集現(xiàn)代科學(xué)技術(shù)之大成的產(chǎn)物。目前,DCS(Distributed Control System,集散控制系統(tǒng)或者分散控制系統(tǒng)或者分布式計算機控制系統(tǒng))是智能建筑設(shè)計與實現(xiàn)主要采用的控制架構(gòu),其基于控制分散、操作和管理集中的基本設(shè)計思想,采用多層分級、合作自治的結(jié)構(gòu)形式,其主要特征是它的集中管理和分散控制。PLC(Programmable Logic Controller)、FCS(Fieldbus Control System)技術(shù)的發(fā)展與成熟豐富了DCS的實踐。雖然這種架構(gòu)可以實現(xiàn)對設(shè)備的分布式控制,但是,存在一臺或多臺主計算機系統(tǒng)組成的中心節(jié)點是這種架構(gòu)的重要特征。不僅數(shù)據(jù)集中存儲在中心節(jié)點,系統(tǒng)所有業(yè)務(wù)單元的集成與數(shù)據(jù)交換也在中心節(jié)點上實 現(xiàn)?;贒CS理念實現(xiàn)的智能建筑管理平臺實現(xiàn)時,即使是使用PLC、FCS技術(shù)實現(xiàn)了完全的分布控制,依然存在縱向集成條塊分割、組網(wǎng)成本高、系統(tǒng)更改擴充變動成本高、用戶難以獲取整體信息、系統(tǒng)魯棒性差的典型問題。
針對這些典型問題,國家重點研發(fā)計劃項目“新型建筑智能化平臺系統(tǒng)技術(shù)”提出并設(shè)計了一種基于無中心、扁平化架構(gòu)理念的新型智能建筑平臺系統(tǒng):群智能建筑平臺系統(tǒng)。該平臺系統(tǒng)將建筑空間視作各建筑子空間的組合,而建筑設(shè)施(設(shè)備)也被視作是重要部件的組合。每個建筑子空間和建筑設(shè)備的重要部件都配備一個名稱為CPN(Computing Process Node,計算處理節(jié)點)的“智能節(jié)點”,建筑子空間對應(yīng)的CPN節(jié)點簡稱空間CPN節(jié)點,空間CPN節(jié)點之間按照建筑子空間鄰接的關(guān)系進(jìn)行連接:空間鄰接的空間CPN節(jié)點通過RJ45接口使用雙絞線直接連接,全部空間CPN節(jié)點構(gòu)成了一個以空間鄰接屬性為約束的網(wǎng)格;建筑物內(nèi),建筑設(shè)施(設(shè)備)被視作是重要部件對應(yīng)CPN節(jié)點(設(shè)備CPN節(jié)點)之間按照組成建筑設(shè)施/設(shè)備各部件在空間中的彼此鄰接/鄰居關(guān)系進(jìn)行連接:若兩個部件在空間上近鄰,當(dāng)且僅當(dāng)這兩個部件中間不存在具有設(shè)備CPN節(jié)點的部件,則這兩個部件的設(shè)備CPN節(jié)點通過RJ45接口使用雙絞線連接;空間CPN網(wǎng)格與設(shè)備CPN網(wǎng)絡(luò)在設(shè)備間以空間CPN與設(shè)備CPN直連的方式實現(xiàn)互聯(lián),形成支撐新型建筑智能化平臺系統(tǒng)的基礎(chǔ)網(wǎng)絡(luò):CPN網(wǎng)絡(luò)。CPN網(wǎng)絡(luò)是支撐新型建筑智能化平臺系統(tǒng)的基礎(chǔ)網(wǎng)絡(luò),若將其視作圖G,則每個子系統(tǒng)對應(yīng)的設(shè)備CPN網(wǎng)絡(luò)都是G的子圖。對新型(群)建筑智能化平臺系統(tǒng),基于基礎(chǔ)網(wǎng)絡(luò)G可以定義各建筑設(shè)施/設(shè)備系統(tǒng)對應(yīng)的CPN子網(wǎng),如空調(diào)系統(tǒng)的CPN子網(wǎng)、供配電系統(tǒng)的CPN子網(wǎng)、安防系統(tǒng)的CPN子網(wǎng)、消防系統(tǒng)的CPN子網(wǎng) 等。
粒子群優(yōu)化算法是智能建筑應(yīng)用中使用較多的優(yōu)化方法?;贑PN網(wǎng)絡(luò)的群智能建筑平臺,無論是設(shè)備CPN節(jié)點還是空間CPN節(jié)點,每個CPN節(jié)點都具有信息綜合處理與計算、數(shù)據(jù)存儲能力以及與相鄰CPN節(jié)點進(jìn)行數(shù)據(jù)交互的能力。面向群智能建筑平臺系統(tǒng)中建筑智能化策略以及建筑節(jié)能策略的實現(xiàn),本文對粒子群優(yōu)化算法進(jìn)行了改進(jìn),提出了基于CPN節(jié)點的粒子群優(yōu)化算法的分布式實現(xiàn)機制。CPN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及其構(gòu)建在第二部分給出,基于CPN網(wǎng)絡(luò)的粒子群優(yōu)化算法改進(jìn)在第三部分給出,第四部分對改進(jìn)粒子群優(yōu)化算法的性能進(jìn)行了實驗驗證與分析,總結(jié)與展望在第五部分給出。
CPN是群智能建筑平臺構(gòu)建使用的智能計算節(jié)點,無論是空間CPN之間、設(shè)備CPN之間還是空間CPN與設(shè)備CPN之間,都可以通過RJ45接口使用雙絞線直連。每個空間CPN有8個RJ45接口:1個為WAN口,用于通過外部網(wǎng)絡(luò)/公網(wǎng)與遠(yuǎn)端的服務(wù)器連接,遠(yuǎn)端的服務(wù)器可以提供CPN的初始化、更新以及下載APP等服務(wù);1個為LAN口,既可以用于使用PC/筆記本在本地設(shè)置CPN,也可以用于將本地諸如溫度、濕度、照度、人數(shù)等屬性信息上傳到本地CPN節(jié)點;其它6個鄰接接口,用于空間CPN彼此之間的連接(形式上,表示前后左右上下6個方位的空間)。設(shè)備CPN在具有與空間CPN一致的RJ45接口的同時,還帶有諸如485、232以及其它總線接口用于與設(shè)備的連接。圖1給出了CPN與CPN網(wǎng)絡(luò)的示意。
圖1(a)描述了CPN的核心功能:邏輯上,一個CPN(智能節(jié)點)包括可編程控制器PCT模塊、本地存儲MD模塊、輸入模塊I、輸出模塊O等四個模塊。其中,可編程控制器PCT模塊用于本地的信息處理與控制決策,本地存儲MD模塊用于存儲本地空間的狀態(tài)數(shù)據(jù)或者本地設(shè)備的狀態(tài)數(shù)據(jù),輸入模塊I用于PCT模塊進(jìn)行決策時所需外部信息(設(shè)備狀態(tài)信息、空間狀態(tài)信息等)的獲取,輸出模塊O用于向空間或者設(shè)備發(fā)布PCT模塊進(jìn)行的決策。為支持智能節(jié)點群(CPN網(wǎng)絡(luò))構(gòu)建,一個CPN節(jié)點還提供了6個用于其它CPN節(jié)點連接的直連端口DP。為簡化設(shè)計,目前6個直連端口DP在實現(xiàn)時都使用了RJ45接口,而輸入模塊I、輸出模塊O實現(xiàn)時使用了RJ45接口和WIFI接口。在部分機電設(shè)備專用CPN設(shè)計時,輸入模塊I、輸出模塊O也提供了對RS485、RS232接口的支持。
圖1 CPN與CPN網(wǎng)絡(luò)示意
如圖1(a)示意,相鄰的CPN節(jié)點通過直連端口使用數(shù)據(jù)線直連后,全部CPN節(jié)點就構(gòu)成了一個可以CPN網(wǎng)絡(luò)形式描述的智能節(jié)點群落。智能節(jié)點群落中,每個智能節(jié)點只能通過直連端口與鄰居交換信息。這樣,一個智能節(jié)點就可以通過綜合本地輸入模塊獲取的數(shù)據(jù)、存儲在本地的歷史數(shù)據(jù)以及從鄰居節(jié)點交換獲得的信息進(jìn)行決策,實現(xiàn)對本地空間狀態(tài)、設(shè)備狀態(tài)的全局(或局部)最優(yōu)控制。這種最優(yōu)控制決策形成時,計算力、數(shù)據(jù)存儲不需要匯聚到指定的計算節(jié)點,呈現(xiàn)計算無中心、數(shù)據(jù)無中心的特點,同時,由于智能節(jié)點群落中,每個智能節(jié)點功能一致,智能節(jié)點群落呈現(xiàn)扁平化的特點。此時,若將智能節(jié)點群落作為一種新型的群智能建筑平臺系統(tǒng),則無中心、扁平化是這種群智能建筑平臺系統(tǒng)最明顯的特點。
圖1(b)直觀地展示了一個使用CPN節(jié)點構(gòu)建的群智能建筑平臺系統(tǒng)上CPN節(jié)點在建筑空間中的分布情況:空間CPN節(jié)點依據(jù)所在區(qū)域的鄰接情況使用直連端口直連,設(shè)備CPN節(jié)點依據(jù)部件的鄰接情況使用直連端口直連,設(shè)備CPN子網(wǎng)、空間CPN子網(wǎng)在設(shè)備間通過直連端口實現(xiàn)了互聯(lián)。整體上,一個基于CPN的群智能建筑平臺系統(tǒng),其基礎(chǔ)計算平臺是一套由建筑物內(nèi)全部CPN節(jié)點互聯(lián)形成的CPN網(wǎng)絡(luò)。在拓?fù)浣Y(jié)構(gòu)上,該CPN網(wǎng)絡(luò)類似于圖1(c)示意的由CPN節(jié)點通過局部直連而形成的CPN網(wǎng)格。
基于CPN的群智能建筑平臺系統(tǒng)中,CPN節(jié)點上運行的決策是群智能建筑平臺系統(tǒng)中的APP。每個CPN節(jié)點上可以同時運行支撐群智能建筑平臺系統(tǒng)全部APP,而這些APP在一個CPN節(jié)點上,可以通過輪轉(zhuǎn)方式周期性地執(zhí)行,也可以在觸發(fā)條件滿足時被執(zhí)行。
顯然,根據(jù)圖1(c)示意的CPN網(wǎng)絡(luò)的拓?fù)?,在CPN網(wǎng)絡(luò)中,空間不相鄰的兩個CPN節(jié)點之間不會通過直連端口直接連接??梢宰C明,對任意一對不直連的CPN,一個CPN節(jié)點上的數(shù)據(jù),可以也必須通過有限次數(shù)的轉(zhuǎn)發(fā)傳遞到另一個CPN。
群智能建筑平臺系統(tǒng)的CPN網(wǎng)絡(luò)中,無論是設(shè)備CPN節(jié)點還是空間CPN節(jié)點,每個CPN節(jié)點都具有信息綜合處理與計算、數(shù)據(jù)存儲能力以及與相鄰CPN節(jié)點進(jìn)行數(shù)據(jù)交互的能力?;贑PN網(wǎng)絡(luò)實現(xiàn)粒子群優(yōu)化算法時,可以在每個CPN節(jié)點中設(shè)置若干個粒子,每個CPN節(jié)點中執(zhí)行本地策略以更新本地每個粒子的速度和位置。
對粒子群優(yōu)化算法中,設(shè)t時刻位置在x(t)、速度為v(t)的粒子,則t+1時刻,其位置x(t+1)與速度v(t+1)一般按照式(1)、(2)規(guī)定的策略更新。式(1)中,ω
是慣性因子,c
、c
是學(xué)習(xí)因子,rand()是隨機數(shù),pBest
是粒子的歷史最優(yōu)位置,而gBest
為全部粒子的歷史最優(yōu)位置。由于在群智能建筑平臺系統(tǒng)中,粒子群優(yōu)化算法的全部粒子分布在CPN網(wǎng)絡(luò)中的每個CPN節(jié)點中,而每個CPN節(jié)點只能夠與其鄰居節(jié)點交換數(shù)據(jù),這使得遍歷網(wǎng)絡(luò)中每個CPN節(jié)點以獲得全部粒子歷史最優(yōu)位置操作只能通過迭代查詢的方式實現(xiàn),這不僅使得獲取當(dāng)前時刻全部粒子歷史最優(yōu)位置的操作代價高昂,而且由于迭代查詢顯著增加的消息轉(zhuǎn)發(fā)請求也將額外消耗網(wǎng)絡(luò)的資源,將對CPN網(wǎng)絡(luò)的性能產(chǎn)生負(fù)面影響。因此,在CPN網(wǎng)絡(luò)中實現(xiàn)粒子群優(yōu)化算法時,直接使用式(1)、(2)規(guī)定的策略更新每個粒子下一時刻的速度和位置的做法有待改進(jìn)。對基于CPN網(wǎng)絡(luò)的分布式PSO算法,設(shè):1)每個CPN節(jié)點中有若干個粒子;2)對任一CPN節(jié)點,記gBestL
是該CPN節(jié)點中全部粒子的歷史最優(yōu)位置;3)對某個CPN節(jié)點,若其有m
個鄰居CPN節(jié)點,記gBestLi
是其第i
個鄰居節(jié)點中全部粒子的最優(yōu)位置,規(guī)定gBestA
如式(3)。則對基于CPN網(wǎng)絡(luò)的分布式PSO算法,某個CPN節(jié)點中任意粒子,若t
時刻其位置為x
(t
)、速度為v
(t
),則其在t
+1時刻的速度v
(t
+1)與位置x
(t
+1)可以依據(jù)式(4)、(2)確定。稱式(3)是基于CPN網(wǎng)絡(luò)的分布式PSO算法的數(shù)據(jù)交換策略,而式(4)、(2)是基于CPN網(wǎng)絡(luò)的分布式PSO算法中粒子位置的更新策略。算法1:基于CPN網(wǎng)絡(luò)的分布式粒子群優(yōu)化算法輸入:本地粒子數(shù)n,學(xué)習(xí)因子c1、c2,慣性因子ω,最大迭代次數(shù)maxN,適應(yīng)度函數(shù)fun輸出:最優(yōu)個體的位置1)初始化每個本地粒子的速度與位置2)對本地的每個粒子,將其初始位置作為其歷史最優(yōu)位置的初始值3)依據(jù)本地每個粒子的最優(yōu)位置,計算本地全部粒子最優(yōu)位置gBestL 4)k=1;5)while k<=maxN 6) 獲取每個鄰居節(jié)點的歷史最優(yōu)位置gBestLi,i=1,2…m 7) 依據(jù)式(3)計算gBestA 8) for each 本地粒子9) 依據(jù)式(4)和式(2)更新速度和位置10) 使用適應(yīng)度函數(shù)fun計算位置更新后粒子的適應(yīng)度值11) 若新位置的適應(yīng)度值較粒子歷史最佳適應(yīng)度的值更 小,將粒子歷史最優(yōu)位置設(shè)置為粒子的當(dāng)前位置12) 更新本地全部粒子最優(yōu)位置gBestL 13) k=k+1 14)輸出gBestL
算法1中,以粒子的適應(yīng)度值評估每個粒子位置的優(yōu)劣:適應(yīng)度值越小,粒子位置越優(yōu)越;粒子的適應(yīng)度值用適應(yīng)度函數(shù)fun
計算,fun
函數(shù)以粒子的位置為自變量。設(shè)gBest
是k時刻CPN網(wǎng)絡(luò)中全部CPN節(jié)點全部粒子的全局最優(yōu)位置,則對CPN網(wǎng)絡(luò)中任意CPN節(jié) 點fun
(gBestL
)≥fun
(gBestA
)≥fun
(gBest
)。因此,類似式(1)、(2)規(guī)定的粒子群優(yōu)化算法中粒子速度與位置更新,對任意一個CPN節(jié)點中的粒子群中的粒子使用式(4)、(2)更新速度和位置,該CPN節(jié)點中的粒子群中粒子位置收斂。進(jìn)一步,對全部CPN節(jié)點中的粒子群,雖然gBest
可能不出現(xiàn)在每個CPN節(jié)點的粒子群中,但依據(jù)CPN網(wǎng)絡(luò)中CPN節(jié)點的連接特性和式(3)可知:由于任意兩個CPN節(jié)點在CPN網(wǎng)絡(luò)中有限步可達(dá),故全局最優(yōu)位置gBest
可以經(jīng)過有限次迭代傳遞到CPN網(wǎng)絡(luò)中每個CPN節(jié)點上的粒子群(極端情況:CPN網(wǎng)絡(luò)中全部m個CPN節(jié)點線性排列,設(shè)第一個CPN節(jié)點是A,最后一個節(jié)點是B。若最優(yōu)位置gBest
是A節(jié)點粒子群中的局部最優(yōu)位置,則至多經(jīng)過m-1次迭代,B節(jié)點上的局部最優(yōu)位置優(yōu)于m-1次迭代前A節(jié)點的粒子群的局部最優(yōu)位置,即優(yōu)于m-1次迭代前的全局最優(yōu)位置)。顯然,式(3)規(guī)定的數(shù)據(jù)交換策略可以使全局最優(yōu)位置gBest
在CPN網(wǎng)絡(luò)中每個CPN節(jié)點上傳播,而全局最優(yōu)位置gBest可以傳遞到CPN網(wǎng)絡(luò)中每個CPN節(jié)點,意味著CPN網(wǎng)絡(luò)中每個CPN節(jié)點上的粒子群本地局部歷史位置gBestL
距全局最優(yōu)位置有限步可達(dá),表現(xiàn)為當(dāng)算法1運行結(jié)束時,每個CPN節(jié)點中粒子群的本地局部歷史位置gBestL
的適應(yīng)度值差異較小。D
={(x
,d
)|i
=1,2,…63},d
=sin(x
),x
=-3.1416+(i-1)*0.1,用一個有1個輸入神經(jīng)元、含有6個隱層神經(jīng)元的單隱層前向神經(jīng)網(wǎng)絡(luò)net擬合生成該樣本數(shù)據(jù)集的生成函數(shù)擬。顯然,被擬合函數(shù)為y
=sin(x
),?x
∈[-ππ
]。設(shè)W
、U
、B
、B
取值確定,以樣本數(shù)據(jù)集D
中的x
為輸入時net的輸出為y
,規(guī)定適應(yīng)度函數(shù)fitness
()如式(5)。顯然,fitness
的值越小,net對函數(shù)y
=sin(x
)的擬合性能越好。為使神經(jīng)網(wǎng)絡(luò)net能夠準(zhǔn)確地擬合函數(shù)y
=sin(x
),需要優(yōu)化W
、U
、B
、B
的取值。實驗通過使用算法1優(yōu)化W
、U
、B
、B
的取值對算法1的性能進(jìn)行了測試。實驗首先使用依據(jù)式(1)、(2)實現(xiàn)了非分布式粒子群優(yōu)化算法(以下簡稱算法2)。實驗中,算法2在Matlab 2016實現(xiàn)。算法2在實現(xiàn)時,記錄每運行1遍算法使用的時間。
由于算法2在實現(xiàn)時,粒子的初始位置、初始速度以及式(1)規(guī)定的粒子速度更新策略都使用了隨機數(shù),可以預(yù)期使用粒子群優(yōu)化算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)net關(guān)于目標(biāo)函數(shù)的擬合精度、訓(xùn)練時間存在波動。對所實現(xiàn)的算法2,以粒子數(shù)400、學(xué)習(xí)因子c1、c2均取值為2、慣性因子ω=0.8為輸入,重復(fù)執(zhí)行20遍。表1給出了迭代次數(shù)為1000時,算法2訓(xùn)練前向神經(jīng)網(wǎng)絡(luò)net擬合目標(biāo)函數(shù)的性能。顯然,前向神經(jīng)網(wǎng)絡(luò)net的訓(xùn)練時間比較穩(wěn)定。當(dāng)算法2終止運行、神經(jīng)網(wǎng)絡(luò)net訓(xùn)練完成時,net對目標(biāo)函數(shù)的擬合精度最佳可以達(dá)到10數(shù)量級,擬合精度均值的數(shù)量級也可以達(dá)到10??紤]到擬合精度中位值的數(shù)量級達(dá)到10,顯然絕大多數(shù)情況下,算法獲得的對W
、U
、B
、B
等參數(shù)的估計可以使前向神經(jīng)網(wǎng)絡(luò)net較好地擬合目標(biāo)函數(shù)。表2給出了迭代次數(shù)為2000時,算法2訓(xùn)練前向神經(jīng)網(wǎng)絡(luò)net擬合目標(biāo)函數(shù)的性能。顯然就擬合精度而言,結(jié)論與根據(jù)表1的結(jié)論一致。同時,注意到表1中,擬合精度均值為0.0038,而標(biāo)準(zhǔn)差為0.0083,這表明使用算法2訓(xùn)練前向神經(jīng)網(wǎng)絡(luò)net擬合目標(biāo)函數(shù)時擬合精度存在著顯著地波動。擬合精度的均值、穩(wěn)定性的提升可以通過增加迭代次數(shù)實現(xiàn):在其他參數(shù)不變的情況下,迭代次數(shù)從1000增加到2000,表2中擬合精度的均值以及標(biāo)準(zhǔn)差信息表明,通過增加迭代次數(shù)的方法提升擬合精度的均值、穩(wěn)定性可行。表2中的數(shù)據(jù)為算法2以粒子數(shù)400、學(xué)習(xí)因子c1、c2均取值為2、慣性因子ω=0.8為輸入,重復(fù)執(zhí)行20遍時采集。對比表1、表2中的算法運行時間,顯然,增加迭代次數(shù)將會顯著增加訓(xùn)練神經(jīng)網(wǎng)絡(luò)net的時間,這意味著應(yīng)用中要在提升前向神經(jīng)網(wǎng)絡(luò)net的擬合精度的性能和訓(xùn)練時間兩者之間進(jìn)行折中。表1 非分布式粒子群優(yōu)化算法的性能 (粒子數(shù):400、c1=2、c2=2、ω=0.8、1000次迭代、20遍)
表2 非分布式粒子群優(yōu)化算法的性能 (粒子數(shù):400、c1=2、c2=2、ω=0.8、2000次迭代、20遍)
對算法1,實驗使用的CPN網(wǎng)絡(luò)拓?fù)淙鐖D2所示。圖2中,每個灰色圓點表示一個CPN節(jié)點,邊表示了CPN節(jié)點的連接情況。實驗中,全部CPN節(jié)點4行5列形式排列,共20個CPN節(jié)點,一個CPN節(jié)點表示一個建筑空間分區(qū)或建筑設(shè)備組件(以下統(tǒng)稱為分區(qū))。每個CPN節(jié)點只能夠向直接連接的CPN節(jié)點發(fā)送查詢請求,任意兩個不直接連接的CPN節(jié)點不能直接交換數(shù)據(jù)。
圖2 CPN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
實驗中,算法1在Matlab 2016實現(xiàn)。算法1使用分區(qū)結(jié)構(gòu)仿真CPN節(jié)點,各CPN分區(qū)串行調(diào)度,所記錄的運行時間為全部CPN分區(qū)被調(diào)度完成后算法1的運行總時間。
圖3給出了對全部20個CPN節(jié)點,均設(shè)置粒子數(shù)為20、c1=2、c2=2、ω=0.8、迭代次數(shù)為1000時,使用算法1訓(xùn)練前向神經(jīng)網(wǎng)絡(luò)net擬合目標(biāo)函數(shù)時擬合精度的分布情況:最小值為5.1218e-04,最大值為5.8891e-04,均值為5.3154e-04,中位值為5.2618e-04,標(biāo)準(zhǔn)差為2.0246e-05。顯然,相較算法2(非分布式粒子群優(yōu)化算法),在迭代次數(shù)、學(xué)習(xí)因子、總粒子數(shù)、慣性因子一致的前提下,算法1(分布式粒子群優(yōu)化算法)擬合精度性能更高且更穩(wěn)定。全部20個CPN執(zhí)行1次算法一共耗時146.0983秒,考慮到在CPN部署后全部20個CPN分區(qū)的計算任務(wù)將并行執(zhí)行,在不考慮通信開銷的前提下,算法1可以在146.0983/20=7.3049秒左右完成;相較于表1中給出的算法2的平均運行時間(102.0537秒)和表2中給出的算法2的平均運行時間(202.6170秒),算法1的執(zhí)行速度更優(yōu)。
圖3 算法1的擬合精度分布 (20CPN、20粒子/CPN、c1=2、c2=2、ω=0.8、1000次迭代)
為測試每個CPN上的粒子數(shù)以及迭代次數(shù)對算法1性能的影響,實驗固定每個CPN中粒子數(shù)為10、c1=2、c2=2、ω=0.8,算法1將迭代次數(shù)依次從1000增加到20000,每次增加1000操作,使用算法1訓(xùn)練前向神經(jīng)網(wǎng)絡(luò)net擬合目標(biāo)函數(shù)的擬合精度情況與總耗時由表3給出。對比表1、表2、表3,就使用粒子群優(yōu)化算法訓(xùn)練前向神經(jīng)網(wǎng)絡(luò)擬合目標(biāo)函數(shù)而言,算法1可以使用較少的粒子數(shù)以增加迭代次數(shù)的方式取得優(yōu)于算法2的性能。而由于算法1是基于CPN網(wǎng)絡(luò)分布式執(zhí)行,相較于非分布式粒子群優(yōu)化算法迭代次數(shù)同等的增加,單個CPN中因迭代次數(shù)增加導(dǎo)致的時間消耗增幅并不顯著。
表3 算法1的性能(20CPN、10粒子/CPN、c1=2、c2=2、ω=0.8)
觀察表3中最小值、最大值、均值和方差兩列數(shù)據(jù)還可以發(fā)現(xiàn),每個CPN使用算法1獲得的最優(yōu)解在擬合精度上具有類似的性能,差異小。算法1是粒子群優(yōu)化算法基于CPN網(wǎng)絡(luò)的分布式實現(xiàn)。從表3可以發(fā)現(xiàn),在算法1的一次運行結(jié)束后,每個CPN節(jié)點中本地歷史最優(yōu)位置的適應(yīng)度值波動不大,這樣,在算法1執(zhí)行結(jié)束后,本地的最優(yōu)解可以作為全局最優(yōu)解的逼近。
針對主流智能建筑管理平臺的縱向集成條塊分割、組網(wǎng)成本高、系統(tǒng)更改擴充變動成本高、用戶難以獲取整體信息、系統(tǒng)魯棒性差的現(xiàn)狀,基于無中心、扁平化理念,新型的群建筑智能化平臺使用CPN網(wǎng)絡(luò),采用與建筑空間拓?fù)?建筑機電設(shè)備系統(tǒng)拓?fù)湟恢拢ń疲┑木W(wǎng)狀拓?fù)浣Y(jié)構(gòu)的方式破解了智能建筑不同子系統(tǒng)相對獨立產(chǎn)生的條塊分割問題。基于CPN網(wǎng)絡(luò)面向建筑智能化應(yīng)用和建筑節(jié)能應(yīng)用需求,和基于CPN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),為實現(xiàn)分布式粒子群優(yōu)化算法,本文設(shè)計了本地CPN節(jié)點與鄰居CPN節(jié)點的數(shù)據(jù)交換機制,提出了融合本地最優(yōu)解和鄰居最優(yōu)解的基于區(qū)域最優(yōu)解的粒子位置更新策略。實驗表明,無論是從擬合精度還是從消耗時間角度看,基于CPN網(wǎng)絡(luò)的分布式粒子群優(yōu)化算法具有更高的性能。
本文設(shè)計與實現(xiàn)的基于CPN網(wǎng)絡(luò)的分布式粒子群優(yōu)化算法是CPN網(wǎng)絡(luò)中粒子群優(yōu)化算法實現(xiàn)的一種有效架構(gòu)。結(jié)合特定的應(yīng)用,如區(qū)域內(nèi)建筑設(shè)備控制、傳感器故障檢測、人員分布等,探索該粒子群優(yōu)化算法實現(xiàn)架構(gòu)在新型的群智能建筑平臺中的應(yīng)用值得關(guān)注。
事實上,若將每個CPN的分區(qū)上運行的算法1視作算法2的改進(jìn),則基于CPN的分布式粒子群優(yōu)化算法(算法1)的一次運行可以獲得若干個(等于CPN網(wǎng)絡(luò)中CPN節(jié)點數(shù)量)算法2的解,由于每個CPN節(jié)點上算法1的局部最優(yōu)解在擬合精度上具有類似的性能,因此可以將每個CPN節(jié)點上算法1的局部最優(yōu)解是若干個算法2獲得最優(yōu)解的集成,這意味著算法1是一種基于算法2的集成學(xué)習(xí)方法的實現(xiàn)。進(jìn)一步,群智能建筑平臺中,基于CPN網(wǎng)絡(luò)的集成決策機制也是值得深入地探索。