凸集和凸函数是线性规划和非线性规划都要涉及的基本概念,关于凸集和凸函数的一些定理在最优化问题的理论及算法研究中具有重要作用.
1.1.1 凸集 定义1.1.1 设 Ω ⊂ R n ,若对所有的 x , y ∈ Ω 及 α ∈ [0, 1] 都有 α x + (1 − α ) y ∈ Ω ,则称 Ω 为 凸集 (Convex set).
从几何直观上,如果集合中的任意两点连线上的点仍在该集合中,则此集合为凸集.如 图 1-1-1 中(a)、(c)和(d)为凸集,而(b)为非凸集.
图 1-1-1 凸集与非凸集
定义1.1.2 设 x (1) , x (2) , ⋯ , x ( m ) ∈ R n , α 1 , α 2 , ..., α m 是一组非负实数,且 i =1 ∑ m α i = 1 ,则 i =1 ∑ m α i x ( i ) 称为一个 凸组合 .
由凸集和凸组合的定义容易证明以下定理1.1.1和结论.
定理1.1.1 Ω ⊂ R n 为凸集的充要条件是 Ω 中任意有限个点的凸组合仍在 Ω 中.
结论 设 Ω 1 和 Ω 2 为 R n 中两个凸集, β 是实数 ,则
(1) β Ω i = { β x ∣ x ∈ Ω i , i = 1, 2} 为凸集 ;
(2) Ω 1 ∩ Ω 2 为凸集 ;
(3) Ω 1 ± Ω 2 ={ x ± y ∣ x ∈ Ω 1 , y ∈ Ω 2 } 为凸集 .
1.1.2 凸函数 定义1.1.3 对于定义在凸集 Ω ⊂ R n 上的函数 f : Ω → R , f 是 凸函数 (Convex function)当且仅当对于任意 x , y ∈ Ω 和任意 α ∈ ( 0, 1 ) ,都有
f ( α x + ( 1 − α ) y ) ≤ α f ( x ) + ( 1 − α ) f ( y ) .
如果
f ( α x + ( 1 − α ) y ) < α f ( x ) + ( 1 − α ) f ( y )
成立,则函数 f 是 Ω 上的 严格凸函数 .
反之,对于定义在凸集 Ω ⊂ R n 的函数 f : Ω → R ,当 − f 是(严格)凸函数时, f 是(严格) 凹函数 (Concave function).
如果函数 f : Ω → R 是定义在凸集 Ω 的凸函数,那么对于任意 x , y ∈ Ω ,在空间 R n +1 中连接两点 A : ( x ⊤ , f ( x ) ) ⊤ 和 B : ( y ⊤ , f ( y ) ) ⊤ 之间线段上的所有点,都位于函数 f 的图像上面, 图 1-1-2 为一元凸函数的直观显示.
图 1-1-2 一元凸函数
根据凸函数的定义,易得凸函数的以下性质:
性质1 设函数 f , f 1 , f 2 都是凸函数,则对于任意 a ⩾ 0 ,函数 a f 也是凸函数; f 1 + f 2 也是凸函数.
性质 2 已知凸集 Ω ∈ R n , f : Ω → R 是定义在 Ω 上的凸函数,那么 Ω 中某一点是 f 的 ,当且仅当它是 f 的 .
例如 ,设 x ∈ R n ,线性函数 f ( x ) = a ⊤ x , ( a ∈ R n 且为常向量) 即是凸函数也是凹函数;正定二次函数 f ( x ) = 2 1 x ⊤ Hx + b ⊤ x , ( H ∈ R n × n , b ∈ R n 为常向量) 为凸函数.
下一节将给出凸函数判定的一阶和二阶条件.
1.2.1 等值线(面) 定义1.2.1 当 x ∈ R 2 或 R 3 ,使函数 f ( x ) 取值为同一常数的点集 { x ∣ f ( x ) = c , c 为常数} 称为 f ( x ) 的 等值线(面) (contour),其中函数 f ( x ) 是连续的单值函数,即定义域内每一个自变量所对应的函数值是唯一的.
等值线有以下4个性质:
(1)不同的等值线不相交;
(2)除极点所在的等值线外,等值线不会中断;
(3)等值线稠密的地方函数值变化较快,稀疏的地方变化较慢;
(4)在极值点附近,等值线近似地为同心椭圆族.
以上4个性质推广至高维的等值线仍成立.
例如 ,当 x ∈ R 2 ,凸函数 f ( x ) = x 1 2 − x 1 x 2 + x 2 2 + x 1 + x 2 的图形及等值线图如 图 1-2-1 所示;而非凸函数 f ( x 1 , x 2 ) = ( 1 − 2 1 x 1 + x 1 5 + x 2 3 ) e −( x 1 2 + x 2 2 ) 图形及等值线如 图 1-2-2 所示.
图 1-2-1 凸函数的图形(左)及等值线图(右)
图 1-2-2 非凸函数的图形(左)及等值线图(右)
1.2.2 梯度 定义1.2.2 设函数 f ( x ), x = ( x 1 , x 2 , ⋯ , x n ) ⊤ 在平面区域 Ω 内具有一阶连续偏导数,则对于点 P ∈ Ω ,可以确定一个向量
g = ( ∂ x 1 ∂ f , ∂ x 2 ∂ f , ⋯ , ∂ x n ∂ f ) ⊤ ,
称向量 g 为函数 f ( x ) 在点 P 处的 梯度 ,也记作 ∇ f ( x ) .
梯度的每个分量分别描述了函数 f ( x ) 沿坐标系的每个坐标轴方向的变化率.它具有如下性质:
性质1 梯度方向与等值线的切线方向垂直.
证明 设等值线的方程为 f ( x ) = c ,若用参数方程表示曲面上的点 x ,可设 x = x ( t ) 其中 t ∈ Ω ,而 f ( x ( t )) = c 是关于 t 的一元函数,上式两边对 t 求导有
其中 ∇ f ( x ( t ) ) ⊤ 是梯度方向, x ′ ( t ) 是等值线的切线方向.证毕.
这一性质有时也简称为 梯度垂直等值线 .
例如 , 图 1-2-3 给出了非凸函数 f ( x 1 , x 2 ) = ( 1 − 2 1 x 1 + x 1 5 + x 2 3 ) e −( x 1 2 + x 2 2 ) 在点 (0, 1.8) , (−0.9, −1) 和 (−2.05, 0.2) 处的 梯度 与等值线垂直情况.
图 1-2-3 梯度与等值线垂直
性质2 函数在某点处沿着梯度方向变化最快且最大变化率等于梯度的模.
证明 设θ i , ( i = 1 , 2 , ⋯ , n ) 为方向r 的方向角,则 ( cos θ 1 , cos θ 2 , ⋯ , cos θ n ) ⊤ 为r 的单位向量,所以函数f ( x ) 在点P 处的沿方向r 的方向导数可表示为
∂ r ∂ f P = ∂ x 1 ∂ f cos θ 1 + ∂ x 2 ∂ f cos θ 2 + ⋯ + ∂ x n ∂ f cos θ n = ∇ f ⋅ cos ( ∇ f , r ) ,
所以,当∇ f 与r 夹角( ∇ f , r ) = 0 时,
∂ r ∂ f P = ∇ f ⋅ cos ( ∇ f , r ) = ∣ ∇ f ∣ = ( ∂ x 1 ∂ f ) 2 + ( ∂ x 2 ∂ f ) 2 + ⋯ + ( ∂ x n ∂ f ) 2 ,
取值最大,且最大值为∥ ∇ f ∥ .证毕.
可以使用定义1.1.3判断一个函数是否为凸函数,也可以根据梯度判定,即下面的定理1.2.1.
定理1.2.1(一阶条件) 若函数 f ( x ) 可微,即 f 的梯度 ∇ f 在定义域 D 中处处存在,函数 f 是凸函数当且仅当对于任意 x , y ∈ D ,有下式成立:
f ( y ) ≥ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) .
称上述条件为凸函数判定的一阶条件.当 x ∈ R (或 R 2 )时,一阶条件有清晰的几何意义,即对任意 x 处的函数值始终位于其切线(或切面)的上方.如 图 1-2-4 所示.
图 1-2-4 凸函数图形位于其切线的上方 1.2.3 海森矩阵 海森矩阵是一个由多元函数的二阶偏导数构成的方阵,它可以刻画函数的局部曲率.
定义1.2.3 如果 f ( x ), x ∈ R n 的所有二阶偏导数都存在,那么矩阵
H ( x ) = ∂ x 1 2 ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ⋮ ∂ x n ∂ x 1 ∂ 2 f ∂ x 1 ∂ x 2 ∂ 2 f ∂ x 2 2 ∂ 2 f ⋮ ∂ x n ∂ x 2 ∂ 2 f ⋯ ⋯ ⋱ ⋯ ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x n ∂ 2 f ⋮ ∂ x n 2 ∂ 2 f
为 f ( x ) 的 海森 (Hessian) 矩阵 ,也记为 ∇ 2 f ( x ) .
根据Hessian矩阵的正定性可以判定函数是否为凸函数.
定理1.2.2 (二阶条件) 若函数 f ( x ) 二阶可微,即 f 的Hessian矩阵 ∇ 2 f 在定义域 D 中处处存在,函数 f 是凸函数当且仅当对任意 x ∈ D ,该点处的Hessian矩阵是半正定的,即
∇ 2 f ( x ) ⪰ 0 .
对于一元函数而言,Hessian矩阵半正定退化为 f ′′ ( x ) ≥ 0 ,意味着函数 f 的导函数是非递减的.从几何上来说,Hessian矩阵处处半正定意味着函数 f 处处曲率非负.类似地,可以发现对于严格凸函数有 ∇ 2 f ( x ) ≻ 0 ,而对于凹函数有 ∇ 2 f ( x ) ⪯ 0 .
例如 ,函数 f ( x ) = x 1 2 − x 1 x 2 + x 2 2 + x 1 + x 2 在 x ∈ R 2 为凸函数.这是因为 ∇ f ( x ) = ( 2 x 1 − x 2 + 1 2 x 2 − x 1 + 1 ) ,而 ∇ 2 f ( x ) = ( 2 − 1 − 1 2 ) ≻ 0 .
而函数 f ( x , y ) = 1 − e − x 2 + 0.01 x 2 + 1 − e − y 2 + 0.01 y 2 在 ( x , y ) ∈ R 2 为非凸函数.这是因为 ∇ 2 f ( x ) = ( 2 e − x 2 − 4 x 2 e − x 2 0 0 2 e − y 2 − 4 y 2 e − y 2 ) 不是正定或半正定.
图 1-2-5 画出了这两个函数的图形.
图 1-2-5 凸函数(左)和非凸函数(右)图形
1.3.1 最优化模型