結構優化設計兩大優化算法比較:OC vs MMA

在結構拓撲優化設計技術的發展過程中出現了許多優化算法,其中確定性的算法主要有優化準則法(OCOptimality Criteria Method)和數學規劃法(MPMathematical Programming)。這里將從兩方面比較OC算法和隸屬于MP算法的“移動漸進線方法”(MMA: Method of Moving Asymptotes)。


OC算法從一個空間的一個初始設計點出發,著眼于每次迭代應滿足的優化條件,依據迭代公式  結構優化設計兩大優化算法比較:OC vs MMA的圖1  來得到一個改進的設計  結構優化設計兩大優化算法比較:OC vs MMA的圖2  ,而無需再考慮目標函數和約束條件的信息狀態;


MMA算法,它也從空間的一個初始設計點  結構優化設計兩大優化算法比較:OC vs MMA的圖3  出發,沿著某個搜索方向  結構優化設計兩大優化算法比較:OC vs MMA的圖4  以適當步長  結構優化設計兩大優化算法比較:OC vs MMA的圖5  迭代格式 結構優化設計兩大優化算法比較:OC vs MMA的圖6  ,實現對設計變量的修改,以獲得  結構優化設計兩大優化算法比較:OC vs MMA的圖7  的值。



以一個一般的對于多元函數的不等式約束優化問題為例:
結構優化設計兩大優化算法比較:OC vs MMA的圖8 


其中,  結構優化設計兩大優化算法比較:OC vs MMA的圖9  為設計變量,受到m個不等式約束。

OC算法:
首先構造拉格朗日函數,將有約束的非線性優化問題轉化為無約束的優化問題
其確定最優點主要是根據Kuhn-Tucker條件(駐值條件)
結構優化設計兩大優化算法比較:OC vs MMA的圖10 

通過引入兩個人工參數,阻尼因子  結構優化設計兩大優化算法比較:OC vs MMA的圖11  以及移動極限常數  結構優化設計兩大優化算法比較:OC vs MMA的圖12  ,使迭代過程穩定。一般采用如下迭代更新形式:


結構優化設計兩大優化算法比較:OC vs MMA的圖13 
MMA
算法:


MMA方法更適于處理目標函數復雜且具有多約束的拓撲優化問題,只要求約束函數對設計變量的微分可以通過解析或者數值方法求得,對復雜的拓撲優化問題,MMA方法具有更好的適定性。MMA方法通過引入移動漸近線,將隱式的優化問題轉化成一系列顯式的更為簡單的嚴格凸的近似子優化問題,在每一步迭代中,通過求解一個近似的凸的子問題  結構優化設計兩大優化算法比較:OC vs MMA的圖14  來獲得新的設計變量,而不像OC方法那樣直接通過一種顯式的啟發式的迭代格式來獲得新的設計變量。


MMA優化的數學模型表示如下:

結構優化設計兩大優化算法比較:OC vs MMA的圖15 


其中:  結構優化設計兩大優化算法比較:OC vs MMA的圖16  為給定的大于等于零的常數,  結構優化設計兩大優化算法比較:OC vs MMA的圖17 結構優化設計兩大優化算法比較:OC vs MMA的圖18  分別是連續可微的函數。
MMA子問題的數學模型為:
結構優化設計兩大優化算法比較:OC vs MMA的圖19 





MMA算法還分為GCMMA,GBMMA等類型。有關OCMMA的詳細理論研究可參考華中科技大學羅震博士的畢業論文。

拓撲優化中的源程序
OC算法的源程序實例:

function [xnew]=OC(nelx,nely,x,volfrac,dc)


l1 = 0; l2 = 100000; move = 0.2;


while (l2-l1 > 1e-4)



lmid = 0.5*(l2+l1);



xnew = max(0.001,max(x-move,min(1.,min(x+move,x.*sqrt(-dc./lmid)))));



if sum(sum(xnew)) - volfrac*nelx*nely > 0;



l1 = lmid;



else



l2 = lmid;



end


end


x是原設計變量,xnew為更新后的設計變量。nelxx軸方向的單元數目,nelyy軸方向的單元數目,volfrac為體積比,dc為敏度分析結果

實例比較:
某懸臂梁的初始邊界條件為:
結構優化設計兩大優化算法比較:OC vs MMA的圖20 

[采用OC算法的最終優化結果(XFEM,紅色為子三角形):
1. 二維圖
結構優化設計兩大優化算法比較:OC vs MMA的圖21 
2. 三維水平集函數
結構優化設計兩大優化算法比較:OC vs MMA的圖22 
3. 目標函數與體積函數的收斂圖
結構優化設計兩大優化算法比較:OC vs MMA的圖23 
MMA優化結果(常規有限元法,無子三角形):
1. 二維圖
結構優化設計兩大優化算法比較:OC vs MMA的圖24 
2. 三維水平集
結構優化設計兩大優化算法比較:OC vs MMA的圖25 
3. 收斂曲線
結構優化設計兩大優化算法比較:OC vs MMA的圖26 

顯然OC算法和MMA算法得到了非常相似的優化結果。但收斂過程完全不同。
OC收斂速度很快,10步左右就完成了迭代;MMA則較慢。
對于案例中只有一個約束的優化問題(體積約束50%),OC適應性更好。


----------------------------------------------------------------------------------------

發帖怎么樣編輯公式?由于word的公式搬運不上來,只能截圖上傳,給大家閱讀帶來了不便~~非常抱歉

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

3
1
4