基于城市叫车需求分布密度的出租车运力调度系统的制作方法

文档序号:6713150阅读:190来源:国知局
基于城市叫车需求分布密度的出租车运力调度系统的制作方法
【专利摘要】本发明涉及出租车运力调度【技术领域】,具体公开了一种基于城市叫车需求分布密度的出租车运力调度系统,其包括:挖掘模块和推送模块;所述挖掘模块用于根据一个时间段的叫车订单集合,计算出该时间段的一个以上叫车需求密集区域;所述推送模块用于根据所述挖掘模块计算出的叫车需求密集区域以及实时收集到的出租车信息集合,对临近叫车需求密集区域的出租车推送消息,以实现出租车运力的调度。本发明的上述技术方案实时计算了一个城市的叫车需求分布,并将这个信息实时推送给出租车司机,均衡乘客叫车需求与出租车分布,减缓叫车高峰地段或突发事件造成的局部叫车困难的问题;同时让司机有效安排自己的行驶计划,减少空驶成本。
【专利说明】基于城市叫车需求分布密度的出租车运力调度系统
【技术领域】
[0001]本发明涉及出租车智能设备【技术领域】,尤其涉及出租车运力调度【技术领域】。
【背景技术】
[0002]当前随着智能设备,特别是智能导航、智能手机的普及,给人们的出行带来了极大的便利。随着城市的发展,叫车需求已经是社会各个阶层人士的普遍需求。现有的叫车软件虽然成功解决了出租车司机和乘客之间的信息不对称问题,但还存在如下两个问题:
[0003]1、乘客叫车需求分布与出租车分布不匹配,叫车需求密集的地域,出租车数量未必充足;出租车数量充足的地方,叫车需求未必充足;典型的情况比如大型演唱会、运动会散场;
[0004]2、司机作为信息的孤岛,只能实时了解周围几十米甚至不足十米范围内的叫车需求情况,即使经验丰富的司机,也很难根据经验实时判断一个城市的叫车需求分布。

【发明内容】

