跳转至

2016数学建模国赛

国赛已经结束一段时间了,开学那会儿实在太忙,加上写了论文之后,一想到码字简直想吐,所以也就没有立马把成果总结记录在博客里。今天得闲,故整理整理,记录于文中。

经历

赛前我们并没有做太多有针对性的准备,三个人只是各自翻了翻一些参考书籍,看了些微信公众号里的注意要点。

第一天早上,提前半小时题目就已流出,A题是一道涉及物理知识的关于锚链的一道题,题目冗长,我们三人都表示不太愿意,也没太大能力来做好这种题,而B题则是分析关于开放小区对周围交通的影响,恰巧我们队之前在深圳杯时也正是做的分析交通的类似题目,有过相关经验,所以根本没有经过太多的讨论就确定下来做B题。

下面即是B题的题目内容。

2016年2月21日,国务院发布《关于进一步加强城市规划建设管理工作的若干意见》,其中第十六条关于推广街区制,原则上不再建设封闭住宅小区,已建成的住宅小区和单位大院要逐步开放等意见,引起了广泛的关注和讨论。

除了开放小区可能引发的安保等问题外,议论的焦点之一是:开放小区能否达到优化路网结构,提高道路通行能力,改善交通状况的目的,以及改善效果如何。一种观点认为封闭式小区破坏了城市路网结构,堵塞了城市“毛细血管”,容易造成交通阻塞。小区开放后,路网密度提高,道路面积增加,通行能力自然会有提升。也有人认为这与小区面积、位置、外部及内部道路状况等诸多因素有关,不能一概而论。还有人认为小区开放后,虽然可通行道路增多了,相应地,小区周边主路上进出小区的交叉路口的车辆也会增多,也可能会影响主路的通行速度。

城市规划和交通管理部门希望你们建立数学模型,就小区开放对周边道路通行的影响进行研究,为科学决策提供定量依据,为此请你们尝试解决以下问题:

1.请选取合适的评价指标体系,用以评价小区开放对周边道路通行的影响。 2.请建立关于车辆通行的数学模型,用以研究小区开放对周边道路通行的影响。 3.小区开放产生的效果,可能会与小区结构及周边道路结构、车流量有关。请选取或构建不同类型的小区,应用你们建立的模型,定量比较各类型小区开放前后对道路通行的影响。 4.根据你们的研究结果,从交通通行的角度,向城市规划和交通管理部门提出你们关于小区开放的合理化建议。

确定好题目后,因为之前看到过类似的论文,司徒泉立即就有了比较好的想法,经过讨论,最终以他给出的模型为基础基本确定好了我们本次的主体思路。

编程的过程中也是历尽了坎坷,总会不时出点小差错,有时是语法有问题,有时又是逻辑有问题,每当生成出一个诡异的结果时,总是令我们苦笑不得。在一个非常重要的步骤上,更是调试过非常多次都找不出错误,三个人分析很久都感觉逻辑没什么问题,最后快放弃打算睡一觉第二天再战时,建伟突然感觉有个函数用得不太对,我们仔细一看果然如此,修改一下立马运行正确,当时已经很晚了,看到得到了正确结果,我们激动地欢呼了起来,还拍起来掌。我想,那种快要放弃却又突然一片光明的感觉,正是搞建模能带来的一种快乐吧。

程序大概在第二天上午就已编好,我稍作休息就立马开始着手写论文,这也正是最令我头疼的一个任务。与此同时,泉神和建伟也没闲着,他们也立马转战于模型的仿真模拟。

终于在第四天早上,我们熬了一个通宵,将所有所有的任务都搞定,再三确认后上交了最后的论文。

回到寝室,倒头就睡。那种终于结束了的感觉,真的好舒服。

主要思路

说完那些琐事,下面言归正传,讲讲这次建模的主要思路。

首先对题目的问题进行简要分析。

问题一的分析

问题一要求,选取合适的评价指标体系,用以评价小区开放对周边道路通行的影响。

由于道路通行的影响因子较为繁杂,而且微观上的评价指标较为局限,难以统计出一些隐性因子,因此决定结合微观模拟方法,主要采用范围稍广的宏观和中观评价指标来对小区开放对周边道路通行的影响进行评价。

问题二的分析

问题二要求,建立关于车辆通行的数学模型,用以研究小区开放对周边道路通行的影响。

