非线性规划中的内点反射信赖域-拟牛顿混合算法基础题
字数 5976 2025-12-14 08:19:41

非线性规划中的内点反射信赖域-拟牛顿混合算法基础题

题目描述
考虑一个带有不等式约束的非线性规划问题:

\[\begin{aligned} \min_{x \in \mathbb{R}^n} \quad & f(x) \\ \text{s.t.} \quad & c_i(x) \ge 0, \quad i = 1, 2, \dots, m \end{aligned} \]

其中目标函数 \(f: \mathbb{R}^n \to \mathbb{R}\) 和约束函数 \(c_i: \mathbb{R}^n \to \mathbb{R}\) 均为二阶连续可微,且 \(m\) 可能很大。假设约束函数满足约束规范(如线性独立约束规范)。本题目要求设计并分析一种混合优化算法,该算法将内点法的障碍函数思想、反射变换以保持在可行域内部、信赖域框架的全局收敛性保证,以及拟牛顿法(如BFGS)对Hessian矩阵的近似更新相结合,用于高效求解该问题。该混合算法需在每一步迭代中:

  1. 通过障碍函数将约束问题转化为一系列无约束子问题。
  2. 在子问题求解中使用反射变换确保迭代点严格满足不等式约束(即始终在可行域内部)。
  3. 在信赖域框架下构建局部二次模型,并利用拟牛顿法更新近似Hessian,避免计算精确二阶导数。
  4. 设计合适的接受准则和信赖域半径更新策略,保证全局收敛。

请详细解释该混合算法的每一步,包括数学模型构建、迭代格式、关键参数更新,并讨论其收敛性。


解题过程

第一步:问题重构与障碍函数法

原始问题包含不等式约束 \(c_i(x) \ge 0\)。内点法通过引入障碍函数,将约束问题转化为一系列无约束问题。这里使用对数障碍函数,对于障碍参数 \(\mu > 0\)

\[\Phi(x; \mu) = f(x) - \mu \sum_{i=1}^{m} \ln(c_i(x)) \]

\(\mu \to 0\) 时,\(\Phi(x; \mu)\) 的最优解趋近于原始问题的最优解。算法将从某个初始 \(\mu_0 > 0\) 开始,在每次迭代后减小 \(\mu\)(例如 \(\mu_{k+1} = \sigma \mu_k\),其中 \(\sigma \in (0,1)\)),逐步逼近原始解。

关键点:为确保 \(\ln(c_i(x))\) 有意义,必须始终保持 \(c_i(x) > 0\),即迭代点严格可行。这通过后续的反射变换实现。


第二步:反射变换确保严格可行性

给定当前迭代点 \(x_k\) 满足 \(c_i(x_k) > 0\),在计算搜索方向时,可能尝试的步长会使点靠近约束边界。为防止越界,对变量进行反射变换。定义变换 \(y = T(x)\),其中 \(y\) 为“反射变量”,使得在 \(y\) 空间中优化时,对应回 \(x\) 空间总能满足 \(c_i(x) > 0\)

一种常用方式是对数障碍的天然效应:障碍函数在边界处趋于无穷,但为增强数值稳定性,可结合投影反射。简单起见,本算法采用以下策略:在每一步求解子问题时,我们直接约束步长,使得新点 \(x_{k+1}\) 满足 \(c_i(x_{k+1}) \ge \epsilon > 0\)(其中 \(\epsilon\) 是一个小的正数,如 \(10^{-6}\))。这可通过在信赖域子问题中添加线性化约束来实现,但更简便的方法是:如果试探步导致 \(c_i(x_{\text{trial}}) \le \epsilon\),则缩短步长反射试探点。

具体反射操作:设试探步为 \(d\)\(x_{\text{trial}} = x_k + d\)。若存在 \(i\) 使 \(c_i(x_{\text{trial}}) \le \epsilon\),则定义边界法向量方向的反射。但更实用的方法是:在计算障碍函数梯度时,我们已经用到 \(1/c_i(x)\),当 \(c_i(x)\) 很小时,梯度会很大,自动阻碍越界。因此,实际上反射机制可理解为:在优化过程中,由于障碍函数的惩罚,算法自然远离边界,而反射作为一种安全保障,可在试探点太靠近边界时,将其“推回”可行域内部。在实现中,可简单采用截断:若 \(c_i(x_{\text{trial}}) < \epsilon\),则设置 \(c_i(x_{\text{trial}}) = \epsilon\) 并重新计算步长,但更严谨的方法是:

