成功失敗法(success-failure method)亦稱進退法、倍增半減法,是一種搜尋方法,為搜尋某區間上函式的極小(大)點,每次搜尋都要改變搜尋步長的一種方法,如果在第k次疊代沿某方向搜尋成功,即函式值下降(上升),下一步仍可沿該方向搜尋,而且可以大步向前搜尋。其作法是:從某點t出發,步長取為λ,若f(t+λ)<(>)f(t),則搜尋成功,下一步取步長為2λ;如果第n步的步長為nλ,並搜尋成功,下一步取步長為2nλ,若在第k次疊代,沿某方向搜尋失敗,即函式值上升(下降),則應退回原地,下一步沿相反方向,即向後小步搜尋.其作法是:若f(t+λ)≥(≤)f(t),則搜尋失敗,退回原來點並且再後退λ/4,若第n步步長為nλ,搜尋失敗,則退回到t後,還要後退nλ/4.直到最後搜尋步長小於給定的小正數,則停止搜尋,得到近似最優點,這裡2λ,λ/4都是按經驗選取的。
基本介紹
- 中文名:成功失敗法
- 外文名:success-failure method
- 別稱:進退法、倍增半減法
- 所屬學科:數學
- 簡介:一種搜尋方法
基本介紹
算法思想
算法步驟
例題解析
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
h | 0.5 | -0.125 | -0.25 | 一0.5 | 0.125 | -0.031 25 | -0.062 5 | -0.125 | 0.031 25 |
x | 1 | 1 | 0.875 | 0.625 | 0.625 | 0.625 | 0.59375 | 0.531 25 | 0.531 25 |
x+h | 1.5 | 0.875 | 0.625 | 0.125 | 0.75 | 0.59375 | 0.531 25 | 0.431 25 | 0.587 5 |
f1 | 2 | 2 | 1.890625 | 1.765625 | 1.765625 | 1.765625 | 1.758789 | 1.750977 | 1.750977 |
f2 | 2.75 | 1.890625 | 1.765625 | 1.890 625 | 1.812 5 | 1.7587897 | 1.750977 | 1.758789 | 1.753906 |
f2<f1 | —— | √ | √ | —— | —— | √ | √ | —— | —— |