tsp的理论与实践(7)取件时间窗

tsp目录算法

  1. 最简单的实践 juejin.im/post/5d1b14…
  2. 最简单的理论 juejin.im/post/5d1b15…
  3. 当前tsp的现状 juejin.im/post/5d1b19…
  4. 单起点任务分配 juejin.im/post/5d1c6d…
  5. 多起点任务分配 juejin.im/post/5d1dbe…
  6. 更简洁的多起点分配 juejin.im/post/5d1dc2…
  7. 起点时间窗 juejin.im/post/5d1f1f…
  8. 终点时间窗和hk juejin.im/post/5d1f44…
  9. LK简介 juejin.im/post/5d25b8…
  10. tsp系列暂停一下 juejin.im/post/5d302e…

tsp领域的问题, 并不都是tsp问题, 可是, tsp相关的算法通常都能解决, 只要你能为某一个充满个性的问题儿子找到他亲生的解决方案爸爸.post

通过前面六篇的努力, 咱们已经能够完美的解决多个发件地址发件的配送分配问题了, 可是, 由于公司有运营在, 因此技术不可能没事干, 因此, 新的业务需求出现了:3d

需求概述
  1. 客户须要组织生产, 所以要求咱们下午再过来取件.
  2. 客户要求咱们11:00以后取件.
  3. 客户要求咱们13:30以后再来取件.
  4. 总之, 客户要求咱们某个时间点以后来取件, 咱们至少要计算两件事:
    1. 这单生意咱们能接吗? 咱们能在当天成功配送吗?
    2. 咱们怎么排出最高效的配送方案, 是让配送员提早过去等一下.
分析
  • 以前的算法都是按照物理距离做为权重组织的.cdn

  • 可是如今有了时间窗的概念, 时间上的距离要考虑进来, 好比如今是9:00, 有一单10:00才能取, 这一单只距离我3km, 可是, 我和他之间还有1个小时的时间距离. 因此, 咱们的系统里面天然地出现了两类距离:blog

    • 空间转化的时间距离, 好比3km转化为5分钟.
    • 直接的时间的距离, 好比9:00到10:00是一小时的距离.
  • 可是, 若是直接粗暴的使用时间距离, 会引发不少问题, 好比, 1小时的时间距离, 会掩盖掉物理距离的巨大差别, 好比咱们的时速是60km, 那么1小时的时间距离致使距离1km和距离60km的队列的权重是同样的了. 现实中的这种状况, 咱们仍是指望1km距离的司机上门取货, 宁可他找个地方休息60分钟. 这样咱们节省了汽油和司机的体力.队列

  • 这个问题咱们也不能粗暴的修正, 好比:get

    • 咱们不能说先判断时间距离, 在时间距离一致的时候, 就判断空间距离, 这个方案的问题在于, 时间距离不会一致, 某个司机分配了一单, 他送完这单要到9:40, 而后系统一看他距离10:00最近了. 因此这至关远的一单就给他了.
    • 若是咱们先判断空间距离, 而后, 就让司机原地等待到取件. 这样也是很没有效率的作法, 由于若是一单是下午18:30取件, 那么难道司机早上9:00到了客户那边, 而后等一天吗?
    • 咱们也不能说到接近10:00的时候再分配. 好比有一个思路, 当离那个点最近的司机接单也在时效之内了, 那么就给他. 这样会致使一个问题: 原本司机原地等待一下就行了, 结果咱们让他往返跑.
  • 所以, 直观的作法是:it

    1. 咱们按照空间距离来生成树, 可是, 生成的时候要判断下是否达成时间限制, 若是没有, 那么就先不排他, 改成排入距离第二的订单. 此时要记录订单和路径的关系.
    2. 而后继续分配, 依旧是这个逻辑, 若是某一单分进来, 不知足时效, 那么就先不分配.
    3. 此时须要评估一下这个时效单单权重是否依然生效. 参见下图.
    4. 当某一个时效单分进来, 知足取件时效要求了, 这时咱们要作一次总体的评估, 历史上须要等待的分配都分一次, 看总体的时间开销哪种最小.

    第三步的示例:io

  1. 此时1号单分进来, 可是还不到取件时间.
  2. 只能分配c单进来, 此时1的权重不变, 由于a点还在.
  3. 而后, 1的取件时间仍是不到, 那么咱们分配b单进来.
    • 此时要删除a和1两个q以前的权重了.
    • 由于a的独立的对于1的权重是失效的,
    • 由于1号单须要某个时间以后配送, 不能a以后直接配送, a以后必定要作其余的单, 好比b单,
    • 因此a-1这个权重不会再生效了.

至此订单分配问题基本都已经解决了, 后续的分享将以路线规划为主, 会为你们介绍LK, LP以及遗传算法. 敬请期待class

相关文章
相关标签/搜索