迭代演算法的基本格式

2021-07-14 11:03:43 字數 3116 閱讀 6192

選定

初始點x

0,令下

標變數k

=0,然

後按照某

種規則把

xk對映

為後繼點

xk+1

,從而形

成乙個迭

代序列,

這種規則

稱為迭代

演算法。如

果某個函

數f(x

),迭代

序列恆滿

足f(x

k+1)

xk),

則稱此迭

代演算法為

下降迭代

演算法,簡

稱下降算

法。

記δxk

=xk+

1−xk

,令δx

k=tk

⋅pk,

得xk+

1=xk

+δxk

=xk+

tkpk

,其中,

pk為與

δxk同

方向的向

量,稱為

搜尋方向

,tk稱

為步長因

子(tk

>0)

利用下降迭代算

法求乙個

越蘇優化

問題的極

小值,則

每一次迭

代都應根

據目標函

數,約束

函式在改

點的某些

資訊,確

定本次迭

代的乙個

搜尋方向

pk和適

當的步長

tk,使

新的迭代

點在約束

可行域內

,級∈d

(k=0

,1,2

,...

.).下

降迭代算

法的關鍵

在於構造

每一步的

搜尋向量

和確定步

長因子,

ui單p

k的構造

方法和t

k的選取

方法確定

,這就確

定了一種

迭代方法

。多數算

法中,步

長的確定

方法採用

tk:mintf(

xk+t

pk)

下降迭代演算法的一般步驟為: st

ep1.選

定初始點

x0,令

k=0

step

2.依照一

定的規則

搜尋向量

,取f(

x)在點

xk的下

降方向作

為搜尋向

量pk。

step3.從x

k出發,

沿搜尋方

向pk確

定步長t

k,使得

xk+t

kpk∈

d,且

f(xk

+tkp

k)xk)

step

4.得到新

的迭代點

xk+1

=xk+

tkpk

step5.檢查

終止條件

,判定x

k+1是

否為極小

點或近似

極小點,

若是,停

止迭代,

輸出xk

作為最優

解,否則

,k=k

+1,轉

到ste

p2 實

現向x∗

逼近的搜

索,其關

鍵是確立

尋找p(

k)的各

種有效辦

法,這正

是各種迭

代法的主

要區別所

在。為了

計算方便

,有時取

p(k)

為單位向

量,稱為

規格化方

向,有時

取tk為

常數,稱

為定步長

。 下面給出乙個有關結論: 設f

(x)一

節連續可

微,xk

+1按如

下規則獲

得: ⎧

⎩⎨tk

:mintf

(xk+

tpk)

xk+1

=xk+

tkpk

則有δf

(xk+

1)pk

=0. 證

明:設ϕ

(t)=

f(xk

+tpk

),令ϕ

′(t)

=0,即

df(xk+t

pk)d

t=0⇒

δf(x

k+tp

k)tp

k=0

可求出t

k⇒δf

(xk+

tkpk

)tpk

=0⇒δ

f(xk

+1)t

pk=0

該結論說明,從

某一點x

k出發沿

搜尋方向

pk對目

標函式f

(x)進

行搜尋求

解,所得

極小點(

即新的迭

代點)為

xk+1

,且改點

的梯度δ

f(xk

+1)與

搜尋方向

pk正交

。此外,

由於過點

xk+1

的目標函

數的等值

面f(x

)=f(

xk+1

)與該點

的梯度δ

f(xk

+1)正

交,則這

個等值面

與搜尋方

向pk在

點xk+

1相切。

下面這張

圖說明原

理:

迭代器的基本使用 遍歷

迭代器提供一些基本操作符 這些操作和c c 操作array元素 時的指標介面一致。不同之處在於,迭代器是個所謂的複雜的指標,具有遍歷複雜資料結構的能力。其下層執行機制取決於其所遍歷的資料結構。因此,每一種容器型都必須提供自己的迭代器。事實上每一種容器都將其迭代器以巢狀的方式定義於內部。接下來我簡單的...

map迭代器的基本用法

stl官方描述太過複雜,總結有以下幾種用法 begin 返回指向map頭部的迭代器 clear 刪除所有元素 count 返回指定元素出現的次數 empty 如果map為空則返回true end 返回指向map末尾的迭代器 equal range 返回特殊條目的迭代器對 erase 刪除乙個元素 f...

關於開方的迭代演算法

去年某司有一道面試題是不用 開根號計算開方,當時第一反應就是迭代逼近,但是對方還要求能不能把速度加快,先稍作總結。迭代逼近意思就是 我先隨便取乙個數,如果平方大於給定 n,那麼就取乙個小一點的 如果小了,那就取個大一點,最後達到精度要求即可。實現 class solution else x x 快速...