巴黎环岛设计(本队拙见)
巴黎环岛车流控制模型 摘要本文就巴黎凯旋门环岛的交通问题,建立了控制进入、环绕、流出此环岛车流量的红绿灯模型,目的是使环岛内交通顺畅,并且尽量让堵车时间短,堵车数量少。
通过分析,发现环岛内的最大车流量为1000,波动范围为+200,还可根据车道宽度计算出每个路口的最大车流量。这两个因素对环岛交通有着很大影响。因此,主要考虑车流量和环岛内的车辆数目的影响。并设定,在建立模型时,环内车辆总数最好不超过1000辆。
根据各时段车流量的多少,本文将车流分布为四种情况:高峰期、次高峰、一般情况、稀疏情况。再根据各时期的车流量,建立了环岛内车辆总数Q关于流入量与流出量的方程: 。通过随机模拟,得出环岛12个路口的车流量,并根据堵车时间尽量短,堵车数量尽量少的原则,找出所有可能的红绿灯组合(前提是每个路口都有红绿灯),通过比较,得出最优化的组合(具体组合见模型建立与求解部分)。
通过随机模拟,对于不同时期,得到不同最佳方案:
1.对于高峰期,将红绿灯时间分为四个阶段:1.编号为1 3 5 7 9 11 (见图一)的红灯亮,其余的绿灯亮,持续时间T1=65秒;2.红灯灭,所有绿灯亮,持续时间T2=27秒;3.编号为2 4 6 8 10 12 的红灯亮,其余绿灯亮,持续时间T3=65秒;4.绿灯全亮,持续时间T4=27秒。之后重复上述循环。红绿灯总周期为T=184秒。
2.对于次高峰的方案,红绿灯组合与开关顺序与高峰期完全相同只是各时段持续时间不同:T1=T3=35秒,T2=T4=23秒。
3.对于一般情况和稀疏情况,红绿灯顺序为:在所有路口,先红灯亮,持续时间为T=30秒;之后绿灯亮,持续时间为T=50秒。之后,重复循环。
由以上方案来模拟计算一天内环岛内车流量Q,其值超过最大容量的平均概率不超过5.00%,较为理想科学,所以此方案可行性较高。
最后,对模型进行了改进与评价。
关键词:环岛车流控制 红绿灯控制 排列组合 随机模拟 等待时间
一.问题的提出 巴黎凯旋门环岛有12个路口,其中有2条主道,10条支道。在进入该环岛的道路入口处可以设计有一些信号灯,或其他标志来控制车辆的流通。即为环岛制定车流控制模型,要综合考虑各时刻的车流量,环岛内最大车流量,天气情况,工作日与周末情况等因素。
我们的目标是,根据已知的信息,建立控制环岛车流量的具体模型,并分析该模型的优劣与稳定情况。
图1 环岛平面图
二.模型假设 1.假设每个路口的进入车辆服从均匀分布(具体的分布情况见问题分析)。
2.假设每个路口的离开车辆也服从均匀分布。
3.假设每个路口都配置有红绿灯装置。
4.假设环岛为单行道,只允许进入车辆沿着俯视逆时针方向行驶。
5.假设进入环岛的车辆最多只在环内行驶一圈,不能多次在环内循环。
6.设环岛内与各路口处的车速为20km/h~ 30km/h即5.6m/s~8.3m/s。
7.假设只考虑正常情况下的交通,不考虑发生车祸和路面维修等意外情况。
三.变量说明 :环岛内半径。
:环岛外半径。
:车底面积。
:环岛路面面积。其值应该为两圆面积之差, 。
:环岛可容最大车辆数。 取整。
:环岛内车辆总数。
:环岛内车辆总数的当前值。
:各路口进入的车流量。(1<i<12)
:各路口离开的车流量。(1<i<12)
:逻辑控制变量,用于表示各路口的通堵情况。 =1表示通路,即绿灯亮; =0表示堵车,即红灯亮。(1<i<12)
:表示所有路口的流出车流量。
:表示红绿灯持续时间,具体是红灯或绿灯,模型中会具体说明。
:为某种情况下的堵车数量,具体模型中会说明。
:车流密度,作为参考因素,将影响对车流量的模拟。
四.问题分析 此问题属于交通流问题,我们在初步考虑这个问题时,参考了交通流模型的结构方程。我们认为影响环岛车流量的因素有很多:红绿灯,时刻(高峰期,平时等),天气情况,游客人数(虽然凯旋门游客时从地下进入凯旋门的,但是每个路口还是设置了人行道,所以游客的多少也会影响到车流速度,因而影响到车流量)。正常情况下我们不再考虑路面维修和车祸的影响。
由上分析,我们需要做的是通过对交通流情况的模拟,找到最优化的红绿灯控制情况,从而达到车辆最优化控制的目的。
因此,我们将此问题归类为最优规划类问题。
我们查找到了以下参数:
凯旋门环岛每天平均车流量:110万/天。
环岛外半径:80m。
环岛内半径:53m。
一般中型车的底座面积:(7~10)m2
主道可以同时并行3~4辆车;支道可以同时并行1~2两车。
4.1 环岛最大车容量:
由上面搜集的数据,我们可以计算出环岛最大车容量。
环岛内半径为 ,外半径为 ,车底面积为
则环岛路面面积应该为两圆面积之差:
。
则环岛可容最大车辆数为: (取整)
可得环岛最大可容车辆数目为: =1327(辆)。
考虑到车之间应该有一定的间距,并且应保证环岛有一定的畅通,流畅性,我们设定环岛最大可容车辆数为N=1000辆(稍微超过1000也行,我们只要保证严格地不超过1200)。
4.2 各时段的车流情况
工作日
时间分布
时期分布
0:00~5:00
稀疏情况
5:00~6:00
一般情况
6:00~7:30
次高峰
7:30~9:00
高峰期
9:00~17:30
次高峰
17:30~19:30
高峰期
19:30~21:00
次高峰
21:00~23:00
一般情况
23:00~24:00
稀疏情况
周末
时间分布
时期分布
0:00~5:00
稀疏情况
5:00~6:00
一般情况
6:00~8:00
次高峰
8:00~17:30
高峰期
17:30~23:00
次高峰
23:00~0:00
一般情况
表1
说明:
在巴黎和法国其他主要城市,高峰时段的交通最为挤塞。法国每日的交通高峰时段是早上7时30分至9时及下午5时30分至7时30分的上下班时间。在星期五法国人一般都会外出旅游,所以交通高峰期会较平日来得更早,在下午4时起便开始阻塞,其中尤以离开巴黎的各条公路最为繁忙,而非高峰时段的交通一般非常顺畅。
4.3 对于交通模型的假设与估计
对于交通流模型:
其中:q为车流量(即单位时间内通过的车辆数);
为车流密度(单位路长的车辆数);
为最大车流密度。
为最大车速(注意:车速时车流密度的函数, )。
根据上面的方程,我们可以估计出每个路口不同阶段的车流量,这包括流入与流出。
为了保证总塞车量最小,同时等车时间最短。我们针对不同时段对车流量进行了不同的划分:
环岛内车辆总数Q
时 期
有红灯亮
无红灯亮
进
出
进
出
主道y
支道y
主道w
支道w
主道y
支道y
主道w
支道w
800~1000
高峰期
3~4
1~2
0~4
0~2
3~4
1~2
0~4
0~2
500~800
次高峰
2~4
0~2
0~4
0~2
2~4
0~2
0~2
0~1
200~500
一般情 况
1~2
0~2
0~4
0~2
1~2
0~2
0~2
0~1
0~200
稀疏情 况
*
*
*
*
*
*
*
*
表2 五.模型的建立和求解 我们先设立一个逻辑控制变量 ,
对第i个l路口,当有车进入时, =1(即认为绿灯亮)。
当没有车进入时, =0(即认为绿灯灭)。
又设 为第i个路口的车流量(辆/秒)。
则我们可以列出下列等式:
根据:单位时间内,环路车流量的增量=流入的车流量—流出的车流量。
dq表示单位时间内环路车流量的增量。
对于 以及 我们可以用rand模拟。
因此,环岛内车辆总数Q满足:
注:
由于 的组合有很多种,我们加入限定条件,即要保证等待时间最短(红灯亮的时间最短),以及等车数量最少。
因为等待时间就是红灯亮的时间T,等车数量又与车速和等车时间有关。
为此,我们设立下列函数:
说明:
为各路口的逻辑值(通为1,不通为0)
为第i个路口的车流量(辆/秒)
为循环中第一次亮红灯时的堵车量, 为第二次亮红灯时( 的对立面)的堵车辆。
为总堵车辆。
上面的分析可能需用到下列参数值:
1.
每条路段上的最大车流量。
2.
每天路段上的最大车流密度。
3.
每条路口进入的车流量(辆/秒)。
4.
每条路口开出的车流量(辆/秒)。
通过模拟,我们将在不同的组合中找出最佳的红绿灯方案,并通过多次模拟,确定时间分配。
一、对于高峰期时,我们对于下列组合进行了模拟(程序见附件):
红灯亮的个数(盏)
12
11
10
9
8
7
6
5
4
3
2
1
0
平均最短等待时间(秒)
16
20
22
27
30
42
70
154
Inf
(无穷大)
Inf
Inf
Inf
Inf
表3 注释:
对于红灯亮的盏数,我们可以有很多种组合方式,比如红灯亮1盏,可以是1~12编号中任何一个亮,但这些组合中总是有一种或多种为最优组合,这从我们程序结果可以看出。
分析:
有0盏红灯亮:
此情况显然不合理,因为没有红灯就无法控制环岛总量。
有1盏红灯亮:
对于此种情况,经过模拟发现不可能达到降低环岛车辆的目的,反而,环岛内将更加拥堵。(过程见程序)
有2盏红灯亮:
此情况结果同上,不可能达到降低车辆的目的。
有3盏红灯亮:
此情况结果同上,不可能达到降低车辆的目的。
有4盏红灯亮:
此情况结果同上,不可能达到降低车辆的目的。
由上分析说明,红灯至少应该亮五盏以上。
为此,我们排出一下组合:
5——7:
此种组合方式下,可以分为:
a.开五盏红灯时(包括一个主道)的等待时间为144秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为48。
此时,总塞车量为:
b. 开五盏红灯时(不包括主道)的等待时间为inf秒,故此情况不成立。
6——6:
此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为68秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为67(由于分布相同,其实两个等待时间应该一样,但由于是模拟,不可避免的造成一定的差异)。
此时,总塞车量为:
在保持堵车时间尽量短,堵车数量尽量少的原则下:
只有选择6——6组合是最优的。
根据等概率原理,各条支道应看做概率上相同的路口,而两条大道也是等效的,因此,在模拟时,我们就可以人为地设定组合,只需保证总数按红灯亮的盏数分布即可。比如:对有6盏红灯亮,我们选定组合编号为:1 3 5 7 9 11(1为主道),此组合方式与2 4 6 8 10 12等效。
这时我们可以确定红绿灯的循环模式。
不妨设定,先使编号为1 3 5 7 9 11 的红灯亮,在经过T(T=68秒)后,打开所有绿灯(包括原来的绿灯),再等环岛内车辆上升至限定值后(经计算t=25),再打开另外路口6盏红灯,其编号为2 4 6 8 10 12。之后,重复上述循环。
二、对次高峰,模拟结果如下(程序见附件):
亮红灯个数(盏)
12
11
10
9
8
7
6
5
4
3
2
1
0
平均等待时间(秒)
24
30
31
32
35
43
57
68
96
Inf
Inf
Inf
Inf
表4
说明:
对于红灯数目小于4的情况,实际上有的模拟值满足要求,但由于等待时间太长(100秒),并且情况及其不稳定,多次出现inf,也就是不能达到降低车辆的效果,我们认为这些情况都不现实,均统一成inf类。
由上分析说明:红灯至少应该亮四盏以上。
为此,我们排出下列组合:
4——4——4:
此种组合方式下,开4盏红灯时(编号为1 3 4 5)的等待时间为80秒,开另外4盏红灯(编号为2 6 7 8)的等待时间为77秒,开最后剩下的4盏红灯(9 10 11 12)的等待时间为147秒。
此时,总塞车量为:
4——8:
此种组合方式下,开4盏红灯时(编号为1 3 4 5)的等待时间为80秒,开另外8盏红灯(编号为2 6 7 8 9 10 11 12)的等待时间为39秒。
此时,总塞车量为:
5——7:
开五盏红灯时(包括一个主道)的等待时间为58秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为45。
此时,总塞车量为:
6——6:
此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为50秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为50(由于分布相同,其实两个等待时间应该一样,但由于时模拟,不可避免的造成一定的差异)。
此时,总塞车量为:
由上可知:
对于高峰期和次高峰期都应该选取6——6的组合,并且将两条主道分配到不同的组合中。
说明:(为什么选取组合时两条大道不能同时选取?)
下面只针对高峰期说明:
对于高峰期同时选取两条大道的情况:
有2盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=inf,也就是说不可能达到降低车辆的目的。
有3盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=inf,也就是说不可能达到降低车辆的目的。
有4盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=158秒,并且多次模拟发现其等待时间出现为inf的几率很大,也就是说不可能达到降低车辆的目的。
有5盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=101秒,并且多次模拟发现其等待时间出现为inf的几率很大,也就是说不可能达到降低车辆的目的。
有6盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=63秒。
有7盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=50秒。
有8盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=45秒。
有9盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=35秒。
有10盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=30秒。
同样地,考虑到我们设计的算法,对于高峰期,不可能不选取某一条大道,所以我们只需考虑对称选取,即组合时尽可能的将大道分配在不同组合中。
有2盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间多次出现T=inf,说明此种情况不可能大道降低车辆的目的。
有3盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间T=96秒,但也多次出现inf的情况,因此不考虑此种情形。
有4盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
T=65秒,但也有很大的几率出现inf的现象,也不考虑。
有5盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
T=45秒。
有6盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
T=35秒。
有7盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
T=31秒。
有8盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
T=27秒。
有9盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
T=25秒。
有10盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间=23秒。
对比上面的两种组合下的结果,显然第二种情况更为节约时间,对于所有红灯亮的情况,只选取一个大道通畅的情况能保证等车时间。因此,我们认为,选取组合时两条大道不能同时选取。
由此,我们可以得出高峰期和次高峰期的红绿灯控制方案:
对于高峰期的方案:
先亮6盏红灯(包括主道的那个红灯),其持续时间为T=65秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为T=27秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为T=27秒,此后若不打开红灯限制车流入,将超过环岛最大车容量,因此,时间不能超过27秒,但是,我们为方便设计考虑,将时间定为27秒)。之后,又打开另外一组没亮过的红灯,持续时间为T=65秒。结束后重复上述过程。
对于次高峰的方案:
先亮6盏红灯(包括主道的那个红灯),其持续时间为T=35秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为T=23秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为T=25秒,此后若不打开红灯限制车流入,将错过环岛最大车容量,因此,时间不能超过25秒,为此,我们为方便设计考虑,将时间定为20秒)。之后,又打开另外一组没亮过的红灯,持续时间为T=35秒。结束后重复上述过程。
三、对于一般情况与稀疏情况的说明:
A.
一般情况:
对于6盏灯的组合(每个组合只分配有一个大道),其等待时间T>150秒,如果红灯时间仍然按此时间设计的话,肯定是不科学的,因为不可能让汽车等待如此之久。因此,我们从尽可能减少等待时间为标准,经过模拟,发现当所有路口均亮红灯时,其等待时间最少,为T=23秒,而这也符合一般城市中非高峰期的等车时间,我们为了方便设计,将此时间定位30秒,而30秒也是一个可承受的等候时间。对于绿灯全开时的情况,更趋前面的假设,经过模拟,畅通时间为T=50秒。因此,我们选定一般情况时,红绿灯亮灭的原则时,所有路口红灯全亮,持续时间为T=30秒,此后红灯灭,绿灯开,持续时间为50秒。之后,重复循环。
B.稀疏情况:
对于稀疏情况,车流量具有不确定性,我们无法估计具体的车流量,但由于此种情况下车流量很小,我们可以将之归到一般情况,并且以一般情况的红绿灯规则来控制。
六.模型检验 根据我们的方案,我们采取随机模拟的方法,分别对高峰期,次高峰,一般情况和稀疏情况进行随机模拟。
为了保证环岛内交通的流畅,我们设定环岛内的车辆总数Q不能超过1000,但实际上换岛内最大车容量为1327,因此,我们在考虑交通流畅性的前提下,可以适当地放宽这个限制,严格规定Q不能超过1200。
我们检验的目的是为了了解模型的稳定性,为此,我们对四种情况分别进行了24小时的模拟,其结果如下:
1.高峰期:(程序见附录)
第一阶段红灯持续时间t=65秒
第二阶段绿灯持续时间t=27秒
第三阶段红灯持续时间t=65秒
第四阶段绿灯持续时间t=27秒
总周期T=184秒
对于此方案,我们在模拟时发现,由于每周期都会累积一定的车辆,也就是误差,在很长时间后,其累积的误差将达到非常大并且不合理(超出最大容量)的数值。因此,我们需要增加一个修正时间,并且此时间应该很小,只在车辆超过一定数量时才加入。
我们的做法是,当环岛内车辆大于1000时就对红灯持续时间加3秒钟,即此时红灯持续时间t=65+3=68秒。在车总量Q没有超过1000时,我们仍然以65秒的规定时间运行红灯。
这样,我们模拟24小时高峰期后:超过1200的车辆次数为37,占一天内车辆总数的比例为1.97%。(这只是模拟一次的情况,在模型改进中,我们模拟八次后取平均,得出更加准确的比例:2.74%)
对于此比例,我们认为是相当小的,也就是说,发生环岛堵车的概率时非常小的,因为我们是对1天进行模拟,累积误差显然会相当大。而一般的高峰期只持续2小时左右,累积误差必然很小,其堵车概率也应该低于1.97%。
2.次高峰期:(程序见附录)
第一阶段红灯持续时间t=35秒
第二阶段绿灯持续时间t=23秒
第三阶段红灯持续时间t=35秒
第四阶段绿灯持续时间t=23秒
总周期T=116秒
对于此方案,我们为了保证环岛被最大利用,同时又能使交通运转顺畅,设定环岛内最大车辆数不超过800,经我们模拟24小时次高峰:超过800辆的几率为:
,显然这是非常好的方案,鉴于此,我们不对此方案做修正,即沿用模型建立中确定的红绿灯持续时间。
3.一般情况和稀疏情况:
因为车流量的原因,不可能造成交通的拥堵,因此,我们不在对此情况做模型检验。为了说明时间安排的科学性,可参考其他大城市的一般情况的红绿灯时间。
七.模型改进 1.对于工作日和非工作日,由于车流量的分布不同,我们可以根据表1来设计红绿灯时间安排。
2.我们只考虑了每个路口流入与流出的关系,并没有考虑到车辆在环岛内的绕行情况。所以可以增加限制条件:环岛内并行车辆不碰撞,这样可以选出更加优化的方案。
3.不妨考虑车辆在环路中的相位问题,这项可以细化到每辆车的行驶情况,但这样相对来说较为复杂,我们不予考虑。
4.对高峰期时间的修正:
若不对高峰期的红灯持续时间作修正,则经长时间后,累积误差将使环岛内车总量超过1200(我们称之为危险),这是非常可怕和不安全的。为此,我们对红灯持续时间做一点微小的修正。经过我们的模拟:(程序见附录)
修正时间t=0时,出现危险的几率:89.62%。
修正时间t= -1时,出现危险的几率:88.56%。
修正时间t= -2时,出现危险的几率:98.03%。
其实,如果减少红灯时间,显然,这时在这段时间内进入的车辆数目就会增加,在不修正时已经危险的情况下当然就会照成危险几率变大。
所以,我们应该将修正时间调为正值。
修正时间t=1时,出现危险的几率:93.33%。
修正时间t=2时,出现危险的几率:13.74 %。
修正时间t=3时,出现危险的几率:2.74%。
因此,我们以5%为限定,确定出修正时间为3秒。
八.模型评价 8.1 优点
1.本文对不同车流时段(高峰期、次高峰、一般情况与稀疏情况)模型分别进行了模拟计算,得到了最优组合下的红绿灯循环时间。由于车流量是基于模拟的,并且环岛内车辆总数也是先设定的,因此,我们的模型可以适用于很多情况。并且,根据我们的模型,对于已知车总量和具体车流分布情况,可以重新确定出最优化的红绿灯控制模型。
2.在建模过程中,我们对所有可能出现的红绿灯组合情况进行了模拟,这样最终得到的最优组合的方法是很科学的。
8.2 缺点
1.在模拟模型的过程中,我们假定车流量服从均匀分布,这带有一定的主观性,并且我们并没有考虑每一辆车的具体行驶情况,比如车辆在环路中的相位问题,这可能造成某些紧急事件发生时不能及时疏通道路的问题。 希望大家多多指正批评~~~小子不才,愿听高见~~ 再补充一句:我有回比复~~~谢谢~!~~ 支持原创! 4# jun362801
thank u 无比感谢你的思路~!!!!!!!!!!!!!!!!!!!!!! 强人~~~~~~~~~~~~~~~~~~~~~~~ 请问有程序附件么? 今天做这题,参考一下