非线性规划概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
Armijo 准 则 和 Wolfe 准 则
§ Armijo 准 则: 如果步长 α 不满足下式
T f (xk + αdk ) ≤ f (xk ) + c1 α∇fk dk ,
令 α = βα, 其中 β ∈ (0, 1). § Wolfe 准 则: 步长 α 满足下式 f (xk + αk dk ) ∇f (xk + αk dk )T dk 其中 0 < c1 < c2 < 1.
定理. αk 收敛到 α∗ , 收敛速度的阶为 1.32.
还有三次插值法, 不再赘述.
18
下降算法基本框架
Step 1.
取初始点 x0 , 精度 ϵ 以及相关参数, 令 k = 0. Step 2. 计算 dk . 步长 αk 由精确搜索或者非精确搜索产生. 令 xk+1 = xk + αk dk . k = k + 1. Step 3. 若 ∥gk ∥ < ϵ (或者 ∥xk − xk−1 ∥ < ϵ), 算法停止, 最优解为 xk . 否则, 转步2.
19
梯度下降法
定理: 假设梯度下降法产生的迭代点 xk 收敛到 x∗ , 则 x∗ 满 足 ∇f (x∗ ) = 0 (无论是精确搜索或者非精确搜索).
T 定理: 对严格凸二次函数 f (x) = 1 x Gx, 精确线搜索下的梯度下降 2 法线性收敛. 对算法产生的迭代点列 {xk }, √ ∗ ∗ ( ) ∥xk+1 − x ∥ λn − λ1 λn fk+1 − f (x ) λ1 − λn 2 ≤ , ≤ , ∗ ∗ fk − f (x ) λ1 + λn ∥xk − x ∥ λ1 + λn λ1
17
因此线搜索解为 α
∗ 2 2 2 2 2 2 1 (α2 − α3 )ϕ(α1 ) + (α3 − α1 )ϕ(α2 ) + (α1 − α2 )ϕ(α3 ) b = − = . 2a 2 (α2 − α3 )ϕ(α1 ) + (α3 − α1 )ϕ(α2 ) + (α1 − α2 )ϕ(α3 )
1
非线性规划概述
杨卫红 复旦大学数学科学学院
Email:whyang@
2014年
2
Outline
• 基础知识回顾 • 牛顿法 • 非线性规划标准型 • 线搜索 • 信赖域算法
3
非线性规划标准型
§ 无约束优化 min s.t. § 有约束非线性规划 min s.t. f (x) ci (x) = 0, i ∈ E , cj (x) ≥ 0, j ∈ I , 其中 f , ci , i ∈ E ∪ I , 为连续可微函数. f (x) x ∈ Rn .
4
• 我们称 f 为目标函数, ci , i ∈ E ∪ I , 为约束函数. • ci (x) = 0 称为等式约束; cj (x) ≥ 0 称为不等式约束. • 集合 Ω = {x | ci (x) = 0, i ∈ E ; cj (x) ≥ 0, j ∈ I} 称为可行域. 假设非空. • 点 x ∈ Ω 称为可行解. • 点 x∗ ∈ Ω 满足 f (x∗ ) ≤ f (x), ∀x ∈ Ω, 则称 x∗ 为整体最优解. • 如果存在 x∗ 的一个邻域 N 使得 f (x∗ ) ≤ f (x), ∀x ∈ N ∩ Ω, 则称 为 x∗ 为局部最优解.
2 aα1 + bα1 + c = ϕ(α1 ), 2 aα2 + bα2 + c = ϕ(α2 ), 2 aα3 + bα3 + c = ϕ(α3 ).
2 2 2 2 2 2 (α2 − α3 )ϕ(α1 ) + (α3 − α1 )ϕ(α2 ) + (α1 − α2 )ϕ(α3 ) . (α1 − α2 )(α2 − α3 )(α3 − α1 )
T ≤ f (xk ) + c1 αk ∇fk dk , T dk , ≥ c2 ∇fk
13
转化为一维问题
已知迭代点 xk , 下降方向 dk . 令 ϕ(α) = f (xk + αdk ), ∀α ≥ 0. 则 ϕ(0) = f (xk ), dT k ∇f (xk + αdk )∇f (xk ) < 0.
线性收敛 ∥xk+1 − x∗ ∥ ≤ C < 1, ∗ ∥xk − x ∥ 超线性收敛 ∥xk+1 − x∗ ∥ = 0, lim ∗ k→+∞ ∥xk − x ∥ 二次收敛 ∥xk+1 − x∗ ∥ ≤ C, ∥xk − x∗ ∥2 或者 |f (xk+1 ) − f (x∗ )| = C. |f (xk ) − f (x∗ )|2 或者 |f (xk+1 ) − f (x∗ )| lim = 0. ∗ k→+∞ |f (xk ) − f (x )| 或者 |f (xk+1 ) − f (x∗ )| ≤ C < 1. ∗ |f (xk ) − f (x )|
b =
15
因此线搜索解为 α∗ b 1 ϕ′ (α1 )(α1 − α2 )2 = − = α1 + , 2a 2 ϕ(α1 ) − ϕ(α2 ) − ϕ′ (α1 )(α1 − α2 ) ϕ′ (α1 )(α1 − α2 ) = α1 − [ ]. ϕ ( α ) − ϕ ( α ) 1 2 2 ϕ′ (α1 ) − α1 −α2 ϕ′ (αk )(αk − αk−1 )
21
牛顿法
考虑 f 在 xk 点的二阶逼近 mk (p): 1 T mk (p) := f (xk + p) = fk + gk p + pT Gk p. 2 假设 Gk 正定, 极小化上面问题的最优性条件为 Gk p = −gk . 可得最优解为
1 pN = −G− k gk .
也就是牛顿方向.
如何保持算法的收敛性, 还有如何合理选择区域 ∆ 的大小成为关键.
26
信赖域法
§ 信赖域模型的目标函数为 mk (p) = fk +
5
算法基本框架
§ 基本算法 Step 1. 取初始点 x0 以及相关参数, 令 k = 0. Step 2. 验证停止准则. Step 3. 计算下一个迭代步 xk+1 = A(xk ). k = k + 1, 转步2.
§ 一个好的初始点, 好的停止准则对算法的收敛速度有着非常重要的 作用.
6
收敛速度
线搜索方法
当前迭代点 xk , 下降方向 dk , 迭代步 xk+1 = xk + αk dk , 其中 αk 由两种方式确定. § 精确线搜索: αk = arg min f (xk + αdk ).
α≥ 0
§ 非精确线搜索: 步长 α 满足充分下降条件 f (xk + αdk ) ≤ f (xk ) + c1 αdT k ∇f (xk ), 其中 c1 ∈ (0, 1). 同时为了收敛速度, α 不能太小. 为了 α 能充分大, 一 般取 c1 = 10−4 .
其中 λ1 和 λn 分别为正定矩阵 G 的最小和最大特征值.
20
梯度下降法的几个特点
§ 梯度下降法的收敛速度比较慢. 一般用在算法初始阶段. § 极小化凸二次函数, 如果 λn ≫ λ1 , 梯度下降法几乎不下降. § 梯度下降法受 G 的条件数影响极大. § 每一步只需计算 ∇f (x), 适合大规模优化问题. § 可以适当选取正定矩阵 Bk , 使得迭代 xk+1 = xk − αBk ∇f (xk ) 收 敛加速.
24
牛顿法的几个特点
§ 牛顿法极小化二次函数 f (x) = xT Ax/2 + bT x + c, 一步就得到最 优解. 也就是 x∗ = xk + pN k . § 牛顿法不怕矩阵 A 条件数变差. § 牛顿法的主要计算量在于:
(1) 海森矩阵 ∇2 f (x) 的形成.
的计算. 需要求解线性方程组 Gk pN k = −gk . 矩阵阶 数立方阶的计算量.
假设当前一维搜索点为 αk , 下一步为 αk+1 = αk − [ 2 ϕ′ (αk ) −
ϕ(αk )−ϕ(αk−1 ) ] αk −αk−1
.
定理. αk 收敛到 α∗ , 收敛速度的阶为 1.618.
16
三点二次插值
利用 α1 , α2 , α3 三点处的函数值 ϕ(α1 ), ϕ(α2 ), ϕ(α3 ) 构造二次函 数 q (α) 满足 q (α1 ) = q (α2 ) = q (α3 ) = 解上述方程组得 a b = − = (α2 − α3 )ϕ(α1 ) + (α3 − α1 )ϕ(α2 ) + (α1 − α2 )ϕ(α3 ) , (α1 − α2 )(α2 − α3 )(α3 − α1 )
ci (x∗ ) = λi (x∗ )ci (x∗ ) =
0, ∀i ∈ E , 0 ∀j ∈ I .
cj (x∗ ) ≥ 0, ∀j ∈ I ,
上面的最优性条件又称为 KKT 条件, 或库恩塔克条件.
8
下降方向
采用记号 fk = f (xk ), gk = ∇f (xk ), g (x) = ∇f (x), Gk = ∇2 f (xk ), G(x) = ∇2 f (x). 假设方向 d ∈ Rn 满足 dT ∇f (x) < 0, 我们称 d 为 f 在 x 点的下降方向. 原因: f (x + αd) = f (x) + αdT ∇f (x) + o(α). 当 α 充分小时, f (x + αd) < f (x).
10
算法分类
§ 无 导 数算 法 又称作零阶方法 不能用导数信息, 收敛速度比较慢. § 梯度 类法 又称作二阶方法 只能用导数信息, 不能用海森矩阵等二阶信息, 一般线性收敛. § 牛顿 类法 又称作一阶方法 只近能用导数信息, 还能用海森矩阵等二阶信息, 可以做到超线性收 敛甚至二次收敛.
11
7
最优性条件
定理. 假设 f 连续可微. 如果 x∗ 是无约束优化问题的局部最优解, 则 ∇f (x∗ ) = 0. 定理. 假设目标和约束函数连续可微. 如果 x∗ 是有约束优化问题的局 部最优解, 则存在 λ∗ 使得 ∑ ∗ ∇f (x ) − λi (x∗ )∇ci (x∗ ) = 0,
i∈E∪I
9
各种算法
梯度 下 降法 (线性收敛) dk = −gk . 牛顿 法 (二次收敛)
1 dk = −G− k gk .
拟牛 顿 法 (超线性收敛)
−1 dk = −Bk gk ,
其中
T Bk sk sT B y y k k Bk+1 = Bk − T k + T k, sk Bk sk sk yk sk = xk+1 − xk , yk = gk+1 − gk .
(2) 牛顿方向 pN k
当矩阵阶数很大时, 计算量非常大.
25
如果 f 不是凸函数, f 在 xk 点的二阶逼近 mk (p) 没有下界. 牛顿步定 义失效.
−1 同时 ∇2 f (x) 为不定矩阵. 此时牛顿方向 pN = − G k k gk 不是下降方 向.
补救方法: 在一个有界区域内极小化 min s.t. mk (p) ∥p∥ ≤ ∆.
14
两点二次插值
重要线搜索技术: 假设知道信息 ϕ(α1 ), ϕ′ (α1 ), ϕ(α2 ). 需要确定二次函数 q (α) 满足 q (α1 ) = ϕ(α1 ), q ′ (α1 ) = ϕ′ (α1 ), q (α2 ) = ϕ(α2 ). 令 q (α) = aα2 + bα + c. 得 a = ϕ(α1 ) − ϕ(α2 ) − ϕ′ (α1 )(α1 − α2 ) , 2 −(α1 − α2 ) ϕ(α1 ) − ϕ(α2 ) − ϕ′ (α1 )(α1 − α2 ) ′ ϕ (α1 ) + 2 α1 . 2 (α1 − α2 )
22
求解线性方程组
牛顿法的关键: 计算牛顿方向 ∇2 f (x)pN = −∇f (x). 假设 ∇2 f (x) 正定.
23
牛顿法的几个特点
§ 牛顿迭代 xk+1 = xk + pN k . 上面的步长取标准步长 1, 一般称作标准牛顿法. § 标准牛顿法局部收敛, 不是整体收敛. § 标准牛顿法局部二阶收敛, 速度快精度高. § 如果 xk+1 = xk + αk pN k 步长 αk 按照其他规则选取, 称作阻尼牛顿 法. 二阶收敛不再成立.