?

Spark云計算平臺下的結構物理參數辨識

2018-08-02 01:54駱劍彬姜紹飛
振動與沖擊 2018年14期
關鍵詞:鍵值適應度種群

駱劍彬, 姜紹飛, 任 暉, 趙 劍

(福州大學 土木工程學院,福州 350116)

隨著經濟的發展和科技的進步,許多大型工程如超大橋梁、超高層建筑、海洋平臺結構等得以興建,他們在長期服役的過程中,環境侵蝕、材料老化和荷載的長期效應、疲勞與突變等災害因素的藕合作用將不可避免地發生損傷積累必然導致結構物理參數如剛度、質量、阻尼發生改變,從而在極端情況下引發災難性的突發事故[1]。因此對大型工程結構進行結構健康監測和結構損傷識別具有極其重要的意義。結構健康監測系統和損傷檢測是目前保證大型結構安全運行的主要措施。然而,隨著大型復雜結構安裝的傳感器數量越來越多,結構健康系統產生的監測數據隨著時間推移趨于海量化[2],傳統的結構分析計算方法遇到了很大的困難:首先大型復雜結構的結構健康監測系統在長期、連續的監測中,采集的數據量十分巨大;其次由于監測手段的日趨豐富,監測數據的種類越發多樣化;另外,系統對數據處理的速度要求也不斷提高,再加上結構健康監測系統本身的缺陷比如測量精度低、系統可靠性差等問題,使得如何能夠快速、有效的分析數據成為目前結構健康監測中最重要的研究課題之一。而云計算的出現,恰好為解決這一課題提供了新的思路和方法。

云計算是一種按需取用計算資源的模式,這種模式提供可用的、便捷的、按需的網絡訪問和可配置的計算資源共享池,只需進行少量的管理工作,就可以快速獲得大量計算資源[3]。目前云計算方法已成功運用于金融、醫療、電網、地理信息等領域[4],近年部分學者嘗試將云計算方法應用到土木工程領域。朱曉斌等[5]在Hadoop平臺上使用并行聚類算法對橋梁結構狀態演化進行評估,并與傳統的串行聚類算法進行比較。Ventura等[6]探討了云計算的并行性能,并應用于高層建筑設計和非線性動力分析。陳亮[7]利用MATLAB并行和分布式計算工具箱對ITD模態參數識別任務進行了云計算模擬,實現了并行計算程序的單機和多機云中分布式計算。段夢凡[8]在Hadoop平臺上實現了懸梁的二維矩形網格劃分的有限元分析的計算過程。林菁淳等[9-10]將傳統的時序分析方法與Hadoop平臺的Map/Reduce編程模型相結合,提出基于云計算的結構損傷檢測新方法,通過兩層剛架結構仿真模擬和三層框架結構實驗驗證了該方法的可行性、有效性和精確性。

云計算平臺主要包括Hadoop、Apache Spark等技術。其中Hadoop云計算技術從2003年發展至今,它的MapReduce[11]編程模型得到廣泛推廣。但MapReduce計算過程的數據存儲依賴本地磁盤和分布式文件系統(HDFS),面對諸如多粒子群(PSO)等智能優化算法的迭代運算時,磁盤存取將占用大量時間開銷,大幅降低算法整體執行效率。2009年由加州大學伯克利分校的AMPLab實驗室最初開發了Apache Spark,它是一個圍繞速度、易用性和復雜分析構建的大數據處理框架,并于2010年成為Apache的開源項目之一,可用來構建大型的、低延遲的大數據分析系統。Apache Spark克服了MapReduce在迭代式計算的不足,能夠很好地解決MapReduce不易解決的問題[11]?;诖?,本文嘗試引入Apache Spark云計算平臺的彈性分布式數據集(RDD),將傳統多粒子群協同優化(MPSCO)算法結構物理參數辨識進行分布式并行化改進,提出Spark云計算平臺下改進并行化多粒子群協同優化(IPMPSCO)算法的結構物理參數辨識方法,并在8節點的云計算集群上對一個30層框架數值試驗和一個7層鋼框架試驗進行結構物理參數辨識,最后進行算法的性能比較。

1 基本原理

1.1 Apache Spark技術

