凸优化学习PART1

一、引言:优化问题简介

优化问题的定义

凸优化是优化的一种,是优化中比较容易的问题。在讲解优化问题前,首先说明什么是优化/数学规划(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 Rn→R——最优的准则

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

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)

例:

优化问题例子

数据拟合问题

若我们知道 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​=AXk−1​+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) uk​min​=k=1∑N​(XkT​QXk​+ukT​Ruk​)
——标准的凸优化问题

多用户的能量控制问题

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

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

空间中一个用户的发送会对另一个用户的接收产生干扰,其中用户 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=1​pj​pi​​

通信码率 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}) fi​∼log(1+δi​+∑j=i​pi​pi​​)——香农定理

作为运营商,我们希望码率尽可能大,那么优化目标可以记做如下形式:
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=1∑N​fi​s.t.0≤pi​≤bi​

最短路径问题

定义下面的优化目标:

$$ \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)
    线性规划的可行解集合是一个多边形组成的区域,最优解一定是在顶点上。

  • 非线性规划:存在 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)
    凸函数和非凸函数的定义后续再详细说明,这里给出两个直观的认识:

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

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

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

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

方式3:光滑/非光滑

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

方式4:连续/离散

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

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

方式5:单目标/多目标

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

课程目标与内容

课程目标

  • 简单问题的求解:凸优化问题求解、单目标规划问题
  • 困难问题如何转换为简单问题:非凸问题转化为凸问题
  • 优化算法

主要内容

  • 凸集、凸函数、凸优化
  • 凸优化理论
  • 凸优化算法若干

二、凸集 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​=x2​∈Rn,那么过两点的唯一直线可以用参数 θ \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​+θ(x1​−x2​)
过 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​+θ(x1​−x2​)θ∈[0,1]

仿射集合

定义1

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

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

定义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​,...,xk​∈C,θ1​,θ2​,....,θk​∈R,θ1​+θ2​+...+θk​=1,有下面的定义:

  • 仿射组合:具有 θ 1 x 1 + θ 2 x 2 + . . . + θ k x k \theta_1x_1+\theta_2x_2+...+\theta_kx_k θ1​x1​+θ2​x2​+...+θk​xk​形式的点是 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​,...,xk​∈C,并且 θ 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 θ1​x1​+θ2​x2​+...+θk​xk​∈C

满足这样条件的集合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​,x3​∈C,θ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​θ1​​x1​+θ1​+θ2​θ2​​x2​∈C(θ1​+θ2​)(θ1​+θ2​θ1​​x1​+θ2​+θ2​θ1​​x2​)+(1−θ1​−θ2​)x3​∈C⇒θ1​x1​+θ2​x2​+θ3​x3​∈C

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

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

子空间

定义3

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

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

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

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

需证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​,v2​∈V,∀α,β∈R⇒αv1​+βv2​∈V
要证…即证: ∀ 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​,v2​∈V,∀α,β∈R⇒αv1​+βv2​+x0​∈C

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​+βv2​∈V

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

例2.1 线性方程组的解集。

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

由任意一个仿射集可以构造一个子空间来看,上述的线性方程组的解构成的仿射集也可以产生一个子空间。
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={x∣Ax=b},Ax0​=bV=C−x0​={x−x0​∣A(x−x0​)=0}={y∣Ay=0}
该集合称为A的化零空间。(齐次线性方程组)

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

仿射包

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

首先引入仿射包的概念:我们称由集合 C ⊆ R n C\subseteq R^n C⊆Rn中所有点的仿射组合组成的集合为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={θ1​x1​+θ2​x2​+...+θk​xk​∣x1​,x2​,...,xk​∈C,θ1​+θ2​+...+θk​=1}
仿射包是包含C的最小仿射集,也就是说:如果S是满足 C ⊆ S C\subseteq S C⊆S的仿射集合,那么 a f f C ⊆ S aff\ C\subseteq S aff C⊆S。

凸集(Convex Set)

凸集的概念

定义1

集合C是凸集,当任意两点间的线段仍在C中,即对于任意 x 1 , x 2 ∈ C x_1,x_2\in C x1​,x2​∈C和满足 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−θ)x2​∈C

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

定义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​,...,xk​∈C,θ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 θ1​x1​+θ2​x2​+...+θk​xk​为凸组合。

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

