非线性优化-最优化问题之共轭梯度法

主 要 摘 自 《 非 线 性 优 化 》 \color{#F00}{主要摘自《非线性优化》} 线
\qquad 共轭方向法的意义在于加快最速下降法的收敛速度,避免牛顿方法的大量计算。最初是为了解决
m i n i m i z e f ( x ) = 1 2 x ′ Q x − b ′ x s u b j e c t   t o   x ∈ ℜ n minimize\quad f(x)=\frac{1}{2}x^{'}Qx-b^{'}x\\ subject\ to\ x\in\Re^{n} minimizef(x)=21xQxbxsubject to xn其中Q是正定的。或者等价的求解线性系统
Q x = b Qx=b Qx=b \qquad (很多函数都可以用二次函数很好地近似)共轭方向法最多经过 n n n次迭代就能得到该问题的解,通常少于 n n n次也能的到足够精确的解。也可以用来解决非二次最优化问题,但一般不会在有限次迭代后终止。
\qquad 共轭方向法的主要思想是在逐渐扩张的线性流形上逐步最小化 f f f,而最终的线性流形将包括 f f f的全局最小值点,对于每一个 k k k x k + 1 x^{k+1} xk+1在经过 x 0 x^{0} x0且由共轭方向 d 0 , . . . , d k d^{0},...,d^{k} d0,...,dk张成的线性流形上最小化 f f f
\qquad 给定一个正定 n × n n\times n n×n矩阵Q,若非零向量 d 1 , . . . , d n d^{1},...,d^{n} d1,...,dn是Q-共轭的,则
d i ′ Q d j = 0 , i ≠ j d^{i'}Qd^{j}=0,\quad i\neq j diQdj=0,i̸=j即如果变量是Q-共轭的那么他们是线性无关的。与其他迭代法相同其步骤为
x k + 1 = x k + α k d k x^{k+1}=x^{k}+\alpha^{k}d^{k} xk+1=xk+αkdk \qquad 其中, α k \alpha^{k} αk通过线性最小化步长准则得到
( x k + α d k ) = m i n α f ( x k + α d k ) (x^{k}+\alpha^{}d^{k})=\mathop{min}\limits_{\alpha}f(x^{k}+\alpha d^{k}) (xk+αdk)=αminf(xk+αdk) \qquad 尤其 f ( x k + α d k ) f(x^{k}+\alpha d^{k}) f(xk+αdk)关于 α \alpha α的偏导数为0,得到
0 = ∂ f ( x k + α d k ) ∂ α = d k ′ ∇ f ( x k + α d k ) = d k ′ ( Q ( x k + α d k ) − b ) 0=\frac{\partial f(x^{k}+\alpha^{}d^{k})}{\partial\alpha}=d^{k'}\nabla f(x^{k}+\alpha^{}d^{k})=d^{k'}(Q(x^{k}+\alpha^{}d^{k})-b) 0=αf(xk+αdk)=dkf(xk+αdk)=dk(Q(xk+αdk)b)从而
α k = d k ′ ( b − Q x k ) d k ′ Q d k \alpha^{k}=\frac{d^{k&#x27;}(b-Qx^{k})}{d^{k&#x27;}Qd^{k}} αk=dkQdkdk(bQxk) \qquad 生成Q-共轭方向 对任意给定的一个线性无关向量组 ξ 0 , . . . , ξ k , \xi^{0},...,\xi^{k}, ξ0,...,ξk,使用 G r a m − S c h m i d t Gram-Schmidt GramSchmidt方法,构造一组相互Q-共轭的方向 d 0 , . . . , d k , d^{0},...,d^{k}, d0,...,dk,,对使得所有 i = 0 , . . . , k , i=0,...,k, i=0,...,k,满足(由 d 0 , . . . , d i , d^{0},...,d^{i}, d0,...,di,张成的子空间)=(由 ξ 0 , . . . , ξ i , \xi^{0},...,\xi^{i}, ξ0,...,ξi,张成的子空间)。该方法从下式开始首先 d 0 = ξ 0 d^{0}=\xi^{0} d0=ξ0假设对于某些 i &lt; k i&lt;k i<k,已知的到Q-共轭方向 d 0 , . . . , d i d^{0},...,d^{i} d0,...,di,使上述关系成立, d i + 1 d^{i+1} di+1取为
d i + 1 = ξ i + 1 + ∑ m = 0 i c ( i + 1 ) m d m d^{i+1}=\xi^{i+1}+\sum_{m=0}^{i}c^{(i+1)_m}d^{m} di+1=ξi+1+m=0ic(i+1)mdm \qquad 其中需要选取参数 c ( i + 1 ) m c^{(i+1)m} c(i+1)m,使得 d i + 1 d^{i+1} di+1 d 0 , . . . , d i d^{0},...,d^{i} d0,...,di是Q-共轭的,对于 j = 0 , . . . , i , j=0,...,i, j=0,...,i,
d i + 1 ′ Q d j = ξ i + 1 ′ Q d j + ( ∑ m = 0 i c ( i + 1 ) m d m ) ′ Q d j = 0 d^{i+1&#x27;}Qd^{j}=\xi^{i+1&#x27;}Qd^{j}+(\sum_{m=0}^{i}c^{(i+1)_m}d^{m})^{&#x27;}Qd^{j}=0 di+1Qdj=ξi+1Qdj+(m=0ic(i+1)mdm)Qdj=0 \qquad 因为 d 0 , . . . , d i , d^{0},...,d^{i}, d0,...,di,是Q-共轭的,所以若 m ≠ j   d m ′ Q d j = 0 m\ne j\ d^{m&#x27;}Qd^{j}=0 m̸=j dmQdj=0所以
c ( i + 1 ) j = − ξ i + 1 ′ Q d j d j ′ Q d j , j = 0 , . . . , i . c^{(i+1)_j}=-\frac{\xi^{i+1&#x27;}Qd^{j}}{d^{j&#x27;}Qd^{j}},\qquad j=0,...,i. c(i+1)j=djQdjξi+1Qdj,j=0,...,i. \qquad 共轭梯度法 共轭梯度法是最重要的共轭方向法,该方法基于梯度方向 ξ 0 = − g 0 , . . . , ξ n − 1 = − g n − 1 \xi^{0}=-g^{0},...,\xi^{n-1}=-g^{n-1} ξ0=g0,...,ξn1=gn1使用 G r a m − S c h m i d t Gram-Schmidt GramSchmidt过程
g k = ∇ f ( x k ) = Q x k − b g^{k}=\nabla f(x^{k})=Qx^{k}-b gk=f(xk)=Qxkb
d k = − g k + ∑ j = 0 k − 1 g k ′ Q d j d j ′ Q d j d j d^{k}=-g^{k}+\sum_{j=0}^{k-1}\frac{g^{k&#x27;}Qd^{j}}{d^{j&#x27;}Qd^{j}}d^{j} dk=gk+j=0k1djQdjgkQdjdj其中, d 0 = − g 0 d^{0}=-g^{0} d0=g0。当 g k = 0 g^{k}=0 gk=0时,该方法停止在最优解处终止。共轭梯度法的方向由下式生成
d 0 = − g 0 , d k = − g k + β k d k − 1 , k = 1 , . . . , n − 1 , d^{0}=-g^{0},\\ d^{k}=-g^{k}+\beta^{k}d^{k-1},\quad k=1,...,n-1, d0=g0,dk=gk+βkdk1,k=1,...,n1,其中 β k \beta^{k} βk由下式给出
β k = g k ′ g k g k − 1 ′ g k − 1 \beta^{k}=\frac{g^{k&#x27;}g^{k}}{g^{k-1&#x27;}g^{k-1}} βk=gk1gk1gkgk此外该方法在最多 n n n次迭代之后,将终止在某个最优解处

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值