LP/QP/QCQP/SOCP/SDP/CCCP等系列优化方法的比较
2015-10-08 21:22
681 查看
在优化理论中,我们经常会碰到很多特殊类型的优化方法,最近主要看了convex optimization,将其中涉及到的一些常见优化方法整理如下。
当约束条件变为二次的时,问题就变成了QCQP(Quadratical Constraint Quadratic Programming)问题了
这里给出的定义比较详细了,但是,对于second-order cone一开始不是很理解,在一个相关的主页中看到如下的解释:
The second-order cone in
is the set of vectors
with
.
The picture shows part of the cone, and a slice (at
).
而在socp中,是将线性函数变成了仿射函数(Second-order cone programming (SOCP) is a generalization of linear and quadratic programming that allows for affine combination of variables
to be constrained inside second-order cones)
这里,最后一段表明sdp与lp之间的关系,表明lp只是sdp的特殊情况。
理论1说明了凹凸优化使用的范围,只要求能量函数的二阶偏导有界,并且其对应的特征值以ε为下界即可。
理论2给出了CCCP算法的迭代方法,然后证明了运用这样的迭代方法,能够使得能量函数E(x)单调递减。
对于(2)式的证明,文中说通过二阶泰勒展开式和罗尔定理来证明,待实践。
另外,文中给出了一个小示例,对于CCCP的理解有帮助
对于定理3,这里没有贴出来,主要是在目标函数有线性约束下的迭代公式。
对于这里的优化方法,通常可以运用Lagrange对偶化或者内点法来解决,对于内点法,我会单独写一篇blog来记录。
[2] A.L.Yuille et al.The
ConCave-Convex Procedure(CCCP)2002
LP-Linear Programming
一般形式:QP-Quadraitic Programming
当约束条件变为二次的时,问题就变成了QCQP(Quadratical Constraint Quadratic Programming)问题了
SOCP-Second-Order Cone Programming 二阶锥规划
这里给出的定义比较详细了,但是,对于second-order cone一开始不是很理解,在一个相关的主页中看到如下的解释:
The second-order cone in
is the set of vectors
with
.
The picture shows part of the cone, and a slice (at
).
而在socp中,是将线性函数变成了仿射函数(Second-order cone programming (SOCP) is a generalization of linear and quadratic programming that allows for affine combination of variables
to be constrained inside second-order cones)
SDP-Semi-Definite Programming 半定规划
这里,最后一段表明sdp与lp之间的关系,表明lp只是sdp的特殊情况。
CCCP-ConCave-Convex Procedure
凹凸优化方法在《Convex optimization》中没有提到,查阅了相关文献,作如下总结:理论1说明了凹凸优化使用的范围,只要求能量函数的二阶偏导有界,并且其对应的特征值以ε为下界即可。
理论2给出了CCCP算法的迭代方法,然后证明了运用这样的迭代方法,能够使得能量函数E(x)单调递减。
对于(2)式的证明,文中说通过二阶泰勒展开式和罗尔定理来证明,待实践。
另外,文中给出了一个小示例,对于CCCP的理解有帮助
对于定理3,这里没有贴出来,主要是在目标函数有线性约束下的迭代公式。
对于这里的优化方法,通常可以运用Lagrange对偶化或者内点法来解决,对于内点法,我会单独写一篇blog来记录。
reference:
[1] Boyd,convex optimization[2] A.L.Yuille et al.The
ConCave-Convex Procedure(CCCP)2002
相关文章推荐
- 【July程序员编程艺术】之字符串左旋
- python脚本执行Scapy出现IPv6警告WARNING解决办法
- HDU5496--Beauty of Sequence(水题)
- 响应式布局
- 剑指offer—字符流中第一个不重复的字符
- Java中的集合类型的迭代器(Iterator)
- sqlite学习
- Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver
- 内核学习-中断级别,分页内存,用户模式以及内核模式
- Android混淆打包后openFileChooser无法使用找不到的解决方法
- linux 编译内核[scripts/kconfig/dochecklxdialog] 错误
- netstat命令
- 黑马程序员——OC基础---继承
- 一个简单的网站访问过程
- LBP(local binary pattern)
- Codeforces Round #324 (Div. 2)——C. Marina and Vasya
- Thinkphp控制volist的循环次数,限制只显示部分数据
- android之反编译apk
- 单例模式
- [TwistedFate]C语言学习:C数据类型,常量变量,运算符,表达式,输入输出