一种基于用户出行习惯的动态路径规划方法
技术领域
本发明涉及路径规划领域,具体涉及一种基于用户出行习惯的动态路径规划方法。
背景技术
当前,动态路径规划的常用方法是利用当前的交通状态和路网拓扑结构或者只依赖于路网拓扑结构来获取导航路径,这类方法主要采用一些理想统计模型来对交通状态进行统计分析和路网费用映射。在此基础上再采用传统的路径搜寻方法获取多条备选路径,并从中选出一条路径用于导航。
由于城市交通状态是实时变化的,当路网拓扑结构比较复杂时,结合交通状态和路网拓扑的实时路径搜索会面临巨大的运算压力,即使运算结果在一定程度上能够满足精度要求,但通常不能及时响应用户需求,其潜在的应用价值得不到准时体现,导致现有方法通常实时性不强。现有方法通常也没有考虑用户出行习惯的社会学特征,通常会引导多个用户选择同一条路径或经过同一条路段,导致某些路段通行滞胀而某些路段又通行不足,容易造成新的交通拥堵。
现有动态路径规划方法随着路网拓扑结构复杂度提高,结合交通状态和路网拓扑的实时路径搜索会面临巨大的运算压力,导致响应速度慢,现有方法也不能合理利用路网资源,缓拥堵能力不强,实时性不强,导致用户体验不佳。
发明内容
为解决现有动态路径规划方法响应速度慢,不能合理利用路网资源,缓拥堵能力不强,实时性不强,以及延伸导致的用户体验不佳等问题,本发明提出了一种基于用户出行习惯的动态路径规划方法。
本发明提出的一种基于用户出行习惯的动态路径规划方法,其特征在于,该方法包括离线计算习惯路径来更新数据字典和在线计算规划路径;所述数据字典存储有历史数据,包括浮动车编号、各单车用户历经路段集、各单车用户历经路网节点集、各路段在不同单车历经路段集中的出现概率、各路网节点在不同单车路网节点集中的出现概率、所有时段各用户的习惯备选路径集以及该路径集中不同路径的历经概率;所述在线计算规划路径包括以下步骤:
S1:接收用户输入出发点和目的地;
S2:在路网上标定起始节点和终止节点;
S3:依据用户当前所处时段、标定的起始节点和终止节点查询所述数据字典来获取对应的多条习惯路径,并读取所述多条习惯路径所包含的路段及各路段在当前用户的单车历经路段集中的出现概率、所述多条习惯路径所历经的路网节点及各节点在当前用户的单车路网节点集中的出现概率、所述多条习惯路径的历经概率;
S4:通过所述多条习惯路径所历经的路段及各路段在当前用户的历经路段集中的出现概率、所历经的路网节点及各节点在当前用户的路网节点集中的出现概率、所述多条习惯路径的历经概率计算出所述多条习惯路径的权重;
S5:选择路径概率权重最大的路径作为推荐路径推送给当前用户;
S6:每隔一定时距,检测用户是否到达目的地;若是,结束;否则,执行步骤S7;
S7:动态刷新用户位置信息,并将新检测到的用户位置信息作为新的出发点,然后转回执行步骤S2至S5。
进一步的,所述步骤S4计算出所述多条习惯路径的权重的方法包括以下步骤:
S4-1:提取出每一条习惯路径所包含的所有路网节点i,i=1,2,…,N,和所有路段j,j=1,2,…,M;
S4-2:判断每一条习惯路径的每个路网节点是否包含于步骤S3所述当前用户的历经路网节点集;当包含于步骤S3所述当前用户的历经路网节点集时,对应的路网节点出现概率PD,i,其中,i=1,2,…,N,等于步骤S3所述当前用户的历经路网节点集中相同节点的出现概率;当不包含于步骤S3所述当前用户的历经路网节点集时,对应的路网节点出现概率PD,i等于0,其中,i=1,2,…,N;
S4-3:判断每一条习惯路径的每一路段是否包含于步骤S3所述当前用户的历经路段集;当包含于所述当前用户的历经路段集时,对应的路段出现概率PR,j,j=1,2,…,M,等于所述当前用户的历经路段集中相同路段的出现概率;当不包含于所述当前用户的历经路段集时,对应的路段出现概率PR,j等于0其中,j=1,2,…,M;
S4-4:提取所述习惯路径的历经概率P,提取所述对应路网节点出现概率为0的节点数n,提取所述对应的路段出现概率为0的节点数m,所述习惯路径的权重W为:
进一步的,所述离线计算习惯路径来更新数据字典包括以下步骤:
S8:获取历史数据,获取设定的数据字典更新时间段内所有在线车辆上传的定位和速度数据,其中定位数据是指地图匹配之后的定位数据、以及经过地图匹配处理后的历史定位数据、历史速度数据和地图数据;
S9:获取编号,获取上传数据的车辆编号、路段编号和路网节点编号;
S10:选择单车,根据上传数据的在线车辆编号的先后顺序选取一辆未处理的在线车辆作为信息采集单车,并设定所述单车的最早定位点为最开始的出发点;
S11:标定出发点,标定所述单车的出发点;
S12:单车出行信息提取:从所述单车出发点开始,检测所述单车在某条路段是否存在停靠点;若是,提取停靠点中心点位置、进入与离开时刻、驻留时长信息后,顺序执行步骤S13;若否,执行步骤S14;其中,停靠时长大于时间T的点为停靠点,T为预设值;
S14:等待所述单车离开所述路段进入下一路段;
S15:判断所述单车在所述停靠点是否停止数据上传;是则,顺序执行步骤S17;否则,执行步骤S16;
S16:将所述停靠点设定为所述单车新的出发点后,转回执行步骤S11;
S17:单车出行习惯分析,对所述单车从所述出发点至所述停靠点之间的所有历经路段和节点进行计数统计,获取对应单车历经路段或节点的出现概率;
S18:判断是否遍历所有单车,是则,执行步骤S19;否则,执行步骤S10;
S19:根据路网节点编号的排列组合关系,选取一组未处理的两节点组合;
S20:出行习惯路径提取;
S21:判断是否遍历所有节点,是则,执行步骤S22;否则,转回执行步骤S19;
S22:数据字典离线存储和更新。
进一步的,所述历史数据所述数据字典包括三个大容量数据字典,其中,车辆数据字典包括车辆身份、停靠点、习惯停靠点、习惯路段和习惯路径信息;路段数据字典包括路段编号、各路段的单车正常行程时间、路段行程时间和平均速度信息;路径数据字典包括路径的节点序列编号、行程时间信息。
进一步的,所述步骤S12具体包括以下步骤:
S12-1:从所述单车出发点开始,当所述单车刚进入某条路段时,按照时序,用插值法获取所述单车在所述某条路段的进入时刻,并继续检测所述单车在某条路段是否存在停靠点;若存在停靠点,计算所述停靠点的中心位置、进入与离开时刻、驻留时长等信息;否则,等待所述单车离开所述路段进入下一路段。其中,停靠时长大于时间T的点为停靠点,T为预设值;
S12-2:根据所述单车在某条路段的离开时刻即为所述路段的下一路段的进入时刻的关系,得到所述单车在所述路段的总行程时间,并用所述单车在所述路段的总行程时间减去所述单车在所述路段的总的停靠时长,得到所述单车通过所述路段的正常行程时间;
S12-3:从所述单车出发点开始,当所述单车刚进入某条路段时,按照时序,用排列组合法提取所述单车从所述出发点所在路段的终止节点至所述某条路段的起始节点之间所有路径的历经路网节点序列编号、路段编号、行程时间。
进一步的,所述步骤S17具体包括以下步骤:
S17-1:将每天分为若干时段,选择某个时段,从数据字典中读取所有浮动车每天在所述时段的历经路径,形成所述时段的历经路径集;
S17-2:计算所述时段历经路径集的路径总条数E、浮动车的总经历次数F和每条历经路径的浮动车历经次数Fi(i=1,2,…,E),则历经路径i的历经概率Pi=Fi/F(i=1,2,…,E);当E大于等于0时,挑选出的历经概率最大前Q条的路径,其中,Q为预设值;当E小于0时,挑选出所有路径;将挑选出的路径形成所述时段的习惯备选路径集;用相同方法获取所有时段的习惯备选路径集。
进一步的,所述数据字典是按设定的时间周期获取相关信息进行更新。
本发明的有益效果为通过上述基于用户出行习惯的动态路径规划方法,响应速度快,合理利用路网资源,缓解拥堵能力,实时性强,充分尊重用户的出行习惯,提高用户体验。
附图说明
图1为本发明基于用户出行习惯的动态路径规划方法的在线计算规划路径一实施方式的流程图。
图2为本发明基于用户出行习惯的动态路径规划方法的离线计算习惯路径来更新数据字典一实施方式的流程图。
具体实施方式
请参阅图1,为本发明基于用户出行习惯的动态路径规划方法的在线计算规划路径一实施方式的流程图。本发明充分考虑到工程应用中对实时性、通用性和实用性等方面的要求,本发明的绝大部分计算量、最复杂的计算任务均通过离线完成。也就是说,本发明通过离线训练来获取用户出行习惯信息,在线计算只需要调用离线生成的信息进行简单计算即可。这样做的效果是:通过离线计算能较好提高信息精度,同时还能大幅提高在线运算速度,降低了在线运算量,使得动态路径规划能够实时实现,从而保证了工程应用中的实时性和实用性。
在本实施方式中,基于用户出行习惯的动态路径规划方法包括离线计算习惯路径来更新数据字典和在线计算规划路径。数据字典存储有历史数据,包括浮动车编号、各用户的单车历经路段集、各用户的单车历经路网节点集、各路段在不同用户的单车历经路段集中的出现概率、各路网节点在不同用户的单车路网节点集中的出现概率、所有时段各用户的单车习惯备选路径集和所有时段各用户的单车习惯备选路径集中不同路径的历经概率。数据字典是按设定的时间周期获取相关信息进行更新。
在线计算规划路径包括以下步骤:
S1:接收用户输入出发点和目的地。
S2:在路网上标定起始节点和终止节点。
S3:依据当前用户当前所处时段、标定的起始节点和终止节点查询数据字典来获取对应的多条习惯路径,并读取多条习惯路径所包含的路段及各路段在当前用户的单车历经路段集中的出现概率、多条习惯路径所历经的路网节点及各节点在当前用户的单车路网节点集中的出现概率、多条习惯路径的历经概率;
S4:通过多条习惯路径所历经的路段及各路段在当前用户的历经路段集中的出现概率、所历经的路网节点及各节点在当前用户的路网节点集中的出现概率、多条习惯路径的历经概率计算出多条习惯路径的权重。在本市实例中,步骤S4计算出多条习惯路径的权重的方法包括以下步骤:S4-1:提取出每一条习惯路径所包含的所有路网节点i(i=1,2,…,N)和所有路段j(j=1,2,…,M);S4-2:判断每一条习惯路径的每个路网节点是否包含于步骤S3当前用户的历经路网节点集;当包含于步骤S3当前用户的历经路网节点集时,对应的路网节点出现概率PD,i(i=1,2,…,N)等于步骤S3当前用户的历经路网节点集中相同节点的出现概率;当不包含于步骤S3当前用户的历经路网节点集时,对应的路网节点出现概率PD,i(i=1,2,…,N)等于0;S4-3:判断每一条习惯路径的每一路段是否包含于步骤S3当前用户的历经路段集;当包含于当前用户的历经路段集时,对应的路段出现概率PD,j(j=1,2,…,M)等于当前用户的历经路段集中相同路段的出现概率;当不包含于当前用户的历经路段集时,对应的路段出现概率PD,j(j=1,2,…,M)等于0;S4-4:提取习惯路径的历经概率P,提取对应路网节点出现概率为0的节点数n,提取对应的路段出现概率为0的节点数m,习惯路径的权重W为:
S5:选择路径概率权重最大的路径作为推荐路径推送给当前用户;
S6:每隔一定时距,检测用户是否到达目的地;若是,结束;否则,执行步骤S7;
S7:动态刷新用户位置信息,并将新检测到的用户位置信息作为新的出发点,然后转回执行步骤S2至S5。用路径习惯权重提取算法来获取路径的习惯权重,不仅能大幅降低在线运算量,同时还能保证较好的运算精度,也非常适合并行处理,具有良好的实时性和工程应用价值。
请参阅图2,为本发明基于用户出行习惯的动态路径规划方法的离线计算习惯路径来更新数据字典一实施方式的流程图。
S8:获取历史数据,获取设定的数据字典更新时间段内所有在线车辆上传的定位和速度数据,其中定位数据是指地图匹配之后的定位数据、以及经过地图匹配处理后的历史定位数据、历史速度数据和地图数据;
S9:获取编号,获取上传数据的车辆编号、路段编号和路网节点编号。
S10:选择单车,根据上传数据的在线车辆编号的先后顺序选取一辆未处理的在线车辆作为信息采集单车,并设定单车的最早定位点为最开始的出发点。
S11:标定出发点,标定单车的出发点。
S12:单车出行信息提取:从单车出发点开始,检测单车在某条路段是否存在停靠点;若是,提取停靠点中心点位置、进入与离开时刻、驻留时长信息后,顺序执行步骤S13;若否,执行步骤S14;其中,停靠时长大于时间T的点为停靠点,T为预设值。在本实施方式中,单车出行信息提取方法为:S12-1:从单车出发点开始,当单车刚进入某条路段时,按照时序,用插值法获取单车在某条路段的进入时刻,并继续检测单车在某条路段是否存在停靠点;若存在停靠点,计算停靠点的中心位置、进入与离开时刻、驻留时长等信息;否则,等待单车离开路段进入下一路段。其中,停靠时长大于时间T的点为停靠点,T为预设值;S12-2:根据单车在某条路段的离开时刻即为路段的下一路段的进入时刻的关系,得到单车在路段的总行程时间,并用单车在路段的总行程时间减去单车在路段的总的停靠时长,得到单车通过路段的正常行程时间;S12-3:从单车出发点开始,当单车刚进入某条路段时,按照时序,用排列组合法提取单车从出发点所在路段的终止节点至某条路段的起始节点之间所有路径的历经路网节点序列编号、路段编号、行程时间。
S14:等待单车离开路段进入下一路段。
S15:判断单车在停靠点是否停止数据上传;是则,顺序执行步骤S17;否则,执行步骤S16。
S16:将停靠点设定为单车新的出发点后,转回执行步骤S11。
S17:单车出行习惯分析,对单车从出发点至停靠点之间的所有历经路段和节点进行计数统计,获取对应单车历经路段或节点的出现概率。在本实施方式中,S17-1:将每天分为若干时段,选择某个时段,从数据字典中读取所有浮动车每天在时段的历经路径,形成时段的历经路径集。S17-2:计算时段历经路径集的路径总条数E、浮动车的总经历次数F和每条历经路径的浮动车历经次数Fi(i=1,2,…,E),则历经路径i的历经概率Pi=Fi/F(i=1,2,…,E);当E大于等于0时,挑选出的历经概率最大前Q条的路径,其中,Q为预设值;当E小于0时,挑选出所有路径;将挑选出的路径形成时段的习惯备选路径集;用相同方法获取所有时段的习惯备选路径集。通过习惯路径提取算法来获取习惯备选路径集用于离线计算,通过对所有单车的历经路径进行统计分析,提取历经次数较多的路径作为习惯备选路径集,能够节省大量的在线运算量,具有较好的工程应用价值。
S18:判断是否遍历所有单车,是则,执行步骤S19;否则,执行步骤S10。
S19:根据路网节点编号的排列组合关系,选取一组未处理的两节点组合。
S20:出行习惯路径提取。
S21:判断是否遍历所有节点,是则,执行步骤S22;否则,转回执行步骤S19。
S22:数据字典离线存储和更新,数据字典是按设定的时间周期获取相关信息进行更新。在本实例中,数据字典包括三个大容量数据字典,其中,车辆数据字典包括车辆身份、停靠点、习惯停靠点、习惯路段和习惯路径信息;路段数据字典包括路段编号、各路段的单车正常行程时间、路段行程时间和平均速度信息;路径数据字典包括路径的节点序列编号、行程时间信息。路段编号包括路段起始节点编号和终止节点编号。
本发明的有益效果为充分考虑到工程应用中对实时性、通用性和实用性等方面的要求,本发明的绝大部分计算量、最复杂的计算任务均通过离线完成。也就是说,本案通过离线训练来获取用户出行习惯信息,在线计算只需要调用离线生成的信息进行简单计算即可。这样做的效果是:通过离线计算能较好提高信息精度,同时还能大幅提高在线运算速度,降低了在线运算量,使得动态路径规划能够实时实现,从而保证了工程应用中的实时性和实用性。通过上述基于用户出行习惯的动态路径规划方法,响应速度快,合理利用路网资源,缓解拥堵能力,实时性强,充分尊重用户的出行习惯,提高用户体验。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。