![](https://csdnimg.cn/release/download_crawler_static/1253360/bg4.jpg)
4
把公交站点看作图中的点,一站到另一站可一站直达则视其行驶线路为一条有向
边。由搜索方式不同可构造两种算法:直接进行点的广度优先搜索,用修正的 Dijkstra
算法求出最优路线;利用线路搜索找到连接起始点和终止点的所有可行有向边和中间途
径站点,在可行线路中求出最优路线。
线路搜索(如图 1.2):搜索以起始点 A 到其后继结点的有向边所在的线路,与从终
止点 B 的前驱结点到 B 的有向边所在的线路相比较,若有相同则将该线路加入可行图;
继续以 A 的后继结点为起点,搜索与到 B 的有向边所在线路相同的线路;以 B 的前驱
结点为终点,寻找与从 A 生发出的线路(包括 A 的后继结点为起点的线路)相同的线
路;依次交替扩大 A、B 间线路的搜索范围,直至达到 N 次换乘的上限(连接 A、B 中
间的结点数为 N)。
图 1.2
N 次换乘上限:对乘客的出行心理分析[1]表明,绝大多数人不会为了时间或金钱
的最小化无限制换乘公交。我们在用线路搜索算法求解时指定换乘上限 2N = ,以符合
实际情况;而点搜索算法中没有规定,以作出比较。
目标函数的选择:由于题目要求针对不同需求求解,我们将乘客分为三类:时间宝
贵型、钱财节约型和腿脚不便型,分别对应出行时间、价钱和换乘次数最小化。通常时
间最短的路线可唯一确定,但价格相同和换乘次数相同的路线方法可能有很多,我们又
对后两种目标分别引进经过站点总数最少和时间最短的第二目标函数,以求得最优路
线。实际中乘客可能没有那么苛刻,可以根据自己的权重对以上目标进行归一加权来求
解。
模型假设
为简化求解过程,我们对模型提出假设如下:
1.
在线路搜索算法中认为换乘次数有上限 N;
2.
乘客需求仅考虑出行时间、价钱和换乘次数中一方面最小化;
3.
通过地铁站公汽换乘公交的时间与普通公汽间换乘时间一致,为 5 分钟。