最优化 | 二次规划的基础知识理论 | 例题讲解

参考资料

由于在面试中有被问及QP的原理,所以重点来总结一波QP的原理。

1. 二次规划形式

二次规划问题(Quadratic Programming,QP)是一种非线性规划问题,它的目标函数为二次函数,约束条件和线性规划问题的约束条件一样,都是线性等式或线性不等式,即

最优化 | 二次规划的基础知识理论 | 例题讲解

一般二次规划问题可以分成以下几类:

  • 凸二次规划问题:G半正定,问题有全局解
  • 严格凸二次规划问题:G正定,问题有唯一全局解
  • 一般二次规划问题:G不定,问题有稳定点或局部解

二次规划应用广泛,常见的例如有:求最小二乘法,点到多面体的距离,模型预测控制的求解等。

下面我们分别介绍等式约束和不等式约束下的二次规划的求解。

2. 等式约束二次规划问题

等式约束的二次规划问题一般形式如下:

最优化 | 二次规划的基础知识理论 | 例题讲解

其中
最优化 | 二次规划的基础知识理论 | 例题讲解

2.1 变量消去法

1. 示例

变量消去法思路很简单,就是初中时候学过的消元法(当然,抽象之后还是挺高级的)。例如举个小栗子,假设要求解下面这个二次规划问题:

最优化 | 二次规划的基础知识理论 | 例题讲解
消除一个变量最优化 | 二次规划的基础知识理论 | 例题讲解,这样就可以很简单的求解出来:
最优化 | 二次规划的基础知识理论 | 例题讲解

当然我们还可以用拉格朗日法,推导出KKT条件(后面会讲):
最优化 | 二次规划的基础知识理论 | 例题讲解

2. 具体过程

应用变量消去法求解包括以下3个步骤:

  1. 最优化 | 二次规划的基础知识理论 | 例题讲解分成基本变量 最优化 | 二次规划的基础知识理论 | 例题讲解 与非基本变量 最优化 | 二次规划的基础知识理论 | 例题讲解 两部分,利用等式约束将基本变量用非基本变量表示出来;
  2. 再将基本变量带入目标函数,从而消去基本变量,把问题化为一个关于非基本变量的无约束最优化问题;
  3. 最后求解无约束最优化问题的方法解之

具体来说:

最优化 | 二次规划的基础知识理论 | 例题讲解 分块,使其包含一个 最优化 | 二次规划的基础知识理论 | 例题讲解 非奇异矩阵 最优化 | 二次规划的基础知识理论 | 例题讲解 做对应的分块
最优化 | 二次规划的基础知识理论 | 例题讲解

所以等式约束最优化 | 二次规划的基础知识理论 | 例题讲解就转化为:
最优化 | 二次规划的基础知识理论 | 例题讲解

将等式(4)写开得
最优化 | 二次规划的基础知识理论 | 例题讲解
将基本变量用非基本变量表示出来
最优化 | 二次规划的基础知识理论 | 例题讲解

这样原变量就可以写成:
最优化 | 二次规划的基础知识理论 | 例题讲解
即写成了一个类似于 最优化 | 二次规划的基础知识理论 | 例题讲解 的形式,这样我们将其代入目标函数,消去基本变量,把问题化为一个关于非基本变量的无约束最优化问题,最后求解无约束最优化问题的方法就能解出答案。

我们将最优化 | 二次规划的基础知识理论 | 例题讲解 带入到目标函数中得:
最优化 | 二次规划的基础知识理论 | 例题讲解

除了最优化 | 二次规划的基础知识理论 | 例题讲解,其他都是已知的常数项 ,由于常数项不影响优化结果,所以优化过程中省略常数项,得如下形式:
最优化 | 二次规划的基础知识理论 | 例题讲解
对其求导等于零:
最优化 | 二次规划的基础知识理论 | 例题讲解
如果想要其有唯一最优解,也就必须要满足 最优化 | 二次规划的基础知识理论 | 例题讲解 为正定。

2.2 Lagrange法

等式约束二次规划的Lagrange函数为
最优化 | 二次规划的基础知识理论 | 例题讲解
其中最优化 | 二次规划的基础知识理论 | 例题讲解称为Lagrange乘数,正负皆有可能。Lagrange乘数法将原本的约束优化问题转换成等价的无约束优化问题
最优化 | 二次规划的基础知识理论 | 例题讲解
计算 最优化 | 二次规划的基础知识理论 | 例题讲解最优化 | 二次规划的基础知识理论 | 例题讲解最优化 | 二次规划的基础知识理论 | 例题讲解 的偏导数并设为零,可得最优解的必要条件:

最优化 | 二次规划的基础知识理论 | 例题讲解
表示为方程组:
最优化 | 二次规划的基础知识理论 | 例题讲解

