第五章无约束优化的间接搜索法
机械优化设计方法第五章 多变量无约束优化方法
似极小点,则在X(k)点根据函数f(X)的性质,选择一个方向S(k),沿 此方向搜索函数值应是下降的,称S(k)为下降方向。
(3)当搜索方向S(k)确定以后,由X(k)点出发,沿S(k)方向进行搜索,
定出步长因子α(k),得新设计点 X(k+1)= X(k)+α(k) S(k) 并满足f(X(k+1))<f(X(k))。具有这种性质的算法称为下降算法。α(k) 可以是一维搜索方法确定的最优步长因子,亦可用其他方法确定。 (4)若新点X(k+1)满足迭代计算终止条件,则停止迭代,X(k+1)点就 作为近似局部极小点X*;否则,又从X(k+1)点出发,返回第(2)步 继续进行搜索迭代。
的极为有用的性质:从任意初始点X(0)出发,依次沿n个线性无关 的与A共扼的方向S1,S2,…, Sn各进行一维搜索,那么总能在第n 步或n步之前就能达到n维正定二次函数的极小点;并且这个性质 与所有的n个方向的次序无关。因而说共轭方向法具有有限步收敛 的特性。通常称具有这种性质的算法为二次收敛算法。 2.理论与实践证明,将二次收敛算法用于非二次的目标函数, 亦有很好的效果,但迭代次数不一定保证有限次,即对非二次n维 目标函数经n步共轭方向一维搜索不一定就能达到极小点。 3.对于非二次的目标函数寻优的另一种处理方法是循环迭代 法,即当达n步迭代终点X(n)时还未收敛,此时可将X(n)作为新的初 始点,再重新开始迭代,实践证明,这样做要比一直迭代下去具 有更好的效果。 4.即便对于正定二次函数,在数值计算中,由于数据的舍入 以及计算误差的累积,往往破坏了这种共轭性质。
(一)共轭方向的定义
设A为n×n阶实对称正定矩阵,如果有两个n维向量S1和S2满足
S1TAS2=0 则称向量S1与S2对于矩阵A共轭。 共轭向量的方向称为共轭方向。
6.1无约束优化(线搜索)
共轭梯度法-数值表现
Polak & Ribiere(1971)
Hestenes & Stiefel
⊙ 严格凸二次函数+精确线搜索确定步长,四个算法相同!
⊙ FR-CG的理论分析最完善;PR+-CG的实际表现最好!
⊙ 非精确线搜索:满足强Wolfe准则,参数 ⊙ 终止条件 或者迭代10000次后终止(*)
共轭梯度法-基本思想
设G对称正定,
共轭梯度法-具体算法
Conjugate Gradient Method(CG)
m in im iz e n
x R
1 T x G x-b T x 2
Gx = b
⊙线搜索法,要求用精确步长,且 ⊙ p(0)= - g(0),对k > 0 共轭的部分 具体地,即 其 中 算法最多迭代 n 次即终止! 计算量: 矩阵向量乘(1) 内积(2) 向量求和(3)
共轭梯度法
Conjugate j g Gradient Method
修正前:A的特征值分别是 -1.25, 2.87, 8.38 修正后:A+D’ 的特征值分别是 1.13, 3.00, 8.87
第 5 章 无约束优化:线搜索法 数学规划基础 LHY‐SMSS‐BUAA 第 5 章 无约束优化:线搜索法 数学规划基础 LHY‐SMSS‐BUAA
第 5 章 无约束优化:线搜索法
数学规划基础
LHY‐SMSS‐BUAA
第 5 章 无约束优化:线搜索法
数学规划基础
LHY‐SMSS‐BUAA
6
共轭梯度法-性质
定理 设 m 是CG法中使 g(m) ≠0 的最大整数. 则 m ≤ n,且对所有的 k = 1, …, m,下列事实成立:
最优化方法:第五章 常用无约束优化方法
g1
0.73846 0.04616
1.47692 0.42500 0.36923
0.11076 0.11076
束 优
f (X1) 0.06134, g2 f (X 2 ) 00..2828105028, g2 0.91335.
化 因为 方 法
g1T g0 0.0000,
g
T 2
g1
方
(4)计算 X k1 X k Pk,f k1 f ( X k1 ),gk1 g( X k1) .
法 (5)判别终止准则是否满足:若满足,则打印最优解X k1
,fk1 结束;否则,置k k 1 ,转(2).
第 五 章 常 用 无 约 束 优 化 方 法
例5.2 试用Newton法求 f (x1,x2 ) x12 4x22 的极小点,初 始点取为 X 0 [1, 1]T .
方 法
, X k1 f (X k1) ,结束;否则,置 k k 1,转(2).
将最速下降法应用于正定二次函数
f (X ) 1 X T AX bT X c (5.4)
2
第
可以推出显式迭代公式.
五
设第k次迭代点为Xk,我们来求Xk+1的表达式.对式
章 (5.4)关于X求梯度,有
常
g(X ) AX b (5.5)
Pk [2 f (X k )]1f ( X k )
步长因子 tk 1
方向 Pk [2 f (X k )]1f (X k ) 是直指点 X k 处近似二次函数
Q(X )的极小点的方向.此时称此方向为从点 X k 出发的
Newton方向.从初始点开始,每一轮从当前迭代点出发,
第
沿Newton方向并取步长 的tk 算1 法称为Newton法.
无约束常用优化方法
步长 ,作前进(或后退)试探.如试探成功(目
标函数值有所减小),则按步长序列
,加
大步长(注意每次加大步长都是由初始点算起),直
至试探失败(目标函数值比前一次的有所增加)时,
则取其前一次的步长作为沿这个坐标轴方向搜索的最
优步长,并计算出该方向上的终止点,而后以这个终
止点为始点再进行下一坐标轴方向的搜索,并重复上
处
显然 是二次函数,并且还是正定二次函数,所以 是凸函数且存在唯一全局极小点.为求此极小点,令
即可解得
即
(5.9)
对照基本迭代公式,易知,式(5.9)中的搜索方向
步长因子
方向
是直指点 处近似二次函数
的极小点的方向.此时称此方向为从点 出发的
Newton方向.从初始点开始,每一轮从当前迭代点出发,
沿Newton方向并取步长 的算法称为Newton法.
另外,共轭梯度法不要求精确的直线搜 索.但是,不精确的直线搜索可能导致迭代 出来的向量不再共轭,从而降低方法的效 能.克服的办法是,重设初始点,即把经过 n次迭代得到的Xn作为初始点重新迭代.
五、坐标轮换法
在坐标轮换法中,沿各个坐标轴方向进行一维搜索
时,常选用最优步长法或加速步长法.加速步长法从
初始点出发,沿搜索(坐标轴)方向先取一个较小的
三、共轭方向法
1、概念
通常,我们把从任意点
出发,依次沿某组共轭
方向进行一维搜索的求解最优化问题的方法,叫做共
轭方向法.
2、特点
• 一般地,在n维空间中可以找出n个互相共轭的方向,对于n元正 定二次函数,从任意初始点出发,顺次沿这n个共轭方向最多作n 次直线搜索就可以求得目标函数的极小点.这就是共轭方向法的 算法形成的基本思想.
5 无约束优化方法
第二节 一、方法说明
最速下降法
从某一点X(k)出发,以该点的最速下降方向:即负梯度方向 - f(X(k)),进行一维搜索,得最优步长k,从而获得新的迭 代点X(k+1),如此重复迭代,即得到无约束问题的最优解.
第三节
牛顿法
1 Newton法的基本思想 若x*是无约束问题的局部解,则x*满足
f (X ) 0
*
因此,可以通过求解该方程组来得到无约束最优化问题解。注 意到该方程组是非线性的,处理起来比较困难,因此考虑原 目标函数在点X(k)处的一个二次逼近:
f ( X ) p2 ( X ) f ( X ( k ) ) f ( X ( k ) )T ( X - X ( k ) ) 1 [ X - X ( k ) ]T H ( X ( k ) )( X - X ( k ) ) 2
Newton法的缺点: (1)可能会出现在某步迭代时目标函数值上升,即存在k,使得 f(X(k+1))>f(X(k)) 。 如 在 上 例 中 , 取 x(1)=(1 , 1)T , f(x(1))=4 , 由 Newton 法得到的 x(2)=(-0.75,-1.25)T ,此时, f(x(2))=4.5156 函数值上升。 (2)当初始点x(1)距x*较远时,产生的点列{X(k)}可能不收敛;或 者收敛到鞍点;或者H(x(k))奇异无法计算。
(1)
0
又由于 故得
(d ) f ( X ) 0
(0) T (1)
(d (0) )T Ad (1) 0
称方向d(0)与方向d(1)关于矩阵A共轭
5 无约束最优化方法
在数学中,海森矩阵(Hessian matrix 或 Hessian)是一个自变量为向量的实值函数 的二阶偏导数组成的方块矩阵,此函数如下:
如果 f 所有的二阶导数都存在,那么 f 的海 森矩阵即:
H(f)ij(x) = DiDjf(x)
阻尼牛顿法
基本牛顿法对于一般非线性函数求解可能失 效的缺陷可以通过在迭代中引入步长因子和 一维搜索加以解决,改进后的算法称为阻尼 牛顿法,引入的步长因子αk也称为阻尼因子。 由于引入阻尼因子和一维搜索,虽然增加了 计算量,但可以保证迭代点的严格下降性, 可以适用于任何非线性函数,具有更理想的 收敛效果。
变尺度法(拟牛顿法)
变尺度法是通过坐标变换构造的一类最优化 算法。这类算法的搜索方向在计算中以递推 形式逐步产生并最终逼近牛顿方向,而不需 计算函数的二阶导数及其及逆矩阵。 变尺度法具有超线性收敛速度。
坐标变换
当函数在一点的二阶导数矩阵为正定时,其函数 在该点的泰勒二次展开式是正定二次函数,其等 值线为同心椭圆族。 引入变换矩阵U和如下变换:
唯一极小 (全局极小)
2 f ( x1 x2 ) 2 x12 2 x1 x2 x2 3x1 x2
f 0 f 0.298 f 0.298
多局部极小
根据搜索方向的不同构成方式:
导数法(解析法):利用目标函数的一阶导数 和二阶导数信息构造搜索方向的方法。(梯度 法、牛顿法、变尺度法、共轭梯度法)收敛性 和收敛速度较好,较为常用 模式法(直接法):通过几个已知点上函数值 的比较构造搜索方向的一类算法。(鲍威尔法) 迭代次数多,收敛速度慢,搜索方向不理想
转向(ቤተ መጻሕፍቲ ባይዱ);
第五章无约束优化的间接搜索法
1)尽管理论上可以证明目标函数为n维正定 二次函数时,共轭梯度法只需要n次迭代就可以 达到最优点,但由于计算机的舍入误差,实际 计算往往要多进行若干次才能得到满足精度要 求的结果;而对于一般的目标函数,迭代次数 将更多。
所以
令 得
(1)[g(1)]Tg(1) - (0) [ g(0)]T g(0) ] = 0 -[g(2)]T g(2) - (1)[g(1)]Tg(1) = 0
(1) = - (1) (1) = - (1) = [g(2)]T g(2)/ [g(1)]Tg(1)
= ||g(2)||2 / ||g(1)||2 (0) = (1) [g(1)]T g(1)/ [g(0)]Tg(0)
因为
[S(0) ]T g(1) = 0
所以
[S(0) ]T g(2) = 0
即
g(2) 与g(0)正交。
所以
[S(0) ]T g(2) = 0
由式(6)得 [g(1) ]T g(2) = 0
可见, g(0)、g(1) 、g(2)构成一个空间正交系。
3)在g(0)、g(1)、g(2)构成的空间正交系中求与 S(0)及S(1)均共轭的方向S(2),以此作为下一步迭代 计算的搜索方向。仍取S(2)为g(0)、g(1)、g(2) 的线 性组合,即
再沿S(2) 进行一维搜索,得 X(3) = X(2) + (2) S(2),
如此继续下去,可以求得共轭方向的递推公式 为
S(k+1) = -g(k+1) + ||g(k+1)||2 / ||g(k)||2 S(k)
(k = 0, 1, 2, …, n-1)
沿着这些共轭搜索方向一直搜索下去,直 到最后迭代点处梯度的模小于给定的允许值为 止。若目标函数为非二次函数,经n次搜索还未 达到最优点时,则以最后得到的点作为初始点, 重新计算共轭方向,一直到满足精度要求为止。
05-无约束优化算法
05-⽆约束优化算法05-⽆约束优化算法⽬录⼀、⽆约束最⼩化问题[⽆约束最⼩化问题] 使 f(x) 最⼩化, f:R n→R 是凸的,且⼆次可微(意味着 domf 是开集)。
假设这个问题是可解的,也就是存在最优点 x∗ ,最优值 inf x f(x)=f(x∗) ,记为 p∗ .[最优充要条件] 因为 f 是可微且凸的,点 x∗ 是最优点的充要条件是∇f(x∗)=0 .注:其实可以从⼆维的图像去理解因此解决⽆约束最⼩化问题等同于寻找上式的解,是含有n个未知数的n个⽅程的集⽅程组。
有时我们是⽤递归算法来解决这个问题,也就是依次计算x(0),x(1),...∈domf , 有f(x(k))→p∗,k→∞ 。
这样的序列叫做问题的最⼩化序列 (minimizing sequence)。
算法的停⽌条件:f(x(k))−p∗≤ϵ,ϵ≥0 是可容许的误差值。
[初始点,下⽔平集] 初始点 x(0) 必须在 domf 中,并且下⽔平集S={x∈domf|f(x)≤f(x(0))} 必须是闭的。
注:下⽔平集是闭的,其实就是对函数做了⽔平切割,然后⽔平切割下的图像是封闭的如果函数 f 是闭的(也就是它的所有下⽔平集都是闭的)那么以上条件都能满⾜。
定义在domf=R n上的连续函数是闭的,所以如果domf=R n,那么初始下⽔平集条件对于任何x(0)都满⾜。
另⼀种闭函数:定义域是开集,当x趋近于bd domf时,f(x) 趋近于⽆限。
[强凸] ⼀个函数在 S 上是强凸的,如果存在 m>0 ,使得对于所有的 x∈S ,有∇2f(x)⪰mI.注:强凸的性质,其实就是保证函数的 ∇2f(x)>0 ,也就是确保只有⼀个最优解,⽽弱凸是最优解有多个,如下图所⽰。
对于x,y∈S我们有f(y)=f(x)+∇f(x)T(y−x)+12(y−x)T∇2f(z)(y−x) , for some z∈[x,y] 。
根据强凸的假设,最后⼀项⼤于等于 (m/2)‖y−x‖22,∀x,y∈S ,也就是:f(y)≥f(x)+∇f(x)T(y−x)+(m/2)‖y−x‖22 .当m=0 时,我们得到了描述凸性的基本不等式。
第五章约束优化方法
间接解法中具有代表性的是惩罚函数法。
直接解法的基本思想:
在由m个不等式约束条件gu(x)≤0所确定的可行域φ内, 选择一个初始点x(0),然后确定一个可行搜索方向S,且以 适当的步长沿S方向进行搜索,取得一个目标函数有所改善 的可行的新点x(1),即完成了一次迭代。以新点为起始点重 复上述搜索过程,每次均按如下的基本迭代格式进行计算:
第五章 约束优化方法
直接解法是在满足不等式约束的可行设计区域内直接求 出问题的约束最优解。
属于直接解法的有:随机实验法、随机方向搜索法、 复合形法、可行方向法等。 间接解法是将约束优化问题转化为一系列无约束优化问题来 解的一种方法。 由于间接解法可以选用已研究比较成熟的无约束优化方法, 并且容易处理同时具有不等式约束和等式约束的问题。因而 在机械优化设计得到广泛的应用。
第四节
4.1 基本思路
复合形法
在可行域内选取若干初始点并以之为顶点构成 一个多面体(复合形),然后比较各顶点的函数值,去 掉最坏点,代之以好的新点,并构成新的复合形,以逼 近最优点.
X1
X2
X3
XC
X4
第四节
复合形法
4.2 初始复合形生成的方法:
(1)由设计者决定k个可行点,构成初始复合形。设计变量 少时适用。 (2)由设计者选定一个可行点,其余的k-1个可形点用随机法 产生。
dir0=rand(N,1)*2-1; dir0=dir0/norm(dir0); xk=x0+alpha*dir0; gx=feval(g_cons,xk); if max(gx)>0 alpha=alpha*0.7; else fxk=feval(f,xk); if fxk<fx0 if norm(xk-x0)<TolX&abs(fxk-fx0)<TolFun break else xmin=xk; alpha=1.3; end x0,xk,fx0,fxk else alpha=-alpha; end end end x1=x0; fx1=feval(f,x1); gx=feval(g_cons,x1); k1 end
第五章 无约束优化方法
由(5.3)得 X (1) X (0) [H ( X (0) )]1 F ( X (0) ) 0 3 1
S (0) 1 4,10T 0.3714 ,0.9285 T 10.770329
2 2 例 5-3 试用牛顿法求例5-1给出的目标函数 f ( X ) x1 x2 x1 x2 4x1 10x2 60的极小值, ( 0) T 设初始点 X (0) [ x1(0) , x2 ] [0,0]。 2 f 2 f
f ( X ) f ( X ) T 解: f ( X ( 0) ) , 4,10 x 2 x1
(0)
6 8
H 1F
X (k ) X*
X
X (1) 6 8
T
(1)
X
S
( 0)
x1(1) 0 0.3714 0.3714 0.9285 (1) 0 0 . 9285 x2
f ( X ) f ( X ) T 解: f ( X ) , 2 x1 x 2 4,2 x 2 x1 10 x 2 x1 2 2 f ( X ( 0) ) f ( X ( 0) ) ( 0) 2 2 f ( X ) x x (4) (10) 10.770329 1 2
即为最优点,只迭代一次就达到了X*。
图5.8牛顿法的修正
• 5.3.2 牛顿法的特点
由上述可见,当目标函数为二次函数时,收敛很快,属于二阶收敛,是目前算法中最快的 一种。即使目标函数不是二次函数,当初始点选得好时,也会很快收敛。但如果目标函数 非凸,初始点选择不当有可能远离极小点或导致不收敛(图5.8)。基于这种原因,为保 证每次迭代下降,对古典的牛顿法要做些修改,于是便出现了修正牛顿法。其修正方法是 在 X ( k ) 沿牛顿方向做一次一维搜索,避免远离极小点 X (k 1) X (k ) k [H ( X (k ) )]1 F ( X (k ) )
无约束最优化直接方法和间接方法的异同
无约束最优化直接方法和间接方法的异同一、什么是无约束最优化最优化方法(也称做运筹学方法)是近几十年形成的,它主要运用数学方法研究各种系统的优化途径及方案,为决策者提供科学决策的依据。
最优化方法的主要研究对象是各种有组织系统的管理问题及其生产经营活动。
其的目的在于针对所研究的系统,求得一个合理运用人力、物力和财力的最佳方案,发挥和提高系统的效能及效益,最终达到系统的最优目标。
实践表明,随着科学技术的日益进步和生产经营的日益发展,最优化方法已成为现代管理科学的重要理论基础和不可缺少的方法,被人们广泛地应用到公共管理、经济管理、工程建设、国防等各个领域,发挥着越来越重要的作用。
最优化问题分为无约束最优化和约束最优化问题,约束最优化问题是具有辅助函数和形态约束条件的优化问题,而无约束优化问题则没有任何限制条件。
无约束最优化问题实际上是一个多元函数无条件极值问题。
虽然在工程实践中,大多数问题都是具有约束的优化问题,但是优化问题的处理上可以将有约束的优化问题转化为无约束最优化问题,然后按无约束方法进行处理。
或者是将约束优化问题部分转化为无约束优化问题,在远离极值点和约束边界处按无优化约束来处理,在接近极值点或者约束边界时按照约束最优化问题处理。
所以无约束优化问题的解法不仅是优化设计方法的基本组成部分,也是优化方法的基础。
无约束最优化方法大致分为两类:一类是使用导数的间接方法,即在计算过程中要用到目标函数的导数;另一类是直接方法,即只要用到目标函数值,不需要计算导数。
这里我们比较这两类方法的异同。
二、无约束最优化方法1. 使用导数的间接方法1.1 最速下降法函数的负梯度方向是函数值在该点下降最快的方向。
将n维问题转化为一系列沿负梯度方向用一维搜索方法寻优的问题,利用负梯度作为搜索方向,故称最速下降法或梯度法。
无约束优化问题的数学模型可以表示为:()n R f ∈x x xmin ,我们假设函数()x f 具有一阶连续偏导数。
无约束最优化的常用方法
⽆约束最优化的常⽤⽅法11/22/2017 12:40:56 PM优化问题在很多领域有着重要的应⽤。
为了⽇后查阅⽅便,本⽂列举常见的⽆约束优化⽅法的计算公式。
需要说明的是,本⽂的⼤部分内容选⾃图书《算法笔记》。
⼀、梯度下降法梯度下降法(Gradient Descent Method)也叫做最速下降法(Steepest Descent Method),因为负梯度是函数局部下降最快的⽅向。
梯度下降梯度下降法的迭代格式为x k+1=x k−αk∇f(x k)梯度下降法⾮常简单,只需要知道如何计算⽬标函数的梯度就可以写出迭代格式。
因此,尽管在不少情况下梯度下降法的收敛速度都很慢,也依然不影响它在⼯业界的⼴泛应⽤。
梯度下降法应⽤到⼀些具体模型上有时也会被视作⼀类特定的算法,例如神经⽹络中的后向传导算法(Back Propagation Algorithm)。
随机梯度下降在机器学习中经常有f(x)=∑m i=1ℓi(x),其中ℓi(x)是第i个训练样本的损失函数。
这时我们可以使⽤随机梯度下降法(Stochastic Gradient Descent Method)。
其迭代格式为x k+1=x k−αk∇ℓr(x k)其中r∈1,2,⋯,m为随机数。
这种做法可以理解为随机选择⼀个训练样本,进⾏⼀次梯度下降的训练。
在机器学习的问题中,我们通常不需要真的求得最优值,这样不精确的迭代,使得算法不容易过拟合。
由于随机梯度下降法的普及,与此相对的梯度下降法有时被称为批量梯度下降法(Batch Gradient Descent Method),因为它同时考虑所有训练样本。
介于批量梯度下降法和随机梯度下降法之间,还有⼩批量梯度下降法(Min-Batch Gradient Descent Method),也就是每次迭代选择若⼲个训练样本。
步长αk的选取梯度下降法可采⽤BB步长(Barzilai Borwein)。
BB步长有两个计算公式,选择其⼀即可。
第五章 约束优化方法
只有当目标函数是凸函数,约束构成的可行域是凸集 时,则满足K-T条件的点 是全局极小点的必要而充 分条件。
讨论: 约束最优解的必要条件——几何条件
当迭代点 有两个起作用约束,写出目标函数与 约束集的关系如下:
区域内
5.3.1 约束坐标轮换法
一、约束坐标轮换法与无约束坐标轮换法的区别
约束坐标轮换法的基本思想与无约束坐标轮换 法基本相同,其主要区别如下:
1、沿坐标方向搜索的迭代步长采用加速步长, 而不是采用最优步长。因为按照最优步长所得到的迭 代点往往超出了可行域。
2、对于每一个迭代点,不仅要检查目标函数值 是否下降,而且必须检查是否在可行域内,即进行适 用性和可行性的检查。
2、将非可行点移入可行域
用上述方法的随机点不一定是可行点。但是只 要它们中至少有一个点在可行域内,就可以用一定 的方法将非可行点移入可行域。如果k个随机点没 有一个是可行点,则应重新产生随机点,直至其中 有至少一个是可行点为止。
对于具有等式约束的优化问题,若出现两个或两个
以上的局部最优点,此时全局最优点是全部局部最优点 中函数值最小的一个。
对于具有一般约束的优化问题,若出现两个或两个 以上的局部最优点,此时全局最优点是全部局部最优点 中函数值最小且同时满足等式约束与不等式约束的一个。 例如:设数学模型为
该优化问题的最优点如下图所示,对于这两个局部最小
5.3.2 随机方向法
参看右图 预先选定可行初始点 , 利用随机函数构成随机方 向S1,按给定的初始步长
,沿S1方向取得 试探点
检查x点的适用性和可行性
若满足
继续按下面的迭代式在S1方向上获取新点。重复上 述步骤,迭代点可沿S1方向前进。直至到达某迭代点 不
无约束最优化直接方法和间接方法的异同
无约束最优化直接方法和间接方法的异同一、什么是无约束最优化最优化方法(也称做运筹学方法)是近几十年形成的,它主要运用数学方法研究各种系统的优化途径及方案,为决策者提供科学决策的依据。
最优化方法的主要研究对象是各种有组织系统的管理问题及其生产经营活动。
其的目的在于针对所研究的系统,求得一个合理运用人力、物力和财力的最佳方案,发挥和提高系统的效能及效益,最终达到系统的最优目标。
实践表明,随着科学技术的日益进步和生产经营的日益发展,最优化方法已成为现代管理科学的重要理论基础和不可缺少的方法,被人们广泛地应用到公共管理、经济管理、工程建设、国防等各个领域,发挥着越来越重要的作用。
最优化问题分为无约束最优化和约束最优化问题,约束最优化问题是具有辅助函数和形态约束条件的优化问题,而无约束优化问题则没有任何限制条件。
无约束最优化问题实际上是一个多元函数无条件极值问题。
虽然在工程实践中,大多数问题都是具有约束的优化问题,但是优化问题的处理上可以将有约束的优化问题转化为无约束最优化问题,然后按无约束方法进行处理。
或者是将约束优化问题部分转化为无约束优化问题,在远离极值点和约束边界处按无优化约束来处理,在接近极值点或者约束边界时按照约束最优化问题处理。
所以无约束优化问题的解法不仅是优化设计方法的基本组成部分,也是优化方法的基础。
无约束最优化方法大致分为两类:一类是使用导数的间接方法,即在计算过程中要用到目标函数的导数;另一类是直接方法,即只要用到目标函数值,不需要计算导数。
这里我们比较这两类方法的异同。
二、无约束最优化方法1. 使用导数的间接方法1.1 最速下降法函数的负梯度方向是函数值在该点下降最快的方向。
将n维问题转化为一系列沿负梯度方向用一维搜索方法寻优的问题,利用负梯度作为搜索方向,故称最速下降法或梯度法。
无约束优化问题的数学模型可以表示为:()n R f ∈x x xmin ,我们假设函数()x f 具有一阶连续偏导数。
无约束优化算法
无约束优化算法无约束优化算法问题,是指优化问题的可行集为,无约束的标准形式为:∙最优性条件∙极小值点的一阶必要条件设为连续可微函数,如果为局部极小值点,则为驻点,即梯度。
∙极小值的二阶必要条件设为二阶连续可微函数,如果为局部极小值点,则为驻点,即梯度,二阶半正定。
∙极小值点的二阶充分条件设为二阶连续可微函数,如果梯度,二阶正定,则为的局部极小值点,。
以上三个定理为搜索最优点以及判断一个点是否为最优点的基本依据。
经典的优化算法的停止条件为,例如在程序中,即在导数范数小于某特定误差限时停止。
误差限较大,则算法迭代次数减少,计算时间缩短,但解得质量降低;误差限较小,则算法迭代次数增加,计算时间增加,但解的质量提高;误差限一般为,可以根据实际情况设定合适的误差限。
当然,还有极小值点的二阶必要条件与极小值点的二阶充分条件,对的判断,由于目标函数比较复杂,二阶导数矩阵的计算量极大,所以一般算法都在迭代过程中对进行修正,得到,在修正的过程中始终保持的正定性,以此方法解决极小值点的二阶条件问题。
一、最速下降法(1) 算法原理最速下降法是早期的优化算法,其理论根据函数的一阶泰勒展开:由得到根据下降要求故实际中要求根据上式选取合适的,得。
最速下降法取。
由于近似的有:取,则由知:最速下降法有全局收敛性,并且是线性收敛的,算法比较简单。
一般来说,在实际计算中,最速下降法在开始迭代时效果较好,有时能很快地找到最优解得附近,但是当局继续迭代时,常常发生扭摆现象,以致不能达到最优解。
(2) 算法步骤给定控制误差。
步骤1:取初始点,令步骤2:计算。
步骤3:若,则,停止计算;否则,令,由一维搜索步长,使得步骤4:令,,转步骤2。
二、黄金分割法(1) 算法思想通过不断缩小区间的长度来搜索目标函数的极小值点,且是按照可行域全长的0.618(及0.382)选取新点,而不断更新区间进行的.(2) 算法流程步骤ε>.设函数发f(x),初始区间为[a,b],0步骤1:取两点x1,x2(x1<x2),x2=a+0.618(b-a),x1=a+b-x2或x1=a+0.382(b-a),x2=a+b-x1 计算f(x1),f(x2);步骤2: 若f(x1)<f(x2);则去掉[x2,b],则a=a,b=x2,x2=x1,x1=a+b-x2,步骤3: 若f(x1)>f(x2);则去掉[a,x1],则a=x1,b=b,x1=x2,x2=a+b-x1,步骤4: 若f(x1)=f(x2);则去掉[a,x1]和[x2,b],则a=x1,b=x2,重复步骤1.步骤5: 在每一次缩小区间时,判断|b-a|≤ε是否成立,若成立则结束.三、共轭梯度法(1) 算法思想共轭梯度法的基本思想是把共轭性与最速下降方法相结合,利用已知点处的梯度构造一组共轭方向,并沿这组方向进行搜素,求出目标函数的极小点。
4无约束优化方法
4 0 100 = 0
经过一次迭代即求得极小点 x ∗ = [ 0 0] 函数极小值
f ( x∗ ) = 0
从牛顿法迭代公式的推演中可以看到, 从牛顿法迭代公式的推演中可以看到,迭代点 的位置是按照极值条件确定的, 的位置是按照极值条件确定的,其中并未含有沿下 降方向搜寻的概念。因此对于非二次函数, 降方向搜寻的概念。因此对于非二次函数,如果采 用上述牛顿迭代公式, 用上述牛顿迭代公式,有时会使函数值上升 。 阻尼牛顿法
2 − 4α 0 x = x − α 0 ∇f ( x ) = 2 − 100α 0
1 0 0
α 0为一维搜索最佳步长,应满足极值必要条件 为一维搜索最佳步长,
f ( x1 ) = min {(2 − 4α ) 2 + 25(2 − 100α ) 2 } = min ϕ (α ) α α
(d
k +1 T
) d =0
k
在最速下降法中, 在最速下降法中, 相邻两个迭代点上的函 数梯度相互垂直。 数梯度相互垂直。而搜 索方向就是负梯度方向, 索方向就是负梯度方向, 因此相邻两个搜索方向 互相垂直。 互相垂直。这就是说在 迭代点向函数极小点靠 近的过程, 近的过程,走的是曲折 的路线。形成“ 的路线。形成“之”字 形的锯齿现象, 形的锯齿现象,而且越 接近极小点锯齿越细。 接近极小点锯齿越细。
梯度法与牛顿法比较: 梯度法与牛顿法比较: 一般迭代式: 一般迭代式:
x k +1 = x k + α k d k (k = 0,1, 2,L)
梯度法: 梯度法:
x
k +1
= x − a k ∇ f ( x ) ( k = 0,1, 2,L )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20 2 f (X)=
30
0.5 0 [2 f (X)] -1 =
0 0.125
f (X1(0) ) = [ 08
f (X2(0) ) = [ 4 16 ]T
0 ]T X1(1)= X1(0) - [2f (X1(0))]-1 f (X1(0) )
0.5 0
= [ 0 0 ]T -
[ 0 0 ]= [ 0 0 ]T
共轭梯度法搜索的第一步沿负梯度方向, 以后各步沿与上次搜索方向相共轭的方向进 行搜索。共轭梯度法的关键是如何在迭代过 程中不断生成共轭搜索方向
• 共轭梯度法共轭搜索方向的生成 考虑二次函数
f (X) = 0.5 XT H X + BT X + C
从 X(k) 出发,沿H的某一共轭方向S(k)作一维 搜索得到 X(k+1),即
若满足,则输出最优解:X * = X (k), f * = f (X *) ,并终止迭代计算 ;
否则,继续下一步迭代计算;
4)计算X (k)点的海赛矩阵2 f (X (k))及其逆 矩阵[2 f (X (k))] -1
5)沿牛顿方向S(k) = - [2 f (X (k)) ]-1 f (X (k)) 进行一维搜索,求最佳步长(k);
S(1) = -g(1) + (0)S(0)
其中,(0)为待定常数,可以利用共轭方向与梯 度之间的关系求得。
由
[S(1) ]T[ g(1) - g(0) ] = 0
有 展开,得
[ -g(1) + (0)S(0) ]T[ g(1) - g(0) ] = 0
- [g(1)]Tg(1) +[g(1)]Tg(0)+(0)[S(0)]Tg(1) - (0)[S(0)]Tg(0) = 0
牛顿法的迭代公式为
X (k+1) = X (k) - [2 f (X (k)) ]-1 f (X (k))
X (k+1)=X (k) + (k) S(k) 牛顿方向:S(k) = - [2 f (X (k)) ]-1 f (X (k)) 迭代步长:(k) =1
修正牛顿法(又称阻尼牛顿法)的迭代 公式为
所以
- [g(1)]Tg(1) - (0)[S(0)]Tg(0) = 0
所以
(0) = - [g(1)]Tg(1) / [S(0)]Tg(0)
= [g(1)]Tg(1) / [g(0)]Tg(0)
= ||g(1)||2 / ||g(0)||2
S(1) = -g(1) + ||g(1)||2 / ||g(0)||2 S(0)
S(2) = -g(2) + (1) g(1) + (0) g(0)
其中, (1) 、 (0) 为待定常数,可以利用共轭方 向与梯度之间的关系求得。
[S(2) ]T[ g(1) - g(0) ] = 0
[S(2) ]T[ g(2) - g(1) ] = 0
即 [-g(2) + (1) g(1) + (0) g(0) ]T [ g(1) - g(0) ] = 0 [-g(2) + (1) g(1) + (0) g(0) ]T [ g(2) - g(1) ] = 0
因为
[S(0) ]T g(1) = 0
所以
[S(0) ]T g(2) = 0
即
g(2) 与g(0)正交。
所以
[S(0) ]T g(2) = 0
由式(6)得 [g(1) ]T g(2) = 0
可见, g(0)、g(1) 、g(2)构成一个空间正交系。
3)在g(0)、g(1)、g(2)构成的空间正交系中求与 S(0)及S(1)均共轭的方向S(2),以此作为下一步迭代 计算的搜索方向。仍取S(2)为g(0)、g(1)、g(2) 的线 性组合,即
所以
令 得
(1)[g(1)]Tg(1) - (0) [ g(0)]T g(0) ] = 0 -[g(2)]T g(2) - (1)[g(1)]Tg(1) = 0
(1) = - (1) (1) = - (1) = [g(2)]T g(2)/ [g(1)]Tg(1)
= ||g(2)||2 / ||g(1)||2 (0) = (1) [g(1)]T g(1)/ [g(0)]Tg(0)
• 共轭梯度法的计算步骤及算法框图
1)给定初始点X(0)及收敛精度>0,k=0;
2)取 S(0) = -▽f (X(0) );
3) X(k+1) = X(k) + (k) S(k) ( k = 0, 1, 2, …, n) (k) 为一维搜索所得的最佳步长。
4) 判断 || ▽f (X(k+1) ) || ≤ ? 若满足,则输出 X * = X(k+1) 和 f * = f (X * ) 否则,转下一步;
(X)的极小点应满足: (X)=0
即
f (X (k))+ 2 f (X (k)) (X - X (k)) =0
2 f (X (k)) (X - X (k)) = - f (X (k))
当 2 f (X (k)) 正定且有逆阵时,上式两边 同时左乘 [2 f (X (k)) ]-1, 得
X = X (k) - [2 f (X (k)) ]-1 f (X (k))
6)令X (k+1)=X (k) + (k) S(k) ,并令k k+1, 转2),重复上述迭代计算过程。
举例: 用牛顿法求目标函数
f (X) = x12 + 4x22 的无约束最优解。初始 点X1(0)= [ 0 0 ]T , X2(0)= [ 2 2 ]T。
解: f (X) = [ 2x1 8x2 ]T
证明,这样处理一般都可以取得较好的效 果。
举例: 用共轭梯度法求目标函数
f (X) = x12 + 4x22 的无约束最优解。初始 点X(0)= [ 2 2 ]T, =0.01 。 解: f (X) = [ 2x1 8x2 ]T
若S(j)和S(k)关于H共轭,则有
[S(j) ]T H S(k) = 0 (4)式两边同时左乘[S(j) ]T,有
[S(j) ]T[g(k+1) - g(k) ]= (k) [S(j) ]TH S(k) = 0
即
[S(j) ]T[ g(k+1) - g(k) ] = 0
(5)
式(5)就是共轭方向与梯度之间的关系。 它表明沿方向S(k) 进行一维搜索,其终点X(k+1) 与始点X(k)梯度之差(g(k+1)-g(k))与 S(k) 的共轭
若能设法构造一个矩阵来逼近海赛矩阵 的逆阵而避免计算海赛矩阵及其逆阵,这样 的方法统称为拟牛顿法。如只用梯度信息但 比梯度法快的共轭梯度法,以及针对牛顿法 提出的变尺度法等。
§5.3 共轭梯度法
• 基本思想
共轭梯度法属于共轭方向法中的一种方
法。它是利用目标函数在迭代点X(k)的梯度来
构造共轭搜索方向的,具有二次收敛性。
沿S(1)进行一维搜索,得 X(2) = X(1) + (1) S(1), 并计算X(2)点的梯度 g(2) ,则有
[S(1)]Tg(2) =0
故有 [ -g(1) + (0)S(0) ]T g(2) = 0
(6)
因为S(0)和S(1)共轭,所以有
[S(0) ]T[ g(2) - g(1) ] = 0
那么, g(1)与S(0) 有什么关系呢?
-g(0)
二者正交,即
X(1)
[g(1)]TS(0)=0 或 [S(0)]Tg(1) =0 g(1)
X(0)
因此,S(0)与g(1)构成平面正交系。
2 ) 在 S(0) 与 g(1) 构 成 的 平 面 正 交 系 中 求 S(0) 的 共轭方向S(1),以此作为下一步迭代计算的搜索 方向。取S(1)为S(0)与g(1)的线性组合,即
再沿S(2) 进行一维搜索,得 X(3) = X(2) + (2Байду номын сангаас S(2),
如此继续下去,可以求得共轭方向的递推公式 为
S(k+1) = -g(k+1) + ||g(k+1)||2 / ||g(k)||2 S(k)
(k = 0, 1, 2, …, n-1)
沿着这些共轭搜索方向一直搜索下去,直 到最后迭代点处梯度的模小于给定的允许值为 止。若目标函数为非二次函数,经n次搜索还未 达到最优点时,则以最后得到的点作为初始点, 重新计算共轭方向,一直到满足精度要求为止。
的二次性,所以牛顿法在极小点附近收敛速 度较快。但无论是牛顿法还是修正牛顿法在 每次迭代计算时都要计算目标函数的海赛
矩阵及其逆阵,因此计算工作量很大,特别 是矩阵求逆,当维数高时工作量更大,且当 海赛矩阵为奇异阵时,其逆阵不存在,无法 使用牛顿法,所以在实际使用中受到一定限 制。另外,从计算机存储方面考虑,牛顿法 所需要的存储量是很大的。
方向S(j)与正交。共轭梯度法就是利用这个性质 做到不必计算矩阵H就能求得共轭方向的。
1)设初始点X(0) ,第一个搜索方向S(0)取X(0) 点的负梯度方向 -g(0)。即 S(0) = -g(0)
沿S(0)进行一维搜索,得 X(1) = X(0) + (0) S(0), 并计算X(1)点的梯度 g(1) 。
X (k+1) = X (k) - (k) [2 f (X (k)) ]-1 f (X (k)) 阻尼因子: (k)
• 计算步骤及算法框图
1) 任选初始点 X (0) ,给定收敛精度>0, k=0;
2) 计算X (k)点的梯度f (X (k))及其模; 3) 检验终止条件: || f (X (k)) ||≤ ?