定义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​,...,xk​∈C,θ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\} {θ1​x1​+θ2​x2​+...+θk​xk​∣∀x1​,x2​,...,xk​∈C,θ1​,θ2​,..,θk​∈[0,1],θ1​+θ2​+...+θk​=1}

图形表示

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

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

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

锥(Cone)

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

锥的定义

定义1

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

定义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​,x2​∈C,θ1​,θ2​≥0,有θ1​x1​+θ2​x2​∈C

定义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 θ1​x1​+θ2​x2​+...+θk​xk​,θ1​,θ2​,...,θk​≥0形式的点的组合称为 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\} {θ1​x1​+θ2​x2​+...+θk​xk​∣∀x1​,x2​,...,xk​∈C,θ1​,θ2​,..,θk​≥0}

小结

重要概念

  • 空集 ∅ \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\} {x∣aTx=b}
其中 a ∈ R n , a ≠ 0 a\in R^n,a\neq 0 a∈Rn,a=0且 b ∈ R b\in R b∈R。超平面是关于x的非平凡线性方程的解空间(因此是一个仿射集合)。

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

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

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

半空间的定义

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

半空间是一个凸集,不是仿射集,不一定是凸锥(当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∣∣∣x−xc​∣∣2​≤r}={x∣(x−xc​)T(x−xc​)≤r2}
其中r>0, ∣ ∣ ∣ ∣ 2 ||\ ||_2 ∣∣ ∣∣2​代表Euclid范数,即 ∣ ∣ u ∣ ∣ 2 = ( u T u ) 1 / 2 ||u||_2=(u^Tu)^{1/2} ∣∣u∣∣2​=(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 ∣∣x1​−xc​∣∣c​≤r,∣∣x2​−xc​∣∣c​≤r,并且 θ ∈ [ 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−θ)x2​−xc​∣∣2​≤r

利用三角不等式,得证。

椭球的定义

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

其中 x c ∈ R n , P ∈ S + + n x_c\in R^n,P\in S^{n}_{++} xc​∈Rn,P∈S++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={x∣ajT​x≤bj​,j=1,...,m,cjT​x=dj​,j=1,...,p}
多面体是有限个半空间和超平面的交集。仿射集合(例如子空间、超平面、直线)、射线、线段和半空间是多面体。可使用紧凑的表达式:

注意

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

{ 有界多面体 无界多面体 \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 v1​−v0​,...,vk​−v0​线性无关,则与上述点相关的单纯形为:
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​}={θ0​v0​+...+θk​vk​∣θ≥0,1Tθ=1}
其中1表示所有分量均为1的向量。这个单纯形的仿射维数为k,因此也称为 R n R^n Rn空间的k维单纯形。

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

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

  • 一条线段
  • 一个三角形

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

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

单纯形是多面体的证明

半正定锥

对称矩阵集合: S n = { x ∈ R n × n ∣ x = x T } S^n=\{x\in R^{n\times n}|x=x^T\} Sn={x∈Rn×n∣x=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​={x∈Rn×n∣x=xT,x⪰0}

x ⪰ 0 x\succeq 0 x⪰0表示矩阵的奇异值大于等于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​={x∈Rn×n∣x=xT,x≻0}

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​,θ2​≥0,∀A,B∈S+n​,证明 θ 1 A + θ 2 B ∈ S n + \theta_1A+\theta_2B\in S_n^+ θ1​A+θ2​B∈Sn+​

  • 对称性:易证明

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

    那么证明 θ 1 A + θ 2 B \theta_1 A+\theta_2B θ1​A+θ2​B是半正定的,即证明:
    ∀ 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 ∀x∈Rn,XT(θ1​A+θ2​B)X≥0
    又有:
    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(θ1​A+θ2​B)X=θ1​XTAX+θ2​XTB∵矩阵A和矩阵B是半正定的,∴θ1​XTAX+θ2​XTB≥0成立
    即,对称半正定矩阵是一个凸锥,故也一定是一个凸集。

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,B∈Sn,θ1​,θ2​≥0,θ1​A+θ2​B∈Sn,即证明 ( θ 1 A + θ 2 B ) T = θ 1 A + θ 2 B (\theta_1A+\theta_2B)^T=\theta_1A+\theta_2B (θ1​A+θ2​B)T=θ1​A+θ2​B,易知,结论成立。

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,B∈S++n​,θ1​,θ2​∈[0,1],θ1​+θ2​=1,θ1​A+θ2​B∈S++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 (θ1​A+θ2​B)T=θ1​A+θ2​BXT(θ1​A+θ2​B)X=θ1​XTAX+θ2​XTBX>0(1)
(1)成立,证毕。

保凸运算

交集

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

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

仿射函数

函数 f f f: R n → R m R^n\rightarrow R^m Rn→Rm是仿射的,如果他是一个线性函数和一个常数的和,即具有 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 A∈Rm×n,b∈Rm。假设 S ⊆ R n S\subseteq R^n S⊆Rn是凸的,并且 f : R n → R m f:R^n\rightarrow R^m f:Rn→Rm是仿射函数。那么S在 f f f下的象
f ( S ) = { f ( x ) ∣ x ∈ S } f(S)=\{f(x)|x\in S\} f(S)={f(x)∣x∈S}
是凸的。

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

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

仿射应用的例子

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

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

两个凸集的和是凸的,集合的和可以定义为:
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+y∣x∈S1​,y∈S2​}

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

仿射映射其实考虑的是从一个集合映射到另一个集合,但集合的和是从两个集合到一个集合了,那么如何从仿射的角度去理解呢?尝试下面的定义方式:
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)∣x∈S1​,y∈S2​}
如果 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
即,两个集合是凸集,那么求和之后的结果仍是凸集。

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


