当前位置:文档之家› 第3章 一维最优化

第3章 一维最优化


一维最优化问题: 一维最优化问题:
min s .t .
f ( x) x∈ R
极值点的必要条件: 极值点的必要条件:
f '( x ) = 0
二、 确定搜索区间的方法— 进退法
实际问题 数学模型 数值计算方法
程序设计
上机计算求出结果
数值解法: 数值解法:利用计算机通过反复迭代计 求得实际问题的近似值。 算,求得实际问题的近似值。
[a, b]称为ϕ ( x)的单谷区间。
显然此时x ∗为ϕ ( x)在[a, b]上唯一的极小点。
☺问题:凸函数是不是单谷函数?严格凸函数是 问题:凸函数是不是单谷函数? 不是单谷函数?单谷函数是不是凸函数? 不是单谷函数?单谷函数是不是凸函数?
搜索法求解: 搜索法求解: min ϕ (t)
t≥ 0

b − x1 ≤ ε
停止,输出 停止,输出x2 是


停止,输出 停止,输出x1 以[a,x2]为新的搜索区间 为新的搜索区间
三、黄金分割法
f ( a ) = a 2 − 7a + 10 的初始区间, 的初始区间, 例1:用黄金分割法求
设初始点 。= 1 a,初始步长 h 0 = 0 用进退法确定初始区间: 解:用进退法确定初始区间:
ϕ ( x1 )
x1 x2
3
x
2) 第二轮: 第二轮: x2=1.146, x1=0.708
ϕ
ϕ ( x1 ) = −0.0611 ϕ ( x2 ) = 0.2131
x2-0=1.146>0.5 3) 第三轮: 第三轮: x1=0.438, x2=0.708 0
x1 x2
1.854
x
ϕ
ϕ ( x2 ) = −0.0611 ϕ ( x1 ) = 0.2082
min
t≥ 0
(k)
ϕ (t)

