最优化:最速下降法和Newton法
最优化方法第二章_线搜索算法_最速下降法

f x1 , x2 c, c>0,
2
改写为:
x12 2c 1
2 x2
2c 2
2
1
二、最速下降法
x2
这是以
2c
1
和
2c
2
为半轴的椭圆
2c
2c
2
2
从下面的分析可见 两个特征值的相对
x1
大小决定最速下降法的收敛性。
(1)当 1 2 时,等值线变为圆
2 2
4 f x , 2
2 x1 2 x2 4 f ( x) , 2 x1 +4x2
4 d = f x , 2
0 0
=40 2 20 3 令 0= ' ( ) 80 20, 得 0 =1/4,
一
一维搜索
二 三 四
下 降 算 法
五
最速下降法 Newton法 共轭梯度法
多尺度法 (拟Newton法)
二、最速下降法 假设 f 连续可微,取 线搜索方向
k
d f ( x )
k
步长k 由精确一维搜索得到。 从而得到第 k+1次迭代点,即
f ( x k k d k ) min f ( x k d k )
(推论)在收敛定理的假设下,若f (x)为凸函数,则最速下降 法或在有限迭代步后达到最小点;或得到点列 x k ,它的任 何聚点都是 f (x)的全局最小点。
二、最速下降法
最速下降法特征:相邻两次迭代的方向互相垂直。
令
( ) f ( x d ), 利用精确一维搜索,可得
Matlab中的最优化问题求解方法

Matlab中的最优化问题求解方法近年来,最优化问题在各个领域中都扮演着重要的角色。
无论是在工程、经济学还是科学研究中,我们都需要找到最优解来满足特定的需求。
而Matlab作为一种强大的数值计算软件,在解决最优化问题方面有着广泛的应用。
本文将介绍一些Matlab中常用的最优化问题求解方法,并探讨其优缺点以及适用范围。
一. 无约束问题求解方法1. 最速下降法最速下降法是最简单且直观的无约束问题求解方法之一。
其基本思想是沿着梯度的反方向迭代求解,直到达到所需的精度要求。
然而,最速下降法的收敛速度通常很慢,特别是在局部极小值点附近。
2. 共轭梯度法共轭梯度法是一种改进的最速下降法。
它利用了无约束问题的二次函数特性,通过选择一组相互共轭的搜索方向来提高收敛速度。
相比于最速下降法,共轭梯度法的收敛速度更快,尤其适用于大规模优化问题。
3. 牛顿法牛顿法是一种基于二阶导数信息的优化方法。
它通过构建并求解特定的二次逼近模型来求解无约束问题。
然而,牛顿法在高维问题中的计算复杂度较高,并且需要矩阵求逆运算,可能导致数值不稳定。
二. 线性规划问题求解方法1. 单纯形法单纯形法是一种经典的线性规划问题求解方法。
它通过在可行域内进行边界移动来寻找最优解。
然而,当问题规模较大时,单纯形法的计算复杂度会大幅增加,导致求解效率低下。
2. 内点法内点法是一种改进的线性规划问题求解方法。
与单纯形法不同,内点法通过将问题转化为一系列等价的非线性问题来求解。
内点法的优势在于其计算复杂度相对较低,尤其适用于大规模线性规划问题。
三. 非线性规划问题求解方法1. 信赖域算法信赖域算法是一种常用的非线性规划问题求解方法。
它通过构建局部模型,并通过逐步调整信赖域半径来寻找最优解。
信赖域算法既考虑了收敛速度,又保持了数值稳定性。
2. 遗传算法遗传算法是一种基于自然进化过程的优化算法。
它模拟遗传操作,并通过选择、交叉和变异等操作来搜索最优解。
遗传算法的优势在于其适用于复杂的非线性规划问题,但可能需要较长的计算时间。
最速下降法与牛顿法及其区别