例:线性矩阵不等式的解
A ( x ) = X 1 A 1 + . . . . . . + X n A n ⪯ B A(x)=X_1A_1+......+X_nA_n\preceq B A(x)=X1​A1​+......+Xn​An​⪯B
称为关于 x x x的线性矩阵不等式(LMI),其中 B , A i , X i ∈ S m B,A_i,X_i\in \bold{S}^m B,Ai​,Xi​∈Sm,**线性矩阵不等式的解 { x ∣ A ( x ) ⪯ B } \{x|A(x)\preceq B\} {x∣A(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∣(x−xc​)TP−1(x−xc​)≤1},P∈S++n​
如何映射,考虑单位球:
{ u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } \{u|\ ||u||_2\leq 1\} {u∣ ∣∣u∣∣2​≤1}
考虑仿射映射:
f ( u ) = P 1 2 u + X c f(u)=P^{\frac{1}{2}}u+X_c f(u)=P21​u+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)∣ ∣∣u∣∣2​≤1}={P21​u+Xc​∣ ∣∣u∣∣2​≤1}
变量替换,定义:
X = P 1 2 u + X c X=P^{\frac{1}{2}}u+X_c X=P21​u+Xc​
那么:
u = P − 1 2 ( X − X c ) u=P^{-\frac{1}{2}}(X-X_c) u=P−21​(X−Xc​)
代入:
{ 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)∣ ∣∣u∣∣2​≤1}={P21​u+Xc​∣ ∣∣u∣∣2​≤1}={X∣ ∣∣P−21​(X−Xc​)∣∣2​≤1}={X∣(X−Xc​)TP−1(X−Xc​)≤1}
得证。

透视函数

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

从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​,z∈Rn,t∈R++​
结论:任何一个凸集,经过透视函数变换后得到的结果仍是一个凸集。

