0-1线性规划:计算最佳配方


14

考虑维空间{ 0 1 } Ñ,并让Ç是以下形式的线性约束一个1 X 1 + 一个2 X 2 + 一个3 X 3 + + 一个ñ - 1 X ñ - 1 + 一个Ñ X Ñķ,其中一个[R X n{0,1}nca1x1+a2x2+a3x3+ ... +an1xn1+anxnkaiR ķ [R xi{0,1}kR

显然,具有分裂的效果{ 0 1 } Ñ在两个子集小号Ç小号¬ Ç小号Ç包含所有,只有那些满足点Ç,而小号¬ Ç包含所有,只有那些伪造点Çc{0,1}nScS¬cSccS¬cc

假设。现在,让OS c的子集,以使以下所有三个语句均成立:|Sc|nOSc

  1. 恰好包含 n个点。On
  2. 这样的个点是线性独立的。n
  3. 此类点是与c表示的超平面相距最小距离的点。更精确地,让d X C ^ 是一个点的距离X { 0 1 } Ñ从超平面Ç。然后,小号Ç使得满足1和2是这样的情况即Σ X d X C ^ Σ X ö dncd(x,c)x{0,1}ncBScB。换句话说,在满足条件1和2的 S c的所有子集中, O是使其点与超平面 c的距离之和最小的一个。xBd(x,c)xOd(x,c)OScc

问题

  1. 给定,可以有效地计算O吗? cO
  2. 哪种算法最知名?

 

n = 3的示例n=3

n = 3的示例

Ô = { 0 0 1 1 1 1 1 0 0 }S¬c={(1,0,1)}O={(0,0,1),(1,1,1),(1,0,0)}

 

更新05/12/2012

动机

动机是使用可以确定最佳约束c ,因为它应该是由O中n个点定义的超平面。 OcnO

最优约束是导致最优多位点P ∗的约束。cP

最佳多边形是顶点全部为顶点且仅是初始多边形P的整数顶点(整数顶点是其坐标均为整数的顶点)的顶点。PP

最佳配方

可以对0-1 L P实例I的每个约束进行迭代处理,每次将c替换为其对应的最佳约束c 。最后,这将导致最佳的多面体P *。然后,由于顶点P *都和仅初始多面体的顶点整数P,任何算法用于大号P可用于计算最优整数解。我知道能够有效地计算P *意味着PcLPIccPIPPILPP,但是仍然存在以下附加问题:P=NP

附加问题

在这方面是否有以前的工作?给定一个多边形及其相应的最佳多边形P ,是否有人已经研究过计算任务?哪种算法最知名?PP


通过减少子集总和,这似乎很难做到NP。给定二进制整数,以测试是否存在与s相加的子集,我们可以测试超平面v 1 x 1 + + v 1 x n = s上是否存在点。您对近似值感兴趣吗?v1,,vnsv1x1++v1xn=s
Colin McQuillan

@ColinMcQuillan:这个问题是为了提供精确的解决方案,但是我当然也对近似值感兴趣。您为什么不将评论变成答案?
Giorgio Camerani 2012年

@ColinMcQuillan:同样,您的超平面是通过使用等式定义的,而我的是通过不等式定义的。您确定这对硬度没有影响吗?我还没有检查,所以我只是在问。
Giorgio Camerani 2012年

我对所有限制有些困惑。如果要查找有关S c的凸包的信息,那么运筹学文献中有关于0-1背包多面体的大量结果。在近似公式方面,请参见此OSc
奥斯汀·布坎南

Answers:


6

通过减少子集总和,这似乎很难做到NP。假设我们有一个有效的程序来计算。给定以二进制编码的正整数v 1v n,我们希望测试是否存在与s相加的子集。通过抛出大于s的整数进行预处理。Ov1,,vnss

调用过程以获得一小满足点v 1 X 1 + + v 1 X Ñ小号,合乎您极小性条件(预处理确保| 小号Ç |Ñ)。如果存在,则该集合肯定会在超平面上包含一个点v 1 x 1 + + v 1 x n = sOv1x1++v1xns|Sc|nv1x1++v1xn=s


也许我在这里可以俯瞰宏观的东西,但我有2个问题:1)当你说“鉴于二进制整数”你说的是什么意思二进制属于ř。也许您是用二进制编码的?还是您想说肯定的话?2)为什么要丢弃所有大于s的整数?他们可能有助于解决方案。例如:v 1 = 3 v 2 = 7 v 3 = 5 v1,...,vnRs如果丢掉 v 2,则会失去唯一的解 { v 2v 3 }v1=3,v2=7,v3=5,s=2v2{v2,v3}
Giorgio Camerani 2012年

2
我认为Colin的意思是,如果约束系数是有理数,以它们通常的二进制表示形式,那么您的问题似乎对NP困难。(混合实数和NP难度总是很棘手。)ai
Jeffε12年

1
@GiorgioCamerani:我确实需要说肯定-我已经更新了答案。
科林·麦奎伦

1

在我看来,您正在尝试获取IP的凸包-本质上,这是cut算法试图实现的目标。尽管从理论上讲,这些方法在实践中效果不佳。

关于有效不等式的产生,有所有理论。shrijver的整数编程理论是一个很好的起点。

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.