張 勇, 王 臣, 王 闖, 姜鑫蕾, 劉 潔
(東北石油大學(xué) a. 物理與電子工程學(xué)院; b. 電氣信息工程學(xué)院, 黑龍江 大慶 163318)
隨著我國(guó)社會(huì)的快速發(fā)展, 工業(yè)生產(chǎn)和日常生活對(duì)石油天然氣能源的需求量也日趨增加。油氣長(zhǎng)輸管道作為石油千米、 天然氣的主要運(yùn)輸方式, 具有低污染、 高效率的優(yōu)點(diǎn)[1]。截止至2015年8月, 中國(guó)陸地油氣管道總長(zhǎng)達(dá)到12萬(wàn)千米, 包括原油管道、 成品油管道和天然氣管道, 其中原油管道約2.3萬(wàn)千米, 成品油管道約2.1萬(wàn)千米, 天然氣管道約7.6萬(wàn)千米[2]。管道會(huì)由于服役時(shí)間的增長(zhǎng)而逐漸老化, 受到各種介質(zhì)的腐蝕, 工作人員的操作失誤或人為的破壞而發(fā)生泄漏事故。油氣管道泄漏不僅會(huì)給生產(chǎn)、 運(yùn)營(yíng)單位造成巨大的經(jīng)濟(jì)損失, 而且會(huì)對(duì)環(huán)境造成破壞、 嚴(yán)重影響管道沿線居民的身體健康和生命安全。據(jù)統(tǒng)計(jì), 自1995年-2017年, 我國(guó)共發(fā)生管道泄漏引起的安全事故1 000多起, 造成近千億人民幣的經(jīng)濟(jì)損失。目前, 長(zhǎng)輸油氣管道泄漏檢測(cè)方法按基于軟件或硬件的方法劃分主要有以下幾種。基于硬件方法: 磁通泄漏檢測(cè)法、 紅外成像檢測(cè)法、 管道機(jī)器人檢測(cè)法以及放射性探傷檢測(cè)法?;谲浖椒ǎ?聲波檢測(cè)法、 負(fù)壓波檢測(cè)法、 小波變化檢測(cè)法、 流量平衡法、 實(shí)時(shí)模型檢測(cè)法以及神經(jīng)網(wǎng)絡(luò)模型檢測(cè)法[3-4]。在實(shí)際檢測(cè)過(guò)程中, 由于受到自然地理環(huán)境的限制, 以上這些檢測(cè)方法的準(zhǔn)確率無(wú)法保證, 且檢測(cè)效率低、 成本高。
模糊C均值算法由Dunn[5]提出, 并由James[6]改進(jìn)完善的一種模式識(shí)別聚類算法。因其處理高緯度復(fù)雜樣本的能力較強(qiáng)和其無(wú)標(biāo)簽的樣本要求, 模糊C均值算法是目前最常用的聚類算法。傳統(tǒng)的模糊C均值算法由于在根據(jù)目標(biāo)函數(shù)優(yōu)化聚類中心的過(guò)程中采用了梯度下降法, 其最終得到的聚類中心往往并非最優(yōu)聚類中心, 在某些特殊情況下, 還會(huì)出現(xiàn)無(wú)法找到合適聚類中心的情況。而粒子群算法是一種基于群體的隨機(jī)優(yōu)化算法, 其具有收斂速度快, 全局搜索能力強(qiáng), 尋優(yōu)效果好的特點(diǎn)。
因此, 筆者提出了一種基于粒子群優(yōu)化的模糊C均值聚類算法, 利用粒子群算法極佳的尋優(yōu)特性替代傳統(tǒng)模糊C均值中的梯度下降算法, 以提高模糊C均值算法的聚類能力, 并構(gòu)建模型, 對(duì)長(zhǎng)輸氣管道數(shù)據(jù)進(jìn)行分析處理, 實(shí)現(xiàn)長(zhǎng)輸管道泄漏檢測(cè)的目的。
設(shè)待聚類樣本點(diǎn)個(gè)數(shù)為N, 空間為X={x1,x2,…,xi},i∈[1,N], 聚類的類別數(shù)為C, 聚類中心為P={c1,c2,…,cj},j∈[1,C], 則樣本空間中待分類的第i個(gè)樣本點(diǎn)與第j個(gè)聚類中心之間的距離可表示為
Dij=‖xi-cj‖
(1)
設(shè)U為隸屬度矩陣, 其中第i個(gè)樣本點(diǎn)對(duì)第j個(gè)聚類中心的隸屬度可表示為
(2)
其中m為任意大于0的整數(shù), 一般取2, 其約束條件為對(duì)樣本空間中的任意樣本點(diǎn)i, 其對(duì)所有聚類中心的隸屬度之和總為1, 可表示如下
(3)
根據(jù)式(1)~式(3), 模糊C均值算法的目標(biāo)函數(shù)J定義如下
(4)
隨著迭代的進(jìn)行, 隸屬度矩陣U和聚類中心P的更新公式如下
(5)
(6)
模糊C均值的迭代過(guò)程可以歸結(jié)為以下幾個(gè)步驟:
1) 確定類別數(shù)C, 參數(shù)m和迭代停止誤差ε以及最大迭代次數(shù)M;
2) 初始化聚類中心P;
3) 計(jì)算初始距離矩陣Dij;
4) 根據(jù)隸屬度矩陣更新公式更新隸屬度矩陣, 如遇到樣本點(diǎn)與聚類中心重合的情況, 則把該樣本點(diǎn)相應(yīng)聚類中心的隸屬度設(shè)為1, 其余設(shè)為0;
5) 根據(jù)聚類中心更新公式更新聚類中心;
6) 重新計(jì)算距離矩陣, 并更新目標(biāo)函數(shù)值;
7) 若達(dá)到最大迭代次數(shù)或前后兩次迭代的目標(biāo)函數(shù)值的差小于迭代停止誤差
Jiter-Jiter-1≤ε
(7)
則停止迭代, 否則轉(zhuǎn)到步驟4)繼續(xù)進(jìn)行迭代;
8) 將樣本點(diǎn)劃分為隸屬度最大的那一類。
粒子群(PSO: Particle Swarm Optimization)算法是由Kennedy等[7]提出的一種進(jìn)化算法, 是一種基于種群的隨機(jī)優(yōu)化算法。粒子群算法是模仿昆蟲(chóng)、 獸類、 鳥(niǎo)類和魚(yú)類的群體行為, 以協(xié)同的方式尋找獵物, 群體中的每個(gè)成員通過(guò)學(xué)習(xí)自身的經(jīng)驗(yàn)和群體中其他成員的經(jīng)驗(yàn), 不斷改變自己的運(yùn)動(dòng)趨勢(shì)的搜索模式。
設(shè)粒子群的樣本個(gè)數(shù)為n, 樣本空間中第i個(gè)粒子的位置表示為xi, 第i個(gè)粒子在迭代過(guò)程中所經(jīng)過(guò)的最好的位置被稱為第i個(gè)粒子的個(gè)體最優(yōu)解, 也叫局部極值點(diǎn), 表示為pi, 整個(gè)群體所經(jīng)過(guò)的最好的位置被稱為群體最優(yōu)解, 也叫全局極值點(diǎn), 表示為pg, 第i個(gè)粒子在第k次迭代時(shí)的速度表示為vi(k), 粒子群中的每個(gè)粒子根據(jù)當(dāng)前迭代次數(shù)時(shí)的個(gè)體最優(yōu)位置和群體最優(yōu)位置更新自己下一時(shí)刻的速度, 更新公式如下
vi(k+1)=ωvi(k)+c1r1(pi(k)-xi(k))+c2r2(pg(k)-xi(k))
(8)
可以看出, 速度的更新公式由3部分組成: 第1部分為前一時(shí)刻速度對(duì)下一時(shí)刻粒子局部搜索能力和全局搜索能力的平衡; 第2部分是粒子的自我學(xué)習(xí)部分, 根據(jù)自己的學(xué)習(xí)經(jīng)驗(yàn)調(diào)節(jié)全局搜索能力, 避免陷入局部最優(yōu)值; 第3部分是粒子的群體學(xué)習(xí)部分, 根據(jù)粒子群中其他粒子的學(xué)習(xí)經(jīng)驗(yàn)調(diào)節(jié)局部搜索能, 實(shí)現(xiàn)粒子群中的信息共享。粒子速度通常設(shè)置限制為粒子搜索空間的寬度, 即
(9)
粒子位置更新公式如下
xi(k+1)=xi(k)+vi(k+1)
(10)
其中k為當(dāng)前迭代次數(shù)。ω為慣性因子,c1和c2為加速度常數(shù),r1和r2為兩個(gè)在閉區(qū)間[0,1]上正態(tài)分布的隨機(jī)數(shù), 筆者采用權(quán)值線性遞減法根據(jù)迭代次數(shù)更新ω的值, 更新公式如下
(11)
其中ω1和ω2為慣性因子的初始值和最終值,Q為當(dāng)前迭代次數(shù),Qmax為最大迭代次數(shù)。
權(quán)值線性遞減法的引入使粒子群算法在迭代開(kāi)始時(shí)具有較強(qiáng)的全局搜索能力, 擴(kuò)大了搜索空間, 確保粒子盡快收斂到最優(yōu)解所在區(qū)域, 隨著迭代次數(shù)的增加,ω值逐漸減小, 此時(shí)粒子群算法局部搜索能力增強(qiáng), 便于找出全局最優(yōu)解[8]。
根據(jù)實(shí)際問(wèn)題設(shè)置粒子群算法的適應(yīng)度值計(jì)算公式, 設(shè)第i個(gè)粒子在第k次迭代時(shí)的適應(yīng)度值為Fi(k), 第k次迭代時(shí)群體適應(yīng)度值為Fg(k), 第k次迭代時(shí)第i個(gè)粒子的個(gè)體最優(yōu)適應(yīng)度值為Fibest(k), 第k次迭代時(shí)的群體最優(yōu)適應(yīng)度值為Fgbest(k), 則迭代過(guò)程中第i個(gè)粒子的個(gè)體最優(yōu)位置更新公式如下
(12)
群體最優(yōu)位置更新公式如下
(13)
粒子群算法的尋優(yōu)迭代過(guò)程可以歸結(jié)為以下幾個(gè)步驟:
1) 初始化粒子位置P, 根據(jù)初始化粒子位置計(jì)算初始pg、pi、Fgbest、Fibest, 根據(jù)搜索空間X的寬度, 初始化粒子速度v, 設(shè)置速度限制[vmax,vmin], 根據(jù)實(shí)際問(wèn)題設(shè)置適應(yīng)度值函數(shù)F, 適應(yīng)度閾值ε;
2) 根據(jù)速度更新粒子位置;
3) 根據(jù)更新的粒子位置計(jì)算當(dāng)前迭代時(shí)刻的Fi(k)、Fg(k), 并根據(jù)個(gè)體最優(yōu)位置更新公式和群體最優(yōu)位置更新公式計(jì)算下一時(shí)刻的個(gè)體最優(yōu)位置和群體最優(yōu)位置;
4) 若達(dá)到預(yù)設(shè)的最大迭代次數(shù)或群體適應(yīng)度值小于預(yù)設(shè)的適應(yīng)度閾值ε, 則結(jié)束迭代過(guò)程; 否則轉(zhuǎn)到步驟2)繼續(xù)迭代過(guò)程;
5) 所得的群體最優(yōu)位置即為所求問(wèn)題的最優(yōu)解。
傳統(tǒng)的模糊C均值算法是一種依賴梯度下降搜尋最優(yōu)解的算法, 而梯度下降算法全局搜索能力很弱, 對(duì)最優(yōu)解的搜尋主要依賴于自身的局部搜索能力。算法本身對(duì)初始化聚類中心的質(zhì)量要求較高, 且搜索空間, 即樣本點(diǎn)的數(shù)量不能過(guò)大, 否則會(huì)嚴(yán)重影響最終的聚類結(jié)果, 通常需要對(duì)同一組樣本點(diǎn)進(jìn)行很多次實(shí)驗(yàn)才有可能得到滿意的聚類結(jié)果, 這樣算法耗費(fèi)的時(shí)間較多, 且工作效率極低。
而粒子群算法是一種基于群體的隨機(jī)尋優(yōu)算法, 對(duì)所求解的初始位置要求不高, 全局搜索能力強(qiáng), 且不易陷入局部最優(yōu)值, 對(duì)數(shù)量較大的復(fù)雜樣本處理能力極強(qiáng)。近些年很多學(xué)者利用粒子群算法的這些優(yōu)點(diǎn), 將其用于優(yōu)化傳統(tǒng)的經(jīng)典算法, 進(jìn)而解決了許多實(shí)際工程中的問(wèn)題[9-15]。因此筆者將模糊C均值算法看作是樣本點(diǎn)對(duì)目標(biāo)函數(shù)最小值求解的問(wèn)題, 采用粒子群算法替代傳統(tǒng)模糊C均值算法的迭代過(guò)程, 得到一種性能更好的聚類算法。
將模糊C均值所求聚類中心P矩陣作為粒子群算法的粒子群,P(k)=(p1,p2,…,pC)為粒子群算法第k次迭代時(shí)的聚類中心矩陣,p1,p2,…,pC為此時(shí)的聚類中心, 模糊c均值的樣本點(diǎn)所圍成的區(qū)域作為粒子群算法的搜索空間, 搜索空間寬度即為粒子群算法的速度限制[vmin,vmax], 其中vmin=-vmax,vmax為模糊C均值樣本點(diǎn)區(qū)間寬度, 模糊c均值的目標(biāo)函數(shù)Jm作為粒子群算法的群體適應(yīng)度值函數(shù), 將Jc定義為粒子群的個(gè)體適應(yīng)度值函數(shù)
(14)
其意義為某一聚類中心c相對(duì)于全體樣本點(diǎn)的距離與隸屬度值的乘積, 適應(yīng)度值越低, 所得聚類中心的聚類效果越好。當(dāng)群體最優(yōu)值小于預(yù)定的ε值或達(dá)到最大迭代次數(shù)時(shí), 中止迭代過(guò)程, 得到模糊C均值算法所求最優(yōu)聚類中心。
迭代過(guò)程歸結(jié)為以下幾個(gè)步驟:
1) 給定預(yù)設(shè)參數(shù)m, 聚類樣本點(diǎn)X, 預(yù)置聚類類別數(shù)c;
2) 在樣本空間X中初始化粒子群位置P, 初始化粒子群速度v, 同時(shí)通過(guò)適應(yīng)度值公式計(jì)算得到初始個(gè)體最優(yōu)適應(yīng)度值和群體最優(yōu)適應(yīng)度值;
3) 根據(jù)粒子群速度v更新粒子群位置P, 并根據(jù)個(gè)體適應(yīng)度值函數(shù)和群體適應(yīng)度值函數(shù)更新此時(shí)的粒子群個(gè)體適應(yīng)度值、 群體適應(yīng)度值、 最優(yōu)個(gè)體適應(yīng)度值、 群體最優(yōu)適應(yīng)度值;
4) 根據(jù)個(gè)體最優(yōu)適解更新公式和群體最優(yōu)解更新公式更新個(gè)體最優(yōu)解和群體最優(yōu)解;
5) 根據(jù)速度更新公式更新粒子群速度v;
6) 若達(dá)到最大迭代次數(shù)或群體適應(yīng)度值小于預(yù)設(shè)值ε, 則迭代結(jié)束, 否則轉(zhuǎn)到步驟3)繼續(xù)進(jìn)行迭代;
7) 所得群體最優(yōu)解即為模糊C均值算法所求最優(yōu)聚類中心;
8) 根據(jù)所得聚類中心計(jì)算樣本空間中各樣本點(diǎn)的隸屬度值, 將樣本點(diǎn)劃分為隸屬度較大的那一類。
為了驗(yàn)證筆者所提出的算法模型的有效性和優(yōu)越性, 將提出的算法模型用于對(duì)管道泄漏檢測(cè)實(shí)驗(yàn)數(shù)據(jù)的分類, 將實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分類并用傳統(tǒng)的模糊C均值算法、 經(jīng)典的3層BP神經(jīng)網(wǎng)絡(luò)算法構(gòu)建模型對(duì)同一組實(shí)驗(yàn)數(shù)據(jù)重復(fù)多次進(jìn)行相同的實(shí)驗(yàn), 比較所得的結(jié)果, 作為衡量算法有效性和優(yōu)越性的標(biāo)準(zhǔn)。
本次實(shí)驗(yàn)所用的數(shù)據(jù)采集自東北石油大學(xué)復(fù)雜系統(tǒng)與先進(jìn)控制研究院長(zhǎng)輸管道泄漏檢測(cè)實(shí)驗(yàn)平臺(tái)。實(shí)驗(yàn)平臺(tái)管道有效長(zhǎng)度為181.2 m, 管道型號(hào)為DN80, 材質(zhì)為不銹鋼, 管壁厚度4 mm, 管道上配有18個(gè)模擬泄漏點(diǎn)(其中14個(gè)為手動(dòng)泄漏點(diǎn), 4個(gè)為自動(dòng)泄漏點(diǎn)), 均勻分布在180 m的管道上(每隔10 m設(shè)置一處泄漏點(diǎn)), 管道兩端分別配有壓力傳感器、 液體流量計(jì)、 氣體流量計(jì)及溫度傳感器, 這些傳感器在試驗(yàn)過(guò)程中以1 024 Hz的頻率采集數(shù)據(jù), 當(dāng)管道運(yùn)行狀態(tài)正常時(shí)采集的數(shù)據(jù)為正常數(shù)據(jù), 打開(kāi)泄漏點(diǎn)時(shí)采集的數(shù)據(jù)為泄漏數(shù)據(jù)。
實(shí)驗(yàn)平臺(tái)工作狀態(tài)如下: 管道內(nèi)介質(zhì)為空氣, 壓強(qiáng)為0.4±0.05 MPa, 模擬泄漏點(diǎn)為14號(hào)手動(dòng)泄漏點(diǎn)。最終采用的數(shù)據(jù)為二維數(shù)據(jù)(進(jìn)口壓力值、 出口壓力值), 樣本數(shù)為3 072, 其中1 477個(gè)為管道運(yùn)行狀態(tài)正常的數(shù)據(jù)樣本, 其余1 595個(gè)為管道發(fā)生泄漏時(shí)的數(shù)據(jù)樣本,圖1為實(shí)驗(yàn)平臺(tái)的工作原理圖。
1. 氣泵; 2. 儲(chǔ)氣罐; 3. 儲(chǔ)水罐; 4. 水泵; 5. 出口溫度傳感器; 6. 出口壓力傳感器; 7. 模擬泄漏點(diǎn); 8. 出口氣體流量計(jì); 9. 進(jìn)口氣體流量計(jì); 10. 進(jìn)口溫度傳感器; 11. 進(jìn)口壓力傳感器。圖1 實(shí)驗(yàn)平臺(tái)原理圖Fig.1 Layout of experiment platform
實(shí)驗(yàn)所用數(shù)據(jù)容量為3 072個(gè), 為有標(biāo)簽數(shù)據(jù), 筆者提出的基于粒子群優(yōu)化的模糊C均值算法以及傳統(tǒng)的模糊C均值算法在建模分類時(shí)采取無(wú)標(biāo)簽分類的方式, 經(jīng)典的3層BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中采用有標(biāo)簽的訓(xùn)練方式, 每種算法進(jìn)行20次實(shí)驗(yàn), 其聚類和分類的平均準(zhǔn)確率和最佳準(zhǔn)確率如表1所示。
表1 實(shí)驗(yàn)結(jié)果Tab.1 Experiment result
分別選取PSO-FCM(Fuzzy C-Means based on Particle Swarm Optimization)算法和傳統(tǒng)FCM算法在20次實(shí)驗(yàn)中聚類效果最好的一組實(shí)驗(yàn), 對(duì)比其適應(yīng)度值隨迭代次數(shù)變化曲線, 結(jié)果如圖2所示。3種算法模型在20次實(shí)驗(yàn)中的具體準(zhǔn)確率及其變化趨勢(shì)如圖3所示。
從圖2可看出, 筆者提出的PSO-FCM算法相較于傳統(tǒng)的FCM算法, 適應(yīng)度值迭代到最優(yōu)值的速度更快, 最終得到的最優(yōu)適應(yīng)度值更小。從圖3可以看出, 3種算法模型中, 筆者提出的PSO-FCM算法對(duì)管道泄漏數(shù)據(jù)的平均檢測(cè)準(zhǔn)確率最高, 且檢測(cè)準(zhǔn)確率最為穩(wěn)定, 波動(dòng)最小, BP神經(jīng)網(wǎng)絡(luò)雖然檢測(cè)準(zhǔn)確率的變化波動(dòng)也很小, 但準(zhǔn)確率較PSO-FCM平均低了近6%, 而傳統(tǒng)的FCM算法雖然最高識(shí)別準(zhǔn)確率達(dá)到了96.29%, 但平均準(zhǔn)確率較低, 識(shí)別效果缺乏穩(wěn)定性, 波動(dòng)太大。
圖2 適應(yīng)度值隨迭代次數(shù)變化曲線 圖3 實(shí)驗(yàn)結(jié)果Fig.2 The fitness mean varies according to iteration times Fig.3 Experiment Result
根據(jù)以上實(shí)驗(yàn)結(jié)果, 得出以下結(jié)論。
1) 筆者提出的基于粒子群優(yōu)化的模糊C均值聚類算法相比于傳統(tǒng)的模糊C均值算法, 聚類速度更快, 聚類效果更好, 其對(duì)復(fù)雜數(shù)據(jù)聚類問(wèn)題的適應(yīng)性更好。
2) 基于筆者提出的改進(jìn)模糊C均值聚類算法建立的模型, 對(duì)長(zhǎng)輸管道實(shí)驗(yàn)數(shù)據(jù)的聚類效果優(yōu)于目前應(yīng)用廣泛的3層BP神經(jīng)網(wǎng)絡(luò)分類模型, 且其聚類效果穩(wěn)定, 可以進(jìn)一步應(yīng)用于實(shí)際工作環(huán)境中驗(yàn)證其可行性。