[0005]本发明要解决的技术问题是:如何获得一个城市出租车需求的热点分布情况,将这个信息实时发布给出租车司机,使得司机能实时掌握整个城市的出租车需求分布情况,为出租车司机的行驶计划提供有力的参考,同时有力解决城市叫车需求与出租车运力分布不均的问题。
[0006]为了解决上述技术问题,本发明所采用的技术方案是:一种基于城市叫车需求分布密度的出租车运力调度系统,其包括:挖掘模块和推送模块;
[0007]所述挖掘模块用于根据一个时间段的叫车订单集合,计算出该时间段的一个以上叫车需求密集区域;
[0008]所述推送模块用于根据所述挖掘模块计算出的叫车需求密集区域以及实时收集到的出租车信息集合,对临近叫车需求密集区域的出租车推送消息,以实现出租车运力的调度。
[0009]优选的,所述叫车订单集合中的各订单信息包括:订单编号、出发地经纬度、出发时间;
[0010]所述挖掘模块采用聚类算法来计算出叫车需求密集区域,所述聚类算法自定义一种距离,根据各订单的出发地经纬度信息自动将该距离内的各订单归为某一叫车需求密集区域;
[0011]所述挖掘模块根据某一叫车需求密集区域内的所有订单信息计算出该叫车需求密集区域的区域内叫车订单数、区域中心经纬度、区域半径;其中,所述区域内叫车订单数为该叫车需求密集区域内所有订单的总数,所述区域中心经纬度为该叫车需求密集区域内所有订单的出发地经纬度的平均值,所述区域半径为所述区域中心经纬度与该叫车需求密集区域内每个订单的出发地经纬度的距离最大值。
[0012]进一步优选的,所述聚类算法为Dbscan聚类算法;[0013]所述Dbscan聚类算法输入叫车订单集合D、半径r、密度阈值e,输出若干个聚簇C ;其中:叫车订单集合D为指定时间段内的所有叫车订单的集合;半径r为I?5km ;密度阈值e,为给定订单在r领域内成为核心订单的最小订单数,取值为所述叫车订单集合D中叫车订单总数的1/10?1/50 ;每个聚簇C为一个叫车需求密集区域;
[0014]所述Dbscan聚类算法步骤如下:
[0015]步骤I,检测D中的订单P是否为已处理,如果订单P归为某个簇或者标记为噪声,则订单P为已处理,检测D中的下一个订单;如果订单P为未处理,则将订单P的r领域内的所有订单加入候选集N ;
[0016]步骤2,检测候选集N包含的订单数,如果订单集合N包含的订单数小于e,订单P标记为噪声,检测D中的下一个订单;如果订单集合N包含的订单数大于等于e,建立新聚簇C,将订单P加入聚簇C ;
[0017]步骤3,检测N中的订单p’是否为已处理,如果订单P’归为某个簇或者标记为噪声,则订单P’为已处理,检测N中的下一个订单;如果订单p’为未处理,将订单P’的r邻域内的所有订单加入N’,如果N’包含的订单数大于等于e则将N’中的订单加入N,如果订单P’不属于任何聚簇则将订单P’加入聚簇C ;
[0018]步骤4,重复步骤3,直至N中的订单全部遍历;
[0019]步骤5,重复步骤I?3,直至D中的订单全部遍历。
[0020]优选的,所述出租车信息集合中的各出租车信息包括:司机编号、上报时间、出租车经纬度;
[0021]所述推送模块用于根据各出租车经纬度和各叫车需求密集区域的区域中心经纬度,依次计算各出租车与各叫车需求密集区域中心的距离,并与各叫车需求密集区域的区域半径进行比较,如果一个出租车距离任何一个叫车需求密集区域中心的距离均大于该叫车需求密集区域的区域半径,则将距离该出租车最近的一个叫车需求密集区域的信息推送给该出租车。
[0022]进一步优选的,所述推送模块中,如果距离该出租车最近的一个叫车需求密集区域与该出租车的距离在(r’,r’ +d)区间内时,则将距离该出租车最近的一个叫车需求密集区域的信息推送给该出租车,否则不推送;其中r’为距离该出租车最近的一个叫车需求密集区域的区域半径,d取值为0.5?2km。
[0023]优选的,所述推送模块只对临近供需比例失衡的叫车需求密集区域的出租车推送消息。
[0024]进一步优选的,所述推送模块根据一个叫车需求密集区域的成交率和司乘比来衡量该叫车需求密集区域是否供需比例失衡;
[0025]所述叫车订单集合中的各订单信息包括:订单编号、出发地经纬度、出发时间、订单成交否;所述出租车信息集合中的各出租车信息包括:司机编号、上报时间、出租车经纬度;
[0026]所述挖掘模块根据该叫车需求密集区域内的所有订单信息以及各出租车信息计算出该叫车需求密集区域的区域内叫车订单数、区域中心经纬度、区域半径、区域包含的司机数、成功数;其中,所述区域内叫车订单数为该叫车需求密集区域内所有订单的总数,所述区域中心经纬度为该叫车需求密集区域内所有订单经纬度的平均值,所述区域半径为所述区域中心经纬度与该叫车需求密集区域内每个订单的经纬度的距离最大值,所述区域包含的司机数为所述区域中心经纬度与各个出租车经纬度之间的距离小于所述区域半径的出租车个数的合计值,所述成功数为该叫车需求密集区域内所有成交订单的总数;
[0027]所述成交率为所述成功数与所述区域内叫车订单数的比值,所述司乘比为所述区域包含的司机数与所述区域内叫车订单数的比值。
[0028]进一步优选的,如果一个叫车需求密集区域的成交率在80%以下,司乘比在10以下,则该叫车需求密集区域为供需比例失衡的叫车需求密集区域。
[0029]优选的,所述推送模块采用基于socket通信的推送方式推送消息。
[0030]优选的,所述时间段为5分钟、10分钟、15分钟、20分钟、25分钟或30分钟;所述实时为5秒钟、10秒钟、15秒钟、20秒钟、25秒钟或30秒钟。
[0031]本发明的上述技术方案实时计算了一个城市的叫车需求分布,并将这个信息实时推送给出租车司机,达到如下技术效果:
[0032]1、均衡乘客叫车需求与出租车分布,减缓叫车高峰地段或突发事件造成的局部叫车困难的问题;
[0033]2、让司机有效安排自己的行驶计划,减少空驶成本。
【专利附图】