这样将这个方程组求解之后就可以求得最优解。

2.3 变量消去 vs Lagrange法

根据等式(10)和(14)的维度关系,变量消去法其实是转化成了一个 最优化 | 二次规划的基础知识理论 | 例题讲解维的问题,也就是说求解最优化 | 二次规划的基础知识理论 | 例题讲解个方程组就能解决这个问题。而 Lagrange法是将其转化成一个 最优化 | 二次规划的基础知识理论 | 例题讲解维的问题,即 最优化 | 二次规划的基础知识理论 | 例题讲解个变量, 最优化 | 二次规划的基础知识理论 | 例题讲解个乘子。

如果建模建出来的问题就只需要求解一次等式二次规划问题,那么哪一个其实都可以求解,如果维数太大,建议用变量消去法。

变量消去法很直观,使用非基变量表示基变量,但是由于需要计算最优化 | 二次规划的基础知识理论 | 例题讲解的逆,当最优化 | 二次规划的基础知识理论 | 例题讲解接近奇异时会导致误差很大.

3. 不等式约束二次规划问题

本节主要来自参考资料4.

3.1 Lagrange乘数法与KKT条件

1. 只有不等式约束的一般形式

先考虑只有不等式约束的一般形式:
最优化 | 二次规划的基础知识理论 | 例题讲解
约束不等式 最优化 | 二次规划的基础知识理论 | 例题讲解 称为原始可行性(primal feasibility),据此我们定义可行域(feasible region)

最优化 | 二次规划的基础知识理论 | 例题讲解

假设 最优化 | 二次规划的基础知识理论 | 例题讲解 为满足约束条件的最佳解,分开两种情况讨论:

  • 最优化 | 二次规划的基础知识理论 | 例题讲解 ,最佳解位于 最优化 | 二次规划的基础知识理论 | 例题讲解 的内部,称为内部解(interior solution),这时约束条件是无效的 (inactive);
  • 最优化 | 二次规划的基础知识理论 | 例题讲解 ,最佳解落在 最优化 | 二次规划的基础知识理论 | 例题讲解 的边界,称为边界解(boundary solution),此时约束条件是有 效的(active)。

这两种情况的最佳解具有不同的必要条件。

  • 内部解: 在约束条件无效的情形下, 最优化 | 二次规划的基础知识理论 | 例题讲解 不起作用,约束优化问题退化为无约束优化问题, 因此驻点 最优化 | 二次规划的基础知识理论 | 例题讲解 满足 最优化 | 二次规划的基础知识理论 | 例题讲解最优化 | 二次规划的基础知识理论 | 例题讲解
  • 边界解:在约束条件有效的情形下,约束不等式变成等式 最优化 | 二次规划的基础知识理论 | 例题讲解 ,这与前述Lagrange乘数法的情况相同。 我们可以证明驻点 最优化 | 二次规划的基础知识理论 | 例题讲解 发生于 最优化 | 二次规划的基础知识理论 | 例题讲解span是生成子空间),换句话说,存在 最优化 | 二次规划的基础知识理论 | 例题讲解 使得 最优化 | 二次规划的基础知识理论 | 例题讲解 ,但这里 最优化 | 二次规划的基础知识理论 | 例题讲解 的正负号是有其意义的。因为我们希望最小化 最优化 | 二次规划的基础知识理论 | 例题讲解 ,梯度 最优化 | 二次规划的基础知识理论 | 例题讲解 (函数 最优化 | 二次规划的基础知识理论 | 例题讲解 在点 最优化 | 二次规划的基础知识理论 | 例题讲解 的最陡上升方向)应该指向可行域 最优化 | 二次规划的基础知识理论 | 例题讲解 的内部(因为你的最优解最小值是在边界取得的),但 最优化 | 二次规划的基础知识理论 | 例题讲解 指向 最优化 | 二次规划的基础知识理论 | 例题讲解 的外部(即 最优化 | 二次规划的基础知识理论 | 例题讲解 的区域,因为你的约束是小于等于 0 ),因此 最优化 | 二次规划的基础知识理论 | 例题讲解,称为对偶可行性(dual feasibility)

因此,不论是内部解或边界解, 最优化 | 二次规划的基础知识理论 | 例题讲解 恒成立,称为互补松弛性(complementary slackness)。整合上述两种情况,最佳解的必要条件包括Lagrangian函数 最优化 | 二次规划的基础知识理论 | 例题讲解定常方程式、原始可行性、对偶可行性,以及互补松弛性
最优化 | 二次规划的基础知识理论 | 例题讲解
这些条件合称为Karush-Kuhn-Tucker (KKT)条件。如果我们要最大化 最优化 | 二次规划的基础知识理论 | 例题讲解 且受限于 最优化 | 二次规划的基础知识理论 | 例题讲解 ,那么对偶可行性要改成 最优化 | 二次规划的基础知识理论 | 例题讲解

