分区问题
在计算机科学领域,该问题的定义是:给定多重正整数集 X,它可以被分割为两个元素之和相等的子集 X1 和 X2,即每个子集的数值之和与另一个子集相等。...例如,X={3,4,1,3,3,2,3,2,1} 可以被分割为 X1={3,3,2,3} 和 X2={4,2,3,1,1},二者的数值之和都是 11。...类似地,X={1,3,1,2,1,2} 可以被分成 X1={2,1,1,1} 和 X2={3,2},两个子集的数值之和都是 5。有趣的是,这不是唯一解。...近似算法
如上所述,将分区问题分解为多路分割与子集和问题后,我们就可以考虑为这些问题而开发的算法,包括:
贪婪数字分割(Greedy number Partitioning)
该算法循环遍历所有数字,将每个数字分配给总和最小的子集...在该算法中,我们可以通过去除冗余和最小化空间浪费来包装不同形状和大小的对象。
例如:给定一个包含 n 个项的集合,每个项的大小分别为 s1,s2,..