定义松弛变量 \(s_i = c_i(x)\),并要求 \(s_i \ge 0 \。内点法将 \( s_i\) 显式作为变量,并在搜索方向计算中通过线性化约束确保 \(s_i \ge 0\)。本算法采用内点反射:当 \(s_i\) 接近零时,在 Newton 方程中对应分量会被反射(即改变符号)以保持正性,这等价于在原始空间对 \(x\) 进行微小调整。然而,为简化,本题目中我们不显式引入松弛变量,而是通过障碍函数和信赖域约束共同保证可行性。

实现方式:在信赖域子问题中,我们使用当前点 \(x_k\) 处的线性化约束近似:
\(c_i(x_k) + \nabla c_i(x_k)^T d \ge \epsilon\)
这确保了在步长 \(d\) 内,约束仍满足严格正性。该线性约束与信赖域约束 \(\|d\| \le \Delta_k\) 一起构成子问题。


第三步:构建拟牛顿-信赖域子问题

在当前点 \(x_k\) 和当前障碍参数 \(\mu\) 下,我们最小化障碍函数 \(\Phi(x; \mu)\)。在 \(x_k\) 处,构建二次模型:

\[m_k(d) = \Phi(x_k; \mu) + \nabla \Phi(x_k; \mu)^T d + \frac{1}{2} d^T B_k d \]

其中:

  • \(\nabla \Phi(x_k; \mu) = \nabla f(x_k) - \mu \sum_{i=1}^{m} \frac{\nabla c_i(x_k)}{c_i(x_k)}\)
  • \(B_k \in \mathbb{R}^{n \times n}\) 是对 Hessian \(\nabla^2 \Phi(x_k; \mu)\)拟牛顿近似,采用 BFGS 更新。

BFGS 更新公式(注意这里是针对障碍函数 \(\Phi\) 的近似 Hessian):
\(s_k = x_{k+1} - x_k\)\(y_k = \nabla \Phi(x_{k+1}; \mu) - \nabla \Phi(x_k; \mu)\)
\(s_k^T y_k > 0\)(曲率条件),则更新:

\[B_{k+1} = B_k - \frac{B_k s_k s_k^T B_k}{s_k^T B_k s_k} + \frac{y_k y_k^T}{s_k^T y_k} \]

否则,\(B_{k+1} = B_k\)(不更新)。

信赖域子问题

\[\begin{aligned} \min_{d \in \mathbb{R}^n} \quad & m_k(d) \\ \text{s.t.} \quad & \|d\| \le \Delta_k, \\ & c_i(x_k) + \nabla c_i(x_k)^T d \ge \epsilon, \quad i=1,\dots,m \end{aligned} \]

其中 \(\Delta_k > 0\) 是信赖域半径,\(\epsilon > 0\) 是一个小的正数(如 \(10^{-6}\))确保严格可行性。

该子问题是带有线性不等式约束的二次约束二次规划,但由于约束简单,可用投影梯度法积极集法在信赖域内快速求解。


第四步:接受试探步与更新信赖域半径

设子问题解为 \(d_k\),计算实际下降量 \(\text{ared}_k = \Phi(x_k; \mu) - \Phi(x_k + d_k; \mu)\) 和预测下降量 \(\text{pred}_k = m_k(0) - m_k(d_k)\)
定义比值 \(\rho_k = \frac{\text{ared}_k}{\text{pred}_k}\)

更新规则:

  • \(\rho_k \ge \eta_1\)(例如 \(\eta_1 = 0.01\)),接受试探步:\(x_{k+1} = x_k + d_k\)
  • 否则,拒绝试探步:\(x_{k+1} = x_k\)

信赖域半径更新(标准策略):

  • 如果 \(\rho_k < \eta_1\),减小半径:\(\Delta_{k+1} = \gamma_1 \Delta_k\)(例如 \(\gamma_1 = 0.25\))。
  • 如果 \(\rho_k \ge \eta_1\)\(\|d_k\| < \gamma_2 \Delta_k\)(例如 \(\gamma_2 = 0.9\)),保持半径:\(\Delta_{k+1} = \Delta_k\)
  • 如果 \(\rho_k \ge \eta_2\)(例如 \(\eta_2 = 0.75\))且 \(\|d_k\| = \Delta_k\),增大半径:\(\Delta_{k+1} = \gamma_3 \Delta_k\)(例如 \(\gamma_3 = 2\))。

注意:在更新 \(x_{k+1}\) 后,需验证是否满足 \(c_i(x_{k+1}) > 0\)。若不满足(由于线性化误差),需减小步长或采用反射调整,直到满足。实际中,由于线性约束 \(c_i(x_k) + \nabla c_i(x_k)^T d \ge \epsilon\) 和足够小的 \(\Delta_k\),通常能保证。


第五步:障碍参数 \(\mu\) 的更新

在每次成功迭代若干步后(或当 \(\| \nabla \Phi(x_k; \mu) \|\) 足够小),减小障碍参数:

\[\mu_{k+1} = \sigma \mu_k, \quad \sigma \in (0,1) \text{(例如 } \sigma = 0.1 \text{)} \]

更新 \(\mu\) 后,需重新计算梯度 \(\nabla \Phi(x; \mu)\) 并可能重置拟牛顿矩阵 \(B_k\)(或继续使用当前 \(B_k\),但需注意函数变化)。


第六步:算法流程

  1. 初始化:选择初始点 \(x_0\) 满足 \(c_i(x_0) > 0\),初始障碍参数 \(\mu_0 > 0\),初始信赖域半径 \(\Delta_0 > 0\),初始拟牛顿矩阵 \(B_0 = I\)(单位阵),设定常数 \(\sigma, \eta_1, \eta_2, \gamma_1, \gamma_2, \gamma_3, \epsilon\),以及收敛容差 \(\tau > 0\)
  2. 循环(对于 \(k=0,1,2,\dots\)):
    a. 计算当前障碍函数梯度 \(\nabla \Phi(x_k; \mu)\)
    b. 如果 \(\| \nabla \Phi(x_k; \mu) \| \le \tau\)\(\mu \le \tau\),则终止(近似满足 KKT 条件)。
    c. 如果 \(\| \nabla \Phi(x_k; \mu) \| \le \sqrt{\mu}\),则更新障碍参数:\(\mu = \sigma \mu\)
    d. 构建二次模型 \(m_k(d)\) 并求解信赖域子问题(带线性化约束 \(c_i(x_k) + \nabla c_i(x_k)^T d \ge \epsilon\)\(\|d\| \le \Delta_k\)),得到 \(d_k\)
    e. 计算实际下降与预测下降之比 \(\rho_k\)
    f. 根据 \(\rho_k\) 决定是否接受 \(d_k\) 并更新 \(x_{k+1}\)\(\Delta_{k+1}\)
    g. 若接受 \(d_k\),则用 BFGS 公式更新 \(B_{k+1}\)(需满足曲率条件)。
  3. 输出最终解 \(x_k\)

第七步:收敛性分析要点

  1. 全局收敛:由于信赖域框架保证每次迭代要么接受步长并减少目标,要么缩短半径,且障碍函数在可行域内下有界,算法能产生迭代点列使得 \(\| \nabla \Phi(x_k; \mu) \| \to 0\)\(\mu \to 0\)。结合障碍参数减小策略,序列的极限点满足原始问题的 KKT 条件。
  2. 局部超线性收敛:如果 \(B_k\) 通过 BFGS 更新且最终逼近真实 Hessian,在接近解时算法等效于牛顿型内点法,可达到超线性收敛。但需注意约束规范与严格互补条件。
  3. 内点性保持:线性化约束 \(c_i(x_k) + \nabla c_i(x_k)^T d \ge \epsilon\) 确保子问题解满足严格可行性,且通过反射/缩短步长,迭代点始终满足 \(c_i(x_k) > 0\)

总结
本算法结合了内点法(处理不等式约束)、反射思想(保持严格可行)、拟牛顿法(近似二阶信息)和信赖域法(全局收敛),适用于中等规模、约束函数光滑的非线性规划。关键实现点在于信赖域子问题的构建与求解,以及障碍参数、信赖域半径的协调更新。

非线性规划中的内点反射信赖域-拟牛顿混合算法基础题 题目描述 考虑一个带有不等式约束的非线性规划问题: $$ \begin{aligned} \min_ {x \in \mathbb{R}^n} \quad & f(x) \\ \text{s.t.} \quad & c_ i(x) \ge 0, \quad i = 1, 2, \dots, m \end{aligned} $$ 其中目标函数 \( f: \mathbb{R}^n \to \mathbb{R} \) 和约束函数 \( c_ i: \mathbb{R}^n \to \mathbb{R} \) 均为二阶连续可微,且 \( m \) 可能很大。假设约束函数满足约束规范(如线性独立约束规范)。本题目要求设计并分析一种混合优化算法,该算法 将内点法的障碍函数思想、反射变换以保持在可行域内部、信赖域框架的全局收敛性保证,以及拟牛顿法(如BFGS)对Hessian矩阵的近似更新 相结合,用于高效求解该问题。该混合算法需在每一步迭代中: 通过障碍函数将约束问题转化为一系列无约束子问题。 在子问题求解中使用 反射变换 确保迭代点严格满足不等式约束(即始终在可行域内部)。 在信赖域框架下构建局部二次模型,并利用 拟牛顿法更新近似Hessian ,避免计算精确二阶导数。 设计合适的接受准则和信赖域半径更新策略,保证全局收敛。 请详细解释该混合算法的每一步,包括数学模型构建、迭代格式、关键参数更新,并讨论其收敛性。 解题过程 第一步:问题重构与障碍函数法 原始问题包含不等式约束 \( c_ i(x) \ge 0 \)。内点法通过引入障碍函数,将约束问题转化为一系列无约束问题。这里使用 对数障碍函数 ,对于障碍参数 \( \mu > 0 \): $$ \Phi(x; \mu) = f(x) - \mu \sum_ {i=1}^{m} \ln(c_ i(x)) $$ 当 \( \mu \to 0 \) 时,\( \Phi(x; \mu) \) 的最优解趋近于原始问题的最优解。算法将从某个初始 \( \mu_ 0 > 0 \) 开始,在每次迭代后减小 \( \mu \)(例如 \( \mu_ {k+1} = \sigma \mu_ k \),其中 \( \sigma \in (0,1) \)),逐步逼近原始解。 关键点 :为确保 \( \ln(c_ i(x)) \) 有意义,必须始终保持 \( c_ i(x) > 0 \),即迭代点严格可行。这通过后续的 反射变换 实现。 第二步:反射变换确保严格可行性 给定当前迭代点 \( x_ k \) 满足 \( c_ i(x_ k) > 0 \),在计算搜索方向时,可能尝试的步长会使点靠近约束边界。为 防止越界 ,对变量进行反射变换。定义变换 \( y = T(x) \),其中 \( y \) 为“反射变量”,使得在 \( y \) 空间中优化时,对应回 \( x \) 空间总能满足 \( c_ i(x) > 0 \)。 一种常用方式是 对数障碍的天然效应 :障碍函数在边界处趋于无穷,但为增强数值稳定性,可结合 投影反射 。简单起见,本算法采用以下策略:在每一步求解子问题时,我们 直接约束步长 ,使得新点 \( x_ {k+1} \) 满足 \( c_ i(x_ {k+1}) \ge \epsilon > 0 \)(其中 \( \epsilon \) 是一个小的正数,如 \( 10^{-6} \))。这可通过在信赖域子问题中添加线性化约束来实现,但更简便的方法是:如果试探步导致 \( c_ i(x_ {\text{trial}}) \le \epsilon \),则 缩短步长 或 反射 试探点。 具体反射操作:设试探步为 \( d \),\( x_ {\text{trial}} = x_ k + d \)。若存在 \( i \) 使 \( c_ i(x_ {\text{trial}}) \le \epsilon \),则定义边界法向量方向的反射。但更实用的方法是:在计算障碍函数梯度时,我们已经用到 \( 1/c_ i(x) \),当 \( c_ i(x) \) 很小时,梯度会很大,自动阻碍越界。因此,实际上 反射机制 可理解为:在优化过程中,由于障碍函数的惩罚,算法自然远离边界,而反射作为一种安全保障,可在试探点太靠近边界时,将其“推回”可行域内部。在实现中,可简单采用截断:若 \( c_ i(x_ {\text{trial}}) < \epsilon \),则设置 \( c_ i(x_ {\text{trial}}) = \epsilon \) 并重新计算步长,但更严谨的方法是: 定义松弛变量 \( s_ i = c_ i(x) \),并要求 \( s_ i \ge 0 \。内点法将 \( s_ i \) 显式作为变量,并在搜索方向计算中通过线性化约束确保 \( s_ i \ge 0 \)。本算法采用 内点反射 :当 \( s_ i \) 接近零时,在 Newton 方程中对应分量会被反射(即改变符号)以保持正性,这等价于在原始空间对 \( x \) 进行微小调整。然而,为简化,本题目中我们 不显式引入松弛变量 ,而是通过障碍函数和信赖域约束共同保证可行性。 实现方式 :在信赖域子问题中,我们使用当前点 \( x_ k \) 处的线性化约束近似: \( c_ i(x_ k) + \nabla c_ i(x_ k)^T d \ge \epsilon \)。 这确保了在步长 \( d \) 内,约束仍满足严格正性。该线性约束与信赖域约束 \( \|d\| \le \Delta_ k \) 一起构成子问题。 第三步:构建拟牛顿-信赖域子问题 在当前点 \( x_ k \) 和当前障碍参数 \( \mu \) 下,我们最小化障碍函数 \( \Phi(x; \mu) \)。在 \( x_ k \) 处,构建二次模型: $$ m_ k(d) = \Phi(x_ k; \mu) + \nabla \Phi(x_ k; \mu)^T d + \frac{1}{2} d^T B_ k d $$ 其中: \( \nabla \Phi(x_ k; \mu) = \nabla f(x_ k) - \mu \sum_ {i=1}^{m} \frac{\nabla c_ i(x_ k)}{c_ i(x_ k)} \) \( B_ k \in \mathbb{R}^{n \times n} \) 是对 Hessian \( \nabla^2 \Phi(x_ k; \mu) \) 的 拟牛顿近似 ,采用 BFGS 更新。 BFGS 更新公式(注意这里是针对障碍函数 \( \Phi \) 的近似 Hessian): 令 \( s_ k = x_ {k+1} - x_ k \),\( y_ k = \nabla \Phi(x_ {k+1}; \mu) - \nabla \Phi(x_ k; \mu) \)。 若 \( s_ k^T y_ k > 0 \)(曲率条件),则更新: $$ B_ {k+1} = B_ k - \frac{B_ k s_ k s_ k^T B_ k}{s_ k^T B_ k s_ k} + \frac{y_ k y_ k^T}{s_ k^T y_ k} $$ 否则,\( B_ {k+1} = B_ k \)(不更新)。 信赖域子问题 : $$ \begin{aligned} \min_ {d \in \mathbb{R}^n} \quad & m_ k(d) \\ \text{s.t.} \quad & \|d\| \le \Delta_ k, \\ & c_ i(x_ k) + \nabla c_ i(x_ k)^T d \ge \epsilon, \quad i=1,\dots,m \end{aligned} $$ 其中 \( \Delta_ k > 0 \) 是信赖域半径,\( \epsilon > 0 \) 是一个小的正数(如 \( 10^{-6} \))确保严格可行性。 该子问题是带有线性不等式约束的二次约束二次规划,但由于约束简单,可用 投影梯度法 或 积极集法 在信赖域内快速求解。 第四步:接受试探步与更新信赖域半径 设子问题解为 \( d_ k \),计算实际下降量 \( \text{ared}_ k = \Phi(x_ k; \mu) - \Phi(x_ k + d_ k; \mu) \) 和预测下降量 \( \text{pred}_ k = m_ k(0) - m_ k(d_ k) \)。 定义比值 \( \rho_ k = \frac{\text{ared}_ k}{\text{pred}_ k} \)。 更新规则: 若 \( \rho_ k \ge \eta_ 1 \)(例如 \( \eta_ 1 = 0.01 \)),接受试探步:\( x_ {k+1} = x_ k + d_ k \)。 否则,拒绝试探步:\( x_ {k+1} = x_ k \)。 信赖域半径更新(标准策略): 如果 \( \rho_ k < \eta_ 1 \),减小半径:\( \Delta_ {k+1} = \gamma_ 1 \Delta_ k \)(例如 \( \gamma_ 1 = 0.25 \))。 如果 \( \rho_ k \ge \eta_ 1 \) 且 \( \|d_ k\| < \gamma_ 2 \Delta_ k \)(例如 \( \gamma_ 2 = 0.9 \)),保持半径:\( \Delta_ {k+1} = \Delta_ k \)。 如果 \( \rho_ k \ge \eta_ 2 \)(例如 \( \eta_ 2 = 0.75 \))且 \( \|d_ k\| = \Delta_ k \),增大半径:\( \Delta_ {k+1} = \gamma_ 3 \Delta_ k \)(例如 \( \gamma_ 3 = 2 \))。 注意 :在更新 \( x_ {k+1} \) 后,需验证是否满足 \( c_ i(x_ {k+1}) > 0 \)。若不满足(由于线性化误差),需减小步长或采用反射调整,直到满足。实际中,由于线性约束 \( c_ i(x_ k) + \nabla c_ i(x_ k)^T d \ge \epsilon \) 和足够小的 \( \Delta_ k \),通常能保证。 第五步:障碍参数 \( \mu \) 的更新 在每次成功迭代若干步后(或当 \( \| \nabla \Phi(x_ k; \mu) \| \) 足够小),减小障碍参数: $$ \mu_ {k+1} = \sigma \mu_ k, \quad \sigma \in (0,1) \text{(例如 } \sigma = 0.1 \text{)} $$ 更新 \( \mu \) 后,需重新计算梯度 \( \nabla \Phi(x; \mu) \) 并可能重置拟牛顿矩阵 \( B_ k \)(或继续使用当前 \( B_ k \),但需注意函数变化)。 第六步:算法流程 初始化 :选择初始点 \( x_ 0 \) 满足 \( c_ i(x_ 0) > 0 \),初始障碍参数 \( \mu_ 0 > 0 \),初始信赖域半径 \( \Delta_ 0 > 0 \),初始拟牛顿矩阵 \( B_ 0 = I \)(单位阵),设定常数 \( \sigma, \eta_ 1, \eta_ 2, \gamma_ 1, \gamma_ 2, \gamma_ 3, \epsilon \),以及收敛容差 \( \tau > 0 \)。 循环 (对于 \( k=0,1,2,\dots \)): a. 计算当前障碍函数梯度 \( \nabla \Phi(x_ k; \mu) \)。 b. 如果 \( \| \nabla \Phi(x_ k; \mu) \| \le \tau \) 且 \( \mu \le \tau \),则 终止 (近似满足 KKT 条件)。 c. 如果 \( \| \nabla \Phi(x_ k; \mu) \| \le \sqrt{\mu} \),则更新障碍参数:\( \mu = \sigma \mu \)。 d. 构建二次模型 \( m_ k(d) \) 并求解信赖域子问题(带线性化约束 \( c_ i(x_ k) + \nabla c_ i(x_ k)^T d \ge \epsilon \) 和 \( \|d\| \le \Delta_ k \)),得到 \( d_ k \)。 e. 计算实际下降与预测下降之比 \( \rho_ k \)。 f. 根据 \( \rho_ k \) 决定是否接受 \( d_ k \) 并更新 \( x_ {k+1} \) 与 \( \Delta_ {k+1} \)。 g. 若接受 \( d_ k \),则用 BFGS 公式更新 \( B_ {k+1} \)(需满足曲率条件)。 输出最终解 \( x_ k \)。 第七步:收敛性分析要点 全局收敛 :由于信赖域框架保证每次迭代要么接受步长并减少目标,要么缩短半径,且障碍函数在可行域内下有界,算法能产生迭代点列使得 \( \| \nabla \Phi(x_ k; \mu) \| \to 0 \) 当 \( \mu \to 0 \)。结合障碍参数减小策略,序列的极限点满足原始问题的 KKT 条件。 局部超线性收敛 :如果 \( B_ k \) 通过 BFGS 更新且最终逼近真实 Hessian,在接近解时算法等效于牛顿型内点法,可达到超线性收敛。但需注意约束规范与严格互补条件。 内点性保持 :线性化约束 \( c_ i(x_ k) + \nabla c_ i(x_ k)^T d \ge \epsilon \) 确保子问题解满足严格可行性,且通过反射/缩短步长,迭代点始终满足 \( c_ i(x_ k) > 0 \)。 总结 本算法结合了内点法(处理不等式约束)、反射思想(保持严格可行)、拟牛顿法(近似二阶信息)和信赖域法(全局收敛),适用于中等规模、约束函数光滑的非线性规划。关键实现点在于信赖域子问题的构建与求解,以及障碍参数、信赖域半径的协调更新。