最優化 一維搜尋

2022-08-11 20:33:21 字數 2188 閱讀 9953

精確一維搜尋

試探法精確一維搜尋就是通過迭代取減少搜尋區間

對於搜尋區間[a, b]

在這個區間中找連個互不相同的試探點p1 p2獲取f(p1), f(p2), 設p1 < p2

若f(p1) < f(p2)   則丟棄區間 [p2, b]

若f(p1) >= f(p2) 則丟棄區間 [a, p1]

這樣就達到了通過一次迭代減小搜尋區間的目的

當搜尋區間長度< 給定的誤差e時,終止迭代

不同的試探法,其實不同的是選取p1, p2的方法

0.618法

0.618法就是

p1 = a * 0.618 + b * (1-0,618)

p2 = a * (1-0,618) + b * 0.618

斐波那契法:

對與第i次迭代

p1 = fi+1 / (fi + fi+1) * a + fi / (fi + fi+1) * b

p2 = fi / (fi + fi+1) * a + fi+1 / (fi + fi+1) * b

插值法通過已有的條件構造插值函式

通過求插值函式的極小值點去近似已有函式的極小值點

三點二次插值

已有三個點(p1,f(p1)),(p2,f(p2)),(p3,f(p3))

通過拉格朗日插值法獲取插值函式

求得插值函式的倒數為0獲取插值函式的極小值點(p0,f(p0))

現在我們有四個點了,通過這種方法得到四個點後,通過試探法的迭代方法去縮小區間即可

終止準則也同迭代法的終止準則

二點二次插值

給定初始步長alaph和步長縮減因子

我可以獲得x的函式值和他的導數

獲取第乙個點x0,f(x0), f'(x0)

給定步長alaph,往函式下降的方法走alaph得到x1

若f(x1) > f(x0) + f'(x0) * abs(x0 - x1) 則步長不斷以alaph = 2*alaph增加直到不滿足條件

通過f(x1), f(x0), f'(x0)計算插值函式,並求得最優點u

若f『(u) < e 終止迭代

否則將u作為初始點,繼續迭代步長alaph = p * alaph

一般來說 alaph = 2  p = 1/10

二點三次插值

給定初始步長alaph和步長縮減因子

我可以獲得x的函式值和他的導數

獲取第乙個點x0,f(x0), f'(x0)

給定步長alaph,往函式下降的方法走alaph得到x1

計算得到f(x1), f'(x1)

若f'(x1) * f'(x0) > 0 則將x1做為x0 alaph = 2 * alaph的方式迭代直到不滿足條件

通過f(x1),f'(x1), f(x0), f'(x0)計算插值函式,並求得最優點u

若f『(u) < e 終止迭代

否則將u作為初始點,繼續迭代步長alaph = p * alaph

一般來說 alaph = 2  p = 1/10

非精確一維搜尋 

goldstein方法

對於函式φ(x) 我能知道在任意一點的函式值與倒數

對於區間[umin, umax],置精度要求0<β1

<β2

<1

一般來說umin= 0 umax = +∞

取初始點u0

若φ(u) > φ(0) + β1 * φ(0)』 * u

umax = u

若φ(0) + β2 * φ(0)『 * u <= φ(u) <=  φ(0) + β1 * φ(0)』 * u

達到精度要求,停止計算

若φ(u)  <  φ(0) + β2 * φ(0)『 * u

umin = u

當 umax = +∞時,置下一步的試探點為u = 2 * umin

否則u = (umin+umax) / 2

armijo方法

取一大於0的數m,0<β1

<1

φ(u) <=  φ(0) + β1 * φ(0)『 * u

且φ(u*m) >=  φ(0) + β1 * φ(0) 』* u

條件終止

wolfe-powell方法

置精度要求0<β1

<β2

<1

φ(u) <=  φ(0) + β1 * φ(0)『 * u

φ』(u) <=   β2 * φ(0)'

最優化理論與技術 一維搜尋

目錄 分割法 進退法 二次插值法 拋物線插值法 三次插值法 初始點 x 0 按照某種規則 a 產生下乙個迭代點 x a x k 點列 收斂於最優解 x 初始點 x 0 按照某種規則 a 產生下乙個迭代點 x a x k f x 0 f x 1 f x k 下降迭代演算法步驟 給出初始點 x 0 令 ...

圍欄問題 搜尋 最優化剪枝

on不合法方案的花費一定比最優解大 有了這條隱含資訊,直接搜尋,方法如下 擴張前面所存在的圍欄 只圍住自己 加上最優化剪枝即可 aca c.include define reg register intread while isdigit c s s 10 c 0 c getchar return ...

小白最優化學習(四) 演算法學習 不精確一維搜尋方法

一 什麼是不精確一維搜尋方法 一維搜尋方法是 求函式 二 幾個不精確一維搜尋方法的準則 引用位址 line search 一維搜尋,或線搜尋 是最優化 optimization 演算法中的乙個基礎步驟 演算法。它可以分為精確的一維搜尋以及不精確的一維搜尋兩大類。在本文中,我想用 人話 解釋一下不精確...