JSprit算法软时间窗和硬时间窗



我有一个带有时间窗口的服务列表。是否有可能配置JSprit的方式,一些时间窗口必须满足(硬时间窗口),而其他配置为软时间窗口?

提前感谢您的帮助

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

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

在这里,你可以惩罚"迟到"。请记住,新活动的插入不仅会对局部产生影响,即对两个相邻的活动产生影响,而且还会对整个路线产生影响,因为它会改变所有后续活动。反过来,这也会产生额外的惩罚,需要考虑。为了在常数时间内对其进行评估,你需要对全球影响进行某种近似。一旦您添加了软约束,您还需要在您的目标函数中考虑它(参见示例及其相应的代码示例,以了解它是如何工作的)。

相关内容

  • 没有找到相关文章

最新更新