1组关于信赖域的最优化学习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信赖域算法的发展
信赖域方法的历史可以追溯到
Levenberg(1944),Marquardt(1963),Goldfeld,Quandt and trotter(1966),但现代信赖域方法是Powell(1970)提 sk的 出来的。他明确提出了信赖域子方法,接受方向步 准则,校正信赖域半径的准则及收敛性定理。这些措 施使置信域方法比线性搜索方法具有更大的优越性。
信赖域半径的选择
信赖域算法
信赖域算法框图
信赖域方法的收敛性
定理一
定义一
解信赖域子问题
单折线法总结
双折线法总结
例题
线搜索法
精确线搜索
线性搜索与信赖域方法的联系
信赖域方法的应用
现今,置信域算法广泛应用于应用数学、物理、化学、
工程学、计算机科学、生物学与医学等学科。相信在 不远将来,信赖域方法会在更广泛多样的领域有着更 深远的的发展。
s
k 1
xk
信赖域方法的思想框架
考虑 ,其中ƒ(x)是定义在Rn上的二阶连续可微函数。定义当前点的邻




域Ω k: 这里Δk称为信赖域半径。假定在这个邻域中,二次模型是目标函数ƒ(x) 的一个合适的近似 ,则在这个邻域(称为信赖域)中极小化二次模型, 得到近似 极小点sk,并取,其中 。 信赖域方法的模型子问题是 其中,s = x − xk, ,Bk是一个对称矩阵,它是黑塞矩阵 或其近 ,Δk> 0为信赖域半径, 为某一范数,通常我们采用l2范数。 根据模型函数q(k)(s)对目标函数ƒ(x)的拟合程度来调整信赖域半径Δk。 对于信赖域方法的模型子问题的解sk,设目标函数的下降量 Aredk = f(xk) − f(xk + sk) 为实际下降量,设模型函数的下降量 Predk = q(k)(0) − q(k)(sk) 为预测下降量。 定义比 它用来衡量模型函数q(k)与目标函数ƒ 的一致性程度。
信赖域方法的基本思想
首先给定一个“信赖域半径”作为位移长度的上界,并以

当前迭代点为中心,以此“上界”为半径确定一个称之为 “信赖域”的闭球区域。然后,通过求解这个区域内的“信 赖域子问题”的最优点来确定“候选位移”。若候选位移 能使目标函数值有充分的下降量,则接受候选位移为新的 位移,并保持或扩大信赖域半径,继续新的迭代。否则, 说明二次模型与目标函数的近似度不够理想,需要缩小信 赖域半径,再通过求解新的信赖域子问题得到新的候选位 移。如此重复下去,直到满足条件。即: 若试探步长被接受则: xk + xk = 1 k 否则, x =
信赖域算法程序

function [xk,val,k]=trustm(x0) n=length(x0);x=x0; dta=1; eta1=0.1; eta2=0.75; dtabar=2.0; tau1=0.5; tau2=2.0; epsilon=1e-6; k=0; Bk=Hess(x); while(k<50) gk=gfun(x); if(norm(gk)<epsilon) break; end [d,val,lam,ik]=trustq(gk,Bk,dta); deltaq=-qk(x,d);
end
function qd=qk(x,d)
gk=gfun(x); Bk=Hess(x);
qd=gk'*d+0.5*d'*Bk*d;
算法实现
常用记号
参考文献
[1]WANG G G, SHAN S. Review of metamodeling
techniques in support of engineering design optimization[J]. Journal of Mechanical Design,2007,129(2):370-380. [2]FORRESTER A I J, KEANE A J. Recent advances in surrogate-based optimization[J]. Progress in Aerospace Sciences,2009,45(1/2/3):50-79.
n=length(d); A=zeros(n+2,n+2);
pmu=-4*mu/sqrt((lam+norm(d)^2-dta^2)^2+4*mu^2);
thetak=(lam+norm(d)^2-dta^2)/sqrt((lam+norm(d)^2-
dta^2)^2+4*mu^2); A=[1, 0, zeros(1,n); pmu, 1-thetak, -2*(1+thetak)*d'; zeros(n,1), d, Bk+lam*eye(n)]; function f=fun(x) f=100*(x(1)^2-x(2))^2+(x(1)-1)^2; end

deltaf=fun(x)-fun(x+d); rk=deltaf/deltaq; if(rk<=eta1) dta=tau1*dta; else if (rk>=eta2&norm(d)==dta) dta=min(tau2*dta,dtabar); else dta=dta; end end if(rk>eta1) x=x+d; Bk=Hess(x); end k=k+1; end xk=x;

end val=gk'*d+0.5*d'*Bk*d;
function p=phi(mu,a,b) p=a+b-sqrt((a-b)^2+4*mu); function dh=dah(mu,lam,d,gk,Bk,dta) n=length(d); dh(1)=mu; dh(2)=phi(mu,lam, dta^2-norm(d)^2); mh=(Bk+lam*eye(n))*d+gk; for(i=1:n) dh(2+i)=mh(i); end dh=dh(:);
function bet=beta(mu,lam,d,gk,Bk,dta,gamma)
dh=dah(mu,lam,d,gk,Bk,dta); bet=gamma*norm(dh)*min(1,norm(dh));
function A=JacobiH(mu,lam,d,Bk,dta)
dmu=dz(1); dlam=dz(2); dd=dz(3:n+2); m=0; mk=0; while (m<20)
dhnew=dah(mu+rho^m*dmu,lam+rho^m*dlam,d+rho^m*dd,gk,Bk,dta ); if(norm(dhnew)<=(1-sigma*(1-gamma*mu0)*rho^m)*dh) mk=m; break; end m=m+1; end alpha=rho^mk; mu=mu+alpha*dmu; lam=lam+alpha*dlam; d=d+alpha*dd; k=k+1;

val=fun(xk);
function [d,val,lam,k]=trustq(gk,Bk,dta) n=length(gk); gamma=0.05; epsilon=1.0e-6; rho=0.6; sigma=0.2; mu0=0.05; lam0=0.05; d0=ones(n,1); u0=[mu0,zeros(1,n+1)]'; z0=[mu0,lam0,d0']'; k=0; z=z0; mu=mu0; lam=lam0; d=d0; while (k<=150) dh=dah(mu,lam,d,gk,Bk,dta); if(norm(dh)<epsilon) break; end A=JacobiH(mu,lam,d,Bk,dta); b=beta(mu,lam,d,gk,Bk,dta,gamma)*u0-dh; B=inv(A); dz=B*b;
组长:郭 威 201118030204 组员:田 鑫 201118030216 梅晏清 201118030212 宋国强 201118030215 赵嘉伟 201118030228 李梦龙 201118030208
摘要
信赖域方法又称置信域方法,与线搜索方法一样,也
是最优化算法中的一种保证全局收敛的重要方法。与 线搜索方法相比,信赖域方法思想新颖、可靠性高、 有效性好、收敛性强,因此信赖域方法日益成为当前 数学及相关领域的研究重点。同时由信赖域构造新的 优化方法已成为非线域自适应调整算法 等。所以我们在此将对信赖域方法进行初步的学习, 希望对我们以后的学习和研究有所帮助。 关键词:信赖域、收敛性、非线性
function gf=gfun(x)
gf=[400*x(1)*(x(1)^2-x(2))+2*(x(1)-1), - 200*(x(1)^2-x(2))]'; end

function He=Hess(x) He=[1200*x(1)^2-400*x(2)+2, -400*x(1); -400*x(1), 200];
相关文档
最新文档