凸优化学习:PART1凸集

凸优化学习PART1

image-20230129192233683

一、引言:优化问题简介

优化问题的定义

凸优化是优化的一种,是优化中比较容易的问题。在讲解优化问题前,首先说明什么是优化/数学规划(Optimization/Mathematical Planning)。

优化:从一个可行解的集合中寻找出最优的元素

三个要素:

  • 可行解的集合
  • 最优的标准
  • 寻找的方案

优化问题的形式

m i n i m i z e   f 0 ( X ) s u b j e c t   t o   f i ( X ) ≤ b i , i = 1 , … … M 其中 X = [ x 1 , x 2 , . . . , x n ] T minimize\ f_0(X)\\ subject\ to\ f_i(X)\leq b_i,i=1,……M\\ 其中X=[x_1,x_2,...,x_n]^T minimize f0(X)subject to fi(X)bi,i=1,……M其中X=[x1,x2,...,xn]T

f 0 f_0 f0:目标函数,为n维空间到一维空间的映射, R n → R R^n\to R RnR——最优的准则

f i f_i fi:不等式约束,为n维空间到一维空间的映射, R n → R R^n\to R RnR——以此找出可行解的集合

X ∗ X^* X:最优解,等价于 ∀ z , z ∈ { f i ( z ) ≤ b i , i = 1 , . . . , m } , f ( X ∗ ) ≤ f ( z ) \forall z,z\in \{f_i(z)\leq b_i,i=1,...,m \},f(X^*)\leq f(z) z,z{fi(z)bi,i=1,...,m},f(X)f(z),其中z所属的集合即为可行解集合(feasible set)

例:

image-20230115202004892

优化问题例子

数据拟合问题
image-20230115203132841

若我们知道 a , b , c a,b,c a,b,c中某些数的取值范围,那么这样一个优化问题就会变成一个有约束的优化问题。

线性二次调节器:LQR

控制中描述离散动态系统的简单形式:
X k = A X k − 1 + B u k X_k=AX_{k-1}+Bu_k Xk=AXk1+Buk
X k X_k Xk:系统在k时刻的状态

X k X_k Xk:系统在k时刻的状态

A:状态转移矩阵

u k u_k uk:k时刻的输入

B B B:输入矩阵

有下面的目标函数:
min ⁡ u k = ∑ k = 1 N ( X k T Q X k + u k T R u k ) \min_{u_k}=\sum_{k=1}^N(X_k^TQX_k+u_k^TRu_k) ukmin=k=1N(XkTQXk+ukTRuk)
——标准的凸优化问题

多用户的能量控制问题

通信中的问题:三维空间中有很多的发送者和接收者,发送者记做 T x T_x Tx,接收者称作 R x R_x Rx

image-20230115205528202

每个用户都以能量 p i p_i pi发送信号, 0 ≤ p i ≤ b i 0\leq p_i\leq b_i 0pibi

空间中一个用户的发送会对另一个用户的接收产生干扰,其中用户 i i i对用户 j j j产生的干扰记做 α i j \alpha_{ij} αij

通信链路存在噪声,高斯白噪声的噪声方差记做 δ i 2 \delta_i^2 δi2

信噪比SINR定义为: S I N R = p i δ i 2 + ∑ j ≠ 1 p j SINR=\frac{p_i}{\delta_i^2+\sum_{j\neq1}p_j} SINR=δi2+j=1pjpi

通信码率 f i ∼ l o g ( 1 + p i δ i + ∑ j ≠ i p i ) f_i\sim log(1+\frac{p_i}{\delta_i+\sum_{j\neq i}p_i}) filog(1+δi+j=ipipi)——香农定理

作为运营商,我们希望码率尽可能大,那么优化目标可以记做如下形式:
max ⁡ ∑ i = 1 N f i s . t . 0 ≤ p i ≤ b i \max \sum_{i=1}^Nf_i\\ s.t. 0\leq p_i\leq b_i maxi=1Nfis.t.0pibi

最短路径问题

定义下面的优化目标:

image-20230115214640886 $$ \min \sum w_{ij}x_{ij}\\ x_{ij}\in[0,1]\\ \sum_{j}x_{ij}-\sum_{j}x_{ji}= \begin{cases}1,\quad i=S\\ -1,\quad i=D\\ 0,\quad otherwise\\ \end{cases} $$

优化问题的分类

方式1:线性规划/非线性规划

  • 线性规划: f 0 , f 1 , . . . , f M f_0,f_1,...,f_M f0,f1,...,fM都为线性函数

    线性的概念:
    f i ( α x + β y ) = α f i ( x ) + β f i ( y ) , ∀ i = 0 , . . . , M (1) f_i(\alpha x+\beta y)=\alpha f_i(x)+\beta f_i(y),\quad \forall i=0,...,M\tag{1} fi(αx+βy)=αfi(x)+βfi(y)i=0,...,M(1)
    线性规划的可行解集合是一个多边形组成的区域,最优解一定是在顶点上。

    image-20230116131757608
  • 非线性规划:存在 f i f_i fi为非线性函数

