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