一文叫你理解如何用優(yōu)化算法求解實際工程問題及optistruct優(yōu)化仿真對比
優(yōu)化就是利用各種優(yōu)化算法求解實際問題的過程。新手在剛開始接觸優(yōu)化問題的時候往往很疑惑,不知道該怎么利用算法解決實際工程問題。今天就結合經(jīng)典的最速下降法(梯度法)來介紹如何用純算法進行優(yōu)化,并將之與optistruct的優(yōu)化結果進行對比。采用的例子見圖1,一個簡單的懸臂梁一段被約束,另一端受到垂向力100N,梁尺寸:長1000mm,截面尺寸40X40mm。現(xiàn)在考慮在不增加重量、甚至減重的情況下如何進行優(yōu)化。

圖1 懸臂梁實例
1.最速下降法優(yōu)化
1.1 最速下降法介紹
最速下降法是一種經(jīng)典的優(yōu)化算法,該算法利用迭代點處的一階導數(shù)和二階偏導數(shù),使得每步搜索方向都沿著函數(shù)值下降最快的方向(即負梯度方向),因此最速下降法又被稱為梯度法。梯度法的優(yōu)點是開始時步長很大,有利于加快計算速度,迭代過程簡單易懂,方法和程序都較為簡單,容易實現(xiàn);但是梯度法每次迭代都是沿迭代點的負梯度方向搜索,相鄰兩代的搜索方向正交,因此目標函數(shù)的性質(zhì)對收斂速度有極大影響,假設目標函數(shù)的等值線與坐標軸正交,兩步即可完成收斂,若是斜交,則搜索路徑十分曲折,且越是靠近極值點,收斂越慢,因此各大優(yōu)化軟件往往在優(yōu)化開始時使用最速下降法,達到邊界約束時,改用其它算法,如可行方向法,綜合各個算法的優(yōu)點,加快優(yōu)化進程。
1.2最速下降法的迭代公式
首先求解出n維目標函數(shù)f在初始點X0的梯度向量:

它是該點函數(shù)值增加最快的方向,它的負方向則是函數(shù)值下降最快的方向。
由迭代下降公式:

取搜索方向S(k)為負梯度方向,該方向的單位向量可表示為:

分母數(shù)值代表該點梯度向量的模。
確定了搜索方向,還需要確定迭代的最優(yōu)步長,即αk,有兩種方法求取αk,一種是利用一維搜索的黃金分割法,另一種是利用泰勒展開式將X(k+1)在X(k)點展開成二次函數(shù)求取駐點而得。它的解析式見下式:

式中的H矩陣代表X(k)點的Hesse矩陣。
1.3最速下降法的計算步驟
1)設定初始點X0,允許誤差ξ,迭代代數(shù)k=0;
2)計算迭代點處的梯度和方向;
3)若滿足收斂條件,結束計算,不滿足收斂,進入下一步;
4)計算最優(yōu)步長αk;
5)迭代計算得到下一代的點X(k+1):

6)令k=k+1,轉步驟2重新計算。
2.建立懸臂梁的優(yōu)化模型
2.1結構解析
懸臂梁一段被完全固定,另一端受到垂向力100N,根據(jù)經(jīng)典材料力學計算公式,其剛度K=3EI/L^3,I=b*h^3/12。
經(jīng)計算桿端垂向位移為0.744mm,解析解和有限元計算結果完全一致。現(xiàn)在尋求在不增加重量的情況下,提高該懸臂梁的剛度,從剛度的計算公式可知,減小橫截面寬度b,提高截面高度h有利于增加懸臂梁的剛度。
2.2懸臂梁截面優(yōu)化模型的建立
所有的優(yōu)化問題都要經(jīng)過轉化為數(shù)學模型方能利用各種優(yōu)化算法進行求解。優(yōu)化數(shù)學模型又包含三個要素:
1)優(yōu)化變量;
2)目標函數(shù)
3)約束
優(yōu)化變量本例很明了,就是截面尺寸,目標函數(shù)是剛度最大,歸根結底是讓f=b*h^3最大,為了利用基于下降迭代的最速下降法,目標函數(shù)可以定義為f的倒數(shù)或相反數(shù),此處定義為:g=1/(h^3)*b,之所以將b設立為分子,是因為上文已經(jīng)分析過,增大截面高度更有利于提高剛度,因此如果截面高度增加,為了減輕質(zhì)量或維持質(zhì)量不變,必須減少截面寬度。因此結合實際問題設立合理的目標函數(shù)也是利用好優(yōu)化的一大要點。
最速下降法的MATLAB實現(xiàn)代碼見圖2,使用optistruct進行詳細優(yōu)化的過程附在其后。
以下內(nèi)容為付費內(nèi)容,請購買后觀看
詳細代碼編寫及解讀、軟件操作過程講解
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















