―、共轭梯度法共轭梯度法(Conjugate Gradient)是共轭方向法的一种,因为 在该方向法中每一个共轭向量都是依靠赖于迭代点处的负梯度而构 造出来的,所以称为共轭梯度法由于此法最先由 Fletcher和Reeves ( 1964)提出了解非线性最优化问题的,因而又称为FR 共轭梯度法由于共轭梯度法不需要矩阵存储,且有较快的收敛 速度和二次终止性等优点,现在共轭梯度法已经广泛地应用于实 际问题中共轭梯度法是一个典型的共轭方向法,它的每一个搜 索方向是互相共轭的,而这些搜索方向d仅仅是负梯度方向与上 一次迭代的搜索方向的组合,因此,存储量少,计算方便,效果 好二、共轭梯度法的原理设有目标函数f (X) =l/2XTHX+bX+c 式 1式中,作为f(X)的二阶导数矩阵,为常数矢量,= [b ,b ,b ,...b ]t1 2 3 n在第k次迭代计算中,从点X (k)出发,沿负梯度方向作一维搜索, 得S(k)二-f( X(kJ 式 2X(k+i)=X(k)+a(k)S(k) 式 3在式中,a(k )为最优步长设与S(k)共轭的下一个方向S(k+i)由点S(k)和点X(k+i)负梯度的线性组合构,即S(k+i) =-Af (X(k+i)) +B (k) S (k)根据共轭的条件有[S(k)】TA2f (X(k)) S(k+i)=O 式 5把式2和式4带入式5,得—[Af(X(k))bAf (X(k)) [-Af (X(k+i)) +B(k)S(k)]=0 式 6 对于式1,则在点X(k)和点X(k+1)的梯度可写为Af(X(k))=HX(k)+b 式 7Af(X(k+i))=HX(k+i)+b 式 8把上面两式相减并将式3代入得a(k)HS(k)=Af (X(k+i))-Af(X(k)) 式 9将式4和式9两边分别相乘,并代入式5得-[Af (X(k+i))+B (k)Af(X(k))]T[Af (X(k+i))-Af(X(k)]=0 式 10式ii将式i0展开,并注意到相邻两点梯度间的正交关系,整理后得(k)=11 Af (X (k + I))ll2Il Af ( x (k ))112把式ii代入式4和式3,得S (k+i) =-Af (X(k)) +P (k)S(k)X(k+i)=X(k)+a(k)S(k)由上可见,只要利用相邻两点的梯度就可以构造一个共轭方向。
以这 种方式产生共轭方向并进行迭代运算的方法,即共轭梯度法三、共轭梯度法的迭代方法步骤:1、 给定的起始点X(o)和迭代计算精度h;2、 取X(o)的负梯度作为搜索方向S(o)=-Af (X(o))3、 沿方向S(k)进行一维搜索,得X(k+1)=X (k) +a (k) S (k)4、 进行收敛检验若满足IlAf (X(k+D)||Wh,则令X*=X(k+i), f (X*) =f (X(k+1))输出最优解,结束迭代计算;否则,转入(5)5、 若k=n,则令X(0)=X(k+i),转入(2)开始新一轮的迭代;否则, 转入(6)6、 构造新的共轭方向卩 =ll Af (X (k +1)) Il2II Af ( x (k ))II2S (k+1) =-Af (X(k)) +P (k) S (k)令 k=k+1,转入(3).四、共轭梯度法的计算框图如下:IlAf (X(k+1)) llWhX*=X(k+Df (X*) =f (X(k+1))给定X(0), hrS (0) =-Af (X(0)) ,k=01Fminf(X(o))+aS(k))X(k-i)=X(k)+a(k)S(k)Ni rX (0) =X(k+1)