本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例
二十八、锥与对称锥
1、尖 锥
锥是一种特殊的集合,当满足以下条件时,一组点称为pointed cone:
∙ Conic: a ∈ K , λ ≥ 0 ⇒ λ a ∈ K ∙ Pointed: a ∈ K a n d − a ∈ K ⇒ a = 0 \begin{aligned}\bullet\quad&\color{red}{\text{Conic: }}\quad a\in\mathcal{K},\lambda\geq0\Rightarrow\lambda a\in\mathcal{K}\\\bullet\quad&\color{red}{\text{Pointed: }}\quad a\in\mathcal{K}\mathrm{~and~}-a\in\mathcal{K}\Rightarrow a=0\end{aligned} ∙∙Conic: a∈K,λ≥0⇒λa∈KPointed: a∈K and −a∈K⇒a=0
第一个条件即向量 a \ a a在集合 K \mathcal{K} K中, λ ≥ 0 \color{black}{\lambda\geq0} λ≥0,则 λ a {\lambda a} λa也必然在集合 K \mathcal{K} K中,第二个条件是若向量 a \ a a在集合 K \mathcal{K} K中,则向量- a \ a a不在集合 K \mathcal{K} K中,除非向量 a \ a a=0 。
2、凸 锥
相比于尖锥,我们对凸锥更感兴趣,在尖锥的基础上,若进一步满足 a , a ′ ∈ K ⇒ a + a ′ ∈ K a,a^{\prime}\in\mathcal{K}\Rightarrow a+a^{\prime}\in\mathcal{K} a,a′∈K⇒a+a′∈K,即两个向量属于锥,则其叠加后的向量也必然属于锥,此时,为凸锥,它的界面可以是任意的形状,比如凸多面体、椭圆、超椭圆。
(1)多面体锥(polyhedral cone)
在多面体 A x ≤ b Ax\leq b Ax≤b的基础上,增加一个维度t,在t从0开始增大时,相当于对该多面体进行了缩放,从而可以形成一个多面体锥,如下图所示:
(2)椭球锥(Ellipsoidal cone)
对于椭圆 x ⊤ P x + q ⊤ x + r ≤ 0 x^\top Px+q^\top x+r\leq0 x⊤Px+q⊤x+r≤0,经过仿射变换可以写成, ∥ A x + b ∥ ≤ c \|Ax+b\|\leq c ∥Ax+b∥≤c,同样加上一个时间维度t,在t从0开始增大时,相当于对该椭圆进行了缩放,从而可以形成一个椭球锥,如下图所示:
3、常用的锥
以下三类锥,分别对应LP线性规划、SOCP二维锥规划,SDP半定规划
详细如下:
4、对称锥
一个锥是对称的当且仅当它可以表示成平方的形式
(1)positive orthant
R ≥ 0 n = { x ∈ R n ∣ x i ≥ 0 , i = 1 , ... , n } = { [ y ] 2 ∣ y ∈ R n } \mathbb{R}_{\geq0}^n=\{x\in\mathbb{R}^n\mid x_i\geq0,i=1,\ldots,n\}=\color{red}{\boxed{\{[y]^2\mid y\in\mathbb{R}^n\}}} R≥0n={x∈Rn∣xi≥0,i=1,...,n}={[y]2∣y∈Rn}
(2)second-order cone:
Q n = { ( x 0 , x 1 ) T ∈ R × R n − 1 ∣ x 0 ≥ ∥ x 1 ∥ 2 } = { 1 2 ( y 0 2 + y 1 T y 1 , 2 y 0 y 1 ) T ∣ ( y 0 , y 1 ) T ∈ R × R n − 1 } \mathcal{Q}^n=\left\{\left(x_0,x_1\right)^{\mathrm{T}}\in\mathbb{R}\times\mathbb{R}^{n-1}\mid x_0\geq\left\|x_1\right\|_2\right\}=\color{red}{\left\{\frac1{\sqrt{2}}\left(y_0^2+y_1^{\mathrm{T}}y_1,2y_0y_1\right)^{\mathrm{T}}\mid\left(y_0,y_1\right)^{\mathrm{T}}\in\mathbb{R}\times\mathbb{R}^{n-1}\right\}} Qn={(x0,x1)T∈R×Rn−1∣x0≥∥x1∥2}={2 1(y02+y1Ty1,2y0y1)T∣(y0,y1)T∈R×Rn−1}
(3)Positive semi-definite cone:
S ≥ 0 n = { x ∈ R n ( n + 1 ) / 2 ∣ z T max ( x ) z ≥ 0 , ∀ z ∈ R n } = { vec ( mat ( y ) mat ( y ) ) ∣ y ∈ R n ( n + 1 ) / 2 } \mathcal{S}_{\geq0}^n=\left\{x\in\mathbb{R}^{n(n+1)/2}\mid z^\text{T }{ \max ( x ) }z\geq0,\forall z\in\mathbb{R}^n\right\}=\color{red}{\boxed{\left\{\operatorname{vec}(\operatorname{mat}(y)\operatorname{mat}(y))\mid y\in\mathbb{R}^{n(n+1)/2}\right\}}} S≥0n={x∈Rn(n+1)/2∣zT max(x)z≥0,∀z∈Rn}={vec(mat(y)mat(y))∣y∈Rn(n+1)/2}
5、平方操作
圆锥是对称的,当且仅当它是平方的,即如下式所示:
{ x 2 : = x ∘ x ∣ x ∈ R n } \left\{x^2:=x\circ x\mid x\in\mathbb{R}^n\right\} {x2:=x∘x∣x∈Rn}
满足下面四个条件,就可以称为平方
x ∘ y is 线性的 x\circ y\text{ is 线性的 } x∘y is 线性的 ,即 k x ∘ y = k ( x ∘ y ) k x\circ y=k(x\circ y) kx∘y=k(x∘y)
x ∘ y = y ∘ x x 2 ∘ ( y ∘ x ) = ( x 2 ∘ y ) ∘ x ⟨ x , y ∘ z ⟩ = ⟨ x ∘ y , z ⟩ \begin{aligned} &x\circ y=y\circ x \\ &x^2\circ(y\circ x)=(x^2\circ y)\circ x \\ &\langle x,y\circ z\rangle=\langle x\circ y,z\rangle \end{aligned} x∘y=y∘xx2∘(y∘x)=(x2∘y)∘x⟨x,y∘z⟩=⟨x∘y,z⟩
上面介绍的三类对称锥的圈乘定义分别如下所示:
6、谱分解
对于任意一个向量x,我们都可以把他变成特征值 λ i \lambda_{i} λi与特征向量 q i q_{i} qi乘积加和的形式,即 x = ∑ i = 1 θ λ i q i x=\sum_{i=1}^\theta\lambda_iq_i x=∑i=1θλiqi
分解后的每一个特征向量,他的平方都是他自己,即满足 q i 2 = q i q_i^2=q_i qi2=qi ,不相同的特征向量之间的圈乘为0,即满足 q i ∘ q j ( ≠ i ) = 0 q_i\circ q_{j(\neq i)}=0 qi∘qj(=i)=0
因此,可以得到特征向量是正交的,即
⟨ q i , q j ( ≠ i ) ⟩ = ⟨ q i ∘ q i , q j ( ≠ i ) ⟩ = ⟨ q i , q i ∘ q j ( ≠ i ) ⟩ = 0 \langle q_i,q_{j(\neq i)}\rangle=\langle q_i\circ q_i,q_{j(\neq i)}\rangle=\langle q_i,q_i\circ q_{j(\neq i)}\rangle=0 ⟨qi,qj(=i)⟩=⟨qi∘qi,qj(=i)⟩=⟨qi,qi∘qj(=i)⟩=0
当且仅当一个向量的特征值为非负时,它是对称锥上的向量,当且仅当一个向量的特征值都为正时,它就处于对称锥的内部
下图中给出了两个谱分解的示例,(q1与q2是垂直的)
所以对于positive orthant情况,它的谱分解的第i个特征值就是他的第i个坐标,第i个特征向量就是第i个自然标准正交基,即 λ i = x i , q i = e i \lambda_i=x_i,\quad q_i=e_i λi=xi,qi=ei
对于second-order cone情况,它的谱分解只有两个特征值和特征向量,分别为 λ i = x 0 ± ∥ x 1 ∥ 2 2 , q i = 1 2 [ 1 ± x 1 / ∥ x 1 ∥ 2 ] \lambda_i=\frac{x_0\pm\left\|x_1\right\|_2}{\sqrt{2}},\quad q_i=\frac1{\sqrt{2}}\begin{bmatrix}1\\\pm x_1/\|x_1\|_2\end{bmatrix} λi=2 x0±∥x1∥2,qi=2 1[1±x1/∥x1∥2],其中i=1、2;
对于Positive semi-definite cone情况,矩阵的特征值就是对应的半定锥的特征值,它的谱分解为 λ i = λ i , q i = v e c ( v i v i T ) , \lambda_i=\lambda_i,\quad q_i=\mathrm{vec}(v_iv_i^\mathrm{T}), λi=λi,qi=vec(viviT),
7、对称锥的自对偶性
我们记锥 K \mathcal{K} K的对偶锥为 K ∗ \mathcal{K}^* K∗,即与 K \mathcal{K} K中任意元素y的内积大于0的x的集合,如下所示
K ∗ = { x ∣ ⟨ x , y ⟩ ≥ 0 , ∀ y ∈ K } \mathcal{K}^*=\{x\mid\langle x,y\rangle\geq0,\forall y\in\mathcal{K}\} K∗={x∣⟨x,y⟩≥0,∀y∈K}
当锥 K \mathcal{K} K对称锥时,其对偶锥即他本身,此时 K ∗ = K . \color{red}{\mathcal{K}^*=\mathcal{K}}. K∗=K.
--
8、带约束优化的表示形式转化
在前面的介绍中,我们把约束优化分为以下几个部分,如下图所示
(1)将LP写成QP的形式
LP线性规划可以看成是QP二次规划的特例,所以LP线性规划,可以写成QP二次规划的形式,如下所示
(2)将QP写成SOCP的形式
对于凸的QP,Q矩阵就可以写成平方根分解的形式, 即 Q = 2 H T H , p = 2 H T c Q=2H^\mathrm{T}H,\mathrm{~}p=2H^\mathrm{T}c Q=2HTH, p=2HTc,这样QP就可以等价的表示成SOCP的形式
(3)将SOCP写成SDP的形式
就表达能力而言,LP<QP<SOCP<SDP,因此,有的问题可以用SOCP表示,而不能用LP表示,如下面的例子所示
SDP是最强大的对称锥形式之一,许多困难的问题可以通过Lasserre hierarchy方法在SDP中轻松解决
参考资料:
1、数值最优化方法(高立 编著)