焦 柯 梁施銘 賈 蘇
(廣東省建筑設計研究院, 廣州 510010)
響應面優(yōu)化算法在建筑結(jié)構(gòu)設計中的應用
焦 柯 梁施銘 賈 蘇
(廣東省建筑設計研究院, 廣州 510010)
本文介紹了響應面算法在建筑結(jié)構(gòu)優(yōu)化設計中的程序?qū)崿F(xiàn),包括響應面數(shù)據(jù)獲取、數(shù)據(jù)擬合和數(shù)學規(guī)劃。針對在實際工程應用中遇到的壁壘厚度、多峰值、初始點不在可行域等技術(shù)問題提出了解決辦法。結(jié)合計算機技術(shù),詳細討論了響應面算法的實現(xiàn)過程,并對程序進行驗證,說明響應面算法適用于建筑結(jié)構(gòu)優(yōu)化設計。
響應面;建筑結(jié)構(gòu)設計;編程技術(shù);數(shù)學規(guī)劃
高層結(jié)構(gòu)設計和優(yōu)化的難點在于計算規(guī)模大,結(jié)構(gòu)體系多樣,需要滿足的規(guī)范控制約束條件較多,不同物理量之間關(guān)系錯綜復雜,同時需要考慮抗震構(gòu)造要求。響應面算法作為數(shù)學分析與統(tǒng)計方法的結(jié)合物,能對多變量多約束的大型工程問題進行擬合和分析,非常適用于計算量大并且變量關(guān)系復雜的工程優(yōu)化問題。工程師不僅能透過這種智能的分析方法看到各變量的相互作用關(guān)系,也能得到各類設計指標對于變量的敏感度,并基于結(jié)構(gòu)設計概念,通過優(yōu)化程序自動實現(xiàn)結(jié)構(gòu)調(diào)整。在此過程中工程師也能對結(jié)構(gòu)有更深入的認識。響應面算法在工程優(yōu)化的應用范圍和作用越來越大。1960年,Schmit將數(shù)學規(guī)劃引入到結(jié)構(gòu)優(yōu)化領(lǐng)域中。1998年Roux等對兩桿、三桿和十桿的桁架結(jié)構(gòu)進行優(yōu)化,發(fā)現(xiàn)試驗點的數(shù)量和位置對響應面精度有較大影響,而且對設計區(qū)域大小比較敏感。2006年隋允康等將中心復合和單純形法引入到桁架截面優(yōu)化中[1]。
目前響應面算法在結(jié)構(gòu)分析中的應用研究多數(shù)著重于鋼結(jié)構(gòu)的分析上,對于混凝土結(jié)構(gòu)的應用還不多。隨著現(xiàn)代計算機技術(shù)的發(fā)展,通過響應面分析法與計算機技術(shù)的結(jié)合,實現(xiàn)對復雜的混凝土結(jié)構(gòu)進行優(yōu)化分析具有十分重要的意義。國外某些通用軟件(如HyperStudy)能對各種結(jié)構(gòu)工程問題進行響應面分析,但國內(nèi)還未見類似軟件。本文通過編程將響應面算法應用到混凝土結(jié)構(gòu)設計優(yōu)化中,能快速得到混凝土結(jié)構(gòu)優(yōu)化方向,提高設計優(yōu)化效率,及節(jié)省建材,相比通用軟件HyperStudy具有針對性強、效率高,并且更加適用于結(jié)構(gòu)設計專業(yè)等優(yōu)勢。
一個結(jié)構(gòu)設計優(yōu)化問題由設計變量、優(yōu)化目標和約束條件組成。因為響應面算法是一種統(tǒng)計學與數(shù)值方法結(jié)合的算法,所以對于實驗數(shù)據(jù)的數(shù)量和質(zhì)量會顯得比較敏感,通過盡可能少的實驗次數(shù),獲得盡可能高質(zhì)量的實驗數(shù)據(jù),能提高一個算法流程的效率。本文結(jié)合結(jié)構(gòu)設計專業(yè),設計數(shù)據(jù)實驗方法。獲得實驗數(shù)據(jù)以后,便可以對目標和約束進行顯式近似擬合,建立優(yōu)化模型,從而為下一步的數(shù)學規(guī)劃提供條件。
2.1 數(shù)據(jù)擬合方法
在計算機編程中,要對響應面有一個統(tǒng)一的輸出和表達格式,這樣有利于數(shù)據(jù)處理和分析。假設采用了二次響應面,并通過用向量來表達響應面的方式,對數(shù)據(jù)進行處理和運算。首先規(guī)定二次響應面的統(tǒng)一表達方式,如式(1)所示:
(1)
式(1)中對應各變量(包括線性項,交互項以及二次項)的系數(shù)用向量A來儲存,代表一個響應面。規(guī)定了系數(shù)順序之后,把所得n次實驗數(shù)據(jù),代入式(1)當中,將變量值統(tǒng)一放在矩陣X中,并改用矩陣表達,式(1)可改寫為式(2)。
Y=XA
(2)
(3)
以系數(shù)向量A為變量,式(4)對誤差平方求導,可求誤差的平方最小值,從而推出式(5)系數(shù)向量[1]:
(4)
A=(XTX)-1XTY
(5)
為了驗證擬合程序的準確性,通過表1對自定義方程與擬合方程進行對比,擬合方程采用全因子試驗,生成試驗數(shù)據(jù)。從表1中3個例子里可以看出對于3次方程,用2次曲面模擬的效果不太好,擬合結(jié)果是線性方程,而對于2次多項式方程,擬合出來的方程是與原方程一模一樣的。對于4次方程,圖1是自定義方程曲面,圖2是擬合方程曲面,兩者特征基本一致。
表1 自定義方程與擬合方程對比
圖1 自定義方程曲面
圖2 擬合方程曲面
2.2 二次規(guī)劃
本文中二次規(guī)劃主要采用內(nèi)點法,即在可行域內(nèi)選取一個初始點,并在可行域邊界上設置一道屏障,當?shù)^程靠近可行域的邊界時,新的目標函數(shù)數(shù)值迅速增大,從而在邊界處斜率陡然變大,程序就停止往邊界搜尋,而轉(zhuǎn)往其他下降方向搜尋。假設有目標函數(shù)f(X),同時有不等式約束集g(X)≥0,搜尋目標函數(shù)的最小或最大值,構(gòu)造新的函數(shù)形式,如式(6)所示:
(6)
3.1 壁壘厚度問題
內(nèi)點法通過構(gòu)造罰函數(shù)來控制每個迭代點都落在可行域中,然而在編程操作上,由于涉及到迭代步長的問題,程序可能會因為步長過大,跨過約束,從而造成無法收斂或在不可行域內(nèi)迭代等問題。
針對此問題,本文使用了階級函數(shù)的方法,也就是一旦變量越過邊界,函數(shù)會自動取一大值(如9999)形成壁壘。同時,當?shù)c仍在可行域內(nèi)時,保留罰函數(shù)形式,而只當變量剛好等于或已越過邊界時,才會自動取大值,這是為了使函數(shù)靠近約束時,需要有一個平滑過渡,而不會有函數(shù)值突變。
3.2 數(shù)值求導問題
函數(shù)導數(shù)為0是程序迭代終止其中一個條件,說明函數(shù)已經(jīng)處于局部極值,算法便會停止迭代。然而,如果變量已經(jīng)非常接近邊界,雖然邊界處存在平滑山谷,但由于步長問題,數(shù)值求導的其中一點可能落在壁壘上,使得導數(shù)非常大,故而無法收斂。
對此,程序采用了鄰域法來判斷一個點是否局部最大或最小,也就是在x1, x2…. xn的前后方向,求函數(shù)值,若均比此點的值大或均比此點的值小,說明達到了極值點,停止迭代。
3.3 多峰值問題
對于多峰值曲面,由于局部極值點不一定等于全局最優(yōu)點,存在不同起始點收斂到不同點的問題。一種比較有效的方法是采用截平面的方法。就是在每次求得局部最優(yōu)點的時候,以該值為一個閥值,對響應面進行修剪,建立新的約束條件,然后再重新找起始點進行運算。本文采用二次響應面,故以二次曲面為例。具體方法是對每個變量進行二次修剪,以xk為變量,其他變量保持不變,然后在該維度上求出與此值相等的對應點,式(7)、式(8)、式(9)分別是單維度的常數(shù)項、線性項及二次項系數(shù),解二次方程后看對應點是否落在可行域上,如果是,判斷是否可以繼續(xù)搜索尋找最優(yōu)點;如果不是,說明此點是全局最優(yōu)點,停止迭代。這樣通過解二次方程,每次可以在單變量的一維空間里進行修剪。
a=akk
(7)
(8)
(9)
3.4 起始點不在可行域問題
變量的初始值可能落在可行域外,一旦初始點落在不可行域中,如果罰函數(shù)的值均只是一大值(如上文的9999),導數(shù)卻是0,不會誘使搜索往可行域走,程序便會停止迭代。
傳統(tǒng)內(nèi)點法規(guī)定每一個迭代點均落在可行域中,本文對罰函數(shù)進行適當修改,使得階級函數(shù)在大值基礎上再遞增,離邊界越遠,罰函數(shù)越大,這樣既保留了起始點在可行域內(nèi)的運動特征,也能讓起始點落在不可行域時讓其滑回到可行域內(nèi)。本文采取的策略就是以離約束函數(shù)的距離(當約束函數(shù)值小于0時,求約束函數(shù)的絕對值)為標準,絕對值越大,說明偏離越大,罰函數(shù)的值就越大,從而人工制造一個負梯度,讓點滑回到可行域。
3.5整體效應問題
式(5)表達式是通式,也就是不但適用于二次響應面,同時也適用于線性或高次響應面,結(jié)構(gòu)設計中的變量眾多,考慮到計算效率問題,一般采用線性響應面。假設采用線性響應面,如果問題含有n個變量,則需要做n+1次實驗,但從結(jié)構(gòu)設計專業(yè)來看,結(jié)構(gòu)主要問題通常由三個方面引起,第一是整體剛度不足或過大,結(jié)構(gòu)過柔或過剛,其次是平面內(nèi)結(jié)構(gòu)剛度或質(zhì)量分布不均勻,造成結(jié)構(gòu)扭轉(zhuǎn)或其他問題,第三則是不同層之間剛度突變或不均勻,使得水平力無法傳導。針對這三方面問題的優(yōu)化,簡單的線性響應面無法考慮多變量的交互作用,也就是說當結(jié)構(gòu)整體剛度不足,需要多個變量同時增大或減小時,一般線性響應面無法得出優(yōu)化方向。針對此問題,本文在常規(guī)線性實驗完成后,增加一次整體效應實驗。通過多個實際算例的驗證,此方法能有效解決一般線性甚至高次響應面無法得到的整體優(yōu)化效果。
某10層框架結(jié)構(gòu)的計算模型如圖3所示。地面以上共10層,屋面高度34.6m,首層平面見圖4所示。首層柱構(gòu)件尺寸為600×800mm、600×600mm,主要梁構(gòu)件尺寸為300×700mm、200×600mm。
圖3 結(jié)構(gòu)三維模型
圖4 首層結(jié)構(gòu)平面布置圖
結(jié)構(gòu)前三個周期分別為1.486s(X向平動)、1.437s(Y向平動)、1.150s(扭轉(zhuǎn)),扭轉(zhuǎn)效應明顯,結(jié)構(gòu)樓層最大位移比為1.5。整體結(jié)構(gòu)偏剛,X、Y向地震最大層間位移角分別為1/986和1/872。按照框架結(jié)構(gòu)規(guī)范要求,取結(jié)構(gòu)剛度比、承載力比和周期比作為約束條件,結(jié)構(gòu)X和Y向最大層間位移角1/550為目標進行優(yōu)化。
限于篇幅,只選取敏感度最高的前6個分組進行說明。這6組構(gòu)件在圖4用方框標出。表2列出各變量敏感度及優(yōu)化結(jié)果,表中組號與圖4中柱號對應。每組均有寬高兩個變量共12個變量。表中變量敏感度采用初始敏感度除以所有變量的敏感度平方和計算得到,后兩列是變量的初始值和優(yōu)化后的數(shù)值。
本結(jié)構(gòu)由于首層剛度分布不均勻,造成Y向位移比較大,對于Y向位移比,敏感度最大的五個變量依次為:1~2標準層組1柱高、組4柱高、組3柱高、組7柱高、組8柱高、組10柱高。其中組1、3、4組柱截面對Y向位移比呈負相關(guān),組7、8、10組柱高對Y向位移比呈正相關(guān),意味著組1、3、4組柱高增大,Y向位移比減小,而組7、8、10組柱高增大,Y向位移比增大。表2可見左側(cè)角柱截面增幅較大(如組1、組4),原因是結(jié)構(gòu)左側(cè)剛度較弱,導致結(jié)構(gòu)扭轉(zhuǎn)效應較大,而增大左側(cè)角柱能最有效提高結(jié)構(gòu)抗扭剛度,故1、4組柱高敏感度最高。
表2 各變量敏感度及優(yōu)化結(jié)果
優(yōu)化前后結(jié)構(gòu)總體指標見表3,可見優(yōu)化后X、Y向地震位移角分別為1/658和1/747,比優(yōu)化前明顯增大,解決了整體剛度偏大的問題,同時首層位移比降為1.18,顯著降低了扭轉(zhuǎn)效應。
表3 優(yōu)化前后總體指標
(1)本文采用的響應面算法可用于建筑結(jié)構(gòu)的設計優(yōu)化計算,能直觀地揭示多變量與目標之間的關(guān)系,同時收斂性好。
(2)傳統(tǒng)內(nèi)點懲罰法規(guī)定每個迭代點都需要在可行域內(nèi),本文對其進行了適當修改以適應建筑結(jié)構(gòu)特點,無論初始值在可行域上或者不可行域上,都能搜尋到最優(yōu)點。
(3)內(nèi)點法中鑲嵌的梯度法,能夠用其他無約束的優(yōu)化方法替代,例如共軛梯度法或者牛頓法,針對不同情況程序能夠自動選擇合適的算法,從而提高算法效率。
(4)修剪平面的方法效率高,因為這種方法不用考慮變量之間的交互作用,而是對各變量分開修剪。即使優(yōu)化問題中有100個變量,也只是進行一百次修剪運算,效率較高。
(5)通過對某框架結(jié)構(gòu)進行優(yōu)化,達到了節(jié)省材料,提高抗震性能的目的,驗證了響應面算法能應用于實際建筑結(jié)構(gòu)優(yōu)化設計。
[1]隋允康, 宇慧平. 響應面方法的改進及其對工程優(yōu)化的應用[M]. 北京:科學出版社, 2011.
[2]馬昌鳳. 最優(yōu)化方法及其Matlab程序設計[M]. 第一版. 科學出版社, 2010.
Application of Respond Surface Method in Structural Design
Jiao Ke,Liang Shiming, Jia Su
(TheInstituteofArchitectureDesign&ResearchofGuangdongProvince,Guangzhou510010,China)
Implementation of respond surface method in structural design is depicted in this article, including data experiment, data fitting and mathematical programming. Difficulties encountered are discussed as well, and solutions for problems caused by thin restricted barrier, multi-peak values and iteration in infeasible space are introduced. Details of the implementation are described with programming techniques. Feasibility is tested by a frame structure to verify that respond surface method is adapted to structural optimization design.
Respond Surface; Building Structural; Programming Techniques; Mathematical Programming
焦柯(1968-),男,教授級高工。主要從事結(jié)構(gòu)分析軟件研發(fā)和復雜結(jié)構(gòu)計算分析工作。
TU311·4;O221
A
1674-7461(2015)01-0065-04