Spark能夠很好地解決迭代運算和交互式運算,主要是因為Apache Spark引入了彈性分布式數據集RDD(Resilient Distributed Datasets),它是一個有容錯機制,可以被并行操作的數據集合,能夠被緩存到內存中,而不必像MapReduce那樣每次都從HDFS上重新加載數據。據Apache官方測試,Spark運行邏輯回歸算法的計算速度是Hadoop的10倍~100倍。

Spark通過轉換和動作對RDD數據集進行操作,從而得到所需RDD數據集。與Map和Reduce不同的是,Spark提供廣播和累加器兩種受限的共享變量,可以像分布式內存系統一樣提供全局地址空間接口,提高了數據的共享性[12]。Spark 豐富全面的數據集運算操作,除了Map和Reduce操作,還增加了過濾、抽樣、分組、排序、并集、連接、分割、計數、收集、查找等80多種算子,并合理地劃分為Transformation(變換)和Action(動作)兩大類。利用這些算子,能夠方便地建立起RDD的有向無環圖(Directed Acyclic Graph,DAG)計算模型,將所有操作優化成DAG圖[13]。本文用到的主要操作運算如下。

1)extFile。首先從HDFS或其他文件系統導入原始數據集,并轉換成RDD數據集。

2)flatMap。按照用戶編寫映射程序邏輯將原始RDD數據集映射成多個輸出RDD數據集的(key,value)鍵值對。

3)filter。去掉錯誤的鍵值對。

4)Map。按照用戶編寫Map映射函數程序邏輯,對步驟2)成的(key,value)鍵值對重新進行映射,形成新的(key,value)鍵值對。

5)Reduce。將數據按照key分組后,調用用戶編寫函數進行處理,每組返回一個鍵值對。

6)Join。根據步驟3)和步驟4)產生的RDD數據集鍵值對,產生新RDD數據集。

1.2 改進的并行化多粒子群協同優化算法(IPMPSCO)

受鳥群覓食行為的啟發,Eberhart和Kennedy于1995 年共同提出了粒子群優化算法。隨后,國內外學者紛紛對其展開了各種研究和改進。其中,多粒子群協同優化算法(MPSCO)兼顧了種群的多樣性和收斂速度,使粒子陷入局部最優的可能性大大降低而受到廣泛的關注[15]。對MPSCO算法進行并行化改進可以采用粗粒度和細粒度2 種不同的方式,王保義等[16]采用粗粒度并行化思想,設計實現基于Spark和IPPSO_LSSVM的短期分布式電力負荷預測算法,本文在此基礎上進一步改進優化,提出改進的并行化多粒子群協同優化算法IPMPSCO(Improved Parallel MPSCO),進一步加快粒子群收斂速度和提高精確度。并行化MPSCO算法的核心思想是將每個粒子的速度更新、位置更新和計算適應值的過程組成一個獨立的并行單元,因此n個粒子構成n個獨立的并行單元,用Apark Spark進行并行處理,如圖1所示。算法的具體步驟如下:

步驟1 隨機初始化產生m個子種群,每個子種群包括n個粒子并將這些子種群分為兩層: 上層有1個子種群,下層有m-1個子種群,并將粒子隨機平均分配到k個并行處理單元。

步驟2 各個并行處理單元計算各粒子的適應度值,將個體極值位置及其相應的適應度值記錄為pbest和pbestval,將各子種群的最優個體位置及相應的適應度值記錄為gbesti和gbestvali,i= 1,2,…,m,同時在共享區上將整個種群中最優個體位置及相應的適應度值記錄為gbest和gbestval。

步驟3 各個并行處理單元分別根據式(1)和(2)更新上層子種群和下層子種群。

(1)

(2)

式中:k表示當前進化代數;vi和zi分別表示第i個粒子的速度和位置;pi表示第i個粒子經歷的最佳位置;pg和pgi分別表示整個種群和第i個粒子所在子種群經歷的最佳位置;r1和r2為[0,1]之間的隨機數;c1和c2為學習因子;w為慣性權重。

步驟4: 計算更新后各個并行處理單元各粒子的適應度值,如果更好,則相應更新pbest、pbestval、gbest、gbestval、gbesti和gbestvali。

