2013-05-30 71 views
1

在不同的城市有不同產品的倉庫。每個倉庫可以保留一定數量的產品單元,例如(芝加哥的倉庫保留14個A產品單位,20個B產品單位,0個C單位等)。還有一個訂單清單(包括目的地城市和需要的產品數量)。我需要獲得的是滿足所有訂單時的最小發貨量(城市之間獨特配對的最小數量)。這些城市之間的距離並不重要。集覆蓋城市之間的貨運

澄清:樣品輸入如下所示:

WAREHOUSES 

LOCATION | PRODUCT | AMOUNT 
---------+---------+------- 
Chicago | p1 | 14 
Chicago | p2 | 3 
New York | p1 | 2 
New York | p3 | 7 
Dallas | p2 | 3 


ORDERS 

DESTINATION | PRODUCT | AMOUNT 
------------+---------+------- 
Houston  | p1 | 12 
Phoenix  | p1 | 4 
Houston  | p3 | 2 
Detroit  | p2 | 3 
Phoenix  | p2 | 2 

和輸出:

LOCATION | DESTINATION | PRODUCT | AMOUNT 
---------+-------------+---------+------- 
Chicago | Houston  | p1 | 12 
Chicago | Phoenix  | p1 | 2 
New York | Phoenix  | p1 | 2 
Chicago | Phoenix  | p2 | 2 
Dallas | Detroit  | p2 | 3 
New York | Houston  | p3 | 2 

and number of unique pairs is: 5 

的問題是非常相似的一個發現這裏:Algorithm to Minimize Number of Shipments from Multiple Warehouses,但是,它並不需要考慮訂購幾個特定產品單位的可能性以及有多個訂單的事實。

對我來說,它看起來像兩種問題的混合:設置覆蓋和運輸問題。有沒有辦法解決這個任務,而不使用貪婪算法?或者,也許我只是錯過了一些東西,它可以通過簡單的套裝來解決?

回答

1

如果您想要一個精確的解決方案,標準的方法是將其建模爲整數程序(IP),然後使用IP解算器(例如CBC,Gurobi等)。如果您對啓發式解決方案感到滿意,那麼simulated annealing很容易實現。

0

我沒有一個完整的解決方案,但我可以通過單獨考慮每個產品來簡化它。

這是除非你錯誤的問題,並打算說,一個命令被允許包括兩個不同的產品。

相關問題