SDP sedumi yalmip
转自: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相关推荐
- 求解SDP问题—使用SeDuMi和YALMIP
SDP(SemiDefinite Programing,半定规划)是凸优化(Convex Optimization)的一种,貌似近些年来比较热,反正这个东西常常出现在我看的论文中.论文里一般是把一个问 ...
- YALMIP的简单说明
最近在做论文时,涉及到最优化问题,而最优化里面很多时候涉及的是二次约束二次规划QCQP这样的非凸问题,一般地,这样的非凸问题是得不到全局精确的最优解的,需要另辟蹊径.常用的有半定松弛SDR.将非线性松 ...
- sdp3命令 matlab,Yalmip学习笔记
1 什么是yalmip yalmip是一个Matlab的工具包,通过matlab实现各种操作和调用,用来处理SDP非常好用. 2 yalmip安装方式 将其解压至matlab的toolbox文件夹下, ...
- 优化:YALMIP一般使用方法及例程
文章目录 线性规划例子 二次规划例子 二阶锥规划 一般优化问题 全局优化问题 参考 可以说,yalmip是一位"集大成者",它不仅自己包含基本的线性规划求解算法,比如linprog ...
- Yalmip使用学习 配置cplex求解器 实例
yalmip学习 0. yalmip简介 0.1 什么是yalmip yalmip是由Lofberg开发的一种免费的优化求解工具,其最大特色在于集成许多外部的最优化求解器,形成一种统一的建模求解语言, ...
- yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)
转自,原文: https://www.cnblogs.com/kane1990/p/3428129.html 最近建立了一个网络流模型,是一个混合整数线性规划问题(模型中既有连续变量,又有整型变量). ...
- java sip 携带sdp_SIP中的SDP offer/answer交换初探
1.早期媒体 无论是在PSTN还是在VoIP网络中,一个呼叫的最终目的让两个用户进行交谈(conversation).这里我们将由用户之间的交谈所产生的媒体称为常规媒体("regular m ...
- SDP 协议分析 http://www.cnblogs.com/qingquan/archive/2011/08/02/2125585.html
SDP 协议分析 一.SDP协议介绍 SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP).会话初始协议(SIP).实时流协议(RTSP) ...
- matlab yalmip 例程,YALMIP工具箱使用范例.pdf
YALMIP工具箱使用范例 YALMIP工具箱简介 东北大学数学系 王琪 wangqimath@126.com YALMIP工具箱简介 • 基于符号运算工具箱编写 • 一种定义和求解高级优化问题的模化 ...
最新文章
- matlab 求圆的周长和面积
- 斯坦福iOS7公开课4-6笔记及演示Demo
- 【Python-ML】非线性映射降维-KPCA方法-新样本映射
- python算法与数据结构-数据结构中常用树的介绍
- 火山小视频尼尔森:2019新线消费市场人群洞察报告(附下载)
- mysql 中文乱码 或 问号
- mxnet系列教程之1-第一个例子
- 【Java】文件锁定与系列NIO操作
- 双11数据过于完美涉嫌造假?天猫:造谣要负法律责任的哦
- 网络工程师成长日记368-榆林通信大楼项目回忆录
- HttpClient ip直连域名问题那些事
- 2022年Python最新面试题汇总及答案
- 软考系统集成项目管理工程师全真模拟题(含答案、解析)
- 类似QQ截图工具的snipaste
- Python茅台抢购脚本详细教程
- 晦涩难懂的c语言语句,【c/c 学习心得】晦涩难懂的const关键词,const v.s. 指标值...
- 二维码扫描+长按识别二维码demo
- 显示购物车列表和修改商品数量
- 一键安装google服务框架(更新最新版google市场)
- 既生synchronized,何生volatile (synchronized与volatile的区别)