精確一維搜尋 黃金分割法(0 618)

2021-09-09 06:03:21 字數 1077 閱讀 8311

文章內容摘自uestc最優化張老師的ppt

**:**分割法(0.618法)適用於任何單峰值函式?(?)求極小點的問題,甚至對函式可以不要求連續。

單峰函式

設? : [?, ?] ⊂ r → r,?⋆是在[?, ?]上的全域性極小點,如果對於[?, ?]上的任意兩點?1, ?2,且?1 < ?2都有

那麼稱?(?)是區間[?, ?]上的單峰函式。若?1 < ?⋆ < ?2,稱[?1, ?2]為搜尋區間。

基本思想

在搜尋區間[?, ?]內適當插入兩點?1, ?2,將[?, ?]分成三段,通過比較這兩點的函式值,然後由單峰函式的性質,就可以刪去最左端或者最右端的一段,這算一次迭代。然後在留下來的區間上再插入一點,就可以重複上述過程,如此下去,可將區間無限縮小。

設區間的長為1,如下圖,在與?相距分別為?和?的點插入?1, ?2,為確定?和?,規定:

(1)要求插入的兩點在搜尋區間中是對稱的。因此無論刪除哪一端,留下的總是長為?的區間。於是? + ? = 1。

(2)保證了每次迭代都以同乙個的比率縮短區間。不妨設去掉[?2, ?],在留下的區間[?, ?2]裡在插入新的乙個點?3,使

得?3, ?1在[?, ?2]中的位置與?1, ?1 在[?, ?]的位置有相同的比例。

演算法步驟:

步驟1 確定?(?)的初始搜尋區間[?, ?]。

步驟2 計算?2 = ? + ?(? − ?),?2 = ?(?2)。

步驟3 計算?1 = ? + ?(? − ?),?1 = ?(?1),。

步驟4 若?2-?1≤ ?,停機;否則,轉步驟5。

步驟5 若?(?1) ≤ ?(?2),則? = ?2, ?2 = ?1, ?(?2) = ?(?1), ?1 = ? + ?(? − ?), ?1 = ?(?1);

否則,? = ?1, ?1 = ?2, ?(?1) = ?(?2), ?2 = ? + ?(? − ?), ?2 = ?(?2).然後轉步驟4。

一維搜尋 黃金分割法

一 分割法的基本思想與原理 分割法適用於 a.b 區間上的任何單峰函式求極小值問題,對函式除要求 單峰 外不做其他要求,甚至可以不連續。分割法是建立在區間消去法原理基礎上的試探方法,即在搜尋區間 a,b 內適當插入兩點a1,a2,並計算其函式值。a1,a2將區間分成三段,應用函式的單峰性質,通過函式...

一維搜尋(斐波拉契法和黃金分割法)

看完了粒子群演算法,模擬退火演算法和遺傳演算法,那麼,傳統的一維搜尋方法應該怎麼樣呢?我們來看看斐波拉契演算法和 分割演算法,大概20次以內就能算出來 include include include define f x x 10 sin 5 x 7 cos 4 x define q 0.382 f...

網頁配色之黃金分割法

眾所周知,數學上有乙個 分割點 0.618。據說用次比例數分割是最具美感的,從美眉身材到高樓建築,從藝術到繪畫無不出其之左,因此被稱為 神奇 的 分割點。與此同時,人們也對其進行了大量的研究,研究結果更是大量的 神奇 說法。不過,我輩是現實主義者,神奇 就不談了,還是看看咋用它的 神奇 解決我的問題...