最速下降法与牛顿法及其区别摘要:无约束优化方法是优化技术中极为重要和基本内容之一。
它不仅可以直接用来求解无约束优化问题,而且很多约束优化问题也常将其转化为无约束优化问题,然后用无约束优化方法来求解。
最速下降法和牛顿法是比较常见的求解无约束问题的最优化方法,这两种算法作为基本算法,在最优化方法中占有重要的地位。
其中最速下降法又称梯度法,其优点是工作量少,存储变量较少,初始点要求不高;缺点是收敛慢,效率低。
牛顿法的优点是收敛速度快;缺点是对初始点要求严格,方向构造困难,计算复杂且占用内存较大。
同时,这两种算法的理论和方法渗透到许多方面,特别是在军事、经济、管理、生产过程自动化、工程设计和产品优化设计等方面都有着重要的应用。
因此,研究最速下降法和牛顿法的原理及其算法对我们有着及其重要的意义。
关键字:无约束优化最速下降法牛顿法Abstract: unconstrained optimization method is to optimize the technology is extremely important and basic content of. It not only can be directly used to solve unconstrained optimization problems, and a lot of constrained optimization problems are often transformed into unconstrained optimization problem, and then use the unconstrained optimization methods to solve. The steepest descent method and Newton-Raphson method is relatively common in the unconstrained problem optimization method, these two kinds of algorithm as the basic algorithm, the optimization method plays an important role in. One of the steepest descent method also known as gradient method, its advantages are less workload, storage variable is less, the initial requirements is not high; drawback is the slow convergence, low efficiency. Newtonian method has the advantages of fast convergence speed; drawback is the initial point of strict construction difficulties, directions, complicated calculation and larger memory. At the same time, these two kinds of algorithm theory and methods into many aspects, especially in the military, economic, management, production process automation, engineering design and product optimization design has important applications. Therefore, to study the steepest descent method and Newton-Raphson method principle and algorithm for us with its important significance.Keywords: unconstrained optimization steepest descent method一、算法的基本原理1.1 最速下降法的基本原理在基本迭代公式k k k k P t X X +=+1中,每次迭代搜索方向k P 取为目标函数)(X f 的负梯度方向,即)(k k X f P -∇=,而每次迭代的步长k t 取为最优步长,由此确定的算法称为最速下降法。
数值最优化算法与理论理论-第三章算法

1、最速下降法function f=fun_obj(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;function g=fun_grad(x)g=[2*x(1)-400*x(1)*(-x(1)^2+x(2))-2,-200*x(1)^2+200*x(2)];% 用armijo搜索确定步长,其中xk是当前迭代点,rho,sigma为armijo参数,gk为当前下降方向function mk=armijo(xk,rho,sigma,gk )%assert(rho>0&&rho<1); % 限制Armijo参数rho在(0,1)之间%assert(sigma>0&&sigma<0.5); % 限制Armijo参数sigma在(0,0.5)之间mk=0;max_mk=100; % 最大迭代次数while mk<=max_mkx=xk+rho^mk*gk; % 求解x(k+1)iffeval('fun_obj',x)<=feval('fun_obj',xk)-sigma*rho^mk*(fun_grad(xk))*g k' %终止条件break;endmk=mk+1; % 更新迭代endfunction [xk,fk,k]=steepestmain(x0)max_iter=5000; % max number of iterationsEPS=1e-6; % threshold of gradient normrho=0.8;sigma=0.59; % Armijo parametersk=0;xk=x0; % initializationwhile k<max_iterdk=fun_grad(xk);d=-dk; % search directionif norm(dk)<EPS %precisionbreak;endmk=armijo(xk,rho,sigma,d); %armijo line searchxk=xk+rho^mk*d; %updatefk=fun_obj(xk);k=k+1;endx0=[-1,2];[xk,fk,k]=steepestmain(x0);2、Newton法function f=fun_obj(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;function g=fun_grad(x)g=[2*x(1)-400*x(1)*(-x(1)^2+x(2))-2,-200*x(1)^2+200*x(2)];function He=Hess(x)He=[1200*x(1)^2-400*x(2)+2,-400*x(1);-400*x(1),200];% 用armijo搜索确定步长,其中xk是当前迭代点,rho,sigma为armijo参数,gk为当前下降方向function mk=armijo(xk,rho,sigma,gk )%assert(rho>0&&rho<1); % 限制Armijo参数rho在(0,1)之间%assert(sigma>0&&sigma<0.5); % 限制Armijo参数sigma在(0,0.5)之间mk=0;max_mk=100; % 最大迭代次数while mk<=max_mkx=xk+rho^mk*gk; % 求解x(k+1)iffeval('fun_obj',x)<=feval('fun_obj',xk)-sigma*rho^mk*(fun_grad(xk))*g k' %终止条件break;endmk=mk+1; % 更新迭代endfunction [xk,fk,k]=Newtonmain(x0)max_iter=5000; % 最大迭代次数EPS=1e-6; % 精度rho=1;sigma=1e-4; % Armijo 参数k=0;xk=x0; % 初值while k<max_iter % 迭代次数超过最大迭代次数时跳出循环k=k+1;dk=fun_grad(xk); % x(k)处的梯度H=Hess(xk); % x(k)处的Hessian矩阵d=-H\dk'; % x(k)处的搜索方向if norm(dk)<EPS % 终止条件break;endmk=armijo(xk,rho,sigma,d'); % 利用armijo搜索确定步长xk=xk+rho^mk*d'; % 计算x(k+1)的值fk=fun_obj(xk); % 计算x(k+1)处函数的值endx0=[1.2,1.2];[xk,fk,k]=Newtonmain(x0);3、Newton-最速下降法function f=fun_obj(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;function g=fun_grad(x)g=[2*x(1)-400*x(1)*(-x(1)^2+x(2))-2,-200*x(1)^2+200*x(2)];function He=Hess(x)He=[1200*x(1)^2-400*x(2)+2,-400*x(1);-400*x(1),200];% 用armijo搜索确定步长,其中xk是当前迭代点,rho,sigma为armijo参数,gk为当前下降方向function mk=armijo(xk,rho,sigma,gk )%assert(rho>0&&rho<1); % 限制Armijo参数rho在(0,1)之间%assert(sigma>0&&sigma<0.5); % 限制Armijo参数sigma在(0,0.5)之间mk=0;max_mk=100; % 最大迭代次数while mk<=max_mkx=xk+rho^mk*gk; % 求解x(k+1)iffeval('fun_obj',x)<=feval('fun_obj',xk)-sigma*rho^mk*(fun_grad(xk))*g k' %终止条件break;endmk=mk+1; % 更新迭代endfunction [xk,fk,k]=newton_steepest(x0)max_iter=5000; % 最大迭代次数EPS=1e-6; % 精度rho=1;sigma=1e-4; % Armijo 参数 rho=0.8;sigma=0.59;k=0;xk=x0; % 初值while(k<max_iter)k=k+1;dk=fun_grad(xk); % x(k)处的梯度,注意dk为行向量G=Hess(xk); % x(k)处的Hessian矩阵d=-G\dk'; % x(k)处的搜索方向,注意此时d为列向量if norm(dk)<EPS % x(k)处的搜索方向break;end%% 判断d是否为下降方向if d'*dk'<0 % 若d'*dk<0,则d为下降方向d=d;else% 若d'*dk>=0,则d不为下降方向,令下降方向为负梯度方向 d=-dk';endmk=armijo(xk,rho,sigma,d'); % 利用armijo搜索确定步长 xk=xk+rho^mk*d'; % 计算x(k+1)的值fk=fun_obj(xk); % 计算x(k+1)处函数的值endx0=rand(1,2000);[xk,fk,k]=newton_steepest(x0);。
第六章 最速下降法和牛顿法

所求稳定点;否则,转(3)。
(3) 计算 H (x ) 1 和下降方向 pk 。
(4) 沿 p k 方向进行一维搜索,决定步长 k :
f
x k k pk
min f ( x k pk ) 0
(5) 令 xk1 = x k k pk , k k 1,返回(2)。
f ( x k )T pk 0
(4)
即可保证 f ( x) f ( x k pk ) f ( x k ) 。此时,若取
x k1 x k p k
(5)
就一定能使目标函数得到改善。
建模方法与应用
6.1 最速下降法
现在考察不同的方向 p k ,假设 p k 的模不为零,并设 f (x k ) 0(否
x x 点处的梯度方向,仅在 点的一个小邻域内才具有最速的
性质,而对于整个优化过程来说,那就是另外一回事了。由上
x2
x 0 (1,1)
1
x1
例可以看出,当二次函数的等值线为同心椭圆时,采用梯度法 其搜索路径呈直角锯齿状;最初几步函数值变化显著,但是迭 代到最优点附近时,函数值的变化程度非常小。因此,梯度法
用一维搜索法、微分法,也可以利用试算法,或者根据某些函数确定最佳步长,则只能选用前两种方法。
建模方法与应用
6.1 最速下降法
一般地,若 f (x k ) 2 ,则 x k 即为近似极小点;否则求步
长 k 并计算 xk1 = x k k f ( x k ) 。如此反复,直到达到要求
建模方法与应用
6.1 最速下降法
为了得到下一个近似点,在选定搜索方向之后,还要确定
步长 。的计算可以采用试算法,即首先选取一个 值进 行试算,看它是否满足不等式 f ( x k1 ) f ( x k pk ) f ( x k ) ; 如果满足就迭代下去,否则缩小 使不等式成立。由于采用 负梯度方向,满足该不等式的 总是存在的。
第3章 无约束最优化方法 3-1 最速下降法 3-2 牛顿法

1
u f ( x)u m u
T 2
2
u R
n
则从任意的初始点 x 0 出发,阻尼牛顿法产 生的迭代点列 满足: (1)当 x k 为有穷点列时,其最后一个点 为 f ( x) 的唯一极小点。 (2)当 x k 为无穷点列时,收敛到 f ( x) 的
第3.2节 Newton法及其改进
第3.1节 最速下降法(Steepest Method)
对于最速下降法的几点说明 (1)第2.6节中介绍的关于下降算法的收敛 性定理对最速下降法都是成立的 。 (2)目标函数在负梯度方向下降得最快只 是局部性质。 (3)锯齿现象 (4)改进策略:在计算的开始阶段使用最 速下降法,在迭代数次后,改用其他算法。
本节的主要内容:
(1)牛顿法的基本思想
(2)阻尼牛顿法
(3)带保护措施的阻尼牛顿法
(4)吉尔-默里稳定牛顿法
(5)信赖域方法(一)
第3.2节 Newton法及其改进
(1)牛顿法的基本思想: * 在目标函数f ( x)的极小点 x 的近似点 x k 附近将 f ( x) 二阶Tayler展开,用展开的二次 函数去逼近 f ( x),将这个二次函数的极小点 * x 作为 的一个新的近似点 x k 1 ,依次下去, 用一系列二次函数的极小点 xk 1 去逼近 f ( x) 的极小点 x * 。
第3.2节 Newton法及其改进
设 f ( x)二次连续可微,则 f ( x) 在 x k 处的二次 近似为: 1 T f ( x) qk ( x) f ( xk ) f ( xk ) ( x xk ) ( x xk )T 2 f ( xk )( x xk ) 2 令
无约束常用优化方法

步长 ,作前进(或后退)试探.如试探成功(目
标函数值有所减小),则按步长序列
,加
大步长(注意每次加大步长都是由初始点算起),直
至试探失败(目标函数值比前一次的有所增加)时,
则取其前一次的步长作为沿这个坐标轴方向搜索的最
优步长,并计算出该方向上的终止点,而后以这个终
止点为始点再进行下一坐标轴方向的搜索,并重复上
处
显然 是二次函数,并且还是正定二次函数,所以 是凸函数且存在唯一全局极小点.为求此极小点,令
即可解得
即
(5.9)
对照基本迭代公式,易知,式(5.9)中的搜索方向
步长因子
方向
是直指点 处近似二次函数
的极小点的方向.此时称此方向为从点 出发的
Newton方向.从初始点开始,每一轮从当前迭代点出发,
沿Newton方向并取步长 的算法称为Newton法.
另外,共轭梯度法不要求精确的直线搜 索.但是,不精确的直线搜索可能导致迭代 出来的向量不再共轭,从而降低方法的效 能.克服的办法是,重设初始点,即把经过 n次迭代得到的Xn作为初始点重新迭代.
五、坐标轮换法
在坐标轮换法中,沿各个坐标轴方向进行一维搜索
时,常选用最优步长法或加速步长法.加速步长法从
初始点出发,沿搜索(坐标轴)方向先取一个较小的
三、共轭方向法
1、概念
通常,我们把从任意点
出发,依次沿某组共轭
方向进行一维搜索的求解最优化问题的方法,叫做共
轭方向法.
2、特点
• 一般地,在n维空间中可以找出n个互相共轭的方向,对于n元正 定二次函数,从任意初始点出发,顺次沿这n个共轭方向最多作n 次直线搜索就可以求得目标函数的极小点.这就是共轭方向法的 算法形成的基本思想.
最优化方法第四章B

将上式右边极小化, 即令
q(k) (s) f (xk ) 2 f (xk )s 0
得:
xk1 xk [ 2 f (xk )]1 f (xk )
(4.2.2) (4.2.3)
这就是牛顿法迭代公式.相应的算法称为牛顿法
令 Gk 2 f (xk ), gk f (xk ) , 则(4.2.3)也可写成
事实上, 由于精确线性搜索满足gkT1dk 0则
gT k 1
g
k
dkT1dk
0
(4.1.11)
这表明最速下降法中相邻两次的搜索方向是相互直
交的, 这就产生了锯齿形状.越接近极小点, 步长越
小, 前进越慢.
最速下降法的锯齿现象
x2 x1
x*
x3
最速下降法的收敛速度
精确线性搜索的最速下降法的收敛速度是线性的
dk
o(
x xk
)
(4.1.2)
显然, 若dk 满足 gkT dk 0 , 则是下降方向, 它使得
f (xk dk ) f (xk )
当
取定后,
g
T k
d
的值越小,
k
即
g
T k
dk
的值越大,
函
数f(x)在xk处下降量越大.
由Cauchy-Schwartz(柯西-施瓦)不等式
二次型 f (x1, x2 ,, xn ) 如果对于任意一组不全为零的 实数 c1 , c2 ,, cn都有 f (c1, c2 ,, cn ) 0 就称为正定的.
A是一个实对称矩阵,如果 实二次型
xT Ax
是正定的,则A称为正定矩阵.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定理 3.1.1 设假设 2.4.1的条件成立 , 那么采用精确搜索 , 或 Armijo搜索或 Wolfe- P owell搜索的最速下降法产生 的迭 代序列{xk }满足 lim || f ( xk ) || 0
k
由前面的例子看到, 最速下降法的收敛速度至多是线性的, 具体 见下面的两个定理.
第一节
最速下降法
最古老的优化方法,十九世纪中叶由Cauchy提出
1、 思想 :每次沿负梯度方向进行搜索
●
x*
xk 1
等值线(面)
●
xk
●
f ( xk )
负梯度方向也称为最速下降方向:
事实上,对任意p R n 且 || p || , 由Cauchy - Schwarz 不等式得 f ( xk ) T P - || f ( xk ) || || P || - || f ( xk ) || - f ( xk ) - f ( xk ) 当取p 时等号成立,即 p 是下列问题 || f ( xk ) || || f ( xk ) || 的解 min f ( xk ) T P
从上面的例子看到, 对于简单的二元二次函数极小化问题, 最速下降法在有限次迭代并没有求出其精确最优解, 但能 以较慢的速度无限接近最优解.
事实上,上面的例子刻画了最速下降法的所有收 敛特征
3、 最速下降法的收敛性 全局收敛性
由于最速下降法的搜索方向与负梯度方向一致, 即 k 0, 且 || f ( xk ) || || d k || 所以, 由定理2.4.1 - 2.4.3, 我们很容易得到最速下降算法的全 局收敛性.
2
max 其中 , 且max 和min分别是 f ( x * )的最大和最小特征值 . min
定理的证明参见文献[19,定理3.4]
由上面的分析可知,最速下降法的收敛速度 比较慢,通常将其用在某些算法的初始阶段求较 好的初始点或作为某些算法的间插步.
有点难啊 思考题:
设序列{x k }是由采用精确搜索的最速下降法求解二 元二次函数 f ( x ) xQx bT x c 所产生,这里x R , Q R 对称正定,b R , c R.试证 明偶次迭代点x , x , 和奇次迭代点 x , x , 分别共线, 而且这两条直线的交点就是函数 f ( x )的最小点.
采用精确搜索极小化二次函数的步长公式为
f ( x ) T d x x - T d Qd x x
迭代公式为
x ( k ) x ( k ) k d ( k ) x ( k )
(k ) ( x( k ) ) ( x ) - (k ) (k ) ( x ) ( x )
2
从上图可以看出,最速下降法 具有锯齿现象
对一般的非二次函数有下面的收敛速度估计:
定理 3.1.3 设函数 f二次连续可微 , 若采用精确搜索的最速 下降 法产生的点列 {xk } 收敛到问题 (.)的解 x * , 且 f ( x * )正定 , 则 有估计 - * * f ( xk ) - f ( x * ) [ f ( xk ) - f ( x )] o[ f ( xk ) - f ( x )]
几何解释:
●
xk
●
xk 1 (二次曲面极小点 )
二次曲面 : Q( x) f ( xk )
等值面 (线) : f ( x) f ( xk )
f ( x )在x k 处二阶泰勒展开式为 f ( x ) f ( xk ) f ( xk ) T ( x - xk ) 二次近似函数 Q ( x ) f ( x k ) f ( x k ) ( x - x k ) ( x - x k ) T f ( xk )( x - xk ) 且 Q ( x ) f ( xk ) f ( xk )( x - xk )
我们称迭代公式 x k 1 xk - 2 f ( xk ) -1 f ( x k ) 为古典Newton法的迭代公式. 其中 d k - 2 f ( xk ) -1 f ( x k ) 称为x k 处的Newton方向. 若 2 f ( xk )正定, 则Newton方向是函数f在x k 处的一个下降 方向, 并且是下列线性方程组的解 2 f ( xk )d f ( x k ) 0
唯楚有材
於斯为盛
最优化
主讲:刘陶文
学好最优化,走遍天下都不怕
课件制作:刘陶文
第三章 无约束问题算法(I)—— 最速下降法、 Newton法
第一节 最速下降法
第二节 Newton法及其修正形式
给定无约束问题 min f ( x) n
xR
(3.1)
在上一章里, 我们介绍了下降算法的结构及步长计算的 方法,在后面的几章里, 我们来介绍下降方向的计算. 下降方向的计算是整个最优化方法的核心, 不同计算方 式对应不同的最优化算法, 相应算法的收敛性理论和数 值效果有很大区别
即 类似可得
T ( x2 - x1) Q ( x 2 - x0 ) 0
(3) (4)
T ( x4 - x3) Q ( x4 - x2 ) 0
又由(2)得 f ( x 2 ) T f ( x1 ) f ( x3 ) T f ( x 2 ) 0 所以在R 2中:f ( x3 ) || f ( x1 ),推出 x4 - x3 || x2 - x1 进一步结合 (3) 和( 4), 得到 x4 - x2 || x2 - x0 , 即 x0 , x 2 , x 4 共线 以此类推得所有偶次迭代点 : x0 , x 2 , x4 , , x 2 k , , 共线 同理可得, 所有奇次迭代点 : 又由最速下降法的收敛性知 lim x k x * lim x 2 k lim x 2 k 1 x *
收敛速度估计
下面的定理给出了其求解严格凸二次函数极小化问题的 收敛速度估计.定理证明可参考文献[19, 定理3.3] 定理 3.1.2 设矩阵 Q对称正定 , q R n .记max 和min分别是 Q max 的最大和最小特征值 , .考察如下二次函数极小 化 min
问题: T min f ( x ) x Qx q T x 则由采用精确搜索的最 速下降法产生的点列 {x k }满足 - * || xk - x ||Q || x k - x ||Q
T
( x - xk ) T f ( xk )( x - x k ) o(|| x - xk ||2 )
若 f ( x k )正定, 则Q ( x )的极小点x 为 f ( x k ) f ( xk )( x - xk ) 0 的解, 即 x xk - f ( x k ) -1 f ( xk ) x k x k - f ( xk ) -1 f ( xk ) 把二次函数的极小点作为xk , 则
最优化算法看来是如此的简单?
例3.1.1 取初始点x ( ) ( , )T . 采用精确搜索的最速下降 法求解下面的最优化问题: min f ( x ) x x x 1 解 函数 f 的梯度为:f ( x ) 2 x , Q f ( x ) - x 搜索方向 d -f ( x ) - x
|| p||
以负梯度为搜索方向的算法称为最速下降法
2、 算法步骤
算法3.1 (最速下降法 ) 步1 给定初始点x0 R n , 精度 0.令k 0; 步2 若 || f ( x k ) || 步3 ; 步3 由线性搜索计算步长 k ; 步4 令xk 1 xk k d k , k : k 1, 转步2.
T ( x 2 - x1) Q ( x 2 - x0 ) [1f ( x1 )]T Q[1f ( x1 ) - 0 f ( x0 )]
由于f ( x ) Qx b, 得 (1) (2)
12 f ( x1 ) T Qf ( x1 ) - 1 0 f ( x1 ) T Qf ( x0 ) 12 f ( x1 ) T Qf ( x1 ) - 1f ( x1 ) T [f ( x1 ) - f ( x0 )] 12 f ( x1 ) T Qf ( x1 ) - 1f ( x1 ) T f ( x1 ) 0
*
(3.2 )
其中 x 是问题的惟一解 , || x ||Q x Qx
* T
-1 * || xk 1 - x * ||Q || xk - x ||Q 1
(3.2 )
对于二次函数, 由于f ( x ) Qx q且在x *处 f ( x * ) Qx * q 0 1 1 * * T * 2 则 f ( x ) - f ( x ) ( x - x ) Q ( x - x ) || x - x * ||Q 2 2 所以(3.2)可以改写成 -1 * * f ( xk 1 ) - f ( x ) [ f ( x ) f ( x )] k 1 由收敛速度估计式(3.2) 看到, 最速下降的收敛速度与矩阵 Q的条件数有关, 当接近于1, 最速下降收敛很快, 特别, 当 1即Q的所有特征值相等时, 算法只需一次迭代即可 求出最优解. 而当较大时(Q接近病态) , 算法收敛很慢.
证明:我们首先证明 : ( x 2 - x1 ) T Q ( x 2 - x0 ) 0 记 x k 1 x k k d k x k 1 x k k f ( x k ) f ( xk 1 ) f ( x k ) k Qd k 又由精确搜索得 f ( xk 1 ) T f ( x k ) 0 由(1) 和( 2), 进一步得到 - f ( x k ) T f ( x k ) f ( x k ) T f ( xk ) k T f ( x k ) Qd k f ( x k ) T Qf ( x k ) x 2 - x0 x 2 - x1 x1 - x0 1d 1 0 d 0 -1f ( x1 ) - 0 f ( x0 ) 所以