凸优化3:几种重要凸集

2023-10-23 07:50
文章标签 优化 几种 重要 凸集

本文主要是介绍凸优化3:几种重要凸集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、几种简单的凸集

仿射集凸集
R n R^n Rn空间、 R n R^n Rn空间子空间、直线任意线段、${x_0+\theta v

2、超平面与半空间

超平面(Hyperplane): { x ∣ a T x = b } \{x|a^T x=b\} {xaTx=b} x , a ∈ R n , b ∈ R , a ≠ 0 x,a \in R^n,b \in R, a \neq 0 x,aRn,bR,a=0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eLDUUwgC-1642769035169)(D:\StudyFiles\ConvexOptimization\note\3.几种重要凸集\3-1.png)]

半空间(Halfspace): { x ∣ a T x ≤ b } \{x|a^T x \leq b\} {xaTxb} x , a ∈ R n , b ∈ R , a ≠ 0 x,a \in R^n,b \in R, a \neq 0 x,aRn,bR,a=0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j0ZHOlbD-1642769035170)(D:\StudyFiles\ConvexOptimization\note\3.几种重要凸集\3-2.png)]

2、球和椭球


球 : 我 们 所 提 的 球 指 欧 几 里 得 球 ( E u c l i d e a n b a l l ) B ( x c , r ) = { x ∣ ∣ ∣ x − x c ∣ ∣ 2 ≤ r } = { x ∣ ( x − x c ) T ( x − x c ) ≤ r } 球:我们所提的球指欧几里得球(Euclidean \space ball) \\ B(x_c,r)=\{x \mid ||x-x_c||_2 \leq r\} \\ =\{x \mid \sqrt{{(x-x_c)}^T(x-x_c)} \leq r\} \\ (Euclidean ball)B(xc,r)={xxxc2r}={x(xxc)T(xxc) r}
椭球(ellipsoids)
ε ( x c , p ) = { x ∣ ( x − x c ) T p − 1 ( x − x c ) ≤ 1 } x , x c ∈ R n , P ∈ S + + n P 的 奇 异 值 对 应 椭 球 的 半 周 长 , S + + n 为 n × n 的 对 称 正 定 矩 阵 \varepsilon(x_c,p)=\{x \mid (x-x_c)^Tp^{-1}(x-x_c) \leq 1\} \\ x,x_c \in R^n, P \in S^n_{++}\\ P的奇异值对应椭球的半周长,S^n_{++}为 n \times n的对称正定矩阵 ε(xc,p)={x(xxc)Tp1(xxc)1}x,xcRn,PS++nPS++nn×n

3、多面体和单纯形

多面体(Polyhedron)
P = { x ∣ a j T x ≤ b j , j = 1 , . . . , m c j T x = d j , j = 1 , . . . , r } P=\{x \mid a^T_jx \leq b_j,j=1,...,m\\ \space\space\space\space\ c^T_jx=d_j,j=1,...,r\} P={xajTxbj,j=1,...,m     cjTx=dj,j=1,...,r}
**单纯形(Simplex)**定义较为复杂
R n 空 间 中 选 择 v 0 , . . . , v k 共 k + 1 个 点 , v 1 − v 0 , . . . , v k − v 0 线 性 无 关 , 则 与 上 述 点 相 关 的 单 纯 形 为 : C = c o n v { v 0 , . . . , v k } = { θ 0 v 0 + . . . + θ k v k , θ ≥ 0 , 1 T θ = 1 } , θ ∈ R n R^n空间中选择v_0,...,v_k共k+1个点,\\ v_1-v_0,...,v_k-v_0线性无关,\\ 则与上述点相关的单纯形为:\\ C=conv\{v_0,...,v_k\}=\{\theta_0 v_0+...+\theta_k v_k, \theta \geq 0, 1^T \theta=1\},\theta \in R^n Rnv0,...,vkk+1v1v0,...,vkv0线C=conv{v0,...,vk}={θ0v0+...+θkvk,θ0,1Tθ=1},θRn
证明:一个单纯形是一种多面体
x ∈ C ∈ R n , C 为 s i m p l e x ⇔ x = θ 0 v 0 + . . . + θ k v k , 1 T θ = 1 , θ ≥ 0 , v 1 − v 0 , . . . , v k − v 0 线 性 无 关 x\in C \in R^n, C为simplex \\ \Leftrightarrow x=\theta_0 v_0+...+\theta_k v_k,1^T \theta=1,\theta \geq 0,\\v_1-v_0,...,v_k-v_0线性无关\\ xCRn,Csimplexx=θ0v0+...+θkvk,1Tθ=1,θ0,v1v0,...,vkv0线

