二次规划（Quadratic programming），在运筹学当中，是一种特殊类型的最优化问题。


簡介 一個有n個變數與m個限制的二次規劃問題可以用以下的形式描述。首先給定：

一個 
  
    
      
        n
      
    
    {\displaystyle n}
  
 維的向量 
  
    
      
        
          c
        
      
    
    {\displaystyle \mathbf {c} }
  

一個 
  
    
      
        n
        ×
        n
      
    
    {\displaystyle n\times n}
  
 維的對稱矩陣 
  
    
      
        Q
      
    
    {\displaystyle Q}
  

一個 
  
    
      
        m
        ×
        n
      
    
    {\displaystyle m\times n}
  
 維的矩陣
  
    
      
        A
      
    
    {\displaystyle A}
  

一個 
  
    
      
        m
      
    
    {\displaystyle m}
  
 維的向量 
  
    
      
        
          b
        
      
    
    {\displaystyle \mathbf {b} }
  

則此二次規劃問題的目標即是在限制條件為

  
    
      
        A
        x
        ≤
        b
      
    
    {\displaystyle Ax\leq b}
  

的條件下，找一個n 維的向量 x ，使得

  
    
      
        f
        (
        x
        )
        =
        (
        1
        
          /
        
        2
        )
        
          x
          
            T
          
        
        Q
        x
        +
        
          c
          
            T
          
        
        x
      
    
    {\displaystyle f(x)=(1/2)x^{T}Qx+c^{T}x}
  

為最小。其中
  
    
      
        
          x
          
            T
          
        
      
    
    {\displaystyle x^{T}}
  
是
  
    
      
        x
      
    
    {\displaystyle x}
  
的转置。
根據不同的參數特性，可以得到對問題不同的結論

如果Q是半正定矩阵，那么f(x)是一个凸函数。相应的二次规划为凸二次规划问题；此时若约束条件定义的可行域不为空，且目标函数在此可行域有下界，则该问题有全局最小值。
如果Q是正定矩阵，则该问题有唯一的全局最小值。
若Q为非正定矩阵，则目标函数是有多个平稳点和局部极小点的NP问题。
如果Q=0，二次规划问题就变成线性规划问题。
根据优化理论，一个点x成为全局最小值的必要条件是满足Karush-Kuhn-Tucker条件（KKT）。当f(x)是凸函数时，KKT条件也是充分条件。
当二次规划问题只有等式约束时，二次规划可以用线性方程求解。否则的话，常用的二次规划解法有：

内点法(interior point)
active set
共轭梯度法
椭球法 若Q为正定矩阵，则相应的二次规划问题可由椭球法在多项式时间内求解。
增广拉格朗日法
梯度投影法
凸集二次规划问题是凸优化问题的一个特例。


对偶 每个二次规划问题的对偶问题也是二次规划问题。以正定矩阵Q为例：

  
    
      
        L
        (
        x
        ,
        λ
        )
        =
        (
        1
        
          /
        
        2
        )
        
          x
          
            T
          
        
        Q
        x
        +
        
          λ
          
            T
          
        
        (
        A
        x
        −
        b
        )
        +
        
          c
          
            T
          
        
        x
      
    
    {\displaystyle L(x,\lambda )=(1/2)x^{T}Qx+\lambda ^{T}(Ax-b)+c^{T}x}
  

对偶问题
  
    
      
        g
        (
        λ
        )
      
    
    {\displaystyle g(\lambda )}
  
，可定义为

  
    
      
        g
        (
        λ
        )
        =
        
          inf
          
            x
          
        
        L
        (
        x
        ,
        λ
        )
      
    
    {\displaystyle g(\lambda )=\inf _{x}L(x,\lambda )}
  

可用
  
    
      
        
          ∇
          
            x
          
        
        L
        (
        x
        ,
        λ
        )
        =
        0
      
    
    {\displaystyle \nabla _{x}L(x,\lambda )=0}
  
:得到
  
    
      
        L
      
    
    {\displaystyle L}
  
的极小 

  
    
      
        x
        ∗
        =
        −
        
          Q
          
            −
            1
          
        
        (
        
          A
          
            T
          
        
        λ
        +
        c
        )
      
    
    {\displaystyle x*=-Q^{-1}(A^{T}\lambda +c)}
  
,
对偶函数：

  
    
      
        g
        (
        λ
        )
        =
        −
        (
        1
        
          /
        
        2
        )
        
          λ
          
            T
          
        
        A
        
          Q
          
            −
            1
          
        
        
          A
          
            T
          
        
        λ
        −
        
          c
          
            T
          
        
        
          Q
          
            −
            1
          
        
        
          A
          
            T
          
        
        λ
        −
        
          b
          
            T
          
        
        λ
      
    
    {\displaystyle g(\lambda )=-(1/2)\lambda ^{T}AQ^{-1}A^{T}\lambda -c^{T}Q^{-1}A^{T}\lambda -b^{T}\lambda }
  

对偶问题为：
maximize :
  
    
      
        −
        (
        1
        
          /
        
        2
        )
        
          λ
          
            T
          
        
        A
        
          Q
          
            −
            1
          
        
        
          A
          
            T
          
        
        λ
        −
        (
        
          c
          
            T
          
        
        
          Q
          
            −
            1
          
        
        
          A
          
            T
          
        
        +
        
          b
          
            T
          
        
        )
        λ
      
    
    {\displaystyle -(1/2)\lambda ^{T}AQ^{-1}A^{T}\lambda -(c^{T}Q^{-1}A^{T}+b^{T})\lambda }
  

subject to :
  
    
      
        λ
        ≥
        0
      
    
    {\displaystyle \lambda \geq 0}
  


计算复杂性 当Q正定时，用椭圆法可在多项式时间内解二次规划问题。当Q非正定时，二次规划问题是NP困难的。即使Q只存在一个负特征值时，二次规划问题也是NP困难的。
 


参考文献