在实际的模型建立过程中,通过对单个小区进行研究,只能十分局限地得出其对周围交通道路的影响效果,而无法进一步地研究后续可能带来的更多隐形影响。

因此采用蒙特卡罗算法,构建区域稍大的随机小区群,并以此为基础,模拟随机车流在构建好的随机小区群流通,通过仿真模拟算法来得出在这种随机构建出的,具有随机个数、随机形状、随机结构的小区群环境下,车流的运行结果,并结合问题一中的评价指标来分析问题、得出结论。

其中,需要注意的是,在利用蒙特卡罗算法进行随机生成和随机模拟的时候,应当采集一定的现实数据来控制好随机比例,进而保证好仿真程度。

问题三的分析

问题三指出,小区开放产生的效果,可能会与小区结构及周边道路结构、车流量有关。并要求选取或构建不同类型的小区,应用建立的模型,定量比较各类型小区开放前后对道路通行的影响。

小区的结构和周边道路结构,在进行宏观分析时,可以利用拓扑学的抽象方法将其抽象,以利于定量分析和定量计算。

需要注意的是,这个过程必须结合微观上的仿真模拟,在得到仿真结果的基础上,采用等效替换参数的方法,来弥补拓扑抽象过程带来的可能偏差。

问题四的分析

问题四要求,根据研究结果,从交通通行的角度,向城市规划和交通管理部门提出关于小区开放的合理化建议。

理论模型建立之后,需要尽可能地保证消除误差。通过有效的微观仿真模拟,可以消除或者减弱一些影响宏观分析和计算的无关因子,使得模型能够逼近于真实情况,进而确保能够给实际情况带来有用的参考价值。

主要思路

经过对问题的分析,可以基本确定建模的思路——通过抽象化的小区区块群体,将实际交通情况进行量化分析和计算来得出结论。在这个过程中,小区的生成和车流的自动模拟都需要做到随机性,因此需要依赖蒙特卡罗方法,同时还要借助专业的交通软件VISSIM来辅助修正抽象小区模型。

模型建立

小区群模型的总体建立

首先分别建立“小区结构模型”和“道路交通网络模型”,进而将两个分支模型整合,形成“小区群模型”。在本模型中,小区群的基本元素为开放小区和封闭区域,由交通主干道路联结形成。

通过模块化的模型建立-整合过程,可以确保分支模型的微观处理过程的细节分析。

小区结构模型的分析与建立

首先,在对交通道路结构的分析中,小区的房屋结构、住宅分布属于无关因子或弱因子,具体的偏差消除应当通过微观仿真模拟得出的等效参数来进行替换消除,而不应放在基于小区群层面的宏观视角来分析。

通过卫星地图数据采集,共对12个城市的共100个开放式小区进行统计分类。小区的结构分类按小区内部的开放交通道路类型划分。

其中,在确保能够在后续操作中消除偏差的前提下,根据拓扑学将小区类型抽象为四个类型,具体的分类统计表格如下(不同方向的同结构小区按一类计):

biao1.png

结合统计分类数据,可以采用蒙特卡罗方法(Monte Carlo method),首先利用随机数方法,产生一组随机个数的,具有随机结构、分布在随机位置的小区,进而用统计方法把开放小区模型下的交通流数字特征估计出来,从而得到最终的数值解。

道路交通网络模型的分析与建立

在本模型中,道路交通网络同样需要进行抽象分析,以便于后期的定量分析和定量计算统计,但是宏观和中观上的抽象的前提是微观上对细节的等效处理。

基于PTV-VISSIM交通仿真器,本模型利用该仿真手段构建小区道路与周边道路交汇处路段,模拟车辆在交汇点的等候、拐弯等行为,以重现交汇点处车辆拥堵现象的微观过程。

模拟结束后,对模拟结果数据进行采集和导出,得到无岔道模型的平均延误时间T_{st-delay}和平均行程时间T_{st-travel},以及有岔道模型的平均延误时间T_{fk-delay}和平均行程时间T_{fk-travel}。然后对数据进行处理,计算B_{straight}=\dfrac{T_{st-delay}}{T_{st-travel}}B_{fork}=\dfrac{T_{fk-delay}}{T_{fk-travel}}以表示无岔道模型与有岔道模型的拥挤程度。最后,求出\dfrac{B_{straight}}{B_{fork}},并根据相关关系式利用该无量纲指标导出岔路节点的停留指数T_2

