: ?5 M2 a0 Y3 U0 v
# L3 c6 X0 y9 u, J
2007 B题国赛题目和分析
/ z9 }. M% @; j! B) H2 q+ J赛题: 我国人民翘首企盼的第29届奥运会明年8月将在北京举行,届时有大量观众到现场观看奥运比赛,其中大部分人将会乘坐公共交通工具(简称公交,包括公汽、地铁等)出行。这些年来,城市的公交系统有了很大发展,北京市的公交线路已达800条以上,使得公众的出行更加通畅、便利,但同时也面临多条线路的选择问题。针对市场需求,某公司准备研制开发一个解决公交线路选择问题的自主查询计算机系统。 为了设计这样一个系统,其核心是线路选择的模型与算法,应该从实际情况出发考虑,满足查询者的各种不同需求。请你们解决如下问题: 1、仅考虑公汽线路,给出任意两公汽站点之间线路选择问题的一般数学模型与算法。并根据附录数据,利用你们的模型与算法,求出以下6对起始站→终到站之间的最佳路线(要有清晰的评价说明)。 (1)、S3359→S1828 (2)、S1557→S0481 (3)、S0971→S0485 (4)、S0008→S0073 (5)、S0148→S0485 (6)、S0087→S3676 2、同时考虑公汽与地铁线路,解决以上问题。 3、假设又知道所有站点之间的步行时间,请你给出任意两站点之间线路选择问题的数学模型。【附录1】基本参数设定 相邻公汽站平均行驶时间(包括停站时间): 3分钟 相邻地铁站平均行驶时间(包括停站时间): 2.5分钟 公汽换乘公汽平均耗时: 5分钟(其中步行时间2分钟) 地铁换乘地铁平均耗时: 4分钟(其中步行时间2分钟) 地铁换乘公汽平均耗时: 7分钟(其中步行时间4分钟) 公汽换乘地铁平均耗时: 6分钟(其中步行时间4分钟) 公汽票价:分为单一票价与分段计价两种,标记于线路后;其中分段计价的票价为:0~20站:1元;21~40站:2元;40站以上:3元 地铁票价:3元(无论地铁线路间是否换乘) 注:以上参数均为简化问题而作的假设,未必与实际数据完全吻合。 【附录2】公交线路及相关信息 (见数据文件B2007data.rar) 2007 B题分析要点 命题思路 本题根据公交线路查询系统研制的实际需求简化改编而成。问题容易理解,相关参考文献也较多,但涉及到公汽与地铁线路的联系,以及换乘时间等细节的处理,加上需要处理的数据量较大,问题并不十分简单。这是一个多目标优化问题,换乘次数最少、费用最省、时间最短显然是乘客在选择乘车线路时最关心的几个目标,从该问题的实际背景来看,采取加权合成将问题转化为单目标优化问题的解题思路不太合适。比较适当的方法是对每个目标寻求最佳线路,然后让乘客按照自己的需求进行选择。本题1、2问要求在不知道站点地理信息的条件下给出解决线路选择问题的模型与算法,并就题目给定的数据计算得到线路选择结果,此二问主要考核建模及编程能力。第3问加上了步行因素,建模难度更大一些。 问题1 不考虑地铁线路时的公交线路选择 可能主要有以下几种解法。 1、 图论模型,这可能是最常使用的方法,首先要考虑如何根据不同目标建立有向赋权图(如利用不同的矩阵表示),然后再求给定点对之间的最小换乘次数或最短路。求两点间最短路有Dijkstra算法与Floyd算法等,但并不能将这两种算法直接套用于本问题,还需要处理好换乘和换乘时间问题,阅卷时需要重点关注。 2、 规划模型,包括0-1规划方法与动态规划方法等。 3、数据库模型,利用数据库技术直接对线路及站点数据进行搜索。 [注](1)本问的关键点是换乘时间的处理及最短时间线路的选择。 (2)若算法运算时间比较长,可事先计算出所有最佳线路,将结果存入数据库备查。因此算法的运算时间问题不是本题的考察重点。 (3) 对于原始数据中出现的一些异常数据,同学可根据自己的理解作出假设和处理。如: l 对于个别线路相邻站点名相同,可以采取去掉其中1个点或不作处理等方式,一般不会影响实例计算中线路选择的结果。 l 对于L406未标明是环行线的问题,无论学生是否将其当作环线处理,一般不会影响到实例的计算结果。 l 对于L290标明是环线,但首尾站点分别为1477与1479的问题,可将所有线路中1477与1479统一为1477后计算。同学也可以按照各自认为合理的方式处理,包括不当作环线,实例计算用到的是该线路中部的几个站点,一般不会影响实例计算结果。 问题2 考虑地铁线路时的公交线路选择 本问可以有多种处理方法,关键是看合理性与可操作性。换乘时间的处理较第一问要复杂,需重点关注。 问题3 已知站点间步行时间条件下的公交线路选择 这是比较一般的线路选择问题,更接近实际。由于增加了步行因素,每个站点的可换乘方案大大增加了,于是用图论方法处理的难度也会有很大增加。最常用的目标有:换车次数最少,乘车的总站数最少,步行的总时间最少,总车费最少等等,应该针对不同的情况分别写出模型。
% r9 V4 X4 c" S9 N
! }( M2 A; d' e* T |