日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

非精确线搜索

發布時間:2023/12/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 非精确线搜索 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Wolfe準則

Wolfe 準則是指: 給定ρ(0,0.5),σ(ρ,1),求αk使得下面兩個不等式同時成立:

f(xk+αkdk)f(xk)+ραkgTkdkf(xk+αkdk)TdkσgTkdk(1)(2)
式中: gk=g(xk)=f(xk).

式(2)有時也用另一個更強的條件

f(xk+αkdk)Tdk?σgTkdk(3)
來代替. 這樣, 當 σ>0充分小時,可保證式(3)變成近似精確線性搜索。條件(1)和條件(3)也稱為強 Wolfe準則。

強Wolfe 準則表明, 由該準則得到的新的迭代點xk+1=xk+αkdkxk的某一鄰域內且使目標函數值有一定的下降量.

由于gTkdk<0,可以證明Wolfe 準則的有限終止性, 即步長αk的存在性. 我們有下面的定理.

f(x) 有下界且gTkdk<0, 令ρ(0,0.5),σ(ρ,1). 則存在一個區間[a,b](0<a<b) 均滿足(1) 和(3).

Armijo 準則

Armijo 準則是指: 給定β(0,1),σ(0,0.5). 令步長因子αk=βmk,其中mk是滿足下列不等式的最小非負整數:

f(xk+βmdk)f(xk)+σβmgTkdk(4)
可以證明, 若 f(x)是連續可微的且滿足 gTkdk<0, 則 Armijo 準則是有限終止的, 即存在正數 σ, 使得對于充分大的正整數 m, (4) 式成立.

為了程序實現的方便, 我們將Armijo 準則寫成下列詳細的算法步驟.

算法4(Armijo準則)

步0 給定β(0,1), σ(0,0.5). 令 m=0.

步1 若不等式

f(xk+βmdk)f(xk)+σβmgTkdk
成立, 置 mk=m,xk+1=xk+βmkdk 停算. 否則, 轉步2.

步2m=m+1, 轉步1.

下面給出Armijo 準則的Matlab 程序

MATLAB程序

Armijo 搜索規則是許多非線性優化算法都必須執行的步驟, 把它編制成可重復利用的程序模塊是很有意義的.

amj.m

function [mk,newxk,newfk]=amj(xk,dk,beta,sigma) %%Armijo 搜索規則 %input:xk,dk; % beta,sigma %output:mk,xk+1,f(xk+1)m=0;maxm=20; while(m<=maxm)if(fun(xk+beta^m*dk)<=fun(xk)+sigma*beta^m*gfun(xk)'*dk)mk=m;break;endm=m+1; end; alpha=beta^mk; newxk=xk+alpha*dk; fk=fun(xk); newfk=fun(newxk); %fun為輸入函數,gfun為對應梯度函數,均在別處定義

fum.m

function f = fun(x) f=100*(x(1)^2-x(2))^2+(x(1)-1)^2;

gfun.m

function gf =gfun(x) gf=[400*x(1)*(x(1)^2-x(2))+2*(x(1)-1);-200*(x(1)^2-x(2))];

實驗結果

>> xk=[-1,1]'; >> dk=[1,-2]'; >> beta=0.5; >> sigma=0.2; >> [mk,newxk,newfk]=amj(xk,dk,beta,sigma) mk =2 newxk =-0.750.5 newfk =3.453125

總結

以上是生活随笔為你收集整理的非精确线搜索的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。