转自:http://hi.baidu.com/wbh200892268/item/173dffc94943781c50505840

SDP(SemiDefinite Programing,半定规划)是凸优化(Convex Optimization)的一种。

论文里一般是把一个问题转化为SDP,然后极不负责任的扔了一句可以使用SeDuMi等工具箱解决就完事了。

SeDuMi和YALMIP都是Matlab的工具箱,下载和安装请参见它们的主页。下面我就分别谈谈怎么样将两个工具箱应用于SDP求解吧。

SDP问题的对偶原型及求解步骤

下面就是一个典型的SDP问题:

目标函数是线性的,有一个等式约束,有一个不等式约束,最后一个是LMI(Linear Matrix Inequality,线性矩阵不等式)约束。使用SeDuMi来解决此类问题,我们就要自行构造调用SeDuMi的核心函数sedumi(Att,bt,ct,K)的四个参数。





 *等式约束的个数
 *不等式约束的个数
 *LMI中矩阵的阶数

这样,我们就可以调用来求解了,其中的y即为优化后得到的最优解。

一个典型的例子

这里举一个简单的例子,并给出Matlab的实际代码,以便能更好地理解运用上节的知识。SDP的一个最简单的应用就是最大化矩阵的特征值问题。如我们要找使矩阵的特征值最大化,其中

分别为:

同时,我们对也给出一个不等式限制和一个等式限制:


那么这个问题可以描述成以下形式:

其中的取值分别为:

下面我们就可以使用sedumi函数进行优化求解了,给出Matlab代码:

最后得到的y即为最优解,它的前三个分量就是我们想要的答案。如下图所示:



YALMIP一出,谁与争锋

我们从上面也可以看到,SeDuMi的求解过程还是比较复杂的,不仅需要将优化问题先化成SDP的标准形式,而且参数的配置也相当费功夫,很不直观!在搜索SeDuMi的过程中,我又发现了一个叫YALMIP的工具箱,它的命名挺有意思,Yet Another LMI Package,又一个LMI包,呵呵,不过它可不是徒有虚名啊!简单的说,它可以非常直观的将目标函数和约束条件赋给它的核心函数solvesdp(Constraint,Objective),下面我们就看看解决同样的问题YALMIP是怎么操作的,废话不说了,直接上Matlab代码:


结果如下图所示:

可以看到两者的结果基本是一致的,当然,我怀疑YALMIP在操作的过程中有调用SeDuMi的可能性,但是不管怎么说,YALMIP的代码则更直观,更容易理解,甚至连双向不等式都可以直接书写,这都是明显的,可见它的牛逼,所以必然果断抛弃其他一切优化工具箱,你的意见呢?嘿嘿~

SDP sedumi yalmip相关推荐

  1. 求解SDP问题—使用SeDuMi和YALMIP

    SDP(SemiDefinite Programing,半定规划)是凸优化(Convex Optimization)的一种,貌似近些年来比较热,反正这个东西常常出现在我看的论文中.论文里一般是把一个问 ...

  2. YALMIP的简单说明

    最近在做论文时,涉及到最优化问题,而最优化里面很多时候涉及的是二次约束二次规划QCQP这样的非凸问题,一般地,这样的非凸问题是得不到全局精确的最优解的,需要另辟蹊径.常用的有半定松弛SDR.将非线性松 ...

  3. sdp3命令 matlab,Yalmip学习笔记

    1 什么是yalmip yalmip是一个Matlab的工具包,通过matlab实现各种操作和调用,用来处理SDP非常好用. 2 yalmip安装方式 将其解压至matlab的toolbox文件夹下, ...

  4. 优化:YALMIP一般使用方法及例程

    文章目录 线性规划例子 二次规划例子 二阶锥规划 一般优化问题 全局优化问题 参考 可以说,yalmip是一位"集大成者",它不仅自己包含基本的线性规划求解算法,比如linprog ...

  5. Yalmip使用学习 配置cplex求解器 实例

    yalmip学习 0. yalmip简介 0.1 什么是yalmip yalmip是由Lofberg开发的一种免费的优化求解工具,其最大特色在于集成许多外部的最优化求解器,形成一种统一的建模求解语言, ...

  6. yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)

    转自,原文: https://www.cnblogs.com/kane1990/p/3428129.html 最近建立了一个网络流模型,是一个混合整数线性规划问题(模型中既有连续变量,又有整型变量). ...

  7. java sip 携带sdp_SIP中的SDP offer/answer交换初探

    1.早期媒体 无论是在PSTN还是在VoIP网络中,一个呼叫的最终目的让两个用户进行交谈(conversation).这里我们将由用户之间的交谈所产生的媒体称为常规媒体("regular m ...

  8. SDP 协议分析 http://www.cnblogs.com/qingquan/archive/2011/08/02/2125585.html

    SDP 协议分析 一.SDP协议介绍 SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP).会话初始协议(SIP).实时流协议(RTSP) ...

  9. matlab yalmip 例程,YALMIP工具箱使用范例.pdf

    YALMIP工具箱使用范例 YALMIP工具箱简介 东北大学数学系 王琪 wangqimath@126.com YALMIP工具箱简介 • 基于符号运算工具箱编写 • 一种定义和求解高级优化问题的模化 ...

最新文章

  1. matlab 求圆的周长和面积
  2. 斯坦福iOS7公开课4-6笔记及演示Demo
  3. 【Python-ML】非线性映射降维-KPCA方法-新样本映射
  4. python算法与数据结构-数据结构中常用树的介绍
  5. 火山小视频尼尔森:2019新线消费市场人群洞察报告(附下载)
  6. mysql 中文乱码 或 问号
  7. mxnet系列教程之1-第一个例子
  8. 【Java】文件锁定与系列NIO操作
  9. 双11数据过于完美涉嫌造假?天猫:造谣要负法律责任的哦
  10. 网络工程师成长日记368-榆林通信大楼项目回忆录
  11. HttpClient ip直连域名问题那些事
  12. 2022年Python最新面试题汇总及答案
  13. 软考系统集成项目管理工程师全真模拟题(含答案、解析)
  14. 类似QQ截图工具的snipaste
  15. Python茅台抢购脚本详细教程
  16. 晦涩难懂的c语言语句,【c/c 学习心得】晦涩难懂的const关键词,const v.s. 指标值...
  17. 二维码扫描+长按识别二维码demo
  18. 显示购物车列表和修改商品数量
  19. 一键安装google服务框架(更新最新版google市场)
  20. 既生synchronized,何生volatile (synchronized与volatile的区别)

热门文章

  1. 联想LePad平板电脑不久上市
  2. TIMEWAIT与CLOSEWAIT
  3. 正则表达式是如何让你的网页卡住的(优化100ms到2ms)
  4. # 新冠假期 - 实习/面试经历分享(1)
  5. c语言基础学习11_项目实战:IDE(集成开发环境)
  6. STM32F103 驱动32x64双色点阵单元板 (标准HUB08 接口 F3.75)
  7. CSS 设置链接样式
  8. storage/emulated/0是什么?
  9. #Python3控制QQ窗口
  10. Linux中的命令 make -f 是什么意思