方式2:凸规划/非凸规划

  • 凸规划: f i f_i fi都要是凸函数

    凸函数的定义:
    f i ( α x + β y ) ≤ α f i ( x ) + β f i ( y ) , ∀ i i = 0 , 1 , . . . , M (2) f_i(\alpha x+\beta y)\leq \alpha f_i(x)+\beta f_i(y),\quad \forall i \quad i=0,1,...,M\tag{2} fi(αx+βy)αfi(x)+βfi(y),ii=0,1,...,M(2)
    凸函数和非凸函数的定义后续再详细说明,这里给出两个直观的认识:

    • 凸函数有且只有一个全局最优解
    • 非凸函数可能有多个局部最优解
    image-20230116132332138

    同时易知,任何线性规划问题都是凸优化问题。【满足等式必然满足不等式】

  • 非凸规划:存在 f i f_i fi不是凸函数

一般来说,凸规划是比较容易求解的问题,非凸规划是较难解决的问题。

方式3:光滑/非光滑

光滑与非光滑是针对 f 0 ( x ) f_0(x) f0(x)而言的,光滑即函数在任意一点都是无穷阶可微的。光滑问题是较简单的问题。但光滑与非光滑对于优化问题的难度来说不是一个本质上的难度划分标准,凸与非凸才是。

方式4:连续/离散

离散问题是难问题,一般来说都属于难问题。但连续问题不一定是凸问题,即不一定是非难的。

连续问题与离散问题的可行域如下:

image-20230116134529529

方式5:单目标/多目标

一般通过加权的方式将多目标转换为单目标。

image-20230116135301404

课程目标与内容

课程目标
  • 简单问题的求解:凸优化问题求解、单目标规划问题
  • 困难问题如何转换为简单问题:非凸问题转化为凸问题
  • 优化算法
主要内容
  • 凸集、凸函数、凸优化
  • 凸优化理论
  • 凸优化算法若干

二、凸集 Convex Sets

优化问题的一般形式:
min ⁡ f 0 ( x ) s . t . f i ( x ) ≤ b i , i = 1 , . . . , m x = [ x 1 , . . . , x n ] T \min f_0(x)\\ s.t.\quad f_i(x)\leq b_i,i=1,...,m\\ x=[x_1,...,x_n]^T minf0(x)s.t.fi(x)bi,i=1,...,mx=[x1,...,xn]T

仿射集(Affine Set)

直线与线段

空间中的两个点: x 1 ≠ x 2 ∈ R n x_1\neq x_2 \in R^n x1=x2Rn,那么过两点的唯一直线可以用参数 θ \theta θ表示
y = θ x 1 + ( 1 − θ ) x 2 = x 2 + θ ( x 1 − x 2 ) y=\theta x_1+(1-\theta)x_2=x_2+\theta(x_1-x_2) y=θx1+(1θ)x2=x2+θ(x1x2)
x 1 x_1 x1 x 2 x_2 x2的线段可以表示为:
y = θ x 1 + ( 1 − θ ) x 2 = x 2 + θ ( x 1 − x 2 ) θ ∈ [ 0 , 1 ] y=\theta x_1+(1-\theta)x_2=x_2+\theta(x_1-x_2)\\ \theta\in[0,1] y=θx1+(1θ)x2=x2+θ(x1x2)θ[0,1]

仿射集合

定义1

仿射集:如果通过集合 C ⊆ R n C\subseteq R^n CRn中任意两个不同点的直线仍然在集合C中,那么称集合C是仿射的。 ⇔ ∀ x 1 , x 2 ∈ C , θ ∈ R \Leftrightarrow \forall x_1,x_2\in C,\theta\in R x1,x2C,θR θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1-\theta)x_2\in C θx1+(1θ)x2C。换而言之,C包含了C中任意两点的系数之和为1的线性组合。

  • 直线是仿射集吗?——是,直线是点的集合
  • 线段是仿射集吗?——不是,连接的直线可能超出该线段
  • 二维空间是仿射集吗?——是
  • 空间中的正方形是仿射集吗?——不是
image-20230117123840215

定义2

仿射集的数学定义:

x 1 , x 2 , . . . , x k ∈ C , θ 1 , θ 2 , . . . . , θ k ∈ R , θ 1 + θ 2 + . . . + θ k = 1 x_1,x_2,...,x_k\in C,\theta_1,\theta_2,....,\theta_k\in R,\theta_1+\theta_2+...+\theta_k=1 x1,x2,...,xkCθ1,θ2,....,θkR,θ1+θ2+...+θk=1,有下面的定义:

  • 仿射组合:具有 θ 1 x 1 + θ 2 x 2 + . . . + θ k x k \theta_1x_1+\theta_2x_2+...+\theta_kx_k θ1x1+θ2x2+...+θkxk形式的点是 x 1 , x 2 , . . . , x k x_1,x_2,...,x_k x1,x2,...,xk的仿射组合
  • 一个仿射集合包含任意点的放射组合,即如果C是仿射集合, x 1 , x 2 , . . . , x k ∈ C x_1,x_2,...,x_k\in C x1,x2,...,xkC,并且 θ 1 + θ 2 + . . . + θ k = 1 \theta_1+\theta_2+...+\theta_k=1 θ1+θ2+...+θk=1,那么任意仿射组合 θ 1 x 1 + θ 2 x 2 + . . . + θ k x k ∈ C \theta_1x_1+\theta_2x_2+...+\theta_kx_k\in C θ1x1+θ2x2+...+θkxkC

