(我已经更改了这个问题的细节以避免 NDA 问题。我知道,如果从字面上看,有更好的方法来经营这家理论上的公司。)
有一组仓库,每个仓库能够存储和分发 200 种不同的产品,而 A 公司生产的产品可能有 1000 种。每个仓库都备有 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 完全问题的组合,尽管它们似乎都不合适。
是否有代表此类问题的模型?