本模型采用微观手段对交汇点拥堵指标进行定量描述,将模拟出的指标数据应用到宏观过程,从而实现微观过程与宏观过程的结合与互补。

小区群模型的建立

小区群模型的建立方法采用蒙特卡罗方法(Monte Carlo method),模型由小区结构模型和道路交通网络模型组合形成。

首先确定一块空白小区群区域,根据小区面积S_{commu}和小区群面积S_{group},设计随机数阈值R_{threshold}=\dfrac{S_{commu}}{S_{group}}

通过Python程序给出数值范围在(0,1)内的二元随机数对(R_{judge},R_{struct}),若随机数R_{judge}在给定的随机数阈值R_{threshold}之上,则判断为不可通行的封闭区块,否则判断为可通行的开放小区块,同时根据随机数R_{struct}来决定开放小区的结构.

其中,R_{struct}的判断阈值由表1中统计数据的百分点决定.

小区群模型的抽象定量化

基于小区群落层面的分析需要处理大量的数据,因此需要对已有的数据和采集图像进行抽象化和定量化,以使得模型求解结果为一个精确化的定量解。

小区群模型的几何抽象化

首先,几何上需要对小区群模型进行抽象,以便于后续对其进行代数上的定量化。

考虑到小区形状由路网范围决定,而路网的角度差异不对车辆转角情况产生差异值,所以可以将路网抽象为方正的网格线。

而在产生开放小区区块时,同样可以将有内部路线的小区块抽象为用直线段连结边中点和区域中点的方形区块。

具体地,在不考虑方向的条件下,可以将开放小区抽象为下表中的四种样式。

biao2.png

下图是一个随机生成的3\times 3小区群示例图

grid.png

小区群模型的代数抽象化

(1)点的代数抽象化

基于上述的代数抽象化,我们可以得到方正网格图,为将其数值量化,构建格点矩阵来量化表示小区群模型中的交通道路格点。

对于一个由N\times N的区块(不一定每个都是开放小区)组成的小区群,由于需要考虑可能的小区内部道路,因此在每条道路的中点上也加入一个格点,对应地,构造出一个(2N+1) \times (2N+1)的量化格点矩阵

\mathbf{L}=\left( \begin{array}{cccccc}(0,0) & (1,0) & (2,0) & (3,0) & \cdots & (2N+1,0) \\ (0,1) & (1,1) & (2,1) & (3,1) & \cdots & (2N+1,1) \\ (0,2) & (1,2) & (2,2) & (3,2) & \cdots & (2N+1,2) \\ \vdots & \vdots & \vdots & \vdots & & \vdots \\ (0,2N-1) & (1,2N-1) & (2,2N-1) & (3,2N-1) & \cdots & (2N+1,2N-1)\\(0,2N) & (1,2N) & (2,2N) & (3,2N) & \cdots & (2N+1,2N)\\(0,2N+1) & (1,2N+1) & (2,2N+1) & (3,2N+1) & \cdots & (2N+1,2N+1)\end{array} \right)

矩阵中的每个元素代表相应点的坐标。

(2)路径的代数抽象化

对于模型中的路径,采用图论方法来对模型进行数学上的分析计算,同时还可以确保Python程序自动化地根据图论指令进行仿真模拟。

在仿真模拟过程中,根据对称性,可以只通过单向简化车流来进行等效模拟,因此采用有向图来表示小区群模型。

记表示开放小区群模型的图 G=(V,E) 由顶点集 V 和边集 E 组成,顶点集V的元素与上述的格点矩阵\mathbf{L}一一对应,每条道路路径是一个点对 (v,w) ,其中 v,w \in V .顶点VW邻接当且仅当 (v,w)\in E.

对于其中一条连通路径,可以由其顶点序列w\_1,w\_2,...,w\_n((w\_i,w\_{i+1})\in E)表示为可通行路径集合

K=\{<w\_1,w\_2>,<w\_2,w\_3>,...,<w\_{n-1},w\_n>\}

从而实现将具体化的行走可能性抽象为图论集合。

G可以用二维数组表示,也即邻接矩阵表示法。

记图G对应的邻接矩阵为J,对每条边(u,v) ,若其为开放小区外的主干交通道路路径,则置值J[u] [v]=W_1,若为开放小区内的交通道路路径,则置值J[u] [v]=W_2 ,否则记为0,表示两点之间不可通行。

