NM 單純形 搜尋演算法 (NM演算法)

2021-10-05 19:18:57 字數 2430 閱讀 1945

參考文獻

一種不使用梯度資訊的無約束優化的區域性下降演算法。

單純形是由d + 1個點(或頂點)在d維空間中構成的幾何圖形,什麼意思呢?在二維空間中,是個三角形,三維空間中,是個四面體,不一定是正的。

如果以乙個非退化的單純形的任意點為原點,那麼其他d點則定義了跨越d維向量空間的向量方向。這種方法的操作是通過reflection, expansion, contraction and shrinkage這四個基本過程,根據函式的區域性行為對單純形進行重新劃分。通過這些步驟,單純形可以成功地自我改進,接近最優。

q1:如何理解contraction與shrinkage?

引數符號

the reflection coefficient

α

\alpha

αthe expansion coefficient

γ

\gamma

γthe contraction coefficient

β

\beta

βthe shrinkage coefficient

δ

\delta

δnm假設α=1

,γ=2

,β=δ

=0.5

\alpha = 1,\gamma= 2,\beta=\delta=0.5

α=1,γ=

2,β=

δ=0.

5。通過在搜尋範圍內隨機生成d + 1個頂點來初始化單純形,並評估目標函式在每個頂點上的適應度。

確定x h,

xs,x

lx_h,x_s,x_l

xh​,xs

​,xl

​分別代表最高、第二高、最低函式值的頂點。

f h,

fs,f

lf_h,f_s,f_l

fh​,fs

​,fl

​分別為對應的函式值,在極小化情況下計算除x

hx_h

xh​外的單純形的質心x

‾\overline x

x。通過反射最壞的點生成乙個新的頂點x

rx_r

xr​,計算公式:

x r=

x‾+α

(x‾−

xh)α

>

0(1)

x_r = \overline x + \alpha (\overline x - x_h) \qquad \alpha >0 \tag

xr​=x+

α(x−

xh​)

α>0(

1)計算對應的適應度值f

rf_r

fr​,對比相應的值進行不同的操作:

go\ to\ 4 &if \ f_rf_s \end \tag

⎩⎪⎨⎪⎧​

goto

4xr​

代替xh

​並且g

oto7

goto

5​iffr​

​iff

l​≤f

r​≤f

s​if

fr​>fs

​​(2

) 對反射進行擴充套件,使搜尋空間向同一方向擴充套件,擴充套件點按下式計算:

x e=

x‾+γ

(xr−

x‾)γ

>

1(3)

x_e = \overline x + \gamma (x_r - \overline x) \qquad \gamma > 1 \tag

xe​=x+

γ(xr

​−x)

γ>1(

3)同樣計算對應的適應度值f

ef_e

fe​,判斷依據:

接受擴充套件,並用x_e代替x_h & if \ f_e

xc​=x+

β(xh

​−x)

0<

β<1(

5)判斷: 接受收縮,並用x_c代替x_h ,\ go \ to \ 7 & if \ f_c \leq f_h \\ go \ to \ 6 & otherwise \end \tag

xi​=δx

i​+(

1−δ)

xi​i

=1,2

,...

.,d+

1and

i​=

l0<

δ<1(

7)如果滿足終止條件,則停止計算;否則,新的迭代將從步驟2開始

kang, f., li, j. & xu, q. structural inverse analysis by hybrid ******x artificial bee colony algorithms. comput. struct. 87, 861–870 (2009).

線性規劃 單純形演算法

作者 dylanfrank 滔滔 這裡簡要總結一下線性規劃的單純形演算法,做如下幾個方面的總結,其餘以後再來填坑.先看這樣乙個問題 我們很容易用下面的數學語言來描述這個問題ma xzs.t6x1 4x2 x1 2 x2 x 1 x2 x2xi 5x1 4x2 24 6 1 2 0如果我們用幾何來描述...

線性規劃 單純形演算法例項

例 解最優化問題 min x1 x2 2x1 x2 12 x1 2x2 9 xi 0 i 1,2,3,4 改寫成標準形式,引入鬆弛變數 2x1 x2 x3 12 x1 2x2 x4 9 xi 0,i 1,2,3,4 列出單純形表 x1x2 x3x4bx3 2110 12x412 019c 1100 ...

A 搜尋演算法

啟發式搜尋演算法 要理解 a 搜尋演算法,還得從啟發式搜尋演算法開始談起。所謂啟發式搜尋,就在於當前搜尋結點往下選擇下一步結點時,可以通過乙個啟發函式 來進行選擇,選擇代價最少的結點作為下一步搜尋結點而跳轉其上 遇到有乙個以上代價最 少的結點,不妨選距離當前搜尋點最近一次展開的搜尋點進行下一步搜尋 ...