無梯度和基於梯度的算法
最佳化模組包含兩種不同的最佳化技術:無梯度和基於梯度的最佳化。當您的目標函數和約束不連續,也沒有解析導數時,無梯度最佳化方法會很有用。例如,您可能需要通過改變尺寸來最小化部件中的峰值應力。但當尺寸變化時,應力峰值的位置可能會從一個點轉移到另一個點。這種目標函數非解析,需要無梯度方法。最佳化模組提供了四種此類方法:二次近似的界限最佳化 (BOBYQA)、Nelder-Mead、座標搜索,以及 Monte Carlo(蒙地卡羅) 方法。
最佳化模組可以計算近似梯度,使最佳化設計變量朝以改進設計的方向演化。您可能希望最小化部件的總質量,這也可以使用此方法實現。部件質量通常相對部件尺寸直接可微,因而可以使用基於梯度的方法。最佳化模組使用 SNOPT 最佳化器的伴隨法來計算目標函數和約束函數的確切解析導數,以改進設計變量,SNOPT 最佳化器由美國加利福尼亞大學聖地牙哥分校的 Philip E. Gill 和斯坦福大學的 Walter Murray 和 Michael A. Saunders 開發。第二種基於梯度的算法是 Levenberg-Marquardt 求解器。在通常用於參數估計和曲線擬合等應用的最小二乘法類目標函數中,您可以使用該求解器。第三種方法是移動漸近線方法(MMA),它是一種基於梯度的最佳化求解器,由瑞典斯德哥爾摩皇家理工學院的 K. Svanberg 教授編寫。這種算法基於拓撲最佳化的思想設計,該方法在文獻中通常稱作 GCMMA,在最佳化模組中的名稱為 MMA。
基於梯度的方法的優點是它可以最佳化涉及數以百計或甚至數以千計設計變量的問題,而隨著變量數量的增加,所增加的計算成本極低。伴隨法可以同時計算所有解析導數,而無梯度方法必須近似計算每個導數,並且隨著設計變量數量的增加,需要花費更多的時間。基於梯度的方法還可以考慮更複雜的約束函數。
無梯度方法的優點在於它的簡單性。它不需要確定可微目標函數,並且對它進行設定時需要的用戶交互操作較少。但是,由於計算成本的原因,無梯度方法常用於設計變量數量約為 10 個或以下時。在實際情形中,這可以涵蓋一系列廣泛的實際工程最佳化問題。
參數最佳化會涉及到任意標量模型輸入的最佳化,例如流動速率和負載大小。這通常是最簡單的最佳化,可以通過任何技術處理。
參數估計較為複雜,需要將 COMSOL ®模型與實驗數據相關聯。通常情況下,其目的是利用模型計算來反演材料屬性。
尺寸、形狀和拓撲最佳化
最佳化方法可以按照要最佳化變量的類型進一步分類。尺寸、形狀和拓撲最佳化均可在最佳化模組內處理,每種最佳化在設計過程中都有其自己的位置。
尺寸最佳化涉及到直接用於製造的設計變量的定義。典型的設計變量包括孔徑大小,或結構部件的長度、寬度和高度等。尺寸最佳化通常是設計過程中的最後一個步驟,在設計的整體形狀基本固定之後進行。通常在此處使用無梯度方法。
形狀最佳化通常在設計過程中的較早期進行,涉及到對象形式的更加自由的變化。這通常需要更多的時間來選擇設計變量,因為目標是改進形狀而沒有過多的設計約束。如果可以確定解析目標函數,則首選基於梯度的方法。
拓撲最佳化在設計過程的極早期進行,通常在概念階段。拓撲最佳化將材料分佈作為設計變量,並通過插入或去除結構來改進目標函數。由於設計變量的數量很大,所以只有基於梯度的最佳化是可行的。