一种实时拼车匹配方法

文档序号:9235744阅读:2802来源:国知局
一种实时拼车匹配方法
【技术领域】
[0001]本发明属于基于位置服务(LBS, Locat1n Based Service)的移动应用领域,主要针对当前城市车辆激增引起的一系列交通拥堵、人们出行困难等问题,提出一种实时的动态拼车匹配方法,可自动的将愿意进行拼车的乘客与司机进行匹配,进而以拼车的形式减缓上述交通问题。
【背景技术】
[0002]拼车作为解决城市交通问题的有效手段,有着方式灵活,政府投入成本少,降低空车率,减少环境污染,分担出行费用等优势。近年来,随着智能手机和基于位置的服务(LBS)的普及以及相关政策上的逐渐放开,拼车问题以其良好的前景获得了工业界,学术界以及投资者们的一致关注。
[0003]在工业界,大部分拼车系统使用模式为:用户选择拼车的角色,输入拼车的相关信息如起点、终点、时间和费用等。之后系统有几种处理方法:(I)等待其他用户手动配对并电话联系确认,这样做对拼车双方来说十分不便。(2)与打车软件类似,系统选择乘客起点附近的K个最邻近司机,并将离乘客最近的司机返回给乘客。这样找到的司机可能终点离乘客终点很远,导致拼车费用高;(3)系统只选择有重合路线的司机与乘客。这样无疑大大减少了拼车成功的概率;(4)系统允许司机指定乘客的上下客地点,因此乘客可能需要在上车前或下车后步行,这样的拼车方式在实际应用中不够灵活。
[0004]在学术界,拼车的问题始于发达国家的电话叫车服务(Dial-a-ride Service),电话叫车是需要服务的人(通常为老年人或残疾人)拨打政府的服务热线预约服务,调度中心根据每个服务的时间和地点安排工作人员开车上门。近年来,研宄人员主要关注于司机和乘客的动态匹配方法设计,但现有的主流匹配方法大多基于大规模的司机行车轨迹数据对司机的位置进行预测或者对拼车匹配过程中耗时最多的最短路径进行预处理计算。这些方法能够保证实时高效,但是预测的方式使得匹配方法在实际中的准确度无法得到有效保证,而对最短路径的预处理需要消耗大量的空间存储资源。

【发明内容】

