摘 要:為了克服FCM算法易陷入局部最優(yōu)和對初始值敏感的缺陷,本文提出一種基于BFO的FCM聚類算法。即引入BFO求得最優(yōu)解作為FCM算法的初始聚類中心,然后利用FCM算法優(yōu)化初始聚類中心,最后求得全局最優(yōu)解。將該算法用于排水管網(wǎng)監(jiān)測點優(yōu)化,實驗結果表明,該算法可以快速、有效的優(yōu)選監(jiān)測點。
關鍵詞:細菌覓食算法 模糊C均值 聚類監(jiān)測點優(yōu)化
中圖分類號:TM715 文獻標識碼:A 文章編號:1674-098X(2015)04(a)-0086-01
監(jiān)測點位設計的不合理,將導致監(jiān)測全部投入和工作前功盡棄。本文提出一種基于細菌覓食算法(Bacterial Foraging Optimization,BFO)的模糊C均值(Fuzzy C-means,F(xiàn)CM)聚類算法對排水管網(wǎng)監(jiān)測點進行優(yōu)化。即引入BFO求得最優(yōu)解作為FCM算法的初始聚類中心,然后利用FCM算法優(yōu)化初始聚類中心,最后求得全局最優(yōu)解,以改進FCM算法易陷入局部極小值和對初始值敏感的缺陷。
1 BFO-FCM聚類算法
FCM算法存在局部搜索性和對初始值敏感的問題。這里引入尋優(yōu)能力較強的BFO算 法[1]求得的最優(yōu)解作為FCM算法的初始聚類中心,然后利用FCM算法優(yōu)化初始聚類中心,最優(yōu)求得全局最優(yōu)解。具體算法步驟如下。
Step1:參數(shù)初始化,包括給定聚類數(shù)目centerNum,允許誤差ε,l=1,模糊指數(shù)m;細菌種群大小N、細菌的移動步長C、細菌最大前進次數(shù)Ns、趨化算子次數(shù)Nc、繁殖算子次數(shù)Nre和遷徙算子次數(shù)Ned。
Step2:隨機初始化種群,任意產(chǎn)生聚類中心。
Step3:針對每個細菌,根據(jù)式計算隸屬度矩陣U。
Step4:按照式f(xi)=1/(JFCM+1)計算每個細菌的適應度值,JFCM根據(jù)式,計算,根據(jù)適應度度值記錄當前最優(yōu)解。
Step 5:執(zhí)行種群進化的三層循環(huán),即外層循環(huán),遷徙算子;中層循環(huán),繁殖算子;內(nèi)層循環(huán),趨化算子。
Step 6:BOF算法結束,輸出群體最優(yōu)解。
Step 7:根據(jù)更新細菌群體的隸屬度矩陣。
Step 8:根據(jù)更新群體的聚類中心,計算相鄰兩代隸屬度矩陣之差E,若E<ε,停止;否則轉(zhuǎn)Step 7。
2 仿真實例
文中以某市23個排水干管監(jiān)測點為研究對象,23個初設監(jiān)測點某天監(jiān)測數(shù)據(jù)如表1所示。采用本文提出的基于BFO-FCM聚類算法對監(jiān)測點進行優(yōu)化。算法參數(shù)設置如下:聚類數(shù)目centerNum=10,允許誤差ε=10-3,l=1,模糊指數(shù)m=2;細菌種群大小N=50、細菌的移動步長C=0.05、細菌最大前進次數(shù)Ns=3、趨化算子次數(shù)Nc=5、繁殖算子次數(shù)Nre=2和遷徙算子次數(shù)Ned=2。優(yōu)化結果產(chǎn)生10個監(jiān)測點分別為6#、13#、9#、11#、16#、1#、12#、10#、4#和3#監(jiān)測點。對選取監(jiān)測點每天4個時刻的檢測數(shù)據(jù)進行F檢驗和T檢驗,顯著性水平取0.05。檢驗結果均為方差齊和無顯著差異,表明優(yōu)選的10個監(jiān)測點可以代替初設的23個監(jiān)測點。
3 結語
文中提出一種基于BFO的FCM聚類算法對排水管網(wǎng)監(jiān)測點進行優(yōu)化。實驗結果表明,本文方法可以改進FCM算法易陷入局部極小值和對初始值敏感的缺陷,快速、有效的優(yōu)選排水管網(wǎng)監(jiān)測點。
參考文獻
[1]楊淑瑩,張樺.群體智能與仿生計算——Matlab技術實現(xiàn)[M].北京:電子工業(yè)出版社,2014.
[2]王宏力,何星,陸敬輝,等.蟻群聚類算法的T-S模糊模型辨識[J].計算機工程與應用,2011,47(21):153-156.