焦 柯 梁施銘 賈 蘇
(廣東省建筑設(shè)計(jì)研究院, 廣州 510010)
響應(yīng)面優(yōu)化算法在建筑結(jié)構(gòu)設(shè)計(jì)中的應(yīng)用
焦 柯 梁施銘 賈 蘇
(廣東省建筑設(shè)計(jì)研究院, 廣州 510010)
本文介紹了響應(yīng)面算法在建筑結(jié)構(gòu)優(yōu)化設(shè)計(jì)中的程序?qū)崿F(xiàn),包括響應(yīng)面數(shù)據(jù)獲取、數(shù)據(jù)擬合和數(shù)學(xué)規(guī)劃。針對(duì)在實(shí)際工程應(yīng)用中遇到的壁壘厚度、多峰值、初始點(diǎn)不在可行域等技術(shù)問題提出了解決辦法。結(jié)合計(jì)算機(jī)技術(shù),詳細(xì)討論了響應(yīng)面算法的實(shí)現(xiàn)過程,并對(duì)程序進(jìn)行驗(yàn)證,說明響應(yīng)面算法適用于建筑結(jié)構(gòu)優(yōu)化設(shè)計(jì)。
響應(yīng)面;建筑結(jié)構(gòu)設(shè)計(jì);編程技術(shù);數(shù)學(xué)規(guī)劃
高層結(jié)構(gòu)設(shè)計(jì)和優(yōu)化的難點(diǎn)在于計(jì)算規(guī)模大,結(jié)構(gòu)體系多樣,需要滿足的規(guī)范控制約束條件較多,不同物理量之間關(guān)系錯(cuò)綜復(fù)雜,同時(shí)需要考慮抗震構(gòu)造要求。響應(yīng)面算法作為數(shù)學(xué)分析與統(tǒng)計(jì)方法的結(jié)合物,能對(duì)多變量多約束的大型工程問題進(jìn)行擬合和分析,非常適用于計(jì)算量大并且變量關(guān)系復(fù)雜的工程優(yōu)化問題。工程師不僅能透過這種智能的分析方法看到各變量的相互作用關(guān)系,也能得到各類設(shè)計(jì)指標(biāo)對(duì)于變量的敏感度,并基于結(jié)構(gòu)設(shè)計(jì)概念,通過優(yōu)化程序自動(dòng)實(shí)現(xiàn)結(jié)構(gòu)調(diào)整。在此過程中工程師也能對(duì)結(jié)構(gòu)有更深入的認(rèn)識(shí)。響應(yīng)面算法在工程優(yōu)化的應(yīng)用范圍和作用越來越大。1960年,Schmit將數(shù)學(xué)規(guī)劃引入到結(jié)構(gòu)優(yōu)化領(lǐng)域中。1998年Roux等對(duì)兩桿、三桿和十桿的桁架結(jié)構(gòu)進(jìn)行優(yōu)化,發(fā)現(xiàn)試驗(yàn)點(diǎn)的數(shù)量和位置對(duì)響應(yīng)面精度有較大影響,而且對(duì)設(shè)計(jì)區(qū)域大小比較敏感。2006年隋允康等將中心復(fù)合和單純形法引入到桁架截面優(yōu)化中[1]。
目前響應(yīng)面算法在結(jié)構(gòu)分析中的應(yīng)用研究多數(shù)著重于鋼結(jié)構(gòu)的分析上,對(duì)于混凝土結(jié)構(gòu)的應(yīng)用還不多。隨著現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展,通過響應(yīng)面分析法與計(jì)算機(jī)技術(shù)的結(jié)合,實(shí)現(xiàn)對(duì)復(fù)雜的混凝土結(jié)構(gòu)進(jìn)行優(yōu)化分析具有十分重要的意義。國外某些通用軟件(如HyperStudy)能對(duì)各種結(jié)構(gòu)工程問題進(jìn)行響應(yīng)面分析,但國內(nèi)還未見類似軟件。本文通過編程將響應(yīng)面算法應(yīng)用到混凝土結(jié)構(gòu)設(shè)計(jì)優(yōu)化中,能快速得到混凝土結(jié)構(gòu)優(yōu)化方向,提高設(shè)計(jì)優(yōu)化效率,及節(jié)省建材,相比通用軟件HyperStudy具有針對(duì)性強(qiáng)、效率高,并且更加適用于結(jié)構(gòu)設(shè)計(jì)專業(yè)等優(yōu)勢。
一個(gè)結(jié)構(gòu)設(shè)計(jì)優(yōu)化問題由設(shè)計(jì)變量、優(yōu)化目標(biāo)和約束條件組成。因?yàn)轫憫?yīng)面算法是一種統(tǒng)計(jì)學(xué)與數(shù)值方法結(jié)合的算法,所以對(duì)于實(shí)驗(yàn)數(shù)據(jù)的數(shù)量和質(zhì)量會(huì)顯得比較敏感,通過盡可能少的實(shí)驗(yàn)次數(shù),獲得盡可能高質(zhì)量的實(shí)驗(yàn)數(shù)據(jù),能提高一個(gè)算法流程的效率。本文結(jié)合結(jié)構(gòu)設(shè)計(jì)專業(yè),設(shè)計(jì)數(shù)據(jù)實(shí)驗(yàn)方法。獲得實(shí)驗(yàn)數(shù)據(jù)以后,便可以對(duì)目標(biāo)和約束進(jìn)行顯式近似擬合,建立優(yōu)化模型,從而為下一步的數(shù)學(xué)規(guī)劃提供條件。
2.1 數(shù)據(jù)擬合方法
在計(jì)算機(jī)編程中,要對(duì)響應(yīng)面有一個(gè)統(tǒng)一的輸出和表達(dá)格式,這樣有利于數(shù)據(jù)處理和分析。假設(shè)采用了二次響應(yīng)面,并通過用向量來表達(dá)響應(yīng)面的方式,對(duì)數(shù)據(jù)進(jìn)行處理和運(yùn)算。首先規(guī)定二次響應(yīng)面的統(tǒng)一表達(dá)方式,如式(1)所示:
(1)
式(1)中對(duì)應(yīng)各變量(包括線性項(xiàng),交互項(xiàng)以及二次項(xiàng))的系數(shù)用向量A來儲(chǔ)存,代表一個(gè)響應(yīng)面。規(guī)定了系數(shù)順序之后,把所得n次實(shí)驗(yàn)數(shù)據(jù),代入式(1)當(dāng)中,將變量值統(tǒng)一放在矩陣X中,并改用矩陣表達(dá),式(1)可改寫為式(2)。
Y=XA
(2)


