3

(NDAの問題を回避するために、この質問の詳細を変更しました。文字通りに解釈すると、この理論上の会社を運営するためのより良い方法があることを認識しています。)

A 社が製造する 1000 個の製品のうち、それぞれが 200 個の異なる製品を保管および配送できる倉庫のグループがあります。各倉庫には 200 個の製品がストックされており、注文が割り当てられており、在庫から注文を処理します。

課題は、各倉庫が自給自足である必要があることです。任意の数 (通常は 5 ~ 10 個) の製品の注文があり、倉庫に割り当てられます。次に、倉庫は注文に必要な製品を梱包し、一緒に出荷します。倉庫で入手できない商品については、注文品を発送する前に、商品を個別に倉庫に配送する必要があります。

したがって、問題は、個々のアイテムを注文して待つことなく、可能な限り多くの注文を梱包できるように、最適な倉庫/製品構成を決定することにあります。

例 (それぞれが文字で表される製品と、5 つの製品ラインを保管できる倉庫を使用):

Warehouse 1: [A, B, C, D, E]
Warehouse 2: [A, D, F, G, H]

Order: [A, C, D] -> Warehouse 1
Order: [A, D, H] -> Warehouse 2
Order: [A, B, E, F] -> Warehouse 1 (+1 separately ordered)
Order: [A, D, E, F] -> Warehouse 2 (+1 separately ordered)

目標は、履歴データを使用して、将来的に個別に注文される製品の数を最小限に抑えることです。倉庫が特定の方法でセットアップされると、ソフトウェアは、最小限のオーバーヘッドで注文を処理できる倉庫を決定するだけです。

これは、機械学習スタイルの問題としてすぐに思い浮かびます。また、よく知られている特定の NP 完全問題の組み合わせのようにも見えますが、適切に適合するものはないようです。

このタイプの問題を表すモデルはありますか?

4

2 に答える 2

2

私の理解が正しければ、問題を分離する必要があります。

  • 各倉庫が何を事前購入すべきかを予測する
  • 注文に最適な倉庫を取得する

最初の問題については、netflix 賞を紹介します。これはほとんど同じ問題で、優れた解決策が提案されています。(私のデータマイニング ハンドブックは自宅にあり、Google への正確なキーワードを思い出せません。申し訳ありません。「データ マイニング タイム シリーズ」を試してください)

2 番目の場合、これは Prolog の問題です。

  • 単品注文時の料金を設定する
  • idk、顧客への近さのために、コストを設定します
  • 製品をすでに所有している場合のコストを 0 に設定する
  • 商品を手に入れるルールを作る:持っていなければ買う、持っていれば手に入れる
  • すべての製品を取得するルールを作成します: foreach product、上記のルール
  • このルールのコストを取得する
  • プロローグに解決策を優しく尋ねてください。それが十分でない場合は、さらに質問してください。

Prolog を使用したくない場合は、いくつかの制約ライブラリがあります。<insert your programming language here「制約ライブラリ>」をググってください。

于 2010-08-23T08:19:21.903 に答える
1

問題の最初の部分 (項目が頻繁に一緒に並べられる) は、共起問題として知られることもあり、データ マイニングの文献の大きな部分を占めています。(私の記憶では、問題は NP にありますが、かなり優れた近似アルゴリズムが存在します)。

満足のいく共起データが得られた後も、アイテムを倉庫に割り当てる必要があります。これは集合被覆問題に少し似ていますが、まったく同じではありません。この問題は NP 困難です。

于 2010-08-23T10:26:22.113 に答える