• 沒有找到結果。

第二章 形狀最佳化與拓樸最佳化方法 5

2.5 結構最佳化分析方法介紹

2.5.1 直接法 (Direct method)

直接法首先要給予設計變數初始數值 (initial design variable),並利用各種數學 規劃法以計算每一步迭代過程中對於設計變數之微小擾動量 ∆x(k),其中,此微小 擾動量可以分為方向 (direction) 以及步長 (step size) 兩個部分,直接法便藉由此機 制來勘查在設計變數上下限範圍內目標函數之起伏變化。最佳化迭代過程便是透 過尋找出第 k 次迭代時之方向以及沿著該方向之步長,計算而得到下次迭代的新 設計變數 x(k+1),如下式 (2.12) 所示:

x(k+1)= x(k)+ ∆x(k) (2.12)

設計變數組隨著每一步迭代而漸漸接近最佳解,當設計變數不再有新的改變 量時,便滿足收斂條件並且視為得到最佳解。

數學規劃法可以應用於許多不同最佳化問題,而對於一般的工程問題來說,

由於設計範圍較廣且限制條件較多,因此相較於直接搜索的演算方式,循序式的 求解方法會更加受到青睞,其中,循序線性規劃法 (Sequential Linear Programming, SLP) 以及循序二次規劃法 (Sequential Quadratic Programming, SQP) 便為兩種常見 循序式的數學規劃法,以上兩種方法都將較為複雜之非線性限制條件拆解成多組 計算相對單純的子問題,兩者不同之處在於前者是拆解為線性規劃子問題,後者 則是拆解為二次規劃子問題。

非束制最佳化問題與束制最佳化問題之迭代過程邏輯相同,兩者最大的不同 之處在於束制最佳化問題在迭代過程中,在決定搜索方向和步長的同時,也需要 將限制條件之約束納入考量,也就是可行之方向以及可行之步長。束制最佳化問

題會利用懲罰函數法來處理違背限制條件之情形,以最小化目標函數之問題為 例,倘若某一組設計變數違背限制條件時,將會藉由懲罰函數 (penalty function) 來增加目標函數的數值,以作為對該組設計變數之懲罰,一般常用動態的懲罰函 數 (dynamic penalty function) 對違背限制條件之目標函數值進行調整,也就是對於 超過限制條件越遠者,所給予的懲罰函數也會越大,藉以將此組設計變數之貢獻 排除;而無束制最佳化問題則不會受到限制條件的約束,因此可以直接對於方向 以及步長進行計算,讓目標函數最小化。

以梯度法作為基礎的數學規劃法,與勘查地形的方式相似,但是當最佳化問 題的設計變數數量增加時,直接法求解所需要的迭代次數往往會較多,並且當接 近最佳解時,收斂的速度經常會趨於緩慢 (Kirsch (2012))。

本研究於曲面形狀最佳化中所選用之演算法為數學規劃法中的序列最小二次 數學規劃法 SLSQP (Sequential Least Squares Programming optimization algorithm),

也就是循序二次規劃法 (SQP) 的一種,以擬牛頓法 (Quasi-Newton Method) 為原 理,並將牛頓法於計算二次微分時效率較低的問題改良。

2.6 結 構 最 佳 化 演 進 法 (Evolutionary Structure Opti-mization,ESO)

本研究中所使用的拓樸最佳化演算法為雙向結構最佳化演進法,其概念則是 源自於結構最佳化演進法 (ESO),因此將先於本節對 ESO 方法之原理以及流程進 行介紹。

ESO 方法之概念原理為當結構承受外力作用時,由於結構中每個元素所承受 的應力大小會有所不同,位於力量傳遞重要路徑之元素會承受較大之應力,而所 承受應力較小之元素即視為無效率之元素,因此利用演算法逐步將其移除,僅保 留有效率之元素,使結構可以漸漸演進至最佳拓樸形狀,ESO 之方法流程可以整 理如下:

Step 1 : 將初始設計領域切分成有限元素網格。

Step 2 : 進行有限元素分析。

Step 3 : 根據拓樸最佳化之目標函數,計算每個元素的敏感度因子並進行排序。

Step 4 : 依據排序結果,決定本次迭代中的無效率元素並加以移除。

Step 5 : 重複步驟 2 至步驟 4 直到滿足收斂條件,即可得到最佳拓樸形狀。

上述步驟中若目標函數為最小化結構順從度,則以元素之結構順從度 (也就是 兩倍應變能) 為其敏感度因子 αe,移除元素的方式則是以移除比率 RR (Removal Ratio) 作為移除門檻,並透過以下式 (2.13) 將敏感度因子小於移除門檻之無效率 元素移除,並保留敏感度因子大於移除門檻之元素。

αi

αoverall < RR (2.13)

式中 αi 為第 i 個元素之敏感度因子,αoverall 則為整體結構之敏感度因子,當 元素符合上式之條件時便將其移除。

移除無效率之元素後,為了進行下一步迭代,需要透過演進速率 ER (Evolu-tional Ratio) 對移除比率 RR 進行更新,再用新的移除比率 RR 來移除下一步無效 率之元素,直到達到預設的收斂條件為止,移除比率 RR 的更新方式如下:

RRnew = RRold+ ER (2.14)

ESO 常見的收斂條件則有以下三種: 最大演進次數 IT ERmax、最大移除比率 RRmax 以及最大移除率 RVmax ,其中,移除率 (Removed Volume Ratio) 為目前結 構中實心元素個數佔原有元素個數的百分比。當拓樸演進至滿足所選用的停止條 件時,即視為達到最佳拓樸形狀。

2.7 雙向結構最佳化演進法 (Bi-directional Evolutionary Structure Optimization,BESO)

第 2.6 節中所介紹的 ESO 方法雖然簡單有效,但由於其演進過程只能單向性 的移除元素,因此若是遇到某次演進步能量分布變化過大時,將無法透過填回元 素進行補償,容易造成拓樸結果失敗,因此雙向結構最佳化演進法 BESO 便被提 出以改進此問題,提供已移除之元素填回的動作。

BESO 最初利用位移外插 (Displacement Extrapolation) 方法估算相接於現有元 素邊界但不存在元素網格處之敏感度因子,作為衡量元素填回之標準,而 BESO 作者Huang and Xie (2007) 整理並提出以平滑化與投影策略為概念之方法成為 現行 BESO 之架構;Zuo and Xie (2015) 則將 BESO 方法以 Python 程式語言連接 ABAQUS 進行拓樸最佳化,並透過將元素之楊氏模數乘以 0.001 以模擬空心元素 之行為,以達到軟移除的效果,而本研究便以 Zuo and Xie 的方法作為主要程式架 構,將於本節詳細介紹。

相關文件