av日韩亚洲,一本一本a久久,亚洲一区二区三区,亚洲一区二区三区免费视频

基于單純形法改進的混沌控制算法

來源:期刊VIP網所屬分類:期刊常識時間:瀏覽:

  來源:廣西科技大學學報 2022年3期

  作者:夏雨; 湯峰; 余穎燁

  摘 要:混沌控制(chaos control,CC)算法在求解結構可靠度問題中具有優越的穩健性,但由于其對步長的嚴格限制,導致計算速度較慢。單純形法是一種不將梯度方向作為尋優方向的算法,該算法初始計算速度較快,能夠迅速逼近至極限狀態面附近,此后計算速度明顯下降,且計算結果誤差較大。為此,提出一種基于單純形法改進的混沌控制算法。首先,通過增廣乘子法將可靠度計算中的非線性等式約束問題轉化為非約束問題;然后,通過單純形法進行初始迭代計算;最后,使用CC算法進行收斂計算。算例結果表明:本文算法能夠有效解決高非線性功能函數可靠度求解問題,且兼具兩種算法的優點,與混沌控制算法相比,提高了計算效率。

  關鍵詞:結構可靠度;混沌控制算法;單純形法;可靠度計算;計算效率

  0 引言

  建筑結構的安全性與穩定性對人類社會影響巨大,如何對其進行合理評價至關重要。Freudenthal[1]在《結構安全度》一文中提出了結構可靠度的相關概念;為了得到結構可靠度指標,Cornell等[2-4]提出了一次可靠度理論,并對其不斷完善。然而當結構功能函數的非線性程度較大時,經典一次可靠度計算方法往往會出現迭代振蕩、結果不準確的情況。為了解決上述問題,眾多學者展開了更進一步的研究。Liu[5]首先考慮引入merit函數作為評價函數,但是該函數并不能保證算法的迭代方向為下降方向;Zhang等[6]考慮引入Armijo準則進行迭代步長的調控;楊迪雄[7]基于混沌控制理論中的穩定轉換法,通過引入步長調控因子提出了混沌控制(chaos control,CC)算法,但由于該方法對步長的嚴格限制,致使算法計算速度相對較慢;Meng等[8]針對CC算法中存在的問題,結合“之”字型迭代路徑,提出了修正混沌控制(modified chaos control,MCC)方法。目前學術界對于Armijo準則的研究也有了不少的成果[9],而李彬等[10-11]則將Armijo準則引入到混沌控制算法中,使得計算速度進一步加快,并且進行了逆可靠度求解方法的嘗試。與此類似,亢戰等[12]提出的修正迭代算法中也提及了步長調控因子的控制作用,在文中將其定義為修正系數,并給出了修正系數的具體計算方法。

  除此之外,貢金鑫[13]還對迭代點在極限狀態面上的負梯度方向進行了深入研究討論,提出了有限步長法,并推理出HL-RF算法只是有限步長法的一個特例,該方法的初始步長會影響算法的收斂性。吳狄等[14]提出了自動變步長的搜索方法,但是收斂速度較慢。王林軍等[15]使用外罰函數法進行可靠度計算,但是由于該方法將其中一個變量用剩余變量進行表示,算法魯棒性不好,不夠穩定,應用受限。高翔等[16]則將模擬退火法與增廣乘子法應用到可靠度計算中,雖然避免了一次二階矩方法中梯度的求解問題,但是卻增加了迭代步驟。許家赫等[17]將自適應性PSO算法與fmincon函數結合用于尋優計算,拓展了可靠度指標的計算方法。就目前而言,FOSM方法在結構可靠度分析方面的理論研究已經比較成熟,但是在實際的工程可靠度分析中卻鮮有使用,主要原因是:如果結構的功能函數非線性程度過高,那么將會導致求解過程復雜化,致使整個計算過程效率低下,誤差也比較大,所以如何實現快速、準確求解是當前有待解決的一個 問題。

  針對上述問題,本文提出一種基于單純形法改進的CC算法。首先,通過增廣乘子法將可靠度計算中的非線性等式約束問題轉化為非約束問題;然后,通過單純形法進行初始迭代計算;最后,使用CC算法進行收斂計算,通過數值算例驗證了本文方法的計算準確性與效率。

  1 可靠度理論

  Cornell[2]提出將結構構件的均值與標準差的比值作為該構件的可靠度指標,并以此建立了一次二階矩方法,但是該方法在實際應用中存在一定的缺陷。Hasofer和Lind重新定義了結構可靠度指標的概念,確保了可靠度指標在同一構件不同極限狀態函數下的唯一性,對可靠度理論進行了完善與修正。在數學上,可靠度指標[β]可以定義為如下非線性約束優化問題:

  [minβ=d(X*)=i=1nx*i2] , (1)

  [s. t. G(X)=g(x1, x2, …, xn)=0] . (2)

  式中:[x]是標準正態空間下的隨機變量,[G(X)]為結構的功能函數,[β] 是結構可靠度指標。結構可靠度的幾何意義是標準正態空間下,結構功能函數上一點到原點的最短距離。對于不服從正態分布的隨機變量,可以使用JC法將其當量正態化。該方法的前提條件是驗算點[x*i] 處[X'i]和[Xi] 的累積分布函數和概率密度函數分別對應相等,由此可以得到正態化之后的變量均值與標準差:

  [ux′i=x*i-Φ-1[FXi(x*i)]σx′i] , (3)

  [σx′i=?{Φ-1[FXi(x*i)]}fXi(x*i)] . (4)

  式中:[Φ(?)] 為標準正態的分布函數,而[?(?)] 為標準正態分布的概率密度函數,[ux′i] 是隨機變量當量正態化后的均值,[σx′i] 是隨機變量當量正態化后的標準差。在得到當量正態化后的變量均值與標準差之后便可以進行可靠度計算。

  2 CC算法與單純形法計算原理

  2.1 CC算法

  在可靠度計算方法中,經典HL-RF算法由于其概念清晰、計算簡便等優點,被廣泛用于結構可靠度求解,其核心思想是將結構功能函數在第k個迭代點進行一階泰勒展開,并使功能函數在第k+1個迭代點的函數值滿足[g(uk+1)=0] ,可得:

  [g(uk)+?g(uk)T(uk+1-uk)=0] . (5)

  令第k+1次迭代點到標準正態空間下原點的距離為[βk+1] ,并取[uk] 點處梯度負方向的單位向量作為迭代選取方向,得:

  [uk+1=-βk+1?g(uk)?g(uk)] . (6)

  結合式(5),可得:

  [βk+1=g(uk)-?g(uk)Tuk?g(uk)] . (7)

  式(6)與式(7)合稱為HL-RF算法,其在解決低非線性功能函數可靠度求解問題時計算效率很高,能夠在迭代過程中逐漸靠近收斂點。但是在解決高非線性功能函數時,往往會出現迭代振蕩,甚至不收斂的情況。

  為了提高HL-RF算法的收斂性,楊迪雄[7]采用混沌控制學理論對其進行改進,提出了CC算法。該算法引入混沌控制因子對迭代過程中的振蕩情況進行了控制,表達式變為:

  [uk+1=uk+λC[F(uk)-uk]] , (8)

  [F(uk)=[?g(uk)]Tuk-g(uk)?g(uk)2?g(uk)] . (9)

  式中:[C]代表n×n維對合矩陣,一般情況下取單位矩陣,[λ]是一個常數,代表混沌控制因子。通過上式可以發現,CC算法相較于經典HL-RF算法而言,補充了迭代步長控制計算步驟。先通過HL-RF算法求解出[F(uk)]點,然后以本次迭代點[uk]為基點,將[uk]到[F(uk)]點的方向作為迭代方向,并在該迭代方向上選取一定的步長。如果[λ=0] ,則[uk+1=uk],無法進行迭代計算;如果[λ=1],則可得[uk+1=F(uk)],此時的迭代公式就變成了經典HL-RF算法,所以[λ]的取值為0 ~ 1。為了保證收斂性,[λ]的取值一般設置為較小的常數,導致CC算法的步長較小,收斂速度較慢。如果能使CC算法初始計算點盡可能靠近MPP點,就可以減少計算量,加快算法整體收斂速度。

  2.2 單純形法

  單純形法是一種不將函數梯度信息作為下降方向的算法。該算法在計算初始階段,收斂速度較快,具有一定的計算優勢,但是在貼近極限狀態面之后,計算速度反而開始下降,且單純形法是一種

  用于計算無約束問題的算法,根據式(1)、式(2)可知,結構可靠度的計算屬于有約束問題。通過增廣乘子法可以將有約束的可靠度計算問題轉變為無約束優化模型[Mρ]。

  [Mρ(X, r, ρ)=i=1n(Xi-μiσi)2+]

  [r2j=1n[gj(Xi)]2+j=1nρjgj(Xi] [)]. (10)

  式中:[ρ=[ρ1, ρ2, …, ρm]] 為拉格朗日乘子,[r]為罰函數的懲罰因子,[r2j=1n[gj(Xi)]2] 為乘子項,[j=1nρjgj(Xi)] 為懲罰項。

  通過增廣乘子算法對功能函數與可靠度指標計算公式進行結合,使得單純形法可以用于可靠度問題的求解。該算法的基本思想是:根據未知變量的個數,選擇n+1個不同的點構成正單純形,分別計算正單純形的n+1個頂點函數值,對比優劣,找到函數值最大的點及函數下降方向,據此來搜索新的點代替最大值點,依次更迭。在迭代點未接近極限狀態面時,[Mρ]優化模型中的懲罰項發揮主要作用,迫使算法向極限狀態面逼近;而當迭代點逼近至極限狀態面附近,懲罰項與乘子項趨近于0,此時可靠度指標的計算公式便可以發揮主要作用,使點通過迭代逐步逼近到最有可能失效點附近,并求得可靠度指標,該算法的迭代示意圖如圖1所示。

  圖1中,由x3、[x1]與x2 3個點共同組成一個單純形,3個點分別為單純形的3個頂點。x3為極差點,xc為反射基點,xD為反射點,xR為延伸點,xp為收縮點。

  根據單純形法的基本思想,該理論只適合無約束函數的計算,而增廣乘子法可以將約束優化問題轉化為無約束優化問題,這樣單純形法就可以進行可靠度求解。計算步驟如下所示:

  Step 1 將[Mρ]作為目標函數,選取均值點[x11=(x111, x112, …, x11n)T]作為初始點,并將其視為初始單純形的一個頂點,采用式(11)計算正單純形剩余頂點的坐標[19]:

  [x12=x11+(d1, d2, d2, …, d2)T,x13=x11+(d2, d1,d2,…, d2)T,x14=x11+(d2, d2, d1,…, d2)T, ? x1n+1=x11+(d2, d2, d2, …, d1)T.] (11)

  其中,[d1=sn2(n+1+n-1)],[d2=sn2]

  [(n+1-1)],[s]為初始正單純形的邊長。

  Step 2 計算[n+1]個正單純形頂點的函數值,并找出其中的最好點[(][x1][)]與最差點[(][x3][)],然后計算除最差點外剩余點的中心點xc,以此作為基點。

  推薦閱讀:計算機算法方面能選擇哪些sci期刊

如果您現在遇到期刊選擇、論文內容改善、論文投稿周期長、難錄用、多次退修、多次被拒等問題,可以告訴學術顧問,解答疑問同時給出解決方案 。

主站蜘蛛池模板: 宽城| 泾源县| 金溪县| 万安县| 清水县| 和龙市| 邛崃市| 上杭县| 扎赉特旗| 同江市| 融水| 隆安县| 迁西县| 香格里拉县| 从化市| 营口市| 郎溪县| 达尔| 克拉玛依市| 资兴市| 巴青县| 黔南| 穆棱市| 灵寿县| 紫云| 康定县| 获嘉县| 涟水县| 永兴县| 柯坪县| 宜良县| 阆中市| 双鸭山市| 崇信县| 东乡县| 蒲江县| 托里县| 吉首市| 女性| 大石桥市| 平江县|