樓善治 張海靜
(上海大學土木工程系,上海200072)
隨著計算機技術的進步,遺傳算法發(fā)展十分迅速,有大量關于遺傳算法的專著及研究文獻出現(xiàn)。在框架結構設計優(yōu)化領域,也有越來越多的學者運用遺傳算法解決工程問題。
S.Rajeev[1]把離散變量的概念用于基于標準遺傳算法的鋼筋混凝土框架優(yōu)化設計研究。Hongjin Kim[3]利用實數(shù)編碼遺傳算法對鋼筋混凝土框架優(yōu)化設計,克服了二進制編碼個體編碼冗長的缺陷。陳雨生[4]采用平面框架有限元程序和MATLAB遺傳算法工具箱結合開發(fā)了實用的優(yōu)化系統(tǒng)程序。但在優(yōu)化程序中僅考慮了構件的強度約束,結構的整體位移約束則通過手動調整變量值來實現(xiàn)。張琦[5]以結構造價最小為目標函數(shù),通過可靠度理論,對各類約束進行處理,優(yōu)化結果與實際工程更貼近。但其在約束處理過程中僅考慮了構件的強度和剛度約束,沒有考慮結構的整體位移約束。
遺傳算法解決工程時的一個較大缺陷是在搜索過程中需要不斷對個體進行結構分析,從而導致計算效率低下。實際工程通常結構體型較大,優(yōu)化時設計變量個數(shù)較多,遺傳算法的種群規(guī)模也需相應地取較大值,若對每一個個體都進行結構分析,會造成優(yōu)化設計的時間成本過高的問題。本文采用構件內力靜定化假設,在每一輪優(yōu)化的過程中凍結構件內力,避免了在優(yōu)化過程中進行大量的結構分析,極大地提高了計算效率。
學者們在將遺傳算法運用于框架結構優(yōu)化設計的領域上取得了一定的成果。但在上述列舉的文獻中,均未在優(yōu)化程序中同時考慮構件約束和結構整體位移約束。本文將優(yōu)化過程分為兩部分:第一部分采用遺傳算法對構件尺寸和混凝土強度等級進行優(yōu)化設計,通過懲罰函數(shù)處理構件約束;第二部分采用準則法對不滿足結構位移約束的最佳個體進行位移調整。這樣在確保構件滿足約束的同時,又能使結構整體滿足位移約束。
現(xiàn)有的工程問題遺傳算法優(yōu)化設計研究中,很多學者采用的還是標準的交叉、變異、選擇算子,而傳統(tǒng)的遺傳算法存在著局部尋優(yōu)能力差、迭代過程緩慢、隨機性大、易出現(xiàn)振蕩和早熟收斂等缺點[6]。結構設計優(yōu)化問題是一種多變量、多約束的復雜問題。為了得到更好的優(yōu)化效果,本文對遺傳算法進行改進,通過自適應的操作算子,在保證優(yōu)化效果的同時,可以達到加速種群進化收斂的目的,節(jié)省了時間成本。
在材料單價確定的情況下,以造價為目標函數(shù)的優(yōu)化問題中,框架結構的優(yōu)化變量應為梁柱的b,h,縱向配筋值As和箍筋值Asv。當內力被凍結,縱向配筋值和箍筋值都可以通過尺寸參數(shù)和內力由規(guī)范[12-13]公式求得,也就是說縱向配筋值As和箍筋值Asv是關于構件b和h的函數(shù)[7]。因此,最終的優(yōu)化設計變量僅僅是梁柱的截面尺寸b和h。實際工程中為了便于施工,同層柱的混凝土等級一般相同,故本文將每層柱的混凝土等級作為變量。梁的混凝土等級采用C30不變。
本文以框架結構的經(jīng)濟效益為研究目的,因此采用框架主體部分的造價為目標函數(shù)。其中包括梁、柱混凝土,受力縱筋、箍筋以及模板。
1)單根梁造價
單根梁造價為
式中:b,h分別為截面寬度和高度;Cc為混凝土單位體積價格;Cs為鋼筋的單位重量價格;受力筋和箍筋的單價統(tǒng)一取用Cs;ρ為鋼筋的密度;Asu為上部架立筋截面面積之和;Asl為底部縱筋截面面積之和;As1,As2為梁端負彎起鋼筋截面面積;Cf為模板單位面積價格;l0為構件長度;n為整根桿件的箍筋根數(shù);Asv為單肢箍筋截面面積;as為保護層厚度。
梁的配筋立面圖見圖1,配筋剖面圖見圖2。
圖1 梁配筋立面圖Fig.1 Elevation of beam steel bar
圖2 梁配筋剖面圖Fig.2 Profile of beam steel bar
2)單根柱造價
單根柱造價為
式中:As為縱筋面積之和;lsv為柱內部箍筋長度。
柱的立面圖見圖3,剖面圖見圖4。
圖3 柱配筋立面圖Fig.3 Elevation of column steel bar
圖4 柱配筋剖面圖Fig.4 Profile column steel bar
(3)鋼筋混凝土框架結構的總造價為
式中,nc,nb分別為梁總數(shù)和柱總數(shù)。
1.3.1 強度約束
1)梁
2)柱
(1)大偏心情況
(2)小偏壓情況(x>x)
式中:
除滿足式(7)以外,同時還需滿足式(6)的第二式。
另外,在各種情況下還需滿足斜截面承載力要求及軸壓比限制要求:
式中,αac為軸壓比限值。
框架結構抗震等級為一級、二級、三級、四級時分別取0.65,0.75,0.85,0.90。
1.3.2 構造約束
構造約束參照《混凝土結構設計規(guī)范》《建筑抗震設計規(guī)范》中的各項條文,如梁截面高寬比小于或等于4;構件截面最大及最小配筋率、配箍率;構件中鋼筋最大及最小間距、箍筋肢數(shù)等。
1.3.3 位移約束
每層最大彈性層間位移角
式中:Δi為第i層的層間相對位移;h i為第i層的層高。
遺傳算法是借鑒了進化生物學中的一些現(xiàn)象而發(fā)展起來的一種啟發(fā)式算法,這些現(xiàn)象包括遺傳、突變、自然選擇以及雜交等。傳統(tǒng)遺傳算法是僅使用選擇算子、交叉算子和變異算子的最基本的遺傳算法,其控制參數(shù)是事先確定且在遺傳進化過程中保持不變的。如何最優(yōu)給定有關控制參數(shù),以便使遺傳算法的性能最優(yōu),本身就是一個極其復雜的優(yōu)化問題,要從理論上嚴格解決這一問題還很困難。自適應遺傳算法通過對遺傳參數(shù)的自適應調整,大大提高了遺傳算法的收斂精度,加快了收斂速度[7]。
2.1.1 適應度函數(shù)
適應度是遺傳算法中評判個體優(yōu)劣的標準。適應度函數(shù)值越大的個體越接近最優(yōu)解,能遺傳到下一代的概率也越大。反之則概率越小。選取合適的適應度函數(shù)可以保證優(yōu)秀個體能夠有機會使優(yōu)良特性得以遺傳。本文采用的適應度函數(shù)為
式中,G(x)是自適應懲罰函數(shù),在2.1.3節(jié)會詳細介紹。
2.1.2 選擇、交叉、變異算子
1)自適應交叉算子
交叉概率和變異概率的取值對遺傳算法的性能有很大的影響。交叉概率Pc值過大,新個體將快速出現(xiàn),種群多樣性更強,但容易破壞優(yōu)秀個體的基因,造成優(yōu)秀個體流失。Pc值過小,容易陷入局部最優(yōu)解。傳統(tǒng)遺傳算法中Pc的取值往往需要多次試算來決定。為了克服上述困難,本文采用動態(tài)的自適應交叉算子,根據(jù)待交叉的兩個個體的適應值來計算交叉概率,提高搜索速度的同時也保護優(yōu)秀個體不受破壞[8]。自適應交叉概率的計算公式為
式中:favg為當前種群的平均適應值;fmax為當前種群中的最佳適應值;f′為待交叉的兩個個體中適應度更高者的適應值。Pc1,Pc2為相關常數(shù),可取Pc1=0.9,Pc2=0.6。
當待交叉的兩個個體中適應值較大者的適應值不小于平均適應值時,調整減小交叉概率Pc;當待交叉的兩個個體的適應值均小于平均適應值時,交叉概率Pc等于原先設定的初始交叉概率Pc1。
2)自適應變異算子
變異概率Pm過大會造成盲目搜索,Pm過小則難以產生新個體,種群多樣性差。本文同樣采用動態(tài)的自適應交叉算子,自適應變異概率的計算公式為
式中:f為待變異個體的適應值;Pm1,Pm2為相關常數(shù),可取Pm1=0.1,Pm2=0.01。當待變異個體的適應值較大者的適應值不小于平均適應值時,按式(14)調整減小變異概率Pm;當待變異個體的適應值均小于平均適應值時,Pm等于原先設定的初始變異概率Pm1。
3)選擇算子
本文根據(jù)選用適應度比例法進行選擇。適應度比例法,又稱輪盤賭選擇法,是將個體的相對適應度作為該個體被選擇的概率,某個體的相對適應度越高,它被選擇的概率就越大。
2.1.3 約束處理
本文采用懲罰函數(shù)處理約束問題。懲罰函數(shù)是將約束條件的違反度作為懲罰項加到目標函數(shù)中,從而構造出帶參數(shù)的增廣目標函數(shù)。個體違反約束的程度越大,其對應的懲罰項的值和增廣目標函數(shù)值越大,個體適應度值越小,從而達到使違反約束程度大的個體遺傳到下一代的概率減小的“懲罰”目的。這種約束處理的思想是把一系列的約束優(yōu)化問題轉化成無約束的優(yōu)化問題求解。
在約束條件下求函數(shù)最小值的數(shù)學表達式為
式中:f(x)為目標函數(shù);Pm1和Pm1分別為不等式約束條件和等式約束條件;x?Ω?S,S?Rn是搜索空間,Ω是可行域,即滿足所有約束條件的空間。
懲罰函數(shù)方法把問題轉化為min G(x)=f(x)+cφ(x),其中,G(x)稱為懲罰函數(shù),c為懲罰因子,φ(x)為懲罰項。懲罰項個體到可行域的距離,個體x到第j個約束條件的距離可以表示為
傳統(tǒng)的懲罰函數(shù)中,懲罰系數(shù)c的選取比較困難,c過大會降低對不可行域的搜索,因而失去由不可行解提供的一些有價值的的信息;c過小會導致約束條件被忽略。為了解決上述問題,蔡海鸞[10]提出了一種改進的自適應懲罰函數(shù),利用當前群體總的可行解的比例來權衡目標函數(shù)和約束違反程度,實現(xiàn)對懲罰系數(shù)的動態(tài)調整。假設懲罰系數(shù)函數(shù)為
式中:ρ為可行解在種群中所占的比例;α是一個調整的參數(shù),α>0,可?。?,10]之間的一個數(shù)。
綜上可得自適應懲罰函數(shù)為
本文用自適應懲罰函數(shù)處理構件約束。層間位移角約束采用下文介紹的位移調整策略來實現(xiàn)。
在完成一次遺傳算法后需要對獲得的最優(yōu)個體進行位移驗算,如果不滿足位移規(guī)范的要求,則從該個體出發(fā),在其附近搜索滿足位移約束的新個體,并令其替換為本輪整體優(yōu)化的最優(yōu)個體[11]。
本文結合傳統(tǒng)設計時調整不滿足層間位移角的思路,提出了一種基于準則法的簡化調整策略,使得在遺傳算法最優(yōu)個體附近快速找到一個滿足位移約束的個體。
傳統(tǒng)結構設計實踐中,當框架結構不滿足位移約束時,有兩種常見的調整思路:
(1)放大本層不滿足位移要求方向的梁尺寸,一般只放大梁高尺寸;
(2)放大本層與不滿足位移要求方向的同向柱邊尺寸。
基于以上兩種思路,本文設計了如圖5所示的調整位移不滿足約束的搜索策略:首先,把遺傳算法計算出的最優(yōu)個體分別按照上述(1),(2)思路進行模型調整;然后,比較兩種思路調整后的個體適應值,取個體適應值最大的替換遺傳算法的優(yōu)化結果。
圖5 位移不滿足約束時的調整策略Fig.5 Adjustment strategy when the displacement does not meet the constraint
本文采用分部優(yōu)化思想來處理框架結構的尺寸和內力的非線性問題。整體優(yōu)化分為兩步執(zhí)行,第一步凍結內力做結構尺寸的優(yōu)化,第二步在第一步得到的新最優(yōu)個體的基礎上,更新模型內力,再次執(zhí)行第一步的操作,反復這個過程直到造價滿足收斂條件。
第一步優(yōu)化又分兩個級別。第一級為不考慮結構剛度對內力的影響,在梁柱構件約束和層間約束下執(zhí)行遺傳算法;第二級為在遺傳算法優(yōu)化得到的最佳個體后,將變量回代入有限元分析軟件進行受力分析并輸出層間位移,分析結果若不滿足位移約束,則執(zhí)行2.2節(jié)的位移調整策略不斷更新ETABS模型,直到滿足位移約束。整個優(yōu)化過程的執(zhí)行流程圖見圖6。
圖6 鋼筋混凝土框架結構整體優(yōu)化流程Fig.6 Overall optimization process of reinforced concrete frame structure
某8層鋼筋混凝土框架結構,左右對稱,結構層平面圖見圖7。初始模型各變量參數(shù)輸入值見表2。結構設防烈度為7度(0.1g),地震分組為第一組。樓面恒荷載輸入為2.5 kN/m2,活荷載輸入為2.0 kN/m2,基本風壓為0.55 kN/m2,地面粗糙程度為B類,場地類別為Ⅱ類。
圖7 標準層平面圖(單位:mm)Fig.7 Standard floor plan(Unit:mm)
圖8 為該框架模型優(yōu)化過程中的造價曲線。整體優(yōu)化在第5次達到收斂精度要求,總耗時為18分33秒,框架優(yōu)化后的造價收斂于428 833元,與原始模型相比減少了近25%的造價。表1為優(yōu)化前后結構層間位移角,表2為優(yōu)化前后各變量的值的對比??梢娊Y構層間位移角均滿足約束要求。
圖8 結構整體優(yōu)化造價下降曲線Fig.8 Cost decline curve of overall structural optimization
表1 框架結構優(yōu)化后的層間位移角Table 1 Inter story displacement angle of frame structure after optimization
表2 框架結構優(yōu)化前后數(shù)據(jù)對比Table 2 Data comparison of frame structure around optimization
本文采用自適應遺傳算法,在內力靜定化假設的前提下對鋼筋混凝土框架結構進行了優(yōu)化設計。內力靜定化假設避免了在優(yōu)化過程中進行大量的結構分析,極大地提高了計算效率。自適應遺傳算法通過對遺傳參數(shù)的自適應調整,大幅度提高了遺傳算法的收斂精度,加快了收斂速度。通過算例實踐,驗證了本文設計的框架優(yōu)化程序的可行性和實用性。在大大提高工作效率的同時,也能保證優(yōu)化效果良好。