周俊文,劉界鵬
(重慶大學(xué) 土木工程學(xué)院;山地城鎮(zhèn)建設(shè)與新技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,重慶 400045)
中國(guó)位于地震多發(fā)帶,受地震作用的影響,大量建筑物被損毀,造成了巨大的經(jīng)濟(jì)損失和人員傷亡[1-3]。據(jù)建筑業(yè)發(fā)展報(bào)告統(tǒng)計(jì),2021 年上半年,中國(guó)建筑業(yè)企業(yè)完成建筑業(yè)總產(chǎn)值119 843.55 億元,同比增長(zhǎng)18.85%,呈現(xiàn)出蓬勃向上的發(fā)展趨勢(shì),建筑結(jié)構(gòu)的安全性和經(jīng)濟(jì)性成為重要的關(guān)注點(diǎn)。因此,研究高效的建筑結(jié)構(gòu)設(shè)計(jì)方法,對(duì)保證建筑行業(yè)的快速發(fā)展具有重要的現(xiàn)實(shí)意義。
傳統(tǒng)的建筑結(jié)構(gòu)設(shè)計(jì)方法主要依賴PKPM 等設(shè)計(jì)軟件的力學(xué)計(jì)算分析結(jié)果,憑借專家經(jīng)驗(yàn)對(duì)結(jié)構(gòu)進(jìn)行人為調(diào)整,包括合理的構(gòu)件布置和截面取值等,使其滿足相關(guān)規(guī)范的要求,以實(shí)現(xiàn)優(yōu)化設(shè)計(jì),在保證結(jié)構(gòu)安全性的同時(shí)降低建筑材料成本[4-8],該方法受人為主觀因素的影響較大且耗時(shí)耗力,已無(wú)法滿足建筑行業(yè)快速發(fā)展的需求。以智能化方法實(shí)現(xiàn)結(jié)構(gòu)的自動(dòng)建模分析和優(yōu)化設(shè)計(jì),能有效改善傳統(tǒng)結(jié)構(gòu)設(shè)計(jì)效率低下的問(wèn)題,并保證優(yōu)化后結(jié)構(gòu)的經(jīng)濟(jì)有效性[9-12]。
與傳統(tǒng)的混凝土結(jié)構(gòu)、砌體結(jié)構(gòu)相比,鋼框架結(jié)構(gòu)具有輕質(zhì)高強(qiáng)、延性好、結(jié)構(gòu)形式簡(jiǎn)單、施工方便等優(yōu)點(diǎn),應(yīng)推廣其在地震區(qū)的應(yīng)用[1],近年來(lái),在鋼框架結(jié)構(gòu)的智能優(yōu)化設(shè)計(jì)方面已有大量學(xué)者進(jìn)行了相關(guān)研究。Degertekin 等[13]考慮截面選型和位移約束,采用和聲搜索算法對(duì)鋼框架進(jìn)行了優(yōu)化設(shè)計(jì),降低了鋼框架的重量。Gholizadeh[14-15]采用智能算法對(duì)平面鋼框架結(jié)構(gòu)進(jìn)行了優(yōu)化設(shè)計(jì),包括蝙蝠算法和海豚回聲算法,研究了結(jié)構(gòu)尺寸的優(yōu)化,實(shí)現(xiàn)了結(jié)構(gòu)總質(zhì)量的降低,研究了剪力墻位置的優(yōu)化,得到了最優(yōu)布局。Talatahari 等[16]采用基于差分進(jìn)化的鷹策略算法,?arba?[17]采用基于生物地理學(xué)的優(yōu)化算法,Kaveh 等[18]采用先進(jìn)的充電系統(tǒng)搜索算法對(duì)鋼框架結(jié)構(gòu)進(jìn)行優(yōu)化,優(yōu)化后的結(jié)構(gòu)能夠滿足約束限值的要求,其材料總成本得到了有效地降低。智能算法已在結(jié)構(gòu)優(yōu)化的研究中有了廣泛的應(yīng)用,在每次優(yōu)化過(guò)程中,需要首先對(duì)算法參數(shù)進(jìn)行相應(yīng)的設(shè)置,當(dāng)其取值不合理時(shí),容易會(huì)引起算法的收斂性和優(yōu)化結(jié)果的優(yōu)異性等問(wèn)題,造成計(jì)算量大、耗時(shí)長(zhǎng)、結(jié)果不理想、隨機(jī)性強(qiáng)等后果,如遺傳算法中的變異概率,當(dāng)其設(shè)定較大時(shí),容易破壞原有優(yōu)秀個(gè)體的基因,當(dāng)其設(shè)定較小時(shí),可能使優(yōu)化陷入局部最優(yōu)解而過(guò)早收斂。在單次優(yōu)化過(guò)程中,引入多種群的概念,每個(gè)種群設(shè)置不同參數(shù)值而表現(xiàn)出不同的優(yōu)化性能,通過(guò)信息共享來(lái)進(jìn)行不同種群間的交流,從而發(fā)揮多種群算法的綜合性能優(yōu)勢(shì),能夠有效提高搜索能力,降低優(yōu)化結(jié)果對(duì)參數(shù)設(shè)置的依賴性[19-20]?;诙喾N群思想的算法在優(yōu)化問(wèn)題中存在一定的優(yōu)勢(shì),已應(yīng)用到兵工、計(jì)算機(jī)等領(lǐng)域[21-22],然而其在土木工程領(lǐng)域的應(yīng)用仍有限。對(duì)于建筑結(jié)構(gòu)設(shè)計(jì)而言,優(yōu)化問(wèn)題比較復(fù)雜,涉及非凸性、非線性、變量離散性、局部最優(yōu)解眾多等,優(yōu)化對(duì)象存在較大的結(jié)構(gòu)差異和較強(qiáng)的構(gòu)件相互作用,且優(yōu)化結(jié)果和收斂性高度依賴于算法的更新機(jī)制和搜索能力,因此,在實(shí)現(xiàn)高效的結(jié)構(gòu)優(yōu)化設(shè)計(jì)方面,該算法的適用性仍有待研究。
目前,中國(guó)正在大力推進(jìn)經(jīng)濟(jì)有效結(jié)構(gòu)的發(fā)展,以最小的資源和成本,造出外觀美、空間分布合理并滿足安全性要求的建筑物,實(shí)現(xiàn)資源的最大化利用和經(jīng)濟(jì)性。筆者以遺傳算法為基礎(chǔ),通過(guò)多種策略對(duì)其進(jìn)行改進(jìn)并引入多種群思想,將其應(yīng)用于鋼框架結(jié)構(gòu)的優(yōu)化問(wèn)題中,以驗(yàn)證方法的有效性,旨在為鋼框架結(jié)構(gòu)的優(yōu)化設(shè)計(jì)提供參考。
研究對(duì)象為4 跨10 層的平面鋼框架結(jié)構(gòu),截面為工字型鋼,鋼號(hào)為Q235,跨度為4 m,層高為3 m,從下往上總共分為3 個(gè)標(biāo)準(zhǔn)層,其中1~4 層為標(biāo)準(zhǔn)層1,5~7 層為標(biāo)準(zhǔn)層2,8~10 層為標(biāo)準(zhǔn)層3。考慮荷載工況為1.3 倍重力荷載代表值+1.3 倍水平地震作用,前者由恒載4.5 kN/m2(樓面恒載2 kN/m2+樓板自重2.5 kN/m2)與活載2 kN/m2計(jì)算得到,將其等效為豎向線荷載作用在梁上;采用底部剪力法計(jì)算等效水平地震作用,地震設(shè)防烈度、地震動(dòng)設(shè)計(jì)特征周期、地震影響系數(shù)最大值、阻尼比分別取為6度、0.35 s、0.04、0.04,將其等效為水平荷載作用到每一層柱頂節(jié)點(diǎn)上。通過(guò)MSC.Marc 軟件建立鋼框架結(jié)構(gòu)的有限元模型,見(jiàn)圖1,梁柱構(gòu)件均采用梁?jiǎn)卧?,結(jié)構(gòu)底部和梁柱節(jié)點(diǎn)均為剛接。由于本文旨在研究智能算法在結(jié)構(gòu)優(yōu)化設(shè)計(jì)中的有效性,而優(yōu)化過(guò)程最耗時(shí)部分為結(jié)構(gòu)的有限元分析,因此,為了節(jié)約計(jì)算時(shí)間,僅考慮彈性分析,鋼材密度取為7 850 kg/m3,彈性模量取為206 GPa。
圖1 鋼框架結(jié)構(gòu)的有限元模型Fig.1 Finite element model of steel frame structure
根據(jù)《建筑抗震設(shè)計(jì)規(guī)范》(GB 50011—2010)[23]和《鋼結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)》(GB 50017—2017)[24]規(guī)定,在鋼框架的優(yōu)化設(shè)計(jì)中考慮以下結(jié)構(gòu)約束條件。
最大層間位移角約束
式中:dri為第i層的層間位移角;dru為最大層間位移角限值,取為1/250;ns為樓層數(shù)量。
應(yīng)力約束
式中:σi為第i組構(gòu)件的最大應(yīng) 力;σu為鋼 材的屈服強(qiáng)度值,取為235 MPa;ng為構(gòu)件的組數(shù)。
穩(wěn)定性約束
式中:Ei、Ai、Wxi、Wyi、Ni、Mxi、Myi分別為構(gòu)件i的材料彈性模量、截面面積、x向毛截面模量、y向毛截面模量、軸力、x向最大彎矩、y向最大彎矩;λxi、λyi分別為構(gòu)件i對(duì)x軸、y軸的長(zhǎng)細(xì)比;λxi、λyi為構(gòu)件i的截面塑性發(fā)展系數(shù);φxi、φyi分別為構(gòu)件i對(duì)x軸、y軸的軸心受壓整體穩(wěn)定系數(shù);βmxi、βmyi為構(gòu)件i按《鋼結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)》(GB 50017—2017)第8.2.1 條彎矩作用平面內(nèi)穩(wěn)定計(jì)算采用的等效彎矩系數(shù);βtxi、βtyi為構(gòu)件i按《鋼結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)》(GB 50017—2017)第8.2.1 條彎矩作用平面外穩(wěn)定計(jì)算采用的等效彎矩系數(shù);f為構(gòu)件i的材料強(qiáng)度設(shè)計(jì)值;η為截面影響系數(shù),取為1;nm為構(gòu)件的總數(shù)。
尺寸約束
計(jì)算后約束:
式中:hbi、tbwi分別為第i組框架梁的腹板高度和腹板厚度;ρi為第i組框架梁的最大軸壓比;λci為第i組框架柱的長(zhǎng)細(xì)比;λu為框架柱最大長(zhǎng)細(xì)比限值,取為100ε,ε為鋼號(hào)修正系數(shù)。此類約束需要在有限元分析后由其結(jié)果計(jì)算得到,包括框架梁的腹板寬厚比和框架柱的長(zhǎng)細(xì)比。
計(jì)算前約束
式中:bci、hci、tcfi、tcwi分別為第i組框架柱的翼緣外伸部分寬度、腹板高度、翼緣厚度、腹板厚度;bbi、tbfi分別為第i組框架梁的翼緣外伸部分寬度、翼緣厚度,ngc、ngb分別為框架柱、框架梁的組數(shù)。此類約束可以在進(jìn)行有限元分析前計(jì)算得到,包括框架柱的翼緣外伸部分和腹板寬厚比、框架梁的翼緣外伸部分寬厚比。
如圖1 所示,鋼框架結(jié)構(gòu)總共設(shè)有3 個(gè)標(biāo)準(zhǔn)層,將每個(gè)標(biāo)準(zhǔn)層中的構(gòu)件劃分3 組,包括角柱、中柱和梁,總共有9 組構(gòu)件,每組構(gòu)件設(shè)置4 個(gè)參數(shù),包括工字型鋼截面的翼緣寬度b、總高度h、腹板厚度t1、翼緣厚度t2,記為(b、h、t1、t2),單位為mm,因此,該優(yōu)化問(wèn)題中總共考慮36 個(gè)設(shè)計(jì)變量,變量的取值范圍見(jiàn)表1。
表1 設(shè)計(jì)變量取值范圍Table 1 Range of design parameters
以結(jié)構(gòu)的鋼材總質(zhì)量最小化為目標(biāo)函數(shù),包括所有的框架梁柱構(gòu)件,其數(shù)學(xué)表達(dá)式為
式中:li分別為構(gòu)件i的長(zhǎng)度。
采用外部罰函數(shù)法計(jì)算懲罰后的結(jié)構(gòu)總質(zhì)量,構(gòu)造輔助函數(shù)對(duì)約束條件進(jìn)行處理,其表達(dá)式為
通過(guò)輔助函數(shù),將約束條件考慮到目標(biāo)函數(shù)中,得到懲罰后的目標(biāo)函數(shù),稱為偽目標(biāo)函數(shù),其數(shù)學(xué)表達(dá)式為
式中:gi為約束條件值,由式(1)~式(6)計(jì)算得到;n為約束條件總數(shù)。
當(dāng)結(jié)構(gòu)滿足所有的約束條件時(shí),式(12)第2 項(xiàng)為0,偽目標(biāo)函數(shù)等于結(jié)構(gòu)總質(zhì)量;當(dāng)結(jié)構(gòu)存在約束超限的情況時(shí),式(12)第2 項(xiàng)將遠(yuǎn)大于0,偽目標(biāo)函數(shù)大于結(jié)構(gòu)總質(zhì)量。因此,偽目標(biāo)函數(shù)值越小,則結(jié)構(gòu)更好,其既能滿足所有的約束條件,又能實(shí)現(xiàn)經(jīng)濟(jì)性。
偽目標(biāo)函數(shù)是一項(xiàng)考慮結(jié)構(gòu)原始總質(zhì)量和所有約束條件的綜合指標(biāo),可以將有強(qiáng)約束的結(jié)構(gòu)優(yōu)化設(shè)計(jì)問(wèn)題轉(zhuǎn)換為無(wú)約束問(wèn)題,通過(guò)種群個(gè)體函數(shù)值之間的對(duì)比,能夠反映出結(jié)構(gòu)違反約束條件的程度、超限數(shù)量、材料質(zhì)量和結(jié)構(gòu)相對(duì)優(yōu)劣等信息,以實(shí)現(xiàn)對(duì)個(gè)體的比較選擇。
以遺傳算法為基礎(chǔ),引入多種改進(jìn)策略和多種群思想,結(jié)合結(jié)構(gòu)和設(shè)計(jì)變量特征,基于規(guī)范要求對(duì)鋼框架結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計(jì),旨在說(shuō)明多種群遺傳算法的有效性。采用的所有算法都具有相同的種群初始化、適應(yīng)度評(píng)估步驟,在設(shè)計(jì)變量生成和更新時(shí)都采用了基于約束的策略,將先對(duì)其進(jìn)行統(tǒng)一描述。
基于約束的策略見(jiàn)圖2。遺傳算法是一種隨機(jī)性較強(qiáng)的算法,在初始化和迭代過(guò)程中生成種群時(shí)不具有方向性,通常存在新個(gè)體無(wú)法滿足約束條件或原本滿足要求的個(gè)體在變量更新后出現(xiàn)超限的情況,這會(huì)增加無(wú)效個(gè)體(存在超限情況的個(gè)體)的數(shù)量,從而導(dǎo)致計(jì)算時(shí)間的增加。為了減少該情況發(fā)生的可能性,以構(gòu)件組為單位,采用基于約束的策略來(lái)改善該問(wèn)題,僅針對(duì)計(jì)算前約束條件。在初始化過(guò)程中或在迭代過(guò)程中通過(guò)交叉、變異操作后,當(dāng)有新個(gè)體生成時(shí),遍歷每個(gè)構(gòu)件組,均通過(guò)式(7)~式(9)對(duì)其截面參數(shù)進(jìn)行相關(guān)驗(yàn)算,當(dāng)滿足要求時(shí),該構(gòu)件組生成有效,否則重復(fù)進(jìn)行相同操作,直至滿足要求為止,為了避免某些構(gòu)件組始終無(wú)法滿足要求而陷入死循環(huán)的情況,設(shè)置最大重復(fù)操作的次數(shù),在超過(guò)30 次后,將該構(gòu)件組的4 個(gè)參數(shù)在取值范圍內(nèi)重新隨機(jī)生成,直到滿足要求。該策略將應(yīng)用于包括種群初始化、交叉、變異、重生成等所有會(huì)生成新個(gè)體的步驟中。
圖2 基于約束的策略Fig.2 Constraint-based strategy
種群初始化。個(gè)體的所有設(shè)計(jì)變量在相應(yīng)的取值范圍內(nèi)隨機(jī)選擇,以構(gòu)件組為單位,采用基于約束的策略生成最終個(gè)體,最大限度地保證初始種群在可行域內(nèi)均勻分布和算法的全局搜索能力。
適應(yīng)度評(píng)估。采用式(12)計(jì)算每個(gè)個(gè)體的偽目標(biāo)函數(shù)值,進(jìn)而得到其適應(yīng)度。
2.3.1 遺傳算法
遺傳算法(Genetic Algorithm,GA)是基于大自然中生物體進(jìn)化規(guī)律,模擬達(dá)爾文生物進(jìn)化論的自然選擇法則和遺傳學(xué)機(jī)理的生物進(jìn)化過(guò)程思想的一種優(yōu)化算法,具體為將優(yōu)化問(wèn)題以基因的形式對(duì)種群中所有個(gè)體進(jìn)行編碼,通過(guò)自然選擇、遺傳和變異過(guò)程實(shí)現(xiàn)新種群的更新迭代,最終獲得適應(yīng)性高的個(gè)體,即最優(yōu)個(gè)體,該方法已被廣泛應(yīng)用于機(jī)器學(xué)習(xí)、信號(hào)處理、組合優(yōu)化等領(lǐng)域。該算法的主要流程(見(jiàn)圖3)如下。
圖3 遺傳算法流程Fig.3 Process of genetic algorithm
1)個(gè)體編碼。采用實(shí)數(shù)編碼方式將求解問(wèn)題轉(zhuǎn)換為可供遺傳算法進(jìn)行后續(xù)操作的帶有數(shù)據(jù)信息的染色體或個(gè)體,建立問(wèn)題解空間和算法參數(shù)搜索空間的映射關(guān)系。
2)選擇算子。根據(jù)遺傳算法中“適者生存”的思想,從上一代種群的適應(yīng)度選擇出優(yōu)質(zhì)個(gè)體作為交叉和變異操作的基礎(chǔ)。采用輪盤賭策略對(duì)個(gè)體進(jìn)行選擇,即通過(guò)計(jì)算所有個(gè)體的適應(yīng)度,其值越高,則被選擇的概率越大。
3)交叉算子。在荷載作用下,結(jié)構(gòu)構(gòu)件具有較強(qiáng)的相互作用關(guān)系,存在著荷載的分配問(wèn)題,如應(yīng)力不僅與該構(gòu)件的截面尺寸相關(guān),還與其他構(gòu)件的剛度以及分配的荷載相關(guān),若在所有設(shè)計(jì)變量之間采用多點(diǎn)交叉,容易導(dǎo)致原本滿足應(yīng)力要求的構(gòu)件發(fā)生超限的情況,使算法的收斂速度降低等問(wèn)題。為了提高算法的性能,采用基于構(gòu)件層次的多點(diǎn)交叉策略,即在每一組構(gòu)件的4 個(gè)參數(shù)中隨機(jī)選擇一個(gè)點(diǎn)位進(jìn)行交叉,突出相同構(gòu)件組之間父代特性的繼承和遺傳。
4)變異算子。與交叉算子相似,采用基于構(gòu)件層次的多點(diǎn)變異策略,即在每一組構(gòu)件的4 個(gè)參數(shù)中隨機(jī)選擇一個(gè)點(diǎn)位,在其取值范圍內(nèi)隨機(jī)生成,提高對(duì)構(gòu)件組的局部搜索能力,增加種群的多樣性并避免“早熟”現(xiàn)象的發(fā)生。
5)終止準(zhǔn)則。設(shè)置最大迭代次數(shù)和最優(yōu)解保持在誤差范圍內(nèi)的最大連續(xù)次數(shù),當(dāng)滿足任意一種情況時(shí),優(yōu)化過(guò)程終止,輸出最優(yōu)解。
2.3.2 改進(jìn)遺傳算法
經(jīng)典遺傳算法存在著一些弊端,在基于輪盤賭策略的選擇操作中,迭代后期的個(gè)體差異較小,由于適應(yīng)度相近較難選擇出真正的優(yōu)質(zhì)個(gè)體,在交叉和變異操作中,概率固定且缺乏搜索方向的引導(dǎo),對(duì)設(shè)計(jì)變量的取值擾動(dòng)較大,容易破壞構(gòu)件層次的優(yōu)質(zhì)基因,使算法的局部搜索能力降低,整體未設(shè)置精英保留策略,可能造成優(yōu)質(zhì)個(gè)體基因的浪費(fèi)。因此,考慮采用適應(yīng)度尺度變換、基于方向的交叉算子、非均勻變異算子、自適應(yīng)概率、精英保留策略、重復(fù)項(xiàng)替代機(jī)制對(duì)其進(jìn)行改進(jìn),稱為基于方向的自遺傳算法(genetic algorithm,DBAGA),其主要流程見(jiàn)圖4。
圖4 DBAGA 算法流程Fig.4 Process of DBAGA
適應(yīng)度尺度變換[25]。適應(yīng)度對(duì)算法的收斂性有一定的影響,為了在優(yōu)化初期對(duì)少數(shù)適應(yīng)度較高的個(gè)體進(jìn)行控制,降低其與其他個(gè)體的差異,以維護(hù)種群多樣性,在優(yōu)化后期適當(dāng)放大個(gè)體之間的差異,提高優(yōu)質(zhì)個(gè)體的競(jìng)爭(zhēng)性,采用線性尺度變換策略對(duì)適應(yīng)度進(jìn)行處理,其數(shù)學(xué)表達(dá)式為
式中:f、f ′分別為尺度變換前后的適應(yīng)度值;a、b為系數(shù),由式(14)~(15)計(jì)算得到,即尺度變換后的適應(yīng)度平均值f ′ave和最大值f ′max應(yīng)分別等于尺度變換前的適應(yīng)度平均值fave和其指定倍數(shù);c為最佳個(gè)體期望復(fù)制系數(shù),一般取為1~2。
基于方向的交叉算子[26]。智能算法如粒子群算法中通常通過(guò)較優(yōu)個(gè)體來(lái)引導(dǎo)種群中其他個(gè)體的搜索方向,從而使其向更好的方向移動(dòng),采用基于方向的交叉算子來(lái)實(shí)現(xiàn),其數(shù)學(xué)表達(dá)式為
式中:、分別為第k次迭代中選擇出的第i個(gè)和第j個(gè)個(gè)體;λ為步長(zhǎng),取為1;R1、R2為取值為[0,1]且與維度設(shè)計(jì)變量相同的隨機(jī)數(shù)向量;D為和中較優(yōu)個(gè)體與較差個(gè)體的向量差,即交叉方向。
非均勻變異算子[27]。通過(guò)基因位隨機(jī)數(shù)替代可能導(dǎo)致優(yōu)質(zhì)個(gè)體被破壞,采用非均勻變異算子,僅在所選點(diǎn)位附近作一微小隨機(jī)擾動(dòng),可以提高對(duì)重 點(diǎn)區(qū)域的局部搜索,其數(shù)學(xué)表達(dá)式為
式中:x、xu、xl分別為基因位對(duì)應(yīng)參數(shù)的當(dāng)前取值、最大取值、最小取值,r為[0,1]的隨機(jī)數(shù);t為當(dāng)前迭代數(shù);T為最大迭代數(shù);b為系數(shù)。
自適應(yīng)概率。固定概率的設(shè)置會(huì)影響算法的性能,當(dāng)其過(guò)大時(shí),優(yōu)質(zhì)個(gè)體的基因被破壞的可能性變大,從而增加算法的隨機(jī)性,當(dāng)其過(guò)小時(shí),會(huì)使搜索過(guò)程緩慢,陷入局部最優(yōu)解,采用自適應(yīng)概率可以改善該問(wèn)題。根據(jù)適應(yīng)度的不同,在交叉操作中,設(shè)置2 階段概率[25];在常見(jiàn)的2 階段變異操作中,較大概率值通常較小,難以達(dá)到變異作用,為了增加種群的多樣性,增加變異的可能性,設(shè)置3 階段概率。當(dāng)適應(yīng)度低于設(shè)定適應(yīng)度時(shí),說(shuō)明個(gè)體較差,采用較大的交叉和變異概率,當(dāng)適應(yīng)度高于設(shè)定適應(yīng)度時(shí),采用較小的交叉和變異概率,以自適應(yīng)概率的方式增加個(gè)體的競(jìng)爭(zhēng),提高算法的收斂速度,其數(shù)學(xué)表達(dá)式為
式中:pc1、pc2分別為較大和較小交叉概率;pm1、pm2、pm3分別為較大、一般和較小變異概率。
精英保留策略[25]。為了避免精英個(gè)體的丟失,提高子代個(gè)體對(duì)父代個(gè)體優(yōu)質(zhì)基因的繼承特性,將歷史最優(yōu)解保存并在每一次迭代過(guò)程中用于替代最劣解,可以有效保證最優(yōu)個(gè)體不會(huì)被破壞,提高算法的收斂性,但同樣存在某個(gè)局部最優(yōu)解不易被淘汰而使優(yōu)化過(guò)早收斂的問(wèn)題,因此與重復(fù)項(xiàng)替代機(jī)制配合使用。
重復(fù)項(xiàng)替代機(jī)制[26]。由于算法的遺傳特性,經(jīng)過(guò)選擇、交叉和變異操作后,種群中很可能存在重復(fù)個(gè)體,為了避免重復(fù)計(jì)算和降低優(yōu)化時(shí)間,用變異后的精英個(gè)體來(lái)替代重復(fù)項(xiàng),能夠有效增加種群的多樣性,同時(shí)提高對(duì)精英個(gè)體參數(shù)取值附近的局部搜索,改善因精英保留策略帶來(lái)的過(guò)早收斂和陷入局部最優(yōu)解問(wèn)題。
2.3.3 多種群遺傳算法
優(yōu)化算法的性能和結(jié)果受到算法中參數(shù)的影響,如遺傳算法中的交叉概率等,基于固定參數(shù)的優(yōu)化隨機(jī)性較強(qiáng)、魯棒性較差,采用基于多種群的思想可以改善此類問(wèn)題。在同一次優(yōu)化中,同時(shí)生成多個(gè)初始種群或者將整體群體劃分為多個(gè)子群體,每個(gè)子群體設(shè)置不同的算法參數(shù),各自同時(shí)進(jìn)行優(yōu)化,在一定的迭代次數(shù)后,通過(guò)移民算子將各子種群在進(jìn)化過(guò)程中出現(xiàn)的最優(yōu)個(gè)體引入相鄰的子種群中,實(shí)現(xiàn)種群之間的信息交換。該方法能夠有效降低的單一種群算法的隨機(jī)性和提高魯棒性,減少對(duì)參數(shù)設(shè)置的依賴性。對(duì)上述GA 和DBAGA都進(jìn)行多種群的設(shè)置,即多種群遺傳算法(Multi Population GA,MPGA)和基于方向的多種群遺傳算法(Direction-based MPGA,DMPGA),以MPGA為例進(jìn)行說(shuō)明,見(jiàn)圖5。在多種群算法中,各參數(shù)值不固定,只給定各自的取值范圍,在每次優(yōu)化開(kāi)始時(shí)隨機(jī)得到。
圖5 多種群遺傳算法Fig.5 Multi population genetic algorithm
移民算子。在多種群算法中,將群體劃分為一些子種群,通過(guò)移民操作建立子種群之間的相互聯(lián)系并實(shí)現(xiàn)信息交流,具體步驟如下:設(shè)置子種群數(shù)、移民間隔(相鄰兩次移民的間隔迭代數(shù))和移民率(每次被移民的個(gè)體數(shù)量);每個(gè)子種群按一定的模式(即獨(dú)立優(yōu)化器,在圖5 中為GA)分別進(jìn)行獨(dú)立優(yōu)化;當(dāng)?shù)螖?shù)滿足移民間隔時(shí),相鄰子種群進(jìn)行有序的移民操作。如設(shè)置子種群數(shù)為4,移民間隔為5,移民率為1,則將群體劃分為4 個(gè)子種群,每個(gè)子種群進(jìn)行獨(dú)立優(yōu)化,每5 次迭代時(shí),用子種群1 中歷史最優(yōu)的1 個(gè)個(gè)體替換子種群2 中當(dāng)代最差的1個(gè)個(gè)體,以此類推,按順序完成所有子種群間的移民操作(2→3,3→4,4→1)。
結(jié)構(gòu)體系的自動(dòng)優(yōu)化設(shè)計(jì)過(guò)程主要包括結(jié)構(gòu)的有限元分析和智能算法的迭代更新兩步,搭建優(yōu)化算法框架,通過(guò)MSC.Marc 有限元軟件完成對(duì)初始化種群的力學(xué)分析,基于Python 二次開(kāi)發(fā)技術(shù)對(duì)結(jié)構(gòu)的計(jì)算結(jié)果進(jìn)行提取和整理,得到個(gè)體的適應(yīng)度,再由優(yōu)化算法生成新一代種群,基于參數(shù)化建模方法和智能算法實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)的反復(fù)計(jì)算分析和自動(dòng)尋優(yōu)過(guò)程,見(jiàn)圖6。為了節(jié)約結(jié)構(gòu)分析時(shí)間,利用多核CPU 設(shè)置并行計(jì)算。
圖6 結(jié)構(gòu)自動(dòng)優(yōu)化設(shè)計(jì)過(guò)程Fig.6 Automatic structural optimization design process
采用4 種算法對(duì)鋼框架結(jié)構(gòu)進(jìn)行優(yōu)化,各進(jìn)行20 次優(yōu)化,在優(yōu)化過(guò)程中,各算法的參數(shù)設(shè)置保持不變,具體取值見(jiàn)表2。在2 種單種群算法中,因試算后發(fā)現(xiàn)種群規(guī)模設(shè)置較小時(shí)會(huì)出現(xiàn)過(guò)早收斂情況且優(yōu)化結(jié)果不理想,故均設(shè)置為100;在2 種多種群算法中,移民算子均設(shè)置為每1 次迭代后進(jìn)行相應(yīng)操作,子種群均設(shè)置為5 個(gè)且每個(gè)子種群10 個(gè)個(gè)體。
表2 算法參數(shù)設(shè)置Table 2 Parameter setting of algorithms
鋼框架結(jié)構(gòu)不同算法的優(yōu)化曲線和計(jì)算結(jié)果見(jiàn)圖7、圖8 和表3。對(duì)于GA,20 次優(yōu)化后的結(jié)構(gòu)均能滿足所有的約束條件,但最優(yōu)解呈現(xiàn)出較強(qiáng)的離散性,其標(biāo)準(zhǔn)差為1.79 t,其中,最優(yōu)解和最劣解分別為19.75、27.04 t,差值較大,達(dá)到7.29 t。從圖7(a)中可見(jiàn),大多數(shù)優(yōu)化所需的分析次數(shù)在4 000 次左右,其中,有6 次優(yōu)化所需的分析次數(shù)小于2 800次,計(jì)算成本較小,但在1 000 次分析后,大多數(shù)優(yōu)化曲線進(jìn)入平穩(wěn)階段且后期僅存在1~2 次下降,由此說(shuō)明,該算法容易陷入局部最優(yōu)解而過(guò)早收斂,局部搜索能力較差,這是因?yàn)槠浣徊婧妥儺惒呗远际轻槍?duì)每個(gè)構(gòu)件組的某一個(gè)隨機(jī)的基因位進(jìn)行的相關(guān)操作,不確定性較高,缺乏一個(gè)搜索方向的引導(dǎo),容易造成優(yōu)質(zhì)基因被破壞。
表3 不同算法的優(yōu)化結(jié)果Table 3 Optimization results of different algorithms
圖7 不同算法的優(yōu)化曲線Fig.7 Optimization curves of different algorithms
圖8 不同算法的最優(yōu)解計(jì)算結(jié)果Fig.8 Results of optimized solutions by different algorithms
對(duì)于DBAGA,優(yōu)化后的結(jié)構(gòu)中有8 次無(wú)法滿足所有的約束條件,由于偽目標(biāo)函數(shù)中考慮了約束條件的影響,因此,受多個(gè)最劣解的影響,優(yōu)化結(jié)果的平均值和標(biāo)準(zhǔn)差均較差,分別達(dá)到89.35、89.11 t,在該算法參數(shù)的設(shè)置下呈現(xiàn)出較強(qiáng)的離散性和隨機(jī)性。從優(yōu)化所需的分析次數(shù)來(lái)說(shuō),有14 次算例小于3 000 次即可達(dá)到終止判別條件,計(jì)算代價(jià)較低,同樣存在容易陷入局部最優(yōu)解而過(guò)早收斂的問(wèn)題。這是因?yàn)樵撍惴ǖ慕徊娌呗允轻槍?duì)設(shè)計(jì)變量的所有維度,雖然通過(guò)較優(yōu)個(gè)體向較差個(gè)體提供了搜索方向的引導(dǎo),但受到算法參數(shù)的設(shè)置影響,如果交叉的兩個(gè)個(gè)體都較差,其交叉后的子代個(gè)體則有較大可能無(wú)法得到好的改善,此外,在迭代后期,由于精英策略保留的歷史最優(yōu)個(gè)體將在種群中重要性增加,即使設(shè)置了重復(fù)項(xiàng)替代機(jī)制對(duì)該個(gè)體的重復(fù)項(xiàng)進(jìn)行了變異且在其參數(shù)取值附近進(jìn)行了局部搜索,但由于該個(gè)體本身質(zhì)量較差且每一次迭代僅存在少數(shù)重復(fù)項(xiàng),算法的局部搜索能力仍不易尋到更優(yōu)質(zhì)的解。
對(duì)于MPGA,優(yōu)化后的結(jié)構(gòu)均能滿足所有的約束條件,最優(yōu)解和最劣解分別為18.25、24.50 t,差值達(dá)到6.25 t,但除少數(shù)案例以外,其他優(yōu)化結(jié)果相對(duì)集中且標(biāo)準(zhǔn)差僅有1.56 t,表現(xiàn)出較大的離散性,但優(yōu)于GA。從圖7(c)中可見(jiàn),大多數(shù)優(yōu)化所需的分析次數(shù)小于2 700 次,計(jì)算時(shí)間較短,在迭代前期能下降到接近最終解便進(jìn)入到平穩(wěn)階段且后期出現(xiàn)下降的次數(shù)較GA 有所增加,說(shuō)明算法的局部搜索能力較GA 更好,這是因?yàn)椴捎昧硕喾N群思想,部分改善了GA 存在的局部搜索能力較差的缺點(diǎn)。該算法的基礎(chǔ)是GA,同樣是基于構(gòu)件組進(jìn)行的交叉操作,在迭代過(guò)程中容易破壞較優(yōu)個(gè)體,缺少搜索方向的引導(dǎo),大多靠全局搜索來(lái)尋優(yōu),具有一定的隨機(jī)性。
對(duì)于DMPGA,優(yōu)化后的結(jié)構(gòu)均能滿足所有的約束條件,其中,最優(yōu)解和最劣解分別為13.27、17.52 t,標(biāo)準(zhǔn)差僅有1.17 t,該算法的魯棒性較好。從圖7(d)可見(jiàn),優(yōu)化所需的分析次數(shù)大多集中于5 000 次左右,少數(shù)案例進(jìn)行到了最大迭代次數(shù)才終止,受其影響,20 次優(yōu)化所需的平均分析次數(shù)達(dá)到6 403 次,所有的優(yōu)化曲線表現(xiàn)出較多次的下降,說(shuō)明該算法的局部搜索能力較強(qiáng)。這是因?yàn)镈MPGA設(shè)置了多個(gè)子種群,集合了多個(gè)不同參數(shù)設(shè)置且獨(dú)立的DBAGA,極大地降低了單種群算法對(duì)其參數(shù)取值的依賴性,由于自適應(yīng)概率和基于方向的交叉算子,每個(gè)DBAGA 都存在較差個(gè)體向較優(yōu)個(gè)體前進(jìn)的機(jī)制,即使其歷史最優(yōu)解的質(zhì)量較差,但通過(guò)移民算子可以得到極大地改善。
由圖7(e)可見(jiàn),除DBAGA 之外,其他3 種算法優(yōu)化后的結(jié)構(gòu)均能滿足約束條件。其中,GA、DBAGA 和MPGA 的平均優(yōu)化曲線分別在約1 000、2 000 和1 500 次分析后下降到較低水平,優(yōu)化前期的收斂速度較快,但隨后基本保持平穩(wěn)狀態(tài),此外,由表3 可見(jiàn),3 種算法所需的平均分析次數(shù)分別為4 195、3 305、3 205 次,整體表現(xiàn)為局部搜索能力不足,存在早期陷入局部最優(yōu)解而過(guò)早收斂的問(wèn)題。相比之下,DMPGA 的平均優(yōu)化曲線在1 000~3 000次分析中仍有較大幅度的下降,約6 000 次分析后進(jìn)入穩(wěn)定期,所需的平均分析次數(shù)為6 403 次,雖然遠(yuǎn)高于其他算法,但優(yōu)化前期和后期均能表現(xiàn)出較好的搜索能力且最終得到的優(yōu)化結(jié)果遠(yuǎn)好于其他算法,具體如下:從平均解來(lái)說(shuō),DMPGA 的結(jié)果為15.58 t,比GA、DBAGA、MPGA 的結(jié)果分別低33.3%、82.6%、29.2%;從最優(yōu)解來(lái)說(shuō),DMPGA 的結(jié)果為13.27 t,比GA、DBAGA、MPGA 的結(jié)果分別低32.8%、32.1%、27.3%;從標(biāo)準(zhǔn)差來(lái)說(shuō),DMPGA 的結(jié)果為1.17 t,比GA、DBAGA、MPGA的結(jié)果分別低34.7%、98.7%、25.2%;從最劣解來(lái)說(shuō),DMPGA 的 結(jié)果 為17.52 t,比GA、DBAGA、MPGA 的最優(yōu)解都小,分別低11.3%、10.3%、4.0%。因此,由于采用了并行計(jì)算技術(shù),平均一次結(jié)構(gòu)分析所用時(shí)間約為1~2 s,一次結(jié)構(gòu)優(yōu)化所需的總體計(jì)算時(shí)間約為1~4 h,耗時(shí)較短,DMPGA 在計(jì)算效率方面雖有不足和有待改進(jìn)之處,但在可接受范圍之內(nèi),此外,該算法在搜索能力和優(yōu)化后結(jié)構(gòu)的質(zhì)量結(jié)果方面有明顯的優(yōu)勢(shì)。
由圖8 和表3 可見(jiàn),不同算法的最優(yōu)解都能滿足約束條件,但最優(yōu)結(jié)構(gòu)的設(shè)計(jì)變量參數(shù)值和性能指標(biāo)結(jié)果相差較大,這是因?yàn)槊糠N算法都是基于遺傳算法的思想,具有一定的隨機(jī)性,即使結(jié)構(gòu)總質(zhì)量相近,但構(gòu)件尺寸和結(jié)構(gòu)性能仍存在較大差異。與GA 和DBAGA 相比,總體來(lái)說(shuō),基于多種群思想的MPGA 和DMPGA 最優(yōu)解的結(jié)構(gòu)性能指標(biāo)更接近限值,兩者相比,DMPGA 的結(jié)果更好,如最大層間位移角為0.003 98,基本等于限值1/250,多組構(gòu)件的穩(wěn)定性結(jié)果接近1,說(shuō)明其優(yōu)化后的結(jié)構(gòu)更優(yōu),既能滿足約束條件,又具有較小的總質(zhì)量。
總體來(lái)說(shuō),DBAGA 比GA 的局部搜索能力更強(qiáng),這是因?yàn)榉蔷鶆蜃儺愃阕雍椭貜?fù)項(xiàng)替代機(jī)制同時(shí)增加了種群的多樣性和歷史最優(yōu)個(gè)體參數(shù)取值附近的局部搜索,但優(yōu)化結(jié)果仍較差;基于多種群的算法能夠有效改善基于單種群的算法的隨機(jī)性和魯棒性,通過(guò)多組不同參數(shù)設(shè)置降低了優(yōu)化結(jié)果對(duì)其的依賴性,如在前面分析中提到的DBAGA 可能由于精英策略保留的個(gè)體質(zhì)量較差而不易尋到更優(yōu)質(zhì)的解,但通過(guò)多種群機(jī)制的移民算子,能夠有效建立起子種群之間多個(gè)歷史最優(yōu)解的聯(lián)系,有效彌補(bǔ)了單種群算法的不足;與MPGA 相比,由于增加了基于方向的交叉算子能夠引導(dǎo)較差個(gè)體向較優(yōu)個(gè)體學(xué)習(xí),DMPGA 具有更強(qiáng)的全局和局部搜索能力。
以結(jié)構(gòu)的材料用量最小化為目標(biāo),通過(guò)罰函數(shù)法同時(shí)考慮多種結(jié)構(gòu)約束條件,以遺傳算法為基礎(chǔ),結(jié)合鋼框架結(jié)構(gòu)的特征,建立了結(jié)構(gòu)的自動(dòng)優(yōu)化設(shè)計(jì)流程,通過(guò)多種策略對(duì)算法進(jìn)行了改進(jìn),引入多種群思想,驗(yàn)證了多種群遺傳算法在鋼框架結(jié)構(gòu)優(yōu)化問(wèn)題中的有效性,主要結(jié)論如下:
1)與GA 相比,DBAGA 由于引入了基于方向的交叉算子、非均勻變異算子和重復(fù)項(xiàng)替代機(jī)制,有效地提高了算法的局部搜索能力,但其優(yōu)化結(jié)果仍較差,多數(shù)優(yōu)化后的結(jié)構(gòu)無(wú)法滿足所有的約束條件。
2)基于多種群思想的遺傳算法通過(guò)設(shè)置多個(gè)不同參數(shù)的子種群和移民算子,建立起子種群之間的聯(lián)系,降低了單種群遺傳算法對(duì)參數(shù)設(shè)置的依賴性,有效地改善了其隨機(jī)性較強(qiáng)的問(wèn)題,提高了算法的魯棒性。
3)基于多種群思想的DMPGA 由于存在基于方向的交叉算子、非均勻變異算子、重復(fù)項(xiàng)替代機(jī)制,其局部搜索能力得到了較大的改善,優(yōu)化結(jié)果的最優(yōu)解為13.27 t,比GA、DBAGA、MPGA 的結(jié)果分別低32.8%、32.1%、27.3%。
土木與環(huán)境工程學(xué)報(bào)2024年1期