满足这样条件的集合C是仿射集。

易知,当 k = 2 k=2 k=2时,退化为定义1,其实定义2是最初定义1的泛化。

定义等价性证明

  • 假设已有定义1,尝试将2个点的情况推广到3个点

有仿射集C, x 1 , x 2 , x 3 ∈ C , θ 1 + θ 2 + θ 3 = 1 x_1,x_2,x_3\in C, \theta_1+\theta_2+\theta_3=1 x1,x2,x3C,θ1+θ2+θ3=1,有下面的仿射组合:
θ 1 θ 1 + θ 2 x 1 + θ 2 θ 1 + θ 2 x 2 ∈ C ( θ 1 + θ 2 ) ( θ 1 θ 1 + θ 2 x 1 + θ 1 θ 2 + θ 2 x 2 ) + ( 1 − θ 1 − θ 2 ) x 3 ∈ C ⇒ θ 1 x 1 + θ 2 x 2 + θ 3 x 3 ∈ C \frac{\theta_1}{\theta_1+\theta_2}x_1+\frac{\theta_2}{\theta_1+\theta_2}x_2\in C\\ (\theta_1+\theta_2)(\frac{\theta_1}{\theta_1+\theta_2}x_1+\frac{\theta_1}{\theta_2+\theta_2}x_2)+(1-\theta_1-\theta_2)x_3\in C\\ \Rightarrow \theta_1x_1+\theta_2x_2+\theta_3x_3\in C θ1+θ2θ1x1+θ1+θ2θ2x2C(θ1+θ2)(θ1+θ2θ1x1+θ2+θ2θ1x2)+(1θ1θ2)x3Cθ1x1+θ2x2+θ3x3C

  • 假设已经有定义2,能不能推出定义1

    由上面退化的说法,知成立。

子空间
image-20230117164535859 image-20230117171037132

定义3

与C相关的子空间:如果C是一个仿射集合,且 x 0 ∈ C x_0\in C x0C,则集合
V = C − x 0 = { x − x 0 ∣ x ∈ C } V=C-x_0=\{x-x_0|x\in C\} V=Cx0={xx0xC}
是一个子空间,即关于加法和数乘是封闭的。

将仿射集C相对于 x 0 x_0 x0做平移

  • 证明1:证明V是一个仿射集

  • 证明2:证明V是一个特殊的满足对任意 α x 1 + β x 2 ∈ V \alpha x_1+\beta x_2\in V αx1+βx2V的特殊仿射集

需证1和2,即需证:设 ∀ v 1 , v 2 ∈ V , ∀ α , β ∈ R ⇒ α v 1 + β v 2 ∈ V \forall v_1,v_2\in V,\forall \alpha,\beta\in R\Rightarrow \alpha v_1+\beta v_2\in V v1,v2V,α,βRαv1+βv2V
要证…即证: ∀ v 1 , v 2 ∈ V , ∀ α , β ∈ R ⇒ α v 1 + β v 2 + x 0 ∈ C \forall v_1,v_2\in V,\forall \alpha,\beta\in R\Rightarrow \alpha v_1+\beta v_2 +x_0\in C v1,v2V,α,βRαv1+βv2+x0C

image-20230117181017555

x 0 x_0 x0的选择是任意的。

另一种理解:x是直线上的点, x 0 x_0 x0也是直线上的点,不管 x 0 x_0 x0取多少,总存在一个x和 x 0 x_0 x0是一个点,那么就平移到了原点。所以必然过原点,即满足 α v 1 + β v 2 ∈ V \alpha v_1+\beta v_2\in V αv1+βv2V

即,任意一个仿射集可以导出一个性质更好的仿射集。新的仿射集称为原仿射集的子空间。

例2.1 线性方程组的解集。

image-20230117185209064

任何一个线性方程组的解集必然是仿射集。

由任意一个仿射集可以构造一个子空间来看,上述的线性方程组的解构成的仿射集也可以产生一个子空间。
C = { x ∣ A x = b } , A x 0 = b V = C − x 0 = { x − x 0 ∣ A ( x − x 0 ) = 0 } = { y ∣ A y = 0 } C=\{x|Ax=b\},Ax_0=b\\ V=C-x_0=\{x-x_0|A(x-x_0)=0\}=\{y|Ay=0\} C={xAx=b},Ax0=bV=Cx0={xx0A(xx0)=0}={yAy=0}
该集合称为A的化零空间。(齐次线性方程组)

命题:任何一个仿射集都可以写成一个线性方程组的解集。

仿射包

任意集合C,构造尽可能小的仿射集

首先引入仿射包的概念:我们称由集合 C ⊆ R n C\subseteq R^n CRn中所有点的仿射组合组成的集合为C的仿射包,记为aff C
a f f   C = { θ 1 x 1 + θ 2 x 2 + . . . + θ k x k ∣ x 1 , x 2 , . . . , x k ∈ C , θ 1 + θ 2 + . . . + θ k = 1 } aff\ C=\{\theta_1x_1+\theta_2x_2+...+\theta_kx_k|x_1,x_2,...,x_k\in C,\theta_1+\theta_2+...+\theta_k=1\} aff C={θ1x1+θ2x2+...+θkxkx1,x2,...,xkC,θ1+θ2+...+θk=1}
仿射包是包含C的最小仿射集,也就是说:如果S是满足 C ⊆ S C\subseteq S CS的仿射集合,那么 a f f   C ⊆ S aff\ C\subseteq S aff CS

