凸优化学习PART1

一、引言:优化问题简介
优化问题的定义
凸优化是优化的一种,是优化中比较容易的问题。在讲解优化问题前,首先说明什么是优化/数学规划(Optimization/Mathematical Planning)。
优化:从一个可行解的集合中寻找出最优的元素
三个要素:
- 可行解的集合
- 最优的标准
- 寻找的方案
优化问题的形式
minimize f0(X)subject to fi(X)≤bi,i=1,……M其中X=[x1,x2,...,xn]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
f0f_0f0:目标函数,为n维空间到一维空间的映射,Rn→RR^n\to RRn→R——最优的准则
fif_ifi:不等式约束,为n维空间到一维空间的映射,Rn→RR^n\to RRn→R——以此找出可行解的集合
X∗X^*X∗:最优解,等价于∀z,z∈{fi(z)≤bi,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,ca,b,ca,b,c中某些数的取值范围,那么这样一个优化问题就会变成一个有约束的优化问题。
线性二次调节器:LQR
控制中描述离散动态系统的简单形式:
Xk=AXk−1+Buk
X_k=AX_{k-1}+Bu_k
Xk=AXk−1+Buk
XkX_kXk:系统在k时刻的状态
XkX_kXk:系统在k时刻的状态
A:状态转移矩阵
uku_kuk:k时刻的输入
BBB:输入矩阵
有下面的目标函数:
minuk=∑k=1N(XkTQXk+ukTRuk)
\min_{u_k}=\sum_{k=1}^N(X_k^TQX_k+u_k^TRu_k)
ukmin=k=1∑N(XkTQXk+ukTRuk)
——标准的凸优化问题
多用户的能量控制问题
通信中的问题:三维空间中有很多的发送者和接收者,发送者记做TxT_xTx,接收者称作RxR_xRx。

每个用户都以能量pip_ipi发送信号,0≤pi≤bi0\leq p_i\leq b_i0≤pi≤bi。
空间中一个用户的发送会对另一个用户的接收产生干扰,其中用户iii对用户jjj产生的干扰记做αij\alpha_{ij}αij。
通信链路存在噪声,高斯白噪声的噪声方差记做δi2\delta_i^2δi2
信噪比SINR定义为:SINR=piδi2+∑j≠1pjSINR=\frac{p_i}{\delta_i^2+\sum_{j\neq1}p_j}SINR=δi2+∑j=1pjpi
通信码率fi∼log(1+piδi+∑j≠ipi)f_i\sim log(1+\frac{p_i}{\delta_i+\sum_{j\neq i}p_i})fi∼log(1+δi+∑j=ipipi)——香农定理
作为运营商,我们希望码率尽可能大,那么优化目标可以记做如下形式:
max∑i=1Nfis.t.0≤pi≤bi
\max \sum_{i=1}^Nf_i\\
s.t. 0\leq p_i\leq b_i
maxi=1∑Nfis.t.0≤pi≤bi
最短路径问题
定义下面的优化目标:

优化问题的分类
方式1:线性规划/非线性规划
-
线性规划:f0,f1,...,fMf_0,f_1,...,f_Mf0,f1,...,fM都为线性函数
线性的概念:
fi(αx+βy)=αfi(x)+βfi(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)
线性规划的可行解集合是一个多边形组成的区域,最优解一定是在顶点上。 -
非线性规划:存在fif_ifi为非线性函数
方式2:凸规划/非凸规划
-
凸规划:fif_ifi都要是凸函数
凸函数的定义:
fi(αx+βy)≤αfi(x)+βfi(y),∀ii=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)
凸函数和非凸函数的定义后续再详细说明,这里给出两个直观的认识:- 凸函数有且只有一个全局最优解
- 非凸函数可能有多个局部最优解
同时易知,任何线性规划问题都是凸优化问题。【满足等式必然满足不等式】
-
非凸规划:存在fif_ifi不是凸函数
一般来说,凸规划是比较容易求解的问题,非凸规划是较难解决的问题。
方式3:光滑/非光滑
光滑与非光滑是针对f0(x)f_0(x)f0(x)而言的,光滑即函数在任意一点都是无穷阶可微的。光滑问题是较简单的问题。但光滑与非光滑对于优化问题的难度来说不是一个本质上的难度划分标准,凸与非凸才是。
方式4:连续/离散
离散问题是难问题,一般来说都属于难问题。但连续问题不一定是凸问题,即不一定是非难的。
连续问题与离散问题的可行域如下:

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