(3)
以系數(shù)向量A為變量,式(4)對(duì)誤差平方求導(dǎo),可求誤差的平方最小值,從而推出式(5)系數(shù)向量[1]:

(4)
A=(XTX)-1XTY
(5)
為了驗(yàn)證擬合程序的準(zhǔn)確性,通過表1對(duì)自定義方程與擬合方程進(jìn)行對(duì)比,擬合方程采用全因子試驗(yàn),生成試驗(yàn)數(shù)據(jù)。從表1中3個(gè)例子里可以看出對(duì)于3次方程,用2次曲面模擬的效果不太好,擬合結(jié)果是線性方程,而對(duì)于2次多項(xiàng)式方程,擬合出來的方程是與原方程一模一樣的。對(duì)于4次方程,圖1是自定義方程曲面,圖2是擬合方程曲面,兩者特征基本一致。

表1 自定義方程與擬合方程對(duì)比

圖1 自定義方程曲面

圖2 擬合方程曲面
2.2 二次規(guī)劃
本文中二次規(guī)劃主要采用內(nèi)點(diǎn)法,即在可行域內(nèi)選取一個(gè)初始點(diǎn),并在可行域邊界上設(shè)置一道屏障,當(dāng)?shù)^程靠近可行域的邊界時(shí),新的目標(biāo)函數(shù)數(shù)值迅速增大,從而在邊界處斜率陡然變大,程序就停止往邊界搜尋,而轉(zhuǎn)往其他下降方向搜尋。假設(shè)有目標(biāo)函數(shù)f(X),同時(shí)有不等式約束集g(X)≥0,搜尋目標(biāo)函數(shù)的最小或最大值,構(gòu)造新的函數(shù)形式,如式(6)所示:
(6)
3.1 壁壘厚度問題
內(nèi)點(diǎn)法通過構(gòu)造罰函數(shù)來控制每個(gè)迭代點(diǎn)都落在可行域中,然而在編程操作上,由于涉及到迭代步長的問題,程序可能會(huì)因?yàn)椴介L過大,跨過約束,從而造成無法收斂或在不可行域內(nèi)迭代等問題。

