【发布时间】:2021-08-06 17:51:20
【问题描述】:
我尝试通过结合官方文档中提供的示例中的 CVRP 和 VRPTW 来创建 CVRPTW 解决方案。
由于代码很大,我无法将其粘贴到此处,因此我分享了一个 colab 笔记本,演示了一个重现问题的简短示例: https://colab.research.google.com/drive/1YN-6kABqGqSkQKxOtWD6YA2ZDlP8RfqD?usp=sharing
每个节点要交付的数量是[0, 80, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1]
我有 22 辆车,21 辆容量为 25 的车辆和 1 辆容量为 600 的车辆。 如果车辆按升序排序,则具有 14 个节点的示例需要 200 多秒才能求解,如果它们按降序排序,则相同示例会在不到一秒的时间内求解。
我是第一次使用 Google OR 工具,所以我不知道这是否符合预期。我也尝试过添加引导式本地搜索,但是当我添加时间限制以停止它时,它会停止而没有给出解决方案。
我在 repo 中创建了一个问题,但它被转换为讨论。
https://github.com/google/or-tools/discussions/2554
我也在官方邮件列表中问过这个问题。
【问题讨论】:
-
我已尝试使用 Laurent Perron 在邮件列表中建议的不同的第一个解决方案策略。使用 SAVINGS、PARALLEL_CHEAPEST_INSERTION 和 LOCAL_CHEAPEST_INSERTION 时,它可以正常工作。
标签: python or-tools vehicle-routing