[0005]本发明要克服现有技术的上述缺点,提出一种实时的动态拼车匹配方法。该方法最终目的是根据乘客实时的拼车需求,高效地匹配出满足其要求的候选司机集合。
[0006]本发明方法包括如下步骤:
[0007]步骤I实时拼车场景建模
[0008]实际拼车场景中,乘客和司机均有起点和终点,此外,乘客还有最迟到达目的地时间和最大拼车费用的要求。为了实现拼车匹配,本步骤将对拼车费用建立模型,对拼车问题进行定义,并设计拼车匹配过程中的数据结构。
[0009]步骤1-1拼车费用建模
[0010]在拼车过程中,司机d首先需要从自己的起点赶到乘客r的起点,接着从乘客r的起点将乘客载至其终点,最后从乘客r的终点回到自己的终点。在拼车结束后,乘客r需要支付一定的拼车费用给司机作为报酬。
[0011]根据上述的拼车过程,本方法中的拼车费用定义如下:
[0012]Price (d, r) = RiderTrip(r)+Detour(d, r)
[0013]其中Price(d,r)表示拼车费用;RiderTrip (r)表示拼车后司机和乘客共同走的路程,即司机载着乘客从乘客起点到乘客终点的路程(本发明中路程、费用以及时间均与距离成正比,因此可互相转化);Det0Ur(d,r)表示司机相对其原始路线多走的路程,即绕道路程,其计算方式如下:
[0014]Detour (d, r) = Pickup(d, r)+RiderTrip(r)+Return(d, r) - DriverTrip(d, r)
[0015]其中,Pickup(d,r)是司机起点与乘客起点间的路程,即司机去接乘客时的费用;Return(d,r)表示司机目的地与乘客目的地间的路程距离,即司机在送完乘客时返回的费用;DriverTrip(d, r)是指司机在不接送乘客的情况下自己的原有路程。
[0016]基于上述关系,可进一步得到计算拼车费用的如下公式:
[0017]Price (d, r) = Pickup(d, r)+2*RiderTrip(r)+Return(d, r) - DriverTrip (d, r)(公式I)
[0018]步骤1-2拼车匹配过程建模
[0019]本发明适用的拼车场景中,乘客和司机都有其各自的拼车约束条件。其中乘客有起点、终点的拼车约束,以及最迟到达时间rMx A?TinM和最大拼车费用车约束;司机有起点与终点的位置约束。因此,本方法将拼车匹配过程定义如下:
[0020]定义1.给定一个司机集合D和一个乘客r,拼车匹配旨在D中找到一个子集合D’,并且对于D’中的任意一个司机d,需要满足如下约束:
[0021].时间约束:Pickup (d, r) +RiderTrip (r) <rmax ArrTime
[0022].费用约束:Price (d, r) <rmax Price
[0023].Skyline 约束:D’ 中的每个司机在 Pickup (d, r)与 Price (d, r)上是 skyline 关系O
[0024]Skyline约束是指集合D’中的司机与司机之间在乘客到达时间与拼车费用两个属性上是skyline关系,即任意一个司机不会同时在等待时间和拼车费用上大于另一个集合中的司机。否则选择该司机则没有实际意义,例如,屯在15分钟内接到乘客,并且所涉及的拼车费用是20元,d2提供给同一乘客的等待时间与拼车费用分别是17分钟和25元,那么,本发明认为d2这样的司机作为候选司机推荐给乘客是没有意义的。因此本发明匹配技术在匹配过程当中,也对这一类的司机进行了相应的skyline过滤处理。
[0025]步骤1-3拼车数据结构设计
[0026]为了便于后续的拼车匹配计算、记录备选司机和匹配过程,需要设计相关的拼车数据结构。即如下两个表格:
[0027]司机信息表(Driver Table):该表共有四个字段,用于记录司机的相关信息。包括:1)司机唯一标识ID ;2)司机当前位置CurrentLocat1n ;3)司机的目的地位置Destinat1n ;4)司机从当前位置到目的地需要经过的路程DriverTrip。
[0028]匹配记录表(Matching Table):该表共有6个字段,作为拼车匹配记录和计算的依据。包括:1)司机唯一标识ID ;2)司机起点与乘客起点间的最短实际路径Pickup,该值可换算表示成乘客的实际等待时间;(3)司机起点与乘客起点间的欧式距离EuclideanPickup ;4)司机目的地与乘客目的地间的最短实际路径Return ;5)司机目的地与乘客目的地间的欧式距离EuclideanReturn ;6)司机的起点与目的地间的最短路径DriverTripJPDriver Table中的第4个字段。步骤2,实时拼车匹配;
[0029]本发明使用场景中,会有大量的司机与乘客参与,在每次拼车匹配过程中,有大量的司机与乘客间的最短路径需要计算,而这些计算十分耗时,严重影响了实时拼车场景的应用。为此,本发明设计了一系列的剪枝步骤,尽可能的减少最短路径计算数量,进而提高拼车匹配的效率。
[0030]步骤2-1基于欧氏距离的乘客最大等待时间筛选策略
[0031]本步骤的核心思路是使用乘客的最迟到达时间作为约束条件,将此条件转化为欧氏距离对司机进行筛选。
[0032]?时间约束转化:乘客到达其目的地的时间为其等待时间Pickup与其从起点到目的地的路程对应的时间RiderTrip之和。由于乘客RiderTrip为定值,因此将乘客的最迟到达时间rmax A?Time与乘客的RiderTrip对应的时间相减即可得到乘客的最大等待时间Max_Pickup。即:Max_Pickup = rmaxJtaTime _ Pickup。因此乘客的最迟到达时间被转化为最大等待时间,即司机的Pickup值不能超过Max_Pickup。
[0033]?欧氏范围查询筛选:为了将不能在乘客最大等待时间Max_Pickup内赶到其起点的司机排除,可以采用欧氏范围查询的筛选方式。首先将时间Max_Pickup转化为对应的欧氏距离(用MaX_Pickup乘以当前的路网平均车速),接着以乘客当前的起点为圆心,以Max_Pickup对应的欧氏距离为半径做一个圆形的范围查询(Range Query)。所有不在此圆形范围内的司机将会被排除,原因是他们在最短距离(欧氏距离EuclideanPickup)的条件下也无法及时赶到乘客起点。
[0034]步骤2-2基于欧式距离的最大拼车费用筛选策略
[0035]对通过了上一步欧氏距离筛选的司机,将会被添加到匹配信息表中,并利用乘客的最大拼车费用约束进行进一步筛选,排除在欧氏距离下的所需拼车费用超过乘客最大拼车费用rmax—_的司机。
[0036]将拼车费用Price (d, r)(即公式I)当中的Pickup和Return使用欧氏距离代替,得到欧氏拼车费用公式:
[0037]EuclideanPrice(d, r) = EuclideanPickup(d, r)+2*RiderTrip(r) +
[0038]EuclideanReturn - DriverTrip (d)(公式 2、
[0039]因为路网实际距离大于欧氏距离,所以若司机使用公式2计算出的理想拼车费用EuclideanPrice (d, r)大于rmax—Mee,则根据不等式的传递性,用公式I得出的实际费用Price (d, r)也将大于rmax 因此这部分司机不满足乘客的最大拼车费用条件,将被排除。
[0040]至此,步骤I与步骤2均未产生任何的最短路径距离计算,仅利用简单的欧氏距离计算可以过滤掉一部分司机。
[0041]下面,对于通过上面两步骤筛选的司机,将通过匹配表重排序,对司机Return和Pickup渐进式的搜索与筛选,最后根据skyline的原则为乘客选出候选的司机。
[0042]步骤2-3渐进式Return筛选
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1