2. 标准约束优化

考虑标准约束优化问题(或称非线性规划):
最优化 | 二次规划的基础知识理论 | 例题讲解
定义Lagrangian 函数
最优化 | 二次规划的基础知识理论 | 例题讲解
其中 最优化 | 二次规划的基础知识理论 | 例题讲解 是对应 最优化 | 二次规划的基础知识理论 | 例题讲解 的Lagrange乘数, 最优化 | 二次规划的基础知识理论 | 例题讲解 是对应 最优化 | 二次规划的基础知识理论 | 例题讲解 的Lagrange乘数(或称 KKT乘数)。KKT条件包括定常方程式、原始可行性、对偶可行性,以及互补松弛性,如下所示:
最优化 | 二次规划的基础知识理论 | 例题讲解

3. 示例

  1. 考虑这个问题
    最优化 | 二次规划的基础知识理论 | 例题讲解
    其中 最优化 | 二次规划的基础知识理论 | 例题讲解 为实数。写出Lagrangigan函数
    最优化 | 二次规划的基础知识理论 | 例题讲解
    KKT 方程组如下:
    最优化 | 二次规划的基础知识理论 | 例题讲解
    求偏导可得
    最优化 | 二次规划的基础知识理论 | 例题讲解

    分别解出
    最优化 | 二次规划的基础知识理论 | 例题讲解
    代入约束等式
    最优化 | 二次规划的基础知识理论 | 例题讲解

    合并上面结果,
    最优化 | 二次规划的基础知识理论 | 例题讲解

    最后再加入约束不等式

    最优化 | 二次规划的基础知识理论 | 例题讲解
    最优化 | 二次规划的基础知识理论 | 例题讲解

    底下分开三种情况讨论。

    1. 最优化 | 二次规划的基础知识理论 | 例题讲解 : 不难验证 最优化 | 二次规划的基础知识理论 | 例题讲解 满足所有的KKT条件,约束不等式是无效的, 最优化 | 二次规划的基础知识理论 | 例题讲解 是内部解,目标函数的极小值是 最优化 | 二次规划的基础知识理论 | 例题讲解
    2. 最优化 | 二次规划的基础知识理论 | 例题讲解 : 如同 1 , 最优化 | 二次规划的基础知识理论 | 例题讲解 满足所有的KKT条件, 最优化 | 二次规划的基础知识理论 | 例题讲解 是边界解,因为 最优化 | 二次规划的基础知识理论 | 例题讲解
    3. 最优化 | 二次规划的基础知识理论 | 例题讲解 : 这时约束不等式是有效的, 最优化 | 二次规划的基础知识理论 | 例题讲解 ,则 最优化 | 二次规划的基础知识理论 | 例题讲解最优化 | 二次规划的基础知识理论 | 例题讲解 ,目 标函数的极小值是 最优化 | 二次规划的基础知识理论 | 例题讲解
  2. 考虑优化问题
    最优化 | 二次规划的基础知识理论 | 例题讲解
    试验证 最优化 | 二次规划的基础知识理论 | 例题讲解最优化 | 二次规划的基础知识理论 | 例题讲解 点,并求出问题的 最优化 | 二次规划的基础知识理论 | 例题讲解 对。
    【解】记
    最优化 | 二次规划的基础知识理论 | 例题讲解

    求梯度(都使用向量的形式写法,更紧凑),得到
    最优化 | 二次规划的基础知识理论 | 例题讲解
    最优化 | 二次规划的基础知识理论 | 例题讲解 代入上面5个式子,由 最优化 | 二次规划的基础知识理论 | 例题讲解 条件有,

    最优化 | 二次规划的基础知识理论 | 例题讲解
    因为
    最优化 | 二次规划的基础知识理论 | 例题讲解
    所以(4)变为
    最优化 | 二次规划的基础知识理论 | 例题讲解
    求解 最优化 | 二次规划的基础知识理论 | 例题讲解 式,得到
    最优化 | 二次规划的基础知识理论 | 例题讲解
    这表明 最优化 | 二次规划的基础知识理论 | 例题讲解最优化 | 二次规划的基础知识理论 | 例题讲解 点, 最优化 | 二次规划的基础知识理论 | 例题讲解最优化 | 二次规划的基础知识理论 | 例题讲解 对,其中, 最优化 | 二次规划的基础知识理论 | 例题讲解

分割线,下面待更新

3.2 内点法

内点法引入障碍函数将约束条件转化为目标函数,生成等价于原模型的优化问题。

3.3 积极集法

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年2月25日 下午12:05
下一篇 2023年2月25日 下午12:06

相关推荐