劉 巖
(長安大學 建筑工程學院,陜西 西安710061)
隨著結構優化設計、電算技術的發展,國內外學者曾提出若干關于望遠鏡結構設計的優化方法[1-3]。Hoerner提出了保型設計這一概念,后來陳樹勛進一步提出了嚴格保型優化設計。這一方法在理論上可行,但據實際應用仍然有距離。其原因是:背架結構節點數 (N)過多,其約束條件數 (共3 N)會顯著超過設計變量數 (通常以截面尺寸為變量),導致方程組無解。于是,Leve又提出采用準則法對望遠鏡結構進行優化設計,但該方法理論基礎不是太牢固,迭代設計過程不夠穩定,同時存在對不同問題需要推導不同的準則通式等缺陷,在一定程度上影響了其被廣泛應用的進程。本文的研究對象——新疆110m 全可動射電望遠鏡背架結構形式較為復雜,即使同一位置的一圈桿件采用相同截面,仍然有上百個獨立變量,且均為型材式的圓鋼管,這一特征導致截面優化尤為困難。
由此可見,傳統的優化算法隨著反射面口徑的不斷擴大,在變量數目激增且均為離散型變量的情況下顯得不再那么奏效,因此需要結合本文的研究對象尋求簡便且能解決大規模變量數優化的高效算法。
目前,遺傳算法是一種通過模擬自然進化過程搜索問題最優解的方法。其主要特點是所采用的整體搜索策略和優化搜索方法在計算時不依賴于梯度信息或其它輔助信息,本身易于實現并行化以及更好的全局尋優能力,其標準算法的基本分析流程如圖1所示。

圖1 標準遺傳算法分析流程
具體針對新疆即將建造的110 m 巨型全可動射電望遠鏡,選取角錐系背架結構方案進行優化計算,給出背架結構桿件布置如圖2所示。

圖2 背架結構
整個背架結構上弦共1056個節點,8654根桿件。同一環桿件定義為一個截面變量,這樣對一榀單元給予變量標定,共有120個變量。以反射面面型精度最高 (即RMS值最小)為目標,對背架結構截面進行優化,其優化數學模型如下

其中,式 (1)代表將截面尺寸作為自變量,式 (2)表示約束條件,在具體優化程序中體現為拉彎構件按照強度、壓彎構件按照穩定分別進行驗算并對自變量的選取予以約束,式 (3)體現了背架結構桿件截面作為圓鋼管型材,其截面庫可選截面種類對截面的約束。
通過對背架結構的相關描述可知,本優化問題的特點——變量數龐大且均為型材式變量,若采用標準遺傳算法,在初始階段,變量數與種群個體數在同一數量級,導致初始種群多樣性較為簡單,不夠豐富;其次,由于初始種群個體間相似度本身較高,若采用標準的交叉和變異,而不針對個體特征加以有效干預,會使得交叉后產生的父、子兩代個體間并無顯著改善[4,5]。因此為避免這種 “近親繁殖”,提高遺傳算法效率,通過對標準遺傳算法中的一些關鍵算子及相關參數提出改進,最終采用改進遺傳算法作為本問題的優化分析方法,解決了背架結構大規模型材式變量的優化問題。如下就這些具體的相關改進措施予以必要的闡述。
種群的多樣性可作為評價遺傳進化過程的重要標志。當遺傳算法找到存在極值的某個區域時 (無論是全局還是局部),種群中的個體會持續不斷的向該區域集中,從而出現諸多相似甚至相同的個體,導致種群多樣性程度逐漸降低,最終影響到算法操作的效率以及搜索其它區域極值的能力。
為解決這個問題,采用Hamming 距離 (Hamming 距離是指兩個體相應基因片段不同基因位的總數)控制初始種群的個體差異,用來豐富種群多樣性,遏制超長個體的快速繁殖。具體方法如下:種群初始化中,每產生新的個體,都與前面所有個體進行比較,若新個體與前面某一個體的Hamming距離小于某一設定值 (例如:2~4,該數與個體編碼長度有關),則停止比較,跳出循環,重新產生新個體。如此往復循環,直到產生個體間均有一定差異的種群[6,7]。
適應度比例法是目前遺傳算法中最基本也是最常用的選擇方法,是一種回放式隨機抽樣的方法。但若單純采用適應度比例法進行選擇,有可能會出現最優個體在選擇過程中沒有被選擇復制到下一代。因此,本文在傳統選擇算子的基礎上,引入父子競爭機制[8]。具體表現為父代的兩個體交叉產生出子代的兩個體,對這4個個體 (父子兩代共4個)按照適應度高低排列,最高的2個個體進入下一代;如果父子兩代的個體適應度相等,子代個體優先進入下一代[9]。將這兩種方法結合起來,既能保證全局多峰性質的空間搜索,同時又能保證算法的收斂性。
交叉操作是遺傳算法的主要進化手段,交叉算子的設計包括以下3個方面:交叉點位置的確定、個體交叉概率的選擇以及交叉配對方式的選擇。標準算法中交叉算子對所有個體采用同一概率,并未具體結合個體的特點予以考慮。結合本問題特點——變量規模數龐大,若采用標準算法進行配對交叉,很容易產生前述提及的 “近親繁殖”問題。因此對這三方面做出了如下改進:
(1)交叉位置的選擇:兩個體交叉最常用的就是單點交叉,當對兩個體X、Y 進行交叉操作時,設X ={x1,x2,…,xM},Y ={y1,y2,…,yM},假 使交叉點選 擇不當,仍有可能得到與父代一模一樣的個體,導致交叉操作失效,算法無法跳出局部極值點[10],如圖3所示。因此有必要合理準確的定出其有效交叉域,并且在該范圍內隨機的進行交叉點選擇,確保父子兩代個體具有明顯的差異性。其有效域確定方法如下[11]

