温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Algorithm for picking orders from warehouses
algorithm graph-algorithm knapsack-problem traveling-salesman

其他 - 从仓库拣货的算法

发布于 2020-05-28 10:59:53

我将举例说明我的问题。

假设我们有:

  • 来自某商店的五种产品订单,我们将这些产品的数量分别命名为A,B,C,DE顺序为A(19),B(25),C(6),D(33) ),E(40)

  • 一辆卡车可以容纳不同数量的每种产品:
    A(30),B(40),C(25),D(50),E(30)。

一起运输AB,我在卡车上装了A(19),所以这是我卡车可以处理的三分之二,所以B留了三分之一,这意味着我只能运输B1/3 卡车的最大载重量为(40/3≈13)。

  • 一组仓库,其中包含不同数量的每种产品。

我做了一个Excel电子表格包含关于像(这些仓库更多有用的信息数量彼此的距离从商店的距离)。

我想以最少的行程和路程将订单发送到商店。

是否有针对此类问题的算法,或者我可以修改的近似值?

编辑:更新的链接。

查看更多

提问者
Makdous
被浏览
37
CaptainTrunky 2020-05-07 14:18

我建议不要在工作的第一步重新发明轮子。在我看来,针对此类问题开发/采用定制算法将是非常痛苦的尝试。我建议使用约束满足编程(CSP)工具包或直接混合整数编程(MIP)求解器

我的观点是,使用此类工具对您的问题进行编码会容易得多。如果性能/准确性不足以满足您的需求-您可以根据初步结果设计定制解决方案。

对于CSP,我建议使用Minizinc,它具有不错的文档和示例。

您可以从GLPK开始您的MIP研究它不是很强大,但是绝对可以处理一些玩具示例。