具有最大权重约束的平衡数组分区

时间:2016-06-06 17:36:47

标签: arrays algorithm

我发现了一些已知的分区问题,但似乎没有一个非常适合以下问题。

问题:

你有一个数组 A N 正整数,你需要将它分成 M 个连续的段。有一个给定的限制,每个段的总和不得超过, A< = limit 中的每个整数 n 。我想找到满足限制条件的最小段数。此外,这些段应该很好地平衡,以便最小化所有段总和之间的差异。

示例:

A = { 2, 3, 5, 5 }, limit = 6

solution => M=3, partitions={2,3},{5},{5}

A = { 3,3,3,4,4,4,4,4,2,2,2 }, limit = 12

solution => M=4, partitions={3,3,3},{4,4},{4,4},{4,2,2,2}

在第二个例子中,我们还可以找到M = 4个分段的分段 {3,3,3},{4,4,4},{4,4,2,2},{2},但所有段之和的差异大于之前的解决方案。

这是一个已知问题,是否存在复杂度较低的解决方案(或者如果最优解决方案的成本太高,则为任何近似值)?

修改:查找最少量的细分具有优先级。在所有最小的M解决方案中,我想找到最平衡的(或接近它的一个)

0 个答案:

没有答案