文档介绍:运筹学课程实验报告姓名: ******** 学号: ******** 班级: ******** 日期: 2012/12/17 一、实验目的:1、掌握求解无约束最优化问题的 F-R 共轭梯度法, 以及约束最优化问题 Wolfe 简约梯度法。 2、学会用 MATLAB 编程求解问题, 并对以上方法的计算过程和结果进行分析。二、实验原理与步骤:1、 F-R 共轭梯度法基本步骤是在点)(kX 处选取搜索方向)(kd , 使其与前一次的搜索方向)1(kd 关于 A 共轭,即( 1) ( ) ( 1) , 0 k k k d d Ad 然后从点)(kX 出发,沿方向)(kd 求得)(Xf 的极小值点)1(kX , 即)( min )( )()(0 )1( kdXfXf kk如此下去, 得到序列{ )(kX } 。不难求得 0, )1()( kk Ad d 的解为)()1()1( )()()()1(, , kkk kkkkd Ad d d AX bXX注意到)(kd 的选取不唯一,我们可取)1(1 )()()( kk kkdXfd由共轭的定义 0, )1()( kk Ad d 可得: )1()1( )1()(1, , kk kkk Ad d Ad r共轭梯度法的计算过程如下: 第一步:取初始向量)0(X , 计算(0) 0 (0) (1) )0()0( )0()0(0 (0) (0) (0) (0)dXX , , X)X(rd Ad d Ad r Abf 第1k 步:计算(k) 0 (k) 1) (k )()( )()( )1(1 (k) )( )1()1( )1()(1 (k) (k) (k)dXX , , r , , X)X(r kk kkk kk k kk kkk Ad d Ad r dd Ad d Ad r Abf2、 Wolfe 简约梯度法 Wolfe 基本计算步骤: 第一步:取初始可行点, 给定终止误差,令 k:=0 ; 第二步: 设是的 m 个最大分量的下标集, 对矩阵 A 进行相应分解; 第三步:计算, 然后计算简约梯度; 第四步: , 停止迭代, 输出。否则进行第五步。第五步: 进行有效一维搜索, 求解, , k:=k+1, 转入第二步。三、实验内容: 1、(运筹学 P153 页第 20 题)用 F-R 法求解选取初始点,.2、(运筹学 P154 页第 25 题)用 Wolfe 法求解以下问题: 选取初始可行点,. 四、问题求解: 问题 1 求解:( F-R 法) 程序代码如下: (1 )主函数 syms x1 x2 r; f=(1-x1)^2+2*(x2-x1^2)^2; x=[x1,x2]; df=jacobian(f,x); df=df.'; error=; x0=[0,0]'; g1=subs(df,x,x0); k=0; whi