2009-02-06 20 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,所以你可能已經足夠好了。

相關問題