algorithm - 有没有我可以研究这种类似装箱问题的算法?
问题描述
我正在尝试找到一种方法来解决我认为类似于垃圾箱包装的问题,但据我所知略有不同。就我而言,目标是在每个垃圾箱中装入尽可能多的袋子,而不是使用最少的垃圾箱。也许这是一个最合适的算法?
在我的示例中,我有一个可以容纳多个袋子的数字箱,每个箱只容纳包含特定属性的袋子。每个包可以有许多属性。目标是尽可能多地使用袋子。我觉得可能有一个更好的术语可以用来解决我的问题,但我不确定。
就我而言,每当我必须对它们进行分类时,我都完全了解可用的垃圾箱和袋子。
一个简单的例子
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 包应该去 bin 3。我最初的想法是循环遍历属性数量最少的 bin 以首先填充它们。
我想知道是否有任何既定的算法可以解决像我这样的问题。
解决方案
您希望在可以放置它们的袋子和插槽之间的二分图中进行最大基数匹配。Hopcroft--Karp将有效地完成这项工作。
推荐阅读
- java - 无法导入 com.auth0.jwt
- go - 不能调用非函数撤回(类型 int)是什么意思?
- javascript - 添加加载指示器以选择菜单
- excel - 找到相同的活动和总和
- java - Sprint Boot @Valid 没有像描述的那样抛出消息
- amazon-web-services - 如何在aws cli的--query中添加AND条件
- spring-boot - 在 start.spring.io 中设置默认依赖项
- angular - HighCharts Angular - 从 API 设置图表数据
- javascript - 当我使用 eventEmitter 从我的子组件传递事件时,为什么我没有收到我的事件?
- google-earth-engine - 是否可以在 Google 地球引擎上管理计算能力?