个人博客Glooow,欢迎各位老师来踩踩

文章目录

  • 1. 二阶锥
    • 1.1 二阶锥定义
    • 1.2 二阶锥约束
  • 2. 优化问题建模
  • 3. 类似问题转化
    • 3.1 二次规划
    • 3.2 随机线性规划
  • 4. 问题求解

1. 二阶锥

1.1 二阶锥定义

在此之前,先给出二阶锥的定义。

在 kkk 维空间中二阶锥 (Second-order cone) 的定义为
Ck={[ut]∣u∈Rk−1,t∈R,∥u∥≤t}\mathcal{C}_{k}=\left\{\left[\begin{array}{l} {u} \\ {t} \end{array}\right] | u \in \mathbb{R}^{k-1}, t \in \mathbb{R},\|u\| \leq t\right\} Ck​={[ut​]∣u∈Rk−1,t∈R,∥u∥≤t}
其也被称为 quadratic,ice-cream,Lorentz cone。

1.2 二阶锥约束

在此基础上,二阶锥约束即为
∥Ax+b∥≤cTx+d⟺[AcT]x+[bd]∈Ck\|A x+b\| \leq c^{T} x+d \Longleftrightarrow\left[\begin{array}{c} {A} \\ {c^{T}} \end{array}\right] x+\left[\begin{array}{l} {b} \\ {d} \end{array}\right] \in \mathcal{C}_{k} ∥Ax+b∥≤cTx+d⟺[AcT​]x+[bd​]∈Ck​
其中 x∈Rn,A∈R(k−1)×n,b∈Rk−1,c∈Rn,Rx\in \mathbb{R}^{n}, A\in\mathbb{R}^{(k-1)\times n}, b\in\mathbb{R}^{k-1},c\in\mathbb{R}^{n},\mathbb{R}x∈Rn,A∈R(k−1)×n,b∈Rk−1,c∈Rn,R。实际上是对 xxx 进行了仿射变换,由于仿射变换不改变凹凸性,因此二阶锥也是凸锥。

2. 优化问题建模

优化目标如下,其中 f∈Rn,Ai∈Rni×n,bi∈Rni,ci∈Rn,di∈R,F∈Rp×n,f \in \mathbb{R}^{n}, A_{i} \in \mathbb{R}^{n_{i} \times n}, b_{i} \in \mathbb{R}^{n_{i}}, c_{i} \in \mathbb{R}^{n}, d_{i} \in \mathbb{R}, F \in \mathbb{R}^{p \times n},f∈Rn,Ai​∈Rni​×n,bi​∈Rni​,ci​∈Rn,di​∈R,F∈Rp×n, and g∈Rp,x∈Rng \in \mathbb{R}^{p}, x \in \mathbb{R}^{n}g∈Rp,x∈Rn
minizefTxsubject to∥Aix+bi∥2≤ciTx+di,i=1,…,mFx=g\begin{aligned} \text{minize}\quad& f^{T} x\\ \text{subject to}\quad& {\left\|A_{i} x+b_{i}\right\|_{2} \leq c_{i}^{T} x+d_{i}, \quad i=1, \ldots, m}\\ &{F x=g} \end{aligned} minizesubject to​fTx∥Ai​x+bi​∥2​≤ciT​x+di​,i=1,…,mFx=g​
上述问题被称为二次锥规划是因为其约束,要求仿射函数 (Ax+b,cTx+d)(Ax+b,c^T x+d)(Ax+b,cTx+d) 为 Rk+1\mathbb{R}^{k+1}Rk+1 空间中的二阶锥。

3. 类似问题转化

一些其他优化问题也可以转化为 SOCP,例如

3.1 二次规划

考虑二次约束
xTATAx+bTx+c≤0x^{T} A^{T} A x+b^{T} x+c \leq 0 xTATAx+bTx+c≤0
可以等价转化为 SOC 约束
∥(1+bTx+c)/2Ax∥2≤(1−bTx−c)/2\left\|\begin{array}{c}\left(1+b^{T} x+c\right) / 2 \\ Ax\end{array}\right\|_{2} \leq\left(1-b^{T} x-c\right) / 2 ∥∥∥∥​(1+bTx+c)/2Ax​∥∥∥∥​2​≤(1−bTx−c)/2

3.2 随机线性规划

问题模型为
minizecTxsubject toP(aiTx≤bi)≥p,i=1,…,m\begin{aligned} \text{minize}\quad& c^{T} x\\ \text{subject to}\quad& \mathbb{P}\left(a_{i}^{T} x \leq b_{i}\right) \geq p, \quad i=1, \ldots, m \end{aligned} minizesubject to​cTxP(aiT​x≤bi​)≥p,i=1,…,m​
问题转化可参考维基百科

4. 问题求解

二阶锥规划可以应用内点法快速求解,且比半正定规划(semidefinite programming)更有效。

Matlab 有专门的凸优化工具包,下载地址在这里,安装教程在官网上有。使用方法如下,只需要修改优化目标和约束条件即可

