【发布时间】:2009-02-06 14:18:14
【问题描述】:
给定:
- 一组物品,每个物品都有放入给定容器类型的成本。
-一组容器类型,每个类型都有许多可用容器。
例子:
数量*容器类型:5 * A、3 * B、2 * C
项目(成本):
3 * X(A=2,B=3,C=1)
2 * Y(A=5,B=2,C=2)
1 * Z(A=3,B=3,C=1)
问题:
找到将物品放入容器的最佳位置,从而将成本降至最低。为简单起见,仅将项目放入单一类型的容器中。
我尝试了匈牙利的方法来解决这个问题,但是运行时间为 O(n³),对于大型问题(例如,100000 个项目)来说,这是非常令人望而却步的。
我目前的解决方案是一种贪婪的方法,它只是按成本 (asc) 对项目-容器组合进行排序,并在 O(n log n) 中分配具有足够数量的第一个容器。
有没有更好的解决方案?
【问题讨论】:
标签: algorithm variable-assignment