在多项式时间内求解半定程序


17

我们知道,可以使用椭圆形方法或像Karmarkar算法那样的内点方法,在多项式时间内精确地求解线性程序(LP)。某些具有超多项式(指数)变量/约束的LP也可以在多项式时间内求解,前提是我们可以为其设计一个多项式时间分离法。

半定程序(SDP)呢?几类SDP可以在多项式时间内准确求解?当无法完全解决SDP时,我们是否总可以设计一个FPTAS / PTAS来解决它?在什么条件下可以做到这一点?如果我们可以为其设计多项式时间分隔预言,是否可以求解具有多项式时间变量/约束的指数形式的SDP?

我们能否有效解决组合优化问题(MAX-CUT,图形着色)中出现的SDP?如果我们只能在因子内求解,那么它对常数因子近似算法(例如Goemans-Williamson MAX-CUT算法的0.878)不会产生影响吗?1+ϵ

任何对此的良好参考将不胜感激。


3
实际上,该方法通常适用于凸编程
Suresh Venkat

8
至少有两个原因导致您无法在多项式时间内求解一般的SDP。(1)存在解决方案为指数大小的SDP。(2)SDP可以编码平方根问题的总和,尚无法解决多项式时间可解问题。
罗宾·科塔里

2
@RobinKothari对于服务点,通常是“在多项式时间内可解”是由“内被替换 OPT的(添加剂)在时间多项式1 / ε ” IIRC。ps SDP如何编码平方根和?ϵ1/ϵ
Suresh Venkat 2012年

8
@SureshVenkat:假设我们有一个2x2的矩阵,其条目为[ab; 光盘]。强制说这是正半定数,并且d =1。这意味着b = c和a> = b ^ 2。因此b由a的平方根上界。现在我们可以最大化几个这样的b之和。最佳值将是各个a的平方根之和。
罗宾·科塔里

2
它不是乘法,而是加法。另外,en.wikipedia.org
wiki / Semidefinite_programming#

Answers:


16

椭圆方法和内点方法也可以扩展为求解SDP。您可以参考SDP上的任何标准文本以获取详细信息。这是一个:

半定规划。范登堡(Vandenberge)和史蒂芬·博伊德(Stephen Boyd),1996年。


不错的参考Jagadish。
Arindam Pal

很好的参考!谢谢!在说多项式时间算法求解SDP时是否想知道,该算法是精确求解还是近似求解最优解?
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.