微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有什么算法我可以研究这个类似装箱的问题?

如何解决有没有什么算法我可以研究这个类似装箱的问题?

我试图找到一种方法解决我认为与装箱类似的问题,但我的理解略有不同。就我而言,目标是将尽可能多的袋子放入每个垃圾箱,而不是使用最少的垃圾箱。也许这是一个最合适的算法?

在我的示例中,我有一个可以容纳多个袋子的数字箱,每个箱只能容纳包含特定属性的袋子。每个包可以有多个属性。目标是尽可能使用最多数量的袋子。我觉得我的问题可能有更好的术语,但我不确定。

就我而言,每当我必须对它们进行分类时,我都完全了解可用的垃圾箱和袋子。

一个简单的例子

bin 1 allows attribute X with 1 slot
bin 2 allows attribute Y with 1 slot
bin 3 allows attribute Z with 1 slot

1 bag has attribute X,Y and Z
2 bags have attribute X and Y

在这个例子中,很明显 Z bag 应该进入 bin 3。我最初的想法是循环遍历具有最少属性的 bin,先填充它们。

我想知道是否有解决像我这样的问题的既定算法。

解决方法

您希望在可放置袋子和插槽的二部图中使用 maximum cardinality matchingHopcroft--Karp 将有效地完成工作。

,

我不确定具有 X、Y 和 Z 属性的包是否应该放在 Bin Z 中。如果您有 50 个仅具有属性 Z 的包怎么办?也许我不完全理解这个问题...

假设我理解正确,您希望垃圾箱之间的分布均匀。

Sort by number of attributes

if (1 attribute) 
    place in matching bin
else
    place in matching bin with lowest count

虽然不是一个完美的解决方案,但我认为它会让你开始......也许对每个垃圾箱再次使用相同的算法,垃圾箱从最高计数到最低计数。

,

当然。调查:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。