我有带有时间窗口的服务列表。是否可以以必须满足某些时间窗口(硬时间窗口)而其他时间窗口配置为软时间窗口的方式配置 JSprit?
提前感谢您的帮助
硬时间窗口可以通过通过 为服务分配时间窗口来实现Service.Builder
。默认情况下,服务没有任何时间窗口。可以通过实现 core.problem.constraint.SoftActivityConstraint 来考虑软时间窗口
在这里,您可以惩罚“迟到”的到达。请记住,插入新活动不仅会产生局部影响,即对两个相邻活动产生影响,而且还会对整个路线产生影响,因为它会转移所有后续活动。反过来,这也会产生需要考虑的额外处罚。要在恒定时间内评估这一点,您需要对全局影响进行某种近似。添加软约束后,您还需要在目标函数中考虑它(参见示例及其各自的代码示例以了解其工作原理)。