定 义 : y = [ θ 1 , . . . , θ k ] T , y i ≥ 0 , 1 T y ≤ 1 B = [ v 1 − v 0 , . . . , v k − v 0 ] T ∈ R n × k x ∈ C ⇔ x = θ 0 v 0 + . . . + θ k v k = v 0 + θ 1 ( v 1 − v 0 ) + . . . + θ k ( v k − v 0 ) = v 0 + B y 定义:y=[\theta_1,...,\theta_k]^T,y_i \geq 0, 1^T y \leq 1 \\ B=[v_1-v_0,...,v_k-v_0]^T \in R^{n \times k} \\ x \in C \Leftrightarrow x=\theta_0 v_0+...+\theta_k v_k \\ = v_0+\theta_1(v_1-v_0)+...+\theta_k(v_k-v_0) \\ = v_0 + By y=[θ1,...,θk]T,yi0,1Ty1B=[v1v0,...,vkv0]TRn×kxCx=θ0v0+...+θkvk=v0+θ1(v1v0)+...+θk(vkv0)=v0+By

引入如下结论:
B = [ v 1 − v 0 , . . . , v k − v 0 ] 线 性 无 关 , 故 r a n k ( B ) = k ≤ n 对 于 非 奇 异 矩 阵 B , 一 定 存 在 一 个 矩 阵 A = [ I k 0 ] ∈ [ R k × k 0 ( n − k ) × k ] 使 得 A B = [ A 1 A 2 ] B = [ I k 0 ] B=[v_1-v_0,...,v_k-v_0]线性无关,故rank(B) = k \leq n \\ 对于非奇异矩阵B,一定存在一个矩阵\\ A=\left[ \begin{matrix} I_k \\ 0 \end{matrix} \right] \in \left[ \begin{matrix} R^{k \times k} \\ 0^{(n-k) \times k} \end{matrix} \right]\\ 使得 AB=\left[ \begin{matrix} A_1 \\ A_2 \end{matrix} \right]B=\left[ \begin{matrix} I_k \\ 0 \end{matrix} \right] \\ B=[v1v0,...,vkv0]线,rank(B)=knBA=[Ik0][Rk×k0(nk)×k]使AB=[A1A2]B=[Ik0]
则对于前面得到的等式我们可以做如下变换:
x = v 0 + B y ⇒ A x = A v 0 + A B y ⇔ [ A 1 A 2 ] x = [ A 1 A 2 ] v 0 + [ A 1 B A 2 B ] y ⇔ { A 1 x = A 1 v 0 + y A 2 x = A 2 v 0 ⇔ { A 1 x ≥ A 1 v 0 1 T A 1 x ≤ 1 + 1 T A 1 v 0 A 2 x = A 2 v 0 ⇒ 由 不 等 式 和 等 式 构 成 , 是 多 面 体 x=v_0+By \\ \Rightarrow Ax=Av_0+ABy\\ \Leftrightarrow \left[ \begin{matrix} A_1 \\ A_2 \end{matrix} \right]x=\left[ \begin{matrix} A_1 \\ A_2 \end{matrix} \right]v_0+\left[ \begin{matrix} A_1B \\ A_2B \end{matrix} \right]y\\ \Leftrightarrow \left\{ \begin{matrix} A_1x=A_1v_0+y\\ A_2x=A_2v_0 \end{matrix} \right.\\ \Leftrightarrow \left\{ \begin{matrix} A_1x \geq A_1v_0\\ 1^TA_1x \leq 1+1^TA_1v_0\\ A_2x=A_2v_0 \end{matrix} \right. \\ \Rightarrow 由不等式和等式构成,是多面体\\ x=v0+ByAx=Av0+ABy[A1A2]x=[A1A2]v0+[A1BA2B]y{A1x=A1v0+yA2x=A2v0A1xA1v01TA1x1+1TA1v0A2x=A2v0

4、一些对称矩阵

对称矩阵集合 S n = { x ∈ R n × n ∣ x = x T } S^n=\{x \in R^{n \times n} \mid x=x^T\} Sn={xRn×nx=xT}

对称半正定矩阵集合 S + n = { x ∈ R n × n ∣ x = x T , x ⪰ 0 } S^n_+=\{x \in R^{n \times n} \mid x=x^T,x \succeq 0\} S+n={xRn×nx=xT,x0}

对称正定矩阵集合 S + + n = { x ∈ R n × n ∣ x = x T , x ≻ 0 } S^n_{++}=\{x \in R^{n \times n} \mid x=x^T, x \succ 0\} S++n={xRn×nx=xT,x0}

证明: S + n S^n_+ S+n C o n v e x C o n e Convex \space Cone Convex Cone,即:
∀ θ 1 , θ 2 ≥ 0 , ∀ A , B ∈ S + n , 证 明 θ 1 A + θ 2 B ∈ S + n \forall \space\space \theta_1,\theta_2 \geq 0, \forall \space\space A,B \in S^n_+,证明 \space \theta_1A+\theta_2B \in S^n_+ \\   θ1,θ20,  A,BS+n, θ1A+θ2BS+n
证:
∀ x ∈ R n , x ≠ 0 , x T A x ≥ 0 , x T B x ≥ 0 x T ( θ 1 A + θ 2 B ) x = θ 1 x T A x + θ 2 x T B x ≥ 0 ⇒ 正 定 得 证 ( θ 1 A + θ 2 B ) T = ( θ 1 A T + θ 2 B T ) = ( θ 1 A + θ 2 B ) ⇒ 对 称 得 证 故 : θ 1 A + θ 2 B ∈ S + n \forall \space\space x \in R^n,x \neq 0, x^TAx \geq 0,x^TBx \geq 0 \\ x^T(\theta_1A+\theta_2B)x =\theta_1x^TAx+\theta_2x^TBx \geq 0 \Rightarrow 正定得证\\ (\theta_1A+\theta_2B)^T=(\theta_1A^T+\theta_2B^T)=(\theta_1A+\theta_2B)\Rightarrow 对称得证 \\ 故:\theta_1A+\theta_2B \in S^n_+   xRn,x=0,xTAx0,xTBx0xT(θ1A+θ2B)x=θ1xTAx+θ2xTBx0(θ1A+θ2B)T=(θ1AT+θ2BT)=(θ1A+θ2B)θ1A+θ2BS+n
S + + n S^n_{++} S++n不是 C o n v e x C o n e Convex \space Cone Convex Cone,是凸集
∀ x ∈ R n , x ≠ 0 , x T A x ≥ 0 , x T B x ≥ 0 x T ( θ 1 A + θ 2 B ) x = θ 1 x T A x + θ 2 x T B x ≯ 0 因 为 θ 1 , θ 2 = 0 时 θ 1 x T A x + θ 2 x T B x = 0 , 不 符 合 凸 锥 定 义 \forall \space\space x \in R^n,x \neq 0, x^TAx \geq 0,x^TBx \geq 0 \\ x^T(\theta_1A+\theta_2B)x =\theta_1x^TAx+\theta_2x^TBx \ngtr 0 \\ 因为\theta_1,\theta_2=0时\space \theta_1x^TAx+\theta_2x^TBx = 0,不符合凸锥定义   xRn,x=0,xTAx0,xTBx0xT(θ1A+θ2B)x=θ1xTAx+θ2xTBx0θ1,θ2=0 θ1xTAx+θ2xTBx=0

这篇关于凸优化3:几种重要凸集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/266523

相关文章

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

在Golang中实现定时任务的几种高效方法

《在Golang中实现定时任务的几种高效方法》本文将详细介绍在Golang中实现定时任务的几种高效方法,包括time包中的Ticker和Timer、第三方库cron的使用,以及基于channel和go... 目录背景介绍目的和范围预期读者文档结构概述术语表核心概念与联系故事引入核心概念解释核心概念之间的关系

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

MySQL中like模糊查询的优化方案

《MySQL中like模糊查询的优化方案》在MySQL中,like模糊查询是一种常用的查询方式,但在某些情况下可能会导致性能问题,本文将介绍八种优化MySQL中like模糊查询的方法,需要的朋友可以参... 目录1. 避免以通配符开头的查询2. 使用全文索引(Full-text Index)3. 使用前缀索

防止SpringBoot程序崩溃的几种方式汇总

《防止SpringBoot程序崩溃的几种方式汇总》本文总结了8种防止SpringBoot程序崩溃的方法,包括全局异常处理、try-catch、断路器、资源限制、监控、优雅停机、健康检查和数据库连接池配... 目录1. 全局异常处理2. 使用 try-catch 捕获异常3. 使用断路器4. 设置最大内存和线