课程目标与内容
课程目标
- 简单问题的求解:凸优化问题求解、单目标规划问题
- 困难问题如何转换为简单问题:非凸问题转化为凸问题
- 优化算法
主要内容
- 凸集、凸函数、凸优化
- 凸优化理论
- 凸优化算法若干
二、凸集 Convex Sets
优化问题的一般形式:
minf0(x)s.t.fi(x)≤bi,i=1,...,mx=[x1,...,xn]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)
直线与线段
空间中的两个点:x1≠x2∈Rnx_1\neq x_2 \in R^nx1=x2∈Rn,那么过两点的唯一直线可以用参数θ\thetaθ表示
y=θx1+(1−θ)x2=x2+θ(x1−x2)
y=\theta x_1+(1-\theta)x_2=x_2+\theta(x_1-x_2)
y=θx1+(1−θ)x2=x2+θ(x1−x2)
过x1x_1x1和x2x_2x2的线段可以表示为:
y=θx1+(1−θ)x2=x2+θ(x1−x2)θ∈[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⊆RnC\subseteq R^nC⊆Rn中任意两个不同点的直线仍然在集合C中,那么称集合C是仿射的。⇔∀x1,x2∈C,θ∈R\Leftrightarrow \forall x_1,x_2\in C,\theta\in R⇔∀x1,x2∈C,θ∈R有θx1+(1−θ)x2∈C\theta x_1+(1-\theta)x_2\in Cθx1+(1−θ)x2∈C。换而言之,C包含了C中任意两点的系数之和为1的线性组合。
- 直线是仿射集吗?——是,直线是点的集合
- 线段是仿射集吗?——不是,连接的直线可能超出该线段
- 二维空间是仿射集吗?——是
- 空间中的正方形是仿射集吗?——不是

定义2
仿射集的数学定义:
设x1,x2,...,xk∈C,θ1,θ2,....,θk∈R,θ1+θ2+...+θk=1x_1,x_2,...,x_k\in C,\theta_1,\theta_2,....,\theta_k\in R,\theta_1+\theta_2+...+\theta_k=1x1,x2,...,xk∈C,θ1,θ2,....,θk∈R,θ1+θ2+...+θk=1,有下面的定义:
- 仿射组合:具有θ1x1+θ2x2+...+θkxk\theta_1x_1+\theta_2x_2+...+\theta_kx_kθ1x1+θ2x2+...+θkxk形式的点是x1,x2,...,xkx_1,x_2,...,x_kx1,x2,...,xk的仿射组合
- 一个仿射集合包含任意点的放射组合,即如果C是仿射集合,x1,x2,...,xk∈Cx_1,x_2,...,x_k\in Cx1,x2,...,xk∈C,并且θ1+θ2+...+θk=1\theta_1+\theta_2+...+\theta_k=1θ1+θ2+...+θk=1,那么任意仿射组合θ1x1+θ2x2+...+θkxk∈C\theta_1x_1+\theta_2x_2+...+\theta_kx_k\in Cθ1x1+θ2x2+...+θkxk∈C
满足这样条件的集合C是仿射集。
易知,当k=2k=2k=2时,退化为定义1,其实定义2是最初定义1的泛化。
定义等价性证明
- 假设已有定义1,尝试将2个点的情况推广到3个点
有仿射集C,x1,x2,x3∈C,θ1+θ2+θ3=1x_1,x_2,x_3\in C, \theta_1+\theta_2+\theta_3=1x1,x2,x3∈C,θ1+θ2+θ3=1,有下面的仿射组合:
θ1θ1+θ2x1+θ2θ1+θ2x2∈C(θ1+θ2)(θ1θ1+θ2x1+θ1θ2+θ2x2)+(1−θ1−θ2)x3∈C⇒θ1x1+θ2x2+θ3x3∈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θ2x2∈C(θ1+θ2)(θ1+θ2θ1x1+θ2+θ2θ1x2)+(1−θ1−θ2)x3∈C⇒θ1x1+θ2x2+θ3x3∈C
-
假设已经有定义2,能不能推出定义1
由上面退化的说法,知成立。
子空间


定义3
与C相关的子空间:如果C是一个仿射集合,且x0∈Cx_0\in Cx0∈C,则集合
V=C−x0={x−x0∣x∈C}
V=C-x_0=\{x-x_0|x\in C\}
V=C−x0={x−x0∣x∈C}
是一个子空间,即关于加法和数乘是封闭的。
将仿射集C相对于x0x_0x0做平移
-
证明1:证明V是一个仿射集
-
证明2:证明V是一个特殊的满足对任意αx1+βx2∈V\alpha x_1+\beta x_2\in Vαx1+βx2∈V的特殊仿射集
需证1和2,即需证:设∀v1,v2∈V,∀α,β∈R⇒αv1+βv2∈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
要证…即证:∀v1,v2∈V,∀α,β∈R⇒αv1+βv2+x0∈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

x0x_0x0的选择是任意的。
另一种理解:x是直线上的点,x0x_0x0也是直线上的点,不管x0x_0x0取多少,总存在一个x和x0x_0x0是一个点,那么就平移到了原点。所以必然过原点,即满足αv1+βv2∈V\alpha v_1+\beta v_2\in Vαv1+βv2∈V
即,任意一个仿射集可以导出一个性质更好的仿射集。新的仿射集称为原仿射集的子空间。
例2.1 线性方程组的解集。

任何一个线性方程组的解集必然是仿射集。
由任意一个仿射集可以构造一个子空间来看,上述的线性方程组的解构成的仿射集也可以产生一个子空间。
C={x∣Ax=b},Ax0=bV=C−x0={x−x0∣A(x−x0)=0}={y∣Ay=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⊆RnC\subseteq R^nC⊆Rn中所有点的仿射组合组成的集合为C的仿射包,记为aff C
aff C={θ1x1+θ2x2+...+θkxk∣x1,x2,...,xk∈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+...+θkxk∣x1,x2,...,xk∈C,θ1+θ2+...+θk=1}
仿射包是包含C的最小仿射集,也就是说:如果S是满足C⊆SC\subseteq SC⊆S的仿射集合,那么aff C⊆Saff\ C\subseteq Saff C⊆S。
凸集(Convex Set)
凸集的概念
定义1
集合C是凸集,当任意两点间的线段仍在C中,即对于任意x1,x2∈Cx_1,x_2\in Cx1,x2∈C和满足0≤θ≤10\leq \theta\leq 10≤θ≤1的θ\thetaθ都有:
θx1+(1−θ)x2∈C
\theta x_1+(1-\theta)x_2\in C
θx1+(1−θ)x2∈C
仿射集一定是凸集,仿射集是凸集的特例。
定义2
凸组合:任意x1,x2,...,xk∈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,那么称θ1x1+θ2x2+...+θkxk\theta_1x_1+\theta_2x_2+...+\theta_kx_kθ1x1+θ2x2+...+θkxk为凸组合。
点的凸组合可以看做他们的混合或者加权平均。
定义3
C为凸集⇔\Leftrightarrow⇔任意凸组合属于C
定义4
凸包:C是凸集,x1,x2,...,xk∈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],那么凸包为:
{θ1x1+θ2x2+...+θkxk∣∀x1,x2,...,xk∈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,...,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是凸锥⇔∀x1,x2∈C,θ1,θ2≥0,有θ1x1+θ2x2∈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,有θ1x1+θ2x2∈C


定义3
锥组合:具有θ1x1+θ2x2+...+θkxk,θ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,...,θk≥0形式的点的组合称为x1,x2,...,xkx_1,x_2,...,x_kx1,x2,...,xk的锥组合。(或非负线性组合)
定义4
锥包:
{θ1x1+θ2x2+...+θkxk∣∀x1,x2,...,xk∈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,...,xk∈C,θ1,θ2,..,θk≥0}
小结

重要概念
-
空集∅\empty∅、任意的一个点都是仿射集的子集
-
任意直线是仿射的,如果直线通过原点,则是子空间,因此,也是凸锥
-
一条线段是凸的,但不是仿射的
-
一条射线,即具有形式{x0+θv∣θ≥0},v≠0\{x_0+\theta v|\theta\geq0\},v\neq 0{x0+θv∣θ≥0},v=0的集合,是凸的,但不是仿射的;如果射线的基点x0x_0x0是原点,那么它是凸锥
-
任意子空间是仿射的、凸锥(自然是凸的)
空间一定要有原点,其次需要对加法和数乘封闭
-
任意线段
- 一定是凸集
- 当是一个点时,是仿射集
- 当是一个点且是原点时,是凸锥
超平面与半空间
超平面的定义
超平面是具有下面形式的集合:
{x∣aTx=b}
\{x|a^Tx=b\}
{x∣aTx=b}
其中a∈Rn,a≠0a\in R^n,a\neq 0a∈Rn,a=0且b∈Rb\in Rb∈R。超平面是关于x的非平凡线性方程的解空间(因此是一个仿射集合)。
因此也是个凸集。另外,当b=0时,是一个凸锥。
考虑最简单的情况,二维空间中的条直线是超平面;三维空间中的一个平面是超平面;四维空间中的一个三维立体是超平面……超平面不一定是二维的,可以是一维、二维、三维、无穷维的。
几何解释:超平面可以看做法向量为a\bold{a}a的平面,平移x0x_0x0得到的。推导如下:

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

半空间是一个凸集,不是仿射集,不一定是凸锥(当b=0时是凸锥)。
Euclid球和椭球
Euclid球的定义
RnR^nRn中的空间Euclid球具有下面的形式:
B(xc,r)={x∣∣∣x−xc∣∣2≤r}={x∣(x−xc)T(x−xc)≤r2}
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=(uTu)1/2||u||_2=(u^Tu)^{1/2}∣∣u∣∣2=(uTu)1/2。xcx_cxc是球心,标量r是半径。
Euclid球是凸集的证明
在球中任意选取两个点x1,x2x_1,x_2x1,x2,则满足:∣∣x1−xc∣∣c≤r,∣∣x2−xc∣∣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球是凸集,即需要证明任意的两个点的线性组合θx1+(1−θ)x2\theta x_1+(1-\theta)x_2θx1+(1−θ)x2仍在球内,即:
∣∣θx1+(1−θ)x2−xc∣∣2≤r
||\theta x_1+(1-\theta)x_2-x_c||_2\leq r
∣∣θx1+(1−θ)x2−xc∣∣2≤r
利用三角不等式,得证。
椭球的定义
ϵ={x∣(x−xc)TP−1(x−xc)≤1} \epsilon=\{x|(x-x_c)^TP^{-1}(x-x_c)\leq 1\} ϵ={x∣(x−xc)TP−1(x−xc)≤1}
其中xc∈Rn,P∈S++nx_c\in R^n,P\in S^{n}_{++}xc∈Rn,P∈S++n,即P是n维对称正定矩阵。xcx_cxc是椭球的中心。矩阵P决定了椭球从xcx_cxc向各个方向扩展的幅度。ϵ\epsilonϵ的半周长由λi\sqrt{\lambda_i}λi给出,这里λi\sqrt{\lambda_i}λi为P的特征值。
多面体
多面体被定义为有限个线性等式和不等式的解集
P={x∣ajTx≤bj,j=1,...,m,cjTx=dj,j=1,...,p}
P=\{x|a_j^Tx\leq b_j,j=1,...,m,c_j^Tx=d_j,j=1,...,p\}
P={x∣ajTx≤bj,j=1,...,m,cjTx=dj,j=1,...,p}
多面体是有限个半空间和超平面的交集。仿射集合(例如子空间、超平面、直线)、射线、线段和半空间是多面体。可使用紧凑的表达式:

注意
- 多面体未必是有界的,比如一个半空间。
{有界多面体无界多面体 \begin{cases}有界多面体\\无界多面体\end{cases} {有界多面体无界多面体
- 超平面和半空间都是凸集,所以他们的交集:多面体一定是凸集
单纯形
单纯形是一种特殊的多面体。
单纯形的定义
定义:RnR^nRn空间中选择v0,v1...,vkv_0,v_1...,v_kv0,v1...,vk共k+1个点,v1−v0,...,vk−v0v_1-v_0,...,v_k-v_0v1−v0,...,vk−v0线性无关,则与上述点相关的单纯形为:
C=conv{v0,...,vk}={θ0v0+...+θkvk∣θ≥0,1Tθ=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,因此也称为RnR^nRn空间的k维单纯形。
k一定小于n,因为k>n时,k个n维向量一定线性相关。

如上图,二维空间的单纯形只有两种情形:
- 一条线段
- 一个三角形
二维空间中的单纯形一定不可能是四边形,因为无法找到4个点构成的向量是线性无关的。
类比可知,三维空间中的单纯形可以是线段、三角形、四面体。
单纯形是多面体的证明

半正定锥
对称矩阵集合:Sn={x∈Rn×n∣x=xT}S^n=\{x\in R^{n\times n}|x=x^T\}Sn={x∈Rn×n∣x=xT}
对称半正定矩阵集合:S+n={x∈Rn×n∣x=xT,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⪰0x\succeq 0x⪰0表示矩阵的奇异值大于等于0
对称正定矩阵矩阵:S++n={x∈Rn×n∣x=xT,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+nS_+^nS+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,证明θ1A+θ2B∈Sn+\theta_1A+\theta_2B\in S_n^+θ1A+θ2B∈Sn+
-
对称性:易证明
-
半正定:要证明矩阵A是半正定矩阵,即证明
∀x∈Rn,XTAX≥0 \forall x\in R^n,X^TAX\geq 0 ∀x∈Rn,XTAX≥0
B同理。那么证明θ1A+θ2B\theta_1 A+\theta_2Bθ1A+θ2B是半正定的,即证明:
∀x∈Rn,XT(θ1A+θ2B)X≥0 \forall x\in R^n,X^T(\theta_1A+\theta_2B)X\geq 0 ∀x∈Rn,XT(θ1A+θ2B)X≥0
又有:
XT(θ1A+θ2B)X=θ1XTAX+θ2XTB∵矩阵A和矩阵B是半正定的,∴θ1XTAX+θ2XTB≥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+θ2XTB≥0成立
即,对称半正定矩阵是一个凸锥,故也一定是一个凸集。
b. 证明:SnS^nSn是凸锥(Convex Cone)
证明SnS_nSn是凸锥,即证明∀A,B∈Sn,θ1,θ2≥0,θ1A+θ2B∈Sn\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,θ1A+θ2B∈Sn,即证明(θ1A+θ2B)T=θ1A+θ2B(\theta_1A+\theta_2B)^T=\theta_1A+\theta_2B(θ1A+θ2B)T=θ1A+θ2B,易知,结论成立。
c. 证明:S++nS_{++}^nS++n是凸集(Convex Sets)
证明SnS_nSn是凸集,即证明∀A,B∈S++n,θ1,θ2∈[0,1],θ1+θ2=1,θ1A+θ2B∈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,θ1A+θ2B∈S++n,即证明
(θ1A+θ2B)T=θ1A+θ2BXT(θ1A+θ2B)X=θ1XTAX+θ2XTBX>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)成立,证毕。
保凸运算
交集
若S1,S2S_1,S_2S1,S2是凸集,那么S1∩S2S_1\cap S_2S1∩S2为凸。该结论可以拓展到无穷个集合的交:如果对于任意α∈A,Sα\alpha\in \mathcal{A},S_{\alpha}α∈A,Sα都是凸的,那么⋂α∈ASα\bigcap_{\alpha\in \mathcal{A}}S_{\alpha}⋂α∈ASα也是凸集。
两个集合的交集是凸集,但是两个集合的并集并不一定是凸集:
![]()
仿射函数
函数fff:Rn→RmR^n\rightarrow R^mRn→Rm是仿射的,如果他是一个线性函数和一个常数的和,即具有f(x)=Ax+bf(x)=Ax+bf(x)=Ax+b的形式,其中A∈Rm×n,b∈RmA\in R^{m\times n},b\in R^mA∈Rm×n,b∈Rm。假设S⊆RnS\subseteq R^nS⊆Rn是凸的,并且f:Rn→Rmf:R^n\rightarrow R^mf:Rn→Rm是仿射函数。那么S在fff下的象
f(S)={f(x)∣x∈S}
f(S)=\{f(x)|x\in S\}
f(S)={f(x)∣x∈S}
是凸的。
如果一个集合是凸集的话,那么他经过一个仿射函数的变换,结果仍是一个凸集。
![]()
g:Rn→RmR^n\rightarrow R^mRn→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}
集合的和:
两个凸集的和是凸的,集合的和可以定义为:
S1+S2={x+y∣x∈S1,y∈S2}
S_1+S_2=\{x+y|x\in S_1,y\in S_2\}
S1+S2={x+y∣x∈S1,y∈S2}
注意集合的和与并集的区别
仿射映射其实考虑的是从一个集合映射到另一个集合,但集合的和是从两个集合到一个集合了,那么如何从仿射的角度去理解呢?尝试下面的定义方式:
S1×S2={(x,y)∣x∈S1,y∈S2}
S_1\times S_2=\{(x,y)|x\in S_1,y\in S_2\}
S1×S2={(x,y)∣x∈S1,y∈S2}
如果S1S_1S1和S2S_2S2是凸集,那么S1×S2S_1\times S_2S1×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)=X1A1+......+XnAn⪯B
A(x)=X_1A_1+......+X_nA_n\preceq B
A(x)=X1A1+......+XnAn⪯B
称为关于xxx的线性矩阵不等式(LMI),其中B,Ai,Xi∈SmB,A_i,X_i\in \bold{S}^mB,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−xc)TP−1(x−xc)≤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)=P12u+Xc
f(u)=P^{\frac{1}{2}}u+X_c
f(u)=P21u+Xc
那么从球映射到椭球可以表示为:
{f(u)∣ ∣∣u∣∣2≤1}={P12u+Xc∣ ∣∣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}={P21u+Xc∣ ∣∣u∣∣2≤1}
变量替换,定义:
X=P12u+Xc
X=P^{\frac{1}{2}}u+X_c
X=P21u+Xc
那么:
u=P−12(X−Xc)
u=P^{-\frac{1}{2}}(X-X_c)
u=P−21(X−Xc)
代入:
{f(u)∣ ∣∣u∣∣2≤1}={P12u+Xc∣ ∣∣u∣∣2≤1}={X∣ ∣∣P−12(X−Xc)∣∣2≤1}={X∣(X−Xc)TP−1(X−Xc)≤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}={P21u+Xc∣ ∣∣u∣∣2≤1}={X∣ ∣∣P−21(X−Xc)∣∣2≤1}={X∣(X−Xc)TP−1(X−Xc)≤1}
得证。
透视函数
P:Rn+1→Rn P: R^{n+1}\rightarrow R^n P:Rn+1→Rn
从n+1维到n维的降维,定义域:
dom P=Rn×R++
dom\ P=R^n\times R_{++}
dom P=Rn×R++
前最后一个数必须是正数。
透视函数为:
P(z,t)=zt,z∈Rn,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)∈Rn+1∣xt∈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}
证明:
(x1,t1)∈P−1,(x2,t2)∈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)是凸集,即证θ(x1,t1)+(1−θ)(x2,t2)∈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),即证θ(x1,t1)(1−θ)(x2,t2)∈C\frac{\theta (x_1,t_1)}{(1-\theta)(x_2,t_2)}\in C(1−θ)(x2,t2)θ(x1,t1)∈C

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

其中A∈Rm×n,b∈Rm,c∈Rn,d∈RA\in \bold{R}^{m\times n},b\in R^m,c\in R^n,d\in RA∈Rm×n,b∈Rm,c∈Rn,d∈R,上述映射是一个仿射映射。
f=P∘gf=P\circ gf=P∘g给出的函数f:Rn→Rmf:R^n\rightarrow R^mf:Rn→Rm
f(x)=(Ax+b)/(cTx+d),domf={x∣cTx+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的定义域为RnR^nRn,并且fff是仿射函数。因此将仿射函数和线性函数视为特殊的线性分式函数。
注意:线性分式函数是一个很好的函数,具有保凸性质。