第一范文网 - 专业文章范例文档资料分享平台

公交查询系统的数学模型(2)

来源:用户分享 时间:2021-04-05 本文由几番春暮 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

公交查询系统,07年全国赛B题

第4期李响等:公交查询系统的数学模型 555 考虑人们乘车的一般心理,大多数是把转乘次数少做为首要因素。那么针对连通有向图,如果把站点视为“点”,公交线路视为“线”,从大数量的站点出发,势必造成运算量大,影响查询速度。因而本文的算法优化方向如下:

1)从线路人手,构造连通有向图,即把公交线路视为“点”,若两公交线路中有公共站点就相连。从中选取与换乘车次、价格、路径有关的最优乘车路线;

2)在保证相同转车次数的前提下求得乘车路径最短、费用最省。

2模型建立与求解

做适当的模型假设:

1)相邻公汽站平均行驶时间不变;

2)交通情况良好,无堵车及车辆损坏等意外情况发生;

3)设各种交通工具的换乘时间保持不变;

4)将换乘次数这一因素作为第一约束目标,其次考虑路程和费用等因素;

5)在一条线路上20站以内票价1元,21站至40站票价2元,超过40站票价3元;

6)根据实际情况,两次以内换乘比较合理,超过两次不予考虑。

为叙述问题方便,引入如下记号:

用厶表示第i条线路(i=1,2,3,…),口i表示第i条线路经过的第』个站点(若在单行线中表示按前进方向的第,个站点,若在循环线路中表示从左向右的第.『个站点),ci表示乘坐第i条线路经过的站点数,-表示乘坐第i条线路所花费用。

基于本问题所考虑站点数据量大的情况,作者将对站点的搜索转化为对线路的搜索。利用Dijkstra算法原理,将公交车的线路视为“节点”,既保留了Dijkstra算法适合拓扑网络的特点,同时也避免了节点过多带来的多次转车问题;另外,将上万个数据的处理优化为对500多个数据的处理,大大缩短了运算时间。

算法实现如下:

对任意两个站点菇与),,分别选出所有经过站点z及站点Y的线路,其中经过站点z的所有线路集合记

为幔,经过站点Y的所有线路集合记为M,.

2.1直达车算法

若M,nMr≠毋,则此时表示从戈到Y的直达车。对任意Li∈丝f'lMy,若

1.L;∈Mo(眠表示单行线的集合),此时石,Y在这条线路中的位置分别为口¨口"有以下两种情况:(1)当_『;>jy时,则说明此线路虽然直接连接了石与,,,但运行方向是反向,此条线路行不通;

(2)当L<^时,则计算Ci=.『,一五.

2.Lj∈M,(肘。表示环形线的集合),则存在如下两种情况:

(1)当』。>歹,时,则计算q=J,+JD一丘(其中P为L。线路上总的站点数);

(2)当丘<歹,时,则计算q=_『,一丘.

求出最少站点数C。=min{c。,c:,…},因为直达时站点数少与费用少的目标是一致的,因此£。便是最佳的乘车线路。再由假设5)可得所花费用为

rlcm≤20

20<c。≤40

c。>40r。={2【3

2.2一次转乘算法

若帆nMy=中,这时必须转车才可以到达终点,此时找出与幔中各个元素线路相交的线路的集合Q,.若Q。f3M,≠痧,则此时转一次车就可以了。

用c{,c;分别表示一次转乘和两次转乘的第i种线路要经过的总站点数;尺:,R;分别为一次转乘和两次转乘第i种线路所花总费用。.

对任意Li∈Q,n肘,,若鸠中的厶和厶有相同的站点,则可行线路为乙+厶.假设共有r种可行线路,对上述可行线路取厶和L。的第一个公共站点z,则此时相当于从戈到:有直达

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证公交查询系统的数学模型(2)全文阅读和word下载服务。

公交查询系统的数学模型(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1183174.html(转载请注明文章来源)

相关推荐:

热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top