CN107633319A - 一种新增公交线路优化设计方法 - Google Patents
一种新增公交线路优化设计方法 Download PDFInfo
- Publication number
- CN107633319A CN107633319A CN201710533325.XA CN201710533325A CN107633319A CN 107633319 A CN107633319 A CN 107633319A CN 201710533325 A CN201710533325 A CN 201710533325A CN 107633319 A CN107633319 A CN 107633319A
- Authority
- CN
- China
- Prior art keywords
- link
- station
- section
- length
- road
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Navigation (AREA)
Abstract
本发明提供一种新增公交线路优化设计方法,通过应用Dijkstra算法来求解最短路径,并且在搜索的过程中,加入搜索方向角来限制搜索的范围,让搜索方向保持在起终点空间连线的附近,减少不必要站点的搜索,加快算法收敛速度,同时限制公交线路的不合理的弯曲、迂回现象,使非直线系数能在一个较优的范围内。此外,新增公交线路优化已由业主指定起点和终点,因此当Dijstra算法在搜索到的点是终点时,即可结束搜索,而不需要计算其他不必要的点。
Description
技术领域
本发明涉及智慧交通技术领域,具体而言涉及一种新增公交线路优化设计方法。
背景技术
城市公交是城市“现代服务业”的重要承载。城市公交线路优化,尤其是针对新增加的公交线路的优化设计,是在现有城市公交资源的条件下通过修改公交路径、公交站点位置、公交发车频率等可控条件,以提高公交运行效率,提升公交吸引力出行分担率的主要方法。
发明内容
本发明目的在于提供一种新增公交线路优化设计方法,实现对新增公交线路的路径最短线路的优化设计。
根据本发明的公开,提出一种新增公交线路优化设计方法,包括下述步骤:
Step0接收起点、终点数据,复用站点数及线路类型数据,首先判断表MD_NEW_BUS_ROUTE_INPUT中的基础数据版本时间与表BASIC_ROAD_NET中基础数据版本时间是否相同,若不同,进行优化;若相同,判断起点、终点、线路类型、复用站点数是否有历史记录,若有,返回历史记录,若无,进行优化;
Step1基于距离最短线路的优化策略,判断线路类型:
当线路类型为公交干线(1)时,进入Step2;
当线路类型为公交次干线(2)时,进入Step5;
当线路类型为公交支路/不限(3)时,进入Step7;
Step2从基础路网BASIC_ROAD_NET,选取链接类型为01、02、07、08、09、00的链路组成公交线路优化路网,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step3;
Step3判断链接上节点的类型,当链接两侧的节点类型全部为2时,进入Step4;当有节点类型为1,即交叉口,则将该链接以交叉口为节点与其相连的链接合并,使合并后的链接两侧的链接类型为2;计算合并后链接的长度,进入Step4;
Step4判断每条链接的长度1500>=LINK_LENGTH>=800是否成立,若成立,则不做处理;若小于800,取该链接两头的车站的链接,并将该链接与得到的较短的链接合并,中间车站记为需要舍弃的车站;若大于1500米,将该链接放入需要新增站点的链接组;将链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step5从基础路网BASIC_ROAD_NET,选取链接类型为02、03、10、11、00的链路组成公交线路优化路网,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step6;
Step6判断每条链接的长度500<=LINK_LENGTH<=800是否成立,若成立,则不做处理;若小于500米,取该链接两头的车站的链接,并将该链接与得到的较短的链接合并,中间车站记为需要舍弃的车站;若大于800米,则将该链接放入需要新增站点的链接组;最后将处理过后的链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step7在基础路网BASIC_ROAD_NET,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step8;
Step8判断每条链接的长度LINK_LENGTH<500是否成立,若成立,则不做处理;若不成立,则将该链接放入需要新增站点的链接组;并将处理后的链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step9计算线路长度:在获得了线路的链接组中,将所有链接的长度求和,即为线路的实际长度lR;
Step10计算非直线系数:公交线路首末站之间的实际线路长度与首末站之间的空间直线距离的比值ηR:
ηR=lR/dR
其中:
ηR分别代表线R的非直线系数
lR:线路R的长度
dR:线路R的起点,终点之间的空间直线距离
Step11计算复线条数:将线路所经过站点所在路段ID上的复线条数取出,求和,除以所有路段个数,即为本线路的复线条数;
Step12计算运行时间
对于公交干线,运行时间即为所有链接的运行时间之和;对于公交次干线和公交支线,运行时间为所有链接的修正后运行时间之和。
进一步的实施例中,所述路线优化算法为基于Dijkstra算法的优化方法,具体包括:
Step1.1初始时令S={V0},T=V-S={其余顶点},Q={弃点},d为T中顶点对应的距离值,V是所有顶点的有穷非空集合,顶点之间关系的有穷集合边集定义为E,顶点为每个公交站点,站点之间的连接路段即为链接,成为边;
若存在<V0,Vj>,d(V0,Vj)为<V0,Vj>弧上的权值
若不存在<V0,Vj>,d(V0,Vj)为∞
Step1.2从T中选取一个与S中顶点有关联边且目标函数值最小的顶点W,首先判断W是否为终点,若是终点,结束;
若不是终点,继续判断W是否满足方向角机制,若满足,加入到S中,转Step1.3;若不满足方向角机制,放入Q,转Step1.2;
Step1.3从T中选取一个与S中顶点有关联且目标函数值最小的定的W,加入S中,转Step1.4;
Step1.4对其余T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的距离值缩短,则修改此距离值;
重复上述步骤1.2、1.3,直到找到终点或S中包含所有顶点,即W=Vi为止。
由以上技术方案,本发明采用基于Dijkstra算法的路径优化算法来实现新增公交线路的优化设计,Dijkstra算法应用了贪心算法模式,是目前公认的最好的求解最短路径的方法。算法解决的是有向图中单个源点到其他顶点的最短路径问题,其主要特点是每次迭代时选择的下一个顶点是标记点之外距离源点最近的顶点。但由于dijkstra算法主要计算从源点到其他所有点的最短路径,在公交线网优化系统中公交站点数量巨大,所以算法的效率较低。为此在搜索的过程中,本发明的实现过程中,我们加入搜索方向角来限制搜索的范围,让搜索方向保持在起终点空间连线的附近,减少不必要站点的搜索,加快算法收敛速度,该做法的另一个好处是限制公交线路的不合理的弯曲、迂回现象,使非直线系数能在一个较优的范围内。此外,新增公交线路优化已由业主指定起点和终点,因此当Dijstra算法在搜索到的点是终点时,我们即可结束搜索,而不需要计算其他不必要的点。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1是根据本发明实施例的新增公交线路优化设计方法的示意图。
图2是Dijstra算法流程的原理示意图。
图3是Dijstra算法举例示例图。
图4是链接构建方法示意图。
图5是复线系数的建议值示意图。
图6是方向角机制的示意图。
图7是路线优化算法流程示意图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
结合图1所示,一种新增公交线路优化设计方法,包括下述步骤:
Step0接收起点、终点数据,复用站点数及线路类型数据,首先判断表MD_NEW_BUS_ROUTE_INPUT中的基础数据版本时间与表BASIC_ROAD_NET中基础数据版本时间是否相同,若不同,进行优化;若相同,判断起点、终点、线路类型、复用站点数是否有历史记录,若有,返回历史记录,若无,进行优化;
Step1基于距离最短线路的优化策略,判断线路类型:
当线路类型为公交干线(1)时,进入Step2;
当线路类型为公交次干线(2)时,进入Step5;
当线路类型为公交支路/不限(3)时,进入Step7;
Step2从基础路网BASIC_ROAD_NET,选取链接类型为01、02、07、08、09、00的链路组成公交线路优化路网,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step3;
Step3判断链接上节点的类型,当链接两侧的节点类型全部为2时,进入Step4;当有节点类型为1,即交叉口,则将该链接以交叉口为节点与其相连的链接合并,使合并后的链接两侧的链接类型为2;计算合并后链接的长度,进入Step4;
Step4判断每条链接的长度1500>=LINK_LENGTH>=800是否成立,若成立,则不做处理;若小于800,取该链接两头的车站的链接,并将该链接与得到的较短的链接合并,中间车站记为需要舍弃的车站;若大于1500米,将该链接放入需要新增站点的链接组;将链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step5从基础路网BASIC_ROAD_NET,选取链接类型为02、03、10、11、00的链路组成公交线路优化路网,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step6;
Step6判断每条链接的长度500<=LINK_LENGTH<=800是否成立,若成立,则不做处理;若小于500米,取该链接两头的车站的链接,并将该链接与得到的较短的链接合并,中间车站记为需要舍弃的车站;若大于800米,则将该链接放入需要新增站点的链接组;最后将处理过后的链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step7在基础路网BASIC_ROAD_NET,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step8;
Step8判断每条链接的长度LINK_LENGTH<500是否成立,若成立,则不做处理;若不成立,则将该链接放入需要新增站点的链接组;并将处理后的链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step9计算线路长度:在获得了线路的链接组中,将所有链接的长度求和,即为线路的实际长度lR;
Step10计算非直线系数:公交线路首末站之间的实际线路长度与首末站之间的空间直线距离的比值ηR:
ηR=lR/dR
其中:
ηR分别代表线R的非直线系数
lR:线路R的长度
dR:线路R的起点,终点之间的空间直线距离
Step11计算复线条数:将线路所经过站点所在路段ID上的复线条数取出,求和,除以所有路段个数,即为本线路的复线条数;
Step12计算运行时间
对于公交干线,运行时间即为所有链接的运行时间之和;对于公交次干线和公交支线,运行时间为所有链接的修正后运行时间之和。
进一步的实施例中,所述路线优化算法为基于Dijkstra算法的优化方法,具体包括:
Step1.1初始时令S={V0},T=V-S={其余顶点},Q={弃点},d为T中顶点对应的距离值,V是所有顶点的有穷非空集合,顶点之间关系的有穷集合边集定义为E,顶点为每个公交站点,站点之间的连接路段即为链接,成为边;
若存在<V0,Vj>,d(V0,Vj)为<V0,Vj>弧上的权值
若不存在<V0,Vj>,d(V0,Vj)为∞
Step1.2从T中选取一个与S中顶点有关联边且目标函数值最小的顶点W,首先判断W是否为终点,若是终点,结束;
若不是终点,继续判断W是否满足方向角机制,若满足,加入到S中,转Step1.3;若不满足方向角机制,放入Q,转Step1.2;
Step1.3从T中选取一个与S中顶点有关联且目标函数值最小的定的W,加入S中,转Step1.4;
Step1.4对其余T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的距离值缩短,则修改此距离值;
重复上述步骤1.2、1.3,直到找到终点或S中包含所有顶点,即W=Vi为止。
下面我们将结合附图以及各个计算过程的具体实现来进一步描述上述方法的示例性实施过程。
Dijstra算法
Dijstra算法的基本定义,结合图2所示,具体定义和原理如下:
图(Graph):一个图可以由2个集合来定义,一个是点的集合,一般称为顶点(Vertex);另一个集合是连接2个顶点的边的集合,一般称为边(Edge)。图的定义为:Graph=(V,E),V是所有顶点的有穷非空集合,E是顶点之间关系的有穷集合边集。
路径(Path):在图G=(V,E)中,若从顶点vi出发,经过一系列的顶点vp1,vp2,…,vpm,最后到达顶点vj,则称顶点序列(vi,vp1,vp2,…,vpm,vj)为顶点vi到顶点vj的路径。
简单路径:若路径上经过的各个顶点均不互相重复,则称这样的路径为简单路径。
最短路径:对于有权图,最短路径是指两顶点之间经过的边上权值之和最小的简单路径。并且称路径上的第一个顶点为源点,最后一个顶点为终点。
Dijstra算法的基本步骤
Step1初始时令S={V0},T=V-S={其余顶点},d为T中顶点对应的距离值
若存在<V0,Vi>,d(V0,Vi)为<V0,Vi>弧上的权值
若不存在<V0,Vi>,d(V0,Vi)为∞
Step2从T中选取一个与S中顶点有关联边且权值最小的顶点W,加入到S中
Step3对其余T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的距离值缩短,
则修改此距离值
重复上述步骤2、3,直到S中包含所有顶点,即W=Vi为止。
结合图3所示,先我们来结合图3所示的例子说明Dijstra算法的运算示例
Step1:根据图来建立权值矩阵:
例如:W[0][2]=4表示点V0到点V2的权值为4
W[0][3]=-1表示点V0与V3不相邻,所以权值无限大。
Step2:对V0标号;V0到其它点的路径得到distance:{0,1,4,-1,-1,-1};找到V0到各点中权值最小的那个点(标号的点除外,-1代表无限大),故得到1即对应的下标1,得到V1;
对V1标号,然后更改V0通过V1到其它点的路径得到distance:{0,1,3,8,6,-1};
Step3:找到distance中权值最小的那个点,(标号的点除外)得到V2,对V2标号,然后更改
V0通过V1->V2到其它点的路径得到distance:{0,1,3,8,4,-1};
Step4:找到distance中权值最小的那个点,(标号的点除外)得到V4,对V4标号,然后更改
V0通过V1->V2->V4到其它点的路径得到distance:{0,1,3,7,4,10};
Step5:找到distance中权值最小的那个点,(标号的点除外)得到V3,对V3标号,然后更改
V0通过V1->V2->V4->V3到其它点的路径得到distance:{0,1,3,7,4,9};
最后只剩下V5没有被标号,就找到V5了。结束。
以上阐明本发明的各个实施例中所采用的Dijstra算法的基础定义、运算示例,下面将结合图4-图6其在本发明的线路优化算法的具体应用。
基础路网
本发明的实施例中,我们在地图中以每个公交站点作为顶点,每个链接(站点间连接路段)作为边,链接长度作为权,则得到的图是一个有权图,因此给定任意两个顶点,一定可以找到这两点之间的一条最短路径。此图的存储我们采用基础路网BASIC_ROAD_NET来保存,如下表。
链接ID | LINK_ID | NUMBER(9) |
链接类型 | LINK_TYPE | NUMBER(3) |
链接长度 | LINK_LENGTH | NUMBER(5,3) |
上游节点ID | STATION_UPSTARE | VARchar2(60) |
下游节点ID | STATION_DOWNSTARE | VARchar2(60) |
其中上游站点和下游站点分别代表了图的顶点,链接则是图的边,链接长度是图的权。
复线系数
本发明的实施例中,我们根据公交线路与路段关系来确定复线系数,具体地,通过从MD_BUS_ROUTE_SEGMENT统计每个路段上经过的公交线路数目,记作复线条数。MD_BUS_ROUTE_SEGMENT表如下所示。
BUS_ROUTE_ID | 公交线路标识ID | NUMBER(9) |
BUS_ROUTE_NAME | 公交线路名称 | VARchar2(60) |
SN | 顺序号 | NUMBER(3) |
DIRECTION | 方向 | VARchar2(2) |
SEGMENT_ID | 路段ID | VARchar2(60) |
链接构建
本发明的实施例中,我们根据路网交叉口、路段信息(含上下游交叉口)以及车站信息(运输网络)来精细链接构建。所述作为输入数据的路网交叉口、路段信息(含上下游交叉口)以及车站信息(运输网络)如下表所示。
1)交叉口MD_INTERSECTION
2)路段MD_SEGMENT(含上下游交叉口)
SEGMENT_ID | 路段ID | VARchar2(60) |
SEGMENT_NAME | 路段名称 | VARchar2(120) |
INTERSECTION_UPSTARE | 上游路口 | VARchar2(60) |
INTERSECTION_DOWNSTARE | 下游路口 | VARchar2(60) |
SEGMENT_LEVEL | 道路类型 | VARchar2(3) |
ROAD_LANES_TYPE | 车道数代码 | NUMBER(6) |
LENGTH | 长度 | NUMBER(10,2) |
WIDTH | 宽度 | NUMBER(3,2) |
SEGMENT_CAPACITY | 通行能力 | NUMBER(6) |
SEGMENT_CODE | 路段编码 | VARchar2(60) |
ROAD_ID | 道路编码 | VARchar2(60) |
SEGMENT_DIRECTION | 路段方向 | VARchar2(10) |
SEGMENT_NAME2 | 路段别名 | VARchar2(60) |
道路等级,01快速路02主干道03次干道04支路05街道路06高架
3)车站信息(运输网络)TN_BUS_STATION
链接类型包括:01快速路02主干道03次干道04支路05街道路06高架07快主复合08快次复合09快支复合10主次复合11主支复合12次支复合00其他
结合图4所示,链接构建具体包括:
Step1判断分析区域内的交叉口ID是否全部标记为已分析,选取其中一个未分析的交叉口IDp
开始,将交叉口IDp标记为已分析,进入Step2;
Step2从路段MD_SEGMENT表中,查找出所有跟该交叉口IDp相连的路段ID(将路段宽度小于7米的剔除),方法为:以该交叉口ID为上下游路口的路段;按照路段与交叉口关系、以及右侧行驶的交规,将路段进行组队,进入Step3;
Step3从BUS_STATION表中捞出上述路段上的车站编码将这些车站作为节点,类型记为2,若路段上没有车站,则将路段下游交叉口作为节点,类型记为1;
Step4若该交叉口的每一个路段都有车站,按照路段的组队关系,赋予车站之间链接关系,进入Step5;若路段上没有车站,则按照路段的组队关系,赋予车站与交叉口之间链接关系,进入Step5;
Step5对链接进行编码,两个车站间的链路唯一;对链接进行类型定义,方法为:若链接间的路段所处的道路类型相同,则将道路类型赋值给链接类型,若链接间的路段所处的道路类型不相同,则将相应的类型值赋给链接类型;进入Step6;
Step6计算车站与交叉口IDp之间的距离,将车站与交叉口IDp之间的距离求和即为链接的长度;进入Step7;
Step7若链接两头的车站ID互相为上下游站点,保存一条数据即可,保证每两个车站间链接唯一;转Step1,直到所有交叉口全部分析完毕。
经过链接构建,输出数据如下:
运行时间修正
在本发明的实施例中,我们根据路段复线条数以及公交线路与路段关系、路段信息(含上下游交叉口)、路段限速数据、复线系数建议值来进行运行时间修正。
复线条数以及公交线路与路段关系、路段信息(含上下游交叉口)、路段限速数据、复线系数建议值(如图5),如下所示:
路段复线条数表SEGMENT_MULTIPLE_TRAC_NUM
参数 | 字段 | 类型 |
路段ID | SEGMENT_ID | VARchar2(60) |
复线条数 | MULTIPLE_TRAC_NUM | NUMBER(3) |
更新时间 | TIMESTAMP | NUMBER(13) |
公交线路与路段关系MD_BUS_ROUTE_SEGMENT
BUS_ROUTE_ID | 公交线路标识ID | NUMBER(9) |
BUS_STATION_ID | 车站编码 | NUMBER(9) |
SN | 顺序号 | NUMBER(3) |
DIRECTION | 方向 | VARchar2(2) |
SEGMENT_ID | 路段ID | VARchar2(60) |
路段MD_SEGMENT(含上下游交叉口)
路段限速数据
道路类型 | 国标限速 | 建议取值 |
快速路 | 60~80 | 47 |
主干道 | 40~60 | 30 |
次干道 | 40 | 25 |
支路 | 30 | 15 |
高速 | 80~100 | 47 |
具体修正过程包括:
Step1在链接构建算法步骤的Step6中,获得车站与交叉口IDp之间的距离d1、d2后,查
MD_SEGMENT获取路段类型,按照“路段限速数据”计算交叉口到车站的运行时间,
t1=d1/路段限速,t2=d2/路段限速;
Step2计算链接运行时间t=t1+t2
Step3查询SEGMENT_MULTIPLE_TRAC_NUM表,获得车站所处路段上的复线条数,按照复
线条数与复线系数关系对运行时间进行修正:
t1’=t1*路段复线系数,t2’=t2*路段复线系数;
则链接的修正运行时间t=t1’+t2’
基于Dijstra的路线优化
Dijkstra算法应用了贪心算法模式,是目前公认的最好的求解最短路径的方法。算法解决的是有向图中单个源点到其他顶点的最短路径问题,其主要特点是每次迭代时选择的下一个顶点是标记点之外距离源点最近的顶点。但由于dijkstra算法主要计算从源点到其他所有点的最短路径,在公交线网优化系统中公交站点数量巨大,所以算法的效率较低。为此在搜索的过程中,我们加入搜索方向角来限制搜索的范围,让搜索方向保持在起终点空间连线的附近,减少不必要站点的搜索,加快算法收敛速度,该做法的另一个好处是限制公交线路的不合理的弯曲、迂回现象,使非直线系数能在一个较优的范围内。此外,新增公交线路优化已由业主指定起点和终点,因此当Dijstra算法在搜索到的点是终点时,我们即可结束搜索,而不需要计算其他不必要的点。
坐标转换
从车站信息后去数据,对于公交站点的经纬度,我们采用高斯吕克投影将其转换为空间坐标,起点对应的坐标(xu,yu),终点对应的坐标(xd,yd),利用公式计算得到起点与终点之间的直线距离。其他各点的计算方法相同。
方向角机制
结合图6所示,在图中节点v15为起点,节点v6为终点,节点v22为中间搜索的点。由Dijstra算法计算v15到v6之间的最短路径时,中间节点是否需要计算,可以提前由方向角控制机制来提前判断,不满足条件的点,不需要计算,将大大节省计算时间,提高Dijstra算法的时效性能。
通过坐标转换,我们所拿到的站点的经纬度值都已经转换为空间直角坐标系下的坐标值。首先,由前述步骤获得起点与终点之间的距离d0,起点与中间点的距离d1,终点与中间点的距离d2,则方向角A=arcos[0.5*(d0^2+d1^2-d2^2)/(d0*d1)],当方向角A<=90°时,该点进入Dijstra算法计算,否则,该点不计入计算。在实现中只需要判断d0^2+d1^2-d2^2>=0是否成立,若成立则代入计算,否则不予计算。
结合图6、图7所示,结合坐标转换和方向角机制的路线优化方法包括:
Step1.1初始时令S={V0},T=V-S={其余顶点},Q={弃点},d为T中顶点对应的距离值,V是所有顶点的有穷非空集合,顶点之间关系的有穷集合边集定义为E,顶点为每个公交站点,站点之间的连接路段即为链接,成为边;
若存在<V0,Vj>,d(V0,Vj)为<V0,Vj>弧上的权值
若不存在<V0,Vj>,d(V0,Vj)为∞
Step1.2从T中选取一个与S中顶点有关联边且目标函数值最小的顶点W,首先判断W是否为终点,若是终点,结束;
若不是终点,继续判断W是否满足方向角机制,若满足,加入到S中,转Step1.3;若不满足方向角机制,放入Q,转Step1.2;
Step1.3从T中选取一个与S中顶点有关联且目标函数值最小的定的W,加入S中,转Step1.4;
Step1.4对其余T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的距离值缩短,则修改此距离值;
重复上述步骤1.2、1.3,直到找到终点或S中包含所有顶点,即W=Vi为止。
新增公交线路优化
新增公交线路优化的计算具体包括:
Step0接收起点、终点数据,复用站点数及线路类型数据,首先判断表MD_NEW_BUS_ROUTE_INPUT中的基础数据版本时间与表BASIC_ROAD_NET中基础数据版本时间是否相同,若不同,进行优化;若相同,判断起点、终点、线路类型、复用站点数是否有历史记录,若有,返回历史记录,若无,进行优化;
Step1基于距离最短线路的优化策略,判断线路类型:
当线路类型为公交干线(1)时,进入Step2;
当线路类型为公交次干线(2)时,进入Step5;
当线路类型为公交支路/不限(3)时,进入Step7;
Step2从基础路网BASIC_ROAD_NET,选取链接类型为01、02、07、08、09、00的链路组成公交线路优化路网,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step3;
Step3判断链接上节点的类型,当链接两侧的节点类型全部为2时,进入Step4;当有节点类型为1,即交叉口,则将该链接以交叉口为节点与其相连的链接合并,使合并后的链接两侧的链接类型为2;计算合并后链接的长度,进入Step4;
Step4判断每条链接的长度1500>=LINK_LENGTH>=800是否成立,若成立,则不做处理;若小于800,取该链接两头的车站的链接,并将该链接与得到的较短的链接合并,中间车站记为需要舍弃的车站;若大于1500米,将该链接放入需要新增站点的链接组;将链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step5从基础路网BASIC_ROAD_NET,选取链接类型为02、03、10、11、00的链路组成公交线路优化路网,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step6;
Step6判断每条链接的长度500<=LINK_LENGTH<=800是否成立,若成立,则不做处理;若小于500米,取该链接两头的车站的链接,并将该链接与得到的较短的链接合并,中间车站记为需要舍弃的车站;若大于800米,则将该链接放入需要新增站点的链接组;最后将处理过后的链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step7在基础路网BASIC_ROAD_NET,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step8;
Step8判断每条链接的长度LINK_LENGTH<500是否成立,若成立,则不做处理;若不成立,则将该链接放入需要新增站点的链接组;并将处理后的链接按照路线优化算法的顺序输出到结果表,以“,”分割。
其中:
POI权重标准化:POI权=POI权重/2
链接长度标准化:边权=链接长度/max(链接长度)
运行时间标准化:边权=运行时间/max(运行时间)
修正运行时间标准化:边权=修正后运行时间/max(修正后运行时间)
当边权>1.5时,将链接对半拆成两条,相应的POI也对半分,产生一个新的虚拟站点,原站点的边权及POI相应做修改,且将该链接放入需要新增站点的链接组.
目标函数1=边权*w1+(1-POI权)*w2
目标函数2=边权*w2+(1-POI权)*w1
默认值w1=0.8,w2=0.2,权重可以设置.
复用站点数>=8时,用目标函数1;当复用站点数<8,用目标函数2。参数8可根据情况修改。
在step8获得了新增加线路的优化设计结果后,还针对结果进行了线路指标的计算,具体包括阿叔周9-步骤12。
Step9计算线路长度:在获得了线路的链接组中,将所有链接的长度求和,即为线路的实际长度lR;
Step10计算非直线系数:公交线路首末站之间的实际线路长度与首末站之间的空间直线距离的比值ηR:
ηR=lR/dR
其中:
ηR分别代表线R的非直线系数
lR:线路R的长度
dR:线路R的起点,终点之间的空间直线距离
Step11计算复线条数:将线路所经过站点所在路段ID上的复线条数取出,求和,除以所有路段个数,即为本线路的复线条数;
Step12计算运行时间
对于公交干线,运行时间即为所有链接的运行时间之和;对于公交次干线和公交支线,运行时间为所有链接的修正后运行时间之和。
值得一提的是,以上的新增线路的优化设计运算过程是基于路径最短线路原则的优化设计算法,用于对道路公共交通规划设计尤其是在需要新增公交线路的场合提供科学的依据和支撑。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (5)
1.一种新增公交线路优化设计方法,其特征在于,包括下述步骤:
Step0接收起点、终点数据,复用站点数及线路类型数据,首先判断表MD_NEW_BUS_ROUTE_INPUT中的基础数据版本时间与表BASIC_ROAD_NET中基础数据版本时间是否相同,若不同,进行优化;若相同,判断起点、终点、线路类型、复用站点数是否有历史记录,若有,返回历史记录,若无,进行优化;
Step1基于距离最短线路的优化策略,判断线路类型:
当线路类型为公交干线(1)时,进入Step2;
当线路类型为公交次干线(2)时,进入Step5;
当线路类型为公交支路/不限(3)时,进入Step7;
Step2从基础路网BASIC_ROAD_NET,选取链接类型为01、02、07、08、09、00的链路组成公交线路优化路网,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step3;
Step3判断链接上节点的类型,当链接两侧的节点类型全部为2时,进入Step4;当有节点类型为1,即交叉口,则将该链接以交叉口为节点与其相连的链接合并,使合并后的链接两侧的链接类型为2;计算合并后链接的长度,进入Step4;
Step4判断每条链接的长度1500>=LINK_LENGTH>=800是否成立,若成立,则不做处理;若小于800,取该链接两头的车站的链接,并将该链接与得到的较短的链接合并,中间车站记为需要舍弃的车站;若大于1500米,将该链接放入需要新增站点的链接组;将链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step5从基础路网BASIC_ROAD_NET,选取链接类型为02、03、10、11、00的链路组成公交线路优化路网,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step6;
Step6判断每条链接的长度500<=LINK_LENGTH<=800是否成立,若成立,则不做处理;若小于500米,取该链接两头的车站的链接,并将该链接与得到的较短的链接合并,中间车站记为需要舍弃的车站;若大于800米,则将该链接放入需要新增站点的链接组;最后将处理过后的链接按照路线优化算法的顺序输出到结果表,以“,”分割;
Step7在基础路网BASIC_ROAD_NET,以链接长度为边的权重,根据复用站点数,选择目标函数,调用路线优化算法,进入Step8;
Step8判断每条链接的长度LINK_LENGTH<500是否成立,若成立,则不做处理;若不成立,则将该链接放入需要新增站点的链接组;并将处理后的链接按照路线优化算法的顺序输出到结果表,以“,”分割。
2.根据权利要求1的新增公交线路优化设计方法,其特征在于,该方法更加包括:
Step9计算线路长度:在获得了线路的链接组中,将所有链接的长度求和,即为线路的实际长度lR;
Step10计算非直线系数:公交线路首末站之间的实际线路长度与首末站之间的空间直线距离的比值ηR:
ηR=lR/dR
其中:
ηR分别代表线R的非直线系数
lR:线路R的长度
dR:线路R的起点,终点之间的空间直线距离
Step11计算复线条数:将线路所经过站点所在路段ID上的复线条数取出,求和,除以所有路段个数,即为本线路的复线条数;
Step12计算运行时间
对于公交干线,运行时间即为所有链接的运行时间之和;对于公交次干线和公交支线,运行时间为所有链接的修正后运行时间之和。
3.根据权利要求1的新增公交线路优化设计方法,其特征在于,所述路线优化算法为基于Dijkstra算法的优化方法,具体包括:
Step1.1初始时令S={V0},T=V-S={其余顶点},Q={弃点},d为T中顶点对应的距离值,V是所有顶点的有穷非空集合,顶点之间关系的有穷集合边集定义为E,顶点为每个公交站点,站点之间的连接路段即为链接,成为边;
若存在<V0,Vj>,d(V0,Vj)为<V0,Vj>弧上的权值
若不存在<V0,Vj>,d(V0,Vj)为∞
Step1.2从T中选取一个与S中顶点有关联边且目标函数值最小的顶点W,首先判断W是否为终点,若是终点,结束;
若不是终点,继续判断W是否满足方向角机制,若满足,加入到S中,转Step1.3;若不满足方向角机制,放入Q,转Step1.2;
Step1.3从T中选取一个与S中顶点有关联且目标函数值最小的定的W,加入S中,转Step1.4;
Step1.4对其余T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的距离值缩短,则修改此距离值;
重复上述步骤1.2、1.3,直到找到终点或S中包含所有顶点,即W=Vi为止。
4.根据权利要求3的新增公交线路优化设计方法,其特征在于,所述方向角机制的判断如下:
首先,在获得起点与终点之间的距离d0,起点与中间点的距离d1,终点与中间点的距离d2之后,计算方向角A,方向角A=arcos[0.5*(d0^2+d1^2-d2^2)/(d0*d1)],当方向角A<=90°时,该点进入Dijstra算法计算,否则,该点不计入计算。
5.根据权利要求3的新增公交线路优化设计方法,其特征在于,所述方向角机制判断的顶点之间的距离计算,即起点与终点之间的距离d0,起点与中间点的距离d1,终点与中间点的距离d2根据链接构建得到,链接构建具体包括:
Step2.1判断分析区域内的交叉口ID是否全部标记为已分析,选取其中一个未分析的交叉口IDp开始,将交叉口IDp标记为已分析,进入Step2.2;
Step2.2从路段MD_SEGMENT表中,查找出所有跟该交叉口IDp相连的路段ID,将路段宽度小于7米的剔除,方法为:以该交叉口ID为上下游路口的路段;按照路段与交叉口关系、以及右侧行驶的交规,将路段进行组队,进入Step2.3;
Step2.3从BUS_STATION表中捞出上述路段上的车站编码将这些车站作为节点,类型记为2,若路段上没有车站,则将路段下游交叉口作为节点,类型记为1;
Step2.4若该交叉口的每一个路段都有车站,按照路段的组队关系,赋予车站之间链接关系,进入Step2.5;若路段上没有车站,则按照路段的组队关系,赋予车站与交叉口之间链接关系,进入Step2.5;
Step2.5对链接进行编码,两个车站间的链路唯一;对链接进行类型定义,方法为:若链接间的路段所处的道路类型相同,则将道路类型赋值给链接类型,若链接间的路段所处的道路类型不相同,则将相应的类型值赋给链接类型;进入Step2.6;
Step2.6计算车站与交叉口IDp之间的距离,将车站与交叉口IDp之间的距离求和即为链接的长度;进入Step2.7;
Step2.7若链接两头的车站ID互相为上下游站点,保存一条数据即可,保证每两个车站间链接唯一;转Step2.1,直到所有交叉口全部分析完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710533325.XA CN107633319A (zh) | 2017-07-03 | 2017-07-03 | 一种新增公交线路优化设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710533325.XA CN107633319A (zh) | 2017-07-03 | 2017-07-03 | 一种新增公交线路优化设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107633319A true CN107633319A (zh) | 2018-01-26 |
Family
ID=61099276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710533325.XA Pending CN107633319A (zh) | 2017-07-03 | 2017-07-03 | 一种新增公交线路优化设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107633319A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493601A (zh) * | 2018-11-21 | 2019-03-19 | 青岛大学 | 一种公交支线设置方法 |
CN110782178A (zh) * | 2019-11-01 | 2020-02-11 | 北京航空航天大学 | 一种交通网络规划辅助决策方法及装置 |
CN110843862A (zh) * | 2019-10-09 | 2020-02-28 | 南京铁道职业技术学院 | 一种错办接发列车进路预警方法 |
CN111063191A (zh) * | 2019-12-12 | 2020-04-24 | 北京航空航天大学 | 用于公交线网设计的发车频率与线网结构联合优化方法 |
CN111967644A (zh) * | 2020-07-14 | 2020-11-20 | 西安工程大学 | 一种危化品运输道路规划方法 |
CN113627669A (zh) * | 2021-08-10 | 2021-11-09 | 中国联合网络通信集团有限公司 | 交通路线优化处理方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944096A (zh) * | 2009-07-08 | 2011-01-12 | 广东融讯信息科技有限公司 | 用于提供公交线路的方法和系统 |
CN103679286A (zh) * | 2013-11-29 | 2014-03-26 | 华为技术有限公司 | 路径优化方法及装置 |
WO2014084345A1 (ja) * | 2012-11-29 | 2014-06-05 | イーグルバス株式会社 | 情報処理装置及びプログラム |
CN103942948A (zh) * | 2014-04-10 | 2014-07-23 | 中南大学 | 基于分段拼接的城市公交线路网络的生成方法 |
CN104200127A (zh) * | 2014-09-25 | 2014-12-10 | 武汉大学 | 基于道路转角权重的最优路径分析方法 |
CN105225473A (zh) * | 2015-11-05 | 2016-01-06 | 北京航空航天大学 | 一种基于站点效率计算的公交快线设计方法 |
US20170059331A1 (en) * | 2015-08-31 | 2017-03-02 | Sap Se | Route planner for transportation systems |
-
2017
- 2017-07-03 CN CN201710533325.XA patent/CN107633319A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944096A (zh) * | 2009-07-08 | 2011-01-12 | 广东融讯信息科技有限公司 | 用于提供公交线路的方法和系统 |
WO2014084345A1 (ja) * | 2012-11-29 | 2014-06-05 | イーグルバス株式会社 | 情報処理装置及びプログラム |
CN103679286A (zh) * | 2013-11-29 | 2014-03-26 | 华为技术有限公司 | 路径优化方法及装置 |
CN103942948A (zh) * | 2014-04-10 | 2014-07-23 | 中南大学 | 基于分段拼接的城市公交线路网络的生成方法 |
CN104200127A (zh) * | 2014-09-25 | 2014-12-10 | 武汉大学 | 基于道路转角权重的最优路径分析方法 |
US20170059331A1 (en) * | 2015-08-31 | 2017-03-02 | Sap Se | Route planner for transportation systems |
CN105225473A (zh) * | 2015-11-05 | 2016-01-06 | 北京航空航天大学 | 一种基于站点效率计算的公交快线设计方法 |
Non-Patent Citations (2)
Title |
---|
康文雄 等: "节点约束型最短路径的分层Dijkstra 算法", 《华南理工大学学报(自然科学版)》 * |
田庆飞 等: "基于边介数的大城市公交网络优化模型", 《哈尔滨工业大学学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493601A (zh) * | 2018-11-21 | 2019-03-19 | 青岛大学 | 一种公交支线设置方法 |
CN110843862A (zh) * | 2019-10-09 | 2020-02-28 | 南京铁道职业技术学院 | 一种错办接发列车进路预警方法 |
CN110843862B (zh) * | 2019-10-09 | 2021-09-14 | 南京铁道职业技术学院 | 一种错办接发列车进路预警方法 |
CN110782178A (zh) * | 2019-11-01 | 2020-02-11 | 北京航空航天大学 | 一种交通网络规划辅助决策方法及装置 |
CN110782178B (zh) * | 2019-11-01 | 2020-11-06 | 北京航空航天大学 | 一种交通网络规划辅助决策方法及装置 |
CN111063191A (zh) * | 2019-12-12 | 2020-04-24 | 北京航空航天大学 | 用于公交线网设计的发车频率与线网结构联合优化方法 |
CN111967644A (zh) * | 2020-07-14 | 2020-11-20 | 西安工程大学 | 一种危化品运输道路规划方法 |
CN113627669A (zh) * | 2021-08-10 | 2021-11-09 | 中国联合网络通信集团有限公司 | 交通路线优化处理方法、装置及设备 |
CN113627669B (zh) * | 2021-08-10 | 2024-02-20 | 中国联合网络通信集团有限公司 | 交通路线优化处理方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107633319A (zh) | 一种新增公交线路优化设计方法 | |
CN107633318A (zh) | 一种基于时间最短线路的新增公交线路优化设计方法 | |
CN101694749B (zh) | 一种路径推测方法及装置 | |
CN107944605B (zh) | 一种基于数据预测的动态交通路径规划方法 | |
Florian et al. | A combined trip distribution modal split and trip assignment model | |
CN100463009C (zh) | 一种交通信息融合处理方法和系统 | |
CN102081658B (zh) | 基于分层路网的路径搜索方法和装置 | |
CN101957208B (zh) | 一种基于浮动车技术的新增道路发现方法 | |
KR101092690B1 (ko) | 연료 최소화 경로 및 비용 산출 방법 | |
EP2491345A1 (en) | Incremental map generation, refinement and extension with gps traces | |
CN103471603A (zh) | 一种公交线路与道路网络的匹配方法和装置 | |
CN107092986B (zh) | 基于站点及共线运行的公交乘客出行路径选择方法 | |
CN102436466A (zh) | 基于gis分类的公交换乘查询方法 | |
CN104731963A (zh) | 一种基于车联网的网格化路径推荐方法及系统 | |
CN105787586A (zh) | 一种最大化时空可达性的公交线路站点优化布设方法 | |
CN108647475B (zh) | 基于负载均衡的城市离散交通网络设计r语言实现方法 | |
CN108108855A (zh) | 一种输送线路径规划方法 | |
CN103309932A (zh) | 路径搜索方法和路径搜索设备 | |
CN104575085A (zh) | 一种基于浮动车的公交车到站动态诱导方法及装置 | |
De Nunzio et al. | Bi-objective eco-routing in large urban road networks | |
CN101807348B (zh) | 一种动态网络导航系统及方法 | |
CN111898793A (zh) | 一种组合出行方式下考虑用户感知差异性的路径选择方法 | |
CN117553818A (zh) | 一种基于改进a*算法的路径规划方法及系统 | |
Kušić et al. | Building a motorway digital twin in SUMO: Real-time simulation of continuous data stream from traffic counters | |
CN104574966B (zh) | 可变信息标识装置及可变信息标识方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 210012 room 627, Ning Shuang Road, Yuhuatai District, Nanjing, Jiangsu, 627 Applicant after: Ho whale cloud computing Polytron Technologies Inc Address before: 210012 No. 68 Bauhinia Road, Yuhuatai District, Jiangsu, Nanjing Applicant before: ZTEsoft Technology Co., Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180126 |