所有整数线性规划问题都是NP-Hard吗?


11

据我了解,分配问题在P中,因为匈牙利算法可以在多项式时间-O(n 3)中解决它。我也知道分配问题是整数线性规划问题,但是Wikipedia页面指出这是NP-Hard。对我来说,这意味着分配问题在NP-Hard中。

但是可以肯定,分配问题不能同时存在于P和NP-Hard中,否则P等于NP吗?维基百科页面是否仅表示解决所有ILP问题的通用算法是NP-Hard?其他一些资料指出,ILP是NP-Hard,所以这确实使我对一般的复杂性类的理解感到困惑。


4
NP-hard表示(除非P = NP),每个多时确定性算法在某些(无限)实例上都会失败。通常也有一些简单实例。
Sasho Nikolov 2013年

1
请注意,该语句不是“每个IP都是NP硬”,而是“解决每个 IP都是NP硬”。
拉斐尔

Answers:


20

如果问题是NP-Hard,则意味着存在该问题的一类实例,即NP-Hard。其他特定类别的实例完全可以在多项式时间内求解。

例如,考虑找到图的3色问题。这是一个众所周知的NP-Hard问题。现在想象一下,它的实例仅限于树等图形。显然,您可以轻松地在多项式时间内找到树的3色(实际上,您还可以找到2色)。

考虑一下决策问题。证明决策问题的难度的一种方法是,从另一个已知为NP-Hard的问题Q设计多项式(Karp)约简。在此简化中,您表明存在一个函数f,该函数f将问题Q的每个实例q映射到问题P的实例,使得: qQ的yes实例PQfqQPq P的yes实例。这意味着求解 f q 必须“至少与求解 q本身一样困难”。Qf(q)Pf(q)q

请注意,的图像不必等于P的实例集。因此,将问题P限制在实例的某些子集上并不困难是完全可能的。fPP

返回您的原始问题:

  • 可以在多项式时间内解决分配问题,即,可以在多项式时间内计算分配问题的每个实例的解决方案。
  • ILP是NP-Hard:通常,很难计算ILP问题的解决方案,即,存在一些ILP实例很困难的情况。
  • ILP的某些特定实例可以在多项式时间内求解。

您能否解释一下是否有必要映射Q的每个实例,所以我们不能映射Q的子集吗?即f的原像必须是Q的全部吗?fQQfQ

这是没有必要为到的每个实例映射Q ,只要其映射的(无限)类的硬实例Q。例如,为了表明P是NP-Hard,可以减少限于平面图的3色问题。fQQP
2014年

14

不,特殊情况可能更容易。

考虑这个IP,例如,给定ai0i[1..n]

mini=1nxiai

i=1nxi1
XÑ用于[1 ..Ñ] xiNi[1..n]

它发现中最小的a1,,an(即对于其,不可避免地,xi=1在最优解)。找出n个数的最小值显然是一个多项式问题。


0

您可以将多项式可解决的问题建模为IP。这并不意味着问题是NP难题。这仅表示没有已知的多项式算法可以解决您的问题的IP模型(除非P = NP)。

因此,正如您所建议的,分配问题在P中,但是您的IP模型是NP难的。


3
拉斐尔答案中的IP可以在多项式时间内求解。换句话说,通常我们不知道用于解决IP的快速算法,但是在IP问题的某些特殊情况下,我们确实具有快速算法。
Juho

0

不,有一种特殊的整数程序,如果约束矩阵为TUM(完全单模矩阵),则可以将其放宽为线性程序,可以在多项式时间内求解。


-4

分配问题不是ILP,而是LP问题,因此不是NP-hard。


4
我不确定您为什么认为分配问题不是ILP。碰巧的是,在这种情况下,线性程序的最佳解决方案也是整数线性程序的最佳解决方案...但这并不意味着它不是ILP的实例。
DW

同样,单个实例本身从来就不是NP难题。您想说“这实际上是一个简单的实例”,但这是一个复杂得多的语句(定义“ easy”)。
拉斐尔
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.