第七章非线性规划第二节一维搜索(1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 非线性规划
第二节 一维搜索 在迭代法中确定搜索步长 需要一维搜索:
一维搜索要求沿射线 X(k+1)=X(k)+ λkP(k) 搜索,使目标函数 f(X)
极小:
k:min f ( X (k ) P (k ) )
一维搜索是求解一元函数的无约束极值问题 min F ( ) R
的数值解法。它是求解n元函数的无约束极值问题
长度为 4 的区间缩短到 1 需要插入 4 个点。
长度为 3 的区间缩短到 1 需要插入 3 个点。
F3 =3:插入 3 个点可使长度缩短为 1 的最大原区间长度为 3
长度为 5 的区间需要插入几个点才能缩短为 1?
中间点
①
对称搜索法
0
2
5
3
3
5
5
区间缩小为 3,然后可采取长度为 3 的插入方法再插入3个点
中间点 ①②
0
a1 b1
2
中间点-ε 中间点+ε
[a,b1]
[a1,b]
ε足够小,缩小后的区间可接近原区间的一半
长度为 2 的区间缩短到 1 需要插入 2 个点。
长度为 3 的区间需要插入几个点才能缩短为 1? 对称搜索法
中间点 中间点
①
0
② 1③
2
3
3
3
2 区间缩小为 2,可采取区间长度为 2 的插入方法 缩小后的区间可接近 1
1. 递推公式 令 Fn 表示计算 n 个函数值能将区间长度缩短为 1 的最大原区 间长度,则 F0 =1:因为不计算任何函数值不能够使区间缩小,故原区 间长度必须是 1 。 F1=1:因为每次要缩小搜索区间都要计算两次函数值,而只 计算一次函数值无法将区间缩短,故原区间长度必须是 1。
下面来讨论长度为 2 个单位长度的区间需要插入几个点才能缩短为 1 。
长度为 3 的区间缩短到 1 需要插入 3 个点。 长度为 2 的区间缩短到 1 需要插入 2 个点。
F2 =2:插入 2 个点可使长度缩短为 1 的最大原区间长度为 2
长度为 4 的区间需要插入几个点才能缩短为 1?
对称搜索法
中间点
①
0
1
4
3
4
4
3 区间缩小为 3,然后可采取长度为 3 的插入方法再插入3个点
a a3 b3 b
第四次在新的 [a,b] 内插入一点同 上次保留下来的点值 比较,从而使搜索区间
进一步缩小:
假设f(a4) >f(b4)
a a4 b4 b
按照上述方法,随着计算函数值次数的增加,区间变得越 来越小,从而越接近极小点。 因此:区间缩短率和函数值计算次数之间存在一定的关系。
下面来讨论区间缩短率和函数值计算次数之间的关系。
一定在 t 的右端
f(a1) < f(b1),极小点 t* 必在区间 [a , b1] 内。
可也在可t 在的左t 的端右端
x
a a1b1 t* b1
b
一定在 t 的左端
f(a1) ≥ f(b1),极小点 t* 必 在区间 [a1 , b] 内
只要在区间 [a , b]内任取两个不同点,并算出它们的函数值 加以比较,就可以把搜索区间缩小为 [a1 , b] 或 [a , b1] 。 要进一步缩小搜索区间,只需在缩小后的区间内再取一点 ,并与 f(a1)或 f(b1)比较函数值大小。
0
a1
b1
2
[a,b1]
[a1,b]
[a,b1]+[a1,b] > [a,b]
说明缩小后的区间一般要大于原区间的一半
但是可以把计算函数值的点选得尽量靠近[a,b]的中点,对于长度为2 的单位长度的区间,缩短后的区间长度等于单位长度的(1+ε)倍, 从而使缩短后的区间长度接近于1个单位长度。
对称搜索法
(
X
0
0
p0
)
min 0
f
(
X
0
min
0
F0 ( )
f ( X 2 ) f ( X 1) f (X 0 )
p0 )
f (X k )
Xk X
f (X2)
f
(
X
1
1
p1
)
min
0
f
(
X
1
p1
)
min
0
F1 ( )
一维搜索
考虑一元函数极小化问题:min F ( ) R
思想: 首先定出一个包含 F() 的极小点的区间,然后不 断缩小区间的长度,当区间充分小时,取其中的一点 作为近似极小点。
在区间 [a , b]内任取两点 a1 和 b1 ,a1 < b1,并计算函数值
f(a1) 和 f(b1),可能出现两种情况:
f(a1) < f(b1), b1一定在 t*的右端。
f(x)
f(a1) ≥ f(b1), a1一定在 t*的左端 。
f(x)
也可在可在t 的t 左的端右端
x a a1 t* a1 b1 b
第一次插入两个点:
假设f(a1) < f(b1) a
a1
b1
b
第二次在新的 [a,b] 内插入一点同 上次保留下来的点值 比较,从而使搜索区 间进一步缩小:
ቤተ መጻሕፍቲ ባይዱ
假设f(a2) >f(b2)
a
a2 b2
b
第三次在新的 [a,b] 内插入一点同 上次保留下来的点值 比较,从而使搜索区间
进一步缩小:
假设f(a3) <f(b3)
长度为 5 的区间缩短到 1 也只需要插入 4 个点。
长度为 6 的区间需要插入几个点才能缩短为 1?
中间点
①
0
2
6
4
4
6
6
区间缩小为 4,然后可采取长度为 4的插入方法再插入4个点
长度为 6 的区间缩短到 1 需要插入 5 个点。
长度为 7 的区间需要插入几个点才能缩短为 1?
min f ( X ) 的重要组成部分。
XRn
p0 X 0
X 0 p0
0
一维搜索性质:在搜索方向上所得到的最优点处的梯度和该 搜索方向正交。
min F( ) R
min f ( X )
XRn
p1 f ( X 1 )
X 2 X 1 1 p1
p0 f ( X 0 ) 搜索方向
f
(X1)
f
X 0 0 X 0 0 p0 X 1
主要方法:(1)斐波那契法 (2)0.618法
一、斐波那契法(分数法)
设 y=f(x) 是区间 [a , b] 上的下单峰函数,在此区间 内,有唯一极小点 t *。
单峰函数:在定义域内只有一个极值点的连续函数。 下单峰函数:在定义域内只有一个极小值点的连续函数。 在区间 [a , t*] 中严格单调下降,而在区间 [t* , b] 中严格单调上升,则称为 区间 [a , b] 上的下单峰函数。 上单峰函数:在定义域内只有一个极大值点的连续函数。 在区间 [a , t*] 中严格单调上升,而在区间 [t* , b] 中严格单调下降,则称为 区间 [a , b] 上的上单峰函数。
第二节 一维搜索 在迭代法中确定搜索步长 需要一维搜索:
一维搜索要求沿射线 X(k+1)=X(k)+ λkP(k) 搜索,使目标函数 f(X)
极小:
k:min f ( X (k ) P (k ) )
一维搜索是求解一元函数的无约束极值问题 min F ( ) R
的数值解法。它是求解n元函数的无约束极值问题
长度为 4 的区间缩短到 1 需要插入 4 个点。
长度为 3 的区间缩短到 1 需要插入 3 个点。
F3 =3:插入 3 个点可使长度缩短为 1 的最大原区间长度为 3
长度为 5 的区间需要插入几个点才能缩短为 1?
中间点
①
对称搜索法
0
2
5
3
3
5
5
区间缩小为 3,然后可采取长度为 3 的插入方法再插入3个点
中间点 ①②
0
a1 b1
2
中间点-ε 中间点+ε
[a,b1]
[a1,b]
ε足够小,缩小后的区间可接近原区间的一半
长度为 2 的区间缩短到 1 需要插入 2 个点。
长度为 3 的区间需要插入几个点才能缩短为 1? 对称搜索法
中间点 中间点
①
0
② 1③
2
3
3
3
2 区间缩小为 2,可采取区间长度为 2 的插入方法 缩小后的区间可接近 1
1. 递推公式 令 Fn 表示计算 n 个函数值能将区间长度缩短为 1 的最大原区 间长度,则 F0 =1:因为不计算任何函数值不能够使区间缩小,故原区 间长度必须是 1 。 F1=1:因为每次要缩小搜索区间都要计算两次函数值,而只 计算一次函数值无法将区间缩短,故原区间长度必须是 1。
下面来讨论长度为 2 个单位长度的区间需要插入几个点才能缩短为 1 。
长度为 3 的区间缩短到 1 需要插入 3 个点。 长度为 2 的区间缩短到 1 需要插入 2 个点。
F2 =2:插入 2 个点可使长度缩短为 1 的最大原区间长度为 2
长度为 4 的区间需要插入几个点才能缩短为 1?
对称搜索法
中间点
①
0
1
4
3
4
4
3 区间缩小为 3,然后可采取长度为 3 的插入方法再插入3个点
a a3 b3 b
第四次在新的 [a,b] 内插入一点同 上次保留下来的点值 比较,从而使搜索区间
进一步缩小:
假设f(a4) >f(b4)
a a4 b4 b
按照上述方法,随着计算函数值次数的增加,区间变得越 来越小,从而越接近极小点。 因此:区间缩短率和函数值计算次数之间存在一定的关系。
下面来讨论区间缩短率和函数值计算次数之间的关系。
一定在 t 的右端
f(a1) < f(b1),极小点 t* 必在区间 [a , b1] 内。
可也在可t 在的左t 的端右端
x
a a1b1 t* b1
b
一定在 t 的左端
f(a1) ≥ f(b1),极小点 t* 必 在区间 [a1 , b] 内
只要在区间 [a , b]内任取两个不同点,并算出它们的函数值 加以比较,就可以把搜索区间缩小为 [a1 , b] 或 [a , b1] 。 要进一步缩小搜索区间,只需在缩小后的区间内再取一点 ,并与 f(a1)或 f(b1)比较函数值大小。
0
a1
b1
2
[a,b1]
[a1,b]
[a,b1]+[a1,b] > [a,b]
说明缩小后的区间一般要大于原区间的一半
但是可以把计算函数值的点选得尽量靠近[a,b]的中点,对于长度为2 的单位长度的区间,缩短后的区间长度等于单位长度的(1+ε)倍, 从而使缩短后的区间长度接近于1个单位长度。
对称搜索法
(
X
0
0
p0
)
min 0
f
(
X
0
min
0
F0 ( )
f ( X 2 ) f ( X 1) f (X 0 )
p0 )
f (X k )
Xk X
f (X2)
f
(
X
1
1
p1
)
min
0
f
(
X
1
p1
)
min
0
F1 ( )
一维搜索
考虑一元函数极小化问题:min F ( ) R
思想: 首先定出一个包含 F() 的极小点的区间,然后不 断缩小区间的长度,当区间充分小时,取其中的一点 作为近似极小点。
在区间 [a , b]内任取两点 a1 和 b1 ,a1 < b1,并计算函数值
f(a1) 和 f(b1),可能出现两种情况:
f(a1) < f(b1), b1一定在 t*的右端。
f(x)
f(a1) ≥ f(b1), a1一定在 t*的左端 。
f(x)
也可在可在t 的t 左的端右端
x a a1 t* a1 b1 b
第一次插入两个点:
假设f(a1) < f(b1) a
a1
b1
b
第二次在新的 [a,b] 内插入一点同 上次保留下来的点值 比较,从而使搜索区 间进一步缩小:
ቤተ መጻሕፍቲ ባይዱ
假设f(a2) >f(b2)
a
a2 b2
b
第三次在新的 [a,b] 内插入一点同 上次保留下来的点值 比较,从而使搜索区间
进一步缩小:
假设f(a3) <f(b3)
长度为 5 的区间缩短到 1 也只需要插入 4 个点。
长度为 6 的区间需要插入几个点才能缩短为 1?
中间点
①
0
2
6
4
4
6
6
区间缩小为 4,然后可采取长度为 4的插入方法再插入4个点
长度为 6 的区间缩短到 1 需要插入 5 个点。
长度为 7 的区间需要插入几个点才能缩短为 1?
min f ( X ) 的重要组成部分。
XRn
p0 X 0
X 0 p0
0
一维搜索性质:在搜索方向上所得到的最优点处的梯度和该 搜索方向正交。
min F( ) R
min f ( X )
XRn
p1 f ( X 1 )
X 2 X 1 1 p1
p0 f ( X 0 ) 搜索方向
f
(X1)
f
X 0 0 X 0 0 p0 X 1
主要方法:(1)斐波那契法 (2)0.618法
一、斐波那契法(分数法)
设 y=f(x) 是区间 [a , b] 上的下单峰函数,在此区间 内,有唯一极小点 t *。
单峰函数:在定义域内只有一个极值点的连续函数。 下单峰函数:在定义域内只有一个极小值点的连续函数。 在区间 [a , t*] 中严格单调下降,而在区间 [t* , b] 中严格单调上升,则称为 区间 [a , b] 上的下单峰函数。 上单峰函数:在定义域内只有一个极大值点的连续函数。 在区间 [a , t*] 中严格单调上升,而在区间 [t* , b] 中严格单调下降,则称为 区间 [a , b] 上的上单峰函数。