二次规划(Quadratic programming),在运筹学当中,是一种特殊类型的最佳化问题。
二次规划问题可以以下形式来描述:
受到一個或更多如下型式的限制條件:
是 的转置。
如果Q是半正定矩阵,那么f(x)是一个凸函数。如果有至少一个向量x满足约束而且f(x)在可行域有下界,二次规划问题就有一个全局最小值x。 如果Q是正定矩阵,那么全局最小值就是唯一的。如果Q=0,二次规划问题就变成线性规划问题。
根据优化理论,一个点x 成为全局最小值的必要条件是满足 Karush-Kuhn-Tucker(KKT)条件。当f(x)是凸函数时,KKT条件也是充分条件。
当二次规划问题只有等式约束时,二次规划可以用线性方程求解。否则的话,常用的二次规划解法有:内点法(interior point)、active set和共轭梯度法等。凸集二次规划问题是凸优化问题的一个特例。
每个二次规划问题的对偶问题也是二次规划问题。我们以正定矩阵Q为例:
对偶问题,可定义为
我们可用 : 得到的极小
对偶函数:
对偶问题为:
maximize :
subject to :
当Q正定时,用椭圆法可在多项式时间内解二次规划问题。当Q负定时,二次规划问题是NP困难的(NP-Hard)。即使Q 存在一个负特征值时,二次规划问题就是NP困难的。
来源:http://zh.wikipedia.org/zh/%E4%BA%8C%E6%AC%A1%E8%A7%84%E5%88%92