凸优化学习:PART1凸集

news2024/11/15 18:53:14

凸优化学习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是仿射函数。因此将仿射函数和线性函数视为特殊的线性分式函数。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/185008.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搭建electron开发环境

electron是使用js,html,css构建桌面端应用程序的框架,可以使用electron开发Windows和Mac端应用。 安装nodejs,npm,cnpm 首先需要安装nodejs,npm和cnpm,安装后在命令行输入 node -v 和npm -v,如果输出了版本号,说明已经正常安装。…

数据仓库-数据模型建设方法总结(全)

一、大数据领域建模综述 1.1 为什么需要数据建模 有结构地分类组织和存储是我们面临的一个挑战。 数据模型强调从业务、数据存取和使用角度合理存储数据。 数据模型方法,以便在性能、成本、效率之间取得最佳平衡 成本:良好的数据模型能极大地减少不必…

MyBatis:批量添加记录

MyBatis,一款优秀的ORM映射框架,可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。同时,MyBatis提供了动态SQL特性&#x…

梦熊杯-十二月月赛-白银组题解-C.永恒

C. Problem C.永恒(eternity.cpp) 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述: 「稻妻」是「永恒」的国度。 巴尔泽布认为,如果一个数…

感知机与门电路

前言:简述单层感知机特征及三种表示方式,并用单层感知机描述门电路,借由单层感知机无法处理非线性空间的问题,引出多层感知机。 单层感知机 感知机(preceptron)接收多个输入信号,输出一个信号…

【Kubernetes 企业项目实战】05、基于云原生分布式存储 Ceph 实现 K8s 数据持久化(上)

目录 一、分布式存储 Ceph 基本介绍 1.1 块存储(rbd) 1.2 文件系统 cephfs 1.3 对象存储 1.4 分布式存储的优点 二、Ceph 核心组件介绍 三、准备安装 Ceph 高可用集群的实验环境 3.1 机器配置 3.2 初始化环境 3.3 配置互信 3.4 配置 Ceph 安…

【精选博客】反爬过程中 x-ca-nonce、x-ca-signature 参数的解密过程

本篇博客在 请求头 x-ca-key、x-ca-nonce、x-ca-signature 加密分析第一篇 的基础上继续编写,大家学习时可以从上一篇入手。 文章目录x-ca-nonce 代码实现python 实现 uuidx-ca-signature代码实现在上一篇博客我们已经捕获了参数的JS代码,这篇博客重点要…

Java设计模式-策略模式Strategy

介绍 策略模式(Strategy Pattern)中,定义算法族(策略组),分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。这算法体现了几个设计原则,第…

这些学习技巧学起来

技巧一:组合多个对象 在PPT页面插入多个图形后,想要移动这些元素时,很多小伙伴会挨个拖动进行位置调整。其实,我们大可以使用快捷键【CtrlG】将多个同类的元素进行组合,使其成为一个图形元素,这样就可以方…

springboot整合mybatis-plus及mybatis-plus分页插件的使用

springboot整合mybatis-plus及mybatis-plus分页插件的使用1. mybatis-plus?2. 引入依赖3. 编写配置文件4. 编写sql表5. mapper层5.1 mybatis-plus做了什么?及创建mapper接口5.2 baseMapper源码6. service层及controller层6.1 service层6.2 controller层6.2.1 page对…

【html】超链接样式

超链接样式超链接样式超链接样式 根据超链接的类型&#xff0c;显示不同图片的前缀 根据 <!doctype html> <html> <head> <meta charset"utf-8"> <title></title> <style type"text/css"> body {background: …

C# 托管堆遭破坏问题溯源分析

一&#xff1a;背景 1. 讲故事 年前遇到了好几例托管堆被损坏的案例&#xff0c;有些运气好一些&#xff0c;从被破坏的托管堆内存现场能观测出大概是什么问题&#xff0c;但更多的情况下是无法做出准确判断的,原因就在于生成的dump是第二现场&#xff0c;借用之前文章的一张…

Exynos4412 移植针对Samsung的Linux-6.1(四)NandFlash卡驱动

系列文章目录 Exynos4412 移植针对Samsung的Linux-6.1&#xff08;一&#xff09;下载、配置、编译Linux-6.1Exynos4412 移植针对Samsung的Linux-6.1&#xff08;二&#xff09;SD卡驱动——解决无法挂载SD卡的根文件系统Exynos4412 移植针对Samsung的Linux-6.1&#xff08;三…

C++基础——C++ 循环

C基础——C 循环C 循环循环类型循环控制语句无限循环C 循环 有的时候&#xff0c;可能需要多次执行同一块代码。一般情况下&#xff0c;语句是顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了允许更为复杂…

计算机自动和声分析

思路&#xff1a;信号→和声 通过计算特征值&#xff08;特征向量&#xff09;区分音频的关键信息 Chroma特征向量 (32 条消息) 什么是 Chroma Features&#xff1f; - 知乎 (zhihu.com) 基本思想&#xff1a;音高听感的周期性 音高每高一个八度&#xff0c;就回到相似的听…

计算机相关专业提升学历的解决方案(博士研究生)

文章目录1、正规全日制博士1.1 申请 - 考核制1.2 硕博连读与直博2、继续教育&#xff08;非全日制&#xff09;2.1 在职博士2.2 同等学力申博3、海外博士3.1 海外博士3.2 中外合作博士博士录取政策 国内博士&#xff0c;没有具体的政策&#xff0c;招生权力下放到各个高校。 往…

Spark 行动算子

文章目录Spark 行动算子1、reduce2、collect3、count4、first5、take6、takeOrdered7、代码示例8、aggregate9、fold10、countByValue & countByKey (wordcount重点)Spark 行动算子 所谓的行动算子&#xff0c;其实就是触发作业执行的方法&#xff0c;之前的转换算子是不能…

Lua 模块与包

Lua 模块与包 参考至菜鸟教程。 模块类似于一个封装库&#xff0c;从 Lua 5.1 开始&#xff0c;Lua 加入了标准的模块管理机制&#xff0c;可以把一些公用的代码放在一个文件里&#xff0c;以 API 接口的形式在其他地方调用&#xff0c;有利于代码的重用和降低代码耦合度。 Lua…

一起自学SLAM算法:11.3 路径规划

连载文章&#xff0c;长期更新&#xff0c;欢迎关注&#xff1a; 路径规划其实就是在回答图11-1中机器人提出的第3个问题“我该如何去”&#xff0c;不管是在已知地图上导航或是在未知环境下通过一边探索地图一边导航&#xff0c;路径规划其实就是在地图上寻找到一条从起点到目…

CMMI3-5级如何高效落地?——CMMI落地4大工具

为了助力CMMI3-5级高效落地&#xff0c;近日CoCode旗下Co-ProjectV3.0智能项目管理平台全面升级&#xff0c;CMMI落地4大工具正式上线&#xff1a;CMMI成熟度自测工具、量化管理工具&#xff08;组织级过程改进工具和量化项目管理工具&#xff09;、组织级过程资产库。 01、CMM…