最小化向量和的最大分量


11

我想了解一些有关此优化问题的信息:对于给定的非负整数,找到使表达式最小的函数ai,j,kf

maxkiai,f(i),k

使用不同公式的示例可能会更清楚:给您一组向量,例如

{
    {(3, 0, 0, 0, 0), (1, 0, 2, 0, 0)},
    {(0, 1, 0, 0, 0), (0, 0, 0, 1, 0)},
    {(0, 0, 0, 2, 0), (0, 1, 0, 1, 0)}
}

从每个集合中选择一个向量,以便其总和的最大成分最小。例如,您可以选择

(1, 0, 2, 0, 0) + (0, 1, 0, 0, 0) + (0, 1, 0, 1, 0) = (1, 1, 2, 1, 0)

最大分量等于2,在这里显然是最佳的。

我很好奇这是否是一个众所周知的问题,以及哪些特定于问题的近似解决方法可用。它应该快速简便地进行编程(无需ILP求解器等)。不需要精确的解决方案,因为这只是实际问题的一个近似值。


我看到我应该添加一些有关我感兴趣的问题实例的详细信息:

  • i{0,1,,63},也就是说,总是有64行(如上例所示)。
  • j{0,1},即每行只有2个向量。
  • k{0,1,,N1},其中(向量长度)在10到1000之间。N

而且,在每一行上,所有向量的元素之和是相同的,即

i,j,j:kai,j,k=kai,j,k

并且和向量的元素之和小于其长度,即

kiai,f(i),k<N

4
3分区问题简化为您的问题并不难。这意味着即使数字是一元的,您的问题也是NP完全的,这排除了一种近似算法的常见方法。
伊藤刚(Tsuyoshi Ito)

感谢您的更正,也感谢@Tsuyoshi Ito的见解。如果我正确理解的话,每行两个向量的限制(我忘了说了)会使减少无效,并使问题变得更加容易。
maaartinus 2012年

没错,如果每行只有两个向量,那么我想过的3分区问题的减少是行不通的。
伊藤刚(Tsuyoshi Ito)

那么有组合需要比较吗?ji
杰森·克莱班

@ uosɐſ:确切地说,存在可能的组合,其中是的可能性数,而 是的可能性数。JI=264J=2jI=64i
maaartinus 2012年

Answers:


7

ij{0,1}kai,j,kij=0j=1k3

rfk64


1
这是一个美丽的还原。我不知道为什么没有投票。无论如何,这是我的+1。
伊藤刚(Tsuyoshi Ito)

1
f

7

当问题大小固定为常数时,我们无法讨论问题的复杂性,因为(大部分)复杂性理论处理问题的复杂性的渐近行为,因为问题的大小趋于无穷大。在这里,我将行数和向量的维数都视为变量。

那么即使输入中的数字以一元形式给出,问题也是NP完全的。这不是您的问题的答案,因为您要询问近似值,但这是一回事。

严格定义问题:

实例Ñ对矢量的一个b ∈ℕ ∈{1,...,Ñ }),和ķ ∈ℕ,所有在一元。
问题:我们是否可以为每个i选择一个ib i,以使这n个向量的总和在每个坐标中最多为K

以下是一个已知的NP完全问题,称为3-partition

3分区
实例 ∈ℕ,和3 ķ整数ç 1,...,c ^ 3 ķ之间 / 4和 / 2,排他的,使得Σ = 1 3 ķ ç = KB在一元,所有。
问题:可以将多集{ c 1,…,c 3 k }划分为k个多集S 1,…,S k,使得每个S j的总和等于B

给定3分区问题的一个实例(B ; c 1,…,c 3 k),如下构造上述问题的一个实例。对于每个i = 1,…,3 kj = 1,…,k,我们将构造一对4 k维向量,表示关于c i是否属于S j的选择:

  • 代表选择的载体“ Ç 小号Ĵ ”仅具有一个非零项,其是(ķ -1)Ç Ĵ个坐标。
  • 表示选择“矢量Ç 小号Ĵ ”也仅具有一个非零项,它是在(ķ + )个坐标。

不难发现,当且仅当有一种方法可以从构造的3 k 2的每一个中选择一个向量时,三分区问题的实例(B ; c 1,…,c 3 k)才具有解。对,以便这些向量之和的所有坐标最多为(k -1)B。(实际上,发生这种情况时,总和的所有坐标都等于(k -1)B。)因此,这是从3分区问题到上述问题的简化。

到目前为止,我忽略了问题末尾提到的两个其他约束,但是只要稍加修改即可轻松实施。可以通过添加仅包含0或1的伪坐标来强制执行每个向量的元素之和相等的条件。可以通过添加仅包含0的伪坐标来强制执行此总和小于维数的条件。


N
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.