複製鏈接
請複製以下鏈接發送給好友

模式搜索法

鎖定
模式搜索法是一種,在計算時不需要目標函數的導數,所以在解決不可導的函數或者求導異常麻煩的函數的優化問題時非常有效。
中文名
模式搜索法
是什麼
解決最優化問題的直接方法
應    用
計算機 數學

目錄

模式搜索法簡介

模式搜索就是尋找一系列的點 X0,X1,X2,…,這些點都越來越靠近最優值點,當搜索進行到終止條件時則將最後一個點作為本次搜索的解。 利用模式搜索法解決一個有 N 個自變量的最優化問題。 ①要確定一個初始解 X0,這個值的選取對計算結果影響很大;②確定基向量用於指定搜索方向,如對於兩個自變量的問題可設為 V(0,1;1,0;-1,0;0,-1)即按十字方向搜索;③確定搜索步長它將決定算法的收斂速度,以及全局搜索能力

模式搜索法特性

具體步驟為:①計算出初始點的目標函數值 f(Xi),然後計算其相鄰的其它各點的值 f(Xi+V(j)*L),j∈(1,2. . .2N);②如果有一點的函數值比 更優則表示搜索成功,那麼 Xi+1=Xi+V(j)*L,且下次搜索時以 Xi+1 為中心,以 L=L*δ 為步長(δ>1,擴大搜索範圍),若沒有找到這樣的點則表示搜索失敗,仍以 Xi 為中心,以 L=L*λ 為步長(λ<1,縮小搜索範圍);③重複②的操作,結果到終止條件為止,終止條件可以是迭代次數已到設定值或者誤差小於規定值等。
運用Matlab 的工具箱裏的 patternsearch,可實現模式搜索法。Patternsearch 函數的完整格式為[X FVAL]=PATTERNSEARCH(FUN X0 A b Aeq beq LB UB NONLCON options)