JSprit算法软硬时间窗口

Posted

技术标签:

【中文标题】JSprit算法软硬时间窗口【英文标题】:JSprit Algorithm soft and hard time windows 【发布时间】:2014-08-15 14:41:05 【问题描述】:

我有带有时间窗口的服务列表。是否可以将 JSprit 配置为必须满足某些时间窗口(硬时间窗口)而其他时间窗口配置为软时间窗口?

提前感谢您的帮助

【问题讨论】:

【参考方案1】:

可以通过Service.Builder 为服务分配时间窗口来实现硬时间窗口。默认情况下,服务没有任何时间窗口。软时间窗可以通过实现core.problem.constraint.SoftActivityConstraint来考虑

https://github.com/jsprit/jsprit/blob/master/jsprit-core/src/main/java/jsprit/core/problem/constraint/SoftActivityConstraint.java

在这里,您可以惩罚“迟到”的到达。请记住,插入新活动不仅会产生局部影响,即对两个相邻活动产生影响,而且还会对整个路线产生影响,因为它会转移所有后续活动。反过来,这也会产生需要考虑的额外处罚。要在恒定时间内对此进行评估,您需要对全局影响进行某种近似。添加软约束后,您还需要在目标函数中考虑它(see for example 及其各自的代码示例以了解其工作原理)。

【讨论】:

以上是关于JSprit算法软硬时间窗口的主要内容,如果未能解决你的问题,请参考以下文章

软硬一体的算法实践,阿里云如何以算法实现场景 “再创新”?

如何在时间窗口中使用 jsprit?

无法通过使用 Jsprit 向服务提供时间窗口来获得正确的优化路线

具有多个时间窗口的 Jsprit VRP

电梯物联网网关软硬件一体化解决方案

支持向量机--软硬间隔与支持向量机