- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
公交查询系统核心算法的讨论
摘要
问题一,我们采用C++?编程S3359→S1828在S3359站乘436路(下行)在S1784转167路车(下行)到终点S1828
S1557→S0481行车线路:在S1557站乘0084路(下行)在S1919转189路车(下行)在S3186转460路下行车到终点S0481
S0971→S0485行车线路:在S0971乘013路(下行)在S2184转417路车(下行)到终点S0485
S0008→S0073行车线路:在S0008乘坐355路(下行)在S2303转345路车(上行)到达终点S0073
S0148--S0485行车线路:在S0148乘坐308路在S0036转156路车在S2210转417路车到达终点S0485
S0087→S3676行车线路:在S0087乘坐454路(上行)在S3496转209路车(下行) 到达终点S3676
问题二,考虑到地铁站时,我们采取一种方式:例如T1号线,我们把这条地铁线经过的所有的公汽站点依次罗列,这样就构成了一条较长的公汽行车线路,当然,原来在同一个地铁站的公汽站点被处理成了相邻的公汽站点,我们可以对程序输出这样的可行路线进行观察,进一步处理,将那条较长的公汽线路再转换成地铁路线,这样,就可以求出实际的行车路线。
其中,在问题二中,考虑地铁站之后,新线路的耗时可能会减少,例如S0008→S0073 行车线路:150路(下行)转(3874——D30)T2路车再转(D25——0525)S3359→S1828 (2)、S1557→S0481 (3)、S0971→S0485
(4)、S0008→S0073 (5)、S0148→S0485 (6)、S0087→S3676
2、同时考虑公汽与地铁线路,解决以上问题。
3、假设又知道所有站点之间的步行时间,请你给出任意两站点之间线路选择问题的数学模型。
2 问题分析
2.1 问题分析时应该考虑的各种因素
公交查询系统的应该根据乘客的要求来设计。对于大多数乘客来说,选择路线时最先考虑的是转乘的次数要少,其次是所选的路线的行车耗时,再者是路线的费用;但是也不排除有的乘客的考虑因素的侧重点不同。
2.2 转乘次数、行车耗时、费用之间的关系
一般来说,转乘的次数决定了行车耗时和费用。但是在有地铁的情况下,增加一次或者两次转车,可能会缩短行车耗时,但这毫无疑问增加了费用。所以,转乘次数、行车耗时、费用对选择路线的重要性依次递减,但当路线中出现地铁的时候(即问题二所考虑的情况)应该考虑运行的费用。
2.3原始数据处理
一般的公路查询系统的数据的格式都采用数的形式存储,里面包括线号以及站号等信息,本文的数据处理非常简单,只是把把数据以数组的形式存起来,每条线路(L001—L520)包括上行线及下行线,共1040行,每行中储存的是路线上依照行驶到达顺序的站点号码,这样可以根据行号确定改改行站点号是那一条公交线路,实上行的还是下行的。当处理地铁时,把两条地铁线加在公交路线的后面,代号由D1,D2改为L521,L522,在数组中添加四行来增加两条地铁的上下行路线。
2.3对于算法的选择
一点需要说明的是求最短路径一般使用Dijkstra算法,该算法可求出任一源点到其它所有网络结点的最短路径。但是,我们的目的是求得任意一个点到另外任意一个点的最优路径,用这一经典算法算出的结果太繁杂,太浪费时间;所以,我们将起点和终点两头考虑,利用广度优先算法,这样行车线路查找范围就大大缩小了,当然,对于这种算法,站点和行车线路之间要灵活考虑,力求算法最简、最优。
3 模型建立及求解
3.1 问题一
3.3.1模型假设:
1、考虑到实用性,3次以上的换乘不会被查询者接受;
2、假设该地区的公交运行状况良好,很少出现堵车现象;
3、假设当两个转乘站之间的距离小于等于两站时,可以选择步行;
3.3.2参数说明:
A —— 起始站点;
B —— 终点站;
Ti —— 转乘站点;
3.1.2 模型建立与算法分析
在题目所给的520条公汽线和2条地铁线中,考虑一对的车站间的最优路径,从不同的衡量角度有不同的结果,若从换乘次数考虑,则首先,最容易想到的是直达,如(图1)
图1
我们用C++编程来解决查找行车路线问题,然后再根据不同的衡量标准来确定最优解,下面再介绍另一种情况:换乘1次,如(图2),T1,T2为中转站:
图2
对于以上两种情况,我们编写了程序qq1.cpp。对题目要求的6对车站进行了求解,求得了所有经过直达或转乘1次的行车路线,并依据不同的衡量角度对结果进行了求取最优路径。
下面介绍一下程序qq1.cpp算法:
首先导入题目所给数据,一共520路行车路线,每条路线包括上下行,构成共1040条单向路线,在程序中,我们
您可能关注的文档
- 清华电子系山秀明《信号与系统》电子课件第二章习题解答.pdf
- 清华电子系山秀明《信号与系统》电子课件第九章习题解答.pdf
- 清华电子系山秀明《信号与系统》电子课件第六章习题解答.pdf
- 清华电子系山秀明《信号与系统》电子课件第七章习题解答.pdf
- 清华电子系山秀明《信号与系统》电子课件第三章习题解答.pdf
- 清华电子系山秀明《信号与系统》电子课件第四章习题解答.pdf
- 清华电子系山秀明《信号与系统》电子课件第五章习题解答.pdf
- 清华电子系山秀明《信号与系统》电子课件第一章习题解答.pdf
- 入围清华电子,无偿和大家分享经验.doc
- 信号与系统2003期中考试题.pdf
- 高教杯数学建模竞赛获奖论文——c05B1lzx-李蓬蓬、朱小满、解炜,指导教师组【数学建模】.pdf
- 高教杯数学建模竞赛——公交线路的自主查询系统【数学建模】.doc
- 高教杯数学建模竞赛获奖论文——c05b1syw-孙凯姚相振王棹黄淑祥【数学建模】.pdf
- 高教杯数学建模竞赛获奖论文——DNA分类模型【数学建模】.pdf
- 高教杯数学建模竞赛获奖论文——DNA序列的分类【数学建模】.pdf
- 高教杯数学建模竞赛获奖论文——DNA序列的分类模型【数学建模】.pdf
- 高教杯数学建模竞赛获奖论文——DNA序列分类的数学模型【数学建模】.pdf
- 高教杯数学建模竞赛获奖论文——DNA序列中的结构与简化模型【数学建模】.pdf
- 高教杯数学建模竞赛获奖论文——关于DNA序列分类问题的模型【数学建模】.pdf
- 高教杯数学建模竞赛获奖论文——国家竞赛2007年A题优秀论文[华中科大 文峰_郭宪_刘飞]【数学建模】.pdf
文档评论(0)