m = 20; n = 10; p = 4;
A = randn(m,n); b = randn(m,1);
C = randn(p,n); d = randn(p,1); e = rand;
cvx_beginvariable x(n)minimize( norm( A * x - b, 2 ) )subject toC * x == dnorm( x, Inf ) <= e
cvx_end

Second-Order Cone Programming(SOCP) 二阶锥规划相关推荐

  1. 锥,凸锥,二阶锥,二阶锥规划

    优化理论稍微深入些,就会涉及到锥这个概念,甚至还有专门的锥优化这个研究领域.我一直很奇怪锥到底是什么,准备查阅相关资料,将自己的理解写到博客里面. 文章目录 1. 锥(cone) 2. 凸锥(conv ...

  2. 数值计算·第八集:二阶锥规划(CVXPY版)

    Second-order cone program(二阶锥规划) 标准形式:-A second-order cone program (SOCP) is an optimization problem ...

  3. 凸规划问题与二阶锥规划

    如果对于自变量x1.x2以及参数λ,有 则认为f是凸函数,进一步,如果 则认为f是严格凸函数. R向量空间中,如果集合 S 中任两点的连线上的点都在 S 内,则称集合 S 为凸集. 在凸集范围内,求凸 ...

  4. 【OR】YALMIP 二阶锥规划

    导航 second order cone programming robust optimization References second order cone programming 对回归问题 ...

  5. MATLAB代码:CPLEX二阶锥规划考虑Wind+CB+SVG+OLTC+ESS多时段24h 最优潮流研究在配电网规划运行中不可或缺,且在大量分布式能源接入的主动配电网环境下尤为重要

    MATLAB代码:CPLEX二阶锥规划考虑Wind+CB+SVG+OLTC+ESS多时段24h 关键词:二阶锥 最优潮流 SOCP 参考文档:<主动配电网多源协同运行优化研究> 仿真平台: ...

  6. 混合整数二阶锥规划公式中具有不同动力学的定价惯性和频率响应

    混合整数二阶锥规划公式中具有不同动力学的定价惯性和频率响应 测试环境:MATLAB yalmip 关键词:凸优化,频率响应,边际定价,可再生能源 能源和频率服务的联合市场清算,包括定价方法. 频率服务 ...

  7. 【无功优化】基于二阶锥规划的配电网无功优化算法【IEEE33节点】(Matlab代码实现)

  8. 基于二阶锥规划的主动配电网最优潮流求解(Matlab代码实现)

  9. 二阶锥松弛在配电网最优潮流计算中的应用(IEEE33节点配电网最优潮流算例matlab程序)(yalmip+cplex)

    二阶锥规划在配电网最优潮流计算中的应用IEEE33节点配电网最优潮流算例matlab程序(yalmip+cplex) 参考文献:二阶锥规划在配电网最优潮流计算中的应用 最优潮流计算是电网规划.优化运行 ...

最新文章

  1. angular 字符串转换成数字_蓝盟IT外包,Python算法的一般技术和嵌入式库|python|字符串|key|算法|调用...
  2. ui设计怎样做出有效果的视觉层级?
  3. java中class文件如何加载的_jvm如何加载class文件
  4. oracle字符串转日期比较大小写,【varchar】oracle中比较日期大小日期定义的是varchar2类型的......
  5. Mac MySQL重置Root密码
  6. Mac 笔记本 对Micro sd卡烧制镜像详解
  7. vue vant ui 教程注意事项
  8. 制作一个主题网站(注意是网站,不是网页,网站应该包括一个主页和若干子页),本次主题中华民族传统美德。
  9. 如何利用用户分层来提高运营效率?
  10. html5鼠标拖动排序及resize实现方案分析及实践
  11. 中文解释“GetLastError()返回值”---错误码大全
  12. 【调剂】上海科技大学信息学院2023年硕士招生调剂公告
  13. 分布式对象和远程调用
  14. (一百三十五)Android O探索WLAN扫描(WIFI SCAN ALWAYS)
  15. 关于java开发邮件接收程序的一点总结
  16. 蚂蚁开放平台开发第三方授权登陆(二):PC端
  17. 大衣哥唱火的《火火的情怀》,和合国际会100万向孟文豪收购吗
  18. 基于LinkedList实现HashMap代码
  19. Python抓取开源中国资讯(使用BeautifulSoup库)
  20. [转] Proxyee Down简介

热门文章

  1. 本科课程【数字图像处理】实验5 - 空洞填充
  2. mac python环境搭建
  3. 如何通过SSH隧道连接学校服务器
  4. jqGrid简单使用、json格式和jsonReader介绍
  5. 算法篇:神奇的卡塔兰数Catalan
  6. 卡特兰数(c++实现)
  7. ios不行安卓可以 微信签名_微信支付-支付验证签名失败(iOS)
  8. 2015年中国云计算市场回顾与展望
  9. Android 手机直播聚合
  10. Chrome浏览器下载东西出现卡死和未响应状态