Isight中三類優化算法比較
Isight中三類優化算法比較
Isight優化算法可分為梯度算法、直接搜索法和全局優化法。梯度算法通過在設計空間中的當前位置設定一個前進方法和搜索步長從而獲得設計空間中的另一個位置,并判斷收斂性,Isight中梯度優化算法有三種NLPQL,LSGRG和MMFD。直接搜索法不用計算函數的梯度,僅需要函數值評估,可以有效探索初始設計點周圍的局部區域,Isight中提供的直接法有HJ(Hooke-jeeves)和DS(downhill simplex)方法。全局優化法具有搜索全局最優解的,但計算耗時多,Isight中提供的全局優化算法有MIGA,ASA和PSO。本文通過一個雙峰的不完全可行域問題來比較三類優化算法求解全局最優解的效率。
優化問題:
max f(x)=60/(1+(x1+1)^2+(x2-3)^2)+20/(1+(x1-1)^2+(x2-3)^2)+30/(1+x1^2+(x2+4)^2)
s.t. –((x1-2)^2+x2^2<-4.0
-5<x1<5
-5<x2<5
優化算法分別選用NLPQL,HJ和MIGA。
局部解(0,-4),f(x)=31.57;全局解(-0.97,3),f(x)=64.63,如圖1所示。
圖1 目標函數的等值面
isight優化步驟:
1、
構建優化流程,application組件采用calculator,process 組件選用optimization;
圖2-優化流程構建
2、
設置優化算法、設計變量、約束及目標,設計變量初始值等;
圖3-優化算法及參數設置
3、
查看優化結果,并比較3種算法搜尋全局最優解的效率。
(a)NLPQL,迭代28次
(b)Hook-jeeves,迭代96次
(c)MIGA,計算次數=1000
圖4 迭代歷史(初始點為x1=0,x2=2)
圖4給出了三種算法的搜尋歷程,初始點為(0.0,2.0),NLPQL算法迭代28次能搜尋到全局最優解(-0.972,3.000),Hook-jeeves算法迭代96次找到全局最優解(-0.972, 2.998),MIGA計算1000次找到全局最優解(-0.9693,2.7964)。圖5給出了初始點(0,-2.0)兩種算法的迭代歷史,NLPQL迭代23次搜尋到局部最優解(0,-3.995),Hook-Jeeves迭代96次搜尋到局部最優解(0 -3.993)。以上結果可以發現,梯度算法NLPQL和直接算法Hook-Jeeves受初始點影響較大,因而有可能陷入局部最優解,但梯度算法NLPQL搜尋速度更快。而全局算法MIGA能用相對多的計算次數搜尋到一個全局最優解。
(a)NLPQL,迭代23次
(b)Hook-Jeeves,迭代96次
圖5 迭代歷史(初始點為x1=0,x2=-2)
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















