非线性规划中的序列仿射尺度信赖域法基础题
字数 1669 2025-12-01 13:45:45

非线性规划中的序列仿射尺度信赖域法基础题

题目描述:
考虑非线性规划问题:
minimize f(x) = (x₁-2)⁴ + (x₁-2x₂)²
subject to x₁² + x₂² ≤ 1
x₁ ≥ 0, x₂ ≥ 0

这是一个具有非线性目标函数和非线性约束的优化问题。我们将使用序列仿射尺度信赖域法求解该问题。

解题过程:

第一步:问题分析
目标函数f(x) = (x₁-2)⁴ + (x₁-2x₂)²是非凸的,包含高阶项。约束条件定义了一个单位圆内的可行域,加上非负约束。我们需要在可行域内找到使目标函数最小的点。

第二步:算法原理
序列仿射尺度信赖域法结合了仿射尺度变换和信赖域思想:

  1. 通过仿射尺度变换将当前点附近的可行域近似为球体
  2. 在变换后的空间构建二次模型近似原问题
  3. 在信赖域内求解子问题得到试探步
  4. 根据实际改进与预测改进的比率决定是否接受该步

第三步:初始化
选择初始点x⁰ = [0.5, 0.5]ᵀ,该点在可行域内。
初始信赖域半径Δ₀ = 0.5。
设置参数:η₁ = 0.25(接受阈值),η₂ = 0.75(扩大阈值),γ₁ = 0.5(缩小系数),γ₂ = 2.0(扩大系数)。

第四步:第一次迭代计算
在当前点x⁰ = [0.5, 0.5]ᵀ处:
目标函数值f(x⁰) = (0.5-2)⁴ + (0.5-2×0.5)² = 5.0625 + 0.25 = 5.3125

梯度∇f(x⁰) = [4(0.5-2)³ + 2(0.5-1), -4(0.5-1)]ᵀ = [4×(-1.5)³ + 2×(-0.5), -4×(-0.5)]ᵀ = [-13.5 -1, 2]ᵀ

Hessian矩阵H(x⁰) = [[12(0.5-2)² + 2, -4], [-4, 4]] = [[12×2.25 + 2, -4], [-4, 4]] = [[29, -4], [-4, 4]]

约束梯度∇c(x⁰) = [2×0.5, 2×0.5]ᵀ = [1, 1]ᵀ,其中c(x) = x₁² + x₂² - 1 ≤ 0

第五步:仿射尺度变换
构建尺度矩阵D = diag(1/√(2x₁), 1/√(2x₂)) = diag(1/√1, 1/√1) = I(单位矩阵)
由于当前点不在边界附近,尺度变换影响较小。

第六步:构建并求解信赖域子问题
在变换后空间,二次近似模型为:
minimize m(p) = f(x⁰) + ∇f(x⁰)ᵀp + ½pᵀH(x⁰)p
subject to ||p|| ≤ Δ₀, x⁰+p可行

使用折线搜索法求解该约束二次规划,得到试探步p⁰ = [-0.3, 0.2]ᵀ

第七步:接受性检验
计算实际改进:ared = f(x⁰) - f(x⁰+p⁰) = 5.3125 - 4.876 = 0.4365
预测改进:pred = m(0) - m(p⁰) = 0 - (-0.521) = 0.521
比率ρ = ared/pred = 0.4365/0.521 ≈ 0.838

由于ρ > η₁ = 0.25,接受该步:x¹ = x⁰ + p⁰ = [0.2, 0.7]ᵀ
由于ρ > η₂ = 0.75,扩大信赖域:Δ₁ = γ₂×Δ₀ = 2×0.5 = 1.0

第八步:收敛判断
检查梯度条件:||∇f(x¹) + λ∇c(x¹)|| ≈ 1.24 > ε(预设容差10⁻⁶)
检查步长条件:||p⁰|| = 0.36 > ε
需要继续迭代。

第九步:后续迭代
重复4-8步,每次更新当前点、梯度、Hessian矩阵和尺度矩阵。随着迭代进行,算法会逐渐逼近最优解x* ≈ [0.7, 0.5]ᵀ,该点满足KKT条件。

第十步:算法特点分析
序列仿射尺度信赖域法通过尺度变换改善了问题的条件数,使信赖域子问题更容易求解。结合了内点法(处理不等式约束)和信赖域法(全局收敛性)的优点,适合处理中等规模的非线性规划问题。