針對(duì)此問題,本文使用了階級(jí)函數(shù)的方法,也就是一旦變量越過邊界,函數(shù)會(huì)自動(dòng)取一大值(如9999)形成壁壘。同時(shí),當(dāng)?shù)c(diǎn)仍在可行域內(nèi)時(shí),保留罰函數(shù)形式,而只當(dāng)變量剛好等于或已越過邊界時(shí),才會(huì)自動(dòng)取大值,這是為了使函數(shù)靠近約束時(shí),需要有一個(gè)平滑過渡,而不會(huì)有函數(shù)值突變。
3.2 數(shù)值求導(dǎo)問題
函數(shù)導(dǎo)數(shù)為0是程序迭代終止其中一個(gè)條件,說明函數(shù)已經(jīng)處于局部極值,算法便會(huì)停止迭代。然而,如果變量已經(jīng)非常接近邊界,雖然邊界處存在平滑山谷,但由于步長問題,數(shù)值求導(dǎo)的其中一點(diǎn)可能落在壁壘上,使得導(dǎo)數(shù)非常大,故而無法收斂。
對(duì)此,程序采用了鄰域法來判斷一個(gè)點(diǎn)是否局部最大或最小,也就是在x1, x2…. xn的前后方向,求函數(shù)值,若均比此點(diǎn)的值大或均比此點(diǎn)的值小,說明達(dá)到了極值點(diǎn),停止迭代。
3.3 多峰值問題
對(duì)于多峰值曲面,由于局部極值點(diǎn)不一定等于全局最優(yōu)點(diǎn),存在不同起始點(diǎn)收斂到不同點(diǎn)的問題。一種比較有效的方法是采用截平面的方法。就是在每次求得局部最優(yōu)點(diǎn)的時(shí)候,以該值為一個(gè)閥值,對(duì)響應(yīng)面進(jìn)行修剪,建立新的約束條件,然后再重新找起始點(diǎn)進(jìn)行運(yùn)算。本文采用二次響應(yīng)面,故以二次曲面為例。具體方法是對(duì)每個(gè)變量進(jìn)行二次修剪,以xk為變量,其他變量保持不變,然后在該維度上求出與此值相等的對(duì)應(yīng)點(diǎn),式(7)、式(8)、式(9)分別是單維度的常數(shù)項(xiàng)、線性項(xiàng)及二次項(xiàng)系數(shù),解二次方程后看對(duì)應(yīng)點(diǎn)是否落在可行域上,如果是,判斷是否可以繼續(xù)搜索尋找最優(yōu)點(diǎn);如果不是,說明此點(diǎn)是全局最優(yōu)點(diǎn),停止迭代。這樣通過解二次方程,每次可以在單變量的一維空間里進(jìn)行修剪。
a=akk
(7)
(8)
(9)
3.4 起始點(diǎn)不在可行域問題
變量的初始值可能落在可行域外,一旦初始點(diǎn)落在不可行域中,如果罰函數(shù)的值均只是一大值(如上文的9999),導(dǎo)數(shù)卻是0,不會(huì)誘使搜索往可行域走,程序便會(huì)停止迭代。
傳統(tǒng)內(nèi)點(diǎn)法規(guī)定每一個(gè)迭代點(diǎn)均落在可行域中,本文對(duì)罰函數(shù)進(jìn)行適當(dāng)修改,使得階級(jí)函數(shù)在大值基礎(chǔ)上再遞增,離邊界越遠(yuǎn),罰函數(shù)越大,這樣既保留了起始點(diǎn)在可行域內(nèi)的運(yùn)動(dòng)特征,也能讓起始點(diǎn)落在不可行域時(shí)讓其滑回到可行域內(nèi)。本文采取的策略就是以離約束函數(shù)的距離(當(dāng)約束函數(shù)值小于0時(shí),求約束函數(shù)的絕對(duì)值)為標(biāo)準(zhǔn),絕對(duì)值越大,說明偏離越大,罰函數(shù)的值就越大,從而人工制造一個(gè)負(fù)梯度,讓點(diǎn)滑回到可行域。
3.5整體效應(yīng)問題
式(5)表達(dá)式是通式,也就是不但適用于二次響應(yīng)面,同時(shí)也適用于線性或高次響應(yīng)面,結(jié)構(gòu)設(shè)計(jì)中的變量眾多,考慮到計(jì)算效率問題,一般采用線性響應(yīng)面。假設(shè)采用線性響應(yīng)面,如果問題含有n個(gè)變量,則需要做n+1次實(shí)驗(yàn),但從結(jié)構(gòu)設(shè)計(jì)專業(yè)來看,結(jié)構(gòu)主要問題通常由三個(gè)方面引起,第一是整體剛度不足或過大,結(jié)構(gòu)過柔或過剛,其次是平面內(nèi)結(jié)構(gòu)剛度或質(zhì)量分布不均勻,造成結(jié)構(gòu)扭轉(zhuǎn)或其他問題,第三則是不同層之間剛度突變或不均勻,使得水平力無法傳導(dǎo)。針對(duì)這三方面問題的優(yōu)化,簡單的線性響應(yīng)面無法考慮多變量的交互作用,也就是說當(dāng)結(jié)構(gòu)整體剛度不足,需要多個(gè)變量同時(shí)增大或減小時(shí),一般線性響應(yīng)面無法得出優(yōu)化方向。針對(duì)此問題,本文在常規(guī)線性實(shí)驗(yàn)完成后,增加一次整體效應(yīng)實(shí)驗(yàn)。通過多個(gè)實(shí)際算例的驗(yàn)證,此方法能有效解決一般線性甚至高次響應(yīng)面無法得到的整體優(yōu)化效果。
某10層框架結(jié)構(gòu)的計(jì)算模型如圖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)前三個(gè)周期分別為1.486s(X向平動(dòng))、1.437s(Y向平動(dòng))、1.150s(扭轉(zhuǎn)),扭轉(zhuǎn)效應(yīng)明顯,結(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為目標(biāo)進(jìn)行優(yōu)化。
限于篇幅,只選取敏感度最高的前6個(gè)分組進(jìn)行說明。這6組構(gòu)件在圖4用方框標(biāo)出。表2列出各變量敏感度及優(yōu)化結(jié)果,表中組號(hào)與圖4中柱號(hào)對(duì)應(yīng)。每組均有寬高兩個(gè)變量共12個(gè)變量。表中變量敏感度采用初始敏感度除以所有變量的敏感度平方和計(jì)算得到,后兩列是變量的初始值和優(yōu)化后的數(shù)值。
本結(jié)構(gòu)由于首層剛度分布不均勻,造成Y向位移比較大,對(duì)于Y向位移比,敏感度最大的五個(gè)變量依次為:1~2標(biāo)準(zhǔn)層組1柱高、組4柱高、組3柱高、組7柱高、組8柱高、組10柱高。其中組1、3、4組柱截面對(duì)Y向位移比呈負(fù)相關(guān),組7、8、10組柱高對(duì)Y向位移比呈正相關(guān),意味著組1、3、4組柱高增大,Y向位移比減小,而組7、8、10組柱高增大,Y向位移比增大。表2可見左側(cè)角柱截面增幅較大(如組1、組4),原因是結(jié)構(gòu)左側(cè)剛度較弱,導(dǎo)致結(jié)構(gòu)扭轉(zhuǎn)效應(yīng)較大,而增大左側(cè)角柱能最有效提高結(jié)構(gòu)抗扭剛度,故1、4組柱高敏感度最高。

表2 各變量敏感度及優(yōu)化結(jié)果
優(yōu)化前后結(jié)構(gòu)總體指標(biāo)見表3,可見優(yōu)化后X、Y向地震位移角分別為1/658和1/747,比優(yōu)化前明顯增大,解決了整體剛度偏大的問題,同時(shí)首層位移比降為1.18,顯著降低了扭轉(zhuǎn)效應(yīng)。

表3 優(yōu)化前后總體指標(biāo)
(1)本文采用的響應(yīng)面算法可用于建筑結(jié)構(gòu)的設(shè)計(jì)優(yōu)化計(jì)算,能直觀地揭示多變量與目標(biāo)之間的關(guān)系,同時(shí)收斂性好。
(2)傳統(tǒng)內(nèi)點(diǎn)懲罰法規(guī)定每個(gè)迭代點(diǎn)都需要在可行域內(nèi),本文對(duì)其進(jìn)行了適當(dāng)修改以適應(yīng)建筑結(jié)構(gòu)特點(diǎn),無論初始值在可行域上或者不可行域上,都能搜尋到最優(yōu)點(diǎn)。
(3)內(nèi)點(diǎn)法中鑲嵌的梯度法,能夠用其他無約束的優(yōu)化方法替代,例如共軛梯度法或者牛頓法,針對(duì)不同情況程序能夠自動(dòng)選擇合適的算法,從而提高算法效率。
(4)修剪平面的方法效率高,因?yàn)檫@種方法不用考慮變量之間的交互作用,而是對(duì)各變量分開修剪。即使優(yōu)化問題中有100個(gè)變量,也只是進(jìn)行一百次修剪運(yùn)算,效率較高。
(5)通過對(duì)某框架結(jié)構(gòu)進(jìn)行優(yōu)化,達(dá)到了節(jié)省材料,提高抗震性能的目的,驗(yàn)證了響應(yīng)面算法能應(yīng)用于實(shí)際建筑結(jié)構(gòu)優(yōu)化設(shè)計(jì)。
[1]隋允康, 宇慧平. 響應(yīng)面方法的改進(jìn)及其對(duì)工程優(yōu)化的應(yīng)用[M]. 北京:科學(xué)出版社, 2011.
[2]馬昌鳳. 最優(yōu)化方法及其Matlab程序設(shè)計(jì)[M]. 第一版. 科學(xué)出版社, 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-),男,教授級(jí)高工。主要從事結(jié)構(gòu)分析軟件研發(fā)和復(fù)雜結(jié)構(gòu)計(jì)算分析工作。
TU311·4;O221
A
1674-7461(2015)01-0065-04