複数の商品を発送するためのパッケージサイズを計算するための既存のソフトウェアまたはアルゴリズムを知っている人はいますか?
在庫データベースには、長さ、幅、高さの寸法が定義されたアイテムがたくさんあります。これらの寸法を考慮して、事前定義された箱のサイズに収まる購入アイテムの数を計算する必要があります。
複数の商品を発送するためのパッケージサイズを計算するための既存のソフトウェアまたはアルゴリズムを知っている人はいますか?
在庫データベースには、長さ、幅、高さの寸法が定義されたアイテムがたくさんあります。これらの寸法を考慮して、事前定義された箱のサイズに収まる購入アイテムの数を計算する必要があります。
これはビン パッキング問題であり、NP 困難です。オブジェクトとパッケージの数が少ない場合は、すべての可能性を試す力ずくの方法を単純に使用できる場合があります。それを超えて、ある種のヒューリスティックを使用する必要があります。ウィキペディアの記事には、いくつかの詳細と、おそらくチェックしたい論文への参照があります。
もちろん、別の方法としては、非常に単純なアルゴリズム (単純にアイテムを「積み重ねる」など) から始めて、それを使用して妥当な送料の上限を計算し、人間の梱包担当者がうまく処理できれば、わずかな利益が得られます。または、梱包が理想的ではないという前提で、計算された価格をわずかに割り引いてください。
「3D ビン パッキング」に関する文献は多岐にわたります。David Pisinger 教授の出版物を追跡することで、概要を把握できます。彼はまた、ソースコード付きのビン パッキングの数少ない高品質な実装の 1 つを公開しました: 3dbpp.c
私自身のロジスティクス ツールキットpyShippingには、倉庫管理アプリケーション用の 3D Bin Packing 実装が付属しています。これは基本的に 4D ビン パッキング (3D サイズと重量) を実装しており、通常の注文サイズ (数十個のパッケージ) に対して 2 回目の実行時間で許容可能なソリューションを取得します。これは、使用する出荷用クレートの上限を決定するために、現在数か月間、生産 (倉庫を意味する) で使用されています。多くの場合、倉庫作業員は多少効率的に梱包できますが、それで問題ありません。
特定のサイズのパッケージに 1 つのタイプがいくつ収まるかを確認しようとしていますか、それともタイプを混在させようとしていますか?
ナップザック問題を解決しようとしているようですね。特定の要件に適合できるアルゴリズムを見つけることができる場合があります。問題がNP完全であるため、効率的なアルゴリズムを見つけるのは難しいことを理解してください(ただし、特定の要件によっては、効率的な近似を見つけることができる場合や、入力が問題にならないほど小さい場合があります)。 .
箱を手作業で梱包する場合は、合理的な人間が行うことを行うアルゴリズムを作成することを検討してください。私がこれを提案する理由は、注文ごとに梱包指示を印刷したくない場合を除いて、梱包を行う人は誰でも、注文された商品を注文された商品にどのように収めるかを考えなければならないからです。注文。
これにより、人間のパッカーがSOに来て、n個のアイテムをm個のボックスにパックする方法をプログラムでトレーニングする方法を尋ねる可能性があります. :-P (彼らはあなたにそれをするように頼んだり、指示を求めたりするかもしれません)。
あなたのアルゴリズムが合理的な人間が行うことを行う限り、私は個人的にその配送見積もりを受け入れます.
メタヒューリスティックは、多くのパッケージや多くの制約がある場合に、現実世界のビン パッキングの問題を処理するのに適しています。オープン ソースの Java 実装の 1 つがDrools Plannerです。
これは当然のことのように聞こえるかもしれませんが、問題をメモしておいて、そのうちのいくつかを手作業で行うことは価値があるかもしれません。NP 困難な任意の入力とボックスに対して最も効率的なソリューションを見つけますが、問題空間を制限し、非効率性を受け入れることで、その NP サイズは合理的なものになる可能性があります。大幅にタイムダウン。
階層的なパッキングの観点から物事を考えることも役立つかもしれません。