0 ≤ t ≤ t max
min
ϕ (t)
t为实数 为实数
一般一维搜索问题
有效一维搜索问题
二、 确定搜索区间的方 法—进退法
一维搜索问题的算法分类: 一维搜索问题的算法分类: 精确一维搜索(最优一维搜索) 1)精确一维搜索(最优一维搜索) 非精确一维搜索(可接受一维搜索) 2)非精确一维搜索(可接受一维搜索) 1、进退法确定搜索区间的方法 、 在函数的任一单谷区间上必存在一个极小点 极小点, 在函数的任一单谷区间上必存在一个极小点, 而且在极小点的左侧 函数呈下降趋势 左侧, 下降趋势, 而且在极小点的左侧,函数呈下降趋势,在极小 右侧函数呈上升趋势。 点的右侧函数呈上升趋势 点的右侧函数呈上升趋势。 若已知方向S 上的三点x 若已知方向 (k)上的三点 1<x2<x3及其函数 、 和 , 值f(x1)、f(x2)和f(x3),便可通过比较三个函数值的 大小估计出极小点所在的位置,如图5.11所示。 所示。 大小估计出极小点所在的位置,如图 所示
5 −1 缩短比例 ω = ≈ 0.618 2
0.618法 法
0.618法解题步骤: 法解题步骤: 法解题步骤 确定[a,b],计算探索点 计算探索点 确定 x1=a+0.382(b-a) x2=a+0.618(b-a)
ϕ ( x1 ) ≤ ϕ ( x2 )
否 是
x2 − a ≤ ε
以[x1,b]为新的搜索区间 为新的搜索区间
)
(x1 − x2 )(x2 − x3 )(x3 − x1 )
(
)
(
)
a2
(x1 − x 2 ) f (x 3 ) + (x 2 − x 3 ) f (x1 ) + (x 3 − x1 ) f (x 2 ) =− (x1 − x 2 )(x 2 − x 3 )(x 3 − x1 )
a1 xp = − 2a2
假定:已经确定了单谷区间 假定:已经确定了单谷区间[a,b]
min
x≥ 0
ϕ
max
(x )
ϕ
0≤ x≤ x
min
(x )
ϕ ( x2 ) ϕ ( x1 )
a ≤ x≤ b
min
ϕ (x)
ϕ ( x2 )
ϕ ( x1 )
a
x∗
x1 x2
b a
x1 x2
x∗
b
新搜索区间为[a,x2] 新搜索区间为
新搜索区间为[x 新搜索区间为 1,b]
例2: : 求解
min ϕ ( x ) = x 3 − 2 x + 1
x≥0
其中单谷区间 [ 0 ,3 ], 精度 0 . 5
解: 1) 第一轮: 第一轮: x1=1.146, x2=1.854
ϕ
ϕ ( x2 )
ϕ ( x1 ) = 0.2131, ϕ ( x2 ) = 3.6648
x2-0>0.5 0
设二次插值多项式: 设二次插值多项式: f(x) =a0+a1x +a2x2 f(x1) = a0+a1x1 +a2x12 f(x2 )= a0 +a1x2 +a2x22 f(x3) = a0 +a1x3 +a2x32 解得 1 a2 解得a
a1
四、二次插值法
(x =
2
1
2 2 − x 2 f ( x3 ) + x 2 − x 3 f ( x1 ) + x 3 − x12 f ( x2 ) 2 2
区间缩小比例的确定: 区间缩小比例的确定:
ϕ ( x2 ) ϕ ( x1 ) ϕ ( x1 ) ϕ ( x2 )
a
x1 x2
b a
x1 x2
b
区间缩短比例为(x 区间缩短比例为 2-a)/(b-a) 缩短比例 满足: 满足:
缩短比例为(b-x1)/(b-a) 缩短比例为
☺每次插入搜索点使得两个区间[a,x2]和[x1,b]相等; 每次插入搜索点使得两个区间 和 相等; 相等 ☺每次迭代都以相等的比例缩小区间。 每次迭代都以相等的比例缩小区间。
a1 = a0 = 0, f1 = f ( a1 ) = 10
a 2 = a1 + h = 1, f 2 = f ( a 2 ) = 4
比较, 作前进运算: 比较,因 f1 ≥ f 2 作前进运算:
h = 2×h = 2
三、黄金分割法
a3 = a2 + h = 3, f 3 = f ( a3 ) = −3
通常取 P ( x ) − − − 三角函数 或者 多项式函数
→ 三角插值 )
→ 代数插值 ( 或多项式插值
四、二次插值法
1、定义: 定义:
二次插值法又称抛物线法 二次插值法又称抛物线法,它是以目标函数 又称抛物线法, 二次插值函数的极小点作为新的中间插入点 作为新的中间插入点, 的二次插值函数的极小点作为新的中间插入点, 进行区间缩小的一维搜索算法。 进行区间缩小的一维搜索算法。 用f(x)在2 或3 个点的函数值或导数值,构造 在 个点的函数值或导数值, 2 次或 次多项式作为 次或3次多项式作为 次多项式作为f(x)的近似值,以这多项式 的近似值, 的近似值 的极小点为新的迭代点。 的极小点为新的迭代点。 3点2次,2点2次,4点3次,3点3次,2点3次 点 次 点 次 点 次 点 次 点 次 等 次为例: 以3点2次为例: 点 次为例 求出f(x , 取x 1,x 2,x3,求出 1), f(x2), f(x3) ,
因 f 2 ≥ f 3 ,再作前进运算: 再作前进运算:
h = 2×h = 4
故初始搜索区间为: 故初始搜索区间为:
a1 = a2 = 1, f1 = f 2 = 4
a2 = a3 = 3, f 2 = f 3 = −3
a3 = a2 + h = 7 , f 3 = f ( a3 ) = 10
[a,b] = [a1 ,a3 ] = [1,8]
α
x* x1
x2 b
若对任意x 满足: 若对任意 1 ,x2, α≤ x1 < x2 ≤b满足: 满足 1)若x1 ≤ x* ,则φ(x1) > φ(x*); 若 2) 若x2 ≥x* ,则φ(x*) <φ(x2). 则称φ(x)在[α, b] 上强单峰。 强单峰。 则称 在 上述1), 若只有当x 若只有当 1 ≠x* , x2 ≠x* 时,上述 2) 式才 成立,则称φ(x)在[α, b] 上单峰。 单峰。 成立,则称 在
b-x1=1.146-0.438>0.5来自0 x1 x21.416
x
4) 第四轮: 第四轮: x2=0.876, x1=0.708
ϕ
ϕ ( x1 ) = −0.0611 ϕ ( x2 ) = −0.0798
b-x1=1.146-0.708<0.5 0
x1x2
1.416
x
输出:x*=x2=0.876为最优解,最优值为 为最优解, 输出: 为最优解 最优值为-0.0798

0 ≤ t ≤ t max
min
ϕ (t)
2、基本过程: 、基本过程: 使得x 称为搜索区间 ☺给出[a,b],使得 *在[a,b]中。[a,b]称为搜索区间。 给出 使得 中 称为搜索区间。 ☺迭代缩短[a,b]的长度。 的长度。 迭代缩短 的长度 的长度小于某个预设的值, ☺当[a,b]的长度小于某个预设的值,或者导数的绝 的长度小于某个预设的值 对值小于某个预设的正数,则迭代终止。 对值小于某个预设的正数,则迭代终止。
xp
1 (x = 2 (x
四、二次插值法
2
1 1
2 2 − x 2 f (x3 ) + x 2 − x 3 f (x1 ) + x 3 − x12 f (x2 ) 2 2
α x1 x* x2 b 强单峰
相关主题