其中,W_1W_2由之前的交通网络模型中的仿真模拟结果给出,该值能够在下面的自动车流仿真模型中帮助决定路径选择。

自动车流仿真模型的建立

在开放小区群模型的基础上,需要建立自动车流仿真模型来测试不同开放情况的小区群对交通流产生的不同影响。

在这个模型中,为了完整地测试整个小区群系统,需要让自动车流从左上角通行到右下角,由于对称性,无需再设置从右下角到左上角的车流。同时还应记下相应的通行记录。

将自动车流的初始位置设为(0,0),由前提假设,车流默认选择最短路径,行驶过程中不可倒退,因此在每个结点只有向右或向下的通行选择。通过访问可通行路径集合

K=\{<w_1,w_2>,<w_2,w_3>,...,<w_{n-1},w_n>\}

可以选择其下一步的通行路径。

在计算机自动化处理过程中,需要将可通行路径集合

K=\{<w_1,w_2>,<w_2,w_3>,...,<w_{n-1},w_n>\}

转化为邻接矩阵J=

biao3.png

其中,映射h(i,j)确保格点矩阵中的每个点与邻接矩阵中的每个横纵坐标J[m]一一对应。

在车流模拟过程中,设一个车已到达一点(i,j),此时它具有可通行选项(i+1,j)(i,j+1).

在选择过程中,计算出选择概率阈值P_{i,j\rightarrow i+1,j}=\dfrac{w_{i,j\rightarrow i+1,j}}{w_{i,j\rightarrow i+1,j}+w_{i,j\rightarrow i,j+1}}P_{i,j\rightarrow i,j+1}=\dfrac{w_{i,j\rightarrow i,j+1}}{w_{i,j\rightarrow i+1,j}+w_{i,j\rightarrow i,j+1}},同时给出一个范围在[0,1)内的随机数t,若t \in [0,P_{i,j\rightarrow i+1,j}),则该车从点(i,j)向右通行到点(i+1,j),若t \in [P_{i,j\rightarrow i+1,j},P_{i,j\rightarrow i+1,j}+P_{i,j\rightarrow i,j+1}),则该车向下通行到(i,j+1).

此外,还需限定i,j的最大值,当i,j=2N+1时,分别限定车只能向下和向右行驶。

将上述过程构造为一个递归函数,递归结束判断条件为i=2N+1j=2N+1.

模型的评价指标

在问题三中,要求“定量比较各类型小区开放前后对道路通行的影响”。

本模型采用“道路网络覆盖使用率指标”和“道路节点拥堵指标”来对各类型小区开放前后对道路通行的影响进行比较。

其中,道路网络覆盖使用率是总体评价指标的正因子,可以体现不同开放结构下车流对道路网络的使用效率。效率指标越优秀,则说明该种开放结构下车流分布更加均匀,能够缓解道路运行压力,增强道路通行能力。

而道路节点拥堵指标则是总体评价指标的负因子,可以用来反映不同开放结构下局部性的极端拥堵情况,能对上面的道路覆盖指标形成一个有益补充。如果局部拥堵点较多,则会减弱前者的正向评价效果。

将两者结合起来综合地考虑,可以对模型的解给出一个全面且客观的直观评价。

道路网络覆盖使用率指标

道路网络覆盖率体现不同开放结构下车流对道路网络的使用效率,具体的指标值可以采用每通过一段路径,在相应的邻接矩阵中的对应计数器c_{i,j\rightarrow m,n}中计数一次。

通过多次的仿真车流模拟,可以形成带有道路路径使用数的邻接矩阵F=

biao4.png

利用上述矩阵F,可以计算出需要求出的道路覆盖使用率指标

U=\dfrac{\displaystyle \sum_{i=h(0,0)}^{h(2N+1,2N+1)}\Bigg(\sum_{j=h(0,0)}^{h(2N+1,2N+1)}c_{ij}\Bigg)}{2k(2N+1)}

其中k为交通流的模拟次数,映射h(i,j)确保格点矩阵中的每个点与邻接矩阵中的每个横纵坐标F[m]一一对应。

道路节点拥堵指标

在本模型中,评价道路的局部拥堵情况,可以通过分析交叉路口的堆积停留情况来给出本指标。由于小区群模型已经抽象为格点网络图像,所以只需分析各个格点位置的情况即可。

通过前面的道路交通网络模型,给出了汽车在主干道路节点的停留指数T_1和岔路节点的停留指数T_2

