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

2023-09-21 08:28:10

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



  

   二十八、锥与对称锥

   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 。

在这里插入图片描述

   2、凸 锥

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

在这里插入图片描述

   (1)多面体锥(polyhedral cone)

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

在这里插入图片描述

   (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开始增大时,相当于对该椭圆进行了缩放,从而可以形成一个椭球锥,如下图所示:

在这里插入图片描述


   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\}}} 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}

在这里插入图片描述


   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

在这里插入图片描述

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

在这里插入图片描述

   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

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

在这里插入图片描述

   下图中给出了两个谱分解的示例,(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±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),

在这里插入图片描述


   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.

  

在这里插入图片描述

   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、数值最优化方法(高立 编著)

   2、机器人中的数值优化


更多推荐

VUE3写后台管理(3)

VUE3写后台管理(3)1.环境1.node2.vite3.Element-plus4.vue-router5.elementicon6.less7.vuex8.vue-demi9.mockjs10.axios11.echarts2.首页1.布局Main2.头部导航栏CommonHeader3.左侧菜单栏CommonL

【半监督光谱退化约束网络:Spectral Super-Resolution】

SemisupervisedSpectralDegradationConstrainedNetworkforSpectralSuper-Resolution(基于半监督光谱退化约束网络的光谱超分辨)最近,已经设计了各种基于深度学习的方法来提高多光谱图像(MSI)的光谱分辨率以获得高光谱图像(HSI)。这些方法通常依赖于

深入实现 MyBatis 底层机制的任务阶段2 - 编写执行器与数据库操作

😀前言本文将继续深入研究自己实现MyBatis底层机制的过程,特别关注任务阶段2-编写执行器与数据库操作。这个任务阶段是自定义MyBatis底层机制的关键一步,它涵盖了执行器的创建和SQL查询操作的实现,为我们的自定义框架提供了重要的数据库操作功能。.在本文中,我们将详细探讨如何编写执行器,如何输入SQL语句,并完成

通信方向预推免经验贴

文章目录背景墙投递选项预推免分析背景墙自己拿到东南移动通信方向1W+引牛导学硕,拒绝了浙大直博之后就变的非常佛系~~其实自己也不知道选择做的对不对,浙大导人品非常好,和蔼可亲,国外资源也挺充足,科研水平是华五比较厉害的副教授范畴,自己感觉是拒绝了人生的另外一种可能性。如果是为了华五文凭,跨界转行的话,似乎自己人生可能会

腾讯云阿里云云服务器 Linux 操作系统 BT 宝塔面板快速建站教程

宝塔面板概述宝塔面板是一款服务器管理软件,支持Windows和Linux系统,可以通过Web端轻松管理服务器,提升运维效率。总体来说,宝塔面板具有操作简单、功能丰富、安全可靠等特点,是一款非常实用的服务器管理软件。宝塔面板官方网站:https://www.bt.cn/宝塔面板特点1.提供了可视化文件管理器和资源监控图表

MyBatis基础之执行SQL

文章目录执行SQL语句1.增删改操作insert元素insert过程中的主键回填delete元素和update元素2.getMapper方法3.查操作select元素select与聚合函数4.传递多个参数使用Map传递多参数使用JavaBean传递多参使用注解方式传递多参数执行SQL语句Mapper是MyBatis最强

华为云云服务器评测 宝塔+nginx 同时部署Springboot、Vue项目

系列文章目录华为云云服务器评测第一章[linux实战]华为云耀云服务器L实例Java、node环境配置华为云云服务器评测第二章[linux实战]Unbutnu添加SSHKey、启动Springboot项目华为云云服务器评测第三章[linux实战]使用Vue3、Element-plus菜单组件构建轮播图华为云云服务器评测

华为云云耀云服务器L实例评测|用Python的Flask框架加Nginx实现一个通用的爬虫项目

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。🏆数年电商行业从业经验,AWS/阿里云资深使用用户,历任核心研发工程师,项目技术负责人。🎉欢迎👍点赞✍评论⭐收藏文章目录🚀一、前言-关于Flask框架🚀二、功能描述�

Java 代理模式之静态代理与动态代理

1,代理模式代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。代理模式的目的:(1)通过引入代理对象的方式来间接访问目标对象,防止直接访问目标对象给系统带来的不必要复杂性;(2)通过代理对象对访问进行控制;代理模式一般会有三个角色:抽象角色:指代理角色和真

C++内存管理

目录一.new和delete二.operatornew与operatordelete函数三.new和delete的实现原理四.在VS2022编译器下new和delete不匹配的问题五.定位new六.malloc/free和new/delete的区别七.C++内存分布八.内存泄漏C++在内存管理上引入了两个操作符,分别是

性能测试 —— Tomcat监控与调优:status页监控

Tomcat服务器是一个免费的开放源代码的Web应用服务器,Tomcat是Apache软件基金会(ApacheSoftwareFoundation)Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户的场合下被普遍使用

热文推荐