有效域為:(vmin,vmax)。如:例如兩個體X =1101101,Y =1010011,其交叉有效區域為 (2,6)。

圖3 單點交叉無效操作
(2)自適應交叉概率:遺傳算法的收斂性直接受到交叉概率的影響,較大的交叉概率pc使得新個體產生的速度較快,從而也導致優秀個體被破壞的可能性越高;而較小的交叉概率pc又會使得算法的有效進程大大降低。因此需要因個體的差異性不同而采用自適應交叉概率,即適應度值較高的個體采用較小的交叉概率,適應度值較低的個體采用較高的交叉概率,如式 (4)所示,公式中各符號的意義請參見文獻 [9]

(3)相關性配對交叉:相關性描述了兩個體間的相似程度,設兩個體X、Y 分別為

其中:xi∈{0,1},yi∈{0,1},i=1,2,...,M。二者間的不相關指數如式 (5)所示


由此可以看出r(X,Y)代表了個X 和Y 之間不同基因的數目,因此在選擇算子結束時,對篩選出的個體兩兩之間分別進行相關性計算,將相關性較小的兩兩個體組成配對,使得后續交叉操作的有效性大大提高。
變異算子對遺傳算法的局部搜索能力起到了輔助作用。該算子主要包含兩方面:變異點位置的確定以及基因值的替換方式。最常用的變異算子是以某概率進行隨機單基因座變異,而變異概率是隨著進化階段的更迭,不同階段針對不同個體采用自適應的變異概率,如式 (6)所示

其中,pm1=0.1;fmax是群體中最大適應度值;為各代群體平均適應度值;f 是待變異的個體適應度值。
為了說明改進算法的有效性,首先選取優化領域中常用的經典測試函數和典型結構模型為算例,分別采用標準遺傳算法和本文的改進遺傳算法,對其展開優化計算分析。通過對優化結果的優越性、迭代進化過程快慢、優化空間改進幅度大小等多方面進行對比,表明改進遺傳算法的優勢。
(1)問題描述:利用標準遺傳算法和改進遺傳算法對2個常用的二元多峰數值Shaffer函數進行優化測試計算,并進行比較。其中函數f1是求最小值,函數f2是求最大值。且兩個函數的定義域均為-100<x,y<100

(2)算法設置:對于標準遺傳算法和改進遺傳算法選擇相同的參數:種群規模數M=100,交叉和變異算子均采用自適應的交叉概率和變異概率,遺傳的進化終止代數T=200。由于f2是求最大值,可直接用函數本身作為其適應度函數;而f1是求最小值,需采用置大數(可設置為100)與函數做差后的結果,作為其適應度函數。同時,引入父子競爭機制。兩種算法各自隨機運行50次,其數值計算結果見表1。

