凸函数的定义、性质以及判别

凸函数有很好的极值性质,这使其在非线性规划中占有重要的地位。凹函数与凸函数相似,凸函数具有全局极小值,凹函数具有全局极大值。 因为两者很方便进行转换,我们以凸函数为例作介绍。

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β={xxS,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上处处半正定。

### 凸集的定义性质 #### 定义 设 \( D \subseteq R^n \),如果对于所有的 \( x, y \in D \) 和所有满足 \( 0 \leqslant \lambda \leqslant 1 \) 的实数 \( \lambda \),都有: \[ \lambda x + (1-\lambda)y \in D \] 则称集合 \( D \) 是凸集[^1]。 #### 性质 - **交集性质**:有限个(或者无限个)凸集的交集为凸集。 - **缩放性质**:假设 \( D \) 是凸集,\( \beta \) 是一个实数,则下面的集合是凸集: \[ \beta * D=\{y | y=\beta * x, x \in D\} \] ### 凸函数定义性质 #### 定义 给定区间 \( I \subset R \),若对任何两个点 \( a,b \in I \) 及任意 \( t \in [0,1] \),有: \[ f(ta+(1-t)b)\le tf(a)+(1-t)f(b) \] 则称 \( f(x) \) 在 \( I \) 上为凸函数。这表示连接图像上任两点间的线段总位于这两点间部分图形之上[^5]。 对于多元函数而言,在其定义域内的每一点处都存在这样的不等关系也成立的话,该多变量函数即被视作凸函数[^3]。 #### 判别方法 通过计算二阶导数来判断一元函数是否为凸函数或凹函数。具体来说,当一个函数的一阶导数单调增加时,此函数为凸函数;反之亦然。更进一步地讲,如果某连续可微分函数在其整个定义区域内具有非负的二阶导数值,则它必然是一个严格意义上的凸函数[^2]。 ```python import numpy as np from sympy import symbols, diff def is_convex(f_str): """ Check if the given function string represents a convex function by evaluating its second derivative. :param f_str: A string representing mathematical expression of one variable 'x' :return: Boolean indicating whether the inputted function is convex or not """ x = symbols('x') try: # Convert string to SymPy symbolic object and compute derivatives func = eval(f_str) first_derivative = diff(func, x) second_derivative = diff(first_derivative, x) # Evaluate sign of second derivative over domain where it's defined test_points = [-10, -1, 0, 1, 10] signs = all([second_derivative.subs({x:test_point}) >= 0 for test_point in test_points]) return bool(signs) except Exception as e: print(e) return False print(is_convex('-np.log(x)')) # Example usage with concave log function negated into convex form ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值