image-20230117202215886image-20230117202429039image-20230117202458414

凸集(Convex Set)

凸集的概念

定义1

集合C是凸集,当任意两点间的线段仍在C中,即对于任意 x 1 , x 2 ∈ C x_1,x_2\in C x1,x2C和满足 0 ≤ θ ≤ 1 0\leq \theta\leq 1 0θ1 θ \theta θ都有:
θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1-\theta)x_2\in C θx1+(1θ)x2C
image-20230117203302314

仿射集一定是凸集,仿射集是凸集的特例。

定义2

凸组合:任意 x 1 , x 2 , . . . , x k ∈ C , θ 1 , θ 2 , . . . , θ k ∈ [ 0 , 1 ] x_1,x_2,...,x_k\in C,\theta_1,\theta_2,...,\theta_k\in [0,1] x1,x2,...,xkC,θ1,θ2,...,θk[0,1] θ 1 + θ 2 + . . . + θ k = 1 \theta_1+\theta_2+...+\theta_k=1 θ1+θ2+...+θk=1,那么称 θ 1 x 1 + θ 2 x 2 + . . . + θ k x k \theta_1x_1+\theta_2x_2+...+\theta_kx_k θ1x1+θ2x2+...+θkxk为凸组合。

点的凸组合可以看做他们的混合或者加权平均

定义3

C为凸集 ⇔ \Leftrightarrow 任意凸组合属于C

定义4

凸包:C是凸集, x 1 , x 2 , . . . , x k ∈ C , θ 1 , θ 2 , . . , θ k ∈ [ 0 , 1 ] x_1,x_2,...,x_k\in C,\theta_1,\theta_2,..,\theta_k\in [0,1] x1,x2,...,xkC,θ1,θ2,..,θk[0,1],那么凸包为:
{ θ 1 x 1 + θ 2 x 2 + . . . + θ k x k ∣ ∀ x 1 , x 2 , . . . , x k ∈ C , θ 1 , θ 2 , . . , θ k ∈ [ 0 , 1 ] , θ 1 + θ 2 + . . . + θ k = 1 } \{\theta_1x_1+\theta_2x_2+...+\theta_kx_k|\forall x_1,x_2,...,x_k\in C,\theta_1,\theta_2,..,\theta_k\in [0,1],\theta_1+\theta_2+...+\theta_k=1\} {θ1x1+θ2x2+...+θkxk∣∀x1,x2,...,xkC,θ1,θ2,..,θk[0,1],θ1+θ2+...+θk=1}

图形表示

凸集和非凸集的图形展示:

image-20230117212654988

我们可以在非凸集的基础上构造他的凸包。

上述的集合都是连续的元素,有离散的元素构成的凸集:

image-20230117213216964

锥(Cone)

锥不一定是个凸集,但是我们可以从锥中找到一些特殊的元素是凸集,称其为凸锥。

锥的定义

定义1

C是锥 ⇔ ∀ x ∈ C , θ x ∈ C \Leftrightarrow \forall x\in C,\theta x\in C xCθxC

定义2

C是凸锥 ⇔ ∀ x 1 , x 2 ∈ C , θ 1 , θ 2 ≥ 0 , 有 θ 1 x 1 + θ 2 x 2 ∈ C \Leftrightarrow \forall x_1,x_2\in C,\theta_1,\theta_2\geq 0,有\theta_1 x_1+\theta_2x_2\in C x1,x2Cθ1,θ20,θ1x1+θ2x2C

image-20230117214337465 image-20230118124043174

定义3

锥组合:具有 θ 1 x 1 + θ 2 x 2 + . . . + θ k x k , θ 1 , θ 2 , . . . , θ k ≥ 0 \theta_1x_1+\theta_2x_2+...+\theta_kx_k,\theta_1,\theta_2,...,\theta_k\geq 0 θ1x1+θ2x2+...+θkxk,θ1,θ2,...,θk0形式的点的组合称为 x 1 , x 2 , . . . , x k x_1,x_2,...,x_k x1,x2,...,xk的锥组合。(或非负线性组合)

定义4

锥包:
{ θ 1 x 1 + θ 2 x 2 + . . . + θ k x k ∣ ∀ x 1 , x 2 , . . . , x k ∈ C , θ 1 , θ 2 , . . , θ k ≥ 0 } \{\theta_1x_1+\theta_2x_2+...+\theta_kx_k|\forall x_1,x_2,...,x_k\in C,\theta_1,\theta_2,..,\theta_k\geq 0\} {θ1x1+θ2x2+...+θkxk∣∀x1,x2,...,xkC,θ1,θ2,..,θk0}
image-20230117215303407

小结

image-20230117220442316