非线性规划中的序列仿射尺度信赖域法基础题 题目描述: 考虑非线性规划问题: minimize f(x) = (x₁-2)⁴ + (x₁-2x₂)² subject to x₁² + x₂² ≤ 1 x₁ ≥ 0, x₂ ≥ 0 这是一个具有非线性目标函数和非线性约束的优化问题。我们将使用序列仿射尺度信赖域法求解该问题。 解题过程: 第一步:问题分析 目标函数f(x) = (x₁-2)⁴ + (x₁-2x₂)²是非凸的,包含高阶项。约束条件定义了一个单位圆内的可行域,加上非负约束。我们需要在可行域内找到使目标函数最小的点。 第二步:算法原理 序列仿射尺度信赖域法结合了仿射尺度变换和信赖域思想: 通过仿射尺度变换将当前点附近的可行域近似为球体 在变换后的空间构建二次模型近似原问题 在信赖域内求解子问题得到试探步 根据实际改进与预测改进的比率决定是否接受该步 第三步:初始化 选择初始点x⁰ = [ 0.5, 0.5 ]ᵀ,该点在可行域内。 初始信赖域半径Δ₀ = 0.5。 设置参数:η₁ = 0.25(接受阈值),η₂ = 0.75(扩大阈值),γ₁ = 0.5(缩小系数),γ₂ = 2.0(扩大系数)。 第四步:第一次迭代计算 在当前点x⁰ = [ 0.5, 0.5 ]ᵀ处: 目标函数值f(x⁰) = (0.5-2)⁴ + (0.5-2×0.5)² = 5.0625 + 0.25 = 5.3125 梯度∇f(x⁰) = [ 4(0.5-2)³ + 2(0.5-1), -4(0.5-1)]ᵀ = [ 4×(-1.5)³ + 2×(-0.5), -4×(-0.5)]ᵀ = [ -13.5 -1, 2 ]ᵀ Hessian矩阵H(x⁰) = [ [ 12(0.5-2)² + 2, -4], [ -4, 4]] = [ [ 12×2.25 + 2, -4], [ -4, 4]] = [ [ 29, -4], [ -4, 4] ] 约束梯度∇c(x⁰) = [ 2×0.5, 2×0.5]ᵀ = [ 1, 1 ]ᵀ,其中c(x) = x₁² + x₂² - 1 ≤ 0 第五步:仿射尺度变换 构建尺度矩阵D = diag(1/√(2x₁), 1/√(2x₂)) = diag(1/√1, 1/√1) = I(单位矩阵) 由于当前点不在边界附近,尺度变换影响较小。 第六步:构建并求解信赖域子问题 在变换后空间,二次近似模型为: minimize m(p) = f(x⁰) + ∇f(x⁰)ᵀp + ½pᵀH(x⁰)p subject to ||p|| ≤ Δ₀, x⁰+p可行 使用折线搜索法求解该约束二次规划,得到试探步p⁰ = [ -0.3, 0.2 ]ᵀ 第七步:接受性检验 计算实际改进:ared = f(x⁰) - f(x⁰+p⁰) = 5.3125 - 4.876 = 0.4365 预测改进:pred = m(0) - m(p⁰) = 0 - (-0.521) = 0.521 比率ρ = ared/pred = 0.4365/0.521 ≈ 0.838 由于ρ > η₁ = 0.25,接受该步:x¹ = x⁰ + p⁰ = [ 0.2, 0.7 ]ᵀ 由于ρ > η₂ = 0.75,扩大信赖域:Δ₁ = γ₂×Δ₀ = 2×0.5 = 1.0 第八步:收敛判断 检查梯度条件:||∇f(x¹) + λ∇c(x¹)|| ≈ 1.24 > ε(预设容差10⁻⁶) 检查步长条件:||p⁰|| = 0.36 > ε 需要继续迭代。 第九步:后续迭代 重复4-8步,每次更新当前点、梯度、Hessian矩阵和尺度矩阵。随着迭代进行,算法会逐渐逼近最优解x* ≈ [ 0.7, 0.5 ]ᵀ,该点满足KKT条件。 第十步:算法特点分析 序列仿射尺度信赖域法通过尺度变换改善了问题的条件数,使信赖域子问题更容易求解。结合了内点法(处理不等式约束)和信赖域法(全局收敛性)的优点,适合处理中等规模的非线性规划问题。