【问题标题】:how to consider user modification in result and consider them in VRP如何在结果中考虑用户修改并在 VRP 中考虑它们
【发布时间】:2019-06-22 12:31:33
【问题描述】:

我正在研究一个VRP(车辆路线问题)来制定接送服务计划,因为VRP是NP难题,用户根据他们的要求编辑计划。现在我计划在准备计划时考虑他们的修改。我应该从哪里开始?

【问题讨论】:

  • 不清楚您要做什么。无论如何,“我应该从哪里开始”并不是一个很好的问题。你能提供更多细节吗?
  • 让我用例子来解释一下,假设我们需要解决一个 VRP 问题,我们已经为这个问题创建了一个 VRP 计划,之后会有一个人根据他们的经验或需要审查和修改计划.我想要我应该在下一次计划中使用他的智慧。意味着我应该能够在他的计划中找到一个模式,并为未来的 VRP 计划使用相同的模式。让我们假设他在计划中放置了两个地址,因此在接下来的计划中,这些地址应该只一起提供。

标签: traveling-salesman jsprit vehicle-routing


【解决方案1】:

将专家知识整合到 VRP 优化器中的最简单方法可能是使用约束。如果您使用 JSprit,请查看 JSprit documentation of constraint 作为起点。如果可用的约束类型不足以模拟您的专家所拥有的知识,您可能需要更深入地挖掘并使用成本函数和搜索策略。

从专家对先前路线所做的改进中自动推断出约束将是困难的。路线的任何改变可能有很多原因——如果专家没有明确告诉你,就很难说出他们为什么做出改变。如果可能,请专家明确定义约束。例如,不只是改变路线,让来自地址 X 的工作和来自地址 Y 的工作由车辆 1 提供服务,专家会告诉您的系统“地址 X 和地址 Y 始终必须由同一辆车提供服务”。

顺便说一句,由于这是一个相当笼统的算法问题,您可以尝试将其发布到Compute Science Stack Exchange

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-25
    • 2012-10-25
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多