重要概念

  • 空集 ∅ \empty 、任意的一个点都是仿射集的子集

  • 任意直线是仿射的,如果直线通过原点,则是子空间,因此,也是凸锥

  • 一条线段是凸的,但不是仿射的

  • 一条射线,即具有形式 { x 0 + θ v ∣ θ ≥ 0 } , v ≠ 0 \{x_0+\theta v|\theta\geq0\},v\neq 0 {x0+θvθ0},v=0的集合,是凸的,但不是仿射的;如果射线的基点 x 0 x_0 x0是原点,那么它是凸锥

  • 任意子空间是仿射的、凸锥(自然是凸的)

    空间一定要有原点,其次需要对加法和数乘封闭

  • 任意线段

    • 一定是凸集
    • 当是一个点时,是仿射集
    • 当是一个点且是原点时,是凸锥
超平面与半空间
超平面的定义

超平面是具有下面形式的集合:
{ x ∣ a T x = b } \{x|a^Tx=b\} {xaTx=b}
其中 a ∈ R n , a ≠ 0 a\in R^n,a\neq 0 aRn,a=0 b ∈ R b\in R bR。超平面是关于x的非平凡线性方程的解空间(因此是一个仿射集合)。

因此也是个凸集。另外,当b=0时,是一个凸锥。

考虑最简单的情况,二维空间中的条直线是超平面;三维空间中的一个平面是超平面;四维空间中的一个三维立体是超平面……超平面不一定是二维的,可以是一维、二维、三维、无穷维的。

几何解释:超平面可以看做法向量为 a \bold{a} a的平面,平移 x 0 x_0 x0得到的。推导如下:

image-20230118165713569

image-20230118165815215

半空间的定义

超平面将二维空间分成两个半空间。

image-20230118162157298

半空间是一个凸集,不是仿射集,不一定是凸锥(当b=0时是凸锥)。

Euclid球和椭球
Euclid球的定义

R n R^n Rn中的空间Euclid球具有下面的形式:
B ( x c , r ) = { x ∣ ∣ ∣ x − x c ∣ ∣ 2 ≤ r } = { x ∣ ( x − x c ) T ( x − x c ) ≤ r 2 } B(x_c,r)=\{x|||x-x_c||_2\leq r\}=\{x|(x-x_c)^T(x-x_c)\leq r^2\} B(xc,r)={x∣∣∣xxc2r}={x(xxc)T(xxc)r2}
其中r>0, ∣ ∣   ∣ ∣ 2 ||\ ||_2 ∣∣ 2代表Euclid范数,即 ∣ ∣ u ∣ ∣ 2 = ( u T u ) 1 / 2 ||u||_2=(u^Tu)^{1/2} ∣∣u2=(uTu)1/2 x c x_c xc是球心,标量r是半径。

Euclid球是凸集的证明

在球中任意选取两个点 x 1 , x 2 x_1,x_2 x1,x2,则满足: ∣ ∣ x 1 − x c ∣ ∣ c ≤ r , ∣ ∣ x 2 − x c ∣ ∣ c ≤ r ||x_1-x_c||_c\leq r,||x_2-x_c||_c\leq r ∣∣x1xccr,∣∣x2xccr,并且 θ ∈ [ 0 , 1 ] \theta\in[0,1] θ[0,1],那么要证明Euclid球是凸集,即需要证明任意的两个点的线性组合 θ x 1 + ( 1 − θ ) x 2 \theta x_1+(1-\theta)x_2 θx1+(1θ)x2仍在球内,即:
∣ ∣ θ x 1 + ( 1 − θ ) x 2 − x c ∣ ∣ 2 ≤ r ||\theta x_1+(1-\theta)x_2-x_c||_2\leq r ∣∣θx1+(1θ)x2xc2r
image-20230118172504341image-20230118172720391

利用三角不等式,得证。

椭球的定义

ϵ = { x ∣ ( x − x c ) T P − 1 ( x − x c ) ≤ 1 } \epsilon=\{x|(x-x_c)^TP^{-1}(x-x_c)\leq 1\} ϵ={x(xxc)TP1(xxc)1}

其中 x c ∈ R n , P ∈ S + + n x_c\in R^n,P\in S^{n}_{++} xcRn,PS++n,即P是n维对称正定矩阵。 x c x_c xc是椭球的中心。矩阵P决定了椭球从 x c x_c xc向各个方向扩展的幅度。 ϵ \epsilon ϵ的半周长由 λ i \sqrt{\lambda_i} λi 给出,这里 λ i \sqrt{\lambda_i} λi 为P的特征值。

多面体

多面体被定义为有限个线性等式和不等式的解集
P = { x ∣ a j T x ≤ b j , j = 1 , . . . , m , c j T x = d j , j = 1 , . . . , p } P=\{x|a_j^Tx\leq b_j,j=1,...,m,c_j^Tx=d_j,j=1,...,p\} P={xajTxbj,j=1,...,m,cjTx=dj,j=1,...,p}
多面体是有限个半空间和超平面的交集。仿射集合(例如子空间、超平面、直线)、射线、线段和半空间是多面体。可使用紧凑的表达式:

image-20230118193059785

注意

  • 多面体未必是有界的,比如一个半空间。

