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