关于优化时段长度的建议

时间:2015-05-13 17:48:55

标签: algorithm optimization genetic-algorithm binning

我有一个优化问题,我需要在一段已知的时间内优化固定数量的垃圾箱的长度。这些箱子应该包含具有相同标签的最小重叠项目(稍后参见项目和标签的定义)。

如果问题可以通过启发式方法解决,那么确切的最佳并不重要。

我想知道是否有人对此尝试的方法有任何建议,或者对问题的名称有任何想法。

问题

假设我们有 n 项目有两个属性: tag time 范围。

例如,我们有以下项目:

(标签:时间范围)

(1:0,2)

(1:4,5)

(1:7,8)

(1:9,15)

(2:0,5)

(2:7,11)

(2:14,20)

(3:4,6)

(3:7,11)

(4:5,15)

绘制时,如下所示:

Fig1

让我们说我们必须将这20秒的时间段分成4组。我们可以通过4组长度为5来实现这一点。

看起来像这样:

Fig1

具有相同标签的重叠项目数量为

组1:1(标签1)

组2:2(标签1和标签3)

第3组:2(标记2)

第4组:0

总重叠项目:5

4组的另一个分组选择将分别为4秒,3秒,2秒​​和11秒。

Fig1

具有相同标签的重叠项目数量为:

第1组:0

第2组:0

第3组:0

组4:1(标签2)

尝试解决(蛮力)

我可以通过将整个时间段分成小段来找到最佳解决方案(例如1秒,对于上面的示例,将有20个箱)。

然后我可以找到使用4个组件的整数20的所有整数组合。 e.g。

这将提供127种不同的成分

(1,1,4,14),(9,5,5,1),(1,4,4,11),(13,3,3,1),(3,4,4, 9),(10,5,4,1),(7,6,6,1),(1,3,5,11),(2,4,4,10)......

对于(1,1,4,14),分组将分为4组,分别为1,1,4和14秒。

然后我找到得分最高的组合(重叠标签的最小数量)。

这种方法的问题在于它只能在相对较小的数字上完成,因为当整数的大小增加时,整数的组合数变得非常大。

因此,如果我的数据是1000秒,并且我必须放置大小为1秒的垃圾箱,则运行时间会太长。

尝试解决(启发式)

我尝试过使用遗传算法类型的方法。

染色体是随机产生的长度组成,基因是每组的个体长度。由于数据的性质,我正在努力做任何有意义的交叉/突变。

有人有任何建议吗?

0 个答案:

没有答案