文章內容摘自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。據說用次比例數分割是最具美感的,從美眉身材到高樓建築,從藝術到繪畫無不出其之左,因此被稱為 神奇 的 分割點。與此同時,人們也對其進行了大量的研究,研究結果更是大量的 神奇 說法。不過,我輩是現實主義者,神奇 就不談了,還是看看咋用它的 神奇 解決我的問題...