一种基于轨迹数据的出租车巡游路径推荐方法和系统与流程

文档序号:11585054阅读:1116来源:国知局
本发明涉及出租车巡游路径推荐方法,特别是一种基于轨迹数据的出租车巡游路径推荐方法和系统。
背景技术
::出租车是城市交通出行的重要方式。与其他交通工具不同,出租车并不遵循固定的路线,而是由司机自己来规划巡游路线。司机传统的做法是靠直觉和经验,要规划一个收益最大化的路线十分困难。随着基于位置的设施(locationbasedservice)的广泛使用,出租车开始装备定位装置(如gps或者北斗导航)。这些定位装置会以一定的频率获取出租车的当前位置信息,形成轨迹数据。这些轨迹数据可服务于出租车的路径推荐系统,使得出租车司机能提高收益,减少空载巡游。近年来市场上出现了滴滴打车、优步等叫车软件和服务平台。当有订单的时候,出租车司机可以依据平台导航去去接客;但是当没有呼叫订单的时候,司机仍然无法从此类平台获取路径推荐和巡游指导。目前的出租车路径推荐方法,宏观上可分为两类:一类是推荐给出租车行驶方向,一类是推荐给出租车实际的行驶路线。第一类推荐方法可称为“聚集点推荐”方法。通常抽取轨迹数据中的乘客信息,并聚类成很多有代表性的区域,然后把这些区域推荐给出租车司机。比如说,通过对一些高收入出租车的接客点进行聚类,当出租车请求一条推荐路线时,系统推荐给它一组接客点的序列作为行驶方向(详见y.ge,h.xiong,a.tuzhilin,k.xiao,m.gruteser,andm.pazzani.anenergy-efficientmobilerecommendersystem.insigkdd,pages899–908.acm,2010.)。同时,通过对城市区域进行网格化划分,分析不同时段每个区域的潜在获利可能性。当出租车请求一条推荐路线时,把出租车所在子区域内的最优区域作为行车推荐路线(详见powelljw,huangy,bastanif,etal.towardsreducingtaxicabcruisingtimeusingspatio-temporalprofitabilitymaps[c]internationalconferenceonadvancesinspatialandtemporaldatabases.springer-verlag,2011:242-260)。第二类推荐方法可称为“路段推荐”方法,比第一类推荐更有实际意义。比如,可以通过分析每条路段的收入,以及出租车从每条路段上接到乘客后,在该乘客的下车位置接到下一个乘客的可能性来给每条路段打分,从而把分值最大的行驶路线推荐给出租车(详见dongh,zhangx,dongy,etal.recommendaprofitablecruisingroutefortaxidrivers[c],ieee,internationalconferenceonintelligenttransportationsystems.ieee,2014:2003-2008.)。也有方法通过对乘客上下车地点以及每次行程长度的分析,得到一系列停靠点。当出租车请求一条推荐路线时,系统根据出租车所在位置,分析其附近的停靠点以及去附近停靠点的路线,选择一条预计等待时间最短,且下一段预计行程最长的路线作为推荐线路(详见yuan,j.,zheng,y.,zhang,l.,xie,x.,sun,g.:wheretofindmynextpassenger.in:internationalconferenceonubiquitouscomputing.pp.109–118(2011))。现有的出租车路径推荐方法,无论是聚类点推荐方法还是路段推荐方法,主要是针对乘客进行推荐,即优先推荐乘客较多、平均行程较长的地点。然而,这些出租车路径推荐方法并没有考虑到来自其他出租车的竞争因素。比如,已有的推荐方法会推荐类似于火车站、机场等地点。这些地段虽然乘客较多,但出租车也很多,并不一定是最优的推荐选择。此外,已有出租车路径推荐方法大部分是基于历史轨迹数据,而没有基于实时的轨迹数据,无法根据实时的交通变化做出响应。技术实现要素:本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于轨迹数据的出租车路径推荐方法和系统。充分考虑到乘客与出租车之间的吸引和出租车之间的竞争关系,并考虑轨迹数据的实时性因素,从而很好的辅助出租车进行巡游载客。本发明采用如下技术方案:一种基于轨迹数据的出租车巡游路径推荐方法,其特征在于,包括以下步骤:(1)初始化路网数据,进行区域网格化划分;(2)根据历史轨迹数据,计算历史交通电荷chistory;(3)根据实时轨迹数据,计算实时交通电荷crealtime并结合历史交通电荷更新交通电荷cfinal;(4)当出租车行驶到路口时,基于城市交通库仑定律,根据步骤(3)的交通电荷cfinal计算出租车所受到的子区域的交通电场力,获取当前路口的各个路段信息,并将与该交通电场力方向的夹角最小的路段作为推荐路段;(5)在推荐路段行驶过程中,若出租车未接到乘客或乘客下车时,则进入步骤(4);若接到乘客,则暂停推荐。优选的,在步骤(2)和步骤(3)中,根据区域元数据信息来计算各区域的历史交通电荷chistory和实时交通电荷crealtime,该区域元数据包括出租车和乘客的密度、路网、车速;计算各交通电荷具体为:在ti时段,rj区域的元数据包括空载出租车密度所有出租车密度出租车平均车速局部乘客密度以及全局平均乘客密度该ti时段,rj区域的交通电荷的定义如下:其中,max_speed表示所有区域的平均行驶速度中的最大值,和介于[0,1]之间,将落在[1,2]的值域之中。优选的,在步骤(3)中,交通电荷为cfinal,其计算公式如下:cfinal=w×chistory+(1-w)×crealtime;其中,w∈(0,1)代表历史交通电荷所占的权重,默认值为0.5。优选的,在步骤(4)中,出租车所受到的子区域的交通电场力为子区域内除去出租车所在区域的其他区域的电场力的矢量之和,具体为:在时段ti,区域rk对区域rj内的出租车产生的交通电场力f(ti,rj,rk),下式定义:其中,k是用于调节结果的可配置的常数,默认值为1;代表的是ti时段区域rk的交通电荷,代表的是区域rj和区域rk之间的距离,表示区域rj内的出租车所受到的交通电场力的方向是由区域rj指向区域rk。优选的,在步骤(4)中,所述的推荐路段计算公式如下其中:表示在集合中使f(x)的取值最小的x值;ii为出租车行驶到的路口,sj为满足以ii为起始路口的路段,fd为出租车所受到的交通电场力的方向,表示路段sj的方向与fd的夹角。一种基于轨迹数据的出租车巡游路径推荐系统,其特征在于,包括:车载终端,上传gps位置信息至路段推荐服务器;路网数据库,初始化路网数据,进行区域网格划分,并提供路段信息;数据库服务器,设有历史轨迹数据库、实时轨迹数据库和历史交通电荷数据库以分别存储历史轨迹数据、实时轨迹数据和交通电荷数据;电荷计算服务器,根据历史轨迹数据库和实时轨迹数据库计算历史交通电荷、实时交通电荷并更新交通电荷cfinal;路段推荐服务器,根据交通电荷cfinal计算出租车所受到的子区域的交通电场力,结合当前路口的各个路段信息,将与该交通电场力方向的夹角最小的路段作为推荐路段发送至车载终端。由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:本发明的方法和系统借鉴物理学库仑定律异性电荷相吸,同性电荷相斥的基本原理,基于城市交通库仑定律的概念来描述城市环境下乘客和出租车之间的关系,充分考虑到乘客与出租车之间的吸引和出租车之间的竞争排斥关系,并提出了一种出租车巡游路径的推荐方法和系统。本发明方法明确,效果显著,可减少出租车的空驶巡游,提高出租车司机的收益,提高城市交通的效率。附图说明图1为本发明方法的流程图;图2为本发明系统的组成架构图;图3为本发明路网结构示意图;图4为本发明出租车路径推荐示意图;图5为本发明实验效果图;图6为本发明实验效果图。具体实施方式以下通过具体实施方式对本发明作进一步的描述。一种基于轨迹数据的出租车巡游路线推荐方法,具体流程参见图1,包括如下步骤:(1)初始化城市交通路网并对城市进行区域网格化划分。(2)根据历史轨迹数据,统计不同时段下各个区域的元数据信息,计算历史交通电荷;(3)根据实时轨迹数据,计算实时交通电荷,并结合历史交通电荷更新交通电荷。(4)当出租车行驶到路口时,获取出租车的当前位置信息和时间信息,结合计算好的交通电荷,根据城市交通库仑定律计算出租车在当前位置和当前时段所受到的子区域的交通电场力的方向。将该方向分别与当前路口的各个分岔路段的方向进行比较,将方向夹角最小的路段作为推荐的路径。(5)如果出租车在推荐路段行驶过程中未接到乘客,则出租车行驶到下一个路口时,回到步骤(4)重新获取出租车的位置和时间信息,并根据“城市交通库仑定律”进行新的推荐;反之,如果出租车在推荐的路段行驶时接到乘客,则暂停路径推荐。当乘客下车时,回到步骤(4)开始新一轮的路径推荐。本发明还提出一种基于轨迹数据的出租车巡游路径推荐系统,包括:车载终端,上传gps位置信息至路段推荐服务器。路网数据库,初始化路网数据,进行区域网格划分,并提供路段信息。数据库服务器,设有历史轨迹数据库、实时轨迹数据库和历史交通电荷数据库以分别存储历史轨迹数据、实时轨迹数据和交通电荷数据。电荷计算服务器,根据历史轨迹数据库和实时轨迹数据库计算历史交通电荷、实时交通电荷并更新交通电荷cfinal。路段推荐服务器,根据交通电荷cfinal计算出租车所受到的子区域的交通电场力,结合当前路口的各个路段信息,将与该交通电场力方向的夹角最小的路段作为推荐路段发送至车载终端。参照图2,其中推荐服务器、电荷计算服务器和数据库服务器可部署在1台或多台主机上。架构图一共分为两部分,一部分是推荐部分的架构图,由过程1-6表示;另一部分是数据库更新部分的架构图,由过程a-c来表示。首先,车载终端向路段推荐服务器发送出租车的gps信息,路段推荐服务器接收到后访问路网数据库,进行定位并获取出租车所在路口的分岔路段信息;与此同时,电荷计算服务器从实时轨迹数据库中取出实时轨迹,从历史交通电荷数据库中取出的计算好的历史交通电荷,两者结合计算最终的交通电荷,并把结果返回到路段推荐服务器。然后,路段推荐服务器根据城市交通库仑定律计算当前交通电场力的方向,并与出租车所在路口的分岔路段的方向进行比较,选出最佳的路段。最后,把该路段推荐给出租车。在数据库更新部分,车载终端设备把出租车的实时轨迹上传到实时轨迹数据库中,并定期的把实时轨迹转储到历史轨迹数据库;新加入的轨迹数据,将相应的对历史交通电荷数据库进行更新。本发明方法和系统实施的关键有5点:数据格式和初始化城市路网、区域网格化划分与元数据统计、交通电荷的计算与实时更新、计算子区域的交通电场力、结合路网数据推荐巡游路段。下面介绍主要的实现细节1、数据格式和初始化城市路网所需要轨迹数据分为两类,一类是定位数据,一类是运营数据。定位数据记录出租车的定位及行驶信息,每辆出租车每隔1分钟产生一条定位数据,定位数据的基本格式为:t(id,gpstime,longitude,latitude,speed,direction,occupied)其中id代表的是出租车的编号,gpstime是数据产生的时间戳,longitude是数据产生时出租车所在的经度,latitude是数据产生时出租车所在的纬度,speed是数据产生时出租车的即时速度,direction是数据产生时出租车的即时行驶方向,occupied代表数据产生时出租车的载客状态(1表示载客状态,0表示空载状态)。运营数据记录的是出租车的行程信息,主要反映的是乘客的打车信息。出租车每结束一趟行程产生一条运营数据,运营数据的基本格式为:o(id,gpsontime,slongitude,slatitude,gpsouttime,elongitude,elatitude,revenue)其中id是出租车的编号,gpsontime是乘客上车时的时间戳,slongitude是乘客上车时的经度,slatitude是乘客上车时的纬度,gpsouttime是乘客下车时的时间戳,elongitude是乘客下车时的经度,elatitude是乘客下车时的纬度,revenue是该行程出租车所得的收益。城市的路网由一系列路段s={s1,s2,…,sm}和一系列路口i={i1,i2,…,in}组成,其中路段s的基本格式如下:s(id,dir,speed,length,si,ei)其中id是路段的编号,dir是路段的方向,speed是限制速度,length是路段的长度,si是路段的起始路口,ei是路段的结束路口。路口i的基本格式如下:i(id,lon,lat)其中id是路口的编号,lon是路口的经度,lat是路口的纬度。图3给出了一个含5个路口和8个路段的路网的示意图。路网可以通过openstreetmap来构建,构建后路网将分成路口表(存储各个路口的基本信息)、路段表(存储各个路段的基本信息)、路段_路口表(存储路段与路口的对应关系)一共三张表,存储在“路网数据库”中。2、区域网格化划分与元数据统计区域的网格化划分是指把城市交通区域划分成一系列间隔相同、面积大小相等的小方格区域{r1,r2,…,rh},小方格的划分粒度应视小方格内的轨迹数据而定。粒度划分过细会导致轨迹数量过少,不利于元数据统计;粒度划分过粗会影响推荐的准确性。区域元数据统计每个小方格区域在不同时段{t1,t2,…,tg}下的基本行为信息,主要包括空载出租车密度、所有出租车密度、出租车平均车速、局部乘客密度和全局平均乘客密度等5类元数据信息:(1)在ti时段,rj区域的空载出租车密度计算公式为:即统计定位数据中满足发生在ti时段且位于rj区域的处于空载状态的出租车轨迹数。其中t是定位数据集,|·|表示集合·中元素的个数。(2)在ti时段,rj区域的所有出租车密度计算公式为:即统计定位数据中满足发生在ti时段且位于rj区域的出租车轨迹数。(3)在ti时段,rj区域的出租车平均车速计算公式为:即统计定位数据中满足发生在ti时段且位于rj区域的出租车的平均行驶速度。(4)在ti时段,rj区域的局部乘客密度计算公式为:即统计运营数据中满足发生在ti时段且位于rj区域的行程数,一趟行程代表一组乘客。(5)在ti时段,全局平均乘客密度计算公式为:即用运营数据中满足发生在ti时段的行程总数除以区域划分的小方格总数,得到所有区域的平均乘客密度。3、“交通电荷”的计算与实时更新本方法把城市的交通网类比成一个物理学上的静电场,乘客和空载的出租车分别作为城市交通静电场中的异种电荷。乘客希望尽快遇到空载的出租车,空载的出租车希望尽快找到乘客,二者相互吸引,就像物理学中相互吸引的异种电荷。而乘客会受到周围乘客的竞争,从而使其打到出租车的概率降低,类似地,空载的出租车也会受到来自于周围空载出租车的竞争,从而降低了其接到乘客的概率。乘客之间以及空载的出租车之间相互排斥,就像物理学中相互排斥的同种电荷。本方法把乘客和出租车之间的这种现象称为“城市交通库仑定律”。城市“交通电荷”由区域的元数据计算而来,反映了区域吸引出租车的能力。具体的,在ti时段,rj区域的城市交通电荷的定义如下:其中,max_speed表示所有区域的平均行驶速度中的最大值,和介于[0,1]之间,将落在[1,2]的值域之中。在ti时段,rj区域的交通电荷与该区域的乘客密度和所有区域的平均乘客密度之比成正相关,与该区域的空载出租车占所有出租车之比成负相关,与该区域的交通顺畅程度(由该区域的平均速度来表示)成正比。此外,本方法把轨迹数据分为历史轨迹数据和实时轨迹数据,最新的定位数据将存入实时轨迹数据库,实时轨迹数据将定期的(默认0.5小时/次)转储并入历史轨迹数据库(见图2架构图)。从历史轨迹数据中计算得到的交通电荷称为历史交通电荷chistory,反映了该区域交通的历史规律;从实时轨迹数据中计算得到的交通电荷称为实时交通电荷crealtime,反映了该区域交通的实时变化。综合该区域交通的历史规律和实时变化,可以更准确的描述该区域的交通信息。最终的交通电荷cfinal被定义为历史交通电荷与实时交通电荷的一个权衡,计算公式如下:cfinal=w×chistory+(1-w)×crealtime公式(7)其中,w∈(0,1)代表历史交通电荷所占的权重,默认值为0.5。获取实时轨迹数据的同时更新交通电荷,使每次推荐都使用最新的交通电荷,保持推荐的实时性。4、计算子区域的“交通电场力”异种电荷相吸,同性电荷相斥。在“交通电荷”的基础上定义“交通电场力”。“城市交通库仑定律”规定出租车所受到的来自某个区域的交通电场力的大小与该区域的交通电荷大小成正比,与该区域和出租车所在区域之间的距离成反比;交通电场力的方向在这两个区域的连线上,由出租车所在区域指向该区域。具体的,f(ti,rj,rk)表示在时段ti,区域rk对区域rj内的出租车产生的交通电场力,其反映了区域rk对区域rj内的出租车的吸引力的大小和方向。f(ti,rj,rk)由公式8定义:其中,k是一个用来调节结果的可配置的常数,默认值为1。代表的是ti时段区域rk的交通电荷,代表的是区域rj和区域rk之间的距离,表示区域rj内的出租车所受到的交通电场力的方向是由区域rj指向区域rk。根据公式(8)可以计算出某个区域内的出租车所受到的来自其他区域的交通电场力,并进行求和。由于交通电场力与区域之间的距离成反比,离出租车较远的区域对出租车所产生的吸引力将会很小,因此定义一个子区域m来规定推荐范围,该子区域为以出租车所在区域为中心的规定范围内的若干区域之和。具体的,在时段ti,区域rj内的出租车所受到的子区域的综合交通电场力由下式计算:其中代表的以区域rj为中心的子区域,rm代表的是子区域中的具体区域,即为内所有区域的交通电场力的矢量和。5、结合路网数据推荐巡游路段当空载的出租车行驶到路口时,将获取出租车的当前位置和时间信息以及计算好的区域交通电荷值,代入公式(9)进行计算,得到汇总后的交通电场力的方向。此时,查询路网中该路口所连接的所有路段,然后选择与交通电场力方向夹角最小的路段作为推荐的路段。具体的,本方法推荐的路段srec将由下面的公式计算:其中表示在集合中使f(x)的取值最小的x值;ii为出租车行驶到的路口,sj为满足以ii为起始路口的路段,fd为出租车所受到的交通电场力的方向,表示路段sj的方向与fd的夹角。公式(10)将选出满足以ii为起始路口的所有路段中与交通电场力的方向fd的夹角最小的路段赋值给srec。出租车在推荐的路段srec行驶过程中如果未接到乘客,则当出租车行驶到下一个路口时,重新进行道路推荐;如果顺利接到了乘客,则暂停对该出租车巡游路径的推荐。当乘客下车时,将对出租车开始新一轮的路径推荐。图4是出租车巡游路径推荐的示例图,当空载的出租车行驶到路口时,计算得到的交通电场力的方向;查询路网中该路口所连接的所有路段(s1-s4),选择与交通电场力方向夹角最小的路段s1作为推荐的路段。实验举例实验基于厦门市4919辆出租车在2014年7月份31天的行驶数据集。数据集包括gps轨迹、速度、空重载等属性,总共有835万条营运记录和超过2亿个点的定位信息。其中,7月1号到25号作为历史数据集,26-31号作为测试数据集。实验中抽取出2014月7月26号早上8点开始在数据集中最早出现的40辆出租车,获取它们从早上8点到晚上8点真实的收入。实验根据这些出租车出现的起始位置进行定位,把定位点作为模拟出租车的起点,分别按不同的方法来模拟这些出租车的行驶路线。根据测试集的乘客信息来判断出租车是否接到乘客以及每次行程的时长和金额,模拟时长是到晚上8点。对比算法是无推荐时出租车的真实收入和stp方法(详见powelljw,huangy,bastanif,etal.towardsreducingtaxicabcruisingtimeusingspatio-temporalprofitabilitymaps[c]internationalconferenceonadvancesinspatialandtemporaldatabases.springer-verlag,2011:242-260.)图5横坐标代表所模拟的40辆出租车,纵坐标代表了这40辆出租车的收入,40辆出租车按照收入从低到高的顺序进行排列。从图5可以看到,真实结果中的大多数司机的收入普遍低于使用了推荐方法的模拟收入,而本发明方法(图中用utcl表示)的模拟收入则普遍大于使用stp方法的模拟收入,其中以综合了历史轨迹和实时轨迹的utcl方法效果为最佳。图6显示了按不同方法进行模拟得到的出租车平均收入在真实出租车收入的位置,从图6可以看到,这40辆出租车平均的真实收入为549.6元,采取stp方法的推荐路线的出租车平均收入为748.9元,超过了90%出租车的真实收入,而采用本发明方法utcl的推荐路线的出租车平均收入均高于824.1元,均超过了93%出租车的真实收入。上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1