本日は、商品、配送先、配送倉庫の優先倉庫選定について技術的な質問をさせていただきます。
タイトルの通り:
ユーザーは商品を購入し、倉庫配送を選択します。荷物の数が少ないほど良い (一次)、荷物が近いほど良い (二次);
配送先住所は X です。X の住所に対応する倉庫の優先リスト:
XX => a、b、c、d
###例: ###
例 1. ユーザーは 1 SKU (数量は 3) を購入し、対応するアドレス X:に送信しました。
リーリーこの商品Aに対応する在庫と数量:Xアドレスに対応する順番はa、b、c、d
リーリー
最寄りの倉庫への最小梱包の原則により、b倉庫在庫(A品3点)から差し引いて1梱包発送となります。
例 2. ユーザーは 2 つの SKU を購入し、対応するアドレス X:
に送信しました。 リーリー対応する倉庫と在庫リスト:
リーリー
B 対応倉庫および在庫リスト:リーリー
最寄りの倉庫への最小荷物の原則に従って、1つの荷物を保管および出荷する倉庫b(製品A 3個、製品B 2個)からも結果が差し引かれます。
例 3. ユーザーは 2 つの SKU を購入し、対応するアドレス X:
に送信しました。 リーリー対応する倉庫と在庫リスト:
リーリー
B 対応倉庫および在庫リスト:リーリー
倉庫に最も近い最小パッケージの原則に従って、結果から倉庫 a (製品 A 3 品目、製品 B 1 品目) が差し引かれ、倉庫 b (製品 B 1 品目) が追加され、合計が配送されます。 2 つのパッケージ (倉庫 a と製品 B の 1 品目) b (倉庫ごとに 1 つ) (ここでも、最適な少数のパッケージと最も近い倉庫を用意するという原則に従います)。例 4、ユーザーは 2 つの SKU を購入し、対応するアドレス X:
に送信しました。 リーリー
製品 A と B に対応する在庫と数量: (X アドレスに対応する順序は、a、b、c、d です)対応する倉庫と在庫リスト:
リーリーB 対応倉庫および在庫リスト:
リーリー最寄りの倉庫への荷物の最小数の原則に従って、その結果は倉庫 d (製品 A 3 個、製品 B 5 個) からも差し引かれ、合計 1 個の荷物 (製品 A は 1 個) となります。倉庫 d) に出荷する必要があります。パッケージの最小数の原則はここで達成されます。
あえて聞きますが、一部の専門家はどのようにしてこのアルゴリズムを破ることができるのでしょうか?
これは私が考えていることです、最初にsku配列を降順にソートします、たとえば、3個のsku、array(8,4,1);
それぞれ8個、4個、3個の最適なパッケージプランを取得します,
then put これら3つのプランの倉庫条件を組み合わせて重複を取り除くことで、最適なプランを得ることができます。