任意凸集的反透视映射仍是凸集。
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\} P−1(C)={(x,t)∈Rn+1∣tx​∈C,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​)∈P−1,(x2​,t2​)∈P−1,要证 P − 1 ( C ) P^{-1}(C) P−1(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​)∈P−1(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

线性分式函数

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

其中 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 A∈Rm×n,b∈Rm,c∈Rn,d∈R,上述映射是一个仿射映射。

f = P ∘ g f=P\circ g f=P∘g给出的函数 f : R n → R m f:R^n\rightarrow R^m f:Rn→Rm
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={x∣cTx+d>0}
称为线性分式(或投射)函数。如果c=0, d>0,则f的定义域为 R n R^n Rn,并且 f f f是仿射函数。因此将仿射函数和线性函数视为特殊的线性分式函数。

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

凸优化学习:PART1凸集相关推荐

  1. 凸优化学习(二)——凸集

    注意,本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目:https://github.com/Kivy-CN/Stanford-CS-229-CN 中的凸优化部分的内容进行翻译学习. 2. 凸 ...

  2. 凸优化学习-(二十九)有约束优化算法——增广拉格朗日法、交替方向乘子法(ADMM)

    凸优化学习 我们前面说过,拉格朗日法在实际中应用不大.为什么呢?因为 α \alpha α的取值很难取,这就导致拉格朗日法鲁棒性很低,收敛很慢,解很不稳定.于是就有了今天的增广拉格朗日法和ADMM. ...

  3. 数学不好是原罪——凸优化学习笔记(个人学习记录汇总)

    中科大凸优化课程学习笔记 中科大凌青老师的课(现中山大学教授):中科大-凸优化 形而上学,不行退学,共勉!博客为个人手写笔记整理存档,不喜勿看. 凸优化学习笔记(一) 持续更新--

  4. 凸优化学习笔记 11:对偶原理 拉格朗日函数

    前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...

  5. 凸优化学习笔记:QP及SOCP问题

    凸优化学习笔记:QP及SOCP问题 QP问题 定义 是什么 几何意义 QP.QCQP.LP之间的关系 例子 最小二乘及回归问题 多面体间距离 方差定界问题 基于随机费用的线性规划(考虑随机变量的优化问 ...

  6. 凸优化学习笔记 15:梯度方法

    前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...

  7. 凸优化学习-(十八)对偶性Duality 拉格朗日函数与对偶函数

    凸优化学习 对偶性是凸优化学习的核心,重中之重. 学习笔记 一.拉格朗日函数与对偶函数 对于一个普通优化问题: min⁡f0(x)s.t.fi(x)≤0i=1⋯mhi(x)=0i=1⋯p\begin{ ...

  8. 【凸优化学习笔记3】几种重要的凸集

    参考资料: 1.凌青老师的凸优化课(b站) 2.Stephen Boyd的<凸优化>中译本(清华大学出版社) 全部使用LaTex公式书写 文章目录 仿射集.凸集.凸锥总结 几种重要的凸集 ...

  9. 凸优化第一【凸集与凸优化简介】

    [本文仅供学习记录,概无其他用处,一些图片资源来自网络,侵删] 凸优化是一个简单的优化问题,优化-数学规划概念相同,本课程主要学习的内容包括:凸集.凸函数.凸优化和有关凸优化的一些算法. 优化:从一个 ...

最新文章

  1. 将SVN的代码推送到码云的步骤
  2. Transformer升级之路:二维位置的旋转式位置编码
  3. 【face-landmarks】人脸关键点检测汇总
  4. orale用户密码过期处理
  5. erwin 不能输入中文_国产开源建模软件PDMan与国外商业建模软件ERwin的主要功能比较...
  6. pandas对dataframe内部数据的增删改查操作整理汇总
  7. LeetCode81. 搜索旋转排序数组 II(二分查找)
  8. PostgreSQL 在Ubuntu下如何修改postgres默认密码
  9. Practise 5.2测试与封装(黑白盒
  10. WebShell脚本检测机器学习二
  11. ASIC与FPGA的最大区别是什么 可否相互替代
  12. vue:antV G2在vue中的使用(阿里图表,类似echarts)
  13. SPSS-非参数检验
  14. Matplotlib——线图_axis()函数
  15. PyTorch深度学习实践概论笔记8练习-kaggle的Titanic数据集预测(一)数据分析
  16. 你需掌握的CSS知识都在这了
  17. 《Word2vec》1 模型的引入介绍与相关概念
  18. Win7下eclipse ADT调试cocos2dx-lua工程
  19. Ubuntu20.04ssh服务器和客户端配置
  20. 腾讯新闻评论数据爬取

热门文章

  1. 博彦科技[前端开发面试题]
  2. Lambda架构和Kappa架构
  3. 欧几里得+扩展欧几里得+RSA
  4. C++中关于二维矩阵和三维矩阵的计算
  5. 计算机头脑风暴知识竞赛PPT,头脑风暴竞头脑 知识竞赛赛知识
  6. ASP.NET下FCKeditor配置方法全解
  7. python雷达图详解_Python成绩单雷达图
  8. 怎么合并音频?合并音频的软件有哪些?
  9. 使用超级计算机计算任务是一种什么样的体验?
  10. Cronette 1.9 Mac 破解版 定时执行任务管理应用