最小消息长度算法

时间:2011-01-26 18:02:06

标签: algorithm language-agnostic neural-network bin-packing

我有不同大小的对象束(很多对象可以有相同的大小,例如:我有54个6B的对象,10B的76个,24B的79个等。

对象的大小是6,8,10 ......字节。我需要将这个包打包成几个消息(每个消息的最大长度为256个字节)。

问题是如何使用最少数量的消息获得解决方案?

这有什么已知的算法吗?我需要Hopfield神经网络吗?

3 个答案:

答案 0 :(得分:3)

这是bin packing problem的一个例子,它是一个组合的NP难问题。最简单的算法是“First Fit Decreasing(FFD)”,您首先通过减小大小来对对象进行排序,然后将每个对象插入列表中的第一条消息,并留出足够的剩余空间。

答案 1 :(得分:1)

这是一种背包问题,但不是 背包问题。它是Bin packing problem,其中不同卷的项目包含在最小数量的箱子中,这些箱子的大小都相同。这是NP难的。

答案 2 :(得分:0)

First Fit Decreasing(FFD)算法不是最佳算法(但是一个非常好的开始)。如果您有更多执行时间更多开发时间,请使用simulated annealing禁忌搜索遗传算法<链接< / em>的。忽略暴力分支和绑定:它们不会超出玩具问题。