私の店はいくつかの項目があり、異なる倉庫がそれらを在庫、アイテムの必須ではないが、すべての。次に、それぞれの倉庫は、目的地までの距離に応じて、商品の出荷にかかる費用が異なります。データ構造製品&配送情報
だから、この場合の例
warehouse1 : item1, item3, item 5
warehouse2 : item1, item2
warehouse3 : item1, item3, item 4
so if the order consists of (item 1, item 2, item 3)
it can be fulfilled by either warehouse1 + warehouse2, or warehouse3 + warehouse2.
in this case it should choose whichever is cheaper
として、私がオーダーを履行するために使用されている倉庫の#を最小限に抑えるだけでなく、コストを最小限にしたいです。注文にはさまざまな種類のアイテムが複数あることがありますが、すべて同じ宛先に移動します。
私は順序を満たすために最適な倉庫を計算するために高価なようだが
class Item{
double price;
List<Integer> warehouses; //id of all the warehouses that carry this item
}
のようなものとして、全製品のリストを格納するために考えていました。今すぐ注文が入ると、ハッシュテーブルからすべてのアイテムを検索し、各アイテムのすべての倉庫のリストを取得します。
次に、すべての可能な出荷ソリューションのセットを作成し、それから最小コストソリューションを選ぶことができます。私はすべての可能な出荷組み合わせを生成しなければならないので、これは非常に遅いです。私はこれを行う良い方法があるが、何か思い付いているように見えることはできませんが、私は行方不明の何かがあるのですか?
、それは一つのパッケージまたは複数の別々のパッケージすることができますか? –
お客様は複数のパッケージを受け取ることができますが、主な目的は送料を最小限に抑えることです。 – xda15