数学建模论文公交系统快速查询的优化模型与算法.doc

数学建模论文公交系统快速查询的优化模型与算法.doc

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学建模论文-公交系统快速查询的优化模型与算法 1 设起始点为a,目标点为b,我们目的是在在a和b之间插入r个站点,使得a,,b构成一个可到达的线路。即: 2 目标函数我们考虑费用最小,时间最小和换乘次数最小三个目标。 设,表示线路是否需要通过换乘。当则线路不换乘;当则线路换乘。 则换乘次数最少的目标为 要求时间最小,则有: 其中为经过站点数,为坐车时间;表示换乘时间.二者之和为总时间. 设线路a,,b计算得到费用为Cost,计算方法根据一元制和分段计价制度的规则进行计算。 总费用最小的目标函数为: 最后得到的总模型为: 换乘次数最少 时间最少 费用最小 3 对该模型的求解,我们可以根据换乘次数最少得到最优结果,也可以根据时间最少得到最优结果,还也可以根据费用最少得到最优结果.把三种情况下的最好结果都可以提供给顾客考虑,由顾客根据自己的需要选择。当然有的结果会是两种或三种目标最小情况下的解,这样就更好。 但直接利用该模型比较难求解,因此我们考虑搜索的方法快速得到结果,以满足公交线路查询的实时性要求。 2.换乘次数分析 对城市公交系统,乘客通常选择直达,不能直接到达则考虑换乘,而换乘则尽量少换乘。因此对乘客来说,尽量少换乘是一个很重要的参考指标。因此我们首先对该城市的公交网络系统进行换乘次数的分析。 设城市公交系统共有个站点, 本问题中 ,条公交线路,考察任意两个站点和之间换乘车次数。定义邻接矩阵如下: 当后,说明该两站点不需要换乘就可以到达。 利用原来的条公交线路,计算每条线路上的站点,容易得到邻接矩阵,该矩阵是对称的,统计上三角中1的个数,则得到不需要换乘就可以到达的站点对。 计算,其中*运算与矩阵乘法相同,但其中数字的加法与乘法按布尔法则进行:即: 则仍然是0-1矩阵,其元素表示站点和通过一次换乘可以到达;表示站点和通过一次换乘不能到达。 依此类推, 仍然是0-1矩阵,其元素表示站点和通过次换乘可以到达;表示站点和通过次换乘不能到达。 在该计算过程中,我们还可以得到任意两个站点最少需要经过换乘的次数。方法如下: 若,而,则站点和需要经过次换乘才能到达。对问题在1中给出的6对站点,我们很容易得到最少换乘次数,结果为: 表1 6条站点换乘次数 线路 换乘次数 S3359→S1828 1 S1557→S0481 2 S0971→S0485 1 S0008→S0073 1 S0148→S0485 2 S0087→S3676 1 为对所有的站点对需要换乘次数我们进行完整分析,我们利用C语言编程,由于太大,利用动态分配内存的方式,实现了该矩阵的赋值与乘法。我们可以计算出经过1次,2次换乘等到达目的地的站点对。而总站点对,由此我们可以计算出经过1次,2次等换乘到达目的地的站点对的百分比,结果如下: 表2 换乘次次数的统计 换乘情况 直接到达 1次换乘到达 2次换乘到达 3次换乘到达 站点对 221751 3459821 7825033 7826946 占总站点对的百分比 2.83% 44.2% 99.98% 100% 该结果说明换乘1次到达目的地的占44.2%,换乘2次到达目的地的占99.98%,而通过3次换乘则一定到达目的地。由此,我们提出按换乘次数进行搜索的快速算法。 3.按换乘次数搜索的快速算法 3.1 算法思想: 设城市公交网络系统共有个站点,公交线路有条。通过分析数据,得到本问题站点数。对线路,本问题中共有520条公交线路,当把上下行看作不同的线路,而22条环线当作单环,只当一条线路处理,则这里有条线路。我们按换乘次数进行搜索,设任意出发站和目的站点,当到可以直接到达时则直接到达,不能直接到达则搜索经过1次换乘能到达的线路,统计每条线路上的所花时间,费用值,输出时间最少的线路和费用值最小的线路。当换乘1次不能到达,则考虑换乘2次,同样输出所有线路中时间最少的线路和费用值最小的线路。以次类推,以换乘次数为步长进行搜索,一直进行下去,一定可以得到换乘次数最少情况下时间最小的线路和费用最小的线路。而对于本问题,前面已经计算出,任意两个站点间最多经过3次换乘就可以到达。 3.2 算法实现 1 ..数据预处理 从含有公交信息的数据文件中读入数据,将每条线路包含的公交站点提取出来,保存在整型数组A[L][M]中。由于每条线路站点数最多为86, 而线路总数作1018处理,因此可取L 1018,M 86.A中每行保存的是一条线路的站点号。同时记录每条线路的站点总数,保存在P[L]中。每条线路的票价信息保存在B[L]中,其中B[i] 0表示第i条线路采

文档评论(0)

beifanglei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档