- 炸金花怎么玩,炸金花赢钱的app - 提现秒到帐的信誉平台
贵阳区域 毕节安顺 其它地区

技术:

182-08501170

售后:

0851-85945748

关于网约车的派单ㄊ、调度流程
发布时间:2019-06-26 12:19:20

派单流程   仅供参考

炸金花怎么玩 www.interior-plan.com 首先整体看一下司乘及背后的派单逻辑:

\

我们把乘客打车分成了 3 类场景:

  • 立即叫车(A 流程):用车时间距当前时间小于等于 N 分钟そ≡株→→;
  • 非高峰预约用车(B 流程):用车时间距当前时间大于 N 分钟┻水‰..,但用车时间非高峰时间段╗あф;
  • 高峰预约用车(C 流程):用车时间距当前时间大于 N 分钟ム」ⅵう,且用车时间在高峰时间段◇ゃ。

A 流程

\

用车时间距当前时间小于等于 N 分钟的用车⒂●拾Йㄗ,会采取「立即派单」的方式:

  1. 找到所有符合条件的司机:上班状态|╂┒ら°、服务状态==┇≈、距离㎝ⅳペ、司机类型等〩☆?ǜ;
  2. 司机排序:热区围栏号码Ч⑨わ、配置距离等⑾ぁナ≒;
  3. 派单:对于自营司机采取派单制┋あパ,对于非自营司机采取抢单制ū′。

B 流程

\

用车时间距当前时间大于 N 分钟╝,但用车时间处于非高峰时间段〥,会采取「叫车成功╕—Ⅱ有,到时再派司机」的方式:

  1. 是否超出该时段该围栏的预约上限㈩Ёιヮゲ,若超过会走超预约上限派单流程でぱ拍ж;
  2. 司机筛选⒔ㄎ、排序同 A 流程β佰ェ≡;
  3. 非当时分配司机的预约单┉≌┹乛弍,会有一个失败后每隔两分钟的轮询机制Ξж“;
  4. 经过三轮轮询后仍未成功的订单㏎ж,会转进人工处理ブ╂。

C 流程

\

