劉鐵新,董自巖,郭怡寧
(大連海事大學 交通運輸工程學院,遼寧 大連 116600)
巖體由結構面和結構體兩部分組成,直接控制著工程的穩定性[1]。結構面廣泛分布巖體之中,由于結構面數量巨大,難以逐一分析,因此,實現巖體結構面的精準分組,是進行巖體工程穩定性分析和結構面三維網絡計算機模擬的先決條件[2]。經歷相同地質構造時期的結構面,產狀、間距、粗糙度等屬性上是相似的,可以劃分為同一優勢組別[3]。由于工程現場環境復雜,許多結構面指標難以測量。結構面產狀可使用羅盤或者點云模型進行測量。依據產狀數據,對結構面進行組別劃分,是目前常用的分組方法[4]。
文獻[5]將結構面的產狀數據進行二維化顯示,簡化了結構面數據的處理方式,并對結構面的分組方法進行了研究。早期的結構面分組多采用極點圖、等密度圖、玫瑰圖等方法[6]。此類方法雖然操作簡單,分組結果直觀,但無法給出穩定準確的結構面分組結果,且在產狀極點邊界不清晰時,需要根據工程人員的經驗進行判斷,最終的分組結果受到強烈的主觀因素影響。為了避免人為因素的干擾,文獻[7]提出了基于結構面產狀數據的分組算法,此方法的局限性在于需要先給定小球半徑,用來確定密度點的位置。在此基礎上,結構面分組算法得到進一步發展。文獻[8]將FCM算法引入結構面分組中;文獻[9]采用閉包傳遞的方法,實現對結構面產狀的模糊聚類;文獻[10]將模糊等價聚類和模糊軟劃分聚類方法相結合,提出了綜合模糊聚類分析方法;文獻[11]將迭代思想引入結構面分組中;文獻[12]建立了服從雙正態分布的產狀模型,并用迭代法對結構面進行分組。上述方法大部分為局部尋優方法,易陷入局部最優解,導致所得分組結果不穩定??紤]到FCM算法的不足,部分學者嘗試將人工智能算法引入結構面分組中,以改善FCM算法的性能。部分研究[13-16]將差分進化優化算法、變尺度混沌優化算法、量子粒子群算法、變長字符串遺傳算法等優化算法引入到結構面分組方法中,使獲得的聚類中心更具有全局性,分組的結果更加準確。然而,上述算法往往實現過程繁瑣且輸入參數較多,分組效率較低,工程實用性有限。
鑒于傳統結構面分組方法存在的不足,本文提出一種基于鵜鶘優化算法的結構面分組方法(PFCM算法),從鵜鶘優化算法出發,借助算法的強空間尋優能力,結合模糊聚類算法軟劃分的特點,獲得精確可靠分組結果。該方法能夠有效處理產狀極點邊界不清晰的數據,擴大了結構面分組方法的應用范圍。最后,利用PFCM算法對大連某邊坡的結構面進行了分組,對其工程實用性進行了驗證。
鵜鶘優化算法(pelican optimization algorithm,POA)是一種新型元啟發式優化算法,靈感來自鵜鶘種群狩獵行為。通過模擬鵜鶘狩獵的全過程,建立數學模型,找到解決問題的最優解[17]。該方法具有輸入參數少、收斂速度快、全局尋優與局部搜索相結合、算法運行流程簡單等優點。
本文結合結構面分組特點,將鵜鶘種群成員位置設定為結構面產狀聚心集(鵜鶘狩獵的過程即為尋找最優聚心集的過程),提出了基于鵜鶘優化算法的模糊聚類方法(PFCM)。該方法通過確定種群成員位置,迭代計算目標函數值F,獲得全局理想解(最優聚心集)。具體算法流程如圖1所示,基本步驟如下。
圖1 算法流程圖
步驟1設置迭代次數T、鵜鶘種群規模N及結構面分組數C。N和T越大,搜索精度越高,計算負擔越大。通過多次試算,N設置為30,T設置為100。
步驟2根據傾向(0°<α<360°)和傾角(0°<β<90°)的范圍,隨機生成結構面產狀聚心集。該過程重復N次,生成N個鵜鶘位置。
步驟3計算所有產狀數據對鵜鶘種群成員位置的隸屬度,由隸屬度矩陣計算目標函數值F,將目標函數值最小的鵜鶘所在位置視為全局最優解。
步驟4隨機尋找C條結構面產狀數據,構成獵物位置。
步驟5根據POA算法優化原理,計算鵜鶘新位置,并計算更新后隸屬度矩陣和目標函數值。
步驟6將所得目標函數值與獵物位置目標函數值比較,更新鵜鶘位置與全局最優解。
步驟7進行算法迭代,重復步驟4~6,確定每次迭代后目標函數最小值,鵜鶘對應位置為最佳位置。算法迭代過程中,所得的鵜鶘最佳位置為最優結構面產狀聚心集。
步驟8以步驟7中所得聚心集為初始聚類中心,使用FCM算法進行最終分組。
利用模糊C均值聚類算法(FCM)進行聚類時,需要給定初始的聚類中心。獲得初始聚類中心后,根據初始聚類中心計算所有樣本數據對于聚類中心的隸屬度[18]。在獲得聚類中心和隸屬度矩陣后,便可計算模糊目標函數。模糊目標函數值是評價聚類結果優劣的重要指標,模糊目標函數值越低,聚類結果越好[19]。依據模糊目標函數值重新選擇聚類中心,再根據新的聚類中心更新隸屬度矩陣,最后由更新后的隸屬度矩陣計算出新的模糊目標函數。重復上述步驟,直到所得模糊目標函數值為最小值時,聚類中心和隸屬度矩陣為最優。隸屬度矩陣和模糊目標函數計算[20]如下。
給定N個結構面xj(j=1,2,3,…,N),劃為K組,每組的聚類中心為vi(i=1,2,3,…,K)。定義uij為第j個結構面屬于第i個聚類中心的隸屬度,即
(1)
則模糊目標函數為
(2)
FCM算法依賴初始聚類中心,聚類結果不穩定,與實際情況有一定差異。針對上述不足,本文基于POA算法,對FCM算法進行了改進。
在POA算法中,使用目標函數來評估候選解決方案的優劣情況,目標函數值越小,候選解決方案越優,候選解越逼近最優解。在對巖體結構面分組時,選取式(2)作為目標函數,目標函數值最小的聚心集即為結構面的優勢產狀集。POA算法中的目標函數為
F=Jm(U,C)
(3)
1.3.1 初始化階段
假設m維空間中有n只鵜鶘,第i只鵜鶘在m維空間中的位置為Xi=[Xi1,Xi2,…,Xin],則n只鵜鶘在m維空間的位置X為
(4)
鵜鶘位置初始化為
xij=lj+α·(uj-lj),i=1,2,…,n;j=1,2,…,m
(5)
式中:xij為第i個鵜鶘在第j維的位置,n為鵜鶘的種群數量,m為求解問題的維度;α為[0,1]內的隨機數,uj、lj分別是求解問題在第j維的上下邊界。
1.3.2 移向獵物階段
在這個階段,鵜鶘識別獵物的位置,并向著獵物移動。獵物在搜索空間的隨機分布特性增強了算法的全局尋優能力。每次迭代中,鵜鶘的新位置為
(6)
如果目標函數值在該位置得到改善,則其更新位置為
(7)
1.3.3 掠過水面階段
鵜鶘到達水面后,它們在水面上展開翅膀,將獵物收集在喉袋中,該過程增強了算法的局部搜索能力。每次迭代中,鵜鶘的新位置為
(8)
如果目標函數值在該位置得到改善,則更新位置為
(9)
在結構面分組應用中,該方法相較一般仿生算法優勢如下:1)能得到更優的聚心集。對產狀極點邊界不清晰結構面分組時,能有效降低了識別錯誤率,使分組結果更為合理;2)人為輸入參數少。最大程度減少人為因素,對于結構面分組結果的影響;3)程序實現步驟簡單,分組花費時間少,提高了分組效率。
聚類有效性評價的關鍵在于:確定樣本劃分數目的合理性,以及如何定性分析劃分結果的優劣性[23]。文獻[24]以夾角余弦距離作為相似性度量,提出了簡化的謝貝尼指數。該簡化指標精度高、實用性強。計算公式如式(10)、(11)所示。
(10)
(11)
謝貝尼指數越小,聚類效果越好;反之,聚類效果越差。
采用蒙特卡羅模擬技術,模擬生成符合Fisher分布的人工數據集[25],進行算法精度對比。具體模擬參數見表1。生成數據集共有4個優勢產狀組,每個組包含300個產狀數據。下面分別使用PFCM算法和FCM算法[11]對模擬產狀數據進行分組,通過比較模擬參數和本文所提算法的分組結果來驗證算法的有效性,通過比較兩種算法的分組結果來驗證算法的準確性。
表1 結構面模擬參數
在對符合Fisher分布的產狀數據進行分組時,通常用離散度(k)表征產狀數據圍繞均值的密集程度,離散度越大,數據圍繞均值越緊密[25]。對不同離散度下生成的產狀數據進行分組,檢驗不同產狀極點邊界情況的分組精度。
當離散度k>30時,數據緊密圍繞在均值周圍,聚類邊界清晰,分組效果良好;當k<10時,數據高度分散,聚類邊界較模糊,分組結果不具有代表性。因此,選取10到30區間的離散度進行分析。
根據表1的模擬參數,在k=10、k=20、k=30時,分別生成符合Fisher分布的人工數據集。模擬生成結構面產狀極點圖,如圖2所示。FCM算法和PFCM算法聚類生成的結構面極點圖,如圖3所示。
圖2 不同離散度下的結構面極點圖(模擬)
圖3 不同離散度下的聚類效果對比圖
由圖2、3可知,FCM算法和PFCM算法在3次分組檢驗中,得到的分組數相同,與模擬的分組數一致。FCM算法和PFCM算法在結構面條數、傾向、傾角3個參數上,與模擬參數存在誤差,具體分組對比結果見表2。
表2 模擬參數和聚類結果對比
由表2可知,在k=30和k=20兩種情況下,FCM和PFCM算法的分組結果,與模擬分組結果相近,PFCM算法的分組結果更優,錯誤識別的結構面僅為FCM算法的一半。在k=10的情況下,PFCM算法分組效果依然良好,錯誤識別了9條結構面;FCM算法的分組效果較差,錯誤識別了103條結構面。PFCM算法分組所得的優勢產狀傾向和傾角,與模擬參數基本吻合;FCM算法所得傾向和傾角,與模擬參數存在較大差異。
識別錯誤率是指被錯誤分組的結構面的比率,常被作為評價結構面分組精度的指標。上述3種情況下,PFCM算法和FCM算法的識別錯誤率見表3。
表3 不同離散度下的識別錯誤率對比
由表3可見,k=30和k=20時,FCM算法和PFCM算法的識別錯誤率,處于較低水平,均小于1%;k=10時,PFCM算法的識別錯誤率依舊較低,為0.75%;FCM算法的識別錯誤率出現較大波動,增長至8.58%。為了清楚知道k在10~30之間取值時,PFCM和FCM算法的識別錯誤率變化情況,下面對兩種算法的分組情況進一步研究,具體識別錯誤率對比結果如圖4所示。
圖4 不同離散度下識別錯誤率對比
由圖4可以得到以下結論:1)PFCM算法的識別錯誤率隨著離散度的下降呈現上升的趨勢。2)FCM算法的識別錯誤率,在離散度由30到20時,呈現較為平穩的趨勢;在離散度由20到10時,呈現指數上升的趨勢。3)當離散度大于20時,兩種算法的識別錯誤率差距較小,分組精度較高;當離散度小于20時,兩種算法的識別錯誤率出現明顯差異,FCM算法的分組可靠性不高。
FCM算法較為依賴初始聚類中心,聚類中心不合理,會導致較大的識別錯誤率。PFCM算法優化上述問題,給出全局最優的初始聚類中心,分組結果和模擬參數基本一致,且產狀極點邊界不清晰時,識別錯誤率仍然較低。
在算法驗證的過程中發現,離散度、結構面條數、結構面組數(用結構面優勢產狀傾向來表示)、聚類中心(用結構面優勢產狀傾角來表示)等變量,對PFCM算法的識別精度有著較大影響?;谡辉囼炘O計,用A、B、C、D表示上述4個變量,每個變量設置5個水平,以識別錯誤率為評定指標,研究PFCM算法的分組精度變化規律。試驗采用L25(45)正交表,因素水平見表4。
表4 正交設計影響因素水平表
根據變量設定的水平數,生成結構面產狀數據,計算每種情況下的識別錯誤率,結果見表5。對計算結果進行極差分析[26],確定4個變量對PFCM算法分組精度影響的顯著性。
表5 正交設計數據表
表6為評定指標的極差分析結果表,其中:Ki(i=1,2,…,5)表示m(m=A,B,C,D)變量第i個水平的試驗結果之和;ki(i=1,2,…,5)表示Ki的平均值[26]。通過表6可知,A,B,C,D4個變量的極差分別為1.78、0.88、2.31、1.43。由極差結果分析可得,變量對于PFCM算法分組精度影響的主次順序:聚類中心→離散度→結構面組數→結構面數量。
表6 識別錯誤率極差分析結果
大連龍王塘水庫道路邊坡,巖體多呈現塊狀結構,結構面發育明顯。因邊坡穩定性易受結構面影響,邊坡結構面有效分組顯得尤為重要。本次研究的結構面產狀數據,是基于數字攝影測量技術計算所得。
拍攝水庫邊坡巖體圖像,利用近距離數字攝影測量技術,建立邊坡巖體三維點云模型。根據三維點云模型,提取跡線拐點坐標,擬合覆蓋拐點坐標的三維平面?;谌S平面的法向量,計算出結構面的產狀(傾向和傾角)數據[27]。經由上述方法,共測得結構面產狀1 030個。文獻[28]指出,只有當結構面數目超過200個時,才可以對結構面進行分組,顯然,所測得的結構面數目符合分組要求。
鵜鶘優化算法參數設置如下:最大迭代次數T=100,初始種群規模N=30。根據工程實踐經驗,分組數通常在2~8之間。以簡化的謝貝尼指數為分組效果評價指標,對比不同分組數下的分組結果,確定最佳分組數。分組數為2、3、4、5、6、7、8時,簡化謝貝尼指數分別為525.69、327.95、398.36、400.52、441.28、451.49、480.70。
由所求簡化謝貝尼指數可知,分組數為3時,簡化謝貝尼指標最小,分組效果最佳。PFCM算法結構面分組結果見表7,結構面產狀聚類效果如圖5所示。
表7 結構面聚類參數(3組)
圖5 結構面聚類極點圖(3組)
確定分組數為3后,PFCM算法對1 030個結構面進行分組,每組的結構面數分別為456、306、268,這一分組結果和工程實際情況相一致,可為后續研究工作提供理論依據。
針對傳統結構面分組方法的不足,將鵜鶘優化算法引入結構面分組當中,提出一種基于POA算法的巖體結構面分組方法。通過對該方法的研究和應用,得出以下主要結論:
1)利用鵜鶘優化算法,改進了FCM算法易受初始聚類中心的影響,難以實現全局優化的不足,分組結果更加高效、準確。
2)與未經優化FCM聚類算法相比,PFCM算法在對產狀極點邊界不清晰結構面分組時具有明顯優勢,分組結果更加穩定。
3)通過正交設計試驗,得到4個變量對算法精度影響的顯著性。聚類中心對算法精度影響最為顯著;離散度次之。
4)應用PFCM算法對大連龍王塘水庫邊坡結構面分組,得到與工程實際情況相符的分組結果,可為結構面三維網絡計算機模擬和巖體工程穩定性分析提供理論基礎。