【附图说明】
[0034]图1Dbscan聚类算法数据流图。
[0035]图2成交率-司乘比趋势图。
【具体实施方式】
[0036]下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0037]本发明的工作原理是:利用机器学习或统计方法等,计算得到某个城市的用车需求(包括但不限于叫车、租车、公交等各种用车需求)分布信息,将该信息推送给出租车司机或其他任何对该信息有需求的使用方,从而实现对某个城市的对各种交通工具的行驶做出规划或指导(包括但不限于导航、交通拥堵评测、出行需求评测等)。举例来说,一个城市通常分为繁华地段和非繁华地段,同样,叫车需求在一个城市的不同时间段也会呈现出明显的地域分布特征;通过实时计算出当前时刻的叫车需求密集区域,对位于临近叫车需求密集区域的出租车司机推送消息,就能实现出租车运力的调度。
[0038]本发明一种基于城市叫车需求分布密度的出租车运力调度系统,包括:挖掘模块和推送模块。
[0039]1、挖掘模块
[0040]挖掘模块用于根据当前时刻的叫车订单集合,计算出当前时刻的一个以上叫车需求密集区域。
[0041]挖掘模块还用于根据一个叫车需求密集区域内的订单、司机数量比例,来判断该叫车需求密集区域的供需比例是否失衡。
[0042]挖掘模块采用聚类算法来计算出叫车需求密集区域。聚类算法是一种机器学习算法,根据自定义一种距离,自动将距离接近的对象归为一类;在本发明中,所述聚类算法就是将距离接近的订单归为某一区域,该区域为叫车需求密集区域。为提高区域计算的准确性,可采用Dbscan聚类算法,实际情况下不局限于任何聚类算法。
[0043]如图1所示,Dbscan聚类算法描述如下:
[0044]算法:Dbscan;
[0045]输入:订单集合D,半径r,密度阈值e ;
[0046]输出:若干个聚簇C。
[0047]其中:订单集合D为当前城市、指定时间段内的叫车订单集合,每个订单可包含的信息为:订单编号(id)、出发地经纬度、出发时间等信息,时间段为5分钟、10分钟、15分钟等;半径r需要根据实际经验确定,一般选择I?5km ;密度阈值e,为给定订单在r领域内成为核心订单的最小订单数,一般情况下,选取当前时刻当前城市订单数的1/10?1/50 ;每个聚簇C即为当前时刻某一城市的各个叫车需求密集区域。
[0048]Dbscan聚类算法流程如下:
[0049]步骤I,检测订单集合D中的订单P是否为已处理,如果订单P归为某个簇或者标记为噪声,则订单P为已处理,检测D中的下一个订单;如果订单P为未处理,则将订单P的r领域内的所有订单(若某一订单的出发地经纬度到订单P的出发地经纬度的距离小于半径r的,即认为该订单为订单P的r领域内的订单)加入候选集N ;
[0050]步骤2,检测候选集N包含的订单数,如果订单集合N包含的订单数小于e,订单P标记为噪声,检测D中的下一个订单;如果订单集合N包含的订单数大于等于e,建立新聚簇C,将订单P加入聚簇C ;
[0051]步骤3,检测N中的订单p’是否为已处理,如果订单P’归为某个簇或者标记为噪声,则订单P’为已处理,检测N中的下一个订单;如果订单p’为未处理,将订单P’的r领域内的所有订单加入N’,如果N’包含的订单数大于等于e则将N’中的订单加入N,如果订单P’不属于任何聚簇则将订单P’加入聚簇C ;
[0052]步骤4,重复步骤3,直至N中的订单全部遍历;
[0053]步骤5,重复步骤I?3,直至D中的订单全部遍历。
[0054]这样,经过Dbscan算法聚类后,得到若干个聚簇,每个聚簇可以认为是一个叫车需求密集区域,每个聚簇包含该区域内的所有订单。
[0055]Dbscan聚类算法伪代码描述如下:
[0056]Dbscan ( D, r,e )
Begin
init €=0; //初始化簇的个数为O
for each unvisited point p in D
mark p as visited; //将p标记为已处理
N = getNeighbours (p, r);
if SizeOf(N) < e then
mark p as Noise; //如果满足SizeOf(N) < e则得p标记为噪声
else
C= next cluster; //建立新簇 C
ExpandCIuster (p, N, C,r,e);
end if
[0057]end for
bl.K.1。
[0058]其中ExpandCluster算法伪码如下:
[0059]
ExpandCtaster(p, N, C,r ,e)
add p to cluster C; //首先将核心点加入C
for each unvisited point p* in N
mark p* as visited:
N5 = getNeighbours (p.,r); //对r领域内的所有订单再进行半径检查
if SizeOf(Ni) >=e then
N = N+N’;//如果大于e5就扩展N的数目
end if
if P’ is not member of any cluster
add p' to cluster C; //将 ρ.加入簇 C
end if
end for
End ExpaiidCluster e
[0060]进一步可以根据聚簇内的所有订单计算出区域中心、半径、区域内司机数等相关
信息:
[0061]1、区域中心经纬度:根据聚簇内包含的所有订单的经纬度,进行简单的均值计算即可得到中心经纬度;
[0062]2、区域半径:得到区域中心经纬度后,计算区域中心经纬度与聚簇内每个订单的经纬度的距离,取所有距离的最大值可以作为区域的半径;
[0063]3、区域内叫车订单数:为该聚簇内内所有订单的总数;
[0064]4、区域包含的司机数:计算区域中心与每个在线司机当前的经纬度之间的距离,取距离小于区域半径的司机认为是该区域内的司机,计数得到司机数。[0065]这样,就得到当前时刻某一城市的各个叫车需求密集区域如:区域1:中心坐标xy (即区域中心经纬度),半径,订单数,司机数;区域2:中心坐标xy,半径,订单数,司机数
坐坐寸寸ο
[0066]2、推送模块
[0067]推送模块用于根据挖掘模块计算出的叫车需求密集区域以及实时收集到的出租车信息集合(各个出租车信息包括:司机编号、上报时间、经纬度等),对位于临近叫车需求密集区域的出租车推送消息(周围位于热点区域以外),以实现出租车运力的调度。推送模块可只对位于临近供需比例失衡的叫车需求密集区域的出租车推送消息。推送模块可采用基于socket通信的推送方式或其它方式推送消息。
[0068]进一步的,推送模块根据实时收集到的出租车经纬度信息,依次计算该司机与当前城市每个叫车需求密集区域中心的距离,并与该区域的半径进行比较,对满足如下两个条件的司机进行消息推送:
[0069]1、该出租车距离任何一个叫车需求密集区域中心的距离均大于该区域的半径(表示该出租车不在任何一个叫车需求密集区域中);
[0070]2、距离该出租车最近的一个叫车需求密集区域与该司机的距离L在(r’,r’+d)区间内(即该距离L大于等于r’,小于等于r’ +d),其中r’为该叫车需求密集区域半径,d 一般取0.5~2km。
[0071]具体实施例一:
[0072]以北京为例,上班高峰期从城外发出的叫车需求较多,如回龙观地区在早8:00~9:00左右会有大量用车;下班高峰,如18:00~19:00,在中关村附近会有大量乘客叫车。
[0073]在叫车软件的服务器端或呼叫中心的服务器端,都存储有大量的从乘客那那里收集的叫车订单。一般,从乘客那里收集到的叫车订单格式如下:
[0074]
【权利要求】
1.一种基于城市叫车需求分布密度的出租车运力调度系统,其特征在于,其包括:挖掘模块和推送模块; 所述挖掘模块用于根据一个时间段的叫车订单集合,计算出该时间段的一个以上叫车需求密集区域; 所述推送模块用于根据所述挖掘模块计算出的叫车需求密集区域以及实时收集到的出租车信息集合,对临近叫车需求密集区域的出租车推送消息,以实现出租车运力的调度。
2.如权利要求1所述的系统,其特征在于,所述叫车订单集合中的各订单信息包括:订单编号、出发地经纬度、出发时间; 所述挖掘模块采用聚类算法来计算出叫车需求密集区域,所述聚类算法自定义一种距离,根据各订单的出发地经纬度信息自动将该距离内的各订单归为某一叫车需求密集区域; 所述挖掘模块根据某一叫车需求密集区域内的所有订单信息计算出该叫车需求密集区域的区域内叫车订单数、区域中心经纬度、区域半径;其中,所述区域内叫车订单数为该叫车需求密集区域内 所有订单的总数,所述区域中心经纬度为该叫车需求密集区域内所有订单的出发地经纬度的平均值,所述区域半径为所述区域中心经纬度与该叫车需求密集区域内每个订单的出发地经纬度的距离最大值。
3.如权利要求2所述的系统,其特征在于,所述聚类算法为Dbscan聚类算法; 所述Dbscan聚类算法输入叫车订单集合D、半径r、密度阈值e,输出若干个聚簇C ;其中:叫车订单集合D为指定时间段内的所有叫车订单的集合;半径r为I~5km ;密度阈值e,为给定订单在r领域内成为核心订单的最小订单数,取值为所述叫车订单集合D中叫车订单总数的1/10~1/50 ;每个聚簇C为一个叫车需求密集区域; 所述Dbscan聚类算法步骤如下: 步骤I,检测D中的订单P是否为已处理,如果订单P归为某个簇或者标记为噪声,则订单P为已处理,检测D中的下一个订单;如果订单P为未处理,则将订单P的r领域内的所有订单加入候选集N ; 步骤2,检测候选集N包含的订单数,如果订单集合N包含的订单数小于e,订单P标记为噪声,检测D中的下一个订单;如果订单集合N包含的订单数大于等于e,建立新聚簇C,将订单P加入聚簇C ; 步骤3,检测N中的订单p’是否为已处理,如果订单P’归为某个簇或者标记为噪声,则订单P’为已处理,检测N中的下一个订单;如果订单p’为未处理,将订单P’的r邻域内的所有订单加入N’,如果N’包含的订单数大于等于e则将N’中的订单加入N,如果订单P’不属于任何聚簇则将订单P’加入聚簇C ; 步骤4,重复步骤3,直至N中的订单全部遍历; 步骤5,重复步骤I~3,直至D中的订单全部遍历。
4.如权利要求2或3所述的系统,其特征在于,所述出租车信息集合中的各出租车信息包括:司机编号、上报时间、出租车经纬度; 所述推送模块用于根据各出租车经纬度和各叫车需求密集区域的区域中心经纬度,依次计算各出租车与各叫车需求密集区域中心的距离,并与各叫车需求密集区域的区域半径进行比较,如果一个出租车距离任何一个叫车需求密集区域中心的距离均大于该叫车需求密集区域的区域半径,则将距离该出租车最近的一个叫车需求密集区域的信息推送给该出租车。
5.如权利要求4所述的系统,其特征在于,所述推送模块中,如果距离该出租车最近的一个叫车需求密集区域与该出租车的距离在(r’,r’ +d)区间内时,则将距离该出租车最近的一个叫车需求密集区域的信息推送给该出租车,否则不推送;其中r’为距离该出租车最近的一个叫车需求密集区域的区域半径,d取值为0.5~2km。
6.如权利要求1、2或3所述的系统,其特征在于,所述推送模块只对临近供需比例失衡的叫车需求密集区域的出租车推送消息。
7.如权利要求6所述的系统,其特征在于,所述推送模块根据一个叫车需求密集区域的成交率和司乘比来衡量该叫车需求密集区域是否供需比例失衡; 所述叫车订单集合中的各订单信息包括:订单编号、出发地经纬度、出发时间、订单成交否;所述出租车信息集合中的各出租车信息包括:司机编号、上报时间、出租车经纬度; 所述挖掘模块根据该叫车需求密集区域内的所有订单信息以及各出租车信息计算出该叫车需求密集区域的区域内叫车订单数、区域中心经纬度、区域半径、区域包含的司机数、成功数;其中,所述区域内叫车订单数为该叫车需求密集区域内所有订单的总数,所述区域中心经纬度为该叫车需求密集区域内所有订单经纬度的平均值,所述区域半径为所述区域中心经纬度与该叫车需求密集区域内每个订单的经纬度的距离最大值,所述区域包含的司机数为所述区域中心经纬度与各个出租车经纬度之间的距离小于所述区域半径的出租车个数的合计值,所述成功数为该叫车需求密集区域内所有成交订单的总数; 所述成交率为所述成功数与所述区域内叫车订单数的比值,所述司乘比为所述区域包含的司机数与所述区域内叫车订单数的比值。
8.如权利要求7所述的系统,其特征在于,如果一个叫车需求密集区域的成交率在80%以下,司乘比在10以下,则该叫车需求密集区域为供需比例失衡的叫车需求密集区域。
9.如权利要求1、2或3所述的系统,其特征在于,所述推送模块采用基于socket通信的推送方式推送消息。
10.如权利要求1、2或3所述的系统,其特征在于,所述时间段为5分钟、10分钟、15分钟、20分钟、25分钟或30分钟;所述实时为5秒钟、10秒钟、15秒钟、20秒钟、25秒钟或30秒钟。
【文档编号】G08G1/0962GK103985247SQ201410168588
【公开日】2014年8月13日 申请日期:2014年4月24日 优先权日:2014年4月24日
【发明者】张凌宇 申请人:北京嘀嘀无限科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1