非线性规划中的信赖域方法
让我从基础概念开始为您详细讲解这个重要的数值优化方法。
-
基本思想与直觉理解
信赖域方法的核心思想是:在每次迭代时,在当前点x_k周围定义一个"可信赖"的区域(即信赖域),在这个区域内用一个简单的模型(通常是二次模型)来近似原始复杂的目标函数。然后在这个区域内求解简化模型的极小值点,作为下一步的候选点。 -
数学模型构建
考虑无约束非线性规划问题:min f(x),其中f: R^n → R是二次连续可微函数。
在点x_k处的二次近似模型为:
m_k(p) = f(x_k) + ∇f(x_k)^T p + 1/2 p^T B_k p
其中p是步长,B_k是Hessian矩阵∇²f(x_k)或其近似。
信赖域子问题为:
min m_k(p)
s.t. ||p|| ≤ Δ_k
其中Δ_k > 0是当前信赖域半径。
- 关键组件详解
3.1 信赖域半径调整策略
信赖域半径Δ_k的动态调整是方法的核心。定义实际下降量:
Δf_k = f(x_k) - f(x_k + p_k)
和预测下降量:
Δm_k = m_k(0) - m_k(p_k)
比值ρ_k = Δf_k / Δm_k 衡量模型近似质量:
- ρ_k接近1:模型拟合良好,可增大信赖域
- ρ_k为正但较小:模型一般,保持信赖域
- ρ_k为负或接近0:模型较差,需缩小信赖域
3.2 子问题求解算法
信赖域子问题是带范数约束的二次规划。常用求解方法包括:
- 狗腿法(Dogleg):在最速下降方向和牛顿方向间折衷
- 二维子空间最小化:在二维子空间内精确求解
- 精确解计算:通过求解信赖域边界上的方程得到
-
完整算法流程
步骤1:初始化x_0, Δ_0 > 0, 参数0 < η_1 ≤ η_2 < 1, 0 < γ_1 ≤ γ_2 < 1
步骤2:对于k=0,1,2,...直到收敛
a. 求解信赖域子问题得p_k
b. 计算比值ρ_k = Δf_k / Δm_k
c. 更新迭代点:
如果ρ_k > η_1:x_{k+1} = x_k + p_k
否则:x_{k+1} = x_k
d. 调整信赖域半径:
如果ρ_k > η_2:Δ_{k+1} = γ_2 Δ_k
如果η_1 ≤ ρ_k ≤ η_2:Δ_{k+1} = Δ_k
如果ρ_k < η_1:Δ_{k+1} = γ_1 Δ_k -
收敛性分析
在适当条件下,信赖域方法具有全局收敛性:
- 如果B_k一致有界,则lim inf ||∇f(x_k)|| = 0
- 如果Hessian矩阵 Lipschitz连续且B_k逼近∇²f(x_k),则收敛速度是超线性的
- 实际应用考虑
- 初始半径选择:通常基于函数变化幅度或梯度信息
- 参数设置:典型值为η_1=0.25, η_2=0.75, γ_1=0.5, γ_2=2
- 与线搜索方法对比:信赖域方法在处理病态问题时通常更稳定
- 扩展变体
- 自适应信赖域:根据函数曲率自适应调整半径
- 非精确求解:子问题只需满足一定下降条件,不必精确求解
- 结构化问题:针对特殊问题结构设计的高效变体
这种方法在训练神经网络、工程优化等领域有广泛应用,特别适合处理高度非线性和病态问题。