每次转弯,则在之前的对应停留点记录停留指数T_i(i=1,2),形成停留指数矩阵

\mathbf{T}=\left( \begin{array}{cccccc}T_{0,0} & T_{1,0} & T_{2,0} & T_{3,0} & \cdots & T_{2N+1,0} \\ T_{0,1} & T_{1,1} & T_{2,1} & T_{3,1} & \cdots & T_{2N+1,1} \\ T_{0,2} & T_{1,2} & T_{2,2} & T_{3,2} & \cdots & T_{2N+1,2} \\ \vdots & \vdots & \vdots & \vdots & & \vdots \\ T_{0,2N-1} & T_{1,2N-1} & T_{2,2N-1} & T_{3,2N-1} & \cdots & T_{2N+1,2N-1}\\T_{0,2N} & T_{1,2N} & T_{2,2N} & T_{3,2N} & \cdots & T_{2N+1,2N}\\T_{0,2N+1} & T_{1,2N+1} & T_{2,2N+1} & T_{3,2N+1} & \cdots & T_{2N+1,2N+1}\end{array} \right)

并计算各个点的停留指数之和,表示对道路节点的局部致堵程度,记为道路节点拥堵指标

I=\sum_{i=0}^{2N+1}\sum_{j=0}^{2N+1}T_{i,j}

模型的求解

小区开放对周边道路通行的影响

结合上述的理论分析,可以将抽象的小区群模型和自动车流仿真模型都通过矩阵形式量化为可计算数据。

考虑到计算机的处理能力,在实际计算处理中,将小区群落大小规定为50\times 50,每种类型开放结构下,都通过多次仿真车流模拟,计算出平均数值解,再进行后续的比较和分析。

通过VISSIM软件,分析出模型中的节点停留时间为T=1.733

同时利用Mathematica,将软件的模拟结果进行了函数曲线拟合,得到如下图的结果

nihe.png

由 曲线图看到,当车辆数不足5000时,拥堵程度随着车辆数的增加而增加,且该增加速度是逐渐放缓。

随着车辆数增加到5000以后,拥堵程度趋于定值,故而小区开放后所产生的效果与车流量是有关的,但是当车流量到达某一值时,再增加车流量所产生拥堵程度大致是相同的。

产生这个现象的原因是:本交通流模型中研究的指标主要为主干道、开放小区道路的交叉路口、周边小邻域内的拥堵程度,故虽然车流量增加,但在研究范围内的道路运载能力已经饱和。

因此该区域交通流为一种较为均衡的状态,虽然对于整个道路,车流量越多道路必然越拥挤,但针对交叉路口而言,该局部区域交通流会达到均衡状态,其分别对应的拥堵程度相差不大,而对于整个道路网络,结论则是车流量越大,拥堵现象越明显。

定量比较各类型小区开放前后对道路通行的影响

小区群结构模型的生成

为尽量确保蒙特卡罗方法的准确性,需要尽可能确保给定分布下的随机性。

(1)生成随机判断矩阵Judge

首先需要总体确定小区群落中哪些区块是开放小区。

通过对卫星地图数据的采集,实际统计了5块等大小的10000\times 10000m^2的小区群落区块,采用网格技术统计法统计开放小区的占有比例。

由于本模型是集中对开放小区群进行研究,所以选取的区块是开放小区较集中的区域。

biao11.png

在量化为数量矩阵时,根据建立好的模型公式,随机数阈值为R_{threshold}=\dfrac{S_{commu}}{S_{group}},代入统计数据,确定随机数阈值为R_{threshold}=0.678.

通过Python程序给出数值范围在(0,1)内的二元随机数对(R_{judge},R_{struct})。在模型中,若随机数R_{judge}在给定的随机数阈值R_{threshold}之上,则判断为不可通行的封闭区块,否则判断为可通行的开放小区块,同时根据随机数R_{struct}来决定开放小区的结构。

其中,R_{Judge}由一个50\times 50的随机数矩阵judge确定

Judge=\left( \begin{array}{cccccc}0.237648&0.576979&0.020460&0.120970&\cdots&0.272774\\ 0.560977&0.402192&0.194552&0.785458&\cdots&0.228779\\ 0.322179&0.873788&0.646392&0.593435&\cdots&0.503042\\\vdots&\vdots&\vdots&\vdots&&\vdots\\0.969589&0.961364&0.142640&0.420166&\cdots&0.182354\\0.971152&0.281563&0.501124&0.913840&\cdots&0.979467\\0.775863&0.091315&0.176945&0.869877&\cdots&0.504353\\\end{array} \right)

