乘公交看奥运优秀论文

上传人:无*** 文档编号:84701782 上传时间:2022-05-04 格式:DOC 页数:19 大小:329KB
返回 下载 相关 举报
乘公交看奥运优秀论文_第1页
第1页 / 共19页
乘公交看奥运优秀论文_第2页
第2页 / 共19页
乘公交看奥运优秀论文_第3页
第3页 / 共19页
点击查看更多>>
资源描述
2 0 12 高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的 资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参 考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。我们参赛选择的题号是(从 A/B/C/D中选择一项填写): 2007B我们的参赛报名号为(如果赛区设置报名号的话) :所属学校(请填写完整的全名):参赛队员(打印并签名):1.2. 3. 指导教师或指导教师组负责人(打印并签名): 日期:年月 日赛区评阅编号(由赛区组委会评阅前进行编号):2012高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人nnnnnnnnn评分备注一全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号):乘公交,看奥运摘要这些年来,城市的公交系统有了很大发展,北京市的公交线路已达800 条以上,使得公众的出行更加通畅、便利,但同时也面临多条线路的选择问题。本文针对公交线路 的的选择问题,采用多目标规划求解,根据题意,我们用三个目标进行规划,这三个目 标分别是路径、花费和换乘次数。用 Dijkstra、邻接矩阵等多种算法和理论建立模型, 并提出了满足题中 6 对公交站点的最佳路径算法, 针对实际问题给出了合理的选择方案。对于问题一,我们从附录数据中,建立邻接矩阵,通过 matlab 搜索经过任意一对 起点到终点的线路 , 再从三个目标入手分别来优化求解:目标一:最小路径将附录2中的数据载入matlab,并用自定义的算法确立站点间的邻接矩阵,再用 Dijkstra 算法求解,最终得到 6 对站点的最小路径。目标二:最小花费分析附录2中的数据,将所有路线信息、收费信息导入 matlab,建立矩阵,搜索任 意两站点的路线。为缩小数据的维数,我们从 6 对站点,建立可达矩阵,再对应收费信 息,算出每个线路花费的钱数,最后搜索这些可行解的最小花费输出,作为最终最小花 费方案。目标三:最小换乘次数全面分析附录数据,将公交线路的完全信息导入 matlab,建立所有路线与站点关系 的(0, 1)矩阵,根据换乘算法的原理和方法建立模型,确立条件约束,针对题中所给 的 6 对公交站点,我们采取深度广度优先搜索,确立通过这些点的线路和信息,再由线 路间的关系用换乘算法的方法来求解。对于问题二,我们现将地铁和公汽的换乘信息打包放入公汽路线,将每个地铁站点 带入到与其邻近的公汽站点,统一作为新的公交路线来对待,将新问题转化为旧问题来 考虑,并最终用换乘算法来求解,分别求出这三个目标的最优解,并对其进行分析。对于问题三,在已知所有站点之间的步行时间时,即可知对步行来说所有站点之间 都是邻接的,则设定步行最多站点数 n , 于是问题转化成为使用公交和步行两者综合最 优的问题,进而固定步行行驶范围,求解范围内所有点与终点通过公交到达的模型,降 介法求解多目标规划。关键词:多目标规划、 Dijkstra 算法、邻接矩阵、最优化求解、 MATLAB一、问题重述我国人民翘首企盼的第 29届奥运会明年 8 月将在北京举行,届时有大量观众到现 场观看奥运比赛, 其中大部分人将会乘坐公共交通工具 (简称公交, 包括公汽、地铁等) 出行。这些年来,城市的公交系统有了很大发展,北京市的公交线路已达 800 条以上, 使得公众的出行更加通畅、便利,但同时也面临多条线路的选择问题。针对市场需求, 某公司准备研制开发一个解决公交线路选择问题的自主查询计算机系统。为了设计这样一个系统,其核心是线路选择的模型与算法,应该从实际情况出发考 虑,满足查询者的各种不同需求。请你们解决如下问题:1、仅考虑公汽线路,给出任意两公汽站点之间线路选择问题的一般数学模型与算法。并根据附录数据,利用你们的模型与算法,求出以下6对起始站一终到站之间的最佳路线(要有清晰的评价说明) 。、S3359 S1828(2)、S1557 S0481 (3)、S0971 S0485(4) 、S0008 S0073(5)、S0148S0485 (6)、S0087S36762、同时考虑公汽与地铁线路,解决以上问题。3、假设又知道所有站点之间的步行时间,请你给出任意两站点之间线路选择问题 的数学模型。【附录 1】基本参数设定相邻公汽站平均行驶时间 (包括停站时间 ): 3 分钟;相邻地铁站平均行驶时间 ( 包括停站时间 ) : 2.5 分钟;公汽换乘公汽平均耗时: 5 分钟(其中步行时间 2 分钟) ;地铁换乘地铁平均耗时: 4 分钟(其中步行时间 2 分钟) ; 地换乘公汽平均耗时: 7 分钟(其中步行时间 4分钟) ; 公汽换乘地铁平均耗时: 6 分钟(其中步行时间 4 分钟) ; 公汽票价:分为单一票价与分段计价两种, 标记于线路后;其中分段计价的票价为: 020站:1元;2140站:2元;40站以上:3元;地铁票价: 3元(无论地铁线路间是否换乘) ; 注:以上参数均为简化问题而作的假设,未必与实际数据完全吻合。二、问题分析2.1 问题一已知相邻公汽站平均行驶时间 (包括停站时间 ): 3 分钟; 公汽换乘公汽平均耗时: 5分钟(其中步行时间 2分钟); 公汽票价:分为单一票价与分段计价两种,标记于线路后;其中分段估计票价为: 020 站: 1 元; 2140站: 2元; 40站以上: 3 元; 题目要求设计任意两公汽站点之间线路选择问题的数学模型与算法。对于附录中的 1.1 公汽线路信息 .txt 中的数据进行处理后,以文本文件形式导入 Matlab 中,找到了站点与站点之间的关系。 进一步发现表明无论试图产生邻接矩阵或边 权矩阵因数据太庞大而可行性极低,其运行时间长达 50分钟,故考虑按题目给的路线 来建立站点矩阵并对此矩阵进行处理后能够清晰有效地应用此矩阵。2.2 问题二已知相邻地铁站平均行驶时间 (包括停站时间 ):2.5 分钟;地铁换乘地铁平均耗时 地铁换乘公汽平均耗时 公汽换乘地铁平均耗时4 分钟(其中步行时间 2分钟);7 分钟(其中步行时间 4分钟);6 分钟(其中步行时间 4分钟);地铁票价: 3 元(无论地铁线路间是否换乘) ;其它的公汽时间信息与问题一相同题目要求同时考虑公汽与地铁线路, 设计任意两公汽站点之间线路选择问题的数学 模型与算法。在此,我们考虑了总时间和总费用两个函数,讨论方法与一题类似,只是 加入了地铁,分为乘坐地铁和完全不坐地铁两种。2.3 问题三 已知所有站点间的步行时间,其余信息与问题二相同,题目要求建立任意两站点间路线选择问题的数学模型问题三在问题二的基础上又增加了步行这种情况,在适当站点步行,可以节省交通 费用而且不会消耗过多时间, 比如某些乘客在一段分段计价线路上欲乘坐 21 或 41 个站 点,则可以选择在第 20 站或第 40 站下车,步行一站即到达目的地,这样做可以节省 1 元。三、基本假设1 、假设所有公交线路的开班、收班时间相同; 2、假设公车不会因为堵车等因素延长行驶时间; 3、假设各条线路不会有新的调整与变化;4、假设环线可以以任意站作为起点站和终点站,并且是双向的;5、假设除环线以外的线路,至V达终点站后,所有的人都必须下车;6、假设人们对换乘车次数尽量少的偏好程度总是大于对花费时间相对短和花费金钱相 对少的偏好程度;7、假设同一地铁站对应的任意两个公汽站之间可以通过地铁站换乘,且无需支付地铁 费;&假设文中所利用到得资料和数据都真实可靠。四、符号说明LAi :第i条包含初始站点的线路,i =1,2,Hl,m;LBj:第j条包含目标站点的线路,j =1,2,|,s ;LCk :第k条中间线路,k =1,2,|,w ;a,i : LA上的第丨个车站,I =1,2,Hl,m;bjr : LBj 上的第 r 个站点,r=1,2,|H,t ;Cku : LCk上的第u个站点,u,2, ,v ;x :乘客在第i段线路上乘坐的站数;y:乘客在一次地铁线路上乘坐的总站数;N :公汽换乘公汽的次数;z2 :地铁换乘地铁的次数;Z3 :地铁换乘公汽的次数;z4 :公汽换乘地铁的次数。五、模型的建立与求解5.1仅考虑公汽线路,给出任意两公汽站点之间线路选择问题的一般数学模型与算法。 设f为乘坐公交线路的费用函数:总时间函数:3T =3送 x 十 5乙( Z1 2 )(1)i =1总费用函数:3F 八 f (xj(2)i 4其中x表示乘客在公交线路L i上乘坐的站数;Z1表示公汽换乘公汽的次数。 目标:找出任意给定的两站点的乘车线路,使T和F相对最小。由于人们的对换乘车次数尽量少的偏好程度总是大于对花费时间和金钱相对少的 偏好程度,我们将优先考虑换乘车次数尽量少,然后再考虑花费时间相对短、花费金钱 相对少,对得出的所有结果中进行筛选。换乘次数的大概思路及步骤如下:将所有包含初始站点al0的线路LA1,LA2,丄Am建成一个集合S, 1汨。乞n,i =1,2j|l,m,所有包含目标站点bjr。的线路LB1, LB2l(,LBs建成一个集合G,仁r。乞t, j =1,2l,s。S丄几丄人2,川丄片?, GLB1 ,LB2,lll,LBs?,LAi =a1ai2 111 ain, i =1,2,HI ,m,LBj =bj1- bj2 bjt, j =1,2,Hl,s。1、直达的线路。当 SG =.时,存在 LA、LBj , 1 叮乞 m , 1 乞 j 空 s,使得 LA LBj,即 LA:、LBj 为同一线路。此线路既包含初始站点 a%又包含目标站点bjr0。若1。汀。,那么,此线路为所求直达线路。若lo ro,或者当SpG -一时,考虑换乘一次的线路。2、换乘一次的线路。当有 LA:和 LBj 相交时,存在 LA、LBj,1 口兰 m,1 j s,有 q LA 及 bj LBj, 1乞丨乞n,1乞r乞t。使得a:i二bjr,即a“、bjr为同一站点。若lo d n,1乞r : r,那么,从初始站点a%乘坐线路LA:,行驶至站点a“,即在 站点bjr,换乘线路LBj至目标站点bjr0。即若不满足l0 : l - n,1 _r :r0,或者,当无任何LA:和LBj相交时,考虑换乘两次的 线路。3、换乘两次的线路。记 LC1, LC2 J11, LC w, LC k = 5 r Ck2 j H ckv,有 IC k S ,LCkG, k=1,2|,w,且满足LCk与LA:、LBj都相交时,即线路LCk既不包含初始站点a:io又不包含目标站点bjr0,1 一 I。一 n,1 _ r _ t。但是存在 Cku LCk 及 a:i LA:,使得二 ai,存在礼 LCk及5 LBj,使得Cku2二5,即 、a:i 为同一站点,且 Cku2、bjr 为同一站点。1 _ k _ w , 1 空 m, 1 j s , 1 v, 1_u2_v,1_l_n,1_r_t。若lo vl兰n,1兰5 VU2 Ev,1Ercro,那么,从初始站点a%乘坐LA线路,行驶至 站点a:l,即在站点Ckq,换乘LCk线路至站点C S04815L312下行 S04815L254上行,S04815L447上行L447上行 S04815L516上行 S04815 L321下行 g S048151121121121121121121129评价说明:经Matlab运行程序,得出了 9条优化线路。乘坐这9条线路所花费的 时间和金钱都相同,且均需要换乘两次。不存在换乘一次的线路。乘客可以选择任意一条线路。(3) S097L S0485表5-3 S0971 S0485的乘车路线初始站途汽站路换乘站公汽线路途经站数T (换乘站一公经护川标站S0971 L013下行,S2184 L417下行,S048520 I21S0971 一丄013下行 t 22S0971L013下行.15S0971L119 上行.8S0971L119上行.8S0971L119上行8L417下行S099_417下行S048520S3405 _ L007上行 t3 1S1520 一丄008下行 t 17S152d-丄008下行t19L008下行 T20S1520S0971L119上行.8S0971L013 下行9S0971L094下行9S1520 - 丄008下行 t21L008下 行17L008下 行17t S1520t S1520128131S2515S2265S2654S172S3766t S2265t S2265L417下行S0485 22L469上行S0485 13L469上行S0485 11L469上行S048510L469上行S0485 9L469上行S0485 12L469上行_ S04851294949494949494评价说明:经Matlab运行程序,得出了 9条优化线路。其中,1条换乘一次,39 条换乘两次,39条线路比1条线路多换乘一次,所花的金钱相同,但是节省了 37分 钟时间。乘客根据自己的需要进行选择。(4)S0008 S0073表5-4 SOOOMS0073的乘车路线初始站公汽线路途经站数T换乘站公汽线路途经站数T(换1站一途经护川标站时 间( 分 )L463下行 -IS0008 上463下 行 t S208314S0008-丄355下行t |S22637S0008-丄1仝9下行t 险68317L057上行 S007312L354上行S0073 19L058下行 S00739838383S0008 - -159下行- |S040010 L159下行 S0008 上159下 行 t S255921S0008 - “98上行t S13831 L474上 行 S0073 16L464上 行f S00735L3415上行沁838382456L345上行S00731310S0008L198上行2S0008L198上 行.3S0008L463下行,1S0008L043下行1S1691S3766L002上行 T9 L002上行8 S138q_L002上行t-1 * * 10S1383_L002上行t10S2833S2833S2833S2833L345上行,S007313L345上行,S007313L345上行 S00731382828282L462上行S3676752334初始站公汽线路途经站数,T换乘站公汽线路途经站数T (换1站一途经护川标站逅一匹6 *上行T瓯S0148 旦8上行t 师036_ S04851106106106初始站一途汽站路,T换乘站公汽线路途经站数T(换乘站一途经护川标站L454 卜行 -|S0087上竺4 5 *-行匚 S349611 S0087_ 丄454上行 S1893 12 S0087_L454上行 S05415S008L454上行 |S0541L209下 行9L209下 行 S3676106571L_20上行|S02362 虫0上行|S23363L462上行S3676652评价说明:经Matlab运行程序,得出了 4条优化线路。其中,1、2条换乘一次, 所花费的金钱相同,但是1条比2条节省了 6分钟。3、4条换乘两次,所花的金钱相同, 且比1、2条多1元,但节省了时间。所以建议乘客选择1、3、4条。5.2 同时考虑公汽与地铁线路,解决问题一。设f,g分别为乘坐公交和地铁线路的费用函数: 总时间函数:34T =3、Xj 2.5y 5乙 4z2 7z3 6z4( 0 _ z - 2, 乙 _ 2)( 3)idi 4总费用函数:3F 八 f(xj g(y)(4)i J其中x表示乘客在公交线路L i上乘坐的站数;y表示乘客在一次地铁线路上乘坐的 总站数;乙,Z2, Z3, Z4分别表示公汽换乘公汽,地铁换乘地铁,地铁换乘公汽,公汽换乘 地铁的次数。目标:找出任意给定的两站点的乘车线路,使 T和F相对最小。由于假设同一地铁站对应的任意两个公汽站之间可以通过地铁站换乘且无需支付 地铁费,那么不妨把同一地铁站所对应的几个公汽站合并成一个站。地铁线路T1 二 D01D02|卜 D23,T2 二 D24 D25D39, D24。1、可以乘坐地铁的线路。(1)若初始站点和目标站点都在地铁线路 T1或者T2上,那么,只乘坐地铁T1或者 T2便可以直达。其中,若都在线路 T2上,就选择经过站数最少的方向。若初始站点和目标站点分别在地铁线路 T1和T2上,那么,需要进行一次地铁换乘 地铁才能到达。(2)若只有初始站点或只有目标站点在地铁线路上,则需要换乘公汽才能到达目标 站点。 初始站点 aio Tp,p =1,2,目标站点 bjro F 且 bjr-T2,bjro LBj。当有LBj和地铁相交时,即存在LBj,有bj Bj ,使得bj Ty , q = 1或2。仁i乞m, 1 - j - s。若1_r :r,那么,从初始站点ail0 (记为Da)乘坐地铁线路,行驶至站点bjr (记 为Db ),换乘公汽线路LBj至目标站点bjr0。仁a空39,仁b乞39。即% Da IltTp 川 b” Db HI LBj 川bj0(q = p)a% Da |Tp |Tq 川 b” Db 川 LBj | 耳厲(p) 其中,q = p时需要地铁换乘地铁。若不满足1 r &520L008下行.8_19S0971L119上行 S1520L008下行.820丄417下行t S0485 21L417下行,S048520S0992L007上行 j1S2515S2265S2654L417下行,S048522L469上行S0485 13L469上行S0485 11S1729_ 丄469上行 S048510S0971 L119 上行,S1520 L008下行.8 21L008下 行 5“t S2265 17L008下行加t S2265 17S0971L013 下行9S0971L094下行9t S152Ct S152C12813194949494S3766L469上行S0485 9L469上行,S0485 12L469上行,S048512949494评价说明:经Matlab运行程序,得出了 3条乘坐地铁的优化线路。但与乘坐公汽 对比,如果要坐地铁,不仅需要换乘多次,还会花费大量时间。建议乘客乘坐公汽。(4)SOOd S0073同(1)的结论。(5)S014IS0485可以乘坐地铁:线 路线路初始站途经站数换乘站线路途经站厂(|换乘站途经站数T目标站T1 t |S3045(D02)|-希 |(D21)L024T行 T1 S0148 上巴岂丄 t S3045( D02) 一-厶(D21)4 II 19 LAlT1 t |S3045(D02)|泞 |(D21)T1 t |S3045(D02)|抄 |(D21)叭L02:下行S0148L024下行4S0148 L024下行4L051上行S04855L104上行 S04855L395下行,S04855分)87.587.587.587.5L450下行S0485545只乘坐公汽:分)元)初始站途汽站路换乘站公汽线路途经站数T(换乘站 公经线P )目标站S0148L308上行.14S0148L308上行.14S0148L308上行.14S0036S0036S0036L156上行15 L156上 行T16L156上 行 T17Ti L417 下行S2210_L417-厶 S04853L417下行,S04852L417下行S04851S3332S3351106106106评价说明:经Matlab运行程序,得出了 4条乘坐地铁的优化线路。与乘坐公汽对 比,节省的时间较多。乘客根据自己的需要进行选择。(6) S0087S3676抽象出T1和T2的模型,如图1所示。由于S0087和S3676这两个站点都对应地铁 站,又由2.2地铁T2线换乘公汽信息.txt,故把S0087合并到地铁站点D27,把S3676 合并到地铁站点D36。又由图1所知,当乘客在S0087时,他有两种很快捷,方便的乘 车路线到达S3676,即卩D27 D28 、D29 D30 、D31 D32 D12 、D33 D34 D35 D36,D27t D12t D26t D25t D24t D39t D38t D37t D36。两条路线都只花3元钱,而第一条线路耗时25分钟,第二条只耗时20分钟。相比 于“问题一”中的第六个小题,在花费均相等的前提下,建议乘客选乘地铁,因为这在 很大程度上节约了时间,同时也免去了转车带来的麻烦。5.3 假设又知道所有站点之间的步行时间,给出任意两站点之间线路选择问题的数学 模型。设f,g分别为乘坐公交和地铁线路的费用函数:根据实际情况,在地铁线路上不考虑步行。我们可以在初始站点、目标站点或换乘 站点的附近考虑步行,即在任意公交线路Li, 1G乞3上最多下车一次。否则,若在某个Li,仁亡3上下车步行两次,则在Li上需要多购买车票一次,同时消耗的时间更多,此做法既违反常理,又不经济实惠。设在线路Li, i =1,2,3上步行的站数为m,0二n乞Xi,相邻公汽站步行时间为t,那 么总时间函数:33T =3二(xni) -1 二 ni 2.5y 5乙 4z2 7z3 6z4,(5)i=1i =1总费用函数:3F =无 f(x nJ +g(y),(6)i d目标:找出任意给定的两站点的乘车线路,使 T和F相对最小。六、模型的评价和改进6.1模型的优点此模型简单易懂,操作简单,涵盖了所有路线的选择情况。而且,此模型的设计完 全符合“乘公交,看奥运”的主题,解决了公交线路的选择问题,使公众的出行更加通 畅便利。6.2 模型的缺点 该模型在问题考虑上忽略了人流和车流拥挤的状况。6.3 模型的改进对于若干条从某一初始站点到目标站点的线路, 我们可以设计一种带记忆功能的系 统,即乘客选择某路径的次数越多,说明此路径是比较优的路径,为以后选择路径提供 必要的信息。系统使用的时间越长,为乘客提供的信息越全面,越准确,系统也越智能 化。这样就可以为乘客需求量最大的一条增加班次,以满足更多人的需要。在假设中提到,所有线路的开班、收班时间相同,但事实并非如此。那么可以在模 型的设计中加入线路运行的时间元素,使乘客查询时只显示正在运行的线路。七、参考文献1 慧光,独立光伏系统最佳倾角计算研究 J, 节能技术与市场 。2 姜启源,谢金星,叶俊,数学模型(第三版)M,北京:高等教育出版社,2003。3 薛毅,数学建模基础 M ,北京:北京工业大学出版社, 2005。4 马莉,MATLA数学实验与建模M,北京:清华大学出版社,2010。5 任升录,关于线性回归模型的显着性检验,数学数学,2012年第三期, 7-8,2012 。附录:问题一的程序代码(直达的线路) x1=input(please input starting station:); y1=input(please input the terminal :);i1,j1=find(a=x1);i2,j2=find(a=y1);m,n=size(i1);p,q=size(i2);r=0;for i=1:mfor j=1:pif i1(i,n)=i2(j,q)%找出出发站和终点站在一条线路上的nv=find(x1=a(i1(i,n),:);nu=find(y1=a(i2(j,q),:);if nvnur=r+1; t(r)=i1(i,n);endendendendif r=0 disp(t)elset=0endj1j2 %直达的输出说明 t 是线路 j1 是起点站在该线路的第几个站 j2 是终点站在该线路的第几个站 问题一的程序代码(换乘一次的线路)x1=input( 请输入起点站 :);y1=input( 请输入终点站 :);% 记录行和列W=input( 输入最多经过站点的个数 :);i1,j1=find(a=x1);i2,j2=find(a=y1);m,n=size(i1);p,q=size(i2);for i=1:mfor j=1:pro=0;if i1(i,n)=i2(j,q)mv=a(i1(i,n),:);mu=a(i2(j,q),:);mo,no=size(mv); po,qo=size(mu); for io=1:nofor jo=1:qoif mv(mo,io)=mu(po,jo)x1 所在列的位置y1 所在列的位置ad=find(a(i1(i,n),:)=x1); %x1 所在的位置 bd=find(a(i2(j,q),:)=y1); %y1 所在的位置 ao=find(mv(mo,io)=a(i1(i,n),:); %转站点在bo=find(mv(mo,io)=a(i2(j,q),:); %转站点在if adao&bobd&(ao-ad+bd-bo)Wro=ro+1; to(ro)=mv(mo,io);tka(ro)=ao-1; tji(ro)=bo-1;endendendendif ro=0disp( 中转站点 )disp(to)disp(中转站点在始发线上的位置 )disp(tka)disp(中转站点在抵达线上的位置 )disp(tji)vo(1)=i1(i,n);vo(2)=i2(j,q);disp(始发线和抵达线 )a(vo,1)disp(起点站位置 )ad-1disp(终点站位置 )bd-1endendendend问题一的程序代码(换乘两次的线路)x1=input( 请输入起点站 :);y1=input( 请输入终点站 :);W=input( 输入最多经过站点的个数 :);i1,j1=find(a=x1);i2,j2=find(a=y1); m,n=size(i1);p,q=size(i2); vp,vb=size(a);tto=0;% 寻找不包含起点和终点的线路for iu=1:vp vc=a(iu,:); rpp=find(x1=vc); rpq=isempty(rpp); tpp=find(y1=vc); tpq=isempty(tpp);if rpq=1&tpq=1tto=tto+1; uu(tto)=iu;endendfor ey=1:size(uu,2) eyy=a(uu(1,ey),:);for ex=1:m exx=a(i1(ex,n),:);for ez=1:pezz=a(i2(ez,q),:); mn=size(exx,2);iq=0;ih=0;% 寻找 exx 和 eyy 的相同元素,赋值到 tqfor i=1:mnfor ig=1:mnif exx(i)=eyy(ig) iq=iq+1; tq(iq)=exx(i);endendend% 寻找 eyy 和 ezz 的相同元素,赋值到 tnfor i=1:mnfor ig=1:mnif ezz(i)=eyy(ig) ih=ih+1; tn(ih)=ezz(i);endendendif iq=0&ih=0 %eyy与 exx , ezz 都有交点for di=1:iq wq=find(tq(di)=eyy); %exx 与 eyy 的相交元素在 eyy 中的位置 for dh=1:ihwh=find(tn(dh)=eyy); %ezz 与 eyy 的相交元素在 eyy 中的位置 if wqwhLe=find(x1=a(i1(ex,n),:)-1; Lf=find(eyy(wq)=a(i1(ex,n),:)-1;% 起点站和第一个转站点在第一条线路上的位置Lg=find(eyy(wq)=a(uu(1,ey),:)-1;Lh=find(eyy(wh)=a(uu(1,ey),:)-1;% 中转站点在第二线路上的位置 Lj=find(eyy(wh)=a(i2(ez,q),:)-1;Lk=find(y1=a(i2(ez,q),:)-1;% 第二个转站点和终点站在第三线路上的位置if LeLf&LgLh&LjLk&(Lf-Le+Lh-Lg+Lk-Lj)5000&mv(tp)5000&mv(tp)6000)ttt=ttt+1;mmm(ttt)=a(i1(p,1),1);breakendendend disp( 终点经过地铁的线路 ) disp(mmm)评价说明:经Matlab运行程序,得出了 10条优化线路。其中,15条换乘一次,所花费的时间相同,但是14条比5条节省了 1元钱。610条换乘两次,所花的金钱比14条多1元,只节省了 1分钟时间。所以建议乘客选择14条。(5)S0140 S0485表5-5 S014MS0485的乘车路线评价说明:经Matlab运行程序,得出了 3条优化线路。乘坐这3条线路所花费的 时间和金钱都相同,且均需要换乘两次。不存在换乘一次的线路。乘客可以选择任意一条线路。(6)S0087 S3676表5-6 S0087S3676的乘车路线
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!