`
shaojiashuai123456
  • 浏览: 257112 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

jsprit学习笔记 -- 时间窗策略

 
阅读更多

 

 

时间窗策略

约束判断

     位置:VehicleDependentTimeWindowConstraints.java

     流程

1.获取插入位置后一个服务点的最晚到达时间,对于结束点,直接使用车辆的最晚到达时间就行

2. 插入的服务点,插入位置的前后服务点都需要小于 最晚到达时间

3.如果插入的服务点最晚时间<插入点前的最早处理时间,则不合法

4.计算在新车辆下原来的状态是否能满足要求,也就是前节点+前节点到后节点的时间<后节点允许的最晚到达时间

5.如果插入的服务几点最早时间>插入点后的最晚到达时间,则不合法

6. 推演插入后新节点到达时间,然后计算 插入点的最晚触发时间

7.如果新节点到达时间》最晚出发时间,则不合法

8.如果是最后一个节点,并且是任意点结束,则直接成功

9.计算到达下一个服务点的时间,如果时间>节点最晚到达时间,则不合法

10.到达这里就成功了

  时间窗更新

        最晚到达时间更新

        位置:UpdateVehicleDependentPracticalTimeWindows.java

        从后向前推演最晚的到达时间

  节点到达和出发时间更新

        位置:UpdateActivityTimes.java

        正向推演更新

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics