当前位置:
文档之家› 信赖域算法---非线性优化问题
信赖域算法---非线性优化问题
xk sk , if •rk 1 xk 1 . or xk Step5. 校正信赖域半径,令
k 1 (0, 1 k ) k 1 ( 1 k , k ) if rk 1,转步骤3; if rk [1 , 2 ),转步骤6; if rk 2,转步骤6.
机械最优化设计课程
THU DAE
机械最优化设计作业
—信赖域方法
THU DAE
1
机械最优化设计课程
THU DAE
1.信赖域方法的综述
信赖域法和线性搜索方法是求解非线性优化问题的两 类主要的数值方法。信赖域法也是一种迭代算法,即从给 定的初始解出发,通过逐步迭代,不断改进,直到获得满 意的近似最优解为止。 特点:思想新颖,具有可靠性、有效性和很强的收敛 性。与线性搜索方法相比,信赖域方法直接通过模型求解 得到试探步长,而不是先确定搜索方向,再寻找步长。 线搜索方向可以看成是信赖域半径充分大时的信赖域 步;而信赖域方法得出的信赖步可看成是将二次逼近模型 加上一个惩罚项之后所导致的线搜索方向。
T
.
10
机械最优化设计课程
N 折线x1 C.P. xTHU k 1称为单折线。 DAE
解信赖域子问题
k gk ( 1 ) s k时,sk ( k 1时Cauchy 点); gk 2
c k c (2) sk k时,再计算牛顿步 skN:
2.1 如果 skN 2.2 如果 skN
1 1 0.01, 2 0.75, 1 0.5, 2 2, 0 1,或者 0 g0 . 10
8
机械最优化设计课程
THU DAE
解信赖域子问题
信赖域方法在每步迭代中求解下列形式的子问题:
1 T (k) T min q ( s) f ( xk ) g k s s Bk s (2) 2 s.t. s 2 k f ( xk )为目标函数, s x xk , gk f ( xk ) Rn , Bk 其中, k为信赖域半径, S为待求 2 f ( xk ) Rnn或者其近似, 变量。当 k 变化时,S的解形成一条空间曲线,称为最优 曲线。 Powell[1970]给出了求解(2)的单折线法,当Bk 可逆时。 用连接初始点、S0及S1 的单折线近似最优曲线,在折线上 * 取点 S * 使得 S k 作为(2)的解Sk 。
2 2
k k
12
机械最优化设计课程
THU DAE
数值实验
min f ( x) 100( x2 x12 )2 (1 x1 )2
选(1.2,1 )为初始点,与其他方 法做对比:
方法
信赖域 共轭方向 变尺度
迭代次数
8 16 32
函数值误差 最优点误差
1.2*e^(-13) 9.4*e^(-9) 9.4*e^(-9) 7.8*e^(-7) 1.5*e^(-5) 1.5*e^(-5)
13
机械最优化设计课程
THU DAE
14
机械最优化设计课程
THU DAE
对步长接收准则的讨论
单调 非单调
15
2
机械最优化设计课程
THU DAE
基本思想
在每次迭代中给出一个信赖域,这个信赖域一般是当 前迭代点 的一个小邻域。然后在这个邻域内求解一个子问 题,得到试探步长(trial step) ,接着用某一评价函数来决 定是否接受该试探步长以及决定下一次迭代的信赖域。 如果试探步长被接受,则: xk 1 xk sk , 否则, xk 1 xk 。 新的信赖域的大小取决于试探步长的好坏,粗略地说,如 果试探步长较好,在下一步信赖域扩大或保持不变,否则 下一步减小信赖域。
9
机械最优化设计课程
THU DAE
解信赖域子问题
其中s1是Cauchy点(由最速下降法产生 的极小点); s2是牛顿点 (由牛顿方法产生的极 小点xkN1)。
c s1 sk k g k , s2 skN Bk1 g k , k
gT gk k g k Bk g k
3
机械最优化设计课程
THU DAE
算法模型
设当前点 xk 的邻域定义为:
k x R, x xk k
( 1 )
其中, k 称为信赖域半径。 利用二次逼近,构造如下信赖域子问题: 1 T (k) T min q ( s) f ( xk ) g k s s Bk s (2) 2 s.t. s 2 k 其中,f ( xk )为目标函数, s x xk , gk f ( xk ) Rn , Bk
7
k 1 [ k , min{ 2 k , }]
机械最优化设计课程
THU DAE
信赖域算法
Step6. 令k=k+1,转Step2.
0 , 0 1 2 1,0 1 1 2 , k 0.
很成功迭代:rk 2,k 1 k ,信赖域扩大; ; 成功迭代: rk [1 ,2 ),信赖域维持不变 不成功迭代:rk 1 ,信赖域缩小。 算法参数选择:
6
机械最优化设计课程
THU DAE
信赖域算法
Step1. 给出初始点 x0 ,信赖域半径的上界 ,0 (0, ), 0 , 0 1 2 1,0 1 1 2 , k 0. Step2. 计算 g k ,如果 gk ,停止;否则,计算Bk 1 。 Step3. (近似)求解子问题(2),得到sk 。 Step4. 计算 f ( xk sk )和rk ,令
定义比值:
Aredk rk . Pr edk
它衡量了二次模型与目标函数的逼近程度 rk越接近于1, 表明接近程度越好。因此用它来确定下次迭代的信赖域半 径。
5
机械最优化设计课程
THU DAE
信赖域半径的选择
(1)rk 越接近于1,表明接近程度越好,这时可以增大 k 以扩大信赖域; (2)rk >0但是不接近于1,保持 k 不变; (3)如果 rk 接近于0,减小 k ,缩小信赖域。 或者其他 k 的选择方法(后面介绍)。
2 f ( xk ) Rnn或者其近似。
4
机械最优化设计课程
THU DAE
算法模型
设sk 是信赖域子问题(2)的解,定义目标函数第k步 的真实下降量为: Aredk f ( xk ) - f ( xk sk )
(k) 称二次模型函数 q (s) 的下降量为预测下降量:
Predk q(k) (0) - q(k) (sk )
2 2
k,则sk skN;
c c k,则sk sk ( skN sk ),
其中,为方程:
c c sk ( skN sk ) k的解。
11
机械最优化设计课程
THU DAE
解信赖域子问题
综上所述: k gk c x , 当 s k k k g k 2 c c c xk 1 xk sk ( skN sk ),当 sk k 且 skN 1 c N x B g , 当 s 且 s k k k k k k