最优化方法第三章(1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
转⑤;否则转④。
④置 t1 t0 ,1 0 ,t0 t2 ,0 2 ,h 2h 。
⑤计算 t2 t0 h ,2 (t2 ) 。若 2 0 ,则转⑥;
否则转④。
⑥置 a min{t1, t2} , b max{ t1 , t2 } ([a, b] 即为 搜索区间),计算结束。
1. 搜索区间的确定
在以下讨论中,总假定一元函数 (t) 是单谷函数。
定义3.1 设 : L R1 R1 ,t* 是 (t) 在L上的全局
极小点。如果对于Lwk.baidu.com任意的两点 t1,t2 t1 t2 ,当 t2 t *
时,(t1 ) (t2 ) ;当 t1 t * 时,(t1 ) (t2 ) ,那么称(t)
(3.5)算出的作为下一次迭代的初始步长是合适的。在
实际计算中,当 k 较小时,相应的 可取得小些,而随
着的 k 增大,相应的 可取得接近1。
a
2. 直线搜索的方法
(1)黄金分割法 黄金分割法属于区间收缩法。它适用于任何单谷函
数求极小值问题。对函数除“单谷”外,不作其它要求, 甚至可以不连续。因此这种方法的适用面相当广。
3.1 直线搜索
直线搜索(一维搜索)是指求解如下一元函数极小化
问题
min (t )
(3.3)
的迭代方法,其中 : R1 R1 。
在微积分中,解决问题(3.3)的范围一般限于方程
(t) 0 (3.4)
可以直接解出的情况。而这里介绍的直线搜索对 不作
严格的要求。当然,对于可以求出导数的情况,相应的求
显然,单谷函数的定义域区间是搜索区间。 单谷函数的性质。
定理3.1 设 {a, b}是单谷函数(t)极小点的一个搜索区
间。在 (a, b) 内任取两点 t1,t2 t1 t2 ,若 (t1 ) (t2 ) ,则
{a, t2 } 是(t) 极小点的一个搜索区间;若 (t1 ) (t2 ) ,则 {t1, b} 是 (t) 极小点的一个搜索区间。
解方法一般也会简单些。
直线搜索,理论上,分为精确的和不精确的。
精确的直线搜索方法主要分为两类:一类为区间收缩
法,另一类为函数逼近法。本节将相应地介绍两种常用的
精确的直线搜索方法:适用于一般函数的黄金分割法和适
用于一般连续函数的抛物线插值法。最后还将介绍实用的
不精确一维搜索技术。
精确的直线搜索算法的实现通常是在所谓的搜索区间 上进行的
黄金分割法的思想是:在每次迭代中,合理地设置两
个插入点的位置,以使得在计算函数值次数同样多的条件 下,将区间缩小得最快。
设区间 [a,b] 的长为1。在距点 a 分
别为 和
为了确定
的地方插入 t1和 t2。
和 ,提出以下条
件:
第一,希望 t1 和 t2在 [a,b]中的位置是对称的。按这
一条件,有
at1 t2b
即
1 .
(3.6)
这样无论删去哪一段,总保留长为 的区间。
第二,删掉一段,例如删掉[t2 , b] ,在保留下来的区间
在里[再a,插b]入中一的个位点置具t3有,相使同得的t比3 , t例1 ,在从[a而, t2保] 中证的每位次置迭与代都t1,能t2
以同一比率 缩小区间。按这一条件,有
是区间L上的单谷函数。
下图给出了单谷函数的基本图形。
定义3.2 设 : L R1 R1 , t * 是 (t) 在L上的
全局极小点。如果能够找到 t1 , t2 L ,使得 t* [t1,t2 ], 那么闭区间 [t1 , t2 ] 就称为 (t) 极小点的一个搜索区间, 记为{t1, t2}。搜索区间有时也记作{t1, t3, t2},其中 t1 t3 t2
上述过程开始时,必须选定初试点 t0 和步长 h。对于
任意给定的 (t),一般来说,无固定选取模式。
但对于在下降算法模式中所引入的 (t) f (xk tpk )
而言,可选取 t0 等于0(理论上)或接近0(实际计算中)。
而对于 h ,如果选得过小,那么需要迭代许多次才能找到
一个搜索区间;如果选得太大,虽然很少几步就可能把极 小点包括进来,但是这又会给下一步搜索极小点的过程增
从本章起,以后两章将讨论非线性规划问题。本章首 先讨论无约束最优化问题,其一般形式为
min f (x) (3.1) 其中 f : R n R1
求解无约束问题的最优化方法可以分为两大类:一类
是根据目标函数的梯度(即一阶导数),有时还要根据 Hesse矩阵(即二阶导数)提供的信息构造出来的方法— —导数方法。本章介绍其中的最速下降法、Newton法、 共轭梯度法和拟Newton法。另一类是不使用导数,仅仅 利用目标函数值的信息构造出来的方法——直接方法。本 章将介绍其中的步长加速法、方法加速法和单纯形替换法。 两类方法各有利弊。前者收敛速度快,但需要计算梯度, 甚至需要计算Hesse矩阵;后者不涉及导数,适应性强, 但收敛速度慢。一般的经验是,在可以求得目标函数导数 的情况下,尽可能使用导数方法。
at1 at2
at2 ab
即
1
或
2 .
(3.7)
把(3.7)代入(3.6)中,得到关于 的一元二次方程
其合理的根是 5 1 0.618 (3.8)
2
代回(3.6),得
3 5 0.382
2
在古代,人们认为按比率0.618分割线段是最协调的, 胜似黄金,故称黄金分割。因此,上述按比率0.618缩小 搜索区间的迭代方法称为黄金分割法或0.618法。
直线搜索算法的第一步一般得先确定 (t) 的一个
(初始)搜索区间。根据定理3.1,可以给出确定搜索区 间的如下算法。
算法3.1(确定搜索区间) 已知:目标函数 (t)。
①选定初始点 t0和步长 h 。
②计算 0 (t0 ) ,t 2 t0 h ,2 (t2 ) 。
③若 2 0 ,则置 t1 t0 ,1 0 ,h h,
加负担。下面是确定 h 的一种比较合理而有效的方法。
第一次迭代( k 0 ,即从 xv0 到 xv1 的迭代)时,(t)
的初始步长可取为1,或根据问题中出现的数据的数量级
估计选定。而以后各次迭代的初始步长可按公式(3.5)
计算,
其中 0
般比从
xk
1 到
1hx。k的这距x是k离因pkx为xkk1从(xxkk3到.15小)xvk 或1 的接距近离,所xk以1 把xk按一
④置 t1 t0 ,1 0 ,t0 t2 ,0 2 ,h 2h 。
⑤计算 t2 t0 h ,2 (t2 ) 。若 2 0 ,则转⑥;
否则转④。
⑥置 a min{t1, t2} , b max{ t1 , t2 } ([a, b] 即为 搜索区间),计算结束。
1. 搜索区间的确定
在以下讨论中,总假定一元函数 (t) 是单谷函数。
定义3.1 设 : L R1 R1 ,t* 是 (t) 在L上的全局
极小点。如果对于Lwk.baidu.com任意的两点 t1,t2 t1 t2 ,当 t2 t *
时,(t1 ) (t2 ) ;当 t1 t * 时,(t1 ) (t2 ) ,那么称(t)
(3.5)算出的作为下一次迭代的初始步长是合适的。在
实际计算中,当 k 较小时,相应的 可取得小些,而随
着的 k 增大,相应的 可取得接近1。
a
2. 直线搜索的方法
(1)黄金分割法 黄金分割法属于区间收缩法。它适用于任何单谷函
数求极小值问题。对函数除“单谷”外,不作其它要求, 甚至可以不连续。因此这种方法的适用面相当广。
3.1 直线搜索
直线搜索(一维搜索)是指求解如下一元函数极小化
问题
min (t )
(3.3)
的迭代方法,其中 : R1 R1 。
在微积分中,解决问题(3.3)的范围一般限于方程
(t) 0 (3.4)
可以直接解出的情况。而这里介绍的直线搜索对 不作
严格的要求。当然,对于可以求出导数的情况,相应的求
显然,单谷函数的定义域区间是搜索区间。 单谷函数的性质。
定理3.1 设 {a, b}是单谷函数(t)极小点的一个搜索区
间。在 (a, b) 内任取两点 t1,t2 t1 t2 ,若 (t1 ) (t2 ) ,则
{a, t2 } 是(t) 极小点的一个搜索区间;若 (t1 ) (t2 ) ,则 {t1, b} 是 (t) 极小点的一个搜索区间。
解方法一般也会简单些。
直线搜索,理论上,分为精确的和不精确的。
精确的直线搜索方法主要分为两类:一类为区间收缩
法,另一类为函数逼近法。本节将相应地介绍两种常用的
精确的直线搜索方法:适用于一般函数的黄金分割法和适
用于一般连续函数的抛物线插值法。最后还将介绍实用的
不精确一维搜索技术。
精确的直线搜索算法的实现通常是在所谓的搜索区间 上进行的
黄金分割法的思想是:在每次迭代中,合理地设置两
个插入点的位置,以使得在计算函数值次数同样多的条件 下,将区间缩小得最快。
设区间 [a,b] 的长为1。在距点 a 分
别为 和
为了确定
的地方插入 t1和 t2。
和 ,提出以下条
件:
第一,希望 t1 和 t2在 [a,b]中的位置是对称的。按这
一条件,有
at1 t2b
即
1 .
(3.6)
这样无论删去哪一段,总保留长为 的区间。
第二,删掉一段,例如删掉[t2 , b] ,在保留下来的区间
在里[再a,插b]入中一的个位点置具t3有,相使同得的t比3 , t例1 ,在从[a而, t2保] 中证的每位次置迭与代都t1,能t2
以同一比率 缩小区间。按这一条件,有
是区间L上的单谷函数。
下图给出了单谷函数的基本图形。
定义3.2 设 : L R1 R1 , t * 是 (t) 在L上的
全局极小点。如果能够找到 t1 , t2 L ,使得 t* [t1,t2 ], 那么闭区间 [t1 , t2 ] 就称为 (t) 极小点的一个搜索区间, 记为{t1, t2}。搜索区间有时也记作{t1, t3, t2},其中 t1 t3 t2
上述过程开始时,必须选定初试点 t0 和步长 h。对于
任意给定的 (t),一般来说,无固定选取模式。
但对于在下降算法模式中所引入的 (t) f (xk tpk )
而言,可选取 t0 等于0(理论上)或接近0(实际计算中)。
而对于 h ,如果选得过小,那么需要迭代许多次才能找到
一个搜索区间;如果选得太大,虽然很少几步就可能把极 小点包括进来,但是这又会给下一步搜索极小点的过程增
从本章起,以后两章将讨论非线性规划问题。本章首 先讨论无约束最优化问题,其一般形式为
min f (x) (3.1) 其中 f : R n R1
求解无约束问题的最优化方法可以分为两大类:一类
是根据目标函数的梯度(即一阶导数),有时还要根据 Hesse矩阵(即二阶导数)提供的信息构造出来的方法— —导数方法。本章介绍其中的最速下降法、Newton法、 共轭梯度法和拟Newton法。另一类是不使用导数,仅仅 利用目标函数值的信息构造出来的方法——直接方法。本 章将介绍其中的步长加速法、方法加速法和单纯形替换法。 两类方法各有利弊。前者收敛速度快,但需要计算梯度, 甚至需要计算Hesse矩阵;后者不涉及导数,适应性强, 但收敛速度慢。一般的经验是,在可以求得目标函数导数 的情况下,尽可能使用导数方法。
at1 at2
at2 ab
即
1
或
2 .
(3.7)
把(3.7)代入(3.6)中,得到关于 的一元二次方程
其合理的根是 5 1 0.618 (3.8)
2
代回(3.6),得
3 5 0.382
2
在古代,人们认为按比率0.618分割线段是最协调的, 胜似黄金,故称黄金分割。因此,上述按比率0.618缩小 搜索区间的迭代方法称为黄金分割法或0.618法。
直线搜索算法的第一步一般得先确定 (t) 的一个
(初始)搜索区间。根据定理3.1,可以给出确定搜索区 间的如下算法。
算法3.1(确定搜索区间) 已知:目标函数 (t)。
①选定初始点 t0和步长 h 。
②计算 0 (t0 ) ,t 2 t0 h ,2 (t2 ) 。
③若 2 0 ,则置 t1 t0 ,1 0 ,h h,
加负担。下面是确定 h 的一种比较合理而有效的方法。
第一次迭代( k 0 ,即从 xv0 到 xv1 的迭代)时,(t)
的初始步长可取为1,或根据问题中出现的数据的数量级
估计选定。而以后各次迭代的初始步长可按公式(3.5)
计算,
其中 0
般比从
xk
1 到
1hx。k的这距x是k离因pkx为xkk1从(xxkk3到.15小)xvk 或1 的接距近离,所xk以1 把xk按一