1乘公交看奥运摘要本设计要解决的是合理给出两站点间的最佳路线选择问题,即给出一条经济且省时的路线。在处理此问题之前,我们根据调查和分析,对影响线路选择的因素进行筛选,最终确定了以下三个影响较大的因素:第一是换乘次数;第二是乘车时间;第三是乘车费用。依据各因素对路线选择的影响程度,我们按不同的权重对它们进行考虑。从实际情况分析,人们通常宁愿多乘坐几站地也不愿换车,所以我们赋予换乘次数较大的权重。为了解决换乘次数最少,乘车时间相对较短、乘车费用相对较少的问题,经过尝试与探索,我们采用了现代分析的方法,对起始站和终点站有无相交站点进行分类讨论,归纳出直达,换乘一次,换乘两次的情况(三次以上的情形可以类推),并通过Matlab编制程序,给出了任意两站点间的最佳乘车路线以及换车的地点,最后还提出了进一步的意见和建议。关键词:最佳路线换乘次数乘车时间乘车费用2一、问题的重述第29届奥运会明年8月将在北京举行,作为城市枢纽的公共交通承担着非常重的运输任务。近年来,北京市的公交系统有很大的发展,公交线路的条数和公交车数量在迅速增多,给人民生活带来便利的同时,也面临多条线路得选择问题,有时出行往往还需要转乘多辆公交车才能到达目的地。如何在短时间、换乘次数最少、成本最低的情况到达目的地,是人们所关注的问题。因此,我们通过建立线路选择的模型与算法,设计一套自主查询计算机系统,查询到出行时所需的最佳公交路线及换乘方法,给人们出行节约更多的时间和金钱。要求:1、仅考虑公汽线路,建立任意两公汽站点之间线路选择问题的数学模型与算法。并求出以下6对起始站→终到站之间的最佳路线。(1)S3359→S1828(2)S1557→S0481(3)S0971→S0485(4)S0008→S0073(5)S0148→S0485(6)S0087→S36762、同时考虑公汽与地铁线路,解决1中问题。3、如果所有站点间的步行时间已知,建立任意两站点间路线选择问题的数学模型。二、模型的假设1、所有公交线路的开班、收班时间相同。2、公车不会因为堵车等因素延长行驶时间。3、各条线路不会有新的调整与变化。4、环线可以以任意站作为起点站和终点站,并且是双向的。5、除环线以外的线路,到达终点站后,所有的人都必须下车。6、人们对换乘车次数尽量少的偏好程度总是大于对花费时间相对短和花费金钱相对少的偏好程度。7、同一地铁站对应的任意两个公汽站之间可以通过地铁站换乘,且无需支付地铁费。三、符号的说明符号表示意义iLA第i条包含初始站点的线路,1,2,,im3符号表示意义jLB第j条包含目标站点的线路,1,2,,jskLC第k条中间线路,1,2,,kwilaiLA上的第l个站点,1,2,,lmjrbjLB上的第r个站点,1,2,,rtkuckLC上的第u个站点,1,2,,uvix乘客在第i段线路上乘坐的站数y乘客在一次地铁线路上乘坐的总站数1z公汽换乘公汽的次数2z地铁换乘地铁的次数3z地铁换乘公汽的次数4z公汽换乘地铁的次数四、问题的分析、模型的建立及求解4.1问题一4.1.1问题一的分析已知相邻公汽站平均行驶时间(包括停站时间):3分钟;公汽换乘公汽平均耗时:5分钟(其中步行时间2分钟)。公汽票价:分为单一票价与分段计价两种,标记于线路后;其中分段估计票价为:0~20站:1元;21~40站:2元;40站以上:3元。题目要求设计任意两公汽站点之间线路选择问题的数学模型与算法。对于附录中的1.1公汽线路信息.txt中的数据进行处理后,以文本文件形式导入Matlab中,找到了站点与站点之间的关系。进一步发现表明无论试图产生邻接矩阵或边权矩阵因数据太庞大而可行性极低,其运行时间长达50分钟,故考虑按题目给的路线来建立站点矩阵并对此矩阵进行处理后能够清晰有效地应用此矩阵。44.1.2模型的建立及求解模型一设f为乘坐公交线路的费用函数:0,0;1,020;()2,2040;3,40iiiiixxfxxx,总时间函数:31135iiTxz1(02)z(1)总费用函数:31()iiFfx(2)其中ix表示乘客在公交线路iL上乘坐的站数;1z表示公汽换乘公汽的次数。目标:找出任意给定的两站点的乘车线路,使T和F相对最小。算法思路:由于人们的对换乘车次数尽量少的偏好程度总是大于对花费时间和金钱相对少的偏好程度,我们将优先考虑换乘车次数尽量少,然后再考虑花费时间相对短、花费金钱相对少,对得出的所有结果中进行筛选。换乘次数的大概思路及步骤如下:将所有包含初始站点0ila的线路12,,,mLALALA建成一个集合S,01ln,1,2,,im,所有包含目标站点0jrb的线路12,,,sLBLBLB建成一个集合G,01rt,1,2,,js。12,,,mSLALALA,12,,,sGLBLBLB,12iiiinLAaaa,1,2,,im,12jjjjtLBbbb,1,2,,js。1、直达的线路。当SG时,存在iLA、jLB,1im,1js,使得ijLALB,即iLA、jLB为同一线路。此线路既包含初始站点0ila又包含目标站点0jrb。5若00lr,那么,此线路为所求直达线路。若00lr,或者当SG时,考虑换乘一次的线路。2、换乘一次的线路。当有iLA和jLB相交时,存在iLA、jLB,1im,1js,有iliaLA及jrjbLB,1ln,1rt。使得iljrab,即ila、jrb为同一站点。若0lln,01rr,那么,从初始站点0ila乘坐线路iLA,行驶至站点ila,即在站点jrb,换乘线路jLB至目标站点0jrb。即00ijrjjrililaabbLALB若不满足0lln,01rr,或者,当无任何iLA和jLB相交时,考虑换乘两次的线路。3、换乘两次的线路。记12,,,wLCLCLC,12kkkkvLCccc,1,2,,kw,有kLCS,kLCG,1,2,,kw,且满足kLC与iLA、jLB都相交时,即线路kLC既不包含初始站点0ila又不包含目标站点0jrb,01ln,01rt。但是存在1kukcLC及iliaLA,使得1kuilca,存在2kukcLC及jrjbLB,使得2kujrcb,即1kuc、ila为同一站点,且2kuc、jrb为同一站点。1kw,1im,1js,11uv,21uv,1ln,1rt。若0lln,121uuv,01rr,那么,从初始站点0ila乘坐iLA线路,行驶至站点ila,即在站点1kuc,换乘kLC线路至站点2kuc,即在站点jrb,换乘jLB线路至目标站点0jrb。即0012ijrjjrililkukkuaLAacLCcbLBb若不满足0lln,121uuv,01rr,或者,当不存在满足条件的kLC6时,说明需要换乘三次才能够到达目标站点。换乘三次的线路的模型建立原理是相同的。由于几乎没有这样的情况,故我们不作考虑。通过考虑花费的时间或金钱,在得出的多条结果中进行筛选。4.1.3问题一的结果由于公交线路的固定性、重叠性和可选择性,使得公交乘客出行线路选择行为具有相当的复杂性。由公交乘客的路径选择特性可知,乘客总是根据个人偏好选择出行路线(或希望出行时间最少,或希望换乘次数最少,或希望出行费用最低),可称之为最短路因素。同时,由于公交网络的复杂性,使得最短路判断出现差异,而个人选择行为带有一定的随机性,所以多路径选择较为符合乘客的行为特点。另外一个方面,当乘客要进行一次换乘时,他会考虑到时间或者费用等问题,但当乘客必须二次换乘时,时间是决定乘客选择路线的唯一因素,所以在这种情况下我们只考虑途经站点最少的二次转乘路线。基于以上考虑,我们对每道小题都给出了多种乘车路线,以供乘客根据自己的需要选择。(程序见附录8.1、附录8.2、附录8.3)(1)S3359→S1828线路(条)初始站错误!未找到引用源。错误!未找到引用源。公汽线路途经站数换乘站公汽线路途经站数(换乘站公汽线路途经站数)目标站时间(分)金钱(元)1S3359错误!未找到引用源。错误!未找到引用源。43631L下行S17842171L下行S182810132S3359错误!未找到引用源。错误!未找到引用源。43631L下行S17841671L下行S182810133S3359错误!未找到引用源。错误!未找到引用源。10512L上行S351501115L下行S17842171L下行S18289434S3359错误!未找到引用源。错误!未找到引用源。01511L上行S035901116L下行S17842171L下行S182894353359错误!未找到引用源。错误!未找到引用源。943701512L上行S351501115L下行S17841671L下行S1828评价说明:经Matlab运行程序,得出了5条优化线路。其中,1、2条换乘一次,3、4、5条换乘两次,3、4、5条线路比1、2条线路多换乘一次,所花的金钱相同,但是节省了7分钟时间。乘客根据自己的需要进行选择。(2)S1557→S0481线路(条)初始站错误!未找到引用源。错误!未找到引用源。公汽线路途经站数换乘站公汽线路途经站数(换乘站公汽线路途经站数)目标站时间(分)金钱(元)1S1错误!未找到引用源。557错误!未找到引用源。36312L下行S191941717L上行S24242545L上行S048111232S1错误!未找到引用源。557错误!未找到引用源。36312L下行S191941717L上行S24244475L上行S048111233S1错误!未找到引用源。557错误!未找到引用源。36312L下行S191941717L上行S24244605LS048111234S1错误!未找到引用源。557错误!未找到引用源。36312L下行S191941717L上行S24245165L上行S048111235S1错误!未找到引用源。557错误!未找到引用源。36312L下行S191941717L上行S24243125L下行S048111236S1错误!未找到引用源。557错误!未找到引用源。08412L下行S191941717L上行S24242545L上行S048111237S1错误!未找到引用源。557错误!未找到引用源。08412L下行S191941717L上行S24244475L上行S0481112388S1错误!未找到引用源。557错误!未找到引用源。08412L下行S191941717L上行S24245165L上行S048111239S1错误!未找到引用源。557错误!未找到引用源。08412L下行S191941717L上行S24243215L下行S04811123评价说明:经Matlab运行程序,得出了9条优化线路。乘坐这9条线路所花费的时间和金钱都相同,且均需要换乘两次。不存在换乘一次的线路。乘客可以选择任意一条线路。(3)S0971→S0485线路初始站错误!未找到引用源。错误!未找到引用源。公汽线路途经站数换乘站公汽线路途经站数(换乘站公汽线路途经站数)目标站时间(分)金