用车时间距当前时间大于 N 分钟弎⒉㏎┆ǐ,且用车时间在高峰时间段リリ,会采取「预约单∷к〔,立即派司机」的方式:

  1. 司机筛靴骸:除与 B 流程相同的规则外金,司机可以选择是否接听此类订单(风险较高)×╀;
  2. 高峰订单主要集中在早á、晚⑿оぢ、凌晨ㄅヲ≠④,所以筛选司机是按照距司机家庭住址距离⑦(厘,而不是距当前位置距离┃↖Е;
  3. 也会采取 3 轮的派单轮询も﹤,与 B 流程不同的是и,如果无人接单イ,派单会立即失败⑸┒р③,不会进入人工派单в┢ㄛ。

热区排队

还有一个不得不提的流程是╤ㄈゴ,针对机场火车站这类单大人多的围栏≮,这一区域的派单有两个最大的问题:

  • 大家距离都差不多ㄦ,为啥先派给他【㈤,不派给我τ%?
  • 司机都希望去捞一票大的ㄋ,排很久接个小单会很不爽名。

\

  1. 首先需要配置若干热区围栏优に╉↘,以便于后续规则的设计№;
  2. 触发排队规则包含 3 种场景:空驶入队-、服务入队-ほリㄘ、上班入队艾⑿§оǚ;
  3. 针对每个围栏会有围栏上限ι,超过上限时仅能排队Ⅴ贰┣﹃,但不能切换到接单状态(防止司机在围栏等待过长时间)ば;
  4. 排队基本按照司机的入队时间ㄢ,派单时的司机顺序与上述流程大致类似⒒陆┧㎝甴;
  5. 接单超时时长:司机主动驶处мロロψΙ、接单成功等情况下会驶出热区∵こ∵火Б,其中针对接单出队这种情况会设置一个接单超时时长╚≯,若司机在此时间范围内归队⒐┥.+‘δ,则仍能保留原有排号ヘ特ㄑˇ,这样就解决了司机对接小单的抱怨←メ〡⒓优。

当然拍拍〓」ビ,派单中遇到的问题远不只此;ㄧ╤ち,如超出预约上线就不派了么⑨?车型降级怎么兼容я㈧?不同城市道路的限行问题 等等就不在此赘述η∠‰,有时间可以另起一个话题来聊~

调度流程

1. 空车调度系统介绍

系统自动预测当前城市未来半小时之内的车辆与订单的分布情况ξ,以系统六边形格子为单位えム㈢┄,将缺车区域与富余车辆区域相匹配τ〝ぜТう,将富裕的车调往缺车区域ㄙъ,使该城市的订单需求能更好地被满足毫¢≠╨。

同时司机接到系统发起的空车调度单并按要求到达目的地后┷┷←,可快速地接到订单,ゆ特⑨[,更好地完成自己的绩效.+┷ぴ。另外ク┑女,系统调度无需人工干预?クㄩㄎ,由系统经过一系列预测和计算之后—Г┪┛,智能的㎎㎎аǔ、精准的匹配供需↘⒏⒏┤。

2. 调度目标

对每个格子をぐ⒏,我们可以预测出其30分钟后的成功订单数succOrderⅠグΝ,空闲车辆数freeCarた℅。

我们定义:

  • 当succOrder大于freeCar时ㄈグ社ブ,本格子是需求格子(S)ぅ├财ㄒ⒄,需求数量为succOrder-freeCar玖玖┳⑶。
  • 当succOrder小于freeCar时мㄦヒ,本格子是供给格子(D)ヴ⑥◥,供给数量为freeCar- succOrder⒚Λワ。

我们的目标就是从D向S调度车▼ゎ㈦а⒋,使得全城的需求格子的需求数尽量变为0С,即祝Щ,我们乘客的需求尽量被满足ㄇ┺。在实际问题上ェㄡㄆ,这并不容易ぃョ“㊣,主要是因为以下三个问题Ι∥。

3. 调度问题

调度主要遇到以下3个问题:

(1)派单距离会大于格子距离ⅷūけイ,一些调度不需要

六边形格子相对于传统的人工围栏来说ǜ┄ナじ.+,单位面积更小ㄨΛ℃まǔ,反映城市的供需情况更加精确█,然而带来的一个问题是ㄝ,专车下单时くゑ,派单半径较大、ょょㄒ,可能会覆盖到周围的六边形格子﹌﹌,如图:

\

图中红色的a块是缺车区域ⅵ╈,邻近的αοА㏄ㄟ、β是多车区域④╨,如果直接按照简单的调度算法╳⑦Х╂Ν,就可能将α⑥〗でⅪ﹄、β块的车辆调入a块ㄆネせ。但a块在下单时向周围辐射的派单半径将α┈τ、β块都囊括其中たМ-◣,αкП┼к∵、β块中的车辆能够接到a块的订单↗,所以没有必要发起空车调度土ПサΣ。

我们需要界定ギ★,哪些供给与需求之间需要调车α『Β÷,而哪些不需要㈥项ㄘ|。

(2)真实的需求とХ,真实的供给

例如『≯,下图的三个连续的格子ォ,经过预测ō≮⑩,我们得知A区域是需求区域τ,需要3辆车:D(3)〉贰,B区域是供给区域S(4)Иㄨ,C是D(3)分有でⅪㄢ。A的派单距离只能看到Bわ写ы,看不到C↘┃╘。

那么◣ン,从A看来',自身的需求可以被派单区域内的B满足⑷,整体看来应该是S(1)┵女△,┋。但是如果我们多看一步〨⒚⒚,就会发现⒂≠,B区域还要去满足C√女ㄊザレ,使得B不能同时满足A和C㏑ギも。而如果我们“再多看一步”毫名⊙,也许C的旁边还有个供给区域S(4)"⑨"⑨,也许没有◤∶═。

为了计算A区域是否真的“不缺车”┋╢χレ,我们“连锁反应的”考察了其相邻的相邻的格子ぢǎ,我们甚至可能要扫描全城的格子γ㎎ㄙ。

我们需要找出▽⒈亅卍,如果经过全盘考虑后ㄇ,那些格子是真实的供给亇ぬ`┓,那些是真实的需求[=ゲゲ┇。

\

(3)最后的供给与需求如何做匹配

假如我们找到了真实的供给和需求后ダ┦ユ〦ゐ,如何找到一种匹配方法ψコ≤,使得最后供给与需求之间的调度代价(调度距离总和)最小ⅷんん。

例如在下面的例子中Λ№Пま,我们的调度应该是(a2-γ1 Ш∧、b1-δ1)还是(a2-δ1 ぺⅡ¢、b1-γ1)п╁?

\

4. 调度算法

针对问题1﹥、2┌ㄅΞ╜,我们使用了抹平算法∩ǜヰ女ヰ;针对问题3′ТΦ祝,我们使用了km匹配算法⑼Щの肆。

六边形调度算法的流程可概括如下:预测30分钟之后的供需分布 → 抹平算法抵消不必要的空车调度 → KM算法计算最小调车成本 → 发起调度ㄌ祝ⅳの█。

(1)抹平算法

1)概述

抹平算法的目的是将邻近六边形块的供给和需求相互抵消ぐ┃,避免不必要的空车调度厃げ┳ё。抹平算法利用了二分图最大匹配的思想㈣⒓£Γヂ,将供给和需求单位看作左右子图进行配对弍╩ば,并利用匈牙利算法得到最大匹配ⅸ。匹配完成后タ,二分图里所有边两端的顶点视为相互抵消∏拍め,剩余的顶点即为真正的缺车和多车

2)例子

举例说明:

\

假设上图中ォ,红色的aㄢЙ⒀﹥☆、b块是某城市所有的缺车区域モГ⑹,数字-3▽¤、-2代表a块缺3辆车⑦写,b块缺2辆车っ。蓝色的α伍ǖ仟⑹、βㄘゥ┅す、γなэひざ、δ为多车区域┆めビ;㊣,分别富余2がа║、1ō囍柒┗è、1ˇㄘú㏄ο、1辆车нⅤО】ㄈ。

对于aせ⑤ス厃、b两个缺车区域而言〥,假设派单半径能够覆盖周围一圈六边形プれ,那么α能够直接满足a块的订单需求ㄔΑ〦Θ,β块能直接满足b块的用车需求ㄣК,所以α块无需发起向a块的空车调度よЩ┥┥と,β块也无需发起对b块的空车调度Л╨ⅨΦⅨ,需要进行抹平计算Ш㈦びヅ┟。

给该城市所有缺车需求和富余车辆进行编号шのュ╙Ё,如下图:

\

由六边形块的邻近关系得知ㄓ┷←,α1火ゅ、α2可直接满足a块的用车需求╂ㄖνΓ┗,β1可直接满足b块的用车需求Ё,根据这个关系ま,可以得出一个二分图如下:

\

图中虚线代表了可能的匹配关系ル┼ケ≠ⅰ,基于以上前提К♀ぉる,可以计算一个最大匹配(即尽可能多地将左右子图两两匹配)′卐。利用匈牙利算法↙┐,可以求得一个最大匹配⒎ǘ,如:

\

匹配完成后拍ㄌΦ,我们发现左图剩下了a2ゥ太、b1丂ǐ,右图剩下了γ1ⅶ±柒、δ1 〝⒀。也就是说a块和b块都还有一个需求没有被满足㈣柒ì┩,γ和δ块仍然有多余的车辆:

\

到此玖◆夬,可以得出a块和b块真正的缺车数量为都为1Гぜ?,接下来可对于a┨○リ、b和γ木≤ⅲγ、δ进行下一步的匹配㎝ざ,生成空车调度单í’。

3)总结