表1 標準算法和改進算法測試結果對比
(3)標準算法與改進算法優結果比較:從表1以及圖4可知,改進算法最小收斂代數、平均收斂代數都比標準算法相應值要少,改進算法更為穩定,不但很快收斂到全局最大值,且種群的優良性程度好。表明在優化過程中由于改進遺傳算法引入了初始種群的多樣性,以及交叉算子有效性的大大增強,使得優秀個體得以更快的產生。

圖4 測試函數平均適應度曲線
(1)問題描述:十桿桁架結構如圖5 所示,已知P=10kN。材料屬性為:彈性模量E=2.0×105Mpa,密度=7.8×103kg/m3,材料的容許應力為 [σ]=100 MPa,a=b=2 m。根 據 材 料 供 應 的 截 面 庫A = [1.132,1.432,1.459,1.749,1.859,2.109,2.276,2.359,2.659,2.756,3.086,3.382,3.486,3.791,4.292,5.076]cm2,該問題屬于離散變量優化設計,采用遺傳算法設計此結構,使得結構最輕。

圖5 十桿桁架
(2)算法設置:以桿件截面面積為設計變量,結構質量最輕為設計目標,其優化數學模型如式(7)~式(9)所示

式中:C 為罰因子,采用大數,本文取C=10 000

式中:Cmax為一個適當的相對較大的數。
由材料力學強度理論可知,各桿件應力應滿足約束條件,如式 (8)所示。具體計算時,由于是求質量最輕,即最小值問題,并考慮到約束條件,采用罰函數將目標函數轉化為遺傳算法所能處理的無約束問題,如式 (9)所示,這樣解空間中某一點目標函數值W 到搜索空間對應個體的適應度函數采用如式 (10)表示。運行參數為:群體規模M=100,遺傳的進化終止代數T=100,改進遺傳算法采用上述相關性配對交叉,并采用自適應交叉和變異概率,同時引入父子競爭機制。
(3)標準算法與改進算法結果比較:最終優化的迭代曲線如圖6所示,由圖5可以看出采用標準遺傳算法目標函數從第80代基本開始收斂,最優值為19.9kg;而采用改進遺傳算法,目標函數從第55代基本開始收斂,最優值為16.3kg。
從如上給出的多峰值數學函數、平面桁架結構優化分析可以看出,本文提出的改進遺傳算法較標準遺傳算法而言,在優化全程中,由于采用了自適應的交叉和變異概率,使其能依據個體的優劣程度靈活的選擇交叉和變異概率,且在交叉中通過引入不相關性指數配對個體,確定有效區域來進行交叉,有效避免了近親繁殖,從而使得每代種群的多樣性及平均適應度值始終高于標準算法的結果。而在獲取優秀個體方面,改進算法比標準算法能較早的獲得更為優秀的解,且改進幅度也比標準算法更大。較好體現出了本文改進算法的有效性和先進性。
如前所述,選取常用的圓型鋼管截面構建截面庫,共有16種截面備選,編碼與型鋼截面對應關系如表2所示。按照已建立的優化數學模型 (式 (1)~式 (3)),以反射面RMS值為優化目標,構件強度 (或穩定性)為約束條件,分別采用標準遺傳算法以及改進遺傳算法對背架結構桿件進行截面優化,兩種算法的參數取值及說明見表3,最終優化迭代曲線如圖7所示。這里給出采用改進遺傳算法優化后的背架結構桿件截面尺寸:上弦徑向桿件最大截面為146×7mm,最小截面為121×6mm;環向桿件最大截面為146×7mm,最小截面為121×6mm;下弦徑向桿件最大截面為245×8mm,最小截面為121×6mm;環向桿件最大截面為146×7mm,最小截面為121×6mm;腹桿最大截面為219×8mm,最小截面為83×4mm。

圖6 十桿桁架優化結果

表2 編碼串與截面尺寸的映射關系

表3 遺傳算法中的參數取值

