1 个不稳定版本
0.1.0 | 2020年9月27日 |
---|
#20 in #vehicle
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是一个更好的选择,因为它针对动态问题。