【发布时间】:2020-01-02 19:22:35
【问题描述】:
尝试自学 Python 并遇到问题。有人可以确认这是一个背包问题吗?
示例:我有两个项目,一个 3" x 3" x 3",另一个 1" x 3" x 9"。我列出了 12 种不同尺寸的盒子,按成本从最低到最高排序。
我可以使用背包来确定这两个物品可以放在 12 个盒子中的哪一个,然后返回最便宜的选项吗?或者像遗传算法这样的其他东西会更好地计算最小的 9" x 4" x 3" 大小并拉回相应的框?
到目前为止,我所看到的一切都是基于单一的重量(体积),在这种情况下,第 1 项和第 2 项不能被视为相同。
示例框尺寸:
A - 2 x 6 x 6,$.52
B - 12 x 10 x 4,$.54
C - 14 x 12 x 5,$.71
输出需要是盒子 B,因为 B 和 C 中的物品都适合,但 B 是最便宜的。
任何帮助将不胜感激。
编辑澄清
我已经制作了一个基本的 excel 文件来使用 SORT 和 COUNTIFS 等来处理这个问题,但它无法处理任何复杂的东西,比如 8 个 3 x 3 x 3 的物品装在一个 6 x 6 x 6 的盒子里。
【问题讨论】:
-
您可以在github.com/mohitesh07/3d-bin-packing/blob/master/… 上查看此问题的确定性 Java 实现,它考虑了正交旋转和权重,但它最大限度地减少了盒子的数量,而不是盒子计数价格的总和。跨度>
-
你可能也想看看 cs.stackexchange,here is a related question
标签: python knapsack-problem bin-packing