dfp方法例題 最優化之DFP演算法考試題

2021-10-12 14:46:01 字數 1214 閱讀 2725

最優化之

dfp演算法考試題

**:dfp.m

檔案function [x,val,k]=dfp(fun,gfun,x0)功能用

dfp演算法求解無約束問題

min f(x)

輸入x0

是初始點

fun, gfun

分別是目標函式及其梯度

輸出x, val

分別是近似最優點和最優值

k是迭代次數

maxk=1e5; %

給出最大迭代次數

rho=0.55;sigma=0.4; epsilon=1e-5;

k=0;

n=length(x0);

hk=inv(feval('he',x0)); %hk=eye(n);

while(k

gk=feval(gfun,x0); %

計算梯度

if(norm(gk)

檢驗終止準則

dk=-hk*gk; %

解方程組

計算搜尋方向

m=0; mk=0;

while(m<20) %

用armijo

搜尋求步長

if(feval(fun,x0+rho^m*dk)

mk=m; break;

endm=m+1;

enddfp

校正x=x0+rho^mk*dk;

sk=x-x0; yk=feval(gfun,x)-gk;

if(sk'*yk>0)

hk=hk-(hk*yk*yk'*hk)/(yk'*hk*yk)+(sk*sk')/(sk'*yk);

endk=k+1; x0=x;

endval=feval(fun,x0);

fun.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))]';

he.m

檔案(hesse

陣)function he=he(x)

he=[1200*x(1)^2-400*x(2)+2, -400*x(1); -400*x(1), 200];

二次優化問題dfp 最優化方法(十二)粒子群尋優

chenglin li 最優化方法 一 0.618 分割 法計算單峰函式極小值 chenglin li 最優化方法 二 最速下降法求目標函式最小值 chenglin li 最優化方法 三 共軛梯度演算法 fr 求解無約束問題 chenglin li 最優化方法 四 變度量法演算法 dfp 求解無約束...

最優化學習筆記 十八 擬牛頓法 4 DFP演算法

秩2演算法可以保證在任意第 k 步迭代下,只要一維搜尋是精確的,近似矩陣hk 就是正定的。dfp演算法令 k 0 選擇初始點x 0 任意選擇乙個堆成正定實矩陣h0 如果g k 0 停止迭代 否則,令d k hkg k 計算 k arg min 0 f x k d k x k 1 x k kd k 4...

Deep Learning 最優化方法之Adam

本文是deep learning 之 最優化方法系列文章的adam方法。主要參考deep learning 一書。deep learning 之 最優化方法 deep learning 最優化方法之sgd deep learning 最優化方法之momentum 動量 deep learning 最...