步驟5 判斷是否達到了預設的結束條件( 一般為獲得足夠好的適應度值或者達到了預設的最大進化代數),如果沒有則返回步驟3; 反之則停止迭代并輸出搜索到的最優解。

圖1 改進的并行化多粒子群協同優化算法流程Fig.1 Process of IPMPSCO

2 基于Apache Spark的結構物理參數辨識

結構物理參數辨識可以轉化為參數優化問題,即使現場或者試驗室實測的結構響應與相應數值模型預測的響應之間的誤差最?。?/p>

(3)

文獻[17]得出基于動力時程響應(位移、速度或加速度)的適應度函數在框架結構物理參數辨識中具有良好的抗噪性和峰值特性。由于加速度數據實時性較好,較為可靠,現有結構健康監測系統大多采集加速度數據,故本文選用基于加速度建立的適應度函數見式(4)。

(4)

式中:Fa為適應度函數,θ是待辨識結構參數向量,amea(i,j)和anum(i,j)分別表示結構實測與數值模型預測的第i時刻第j測點加速度響應,N為測點總數,L為測量數據總長度。也就是說,將結構的N個測點總長為L的加速度數據逐一與預測的加速度響應值進行相差的平方累加,獲得適應度函數。

為了直觀觀察算法收斂情況,將基于加速度的適應度函數進行倒數,見式(5)。此時,當適應度函數值越大,表示相應粒子所代表的結構物理參數越接近于真實值。

(5)

在建立基于加速度的適應度函數時,對于線性結構計算數值模型預測加速度響應值采用Newmark積分法[18]。Newmark積分法求解結構動力時程響應的基本思想為:給定初始時刻的位移、速度、加速度及整個時程的外部激勵后,通過逐步迭代求得后續時刻的位移、速度和加速度,其主要基于如下假定:

vi+1=vi+[(1-γ)ai+γai+1]Δt

(6)

(7)

式中:si、vi和ai分別為第i時刻的位移、速度和加速度;si+1、vi+1和ai+1分別為第i+1時刻的位移、速度和加速度;Δt是時間步長;γ和β是決定求解精度和穩定性的參數,當γ=1/2、β=1/4時,算法為無條件穩定,稱為Newmark常平均加速度法。

另外,第i+1時刻的結構運動方程可表達為:

Mai+1+Cvi+1+Ksi+1=Fi+1

(8)

式中:M、C和K分別為結構的質量矩陣、阻尼矩陣和剛度矩陣;Fi+1為第i+1時刻作用于結構的外部激勵。

當給定初始時刻結構的位移s0、速度v0和加速度后a0,通過聯合式(6)~(8)就可以求解整個時程的預測加速度響應值。

系統物理參數識別分為質量已知、質量未知兩種情況,本文針對質量已知展開研究。通過運用分布式內存計算框架Apache Spark,在質量知的情況下,利用并行化算法對結構物理參數包括結構剛度(或彈性模量、慣性矩)和阻尼進行優化,即IPMPSCO算法的輸入為一個向量[k1,k2, …,kn,ζ1,ζ2, …,ζm]。其中,實現該算法的RDD數據集數據格式如下:

(ID,ColonyID,x,v,ffit, (Pi,ffiti), (Pg,ffitg), (Pu,ffitv))

(9)

式中:ID為粒子群編號;ColonyID為子群編號;x=(x1,x2, …,xn)為粒子的當前位置向量;v=(v1,v2, …,vn)為粒子的當前速度向量;ffit為粒子的當前適應度值,通過適應度函數計算得出;(Pi,ffiti)為個體經歷的最佳位置信息向量,Pi=(xi1,xi2, …,xin)為個體經歷的最佳位置,ffiti為個體經歷的最佳適應度值;同理(Pg,ffitg)和(Pu,ffitv)分別對應子群經歷的最佳位置信息向量和整體粒子群經歷的最佳位置信息向量。

通過對RDD數據集操作實現本文并行化算法的執行步驟如下。

1) 初始化粒子群,在取值范圍內隨機生成粒子群,包括初始位置和初始速度,并按照預先計劃子群數量確定確定粒子ColonyID;

2) 按照式(1)、式(2)更新粒子位置向量和速度向量,通過適應度函數(5)計算粒子的個體適應度值ffit并更新(Pi,ffiti);

3) Map操作,以ColonyID為key值,其他數據為value,構成(key,value)鍵值對;

