资源描述
队伍编号 1261 选题 A
徐州工程学院
第六届数学建模校赛
队长 王双双
队员1 徐超飞
队员2 徐娟
题目 基于复杂网络理论的交通网络稳定性评估
摘 要
本文主要研究破坏一对关键相邻站点对交通网络稳定性的影响,利用0-1整数规划,
运用复杂网络相关知识,转化为对网络抗毁性的研究。以网络效率建立一个网络服务能力的评价模型,根据网络的度和算法相关知识进行求解。
对于问题一,本题根据所给数据用画出公交路线网络图。确定该交通网络的复杂性,基于复杂网络理论对于网络抗毁性的研究,本题以网络效率建立了一个网络服务能力的综合评价模型:
根据图论最短路问题采用0-1整数规划,得到各站点邻接矩阵,运用算法求解得出网络站点未中断时网络服务能力,由复杂网络中度的相关知识,求得当在一对相邻点(1522,3674)断开时,网络服务能力下降最大。根据网络服务能力下降幅度模型:
,
从而得出道路中断后服务能力下降幅度为:1.89%
对于问题二,问题的求解模型与问题一基本一致,本题可以将地铁系统看作不可中断的公交路线,采用0-1整数规划对加入地铁后的网络站点邻接矩阵进行修改得到新的矩阵,代入问题一建立的求解模型得到当相邻点(751,3878)断开时网络服务能力下降最大为:1.51%
对于问题三,基于前两问模型的求解建立,提出乘客要到达中断站点的前一站点才能得知堵塞信息。且只能重新规划一条最短路径,因此本题只需要对最短路径矩阵进行修正。在问题二的基础上求出在断点断开后,最小网络服务效率,利用上述模型求解得网络服务能力下降幅度
对于问题四,可以看作是对以上问题的总结,将快速公交的快捷性,定义为已知量,即两点间的距离缩短。利用整数规划重新建立一个相邻站点邻接矩阵,求解出引入快速公交系统时的网络服务能力为:=0.1267,建立一个求解网络服务能力增长模型:
代入求解得到引入快速交通系统后网络服务能力定性增长了100.1%。
关键词 复杂网络 0-1整数规划 网络效率 算法 邻接矩阵
一、问题重述
1.1背景分析
交通网络是一个城市建设、发展、繁荣的关键所在,是承载了整个城市的资源流通的基础。近几年来随着城市的扩张,交通网络需要承载的运输流量也在增大,交通拥堵所带来的时间浪费、环境污染、交通安全等问题也在近几年开始制约城市的可持续发展。对于许多城市,交通拥堵已经成为城市发展的瓶颈之一。面对这些问题,需正确清晰地认识到当前城市交通的现状才能提出正确高效的解决问题的途径。分析公共交通网络路线,有利于减缓交通拥堵问题,为城市的政治经济、文化教育、科学技术等方面提供便利,更有利于城市的建设。城市交通网络正朝网络化规范,网络化建设和网络化运营三个层面发展。并且兼顾轨道交通网络与常规公交网络、对外交通枢纽网络和铁路网络的一体化规划发展。因此无论从基础设施,还是运营管理方面城市轨道交通总是以网络化的形式存在的。
近年来全球恐怖活动日益猖獗,而交通网络作为人流量特别密集的运输载体,具有防护措施薄弱,人流量大,等特点,所以日益成为恐怖分子以及对社会心怀不满人员的最佳施暴地点。除了人为破坏以外,网络系统本身引发的故障,导致系统稳定性下降,甚至造成重大事故也是可能的因此,针对城市交通网络抗毁性和稳定性的研究是十分必要的。
1.2问题重述
分析公共交通网络路线,有利于减缓交通拥堵问题,为城市的政治经济、文化教育、科学技术等方面提供便利,更有利于城市的建设。城市交通网络正朝网络化规范,网络化建设和网络化运营三个层面发展。并且兼顾轨道交通网络与常规公交网络、对外交通枢纽网络和铁路网络的研究。
随着社会的发展,交通堵塞变得越来越频繁,并且对城市公共交通系统造成了很大的影响。大城市的公共交通线路往往很多,所构成的公共交通网络也比较复杂,如何评估网络的稳定性成为设计可靠的公共交通服务的第一步。
大城市的公共交通线路往往很多,所构成的公共交通网络也比较复杂,如何评估网络的稳定性成为设计可靠的公共交通服务的第一步。请根据所给数据探讨一下问题:
1、画出南京公交路线的网络图。若相邻站点间的道路中断时,请分析这样的几对或一对中断对公共交通网络服务能力的影响,定量分析服务能力(中断时其他站点间公交汽车都正常运行,且乘客在出行前就已经知道中断信息);
2、在问题一的情况下加入南京市地铁路线,将发生什么情况?并对比问题一,分析地铁对于城市交通网络的稳定性的影响;
3、画出完整的城市公共交通系统网络图(包括地铁和公交系统),并分析在相邻站点间的道路中断时,对公共交通网络服务能力的影响。若有影响,可用定量分析下降的服务能力(中断时其他站点间公交汽车都正常运行,且乘客只有抵达拥塞站点的前一个站点时才能得知拥塞信息,并根据自己的出行需求考虑另择线路);
4、定量分析引入快速交通系统后,公共交通网络服务能力的稳定性以及服务能力是否有显著改善。
二、问题分析
2.1对于问题一的分析
本题要求几对或一对相邻站点中断时,分析某对点中断时服务能力下降最显著和定量解释下降的交通网络服务能力。针对本题,首先要建立一个交通网络服务能力的综合评价模型。交通网络的服务能力可以看作是道路的连通性和抗毁性的统一,即道路的连通性越好,网络的抗毁性越好,服务能力也就越好。城市公共交通网络是一个复杂系统,可以把该交通网络抽象为一个复杂网络,可以参考文献[1]。本题应属于研究交通复杂网络的静态抗毁性,即研究节点和边在失效情况下的网络结构变化。因此本题可以转化为对城市交通网络抗毁性的评估。交通网络抗毁性的测度指标有特征路径长度(即最短平均路径)和网络效率等,经过对这两个指标的简单分析评估,当选择特征路径长度作为测度指标。会出现当点或边在受到攻击可能会出现孤立的点,这些点和其他任意站点都不相连。这样该点到任意站点的最短路径都为无穷大,从而导致最终的测度指标特征路径长度也为无穷大。很明显会影响整个网络的测度评价,基于这样的特殊情况,本文选择网络效率作为交通网络服务能力的测度标准。进而建立一个下降的服务能力的求解模型。只要定量的求出某对相邻点中断时的网络效率且使网络效率下降最多,最后代入建立的下降能量求解模型,就可完成对问题一的解答。而对于服务能力求解模型,本文需用到了算法求解任意两站点最短距离。所以同时要建立一个算法模型。
2.2对于问题二的分析
本题要求在问题一的基础上加入南京市地铁线路,分析地铁路对网络服务能力的影响。地铁线路总是能够正常运行的,本文可以将地铁看成一个不会中断的公交线路,每个地铁站点以及相邻地铁和对应换乘的的公交站点看成是相邻连通的路线。即把地铁对应的公交站点都看作是互相连通的站点,本文参考了文献[2]。根据问题一中求解得到的0-1邻接矩阵,根据站点之间的连通情况进行修改。本题建立的求解模型与问题一基本一致,两者本质没区别,根据前后求得的网络服务能力,就可对下降的服务能力进行综合评价。
2.3对于问题三的分析
本题与第二题类似,都要同时考虑公交和地铁系统,并对一对相邻站点的中断作综合分析。但是针对本题,乘客要到达拥塞站点的前一站才能得知该路线堵塞,所以乘客不能提前计划好最短到达目的地路线。乘客只能到达拥塞的前一站点,然后再以改点为起点,原目的地为终点重新选择一条最短路线,本文参考文献[5]。如果这样,该网络中任意两站点的最短距离之和会变大。即问题二求得的任意两个站点间的最短路径不在适用于本题,本题需要根据要求重新建立最短路径矩阵。根据得到的最短路径矩阵求出相邻站点发生中断时的服务能力,最后根据前文建立的网络能力下降幅度评价模型来对本题进行定量分析。本题需要用到第二问求得的使网络服务能力下降最大的相邻断点,由于本题条件与第二题基本相似,只是对于乘客是否预先得知站点拥塞发生改变。本题只需要将断点断开后的任意两点最短距离矩阵做出修改,在第二题的基础上来求出网络服务能力的下降幅度。
2.4对于问题四的分析
题目要求研究快速交通系统对公共交通网络服务能力的稳定性以及服务能力的影响,快速交通系统是一种介于快速轨道交通和常规公交之间的新型大运量公共客运体系。本题与上述题目相似,仍是分析公共交通网络服务能力,只是本题加入了快速交通系统。而快速交通系统的优点是速度快,容量大,可靠性强,行驶速度可以达到常规公交的2倍。可以在前面题目的基础上建立模型把重要的公交路段换为快速交通系统,相邻站点之间减少的时间可以按比例看作相邻站点间距离的减少。从而修改相邻站点间的邻接矩阵。求出网络效率和对效率影响最大两相邻断点,与前面几题对比找出网络稳定性和服务能力的变化程度。
三、模型假设
结合本题的实际,为了确保模型求解的准确性和合理性,我们排除了一些未知因素的干扰,提出以下几点假设:
1、假设只以路径为评价标准,不考虑换乘和换乘时间对该网络服务能力的影响;
2、假设从地铁站点到换乘的公交站点所需时间忽略;
3、假设各站点之间的间距相等,行车距离大小由经过站点数来衡量;
4、假设不考虑天气状况等不确定因素对交通的影响。
四、符号说明
为了便于问题的求解,我们给出以下符号说明:
总的站点数
度分布概率
网络节点的度
邻接0-1矩阵
任意两点之间最短距离
交通网络服务能力下降幅度
任意两站点最短距离矩阵
交通网络服务能力(网络效率)
五、模型的建立与求解
经过以上的分析和准备,我们将逐步建立以下数学模型,进一步阐述模型的实际建立过程。
5.1问题一模型的建立与求解
5.1.1问题一模型的建立
根据给出的南京市交通网络路线,运用画出南京市部分公交网络图如下:(具体绘图代码见附录)
图1 南京市部分公交路线网络图
由图像可知该交通网络错综复杂,属于一个复杂系统。即本题需要应用到复杂网络知识,要求根据已有的公交线路站点数据,定量分析交通网络服务能力。本题首先引入了几个复杂网络中的概念。
对于复杂网络,钱学森先生给出了以下严格定义:具有自组织,自相似,吸引子,小世界,无标度中部分或全部性质的网络称为复杂网络。
对于两个交通网络抗毁性的测度指标定义,
1、复杂网络的特征路径长度(平均最短路径长度)
特征路径长度被定义为待研究网络中任意点最短路径之和的平均值,它反映了网
内部两节点彼此连通的能力。任意两个节点之间的最短距离的最大值称为该网络的直径。特征路径长度定义公式如下:
2、网络效率
网络效率可以用来衡量网络中点与点之间的信息沟通程度,网络效率在一定程度上被认为和特征路径长度成反比。假设两个节点离得越近,信息在这两点之间就越容易传播,因此两个节点之间的效率可以定义为这两点之间距离的倒数:与平均路径长度相比,即使两个节点之间没有通路相连,仍旧可以定义这两点之间的效率.在非联通的网络中,
,但是这两点的路径长度则为无穷大。以下给出了网络效率的定义式:
前文针对问题一的分析已经说明了这两个指标测度的优缺点。因此本题选择网络效率作为交通网络稳定性的评价指标。
针对本题对于交通网络的服务能力,我们给出定义:
公共交通网络的服务能力可以抽象为该网络的稳定性和抗毁性的统一,网络效率是衡量该网络正常运行的重要指标。网络效率可以看作是公交线路稳定性在整个网络上的具体表现。网络效率越大,说明网络稳定性越好,交通网络的抗毁性也越强。因此针对本题,把交通网络的服务能力定义为网络效率。从而对问题进行定量分析。
要想求出交通网络的服务能力就要对本题已给数据(南京市公交路线)处理,由所给数据可知,整个线路分为3类,经过统计可得该公交系统一共有站点3957个,车次520个,520个车次一共可以分成1040个来回路线。其中有路线最多经过86个站点。因此对于原始数据,可以建立一个1040*86的矩阵,行数代表路线车次,列代表经过的站点。求解时只需求解得到行数,则对应的车次很容易求得。将其导入,以方便问题的编程求解。
根据上述已经导入的数据矩阵,建立一个0-1整数规划模型来求解相邻路径矩阵,以两个公交站点之间是否有通路为突破口建立一个0-1相邻路径矩阵:
该0-1邻接路径矩阵为一个3957的0-1站点邻接矩阵(0-1邻接矩阵建立代码见附录),用画出各站点网络连接情况的统计学图形如下(具体绘图代码见附录):
图2 南京市交通网络的统计学图形
由该图可以定量的看出,该交通网络一共有11842条相邻联通的路线,图中有比较明显的各点连成的曲线由6条,说明有6个路线车次对整个网络的影响比较大。
求解任意两点之间最短距离用到经典的模型算法。该算法核心思想是通过一个图的权值邻接矩阵求出它的两点之间的最短路径矩阵。该算法的数学模型如下,即状态方程为:
其中表示到的距离。即若最短路径经过点,则,若最短路径不经过点,则值不变,以此递推就可以得到任意两点之间的最短距离。首先由所给数据建立一个邻接矩阵,若两点之间无直接路线,则用无穷大表示即,
利用矩阵,运用编写算法,就可以求得任意两个站点之间的最短距离,从而求得该公交网络中各站点的最短路径矩阵(算法求最短路径代码见附录 ):
根据以上得到数据,我们建立一个网络服务能力的综合评价模型如下:
本题要求定量分析几对或一对站点中断时,下降的交通网络服务能力。根据站点间未发生中断和发生中断时的网络服务能力 ,建立如下的交通网络服务能力下降幅度评价模型如下:
对于相邻断点的求解,其中当两个相邻站点发生中断时,此时,再利用算法求出此时的任意两站点之间最短距离。在这里要求的点太多,很难将如此巨大的数据求解出来,所以本文选用其他标准来对关键相邻点进行确定。本文引入了复杂网络中度的概念,一个节点的度定义为该节点与其他节点连线的数量,度可以看作是描述网络局部特征的统计量,一般来说,度反映的是该节点的重要程度,即度越大,节点也就越重要,反之亦然。因此我们可以根据各点度的大小,筛选出几个相邻点,分别求出他们断开时,网络效率的大小。选取一个让此时网络效率最小的相邻点。(各节点度的大小求解代码见附录)代入网络服务能力评价模型,求得此时的网络效率。再代入求解下降幅度的模型,就可对问题进行解答。
5.1.2问题一模型的求解
运用求出3957个站点之间在未发生相邻站点中断的情况下的最短路径矩阵,并带入上述模型公式求得在未发生站点中断情况下的网络服务能力为:
=0.0633
根据上述建立的模型可知,当两个相邻站点发生中断时,此时,用求出此时的网络服务能力。根据将得到的度筛选出几对相邻点,求出对应的网络服务能力进行比较,筛选得到当一对相邻站点(1522,3674)中断时网络服务能力最小,为=0.0621,最后将得到的数据代入服务能力下降幅度评价模型得下降的服务能力为:
1.89%
5.2问题二模型的建立与求解
5.2.1问题二模型的建立
本题建立在问题一的基础上,问题的求解方法基本一致。地铁线的引入只是增加了0-1路径邻接矩阵的建立。本题将地铁站等效为公家站点,只是地铁站点不可中断,有利于加强交通网的运输效率和网络的抗毁性。为了形象的说明地铁的运行线路,本题做出了2条铁路之间的位置关系图如下:(具体绘图代码见附录)
图3 南京市地铁交通路线图
本题将地铁线路站点等效为不可中断的公交线路,把地铁站点换乘的公交站点都看作是互相连通的相邻站点。并对问题已建立的39573957的0-1邻接矩阵进行修改。列如地铁站对应着三个公交站点,则矩阵有如下啊改动
地铁站与地铁站是相邻的,他们对应的换乘公交站点为 ,则矩阵有如下修改:
根据以上修改0-1矩阵的方法对邻接矩阵进行修改,本题一共给出了39个地铁站点,且每个地铁站点都对应若干公交站点。将这些公交站点间有连通的都列举出来,将问题一的0-1邻接矩阵修改为新的邻接矩阵:
利用的新的邻接矩阵,用编程求解出针对本题的任意两点最短距离矩阵:
根据此矩阵和问题一建立的网络服务能力评价模型,计算出该交通网络各公交站点未发生中断时的网络服务能力。当某对相邻站点发生中断时,同样求出此时的网络服务能力,代入网络服务能力下降幅度评价模型:
求解出此时的网络服务能力下降幅度。再利用编程求出使最大时,对应的某对相邻站点。即当该对相邻站点发生中断时,网络服务能力下降最大。
5.2.2问题二模型的求解
根据以上建立的模型,运用编程重新建立一个0-1邻接矩阵。(具体代码见附录),再编写算法程序求出3957个站点之间在未发生相邻站点中断且加入地铁线路后的任意两点最短距离矩阵,并求出此时的网络服务能力为:
很明显的可以看出, 即加入地铁交通后,对于城市整个交通网络起到了很大的帮助作用。 显著的提高了该交通网络的抗毁性和稳定性。铁路的加入让城市交通网络系统更加完善,效率更快。
根据问题一建立模型的求解方法,筛选出加入地铁后,当点(751,3878)中断时网络服务能力为:=0.0712
最后将前后得到的网络效率代入公式: 解得服务能力下降幅度为: 1.51%
5.3问题三模型的建立与求解
5.3.1问题三模型的建立
乘客不能预先得知网络道路的中断情况,只能抵达拥塞站点的前一个站点才能得知拥塞信息,并根据需求另外选择一条最短路径。假设有一个乘客要从站点到站点,按照原来的选择最短距离应为,假设路径为:
当该乘客到达站点时才得知站点发生拥塞,乘客要以站点为起点,原目的地为终点,重新选择一条最短路径,所以此时可以得到站点到站点的最短距离为:
根据第二问求得的0-1邻接矩阵和已经求得的最短距离矩阵知当相邻点(,)中断时,会让该交通网络的服务能力下降最多。所以我们只要定量分析当这两个点断开时第二问求得的任意两点最短距离矩阵关于本题是如何变化的,对该矩阵进行修改完善。代入网络服务能力求解模型得到这种情况下的服务能力。
为了求得改正后的最短距离矩阵,我们要先用编程得到与这两个站点分别相邻的站点数,即根据站点的度,对最短路径矩阵经过它们的各条路径按照以上原理进行修正,最后得到新的任意两点最短距离矩阵为:
求出此时的网络服务能力,原来未发生相邻点中断的网络服务能力同第二问,即原始的网络服务能力为:
最后根据网络服务能力下降幅度综合评价模型:
对本题进行定量分析
5.3.2问题三模型的求解
本题原来未发生相邻站点中断的网络服务能力与第二问相同,即,再利用发生相邻站点中断后的求得的任意两点最短距离矩阵就可以求得中断后的网络服务能力。
最后代入下降幅度评价模型:得到下降的网络服务能力
5.4问题四模型的建立与求解
5.4.1问题四模型的建立
快速公交系统的速度一般为普通公交系统速度的2倍,可以等效为将普通公交系统相邻站点间距离缩小一半定义为快速交通系统相邻站点间的距离,即快速交通系统相邻站点间距离定义为0.5。在第一问的基础上随机将一定比例的公交线路替换为快速公交线路,同时修改0-1邻接矩阵。将一部分公交站点变为快速公交站点,则相应的运用编写算法求出关于平均最短路径的网络效率,与替换前网络服务能力作比较,找出服务能力的差别。
建立一个加入快速公交系统后,网络服务能力的上升幅度模型如下:
从而定性分析加入快速公交系统后,整个交通网络服务能力的变化和网络稳定性的变化。
5.4.2问题四模型的求解
加入快速交通系统之后,对0-1邻接矩阵进行修改,任意两个站点间的距离是变小的,所以根据算法求得最短距离矩阵代入上述模型解得加入快速交通系统后的网络服务能力为: =0.1267
与问题一所求出的数据进行比较,利用建立的模型求解得服务能力上升幅度为:
100.1%
这说明快速交通系统的加入可以很好地缓解交通网络的运输压力,极大程度上的增强网络稳定性与抗毁性。快速交通系统的建立使该交通网络的服务能力大幅度提升,以此我们倡导城市引入快速交通系统。
六、模型的检验
图论模型算法属于一种较为成熟的算法,对于求解两个点之间的最短距离十分精确与实用。因此本文不在对此模型进行检验。
本文主要对基于复杂网络理论建立的网络服务能力评价模型进行检验,首先本文要引入复杂网络中度分布的概念,网络中节点的度分布情况可用分布函数来描述。度分布函数反映了网络系统的宏观统计特征,表示的是一个随机选定的节点度恰好为k的概率分布。有时度分布也可以近似理解为网络中度为的节点个数占总个数的比例,即:
度分布可以用来统计网络系统的宏观统计特征从而来判断网络类型。利用编程求解得到本模型的度分布概率统计图如下(具体求解和绘图代码见附录)
图4 交通网络站点的度分布
由图可知,该公交网络站点的度分布满足的分布(泊松分布)即
足以说明对于本叫本交通网络可以看成是一个复杂网络,因此本题建立的网络服务能力评价模型即网络效率模型是非常合理的。
七、模型的评价与改进
7.1模型的评价
7.1.1模型的优点
1、本模型中选择网络效率作为测度指标,有效的解决了点删除中出现孤立点的问题和抗毁行仿真过程中网络最短平均路径指标开始时随着遭受攻击节点比例的增加逐渐增大,但到某个时刻会逐渐减少的问题;
2、由图论知识建立的算法模型容易理解,代码编写简单,算法十分成熟容意套用,适用性强,易于推广;
3、本模型考虑因素全面,由简单到复杂,不断完善,不断改进;
4、整数规划模型将本题很大的数据进行简化,建立0-1矩阵简化数据易于研究。
7.1.2模型的缺点
1、算法时间复杂度比较高,不适合计算大量数据,而本题恰好数据量较大,大大降低了求解效率。
2、本模型不能将数据进行简化,数据处理复杂,编程求解非常困难,从而造成求解结果误差较大。
7.2模型的改进
对于本文建立的算法模型,我们可以采用图论中求解最短路径的另一经典算法算法,只求出需要的最短路径数据,从而提高运算效率。在做抗毁性研究时可以取更多的点以及取不同比例的点,分别求出网络效率,这样可以更加具体的来研究交通网络服务能力的最大下降幅度。针对关键相邻对点的选取,可以采用广度优先遍历算法寻找出最为关键的一对点,即找出经过路线车次最多的一对点。从而大大的提高了程序的求解效率。
由于知识储备和编程能力有限和时间问题,所以以上改进模型未能采用。
八、模型的推广
复杂网络模型把研究单元抽象成节点,把单元间的相互联系抽象为边,研究通过实证方法度量网络的统计性质,构建相应的网络模型来了解统计性质及成因,在已知网络结构特征及其形成规则的基础上,预测网络系统的行为,研究出具体具体的抗毁性优化策略。因此复杂网络模型具有很广泛的应用,如军队指挥系统,社会网络中谣言传播控制,电网的级联故障研究,神经网络研究,互联网病毒的传播控制。而对于本文用到的算法模型,对于运输成本最小值的求解,供需关系受距离因素影响成程度等一类问题均可以简化成为最短路问题。推广之,当问题中的某些变量是受距离因素影响,如供求关系,运输费用等,我们均可以将模型转化成最短路径问题。而针对最短路径的选择问题,我们可以运用算法,该算法容易理解和套用,在物流的配送和选址方面具有很强的应用。
针对本题建立的网络效率模型可以很好的来衡量网络的连通性和稳定性,尤其在衡量交通网络,运输网络等方面有很强的应用。整数规划模型在资源的分配和优化有很强的应用,能够很容易的对问题进行解答,计算较为方便。而且编码简单,耗材低,操作时间短,错误率低。广泛应用于电网设计,求解半自动化计算模型等。
总之该本文建立各种模型将会在未来城镇的建设和社会的发展中有着更加广泛的应用。
九、参考文献
[1] 赵月 杜文 陈爽,复杂网络理论在城市交通网络分析中的应用[J],2009(01),城市交通;
[2] Barabási AL,Ravasz E,Vicsek T,Deterministic scale-free networks. Physica A,Statistical Mechanics and its Applications . 2001;
[3] Konstantin Klemm,Victor M Eguiluz,Highly clustered scale-free networks. Physical Review . 2002;
[4] 王波., 基于派系的复杂网络及其在公交网络上的应用研究[D].,浙江工业大学,2009;
[5] 王甲生 吴晓平 陈永强, 不同信息条件下加权复杂网络抗毁性仿真研究[J], 2013(05),中南大学学报(自然科学版);
[6] 郭雷 许晓鸣主编,复杂网络[M],上海科技教育出版社,2006;
[7] 朱凯,应用于公交网络交通中最短路径算法的研究[J],2012(05),现代物业。
附录
附录
1、 问题一相邻站点0-1矩阵的建立代码如下
clc
clear all
close all
A=textread('D:\at.txt');
a=zeros(3958,3958);
for i=1:1040
for j=1:85
m=A(i,j);
n=A(i,j+1);
a(m,n)=1;
end
end
a(:,3958)=[];
a(3958,:)=[];
a;
2、 问题一算法求解最短距离矩阵,和站点未中断时的网络服务能力代码如下
clc
clear all
close all
A=textread('D:\at.txt');
a=zeros(3958,3958);
for i=1:1040
for j=1:85
m=A(i,j);
n=A(i,j+1);
a(m,n)=1;
end
end
a(:,3958)=[];
a(3958,:)=[];
a;
d=a;
n=size(d,1);
for i=1:n
for j=1:n
if d(i,j)==0
if i~=j
d(i,j)=inf;
else
d(i,j)=0;
end
end
end
end
for k=1:n
for i=1:n
for j=1:n
if d(i,j)>d(i,k)+d(k,j)
d(i,j)=d(i,k)+d(k,j);
end
end
end
end
for i=1:n
for j=1:n
if i==j
d(i,j)=inf;
end
end
end
h=1./d;
E=sum(h(:))/(3957*3956)
3、 所有站点的度的求解的文件的建立
function [O] =BFSpro( A )
%A为距离矩阵
%O为每一对应点的度数
[a,b]=size(A);
for m=1:a
O(m)=length(find(A(m,:)>0))
end
4、 问题四加入快速交通系统后,站点邻接矩阵的建立
clc
clear all
close all
A=textread('D:\at.txt');
a=zeros(3958,3958);
for i=1:1040
for j=1:85
m=A(i,j);
n=A(i,j+1);
a(m,n)=0.5;
end
end
a(:,3958)=0;
a(3958,:)=0;
a;
附录
1、 问题一交通网络图绘制代码
clc
clear all
close all
A=textread('D:\at.txt');
a=zeros(3958,3958);
for i=1:1040
for j=1:85
m=A(i,j);
n=A(i,j+1);
a(m,n)=1;
end
end
a(:,3958)=0;
a(3958,:)=0;
a(i,i)=0;
a;
x=5000*rand(1,3957);
y=5000*rand(1,3957);
plot(x,y,'.')
hold on
for i=1:3957
for j=1:3957
if a(i,j)==1
line([x(i),x(j)],[y(i),y(j)])
end
end
end
2、 问题一交通网络统计图绘制代码
clc
clear all
A=textread('D:\at.txt');
a=zeros(3958,3958);
for i=1:1040
for j=1:85
m=A(i,j);
n=A(i,j+1);
a(m,n)=1;
end
end
a(:,3958)=[];
a(3958,:)=[];
a(i,i)=0;
a;
spy(a);
3、 问题二地铁交通路线图代码
fplot('0',[2 46]); %画直线作为T1铁路线
y=0:0.01:0.3;
for i=2:2:46
i1=i*ones(size(y));
hold on;
plot(i1,y); %给站点作标记
istr=int2str(i/2);
text(i-0.5,-0.5,istr); %给每个站点标上铁路站号
end
x1=24:0.005:36;y1=(36-(30-x1).^2).^0.5;y2=-y1;
plot(x1,y1,x1,y2,'b'); %画圆作为T2铁路线
for j=1:6
x2(j)=30-6*cos(pi*j/7);y3(j)=6*sin(pi*j/7);
plot(x2(j),y3(j),'r*'); %给站点作标记
jstr=int2str(j+26);
text(x2(j)-0.5,y3(j)-0.8,jstr); %给每个站点标上铁路站号
end
for j=1:10
x2(j)=30-6*cos(pi*j/11);
y3(j)=-6*sin(pi*j/11);
plot(x2(j),y3(j),'go'); %给站点作标记
end
for j=1:3
jstr=int2str(27-j);
text(x2(j)-0.5,y3(j)-0.8,jstr); %给每个站点标上铁路站号
end
for j=4:10
jstr=int2str(43-j);
text(x2(j)-0.5,y3(j)-0.8,jstr); %给每个站点标上铁路站号
end
axis([-2 50 -10 10]); %修改坐标轴
hold off;
4、 模型的检验中的各站点度分布概率分布图代码如下:
clc
clear all
close all
A=textread('D:\at.txt');
a=zeros(3958,3958);
for i=1:1040
for j=1:85
m=A(i,j);
n=A(i,j+1);
a(m,n)=1;
end
end
a(:,3958)=0;
a(3958,:)=0;
a;
N=size(a,2);
DeD=zeros(1,N);
for i=1:N
DeD(i)=length(find((a(i,:)==1)));
end
x=DeD;
xmin=min(DeD);
xmax=max(DeD);
xp=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15];
f=ksdensity(x,xp);
plot(xp,f,'r*');
xlabel('节点度数');
ylabel('度的分布概率')
展开阅读全文