{ 有界多面体 无界多面体 \begin{cases}有界多面体\\无界多面体\end{cases} {有界多面体无界多面体

  • 超平面和半空间都是凸集,所以他们的交集:多面体一定是凸集
单纯形

单纯形是一种特殊的多面体。

单纯形的定义

定义: R n R^n Rn空间中选择 v 0 , v 1 . . . , v k v_0,v_1...,v_k v0,v1...,vk共k+1个点, v 1 − v 0 , . . . , v k − v 0 v_1-v_0,...,v_k-v_0 v1v0,...,vkv0线性无关,则与上述点相关的单纯形为:
C = c o n v { v 0 , . . . , v k } = { θ 0 v 0 + . . . + θ k v k ∣ θ ≥ 0 , 1 T θ = 1 } C=\bold{conv}\{v_0,...,v_k\}=\{\theta_0v_0+...+\theta_k v_k|\theta\geq 0,\bold{1}^T\theta=1\} C=conv{v0,...,vk}={θ0v0+...+θkvkθ0,1Tθ=1}
其中1表示所有分量均为1的向量。这个单纯形的仿射维数为k,因此也称为 R n R^n Rn空间的k维单纯形。

k一定小于n,因为k>n时,k个n维向量一定线性相关。

image-20230118201935195

如上图,二维空间的单纯形只有两种情形:

  • 一条线段
  • 一个三角形

二维空间中的单纯形一定不可能是四边形,因为无法找到4个点构成的向量是线性无关的。

类比可知,三维空间中的单纯形可以是线段、三角形、四面体。

单纯形是多面体的证明
img
半正定锥

对称矩阵集合: S n = { x ∈ R n × n ∣ x = x T } S^n=\{x\in R^{n\times n}|x=x^T\} Sn={xRn×nx=xT}

对称半正定矩阵集合: S + n = { x ∈ R n × n ∣ x = x T , x ⪰ 0 } S^n_+=\{x\in R^{n\times n}|x=x^T,x\succeq 0\} S+n={xRn×nx=xT,x0}

x ⪰ 0 x\succeq 0 x0表示矩阵的奇异值大于等于0

对称正定矩阵矩阵: S + + n = { x ∈ R n × n ∣ x = x T , x ≻ 0 } S^n_{++}=\{x\in R^{n\times n}|x=x^T,x\succ 0\} S++n={xRn×nx=xT,x0}

a. 证明: S + n S_+^n S+n是凸锥(Convex Cone)

∀ θ 1 , θ 2 ≥ 0 , ∀ A , B ∈ S + n \forall \theta_1,\theta_2\geq 0,\forall A,B\in S_+^n θ1,θ20,A,BS+n,证明 θ 1 A + θ 2 B ∈ S n + \theta_1A+\theta_2B\in S_n^+ θ1A+θ2BSn+

  • 对称性:易证明

  • 半正定:要证明矩阵A是半正定矩阵,即证明
    ∀ x ∈ R n , X T A X ≥ 0 \forall x\in R^n,X^TAX\geq 0 xRnXTAX0
    B同理。

    那么证明 θ 1 A + θ 2 B \theta_1 A+\theta_2B θ1A+θ2B是半正定的,即证明:
    ∀ x ∈ R n , X T ( θ 1 A + θ 2 B ) X ≥ 0 \forall x\in R^n,X^T(\theta_1A+\theta_2B)X\geq 0 xRnXT(θ1A+θ2B)X0
    又有:
    X T ( θ 1 A + θ 2 B ) X = θ 1 X T A X + θ 2 X T B ∵ 矩阵 A 和矩阵 B 是半正定的, ∴ θ 1 X T A X + θ 2 X T B ≥ 0 成立 X^T(\theta_1A+\theta_2B)X=\theta_1 X^TAX+\theta_2X^TB\\ ∵矩阵A和矩阵B是半正定的,\\∴\theta_1 X^TAX+\theta_2X^TB\geq 0成立 XT(θ1A+θ2B)X=θ1XTAX+θ2XTB矩阵A和矩阵B是半正定的,θ1XTAX+θ2XTB0成立
    即,对称半正定矩阵是一个凸锥,故也一定是一个凸集。

b. 证明: S n S^n Sn是凸锥(Convex Cone)

证明 S n S_n Sn是凸锥,即证明 ∀ A , B ∈ S n , θ 1 , θ 2 ≥ 0 , θ 1 A + θ 2 B ∈ S n \forall A,B\in S^n,\theta_1,\theta_2\geq 0,\theta_1A+\theta_2B\in S^n A,BSn,θ1,θ20,θ1A+θ2BSn,即证明 ( θ 1 A + θ 2 B ) T = θ 1 A + θ 2 B (\theta_1A+\theta_2B)^T=\theta_1A+\theta_2B (θ1A+θ2B)T=θ1A+θ2B,易知,结论成立。

c. 证明: S + + n S_{++}^n S++n是凸集(Convex Sets)

证明 S n S_n Sn是凸集,即证明 ∀ A , B ∈ S + + n , θ 1 , θ 2 ∈ [ 0 , 1 ] , θ 1 + θ 2 = 1 , θ 1 A + θ 2 B ∈ S + + n \forall A,B\in S_{++}^n,\theta_1,\theta_2\in [0,1],\theta_1+\theta_2=1,\theta_1A+\theta_2B\in S_{++}^n A,BS++n,θ1,θ2[0,1],θ1+θ2=1,θ1A+θ2BS++n,即证明
( θ 1 A + θ 2 B ) T = θ 1 A + θ 2 B X T ( θ 1 A + θ 2 B ) X = θ 1 X T A X + θ 2 X T B X > 0 (1) (\theta_1A+\theta_2B)^T=\theta_1A+\theta_2B\tag{1}\\ X^T(\theta_1A+\theta_2B)X=\theta_1X^TAX+\theta_2X^TBX>0 (θ1A+θ2B)T=θ1A+θ2BXT(θ1A+θ2B)X=θ1XTAX+θ2XTBX>0(1)
(1)成立,证毕。

保凸运算

交集

S 1 , S 2 S_1,S_2 S1,S2是凸集,那么 S 1 ∩ S 2 S_1\cap S_2 S1S2为凸。该结论可以拓展到无穷个集合的交:如果对于任意 α ∈ A , S α \alpha\in \mathcal{A},S_{\alpha} αASα都是凸的,那么 ⋂ α ∈ A S α \bigcap_{\alpha\in \mathcal{A}}S_{\alpha} αASα也是凸集。

两个集合的交集是凸集,但是两个集合的并集并不一定是凸集:

image-20230124171830218
仿射函数

函数 f f f R n → R m R^n\rightarrow R^m RnRm是仿射的,如果他是一个线性函数和一个常数的和,即具有 f ( x ) = A x + b f(x)=Ax+b f(x)=Ax+b的形式,其中 A ∈ R m × n , b ∈ R m A\in R^{m\times n},b\in R^m ARm×nbRm。假设 S ⊆ R n S\subseteq R^n SRn是凸的,并且 f : R n → R m f:R^n\rightarrow R^m f:RnRm是仿射函数。那么S在 f f f下的象
f ( S ) = { f ( x ) ∣ x ∈ S } f(S)=\{f(x)|x\in S\} f(S)={f(x)xS}
是凸的。

如果一个集合是凸集的话,那么他经过一个仿射函数的变换,结果仍是一个凸集。

image-20230124174443290

g: R n → R m R^n\rightarrow R^m RnRm为仿射, g − 1 ( S ) = { x ∣ f ( x ) ∈ S } g^{-1}(S)=\{x|f(x)\in S\} g1(S)={xf(x)S}

image-20230124175147306
仿射应用的例子

如果一个集合是凸集,那么进行缩放与移位后,得到的集合仍是凸性的。即:缩放和移位保持凸性。

缩放:
α S = { α x ∣ x ∈ S } \alpha S=\{\alpha x| x\in S\} αS={αxxS}
移位:
S + a = { x + a ∣ x ∈ S } S+a=\{x+a|x\in S\} S+a={x+axS}
集合的和:

两个凸集的和是凸的,集合的和可以定义为:
S 1 + S 2 = { x + y ∣ x ∈ S 1 , y ∈ S 2 } S_1+S_2=\{x+y|x\in S_1,y\in S_2\} S1+S2={x+yxS1,yS2}

注意集合的和与并集的区别

仿射映射其实考虑的是从一个集合映射到另一个集合,但集合的和是从两个集合到一个集合了,那么如何从仿射的角度去理解呢?尝试下面的定义方式:
S 1 × S 2 = { ( x , y ) ∣ x ∈ S 1 , y ∈ S 2 } S_1\times S_2=\{(x,y)|x\in S_1,y\in S_2\} S1×S2={(x,y)xS1,yS2}
如果 S 1 S_1 S1 S 2 S_2 S2是凸集,那么 S 1 × S 2 S_1\times S_2 S1×S2也是凸集。

从这个角度去理解加法:
f ( x , y ) = x + y = ( 1 , 1 ) ( x , y ) T f(x,y)=x+y=(1,1)(x,y)^T f(x,y)=x+y=(1,1)(x,y)T
即,两个集合是凸集,那么求和之后的结果仍是凸集。

image-20230128153840896

凸集+非凸集,结果可能是凸集,无法保证


例:线性矩阵不等式的解
A ( x ) = X 1 A 1 + . . . . . . + X n A n ⪯ B A(x)=X_1A_1+......+X_nA_n\preceq B A(x)=X1A1+......+XnAnB
称为关于 x x x线性矩阵不等式(LMI),其中 B , A i , X i ∈ S m B,A_i,X_i\in \bold{S}^m B,Ai,XiSm,**线性矩阵不等式的解 { x ∣ A ( x ) ⪯ B } \{x|A(x)\preceq B\} {xA(x)B}是凸集。**上式可以转换为:
( A ( x ) − B ) ≤ 0 (A(x)-B)\leq 0 (A(x)B)0
( A ( x ) − B ) (A(x)-B) (A(x)B)是一个半负定的矩阵。

每个x是由n个对称的矩阵构成。

例:椭球是球的仿射映射
ϵ = { x ∣ ( x − x c ) T P − 1 ( x − x c ) ≤ 1 } , P ∈ S + + n \epsilon=\{x|(x-x_c)^TP^{-1}(x-x_c)\leq 1\},P\in S_{++}^n ϵ={x(xxc)TP1(xxc)1}PS++n
如何映射,考虑单位球:
{ u ∣   ∣ ∣ u ∣ ∣ 2 ≤ 1 } \{u|\ ||u||_2\leq 1\} {u ∣∣u21}
考虑仿射映射:
f ( u ) = P 1 2 u + X c f(u)=P^{\frac{1}{2}}u+X_c f(u)=P21u+Xc
那么从球映射到椭球可以表示为:
{ f ( u ) ∣   ∣ ∣ u ∣ ∣ 2 ≤ 1 } = { P 1 2 u + X c ∣   ∣ ∣ u ∣ ∣ 2 ≤ 1 } \{f(u)|\ ||u||_2\leq 1\}\\ =\{P^{\frac{1}{2}}u+X_c|\ ||u||_2\leq 1\}\\ {f(u) ∣∣u21}={P21u+Xc ∣∣u21}
变量替换,定义:
X = P 1 2 u + X c X=P^{\frac{1}{2}}u+X_c X=P21u+Xc
那么:
u = P − 1 2 ( X − X c ) u=P^{-\frac{1}{2}}(X-X_c) u=P21(XXc)
代入:
{ f ( u ) ∣   ∣ ∣ u ∣ ∣ 2 ≤ 1 } = { P 1 2 u + X c ∣   ∣ ∣ u ∣ ∣ 2 ≤ 1 } = { X ∣   ∣ ∣ P − 1 2 ( X − X c ) ∣ ∣ 2 ≤ 1 } = { X ∣ ( X − X c ) T P − 1 ( X − X c ) ≤ 1 } \{f(u)|\ ||u||_2\leq 1\}\\ =\{P^{\frac{1}{2}}u+X_c|\ ||u||_2\leq 1\}\\ =\{X|\ ||P^{-\frac{1}{2}}(X-X_c)||_2\leq 1\}\\ =\{X|(X-X_c)^TP^{-1}(X-X_c)\leq 1\} {f(u) ∣∣u21}={P21u+Xc ∣∣u21}={X ∣∣P21(XXc)21}={X(XXc)TP1(XXc)1}
得证。

透视函数

P : R n + 1 → R n P: R^{n+1}\rightarrow R^n P:Rn+1Rn

从n+1维到n维的降维,定义域:
d o m   P = R n × R + + dom\ P=R^n\times R_{++} dom P=Rn×R++
前最后一个数必须是正数。

透视函数为:
P ( z , t ) = z t , z ∈ R n , t ∈ R + + P(z,t)=\frac{z}{t},z\in R^n,t\in R_{++} P(z,t)=tz,zRn,tR++
结论:任何一个凸集,经过透视函数变换后得到的结果仍是一个凸集。

image-20230128194811742

image-20230128211335867

任意凸集的反透视映射仍是凸集。
P − 1 ( C ) = { ( x , t ) ∈ R n + 1 ∣ x t ∈ C , t > 0 } P^{-1}(C)=\{(x,t)\in R^{n+1}| \frac{x}{t}\in C,t>0\} P1(C)={(x,t)Rn+1txC,t>0}
证明:

( x 1 , t 1 ) ∈ P − 1 , ( x 2 , t 2 ) ∈ P − 1 (x_1,t_1)\in P^{-1},(x_2,t_2)\in P^{-1} (x1,t1)P1,(x2,t2)P1,要证 P − 1 ( C ) P^{-1}(C) P1(C)是凸集,即证 θ ( x 1 , t 1 ) + ( 1 − θ ) ( x 2 , t 2 ) ∈ P − 1 ( C ) \theta (x_1,t_1)+(1-\theta)(x_2,t_2)\in P^{-1}(C) θ(x1,t1)+(1θ)(x2,t2)P1(C),即证 θ ( x 1 , t 1 ) ( 1 − θ ) ( x 2 , t 2 ) ∈ C \frac{\theta (x_1,t_1)}{(1-\theta)(x_2,t_2)}\in C (1θ)(x2,t2)θ(x1,t1)C

image-20230128214919001
线性分式函数

线性分式函数是由透视函数和仿射函数复合而成。设 g : R n → R m + 1 g:R^n\rightarrow R^{m+1} g:RnRm+1是仿射的,即

image-20230128215132969

其中 A ∈ R m × n , b ∈ R m , c ∈ R n , d ∈ R A\in \bold{R}^{m\times n},b\in R^m,c\in R^n,d\in R ARm×n,bRm,cRn,dR,上述映射是一个仿射映射。

f = P ∘ g f=P\circ g f=Pg给出的函数 f : R n → R m f:R^n\rightarrow R^m f:RnRm
f ( x ) = ( A x + b ) / ( c T x + d ) , d o m f = { x ∣ c T x + d > 0 } f(x)=(Ax+b)/(c^Tx+d),\bold{dom}f=\{x|c^Tx+d>0\} f(x)=(Ax+b)/(cTx+d),domf={xcTx+d>0}
称为线性分式(或投射)函数。如果c=0, d>0,则f的定义域为 R n R^n Rn,并且 f f f是仿射函数。因此将仿射函数和线性函数视为特殊的线性分式函数。

注意:线性分式函数是一个很好的函数,具有保凸性质。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blanche117

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值