4) Reduce操作,獲取各個子群的最佳適應度值和對應最優解,產生(key,value)鍵值,其中key是ColonyID,value是(Pg,ffitg);

5) Join操作,將步驟4)獲取鍵值對與步驟3)中鍵值對連接,再進行一次Map,更新(Pg,ffitg);

6) Map操作,以ID為key,其他數據為value重新構造(key,value)鍵值對;

7) Reduce操作,獲得整體粒子群最佳適應度值和對應最優解,產生(key,value)鍵值,其中key是ID,value是(Pu,ffitv);

8) Join操作,將步驟7)獲取鍵值對與步驟6)中鍵值對連接,再進行一次Map,更新(Pu,ffitv);

9) 判斷是否迭代結束,是則輸出(Pu,ffitv), 否則返回步驟2)進行下一輪迭代。

3 數值試驗驗證

3.1 剪切型線性框架結構模型

本文以一個30層剪切型線性框架結構數值模型為例驗證該方法,簡化模型如圖2所示。假設模型各層質量為m1=m2=…=m29=3.78 kg,m30=3.31 kg,層間剛度值為k1=k2=…=k30=375 kN/m,前兩階阻尼比ζ1和ζ2均為2%。隨機激勵F作用在結構的頂層,采樣頻率取1 000 Hz,采樣時間取5 s,對原始加速度數據分別取無噪聲和35 db、25 db的高斯白噪聲。

圖2 30層框架結構簡化模型Fig.2 30-story frame structure simplified model

文中所有的實驗都是在實驗室搭建的基于Ubuntu操作系統的Apache Spark集群平臺上運行的。其中1個節點計算機作為Master節點,也作為work節點。為了驗證多臺計算機的并行性,每臺計算機只分配一個worker節點。首先將計算任務分配到Master節點,然后再由Master 節點將計算任務分配給worker節點。實驗環境中節點的屬性信息,如表1所示。

表1 集群信息表

3.2 辨識模型的建立

(1)選取辨識數值模型的加速度和隨機激勵的時間段;在結構質量已知的情況下,設定待優物理參數為[k1,k2, …,k30,ζ1,ζ2],參數搜索范圍取真實值的0.5倍~2倍;設定IPMPSCO參數: 種群數量m=10,子種群粒子數n=200、最大迭代次數Imax=2 000、學子因子c1=c2=2,此外假定慣性權重w在[0.9,0.4]之間線性變化,同時,Newmark時間步長取0.02 s,每個時間段取500個采樣點,除第一個時間段初始位移、速度、加速度取0外,其余時間段的初始響應根據上個時間段的識別結果確定。

(2)運行基于Apache Spark的IPMPSCO算法,將粒子隨機平均分配到各個并行處理單元。各個并行處理單元分別計算粒子速度、位置和適應度值。

(3)輸出最優辨識結果,為了盡量避免偶然現象的影響,取10次辨識結果的平均值作為最終的辨識結果。

3.3 辨識結果與討論

3.3.1 辨識結果

本文采用平均相對誤差(MAPE)作為評價識別算法的指標,如式(10)所示。

(10)

表2 不同噪聲水平下的辨別結果(質量已知)

分別向結構各層加速加數據和隨機激勵中添加高斯白噪聲,不同噪聲水平時的識別結果如表2所示。從表2中可以看出,在無噪聲情況下,辨別結果最好;在SNR=35 db時,辨別結果不比無噪聲情況下差; 在SNR=20 db時,辨別結果誤差有所變大。同時獲得三個不同噪聲水平下的收斂曲線,如圖3所示。由收斂曲線可知,迭代到800次,三條曲線都能獲得較高的精度??傊?,雖然結構層間剛度和阻尼比的辨別精度隨噪聲水平的增大而有所下降,但總體上仍然具有較高的辨別精度。

圖3 不同噪聲水平下收斂曲線對比Fig.3 The convergence curves with different noise levels