(2)确定开放小区群的结构

在确定小区结构类型时,涉及到对道路路径的处理,由前面建立的模型,需要生产对应的邻接矩阵来进行进一步的代数量化。

在道路交通网络模型中,给出了汽车在主干道路节点的停留指数T_1和岔路节点的停留指数T_2,指定T_1=1T_2是一个相对于T_1的比例值,其值为1.733,0表示不可通行。

下表是一个邻接矩阵的示例表:

biao5.png

在一个开放小区群中,每个小区的具体结构则由随机数R_{struct}确定。根据前面的统计结果可以确定R_{struct}的判断阈值区间,得到如下所示的小区类型判断阈值区间表:

biao6.png

需要指出的是,在最开始的模型假设中,假定所有汽车都会行驶最短路径,不会重复通行同一路径。

而在后续的车流仿真模型中,前面已指出,由于对称性,只需模拟从左上角到右下角的车流,因此在每个节点处车只会选择向右或向下行驶,所以下面两种类型的小区结构在计算机模拟运算时没有实际价值,所以不予考虑。

2_5.png 2_5.png

结合上述的判断阈值区间表,可以在已生成的R_{judge}随机数满足R_{judge}\in [0,0.678)的条件下,通过生成另一个随机数R_{struct}代入该表以确定小区结构,然后通过结构构造函数,将对应的权重值填入代表路径结构的邻接矩阵的元素中。

结构构造函数通过Python程序实现,原理是以单个开放小区为对象,在邻接矩阵中连通对应类型小区具有的道路路径元素。具体实现过程见附录的程序代码。

自动仿真车流模型的实现

将自动车流的初始位置设为(0,0),由前提假设,车流默认选择最短路径,行驶过程中不可倒退,因此在每个结点只有向右或向下的通行选择。通过访问邻接矩阵

biao7.png

可以读出其可通行路径的权重值,在本模拟过程中,已到达点(i,j)的车具有可通行选项(i+1,j)(i,j+1).计算出选择概率阈值P_{i,j\rightarrow i+1,j}=\dfrac{w_{i,j\rightarrow i+1,j}}{w_{i,j\rightarrow i+1,j}+w_{i,j\rightarrow i,j+1}}P_{i,j\rightarrow i,j+1}=\dfrac{w_{i,j\rightarrow i,j+1}}{w_{i,j\rightarrow i+1,j}+w_{i,j\rightarrow i,j+1}},同时给出一个范围在[0,1)内的随机数t,若t \in [0,P_{i,j\rightarrow i+1,j}),则该车从点(i,j)向右通行到点(i+1,j),若t \in [P_{i,j\rightarrow i+1,j},P_{i,j\rightarrow i+1,j}+P_{i,j\rightarrow i,j+1}),则该车向下通行到(i,j+1).

此外,还需限定i,j的最大值,当i,j=101时,表示此时车已到达小区群的边界,只能分别限定车向下和向右行驶。

将上述过程构造为一个递归函数,递归结束判断条件为i=101j=101。其中,w_{k,l\rightarrow m,n}由前面的道路交通网络模型分析给出,可能的值有0、1或4,且可以肯定的是,车在每个节点都必然会有后续可行走的非重复路径,故P_{i,j\rightarrow i+1,j}P_{i,j\rightarrow i,j+1}的分母{w_{i,j\rightarrow i+1,j}+w_{i,j\rightarrow i,j+1}}必然不会等于0,仿真车流的递归行驶函数不会提前出错进而导致终止。

下面的矩阵Route是一个101\times 101大小的矩阵,代表仿真车流中的一辆车的一次行驶路径。矩阵中的元素1表示车在对应的格点停留一次,0表示未经过该点。

Route= \left( \begin{array}{cccccc} 1&1&1&0&\cdots&0\\ 0&0&1&0&\cdots&0\\ 0&0&1&1&\cdots&0\\ \vdots&\vdots&\vdots&\vdots&&\vdots\\ 0&0&0&0&\cdots&0\\ 0&0&0&0&\cdots&1\\ 0&0&0&0&\cdots&1\\ \end{array} \right)

具体的程序函数实现过程见附录中的程序代码。

仿真车流在多类型结构小区群模型下的仿真模拟结果及数据统计结果

