凸函数有很好的极值性质,这使其在非线性规划中占有重要的地位。凹函数与凸函数相似,凸函数具有全局极小值,凹函数具有全局极大值。 因为两者很方便进行转换,我们以凸函数为例作介绍。
1. 凸函数的定义
要定义凸函数,首先必须要对凸集有所了解。
凸集:
给定集合以及其中的任意两个元素
x
(
1
)
x^{(1)}
x(1)和
x
(
2
)
x^{(2)}
x(2),即
x
(
1
)
∈
S
x^{(1)}\in S
x(1)∈S且
x
(
2
)
∈
S
x^{(2)}\in S
x(2)∈S,若对任意实数
λ
(
0
<
λ
<
1
)
\lambda(0<\lambda<1)
λ(0<λ<1),恒有
λ
x
(
1
)
+
(
1
−
λ
)
x
(
2
)
∈
S
\lambda x^{(1)}+(1-\lambda)x^{(2)}\in S
λx(1)+(1−λ)x(2)∈S,则称
S
S
S为凸集。
凸函数:
设
f
(
x
)
f(x)
f(x)为定义在n维欧氏空间
R
n
R^n
Rn 中某个凸集
S
S
S 上的函数,若对任意实数
λ
(
0
<
λ
<
1
)
\lambda(0<\lambda<1)
λ(0<λ<1)以及
S
S
S中的任意两点
x
(
1
)
x^{(1)}
x(1)和
x
(
2
)
x^{(2)}
x(2),恒有
f
(
λ
x
(
1
)
+
(
1
−
λ
)
x
(
2
)
)
≤
λ
f
(
x
(
1
)
)
+
(
1
−
λ
)
f
(
x
(
2
)
)
f(\lambda x^{(1)}+(1-\lambda)x^{(2)})\leq \lambda f( x^{(1)})+(1-\lambda)f(x^{(2)})
f(λx(1)+(1−λ)x(2))≤λf(x(1))+(1−λ)f(x(2))
则 f ( x ) f(x) f(x)称为定义在凸集 S S S上的凸函数。
若对任意实数
λ
(
0
<
λ
<
1
)
\lambda(0<\lambda<1)
λ(0<λ<1)以及
S
S
S中的任意两点
x
(
1
)
x^{(1)}
x(1)和
x
(
2
)
x^{(2)}
x(2),恒有
f
(
λ
x
(
1
)
+
(
1
−
λ
)
x
(
2
)
)
<
λ
f
(
x
(
1
)
)
+
(
1
−
λ
)
f
(
x
(
2
)
)
f(\lambda x^{(1)}+(1-\lambda)x^{(2)})< \lambda f( x^{(1)})+(1-\lambda)f(x^{(2)})
f(λx(1)+(1−λ)x(2))<λf(x(1))+(1−λ)f(x(2))
则称
f
(
x
)
f(x)
f(x)为定义在凸集
S
S
S上的严格凸函数。
线性函数既是凸函数又是凹函数,但都不是严格凸函数和严格凹函数。
2. 凸函数的性质
性质1: 设 f ( x ) f(x) f(x)为定义在凸集 S S S上的凸函数,则对任意实数 β > 0 \beta > 0 β>0 ,函数 β f ( x ) \beta f(x) βf(x)也是定义在凸集 S S S上的凸函数。
性质2: 设 f 1 ( x ) f_1(x) f1(x) 和 f 2 ( x ) f_2(x) f2(x) 都是定义在凸集 S S S上的凸函数,则函数 f 1 ( x ) + f 2 ( x ) f_1(x)+f_2(x) f1(x)+f2(x)也是定义在凸集 S S S上的凸函数。
性质3: 设 f ( x ) f(x) f(x)为定义在凸集 S S S上的凸函数,则对任意实数 β \beta β,集合 S β = { x ∣ x ∈ S , f ( x ) ≤ β } S_{\beta}=\{x|x \in S,f(x) \leq \beta \} Sβ={x∣x∈S,f(x)≤β}是凸集。
性质4: 设 f ( x ) f(x) f(x)为定义在凸集 S S S上的凸函数,则 f ( x ) f(x) f(x)的任一个极小点就是它在 S S S上的全局极小点,而且所有极小点的集合是凸集。
3. 凸函数的判别
判断一个函数是否为凸函数,最基本的方法是使用其定义。但对可微函数,下面介绍的两个判定定理可能更为有效。
一阶判定条件: 设
f
(
x
)
f(x)
f(x)在凸集
S
S
S上具有一阶连续偏导数,则
f
(
x
)
f(x)
f(x)为
S
S
S上凸函数的充分必要条件是,对
S
S
S中任意两点
x
(
1
)
x^{(1)}
x(1)和
x
(
2
)
x^{(2)}
x(2),恒有
f
(
x
(
2
)
)
≥
f
(
x
(
1
)
)
+
∇
f
(
x
(
1
)
)
T
(
x
(
2
)
−
x
(
1
)
)
f(x^{(2)})\geq f(x^{(1)})+\nabla f(x^{(1)})^T(x^{(2)}-x^{(1)})
f(x(2))≥f(x(1))+∇f(x(1))T(x(2)−x(1))
二阶判定条件: 设 f ( x ) f(x) f(x)在开凸集 S S S上具有二阶连续偏导数,则 f ( x ) f(x) f(x)为 S S S上凸函数的充分必要条件是, f ( x ) f(x) f(x)的海赛矩阵 ∇ 2 f ( x ) \nabla ^2 f(x) ∇2f(x)在 S S S上处处半正定。