為了分析測量數據的長度對IPMPSCO算法辨別性能的影響,分別利用1倍、2倍、4倍和8倍基本周期(T)長度的加速度數據進行辨別,這里采用1~30層的加速度數據,并考慮SNR=35 db的情況,識別結果見表3。從表3中可以看出,在測量數據長度為1T時,辨識誤差最大;在測量數據長度為2T、4T、8T時,辨識誤差沒有顯著差別??傊?,總體上結構層間剛度的辨別精度隨著測量數據的增加而提高,理論上隨著測量數據的無限增加,精度將概率趨近1,但充分考慮辨別精度和計算成本的話,在實際應用時可以選取2倍~4倍結構基本周期長度的時程響應數據進行計算。

3.3.2 性能分析

本文采用加速比Sn來測試IPMPSCO算法的并行性能。加速比是衡量并行系統或程序并行化的性能和效果的指標[19],如式(11)所示,其中Ts為算法的單機執行耗時,Tc為算法的集群執行耗時。

Sn=Ts/Tc

(11)

為了分析IPMPSCO算法的并行運算能力,本文將用100倍、200倍和400倍基本周期(T)長度的加速度數據進行識別,分別在集群節點個數為2個、2個和8個的云平臺上運行,計算Sn,加速比如表4所示。在實際應用中,并行系統的算法加速比很難達到線性增長,從表可知,隨著數據量增大,加速比更接近線性。因此IPMPSCO算法采用云計算平臺保持原有良好精度的情況下,能夠縮短了辨識時間,滿足海量高維監測數據的結構物理參數辨別的性能要求。

表3 不同測量數據長度時的辨別結果(質量已知)

表4 不同測量數據長度時的加速比

4 框架結構模型試驗

4.1 鋼框架結構模型

實驗模型是一個7層、2跨×1的鋼框架縮尺模型,如圖4所示。模型平面尺寸為0.4 m×0.2 m,高1.412 5 m??蚣軜嫾捎脽彳?00 W級鋼材(fy= 300 MPa)。梁柱截面性質如表5所示。在模型頂層跨處進行激振,每層記錄加速度響應,采樣頻率5 000 Hz。

圖4 實驗室模型裝置圖Fig.4 Setup of experimental steel frame model

參數梁柱截面尺寸/mm25×25×325×4.6截面面積A/m2264×10-6115×10-6慣性矩I/m42.17×10-82.03×10-10楊氏模量E/Pa206×109206×109體密度ρ/(kg·m-3)7 8507 850

4.2 辨識結果與分析

7層鋼框架試驗模型進行結構物理參數辨識,建模與識別過程見3.1至3.2節。辨識結果見表6。

表6 單元剛度辨識結果

從表6可以看出,通過IPMPSCO算法能夠穩定辨識出不同工況狀態下的結構層間剛度參數,驗證了本文所提辨識方法對試驗模型物理參數辨識的準確性和穩定性。

5 結 論

(1)提出了一種基于Spark云計算平臺IPMPSCO結構物理參數辨識算法,該算法通過增加云計算集群數量保持原有良好精度的情況下,縮短了辨識時間,同時有效利用了大量閑置主機的運算能力。

(2)在8節點的云計算集群上對一個30層框架數值試驗和一個7層鋼框架試驗進行結構物理參數辨識。結果表明,本文所提方法對框架數值試驗的結構層間剛度和阻尼比的辨別精度隨噪聲水平的增大而有所下降,隨著測量數據的增加而提高,但總體上仍然具有較高的辨別精度;對鋼框架試驗能夠穩定辨識出不同工況狀態下的結構層間剛度參數。

隨著中國防震減災土木工程信息化和智能化的快速發展,帶來了數據量激增和數據維度不斷提高的問題,單機運算和存儲能力已不能滿足結構損傷識別對效率和精度要求。本文只是將云計算平臺應用于結構物理參數辨識進行嘗試性試驗,因此,在云計算平臺上的應用還存在效率優化等問題。

猜你喜歡
鍵值適應度種群
改進的自適應復制、交叉和突變遺傳算法
山西省發現刺五加種群分布
基于雙種群CSO算法重構的含DG配網故障恢復
非請勿進 為注冊表的重要鍵值上把“鎖”
中華蜂種群急劇萎縮的生態人類學探討
一種基于改進適應度的多機器人協作策略
一鍵直達 Windows 10注冊表編輯高招
自適應遺傳算法的改進與應用*
注冊表值被刪除導致文件夾選項成空白
“掃除”技巧之清除惡意程序
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合