一种基于客流od避圈组合策略的需求响应公交规划方法
技术领域
1.本发明涉及一种需求响应公交规划方法,尤其是涉及一种基于客流od避圈组合策略的需求响应公交规划方法。
背景技术:2.常规公交在国内城市交通出行体系中普遍面临边缘化的危机。常规公交是面向大众的公益性城市客运系统,为市民提供方便、快捷、低成本的出行服务;其较低的单位资源占用率和能源消耗率使其成为城市治堵的重要手段。国家“交通强国战略”明确优先发展公共交通是解决城市交通拥堵的治本之策。然而,在当前城市化与机动化交织重叠的形势中,相较于其它(公共)交通方式(比如轨道交通、共享出行等),常规公交的吸引力和竞争力逐渐衰微,面临被边缘化的严重危机。其中,最显著的特征是国内和省内城市的常规公交客运量逐年下降。
3.需求响应公交伴随国内“公交都市”建设兴起,借由数字化改革机遇快速发展。需求响应公交基于互联网/移动互联网技术,面向公众提供定制化与个性化的出行服务;其较高的服务效率和灵活服务模式使其被广泛视为城市公交的未来方向和理想模式。交通运输部《数字交通发展规划纲要》指出,以数据赋能交通产业,推动模式、业态、产品、服务等联动创新,提升城市出行服务品质。需求响应公交新业态通过互联网/移动互联网连接出行需求端和服务供给端,推动公交服务的精准化、定制化和个性化转变,其未来发展将呈现很好的预期。
4.需求响应公交规划核心是客流od组合方案设计,及相应的公交路径规划。客流od,即客流出行起止点,描述公交乘客出行分布,客流od乘客量是指起止点间乘客出行量。每条公交路径均由其服务的客流od组合决定。现实中的公交路径不存在局部环路,因此在组合不同客流od以规划公交的过程中,必须避免出现局部环路的问题,即客流od的避圈组合策略。具体而言,客流od组合方式需要满足逻辑可行性,公交路径则需要同时满足逻辑可行性和实际可行性。实际上客流od组合方案数量、公交路径方案数量都与客流od规模呈阶乘关系;以客流od组合中不存在重复起点或止点的公交路径规划为例,如果其服务的客流od有n个,则该公交的路径方案数量为,即如果n的数量为5,需要检查的公交路径方案数量将接近11万,将对客流od组合规划及公交路径规划的方法效率提出相当高的要求。
5.现有需求响应公交规划方法主要包括:(1)根据人工经验方法规划,在特定区域内,设置一两条需求响应公交线路;(2)通过启发式算法规划,采用遗传算法、蚁群算法等启发式方法,在区域内优化设置少量需求响应公交;(3)通过聚类方法规划,采用空间聚类法,将上下车站点相似的乘客需求聚集,由此设置需求响应公交。这些方法至少存在如下问题:客流od的组合方案通过人工经验或启发式方法制定,缺乏系统化方法;当客流od需求较为分散的时候,聚类组合方法的效果不佳;客流od组合方案的数量与od对的数量为阶乘关系,当od对数量很大时,所需计算量很大,凭借人工经验方法或启发式方法很难获得合理的od
组合方案,自动遍历计算方法则效率相当低而基本不可行,因此目前还缺乏合理的需求响应公交规划方法。
技术实现要素:6.本发明所要解决的技术问题是提供一种具有极高的处理效率,成功将所需计算量降低到线性层级,实现快速合理规划的基于客流od避圈组合策略的需求响应公交规划方法。
7.本发明解决上述技术问题所采用的技术方案为:一种基于客流od避圈组合策略的需求响应公交规划方法,包括以下步骤:步骤一,首先通过互联网技术获得研究区域内所有公交站点的前期客流出行数据,即全部客流od数据,该数据描述规划时间段内服务区域内公交站点至公交站点间的乘客需求量分布;步骤二,初始化参数后,将客流od按乘客量大小进行降序排序,对每个客流od按顺序编号,并创建状态变量来描述每个客流od被已规划的需求响应公交服务的状态,检查排好序后的客流od整体列表中每个客流od的服务状态;步骤三,如果客流od全部为被服务状态,则此时已规划好的各条需求响应公交的客流服务列表和公交路径,即为最终的需求响应公交方案,其中公交的客流服务列表指的是某一公交的客流od集合;步骤四,如果客流od未被全部服务,则增加一条新的需求响应公交,用公交b表示,此时该公交的客流服务表为空表;将步骤二中客流od整体列表中尚未被服务的乘客量最大的客流od加入公交b的客流服务列表lb中,并将加入的这个客流od的服务状态设置为已被服务;步骤五,a. 倒序检查步骤二中客流od整体列表中各个客流od的服务状态,从编号为m的最小乘客量的客流od 开始检查,每次检查一个客流od,若检查完后,全部的客流od服务状态均为1,则执行步骤三;b.若检查到的客流od的服务状态为0,则判断该未被服务的客流od插入公交b的客流服务列表lb之后是否导致公交b出现局部环路运行,若公交b出现局部环路,则继续检查下一客流od;若公交b未出现局部环路,则将该客流od插入公交b的客流服务列表lb,生成新的客流试服务表,执行步骤六;步骤六,根据步骤五产生的公交b的客流试服务列表,针对其包含的公交站点,检查公交b的客流试服务列表中的起始站点o集合及目标站点d集合,遍历除中继站点外的其他站点,通过查询路网基础数据,选择相互间距最大的起始站点o和目标站点d分别作为公交b行驶路径的起点和终点,并查询路网基础数据中其它站点至起始点o的距离,从小到大排列这些站点,由此生成初步的公交b行驶路径,再检查该路径的站点访问顺序的正确性并修正,全部检查及修正完毕后,输出生成的公交b的运行路径;步骤七,根据步骤六产生的公交b行驶路径,遍历检查公交b沿行驶路径经过的全部公交站点,在沿途经过的全部站点中,每次选择两个站点,按规定的站点访问相对
顺序,分别作为起始站点o和目的站点d,检查其对应的客流od在客流od整体列表中的服务状态,若服务状态为未被服务,则表示公交b沿行驶路径能够同时服务这些客流od,将这些客流od加入公交b的客流试服务列表中,完成的更新,若服务状态为已被服务,则无需加入;步骤八,计算步骤七产生的公交b客流试服务列表中每个客流od的起始站点o和目的站点d之间的实际行驶里程,并将实际行驶里程除以通过路网基础数据查询得到的相应客流od的起始站点o和目的站点d之间的最短距离,得到公交b客流试服务列表中每个客流od的实际里程与最短里程比值,若中的任意一个客流od的比值超过规定的公交非直线系数,则表示由步骤五选择并插入客流服务列表lb的客流od实际不可行,舍弃和,返回步骤五并检查下一个客流od;若中的全部客流od的比值均未超过规定的公交非直线系数,则表示由步骤五选择并插入客流服务列表lb的客流od实际可行,将和分别保存为公交b的行驶路径pb和客流服务表lb,并将步骤五及步骤七加入的客流od状态设置为已被服务,返回步骤五并检查下一个客流od,整个循环迭代结束后,步骤二客流od整体列表中的全部客流od都将被分配至合理的需求响应公交线路,且每条线路的路径均得到生成,即获得了需求响应公交规划方案。
8.进一步,步骤二初始化参数具体如下:(1)将全部客流od的服务状态s
ij
设置为未被服务,s
ij
为客流od是否被服务的状态变量,s
ij
=0或1,0表示未被服务,1表示已被服务;(2)需求响应公交线路设置为无方案状态;(3)构建服务区域的基础路网模型,基础路网模型包括道路信息和公交站所处位置。
9.进一步,步骤五中判断新客流od插入公交b后是否将出现局部环路的方法具体如下:(1)检查公交b客流服务列表中继站点对的数量;(2)若不存在中继站点对,则说明公交b未出现局部环路;(3)若存在中继站点对,则将检查的客流服务列表中除“中继站点对”之外的其它客流od删除,得到经删减的公交b客流服务列表;(4)若经删减的公交b客流服务列表为空表,则说明公交b出现局部环路;(5)若经删减的公交b客流服务列表不为空表,则检查该经删减的公交b客流服务列表中继站点对的数量,返回执行步骤(2)。
10.进一步,所述的中继站点定义为对于公交站点i,若其在某条公交客流服务列表中,既作为起始站点o、又作为目标站点d出现,则称公交站点i为该服务列表的中继站点;所述的中继站点对定义为若某条公交客流服务列表中某个客流od,其起始站点o和目标站点d均为该服务列表的中继站点,则称这个客流od的起止站点对为该公交客流服务列表的中继站点对。
11.进一步,步骤六检查公交b行驶路径的站点访问顺序的正确性并修正的方法如下:
(1)针对o型站点,检查其前序站点中是否存在与该站点对应的目的站点d;若存在访问,则将该站点o移置于最早访问的对应d站点前一位;(2)针对d型站点,检查后序序列中是否存在该站点对应的、尚未被访问的o站点;若存在,则将该d站点移置于最晚访问的对应o站点后一位;(3)对于中继站点,首先将其视为d型站点,检查后序序列中是否存在该站点对应的、尚未被访问的o站点;若存在,则将该中继站点移置于最晚访问的对应o站点后一位;然后再将其视为o型站点,检查其新位置的前序站点中是否存在该站点对应的目的站点d,若存在,将前序序列中与该中继站点对应的所有d站点、不改变彼此相对顺序地移置于该中继站点之后。
12.与现有技术相比,本发明的优点在于:本发明首次公开了一种基于客流od避圈组合策略的需求响应公交规划方法,该方法在获取城市服务区域前期客流od数据的基础上,采用od避圈组合策略,通过一套完整的迭代优化流程方法(由四个连贯的基本子模块构成:服务列表试组合、公交路径生成、服务列表更新、实际可行性判定),规划出城市服务区域的需求响应公交线路及其路径;该方法基于od避圈组合策略,快速设计需求响应公交线路及其路径,在优化客流od组合及公交路径、从而规划需求响应公交上具有极高的处理效率,成功将所需计算量降低到线性层级,实现快速规划合理的需求响应公交方案。
具体实施方式
13.以下结合实施例对本发明作进一步详细描述。
具体实施例
14.一种基于客流od避圈组合策略的需求响应公交规划方法,包括以下步骤:步骤一,首先通过互联网技术获得研究区域内所有公交站点的前期客流出行数据,即全部客流od数据,该数据描述规划时间段内服务区域内公交站点至公交站点间的乘客需求量分布,初始化参数具体如下:(1)将全部客流od的服务状态s
ij
设置为未被服务,s
ij
为客流od是否被服务的状态变量,s
ij
=0或1,0表示未被服务,1表示已被服务;(2)需求响应公交线路设置为无方案状态;(3)构建服务区域的基础路网模型,基础路网模型包括道路信息和公交站所处位置。
15.步骤二,初始化参数后,将客流od按乘客量大小进行降序排序,对每个客流od按顺序编号,并创建状态变量来描述每个客流od被已规划的需求响应公交服务的状态,检查排好序后的客流od整体列表中每个客流od的服务状态。
16.步骤三,如果客流od全部为被服务状态,则此时已规划好的各条需求响应公交的客流服务列表和公交路径,即为最终的需求响应公交方案,其中公交的客流服务列表指的是某一公交的客流od集合。
17.步骤四,如果客流od未被全部服务,则增加一条新的需求响应公交,用公交b表示,此时该公交的客流服务表为空表;将步骤二中客流od整体列表中尚未被服务的乘客量最大的客流od加入公交b的客流服务列表lb中,并将加入的这个客流od的服务状态设置为已被
服务。
18.步骤五,a. 倒序检查步骤二中客流od整体列表中各个客流od的服务状态,从编号为m的最小乘客量的客流od 开始检查,每次检查一个客流od,若检查完后,全部的客流od服务状态均为1,则执行步骤三;b.若检查到的客流od的服务状态为0,则判断该未被服务的客流od插入公交b的客流服务列表lb之后是否导致公交b出现局部环路运行,若公交b出现局部环路,则继续检查下一客流od;若公交b未出现局部环路,则将该客流od插入公交b的客流服务列表lb,生成新的客流试服务表,执行步骤六;判断新客流od插入公交b后是否将出现局部环路的方法具体如下:(1)检查公交b客流服务列表中继站点对的数量;(2)若不存在中继站点对,则说明公交b未出现局部环路;(3)若存在中继站点对,则将检查的客流服务列表中除“中继站点对”之外的其它客流od删除,得到经删减的公交b客流服务列表;(4)若经删减的公交b客流服务列表为空表,则说明公交b出现局部环路;(5)若经删减的公交b客流服务列表不为空表,则检查该经删减的公交b客流服务列表中继站点对的数量,返回执行步骤(2),其中中继站点定义为对于公交站点i,若其在某条公交客流服务列表中,既作为起始站点o、又作为目标站点d出现,则称公交站点i为该服务列表的中继站点;中继站点对定义为若某条公交客流服务列表中某个客流od,其起始站点o和目标站点d均为该服务列表的中继站点,则称这个客流od的起止站点对为该公交客流服务列表的中继站点对。
19.步骤六,根据步骤五产生的公交b的客流试服务列表,针对其包含的公交站点,检查公交b的客流试服务列表中的起始站点o集合及目标站点d集合,遍历除中继站点外的其他站点,通过查询路网基础数据,选择相互间距最大的起始站点o和目标站点d分别作为公交b行驶路径的起点和终点,并查询路网基础数据中其它站点至起始点o的距离,从小到大排列这些站点,由此生成初步的公交b行驶路径,再检查该路径的站点访问顺序的正确性并修正,全部检查及修正完毕后,输出生成的公交b的运行路径,检查公交b行驶路径的站点访问顺序的正确性并修正的方法如下:(1)针对o型站点,检查其前序站点中是否存在与该站点对应的目的站点d;若存在访问,则将该站点o移置于最早访问的对应d站点前一位;(2)针对d型站点,检查后序序列中是否存在该站点对应的、尚未被访问的o站点;若存在,则将该d站点移置于最晚访问的对应o站点后一位;(3)对于中继站点,首先将其视为d型站点,检查后序序列中是否存在该站点对应的、尚未被访问的o站点;若存在,则将该中继站点移置于最晚访问的对应o站点后一位;然后再将其视为o型站点,检查其新位置的前序站点中是否存在该站点对应的目的站点d,若存在,将前序序列中与该中继站点对应的所有d站点、不改变彼此相对顺序地移置于该中继站点之后。
20.步骤七,根据步骤六产生的公交b行驶路径,遍历检查公交b沿行驶路径经过
的全部公交站点,在沿途经过的全部站点中,每次选择两个站点,按规定的站点访问相对顺序,分别作为起始站点o和目的站点d,检查其对应的客流od在客流od整体列表中的服务状态,若服务状态为未被服务,则表示公交b沿行驶路径能够同时服务这些客流od,将这些客流od加入公交b的客流试服务列表中,完成的更新,若服务状态为已被服务,则无需加入。
21.步骤八,计算步骤七产生的公交b客流试服务列表中每个客流od的起始站点o和目的站点d之间的实际行驶里程,并将实际行驶里程除以通过路网基础数据查询得到的相应客流od的起始站点o和目的站点d之间的最短距离,得到公交b客流试服务列表中每个客流od的实际里程与最短里程比值,若中的任意一个客流od的比值超过规定的公交非直线系数,则表示由步骤五选择并插入客流服务列表lb的客流od实际不可行,舍弃和,返回步骤五并检查下一个客流od;若中的全部客流od的比值均未超过规定的公交非直线系数,则表示由步骤五选择并插入客流服务列表lb的客流od实际可行,将和分别保存为公交b的行驶路径pb和客流服务表lb,并将步骤五及步骤七加入的客流od状态设置为已被服务,返回步骤五并检查下一个客流od,整个循环迭代结束后,步骤二客流od整体列表中的全部客流od都将被分配至合理的需求响应公交线路,且每条线路的路径均得到生成,即获得了需求响应公交规划方案。
22.上述需求响应公交规划过程基于od避圈组合策略,通过迭代的方式,有机串联四个基本子模块(服务列表试组合、公交路径生成、服务列表更新、实际可行性判定)实现。
23.每次均在剩余的未被服务的客流od中,选择乘客量最大的od作为新创建线路的首对服务od,将其置入该线路的服务od列表中,并将该od的服务状态修改为已被服务。
24.从已排序的客流od表中,按倒序依次选择仍未被服务的od,每次选择一个,对该od能否插入新创建线路的服务od列表进行判断,判断过程由四个基本子模块依次完成:第一子模块:服务列表试组合模块。尝试将od插入服务列表后,检查新od列表中是否存在局部环路,即是否存在反复访问同一公交站点的情况。该模块即为od避圈组合策略的体现,也是本发明的核心模块之一。如果新服务列表中存在局部环路,表示该od不能由该线路服务,该od插入服务列表逻辑不可行,则应返回重新选择od后,再执行本模块判断,直至没有od能被选择为止,即完成一条新线路的路径规划和服务od列表规划;如果新服务列表中不存在局部环路,表示该od插入新线路服务列表逻辑可行,则继续执行第二子模块。
25.第二子模块:公交路径生成模块。在服务列表中尝试插入可行的新od后,公交路径也将发生变化,应该根据新服务列表生成新公交路径。该模块也是本发明的核心模块之一。先按服务列表列出公交将要访问的全部站点,按路网最短路径计算各站点间的最短路径长度;再对最短路径长度进行排序,同时选择距离最远的两个站点作为公交的起始站点和目的站点;然后对中间站点进行服务od的先上后下逻辑检查,并进行站点位置调整,使站点序列严格遵循服务od的先上车、后下车的逻辑。至此,生成新的公交路径。继续执行第三子模块。
26.第三子模块:服务列表更新模块。生成新的具体公交路径后,公交服务将可能覆盖更多的od,应该将这些od纳入服务列表中,实现服务列表的更新。检查新公交路径,也即检查访问站点序列,查找是否包含尚未被服务的站点-站点对(即客流od)。如果存在,则将这些od直接插入公交的服务列表,完成服务列表的更新。继续执行第四子模块。
27.第四子模块:实际可行性判定模块。公交路径除需要满足无圈、先上后下等逻辑可行性,仍需要满足非直线系数要求。即,公交服务每个od的实际路径长度与od最短路径长度的比值,不能超过规定的非直线系数。按照子模块三生成的公交路径,计算其访问站点间的实际路径长度,并对照服务列表中的od最短路径长度,由前者除以后者,检查比值是否超过规定的非直线系数。如果存在超过的情况,表示执行第一子模块时插入的od不能由该线路服务,且由第二子模块和第三子模块产生的公交路径及服务列表没有实际可行性,则应舍弃这些路径和服务列表;如果比值都小于规定的非直线系数,表示执行第一子模块时插入的od实际可行,且接受和保存由第二子模块和第三子模块产生的公交路径及服务列表。该模块执行结束后,返回重新选择新od,再从第一子模块开始迭代。
28.整个循环迭代结束后,全部客流od都将被分配至合理的需求响应公交线路,且每条线路的路径均得到生成。即获得了需求响应公交规划方案。本发明方法在规划需求响应公交上具有极高的处理效率,成功将所需计算量降低到线性层级,实现快速规划合理的需求响应公交方案。
29.上述说明并非对本发明的限制,本发明也并不限于上述举例。本技术领域的普通技术人员在本发明的实质范围内,做出的变化、改型、添加或替换,也应属于本发明的保护范围。