#vehicle #problem #routing #dynamic #optimization #dvrp #specializes

bin+lib muto

一个开源的车辆路径优化库,专注于动态车辆路径问题(DVRP),如当日包裹递送和按需乘客运输。

1 个不稳定版本

0.1.0 2020年9月27日

#20 in #vehicle

MIT 许可证

14KB
302

Muto

Muto 是一个开源的 Rust 编写的车辆路径优化库,专注于动态车辆路径问题(DVRP),例如当日包裹递送和按需乘客运输。

快速开始

开始所需的一切。

作为 Rust 库使用

TODO:需要完成 API

作为 HTTP 服务器使用

TODO:需要完成 HTTP 服务器

在其他语言中使用

TODO:语言和包绑定的 Wiki

如何贡献

TODO

问题、请求和联系

我们很乐意了解您的用例,以便我们能更好地了解如何使 Muto 尽可能有用。

如果您想深入了解 ... 请发送邮件至 TODO 电子邮件

如果您有关于如何实现某些功能的疑问 TODO 详细说明如何创建问题类型

如果您有功能请求 TODO

问题

TODO

行为准则

TODO

问答

静态和动态 VRP 之间的区别是什么?

静态 VRP 是您设置所有车辆、任务(例如包裹递送、取货、卸货、休息等)和时间窗口,并告诉优化器运行多次迭代以找到您认为合理的(有时是最佳)解决方案。该解决方案将包含车辆必须采取的所有行动以完成所有这些任务。

然而,如果您需要在车辆服务任务时更新解决方案,例如,您可能会在当天收到新的包裹递送请求,那么您的问题就是动态的。对于您系统中每个“关键事件”,您都需要找到车辆需要采取的最佳新操作集,同时跟踪哪些操作已被完成。

在动态问题中,信息越多越好。您可能需要的信息类型通常包括:车辆的位置、是否创建了任务、是否取消了任务、已完成的任务以及车辆上目前有什么(例如包裹或乘客递送)。

为什么使用 Muto?

我们认为您可能会更喜欢 Muto 而不是其他许多软件包,以下是一些原因:

  • 专注于 动态 VRP,这意味着如果您正在处理这种挑战,则涉及的工作较少
  • 我们提供了广泛的详细文档,以帮助您使用和调整 Muto 以适应您的用例
  • 我们提供了许多集成和包,以便在其他语言中以多种方式使用 Muto(在此处查看完整列表)[TODO:集成页面]
  • 我们的API提供了许多选项,让您可以快速开始,同时具备逐步使用更多全面选项和功能的能力。
  • 我们选择在(Rust编程语言)[https://www.rust-lang.net.cn/](https://www.rust-lang.net.cn/)中实现这一功能,该语言专注于性能和安全,这意味着我们的优化速度快(对DVRP至关重要)且更少出现错误,从而大大降低了在您用例中采用新项目时的风险。
  • 我们有一套广泛的优化器实现,并使其在同一个API下编写自己的优化器变得简单——这对于研究改进DVRP问题空间的新方法尤其有用。

有哪些替代方案?

我们不知道很多专门针对动态车辆路径问题的软件包,但我们推荐两个有助于处理静态VRP的软件包:(Jsprit)[https://github.com/graphhopper/jsprit](https://github.com/graphhopper/jsprit) 和(VROOM)[https://github.com/vroom-project/vroom](https://github.com/vroom-project/vroom)。这些软件包维护良好,存在时间比Muto更长。
在(文献)[TODO:链接到我们的文献指南]中,将静态优化器应用于处理动态VRP是非常常见的。我们在生产系统中恰好有这方面的经验。然而,这需要大量工作,我们认为Muto是一个更好的选择,因为它针对动态问题。

无运行时依赖