
本发明涉及计算机、交通运输
技术领域:
,特别涉及一种适用于共享出行的出租车车辆搜索方法。
背景技术:
:出租车是交通出行的中坚力量之一,具有流动性强、乘客多元化、需求多样化等特点。然而目前城市交通拥堵越来越严重,上下班高峰时期“打车难”的问题困恼着人们。随着“共享经济”的概念和车联网技术的蓬勃发展,联网的出租车的共享出行是一个具有极大潜力的改革方向。它通过将相似出行路径的计划行程合并服务于一辆出租车,可以满足人们日益增长的出行需求,而不增加车辆数量。而在这技术改革过程中,如何在众多出租车车辆中快速过滤不适合的出租车,搜索出合适的候选车辆集是一个关键问题。本专利融合地理信息网格划分、车载传感信息、网络通信一体,把人、车、路、网等交通元素有机结合,提出一种适用于共享合乘车辆尤其适用于共享的自动驾驶出租车的车辆搜索方法。为了提高检索车辆速率,目前已有一些比较优良的方法。一般来说,传统出租车很少存在预先检索车辆的设计,常常采用巡航方式或者电话预约方式接待乘客。而当下流行的网约车,如滴滴,uber,后台服务器接受到用户请求后,根据出租车的位置和状态信息,向司机发送应答信息。他们都是通过锁定用户的附近一个范围内的所有空置车辆,进而按照司机的评分高低对部分司机进行优先分配。这种做法简单直接,只需要在系统接收到出行请求时,检索以用户为圆心的一定范围内的空置车辆,不需要车辆实时联网,亦不需要对车辆行驶轨迹预测。但对于共享出行,这种方式存在明显的不足:(1)可用车辆可能不是空乘的,因此系统几乎需要检索周围的所有出租车,这无疑大大增加了计算成本,耽误乘客用车候车时间,降低用户体验。(2)倘若使用缩小检索范围的方法来加快检索速度,会导致当下距离用户稍微远的车辆被放弃。那么,如果这些被忽略的出租车中已有的乘客与新乘客的出行路径非常相似,系统也不能将他们成功匹配。(3)并且,传统方法也不能发挥出未来联网的自动驾驶出租车的潜力。在论文《utrs:一个面向出租车的拼车推荐系统》中,其按照“最近先服务”原则检索车辆,这种做法片面考虑出租车的利润最大化,对用户方面不够友好。论文《mobilityandthesharingeconomy》和《researchonoptimizationofvehicleroutingproblemforride-sharingtaxi》针对静态共享,在出租车出发之前完成订单分配,因此车辆搜索只需检索还没出发的车辆,大大减少了检索量。但这种方式约束了车辆的行驶路径,不允许中途绕路以匹配更多乘客,很大程度上降低了共享出行的潜力。论文《t-share:alarge-scaledynamictaxiridesharingservice》中,作者通过网格化城市,同时从订单的起点和终点附近网格滑动过滤不符合条件的出租车后寻求交集,对一个特定的订单筛选出合适的共享出租车。然而作者介绍的方法需要依赖于一个非常复杂的索引结构,而且作者完全从出租车车队整体行驶路径最短距离去考虑,这可能会出现一种对乘客非常不友好的情景:乘客附近恰有一辆空车待客,但却要等待一辆较远的已有乘客的出租车过来服务。这对现实打车服务无疑是不符合实际的。现存的多个方案中所提及的调度方法不能适用于出租车共享出行普及后的交通运载模式,如只考虑了简单的调度或通过降低共享合乘的性能达到快速调度目的,无法发挥出共享合乘的最大潜力。技术实现要素:为了解决现有技术中的调度方法无法适用于出租车共享出行的问题,本发明提供一种适用于共享出行的出租车车辆搜索方法,该方法整合了大数据车联网,实现了人、车、路、网的有机融合。本发明为了解决上述技术问题所采用的技术方案是:一种适用于共享出行的出租车车辆搜索方法,其特征在于,包括以下步骤:s1.首先将城市路网按照一定的面积划分为网格地图,将各个出租车的位置和实时状态以及各个网格地图内的行驶速度作为网格静态信息;s2.然后,记录目前正在网格内部的车辆和未来一段时间内将会到达目标网格的车辆作为网格动态信息;s3.在接到用户用车请求后,根据用户请求,对用户上车地点作为目标网格,通过网格静态信息获得乘客所属的网格与周围网格间的平均通行速度,并按照从小到大排序,快速选取出第一个存在可用车辆的网格以及排序在其后的两个网格内的所有可用出租车。本发明的有益效果是:本发明通过网格静态信息和网格动态信息对周围车辆快速检索,对大数据车联网,实现人、车、路、网的有机融合,利用大数据技术和机器学习方法预测交通路况,网格化统计交通信息,充分考虑出租车效益和乘客效益,通过对城市交通网格化管理以及基于车联网的实时车辆轨迹预测,为共享出租车车队系统提供快速检索车辆的方法。附图说明图1为本发明的系统框图。图2为出租车位置预分析过程示意图。图3为搜索出租车的过程示意图。具体实施方式下面结合附图对本申请进行进一步的说明。一种适用于共享出行的出租车车辆搜索方法,其特征在于,包括以下步骤:s1.首先将城市路网按照一定的面积划分为网格地图,将各个出租车的位置和实时状态以及各个网格地图内的行驶速度作为网格静态信息;s2.然后,记录目前正在网格内部的车辆和未来一段时间内将会到达目标网格的车辆作为网格动态信息;s3.在接到用户用车请求后,根据用户请求,对用户上车地点作为目标网格,通过网格静态信息获得乘客所属的网格与周围网格间的平均通行速度,并按照从小到大排序,快速选取出第一个存在可用车辆的网格以及排序在其后的两个网格内的所有可用出租车。下面将对其中重点部分进行说明。一)网格化交通信息过程:其中,如图1,所述网格静态信息的获取包括以下步骤:s101.将城市路网按照一定的面积划分为m*n的网格地图;s102.获取城市历史的交通信息,得到交通记录中包含出租车的轨迹、车辆转移规律的历史数据;s103.通过s102步骤的历史数据和实时交通信息,包括道路拥堵情况、车辆通行平均速度,从而获取城市各道路不同时段的通行速度,将其作为出租车未来预测的通行数据;s104.根据s103步骤的预测的通行速度,通过s102步骤的历史数据和实时交通信息,包括道路拥堵情况、车辆通行平均速度,从而获取城市各道路不同时段的通行速度,将其作为出租车未来预测的通行数据;s105.在网格化交通信息管理中,按照一定的时间频率不断更新出租车的状态和位置,更新实时交通信息,重新计算车辆预测轨迹,使得每个网格内的车辆信息实时有效。以上步骤作为本专利中车辆搜索的工作基础。网格静态信息包括网格间通行速度,网格内部分数段道路行驶速率等,由系统预先计算后并存储以快速使用。网格动态信息记录目前正在网格内部的车辆和未来一段时间内(如半小时)将会到达网格的车辆,它是由车辆按照一定时间频率上传的状态信息来更新。二)车辆搜索过程:首先,系统后台服务器收集半分钟内或一段时间内所有用户发起的请求,包含乘客的合乘意愿、最大等待时间、上下车地点以及当前时间。然后,本专利将根据每个乘客的请求信息,搜寻请求起点所在区域的所有拥有空位的出租车,并根据乘客的请求信息和出租车的位置与载客信息,筛选出满足车辆最大载客数约束和同时满足车上乘客与发出请求的乘客的时间约束的车辆(即在不超载情况下,赶在最晚到达时间之前将乘客送达目的地的车辆)。最后,得到该请求的候选车辆集合。对于本发明中而言,每个订单上传后,对用户上车地点定位,将其归类到所属的网格中。通过网格化的静态信息获得乘客所属的网格与周围网格间的平均通行速度,并按照从小到大排序。其中,乘客所属的网格是队列中的第一项。按照队列顺序,依次对网格内部的进行车辆搜索。具体过程分为以步骤:所述s3步骤具体包括以下步骤:s301.将所有网络按照到达乘客所在的网格平均时间顺序从小到大在一个队伍中排序,并且仅保留时间小于到达乘客所在网格的最大等待时间的网格;s302.若是已经查找队伍中的所有网格,则进入s307。否则,按顺序取下一个网格,利用网格内保存的车辆到达信息,排除已经满载的出租车,将剩余车辆按到达顺序排序;s303.将s302中排序的车辆,使用其到达网格的时间和该网格到达乘客所在网格的时间相加,得到出租车达到目标网格的预计时间;s304.判断s303所述的网格的第一辆出租车的预计时间是否超过了乘客的等待上限,如果超过了最大等待时间,则返回s302;否则,进入s305;s305.寻找s303所述的网格,所有能够按时到达的车辆,一旦发现不可到达车辆,停止寻找,记录查找成功的车辆,进入s306;s306.查找网格队伍内查找s303所述的网格后两个网格内可按时到达的车辆,将可以按时到达的车辆也记录下来;s307.将本次查找的结果与乘客匹配,若匹配成功,则完成搜索车辆过程,否则进入s308;s308.若队伍中的所有网格都被已经查找,则搜索车辆失败,否则返回s302,并在搜索过程中排除本次匹配失败的车辆。当第一次从一个网格找到合适车辆后,需要考虑是否继续检索后面的网格。实际上,由于网格内部道路复杂性不同,且不同时间路段通行时间不同,因此,能够使得乘客最快时间到达目的地的出租车不一定在第一次找到的网格内。最优的车辆会在第一个找到可用车辆的网格和其后的紧接着的两个网格内。而相比于检索乘客所在网格及其所有毗邻的所有网格,此方法可以减少超过65%的计算成本。因此,本专利根据网格信息,依次检索其内部车辆,在第一次检索到发现可用车辆的网格后,仅继续检索其后的两个网格内的车辆,以快速得到一个可用的结果集。具体实施例i:一个预分析示例过程,它筛选出一个按顺序的网格结果集。(1)算法构建过程用户起点o.o在网格g7内部,根据乘客预定的最大等待时间为tm,结合式(1)计算,我们找到g7附近合适的网格g7、g8、g5、g4、g9,并按照每个网格到达g7的用时从小到大排序。tgig7<tm(1)进一步对所选网格检索车辆。搜索过程需要输入上述所选的网格和一个失败集s.f,s.f初始为空且可以忽略,具体用途将稍后解释。每个网格中按照车辆到达顺序检索车辆。在g7中,使用公式(2)计算能够到达的车辆,然而能到在最大等待时间前到达的车辆均满载,搜索的车辆集s.o为空,根据计算的车辆结果集s也为空(通过公式(3)计算),因此继续向后检索;tv.lo.o<tm(2)s=s.o-s.f(3)在g8中,我们找到合适的车辆v12、v13放入s.o,g8为第一个找到车辆的网格,根据我们前面的分析,继续向后检索两个网格g5、g4后搜索停止,最终搜索方法返回的车辆结果集s为含车辆v12、v13、v11。考虑更大的适用性和提高乘客打车成功率,本专利额外提出一个失败结果集s.f,假如s中所有车辆都最终匹配失败,s的结果存入s.f中,并返回重新检索,重新检索时需要排除s.f中的车辆。(2)算法实现下面给出本专利车辆搜索方法相关的算法。首先,第1行代码使用belong_to()函数与订单的起点o.o寻找订单起点所属网格,最终结果赋予g_o变量中。然后,第2行代码通过temp_close()函数按与网格g_o的平均通行时间长短去排序以获取一系列在tm前能够到达的网格列表。这个列表是静态的,一定时间范围内(如一小时内)只需计算一次,系统存储起来下次可以直接使用。值得注意的是,在排序中相邻的网格不一定在现实中也是相邻的,因为排序是按照道路通行速度。其次,3-4行代码为检查temp_o,若temp_o为空,即当前没有能在tm内到达g_o网格的网格,最后返回空集。最后,5到17行代码找到第一个存在合适车辆的网格和其后的两个网格(附加网格),并检索三个网格内部的所有合适的车辆。详细如下:第一步:其中7-8行与第17行代码为不断迭代temp_o中的网格,若temp_o所有元素迭代完,end_o赋值为true并退出循环,继续执行下面代码。第二步:按照本专利的分析,9-10行代码用于记录系统已寻找的附加网格的数量。迭代完第一个网格时,合适的车辆会存入车辆结果集s,若s为不为空时,则继续迭代检查此网格的后面两个网格的出租车。若可用车辆结果集s为为空时,此网格不符合第一个存在合适车辆的网格的条件,因此计数器不增加,意味着系统还希望继续迭代检查3个网格。第三步:11-12行代码取出temp_o中的第一个网格,且把该网格从temp_o上删除,表示为该网格准备接受检索。第四步:13-16行代码依次取此选出的网格g中的出租车,将出租车空余位置与订单中的乘客数量进行比较,把能承载的出租车集加入搜索到的车辆集s.o,最后让搜索到的车辆集s.o与失败车辆集s.f作差集并且赋予可用车辆结果集s,至此,一个网格检索完成,回到第7行重新条件判断。最后18行返回结果集。本申请中涉及的变量说明本方案定义了路网、乘客(订单)、车辆三个对象。o.o:为订单的起点,即乘客的上车点,他们的上车点将模拟地产生在路与路的节点上。gi:是指地图上均分到的某个正方形网格区域,其中i为网格的id编号。s:是指存储车辆的集合:若其后缀为f标志时,表示为匹配失败的出租车;若其后缀为o标志时,则表示为搜索到的出租车集合;无后缀时,则表示该方法最终返回的出租车结果集。vi:是指某辆出租车。其下标是一个正整数i,则它代表了其中出租车的id编号为i的出租车。若其中添加了后缀为l的标志时,则代表了该出租车的当前位置。t:是指某个时间段,若其下标为两个正整数i,j时,则其代表了从i到j的最短行驶时间,若其下标是m标志时,则其代表了订单的最长等待时间。t:是指某个时刻。其下标是now标识,它代表了整个仿真系统的当前时刻。基础变量汇总为下列表格:变量名解释说明o.o订单起点gi网格s.f匹配失败的出租车s.o搜索到的车辆集s方法最终返回的车辆结果集tij从i到j的最短行驶时间vi出租车vi.l出租车当前位置tm最长等待时间tnow当前时刻综上所述,本发明具有以下优点:(1)与大数据车联网进行联网,实现人、车、路、网的有机融合,利用大数据技术和机器学习方法预测交通路况,网格化统计交通信息。避免出租车前往交通拥堵地段,也能提供安全防范,减低交通风险。(2)对共享合乘尤其是绕路共享的出租车系统提供一种可实现的车辆搜索方法(3)通过网格静态信息和动态信息,对周围车辆快速检索,计算量少,时间复杂度较低,搜索车辆集时既考虑包含较多可用车辆也考虑检索速度。满足现实需求。(4)具有很强的兼容性和拓展性。本专利对共享车辆系统中车辆搜索过程进行建模分析,迅速得到一批可用的车辆结果集,这个方法可以应用于多个场景。具有很强的拓展性。以上所述仅为发明的较佳实施例而己,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12