广义既约梯度法
广义既约梯度法(Generalized Reduced Gradient Method,GRG)是求解非线性规划问题的一种有效算法,尤其适用于含等式约束和边界约束的优化问题。下面我将从基础概念到算法细节逐步讲解。
第一步:问题形式与核心思想
GRG法处理的标准形式为:
\[\min f(\mathbf{x}) \quad \text{s.t.} \quad \mathbf{h}(\mathbf{x}) = \mathbf{0}, \quad \mathbf{l} \leq \mathbf{x} \leq \mathbf{u}, \]
其中 \(f: \mathbb{R}^n \to \mathbb{R}\) 和 \(\mathbf{h}: \mathbb{R}^n \to \mathbb{R}^m\) 为连续可微函数,且 \(m < n\)。核心思想是通过等式约束消去部分变量,将问题降维至一个仅含边界约束的子问题中迭代求解。其名称中的“广义”指它能处理非线性约束,“既约梯度”表示在降维空间定义的梯度概念。
第二步:变量划分与既约梯度构造
- 变量划分:将变量分为基本变量 \(\mathbf{x}_B \in \mathbb{R}^m\) 和非基本变量 \(\mathbf{x}_N \in \mathbb{R}^{n-m}\)。需保证雅可比矩阵 \(\nabla_\mathbf{B} \mathbf{h}(\mathbf{x})\) 非奇异(通过数值选择避免奇异性)。
- 隐函数求导:利用等式约束 \(\mathbf{h}(\mathbf{x}_B, \mathbf{x}_N) = \mathbf{0}\),通过隐函数定理,将 \(\mathbf{x}_B\) 视为 \(\mathbf{x}_N\) 的函数,即 \(\mathbf{x}_B = \mathbf{x}_B(\mathbf{x}_N)\)。
- 既约梯度计算:将目标函数写作 \(f(\mathbf{x}_B(\mathbf{x}_N), \mathbf{x}_N)\),对其求导得既约梯度:
\[ \nabla_r f = \nabla_N f - (\nabla_B f)^T (\nabla_B \mathbf{h})^{-1} \nabla_N \mathbf{h}, \]
其中 \(\nabla_B f\) 和 \(\nabla_N f\) 分别表示目标函数对基本变量和非基本变量的梯度,\(\nabla_B \mathbf{h}\) 和 \(\nabla_N \mathbf{h}\) 为约束雅可比矩阵的对应分块。
第三步:算法流程与迭代步骤
- 初始化:选择可行点 \(\mathbf{x}^0\)(需满足 \(\mathbf{h}(\mathbf{x}^0) = \mathbf{0}\)),设定容忍度 \(\epsilon > 0\)。
- 主循环:
- 步骤1:变量划分:检测当前变量的活跃边界约束(如 \(x_i = l_i\) 或 \(x_i = u_i\)),将非活跃变量优先选入 \(\mathbf{x}_N\) 以保持自由度。
- 步骤2:既约梯度计算:按上述公式计算 \(\nabla_r f\)。
- 步骤3:搜索方向生成:在非基本变量空间沿既约梯度负方向或投影方向(考虑边界约束)确定搜索方向 \(\mathbf{d}_N\):
\[ d_{N,i} = \begin{cases} -\frac{\partial f_r}{\partial x_{N,i}} & \text{若 } l_i < x_{N,i} < u_i \\ \max(0, -\frac{\partial f_r}{\partial x_{N,i}}) & \text{若 } x_{N,i} = l_i \\ \min(0, -\frac{\partial f_r}{\partial x_{N,i}}) & \text{若 } x_{N,i} = u_i \end{cases}. \]
- 步骤4:步长选择与校正:
- 沿 \(\mathbf{d}_N\) 进行一维搜索(如Armijo准则),更新非基本变量 \(\mathbf{x}_N^{k+1} = \mathbf{x}_N^k + \alpha \mathbf{d}_N\)。
- 通过牛顿法校正基本变量:求解 \(\mathbf{h}(\mathbf{x}_B, \mathbf{x}_N^{k+1}) = \mathbf{0}\) 得到 \(\mathbf{x}_B^{k+1}\)(需保证校正后满足边界约束)。
- 步骤5:收敛判断:若 \(\|\nabla_r f\| < \epsilon\),停止;否则返回步骤1。
第四步:关键技术与扩展
- 可行点维护:GRG法始终在可行域内迭代,校正步骤是关键。若牛顿法不收敛,需缩小步长重新校正。
- 边界处理:当变量触及边界时,将其固定为常数,并调整变量划分(类似积极集方法)。
- 扩展应用:GRG法可结合准牛顿法近似Hessian矩阵提升收敛速度,也可处理不等式约束(通过引入松弛变量转为等式形式)。
总结:广义既约梯度法通过变量降维和可行方向搜索,将复杂约束问题转化为序列低维子问题。其优势在于保持可行性和全局收敛性,但依赖初始可行点且校正步骤可能增加计算成本。理解GRG法有助于掌握约束优化中的降维技术与可行路径方法。