在线时间 4 小时 最后登录 2017-2-18 注册时间 2009-7-27 听众数 5 收听数 0 能力 0 分 体力 36 点 威望 2 点 阅读权限 20 积分 53 相册 0 日志 1 记录 0 帖子 43 主题 7 精华 0 分享 0 好友 1
升级 50.53%
TA的每日心情 奋斗 2014-2-8 12:28
签到天数: 5 天
[LV.2]偶尔看看I
4 t8 ~8 e8 k- c
本文就巴黎凯旋门环岛的交通问题,建立了控制进入、环绕、流出此环岛车流量的红绿灯模型,目的是使环岛内交通顺畅,并且尽量让堵车时间短,堵车数量少。 ( t8 }0 a4 r0 ~ e
通过分析,发现环岛内的最大车流量为 1000, 波动范围为 +200 ,还可根据车道宽度计算出每个路口的最大车流量。这两个因素对环岛交通有着很大影响。因此,主要考虑车流量和环岛内的车辆数目的影响。并设定,在建立模型时,环内车辆总数最好不超过 1000 辆。 ( I' _6 b5 n3 d( j1 O, f
根据各时段车流量的多少,本文将车流分布为四种情况:高峰期、次高峰、一般情况、稀疏情况。再根据各时期的车流量,建立了环岛内车辆总数 Q 关于流入量与流出量的方程: 。通过随机模拟,得出环岛 12 个路口的车流量,并根据堵车时间尽量短,堵车数量尽量少的原则,找出所有可能的红绿灯组合(前提是每个路口都有红绿灯),通过比较,得出最优化的组合(具体组合见模型建立与求解部分)。 * N, ~7 G" r% P8 W" T3 ?1 H( x7 B
通过随机模拟,对于不同时期,得到不同最佳方案:
b* P0 U& o$ N8 [! k& E 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 秒。 0 @# q7 ?/ `5 a; @$ f0 U5 i8 F/ E
2 .对于次高峰的方案,红绿灯组合与开关顺序与高峰期完全相同只是各时段持续时间不同: T1=T3=35 秒, T2=T4=23 秒。 ; e* \5 Q; d/ Q) @0 F; V' A# ^+ f
3 .对于一般情况和稀疏情况,红绿灯顺序为:在所有路口,先红灯亮,持续时间为 T=30 秒;之后绿灯亮,持续时间为 T=50 秒。之后,重复循环。
2 H* P& y2 a2 ` ]: F 由以上方案来模拟计算一天内环岛内车流量 Q ,其值超过最大容量的平均概率不超过 5.00% ,较为理想科学,所以此方案可行性较高。
$ D" v% h( I' N* r L5 L( G7 L 最后,对模型进行了改进与评价。
- c$ U+ q& h) y . u) e, X! B' D& h1 X# p$ u1 v. A
' O3 L5 t$ c4 S/ F 关键词 :环岛车流控制 红绿灯控制 排列组合 随机模拟 等待时间
; }: W4 h' k3 j2 H
8 T; o9 a. ^# L( w
) t$ e7 O% T8 B8 e# @7 Z + W5 I7 Z2 h. }+ a1 m
; s9 y5 t6 G' h/ e
" i+ {8 D7 r# c3 x$ M% L 8 x# d4 o+ q2 G! Z% R* Q( T
巴黎凯旋门环岛有 12 个路口,其中有 2 条主道, 10 条支道。在进入该环岛的道路入口处可以设计有一些信号灯,或其他标志来控制车辆的流通。即为环岛制定车流控制模型,要综合考虑各时刻的车流量,环岛内最大车流量,天气情况,工作日与周末情况等因素。
4 w/ T+ e" p+ r+ `3 g9 _ 我们的目标是,根据已知的信息,建立控制环岛车流量的具体模型,并分析该模型的优劣与稳定情况。
. ?7 U7 G! ^& W) H 4 {, _/ u( V' o2 ]7 @) o4 y4 x
7 ?9 |2 x& `" w' b2 n, s5 O: c
. Y1 a# M p# [0 E' u# m4 N' P9 w! Z
9 ]6 R1 b* B5 P' h) I( [3 L C+ R* ?. N: O
9 S1 I) m0 X& b$ f$ |' _ / U) x r4 U% l" p X" T4 |
1 .假设每个路口的进入车辆服从均匀分布(具体的分布情况见问题分析)。
Q: K6 U( O6 J+ E$ |. ]0 W/ e9 _0 M: F 2 .假设每个路口的离开车辆也服从均匀分布。
- J G- Q3 `; B* u4 L2 q- r' t 3 .假设每个路口都配置有红绿灯装置。 - K& E# F: Q7 A6 g% `: Z8 V
4 .假设环岛为单行道,只允许进入车辆沿着俯视逆时针方向行驶。
" q. G2 }0 E1 y/ T: d# W' g1 y- P* @ 5 .假设进入环岛的车辆最多只在环内行驶一圈,不能多次在环内循环。 7 _7 Z, N6 i9 |* @) H+ ^( ^
6 .设环岛内与各路口处的车速为 20km/h ~ 30km/h 即 5.6m /s~8.3m/s 。 5 U# u! w, e0 @* y8 }3 i) k
7 .假设只考虑正常情况下的交通,不考虑发生车祸和路面维修等意外情况。
; l2 ?* m6 d* m$ b; w. O4 F) D" F4 ^ b 7 H7 Q& g1 Y1 w8 Z6 L- x1 q( w" l6 x
! G7 ~) x# Q% h. B! _3 w ; M1 m' O; o7 S. b9 n4 j
:环岛内半径。
& r, M0 u# @9 s :环岛外半径。 : k! ]/ f0 J- x" c
:车底面积。
' R1 x7 d/ x2 a9 y+ ?' i! [, @$ b :环岛路面面积。其值应该为两圆面积之差, 。 + x; i* `) V. M# t+ ^" n( D
:环岛可容最大车辆数。 取整。
9 ^! X& q. [" [( \6 { :环岛内车辆总数。
7 f2 o/ h3 f p :环岛内车辆总数的当前值。 1 E. k) `0 x8 V+ I
:各路口进入的车流量。( 1<i<12 ) 0 ^# e! T3 O0 J/ j9 K3 y! J6 ?
:各路口离开的车流量。( 1<i<12 )
, @; _7 |+ D$ p4 m1 O* A :逻辑控制变量,用于表示各路口的通堵情况。 =1 表示通路,即绿灯亮; =0 表示堵车,即红灯亮。( 1<i<12 ) 9 k( F3 s9 f' r* E1 Z2 L
" C6 z# r( d" E" s0 E, v" I :表示所有路口的流出车流量。
O2 [, A# j7 G! L& g . O: q" `- t* R; y* w2 o
:表示红绿灯持续时间,具体是红灯或绿灯,模型中会具体说明。 1 _; f$ n# b: n! n/ R! N0 _
2 \; y" Y( i2 X# @! a :为某种情况下的堵车数量,具体模型中会说明。
7 Z( P ?9 n; r6 b) C- Z
/ {* F0 h: z0 y+ J" ~ :车流密度,作为参考因素,将影响对车流量的模拟。 $ T6 [0 N9 A4 u. z6 V
+ ]" W2 o& n6 e0 |
# t. c. E' D# w& N / ^; Z3 v, Q; K& b5 x/ _, u, @
此问题属于交通流问题,我们在初步考虑这个问题时,参考了交通流模型的结构方程 。我们认为影响环岛车流量的因素有很多:红绿灯,时刻(高峰期,平时等),天气情况,游客人数(虽然凯旋门游客时从地下进入凯旋门的,但是每个路口还是设置了人行道,所以游客的多少也会影响到车流速度,因而影响到车流量)。正常情况下我们不再考虑路面维修和车祸的影响。 + j, Q, D* Q" H# U0 S
由上分析,我们需要做的是通过对交通流情况的模拟,找到最优化的红绿灯控制情况,从而达到车辆最优化控制的目的。 7 P1 }1 S8 y) _" U( a
因此,我们将此问题归类为最优规划类问题。
. p$ x, b [: t6 C, \8 | 我们查找到了以下参数:
( [8 r8 ?+ Z1 \" [ 凯旋门环岛每天平均车流量: 110 万 / 天。 3 K/ O; K0 y, q7 e' |7 P& j
环岛外半径: 80m 。 1 w0 Y) H% b$ U8 _; N# b& `4 |
环岛内半径: 53m 。
: q2 H# z% S' P* u9 [ 一般中型车的底座面积:( 7~10 ) m2 @3 {4 R5 p7 r r% U
主道可以同时并行 3~4 辆车;支道可以同时并行 1~2 两车。
z; U# ^; f0 o7 S7 P9 B & V" x. l/ @8 N4 i; e9 a
4 z4 d% f1 F( @" Y+ B6 A
4.1 环岛最大车容量:
/ ~. m9 ^ g0 z 由上面搜集的数据,我们可以计算出环岛最大车容量。 $ H2 Y% @2 t8 K0 H
环岛内半径为 ,外半径为 ,车底面积为 ) }$ [* r: u9 ], }6 i! _, i
则环岛路面面积应该为两圆面积之差:
( @/ G- ^( q9 o' k7 Z( [# D8 M5 @* f6 d 。
# `* s+ {0 ~. }+ ]6 {" P) J) R 则环岛可容最大车辆数为: (取整) & E7 m8 a" E, P* d+ E$ O6 u
可得环岛最大可容车辆数目为: =1327 (辆)。
' ~7 ~1 B, ]7 M: c4 h( m 考虑到车之间应该有一定的间距,并且应保证环岛有一定的畅通,流畅性,我们设定环岛最大可容车辆数为 N=1000 辆 ( 稍微超过 1000 也行,我们只要保证严格地不超过 1200) 。 & X7 f& G! |1 ^5 m
: i) l+ Q! c8 L6 W' G6 N' d ! M& K4 F2 {( G5 ]0 `9 ]# ?3 \: [% l
4.2 各时段的车流情况 & o5 x' Z; F; i* X7 W% `* |
7 m3 C% H* ]6 O9 a' N9 R5 s
工作日 ( w% J$ d# o/ Y& {/ ~
时间分布
$ r, S% J: ?/ W' ?' u2 C/ A6 o6 j 时期分布
A5 U! }4 `) [0 r 0 : 00~5 : 00 : V; | C! B5 z; Y' _( r0 m
稀疏情况
) ]9 j. v; q8 g! a. o" ] 5 : 00~6 : 00
% U- H. o6 |# _) B6 K" Q 一般情况 : J' \$ b7 z1 a; _
6 : 00~7 : 30
- _, R9 I0 |% u( Z# P2 S3 f6 } 次高峰 9 }4 \( ~. T8 E/ l( R |! a1 R
7 : 30~9 : 00 ! l" d2 K* m# y4 Y
高峰期 7 y! Y$ d; r3 I/ [+ j
9 : 00~17 : 30
4 s1 E2 Z/ I3 D$ |; U; k' Q 次高峰 * q- R7 q) T- g8 d4 ^
17 : 30~19 : 30 - n$ {1 X; ]3 p! F: Z
高峰期
4 r+ y5 ]9 s& K8 t 19 : 30~21 : 00 . Y) @3 U$ i1 P) E
次高峰 9 n) |' r0 \, K0 V+ M/ _
21 : 00~23 : 00 # d! P, E1 m( @& f6 \ i
一般情况 ( u7 a- E5 L) d! O9 r# ]8 l! [
23 : 00~24 : 00 " Y; u4 k- M O2 F9 p$ G9 S2 u: c; A
稀疏情况
2 h; k; v. b& h6 W' ?% e& v9 X
8 A2 O$ J; b6 a3 x# w
; s& W; _" v4 d9 ]
周末 0 D2 h) u' J7 J
时间分布
5 d3 C# Z5 w1 k$ T* a/ o 时期分布 - ?& O5 d( K0 B! ?* ?/ t
0 : 00~5 : 00 1 Q& p5 i2 v" }/ u4 V
稀疏情况
. O5 x ~+ r6 z 5 : 00~6 : 00
! p9 o2 C# i; X 一般情况 0 e4 I. a) ?5 T3 x4 ]- u4 a+ E
6 : 00~8 : 00 - q" m' ^3 r# V/ L1 J* _; `
次高峰 " e- u3 @: A& }3 G( x
8 : 00~17 : 30
: g. A# @1 [# Y0 ?" J- D; Y. F 高峰期 7 T4 l3 P& D% E( c7 D. Z
17 : 30~23 : 00
# p, E' u4 Q2 u: B t1 o 次高峰 ; r- ^& P, g8 y2 _ @3 J, f9 b
23 : 00~0 : 00 5 |1 I5 f* Y7 ^- k& l
一般情况 5 a9 X9 L" ^* t+ K& h. B5 J
% P: \( N' m' Y0 _; Z! G 说明: % R2 t$ R9 Q* s" v' X8 c
在巴黎和法国其他主要城市,高峰时段的交通最为挤塞。法国每日的交通高峰时段是早上7时30分至9时及下午5时30分至7时30分的上下班时间。在星期五法国人一般都会外出旅游,所以交通高峰期会较平日来得更早,在下午4时起便开始阻塞,其中尤以离开巴黎的各条公路最为繁忙,而非高峰时段的交通一般非常顺畅。
2 N9 @8 M. u* B$ n& [5 }
( i/ y- @4 U1 g 4.3 对于交通模型的假设与估计
4 _6 ]6 ?2 F9 z4 ?7 o$ u 对于交通流模型: / r3 E; k, l% j- y
其中: q 为车流量(即单位时间内通过的车辆数);
: x- K4 V* g* c3 t " R$ ] u, ~* y, T
9 q' P# B, Z, W- y% @ 为车流密度(单位路长的车辆数); 4 \1 E4 e8 c* e& K, o0 g
) M* x/ c, K+ y* p4 _4 Q' @
, D, d1 u% S A" F3 }
) I9 }8 w% ?% M4 C 为最大车流密度。 - E7 |' {8 r& ?9 S
) f9 C! J0 \7 W
9 L, L5 P' ~/ D. F7 J d
$ r2 Y4 N/ d& y8 M% u( g 为最大车速(注意:车速时车流密度的函数, )。
! V1 F9 j. i- J: L" {4 p 根据上面的方程,我们可以估计出每个路口不同阶段的车流量,这包括流入与流出。
8 E% ^7 b' ~1 \' |3 ^) }& O 为了保证总塞车量最小,同时等车时间最短。我们针对不同时段对车流量进行了不同的划分: 3 F* o5 q3 L; P% v* v* i, R, z- t& h _
环岛内车辆总数 Q 3 n. J8 E& h) _' X+ d
时 期
5 U. i+ w) x+ d; C8 E$ G; F7 N 有红灯亮
( q2 N# f2 ]( P0 y7 B 无红灯亮
. R: l' a* |3 [1 J3 N 进
) {! o$ S; E5 y8 j; Z) {: Z, X 出 - G% s) z! N; `# M" \: P+ F& T
进 # E2 x/ R4 N4 u2 x- M& F' ^
出
( g; ?6 t4 Q: b3 _1 D 主道 y
5 L5 i+ K7 l1 f3 J; _' B 支道 y
; s- H: g3 s' V) K# A4 X6 s 主道 w ) d# [5 S6 {; X
支道 w
( U0 j& j) O, { 主道 y , _0 p1 M8 N! I* L8 ^
支道 y
7 _, f6 S Z7 y$ m& x2 p9 v6 ~ 主道 w 2 _6 q/ u% o' P9 c
支道 w
5 L/ o2 I; S: r/ B; ? 800~1000
6 B' _# n- [& F/ Z! ` 高峰期
9 _8 d9 N- o3 Q5 ?0 M5 l 3~4 ; v5 \' |/ n$ m; ~, n
1~2
v u# ~2 T8 W% i 0~4
; z: {8 D; ?, [1 M! P 0~2
4 |- {% w( C- ?$ L% z 3~4
! A/ a2 W- l# V1 X; P1 f 1~2
& E5 k& e# ~0 O5 ^. A: F 0~4 + G8 v: v1 I% C- [! Q3 l
0~2
* w: E) C5 m" S$ D( [ 500~800 4 c" q2 S" [& b0 j% h/ ^/ E# ?
次高峰 - I7 X. A7 s# Y1 E9 Z2 [- t
2~4 2 B- U: I& Y& s& B8 w
0~2 0 \- p- ^& ]& a0 c# r& m. j
0~4
4 }! Z. B8 {. X0 [: h) g& q5 {' _ 0~2
- J7 j' ~) T; F% O4 L7 i4 l 2~4 0 P5 [/ }2 g7 y6 f
0~2 2 t& U) {) D2 O* d
0~2
. ^: X' [3 s7 y 0~1 # C( B Z2 p6 R7 A; }3 z
200~500
6 G* \ R. S- {' A o& ~9 p. u 一般情 况
5 s# k& y& j2 d5 S5 O 1~2 3 X8 U5 `7 @! S4 H. f6 {. f
0~2
" M9 Z( P9 p) h0 H) v 0~4
" {2 S, [/ L/ [$ n) L% X 0~2 $ ~" V0 W' A& S4 F4 M0 p+ w W8 g
1~2
- F: i( d# t' ~9 } 0~2 . F; J6 J" b5 C" {% l$ I# _- f
0~2 1 K2 b4 a( [ [4 x. [6 q
0~1
6 E$ u! q* ?: l! i% k$ r7 l 0~200
+ Z/ d9 D/ c' l: V7 H: W; I0 L+ l# Z } 稀疏情 况 ; G1 m) P9 z" e O
*
2 d* w+ Z8 {: ~: Q7 w$ M; o' `9 V *
2 L( j: ], T; z" G g7 } * - e. ?1 p* c4 y5 U' {0 S! B
* ) A! b) m7 s: D; d, h5 q
* 2 W% N4 Z4 q# d `+ U) b( w
* 8 x; ]" u; A) ^; T/ y8 k& e0 v7 {+ j
*
8 q$ T: n. }7 y6 _( e. z+ M *
6 I8 x3 Q* }" {
我们先设立一个逻辑控制变量 , 9 v! L& U- D* [& R* z9 V( W- r
对第 i 个 l 路口,当有车进入时, =1 (即认为绿灯亮)。
' D( a. \: u. E& q: z4 ? 当没有车进入时, =0 (即认为绿灯灭)。
p( C9 b" [, i( A! g I" a6 p+ j) b4 B 又设 为第 i 个路口的车流量(辆 / 秒)。
2 L) x% N; E9 g F+ j9 S' H0 K 则我们可以列出下列等式:
5 N7 O1 J5 E5 E# l% E( m$ @ 根据:单位时间内,环路车流量的增量 = 流入的车流量—流出的车流量。 $ T$ L7 {5 H: J
# M5 g) }0 M, |
+ @6 E5 Y8 V: j' x) h% _9 C- R" T* n8 g 6 X; i* G2 Z3 G% ~9 ^
dq 表示单位时间内环路车流量的增量。 # L! c! S% I4 V p/ ?3 l8 ^* |: n
0 H" c& _2 U& O) X 对于 以及 我们可以用 rand 模拟。 7 z" T- o# R; T3 A/ y
9 d' H2 `* f; p6 y" d! s% B0 q5 Y1 v2 ` 因此,环岛内车辆总数 Q 满足: % s ?7 |6 @& a
4 s: P& V& v+ D4 w4 |+ f1 _ l 注: # F: F& I f! L$ i+ v
由于 的组合有很多种,我们加入限定条件,即要保证等待时间最短(红灯亮的时间最短),以及等车数量最少。 . j! L( ^, }+ O7 l
8 p% X( \1 n/ B' M: \5 M; s% Q
因为等待时间就是红灯亮的时间 T ,等车数量又与车速和等车时间有关。 7 p$ i) ?1 b3 }! G) B4 z+ W: ~
* U+ r6 V0 P! Q! F
为此,我们设立下列函数:
4 }6 h/ { M, t ; f) x n* C. F1 F$ s6 P
2 G5 T1 |! b/ R: A
8 O# t2 X7 ~" J- J; D' a 4 p ?! \3 `8 r/ f! o1 O+ V
说明: E9 c# K! K P" W( Q: b7 D& M0 r
为各路口的逻辑值(通为 1 ,不通为 0 ) ; \& p; a; b0 F! B- p) a$ d
1 K2 r& F- u% P J: a; p
为第 i 个路口的车流量(辆 / 秒)
6 c/ k) d+ P R: }: G' [ 为循环中第一次亮红灯时的堵车量, 为第二次亮红灯时( 的对立面)的堵车辆。
& w+ k b9 q. r( K# W' z 为总堵车辆。
9 A, `7 S' W% q8 G4 X 1 ~0 I% B& e5 E q8 d# C8 a' b6 l
上面的分析可能需用到下列参数值:
% n, T. V: w) x8 u) ` 1.
G1 A! D% x7 b2 y2 v. Y 每条路段上的最大车流量。
2 ?% }( m7 d& @ 2.
; u6 m1 [; h+ |; X# b, Q( c 每天路段上的最大车流密度。 0 B- `7 i% D c2 X! q6 m$ ^# _& d
3.6 W7 S2 U7 P4 Y: L @& O2 Y
每条路口进入的车流量(辆 / 秒)。 0 y [( p. K& t+ c
4.
/ J/ w1 r9 M2 S( D0 V. g6 y8 t 每条路口开出的车流量(辆 / 秒)。 ; n$ \% Z8 Q( ?( c( `! G9 M+ T
) P0 m. o% H5 [2 ]; l$ k 通过模拟,我们将在不同的组合中找出最佳的红绿灯方案,并通过多次模拟,确定时间分配。
" j3 K' `" A% b+ A6 Z, F P9 G
0 d! O- J# K) K5 R 7 C& C, j; d! j. Z7 g
一、对于高峰期时,我们对于下列组合进行了模拟(程序见附件):
! x; |- k3 d' {& g( r9 p 红灯亮的个数(盏)
# o1 T! Z6 Y' b% ]# e) c 12 ' s/ Y( u0 g5 ]$ l; S7 G9 R( E2 x
11
0 p1 o) X2 {: g6 Z: S) x2 u 10 0 C' r+ d, R& a/ t& y2 a; w/ Q/ @
9
& h: J7 y1 R5 \# F7 \0 C/ T 8 ; ~# N6 p8 z" Q0 O7 c
7 . E* r' q$ V, d
6
; d: c5 D0 h* N9 Q# N5 z 5
7 j+ N. L8 J4 J' \ s, ^( { 4
6 K* l. s. w4 {$ R 3
/ E! w/ _" @& A$ A2 q 2
2 T0 x# A2 W5 m5 N0 s1 ? 1 ; }5 W: w7 Z( n# J/ _
0
+ F! ?& [- m P$ W0 }- } 平均最短等待时间(秒) 2 D9 p9 Z2 p9 n; B/ F" L
16
4 w9 Y& M6 w2 a. } 20 . C; ?$ u3 n2 i
22
0 s& j& S) P. K( X" z2 [. z& A 27 2 j( m h; K+ y% T. e$ c+ ^: D! d' t
30 0 ]( W& W- n% x8 }; H( m
42 2 t3 l+ S' ?5 T" i/ G1 m
70 4 k3 l3 i! H1 N2 v4 g$ o1 ] O
154
/ f5 |2 r. @5 e: A; _* Y5 P% ~ Inf
+ d* m0 g9 b$ G ( 无穷大)
4 m* E* a w2 T2 w1 B Inf
% o* W6 M a$ ] Inf 6 t$ k% m1 U7 ]* @# q
Inf
z; F& n& l% r- V' C- J Inf ' n- c) }' b& H; i R" x# s! x& Y% y
注释: ! h4 p3 Z; A7 S
对于红灯亮的盏数,我们可以有很多种组合方式,比如红灯亮 1 盏,可以是 1~12 编号中任何一个亮,但这些组合中总是有一种或多种为最优组合,这从我们程序结果可以看出。 , ]7 m$ m! N1 d3 \5 C
6 ]* ~1 c4 ^: t9 `" b/ Y8 L
分析:
- b3 V2 ]- C; a) f+ i* d+ X: J$ {# E
. s6 q+ ~, b! y6 L/ G 有 0 盏红灯亮: & x8 H9 y4 F7 E' M- _! q3 l
此情况显然不合理,因为没有红灯就无法控制环岛总量。 2 J( ?! ?6 d5 l: I8 `8 |9 e
6 I5 U( x; ^8 k$ q1 e 有 1 盏红灯亮: 8 k+ E' i3 ^( o) p% Z
对于此种情况,经过模拟发现不可能达到降低环岛车辆的目的,反而,环岛内将更加拥堵。(过程见程序)
7 {8 j `! ?) U0 [0 }. k
& U9 ]; s% r" k. b+ A 有 2 盏红灯亮: + u( t) O* I" \* O1 s, `8 J$ H3 M
此情况结果同上,不可能达到降低车辆的目的。
) D; L' w4 ~: g; R - c; I+ k9 n. w T8 S4 w
有 3 盏红灯亮:
9 `4 f' ]5 i4 J) e6 l, ]8 N 此情况结果同上,不可能达到降低车辆的目的。
l( h# U2 h5 O4 i8 t
/ t9 j# z7 [/ t( d 有 4 盏红灯亮: ) N! s- D5 U o' E. v
此情况结果同上,不可能达到降低车辆的目的。
7 m& e- R, V& y : z, ^5 c a9 P6 ?" g2 g
由上分析说明,红灯至少应该亮五盏以上。
+ `* E2 Z- f" {6 Z# o; d 9 B8 g3 L. {0 k, @
为此,我们排出一下组合:
% q, X" }: d6 p4 o 5 —— 7 : 2 G% G1 f/ M. ^" b6 v3 K- m
此种组合方式下,可以分为:
% ~/ z( Q5 b4 K& W8 [- z% U* c a. 开五盏红灯时(包括一个主道)的等待时间为 144 秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为 48 。
: k, o( F b3 E# N 此时,总塞车量为: - A4 S9 s: f" y
4 C, E' ^* g5 N4 f* `, o b. 开五盏红灯时(不包括主道)的等待时间为 inf 秒,故此情况不成立。 2 U: ^4 H/ x- I! W: T. M( |, e3 g- Q
7 @: M' C5 q- l- k% N 6 —— 6 : ) a' ~& ^' u3 l; V! l& T3 k
此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为 68 秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为 67 (由于分布相同,其实两个等待时间应该一样,但由于是模拟,不可避免的造成一定的差异)。
$ F! o% j0 r, X1 a 此时,总塞车量为: t, a0 }+ b& l+ D8 t
5 H: R4 B7 |8 I T
! k3 V8 s3 ]0 e# } 在保持堵车时间尽量短,堵车数量尽量少的原则下: 8 C9 S5 i! e& B
只有选择 6 —— 6 组合是最优的。 5 x' l" v$ J( e9 f
根据等概率原理,各条支道应看做概率上相同的路口,而两条大道也是等效的,因此,在模拟时,我们就可以人为地设定组合,只需保证总数按红灯亮的盏数分布即可。比如:对有 6 盏红灯亮,我们选定组合编号为: 1 3 5 7 9 11 ( 1 为主道),此组合方式与 2 4 6 8 10 12 等效。
4 V B1 t/ j; @; C( J% z$ k
9 [, o7 A- U' Q* | 这时我们可以确定红绿灯的循环模式。 - }, V# X+ |8 I2 N3 p* L/ Z
不妨设定,先使编号为 1 3 5 7 9 11 的红灯亮,在经过 T(T=68 秒 ) 后,打开所有绿灯(包括原来的绿灯),再等环岛内车辆上升至限定值后(经计算 t=25 ),再打开另外路口 6 盏红灯,其编号为 2 4 6 8 10 12 。之后,重复上述循环。 2 K. _+ I& C" G
9 a! c3 J4 v2 l" k
9 y" I$ |7 v: h' k& N0 i; i
二、对次高峰,模拟结果如下(程序见附件):
" b, Y/ k, c4 ]: |3 ?. d 亮红灯个数(盏) ! k Y m! {' u$ Z( n8 x; i7 l
12 6 }! \! C9 D8 y5 P1 S
11 0 h3 T# g7 C) |/ C% u1 I7 z) E
10
6 z. j2 \" ?9 W' z' H* q, j 9 5 m2 i4 d, m U& ~
8 - Y: T1 o. n& n3 O
7
6 t8 c6 h* R z9 ?! q5 y 6
2 W/ q7 O0 a% y7 q# I 5 1 a% x* K. w8 W
4 . w- x! F" e$ N7 c8 Z3 D4 R5 o
3 4 V4 `6 @9 U# C; n
2 ' n+ W9 V. {1 U/ H
1
7 O2 ?$ T& R" c! K) z$ `9 V+ t 0
# Z" @7 b3 J0 h1 k 平均等待时间(秒) 3 c `6 ?4 L# k: x
24 + y* h4 M. G- u% x. K
30
2 i D" Q; g" R% A6 S$ U. R" n 31
9 x: V3 B0 h& o7 \1 q% o 32
& [* i* g% j2 p7 g8 r0 i0 D 35
! f s1 H6 q9 E- Z 43
& ~( E4 Y& o$ u" i 57 : \ ~- Q: E- E* V( [' X8 k
68
: ~- e; d' i1 U 96 9 L1 F2 D9 ?/ W+ B' L! h+ V
Inf 8 S; F2 q! @! _4 I4 d& ~( d
( A+ g4 W _+ L; K; U2 v
Inf ( G! z* R, e& o: H) g( U- v+ a
Inf
( o' m$ w z; d. A/ } Inf + o7 u! w0 K6 h# u, O. E4 D
2 ~8 H1 B3 y/ P( d3 D1 a6 W 说明: 8 x4 Y5 R+ }3 \+ N& F
对于红灯数目小于 4 的情况,实际上有的模拟值满足要求,但由于等待时间太长( 100 秒),并且情况及其不稳定,多次出现 inf ,也就是不能达到降低车辆的效果,我们认为这些情况都不现实,均统一成 inf 类。 1 m% Z) w K. W) N& N" g- n7 ~
/ w0 u) R/ E( x" X 由上分析说明:红灯至少应该亮四盏以上。
# _- I3 n# n- [% S8 p( s
2 m) V9 L/ }+ v( O- r8 s! C/ c 为此,我们排出下列组合: " h7 y/ R: {: {
4 —— 4 —— 4 : 4 V. Z" w8 ]3 Z
此种组合方式下,开 4 盏红灯时(编号为 1 3 4 5 )的等待时间为 80 秒,开另外 4 盏红灯(编号为 2 6 7 8 )的等待时间为 77 秒,开最后剩下的 4 盏红灯( 9 10 11 12 )的等待时间为 147 秒。
) M' V( o& C* }+ p 此时,总塞车量为: / Z# Z8 P3 b: Q6 {8 g) W+ F
, n! M/ \9 [, Z 4 —— 8 :
2 Z0 F5 W m$ |3 c: Y 此种组合方式下,开 4 盏红灯时(编号为 1 3 4 5 )的等待时间为 80 秒,开另外 8 盏红灯(编号为 2 6 7 8 9 10 11 12 )的等待时间为 39 秒。 " ^! d0 \ }0 z2 N K
此时,总塞车量为: . K2 F/ w% l. @# A/ i% K
5 W, ]: W/ M* @# o
! d1 ]( v: S9 c7 F 5 —— 7 :
' L$ V8 q' ~8 M) V: Z 开五盏红灯时(包括一个主道)的等待时间为 58 秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为 45 。 3 z& b* _, t2 f8 j& k
此时,总塞车量为:
8 ?8 X* D$ n7 G; a
, u6 f- Y3 }4 R: I
- Z% a( F& l. E0 W+ B 6 —— 6 : 8 V+ j4 n3 _# c
此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为 50 秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为 50 (由于分布相同,其实两个等待时间应该一样,但由于时模拟,不可避免的造成一定的差异)。
* I$ ?) ~4 J$ _; v- {/ B5 b+ r 此时,总塞车量为:
0 }/ |) i: W) W1 i4 x
( h& z8 x, j( W' A# D/ F
7 D, q+ H) q( q2 c 由上可知: ! f$ U; b- ?( k7 R
对于高峰期和次高峰期都应该选取 6 —— 6 的组合,并且将两条主道分配到不同的组合中。 # L8 A" y: J6 P' @; X% V/ e6 P
; x0 S4 X/ P( F& P3 A+ h. h5 O6 a" x
# @7 r2 J1 T) {: V1 C 说明:(为什么选取组合时两条大道不能同时选取?)
( ]; Y, y$ S5 l. F 下面只针对高峰期说明:
z" a7 o1 V1 i( _/ W4 z" ` 对于高峰期 同时选取两条大道的情况:
0 X2 L& k- h1 E6 t 有 2 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=inf ,也就是说不可能达到降低车辆的目的。
3 w+ n6 K5 Y3 s+ B& f( F2 G* Y, b! l- _ 有 3 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=inf ,也就是说不可能达到降低车辆的目的。 - V$ _ ]2 k/ I$ D8 ?1 ^
有 4 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=158 秒,并且多次模拟发现其等待时间出现为 inf 的几率很大,也就是说不可能达到降低车辆的目的。
& Y x: \/ F% u/ V5 M# N% r# T7 u# [4 H 有 5 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=101 秒,并且多次模拟发现其等待时间出现为 inf 的几率很大,也就是说不可能达到降低车辆的目的。 : A* h' f# d' E% C7 O A, s5 w
有 6 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=63 秒。 2 u# H9 S2 S- e! M6 \
有 7 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=50 秒。 % t. w! O: r ^6 |) B# C. d t. V
有 8 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=45 秒。
2 i& _, ]9 [! e, r3 \, C 有 9 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=35 秒。
+ ^! c9 z0 n- K 有 10 盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间 T=30 秒。
`- ~, C/ d' J+ D* y
; a! b6 ~# I) @% }/ l1 H, R 同样地,考虑到我们设计的算法,对于高峰期 ,不可能不选取某一条大道,所以我们只需考虑对称选取,即组合时尽可能的将大道分配在不同组合中。 ( {7 n' z2 B; A
有 2 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间多次出现 T=inf ,说明此种情况不可能大道降低车辆的目的。
) P! o+ \8 d) A/ u0 U. V 有 3 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间 T=96 秒,但也多次出现 inf 的情况,因此不考虑此种情形。
3 {- @1 P9 Z. W& b1 c6 g+ c @ 有 4 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
/ x( P- ~. z- r; h) S' a+ C T=65 秒,但也有很大的几率出现 inf 的现象,也不考虑。
& R8 {& F X7 x% ? 有 5 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
# v7 w. I% ]( k* | n( O T=45 秒。
, L) Z( g7 Z) g. Q- Q8 F 有 6 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间 * c' _# h# M' `
T=35 秒。 9 _4 l5 N# e9 L9 R- J' A. b
有 7 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间 # f8 ?, ^) Z1 ^ L
T=31 秒。
5 l/ G& l4 U5 w( O! H$ T8 D4 R4 F. C0 j 有 8 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间 * i/ o( z% q0 a; S) ?
T=27 秒。 ! b. N" d m, z
有 9 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间 0 I- h" }% w/ @4 K# p8 Y6 y! {' x
T=25 秒。
/ P1 }' B4 {) H; Y" I% P& {2 Q& y 有 10 盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间 =23 秒。
4 X: C4 w4 U1 ^
2 Q) x, N5 B- [5 I; F( d- X a 对比上面的两种组合下的结果,显然第二种情况更为节约时间,对于所有红灯亮的情况,只选取一个大道通畅的情况能保证等车时间。因此,我们认为,选取组合时两条大道不能同时选取。 / S( A5 j; k5 j
# L) ^" x5 h3 u/ c 由此,我们可以得出高峰期和次高峰期的红绿灯控制方案: ( |$ l" J7 b( R [2 [: O* r7 ^
对于高峰期的方案: / C/ z3 u, z' M0 I& l& j- G
先亮 6 盏红灯(包括主道的那个红灯),其持续时间为 T=65 秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为 T=27 秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为 T=27 秒,此后若不打开红灯限制车流入,将超过环岛最大车容量,因此,时间不能超过 27 秒,但是,我们为方便设计考虑,将时间定为 27 秒)。之后,又打开另外一组没亮过的红灯,持续时间为 T=65 秒。结束后重复上述过程。 3 e' }: a: g' i# ]
6 r, S3 ]; i: e" N9 r6 Y 对于次高峰的方案: - b# d8 p) @" |6 a! S
先亮 6 盏红灯(包括主道的那个红灯),其持续时间为 T=35 秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为 T=23 秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为 T=25 秒,此后若不打开红灯限制车流入,将错过环岛最大车容量,因此,时间不能超过 25 秒,为此,我们为方便设计考虑,将时间定为 20 秒)。之后,又打开另外一组没亮过的红灯,持续时间为 T=35 秒。结束后重复上述过程。 Q" x1 L: p8 [! m5 v9 v1 J6 Y7 j6 ~7 `
7 [# A0 B( u; N7 s. R( U6 h8 E" E
+ R E( X( k4 C j2 X5 W 三、对于一般情况与稀疏情况的说明:
2 c2 h4 @: z4 b1 z5 U- Q# C & J: ~4 S5 G2 t2 ^" w" ^" v' X
A.
; U! D4 C' Z2 q 一般情况: 0 d' \, _0 y8 y$ Q' @4 P
对于 6 盏灯的组合(每个组合只分配有一个大道),其等待时间 T>150 秒,如果红灯时间仍然按此时间设计的话,肯定是不科学的,因为不可能让汽车等待如此之久。因此,我们从尽可能减少等待时间为标准,经过模拟,发现当所有路口均亮红灯时,其等待时间最少,为 T=23 秒,而这也符合一般城市中非高峰期的等车时间,我们为了方便设计,将此时间定位 30 秒,而 30 秒也是一个可承受的等候时间。对于绿灯全开时的情况,更趋前面的假设,经过模拟,畅通时间为 T=50 秒。因此,我们选定一般情况时,红绿灯亮灭的原则时,所有路口红灯全亮,持续时间为 T=30 秒,此后红灯灭,绿灯开,持续时间为 50 秒。之后,重复循环。
9 k% V9 o9 r- f, A/ a; f) I B. 稀疏情况:
8 `4 G6 ]4 A( X9 J' p' t 对于稀疏情况,车流量具有不确定性,我们无法估计具体的车流量,但由于此种情况下车流量很小,我们可以将之归到一般情况,并且以一般情况的红绿灯规则来控制。
& o: g. I) f+ P' A 6 a2 q, {9 p% K _
7 f4 ?# ~/ `8 V' G$ D3 o7 K8 }
) S2 F" U; |7 Y, }/ H# y, \
根据我们的方案,我们采取随机模拟的方法,分别对高峰期,次高峰,一般情况和稀疏情况进行随机模拟。
5 h O" _4 T- }& g 为了保证环岛内交通的流畅,我们设定环岛内的车辆总数 Q 不能超过 1000 ,但实际上换岛内最大车容量为 1327 ,因此,我们在考虑交通流畅性的前提下,可以适当地放宽这个限制,严格规定 Q 不能超过 1200 。 4 f* z2 F4 y/ J$ s3 v3 p; B
我们检验的目的是为了了解模型的稳定性,为此,我们对四种情况分别进行了 24 小时的模拟,其结果如下: . s& R& L. s6 {1 f
1. 高峰期:(程序见附录) # Y% I3 W5 k0 ?* u7 \8 t' q
第一阶段红灯持续时间 t=65 秒
/ y/ u! b4 l# v/ g! v2 F 第二阶段绿灯持续时间 t=27 秒 5 o0 \5 H0 b* s& d$ v
第三阶段红灯持续时间 t=65 秒 3 ?; W1 C. k$ {, y& r
第四阶段绿灯持续时间 t=27 秒 : }+ V& n4 C! T) j( G$ ~+ v1 a5 L
总周期 T=184 秒
" Q, a5 g$ q2 I ( L+ q, r) [3 F. Q6 a3 V% z9 D) i0 r
对于此方案,我们在模拟时发现,由于每周期都会累积一定的车辆,也就是误差,在很长时间后,其累积的误差将达到非常大并且不合理(超出最大容量)的数值。因此,我们需要增加一个修正时间,并且此时间应该很小,只在车辆超过一定数量时才加入。
: n3 C" }5 y. d Z& }2 B 我们的做法是,当环岛内车辆大于 1000 时就对红灯持续时间加 3 秒钟,即此时红灯持续时间 t=65+3=68 秒。在车总量 Q 没有超过 1000 时,我们仍然以 65 秒的规定时间运行红灯。
' f. K& v0 }1 d3 P' X" P/ I/ R- \ 这样,我们模拟 24 小时高峰期后:超过 1200 的车辆次数为 37 ,占一天内车辆总数的比例为 1.97% 。(这只是模拟一次的情况,在模型改进中,我们模拟八次后取平均,得出更加准确的比例: 2.74% ) 3 {- Q! C h" b* F
对于此比例,我们认为是相当小的,也就是说,发生环岛堵车的概率时非常小的,因为我们是对 1 天进行模拟,累积误差显然会相当大。而一般的高峰期只持续 2 小时左右,累积误差必然很小,其堵车概率也应该低于 1.97% 。
2 c* F! S+ F8 M2 }/ T - `* c8 s; y3 f, D0 L5 e
2. 次高峰期:(程序见附录)
& @7 G# ?1 e" v2 p4 _1 }+ y 第一阶段红灯持续时间 t=35 秒 7 Z8 ]" M2 O6 I: s/ M: p# W
第二阶段绿灯持续时间 t=23 秒
2 D: [9 O7 g( f# d 第三阶段红灯持续时间 t=35 秒 / h6 p. U5 T) z; c# Z1 c" ]
第四阶段绿灯持续时间 t=23 秒
( F5 i* ~1 }! K 总周期 T=116 秒 + Y5 P7 k0 @ Q; D { j" O: Y
对于此方案,我们为了保证环岛被最大利用,同时又能使交通运转顺畅,设定环岛内最大车辆数不超过 800 ,经我们模拟 24 小时次高峰:超过 800 辆的几率为:
$ M# s& c' b( z s' Q5 d$ ~ ,显然这是非常好的方案,鉴于此,我们不对此方案做修正,即沿用模型建立中确定的红绿灯持续时间。 + L$ A4 t' e: s; I# }
3. 一般情况和稀疏情况: n/ ^ q; j O+ j* W' H
因为车流量的原因,不可能造成交通的拥堵,因此,我们不在对此情况做模型检验。为了说明时间安排的科学性,可参考其他大城市的一般情况的红绿灯时间。 % g+ D z1 G) h# {. l, D
' k W P+ U' [3 ?8 z2 j
8 ?1 i% T/ |3 K( ?2 e8 q, ]
9 ^2 g4 j5 B1 a* x. ]; j4 ]
1 .对于工作日和非工作日,由于车流量的分布不同,我们可以根据表 1 来设计红绿灯时间安排。 / U2 q) ~9 N8 Q8 i Q0 C2 G
2 .我们只考虑了每个路口流入与流出的关系,并没有考虑到车辆在环岛内的绕行情况。所以可以增加限制条件:环岛内并行车辆不碰撞,这样可以选出更加优化的方案。 ' l6 u1 {' X- Q) i
3 .不妨考虑车辆在环路中的相位问题,这项可以细化到每辆车的行驶情况,但这样相对来说较为复杂,我们不予考虑。
- t v( ]0 K/ d9 n; _' S 4 .对高峰期时间的修正: 8 C- `- @; @7 g9 _- [$ Z
若不对高峰期的红灯持续时间作修正,则经长时间后,累积误差将使环岛内车总量超过 1200 (我们称之为危险),这是非常可怕和不安全的。为此,我们对红灯持续时间做一点微小的修正。经过我们的模拟:(程序见附录) , Z7 v5 j; D- u) z
修正时间 t=0 时,出现危险的几率: 89.62% 。
4 h2 ]8 Z+ u# h 修正时间 t= -1 时,出现危险的几率: 88.56% 。
& s& [6 p, d6 C8 z/ O6 Z 修正时间 t= -2 时,出现危险的几率: 98.03% 。 % q# X7 N$ t& {7 P
其实,如果减少红灯时间,显然,这时在这段时间内进入的车辆数目就会增加,在不修正时已经危险的情况下当然就会照成危险几率变大。
; p( I) F! m& \( A4 G 所以,我们应该将修正时间调为正值。 ! k9 E& N. \, b) v+ O
修正时间 t=1 时,出现危险的几率: 93.33% 。
3 ^' \- ^/ t. K m 修正时间 t=2 时,出现危险的几率: 13.74 % 。
6 Q9 g, l; O, E 修正时间 t=3 时,出现危险的几率: 2.74% 。
/ x- D4 K+ j) X0 } 因此,我们以 5% 为限定,确定出修正时间为 3 秒。
. S3 h' n2 M6 ]% m8 g/ P, w+ U s
/ X$ T: B& G0 t' d: q# B6 ?$ x 8.1 优点 / ~0 Q* L; g1 t' l8 S
& s6 q* M3 y' U; D
1.本文对不同车流时段(高峰期、次高峰、一般情况与稀疏情况)模型分别进行了模拟计算,得到了最优组合下的红绿灯循环时间。由于车流量是基于模拟的,并且环岛内车辆总数也是先设定的,因此,我们的模型可以适用于很多情况。并且,根据我们的模型,对于已知车总量和具体车流分布情况,可以重新确定出最优化的红绿灯控制模型。 5 ?5 S5 e' l% E
7 i2 L7 t6 o+ Y/ {/ l7 M
2.在建模过程中,我们对所有可能出现的红绿灯组合情况进行了模拟,这样最终得到的最优组合的方法是很科学的。 + F1 P+ |6 R& k5 n
5 |1 e; U* `/ P @7 M* ?1 A 8.2 缺点
- }, v4 {5 K+ a6 d/ F( O - c+ T& |1 [! T+ ]
1.在模拟模型的过程中,我们假定车流量服从均匀分布,这带有一定的主观性,并且我们并没有考虑每一辆车的具体行驶情况,比如车辆在环路中的相位问题,这可能造成某些紧急事件发生时不能及时疏通道路的问题。
zan
总评分: 体力 + 1
查看全部评分