圖7 背架結構截面優化結果
從優化歷程曲線來看,本文提出的集成多種改進措施后的遺傳算法,針對該巨型射電望遠鏡背架結構截面優化,其優化進程較標準算法能較快的產生優秀個體;從優化歷程變化幅度來看,采用改進算法其變化幅度更大;從最后的優化目標來看RMS 值更小,即結果更優 (標準算法為0.34mm,改進算法為0.306 mm);較為有效地解決了望遠鏡背架結構大規模數型材式變量的優化問題。
(1)選取經典的數學測試函數以及十桿優化模型作為算例,較好的驗證了本文提出的改進遺傳算法。
(2)以110 m 角錐式網架方案背架結構為分析對象,主反射面RMS值為優化目標,在標準算法對截面優化取得高精度結果的前提下,采用本文提出的改進算法對結構予以優化,發現不但精度提高10%,而且獲得優化結果的速度更快,優化幅度更大。
(1)對目前主要的望遠鏡結構優化分析方法進行了總結,在分析了各自優缺點的基礎上,針對背架結構截面變量數較多,且均為圓鋼管型材截面這一特點,對其算法中的部分算子進行了局部改進,提出了改進的優化算法,解決了大規模離散型變量的優化問題,目前適用于望遠鏡結構型鋼截面的優化。
(2)本文提出的優化方法主要是針對背架結構截面尺寸的優化,并且是在重力荷載下的優化。今后可繼續拓寬全可動望遠鏡背架結構優化層次,逐漸過渡到節點坐標優化以及背架結構拓撲優化,最終能夠達到對背架結構實現多工況下的多類變量優化。
[1]LIU Yan.Structural selection and accuracy control of the large aperture all-movable telescope [D].Harbin:Harbin Institute of Technology,2013:4-6 (in Chinese).[劉巖.超大口徑全可動望遠鏡結構選型及精度控制 [D].哈爾濱:哈爾濱工業大學,2013:4-6.]
[2]ZHAO Yun.Design of the three millimeter wave beam Cassegrain antenna [D].Nanjing:Nanjing University of Science and Technology,2012:32-38(in Chinese). [趙蕓.毫米波三波束卡塞格倫天線設計[D].南京:南京理工大學,2012:32-38.]
[3]Fu L,Du XW,Wan ZM.Analysis of effect of pressure on surface accuracy for inflatable antenna [J].Journal of Harbin Institute of Technology,2008,15 (6):786-789.
[4]BIAN Xia,MI Liang.Development on genetic algorithm theory and its applications [J].Application Research of Computers,2010,27 (7):2425-2429 (in Chinese).[邊霞,米良.遺傳算法理論及其應用研究進展 [J].計算機應用研究,2010,27 (7):2425-2429.]
[5]ZHUANG Jian,YANG Qingyu,DU Haifeng.High efficient complex system genetic algorithm [J].Journal of Software,2010,21 (11):2790-2801 (in Chinese).[莊健,楊清宇,杜海峰.一種高效的復雜系統遺傳算法 [J].軟件學報,2010,21 (11):2790-2801.]
[6]WANG Yinnian.Research and applications of the genetic algorithm [D]. Wuxi:Jiangnan University,2009:35-40 (in Chinese).[王銀年.遺傳算法的研究與應用 [D].無錫:江南大學,2009:35-40.]
[7]KUANG Suqiong.Research on the adaptive control of genetic algorithm parameters and convergence [D].Changsha:Central South University,2009:86-94 (in Chinese). [鄺溯瓊.遺傳算法參數自適應控制及收斂性研究 [D].長沙:中南大學,2009:86-94.]
[8]YUE Qin,FENG Shan.The statistical analyses for computational performance of the genetic algorithms[J].Chinese Journal of Computers,2009,32 (12):2389-2392 (in Chinese).[岳嵚,馮珊.遺傳算法的計算性能的統計分析 [J].計算機學報,2009,32 (12):2389-2392.]
[9]CAO Daoyou,CHENG Jiaxing.A genetic algorithm based on modified selection operator and crossover operator [J].Computer Technology and Development,2010,20 (2):44-47 (in Chinese).[曹道友,程家興.基于改進的選擇算子和交叉算子的遺 傳 算 法 [J].計 算 機 技 術 與 發 展,2010,20 (2):44-47.]
[10]JIANG Wei.Improvement of crossover operator in the genetic algorithm [D].Changchun:Jilin University,2009:104-113(in Chinese).[姜薇.遺傳算法中交叉算法的改進 [D].長春:吉林大學,2009:104-113.]
[11]ZHANG Chen,ZHAN Zhihui.Comparison of selection strategy in genetic algorithm [J].Computer Engineering and Design,2009,30 (23):5471-5474 (in Chinese). [張琛,詹志輝.遺傳算法選擇策略比較 [J].計算機工程與設計,2009,30 (23):5471-5474.]