机器人中的数值优化(十七)—— 锥与对称锥

   本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例



  

   二十八、锥与对称锥

   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: aK,λ0λaKPointed: aK and aKa=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 。

机器人中的数值优化(十七)—— 锥与对称锥_第1张图片

   2、凸 锥

   相比于尖锥,我们对凸锥更感兴趣,在尖锥的基础上,若进一步满足 a , a ′ ∈ K ⇒ a + a ′ ∈ K a,a^{\prime}\in\mathcal{K}\Rightarrow a+a^{\prime}\in\mathcal{K} a,aKa+aK,即两个向量属于锥,则其叠加后的向量也必然属于锥,此时,为凸锥,它的界面可以是任意的形状,比如凸多面体、椭圆、超椭圆。

机器人中的数值优化(十七)—— 锥与对称锥_第2张图片

   (1)多面体锥(polyhedral cone)

   在多面体 A x ≤ b Ax\leq b Axb的基础上,增加一个维度t,在t从0开始增大时,相当于对该多面体进行了缩放,从而可以形成一个多面体锥,如下图所示:

机器人中的数值优化(十七)—— 锥与对称锥_第3张图片

   (2)椭球锥(Ellipsoidal cone)

   对于椭圆 x ⊤ P x + q ⊤ x + r ≤ 0 x^\top Px+q^\top x+r\leq0 xPx+qx+r0,经过仿射变换可以写成, ∥ A x + b ∥ ≤ c \|Ax+b\|\leq c Ax+bc,同样加上一个时间维度t,在t从0开始增大时,相当于对该椭圆进行了缩放,从而可以形成一个椭球锥,如下图所示:

机器人中的数值优化(十七)—— 锥与对称锥_第4张图片


   3、常用的锥

   以下三类锥,分别对应LP线性规划、SOCP二维锥规划,SDP半定规划

机器人中的数值优化(十七)—— 锥与对称锥_第5张图片

   详细如下:

机器人中的数值优化(十七)—— 锥与对称锥_第6张图片

机器人中的数值优化(十七)—— 锥与对称锥_第7张图片

机器人中的数值优化(十七)—— 锥与对称锥_第8张图片


   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\}}} R0n={xRnxi0,i=1,,n}={[y]2yRn}

   (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)TR×Rn1x0x12}={2 1(y02+y1Ty1,2y0y1)T(y0,y1)TR×Rn1}

   (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\}}} S0n={xRn(n+1)/2zmax(x)z0,zRn}={vec(mat(y)mat(y))yRn(n+1)/2}

机器人中的数值优化(十七)—— 锥与对称锥_第9张图片


   5、平方操作

   圆锥是对称的,当且仅当它是平方的,即如下式所示:

   { x 2 : = x ∘ x ∣ x ∈ R n } \left\{x^2:=x\circ x\mid x\in\mathbb{R}^n\right\} {x2:=xxxRn}

   满足下面四个条件,就可以称为平方

   x ∘ y  is 线性的  x\circ y\text{ is 线性的 } xy is 线性的 ,即 k x ∘ y = k ( x ∘ y ) k x\circ y=k(x\circ y) kxy=kxy

   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} xy=yxx2(yx)=(x2y)xx,yz=xy,z

机器人中的数值优化(十七)—— 锥与对称锥_第10张图片

   上面介绍的三类对称锥的圈乘定义分别如下所示:

机器人中的数值优化(十七)—— 锥与对称锥_第11张图片

   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 qiqj(=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)=qiqi,qj(=i)=qi,qiqj(=i)=0

   当且仅当一个向量的特征值为非负时,它是对称锥上的向量,当且仅当一个向量的特征值都为正时,它就处于对称锥的内部

机器人中的数值优化(十七)—— 锥与对称锥_第12张图片

   下图中给出了两个谱分解的示例,(q1与q2是垂直的)

机器人中的数值优化(十七)—— 锥与对称锥_第13张图片

   所以对于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±x12,qi=2 1[1±x1/∥x12],其中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),

机器人中的数值优化(十七)—— 锥与对称锥_第14张图片


   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={xx,y0,yK}

   当锥 K \mathcal{K} K对称锥时,其对偶锥即他本身,此时 K ∗ = K . \color{red}{\mathcal{K}^*=\mathcal{K}}. K=K.

  

机器人中的数值优化(十七)—— 锥与对称锥_第15张图片

   8、带约束优化的表示形式转化

   在前面的介绍中,我们把约束优化分为以下几个部分,如下图所示

机器人中的数值优化(十七)—— 锥与对称锥_第16张图片


   (1)将LP写成QP的形式

   LP线性规划可以看成是QP二次规划的特例,所以LP线性规划,可以写成QP二次规划的形式,如下所示

机器人中的数值优化(十七)—— 锥与对称锥_第17张图片

   (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的形式

机器人中的数值优化(十七)—— 锥与对称锥_第18张图片

   (3)将SOCP写成SDP的形式

机器人中的数值优化(十七)—— 锥与对称锥_第19张图片


   就表达能力而言,LP

机器人中的数值优化(十七)—— 锥与对称锥_第20张图片

机器人中的数值优化(十七)—— 锥与对称锥_第21张图片

机器人中的数值优化(十七)—— 锥与对称锥_第22张图片

   SDP是最强大的对称锥形式之一,许多困难的问题可以通过Lasserre hierarchy方法在SDP中轻松解决

机器人中的数值优化(十七)—— 锥与对称锥_第23张图片


   参考资料:

   1、数值最优化方法(高立 编著)

   2、机器人中的数值优化


你可能感兴趣的:(数值优化方法,机器人,最优化方法,数值优化,锥规划,对称锥,约束优化,轨迹优化)