在探究开放小区不同自身结构对周围道路交通的影响结果时,应当控制开放小区的个数和位置为不变量,只改变小区的结构类型,才能进行有效的、有意义的横向对比。

所以一旦生成好Judge矩阵时,所有的开放小区都应按照此矩阵来确定开放小区位置。

(1)随机开放所有类型小区情况下的仿真模拟结果

根据生成好的Judge矩阵,通过置随机数,将随机数的值与小区类型判断阈值区间表的样式类型对应区间进行对比,进而由结构构造函数,向存储路径元素的邻接矩阵添加可通行值。

通过上述过程,可以生成一个位置随机、数量随机、结构随机的小区群落,此时运行并记录20次车流仿真结果,其中每次车流共发出100辆车。

在统计道路节点拥堵指标时,需要在每次停留时,将停留值乘上主干道路节点的停留指数T_1和岔路节点的停留指数T_2,根据前面的道路交通网络模型可得,主干道路节点的实际停留值为1而岔路节点的实际停留值为1.733.

下面是在随机开放所有类型小区情况下,道路网络覆盖使用率指标和道路节点拥堵指标的统计结果:

biao8.png

在统计结果中,道路网络覆盖使用率指标下的平均值0.895332是指在该结构下,小区群的开放能够让周围的主干道路使用率降为原来的89.5332%,这个值越低,则能说明该结构的开放小区群能够更大程度地减弱周围道路的运行压力,增强主干道路的通车能力。

而道路节点拥堵指标则可以用来反映该开放结构下的小区群对周围交通道路造成的局部性的极端拥堵情况。如果拥堵值之和越大,则表示拥堵情况更明显,是一个负向的评判因子,该因子用来在不同结构的开放小区群之间进行横向对比,作为道路网络覆盖使用率指标的辅助评判指标。

(2)开放不同结构类型小区情况下的仿真模拟结果

同样采用上述的仿真模拟过程,生成四个位置随机、数量随机、结构随机的小区群落,运行并记录20次车流仿真结果,其中每次车流共发出100辆车。

需要注意的是,在对开放不同结构类型小区情况下的仿真模拟结果进行横向对比时,需要确保控制无关变量不变,因此除结构随机外其他都应保证相同,故在第一种开放类型的小区群确定好随机位置和随机数量的小区时,其他几种情况应当与第一种保持一致,方能保证横向对比的意义。

下面是在分别开放不同类型结构小区的情况下,道路网络覆盖使用率指标的统计结果:

biao9.png

下面是在分别开放不同类型结构小区的情况下,道路节点拥堵指标的统计结果:

biao10.png

基于分析结果和统计计算结果的模型结论

根据前文的所有理论分析、仿真模拟、数值统计和数值计算等结果,可以得出下面的结论:

(1)开放小区后,微观上会在开放小区与主干道路相接的岔路口形成局部的拥堵情况,但程度并不严重;

(2)开放小区后,在片区式的开放小区群中,能够减缓主干道路压力,增强周围道路的总体车流通行能力;

(3)开放小区对交通网络的影响,受小区结构类型的影响较为明显。从数据可以分析出,四路形的小区对片区内周围主干道路的减缓能力是最强的,其次是三路形小区,减弱能力最弱的是双路形小区,其减缓能力低于平均值;

(4)开放小区对交通网络的影响,与周围道路上的车流量大小有一定的特殊关系。当车流量较小时,开放更多的小区并不能十分明显地减缓局部拥堵;而当车流量较大时,更多的开放小区起到了有效的车流分流作用,使得交通网络中的车流更饱和,即能将潜在的局部拥堵点分散到整个道路系统。(需要强调的是,这里的减缓作用不是将现有的拥堵情况减弱或者消除,而是让拥堵情况的加剧程度减弱下来)

根据结果给出的合理化建议

根据本文的分析过程和最终结论,在仅考虑交通方面问题的前提下,开放小区能够在缓解周围道路运行压力方面带来较为明显的作用。而在交通流量大的地区,还能带来非常明显的交通分流效果。

因此,在交通流量大、易拥堵的地区,应该尝试建立更多的开放式小区,同时还要尽可能增加小区内部道路数量,从而达到改善交通网络的作用。

附录

在这次的国赛中,我们的主体部分即如上所示,限于篇幅,没有将全部内容展现。欢迎有兴趣的人与我们一同交流。