2009-02-06 19 views
2

有效的解决方案:对于给定的一个特殊的分配问题

-A组项目,每个都用于放置在特定的容器类型的成本。

- 一组容器类型,每个容器有许多可用的容器。

实施例:

额*集装箱式: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)。

有没有更好的解决方案?

回答

0

因为基因组很容易产生,变异和杂交,所以我会去寻找遗传方面的问题。但可能会有一个最佳的非组合解决方案。

+0

那么,这张海报并不是他想要的答案的特性,但我想他会想要一些可以证明的最小限度,他应该指定。不确定这是否真的符合这项法案。 – cletus 2009-02-06 14:25:19

+0

同意,但一些问题(似乎并非如此)难以用数学来解决,在这种情况下,遗传算法肯定会归类为简单。 – 2009-02-06 14:43:07

5

这个问题是Knapsack problem的变体,开始在维基百科页面,并从那里阅读。

贪婪算法已知是一个相当好的appoximation,所以你可能已经足够好了。

相关问题