数学建模社区-数学中国

标题: 巴黎环岛设计(本队拙见) [打印本页]

作者: lijiustc    时间: 2009-8-17 16:52
标题: 巴黎环岛设计(本队拙见)
巴黎环岛车流控制模型
摘要

  h9 H( ]$ _+ r; \# U本文就巴黎凯旋门环岛的交通问题,建立了控制进入、环绕、流出此环岛车流量的红绿灯模型,目的是使环岛内交通顺畅,并且尽量让堵车时间短,堵车数量少。
( z5 T* x8 K1 u9 @) {    通过分析,发现环岛内的最大车流量为1000,波动范围为+200,还可根据车道宽度计算出每个路口的最大车流量。这两个因素对环岛交通有着很大影响。因此,主要考虑车流量和环岛内的车辆数目的影响。并设定,在建立模型时,环内车辆总数最好不超过1000辆。$ ~3 U, J' ^9 W0 v9 f' p3 Z
根据各时段车流量的多少,本文将车流分布为四种情况:高峰期、次高峰、一般情况、稀疏情况。再根据各时期的车流量,建立了环岛内车辆总数Q关于流入量与流出量的方程: 。通过随机模拟,得出环岛12个路口的车流量,并根据堵车时间尽量短,堵车数量尽量少的原则,找出所有可能的红绿灯组合(前提是每个路口都有红绿灯),通过比较,得出最优化的组合(具体组合见模型建立与求解部分)。& u. \; J) w1 j$ P0 n
通过随机模拟,对于不同时期,得到不同最佳方案:/ H5 q3 t5 b: X* C. [$ o
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 \1 e# r0 V% |2.对于次高峰的方案,红绿灯组合与开关顺序与高峰期完全相同只是各时段持续时间不同:T1=T3=35秒,T2=T4=23秒。( X  O# Q$ U1 S: s- }
3.对于一般情况和稀疏情况,红绿灯顺序为:在所有路口,先红灯亮,持续时间为T=30秒;之后绿灯亮,持续时间为T=50秒。之后,重复循环。
1 F4 ^5 j- x1 u5 @由以上方案来模拟计算一天内环岛内车流量Q,其值超过最大容量的平均概率不超过5.00%,较为理想科学,所以此方案可行性较高。
: J" p4 G, _% Q) H+ e最后,对模型进行了改进与评价。
4 Z; o3 l5 P) g# ?5 H
, T& j- S' G6 I" D) X
" P7 z% H" b8 o' s- ~关键词:环岛车流控制 红绿灯控制 排列组合 随机模拟 等待时间
/ d, j! v+ y  W1 _4 y1 z0 `3 ]
# k' a  {: Z9 ^& N ; A4 o# U/ h$ [8 T

. M  r6 _' }  V6 \7 @
" t6 g" Q5 `6 U5 k- } 2 O) o: v* J. a; z+ y
  o) w+ ]' `, x- U5 W
一.问题的提出
巴黎凯旋门环岛有12个路口,其中有2条主道,10条支道。在进入该环岛的道路入口处可以设计有一些信号灯,或其他标志来控制车辆的流通。即为环岛制定车流控制模型,要综合考虑各时刻的车流量,环岛内最大车流量,天气情况,工作日与周末情况等因素。5 M" X6 p3 E# ~6 [* `
    我们的目标是,根据已知的信息,建立控制环岛车流量的具体模型,并分析该模型的优劣与稳定情况。
" c8 Q% z* ?2 _$ j# E/ l, `
: C6 `, u2 o/ @: F  B- p
1 环岛平面图

$ k- h& z2 Q, S% }/ g; F
) c2 B5 ?& |. H6 z7 F9 C " z& q  X% ?0 O/ I9 S* |

0 y6 \5 M5 C; r. y# T3 |7 h! x
( t$ \, q- L% f! {" g  z& I   @8 }7 a: z+ R- A# T' h: d3 S
二.模型假设
1.假设每个路口的进入车辆服从均匀分布(具体的分布情况见问题分析)。6 V5 V1 s. t2 z/ ~5 J8 V$ H
2.假设每个路口的离开车辆也服从均匀分布。
  X1 {  z" t& ?9 h" G1 a( F( @9 R5 O3.假设每个路口都配置有红绿灯装置。- ?/ j( L7 `+ z% X5 Y+ O2 \3 X8 @
4.假设环岛为单行道,只允许进入车辆沿着俯视逆时针方向行驶。
; L  A" H0 ?+ Z7 X5.假设进入环岛的车辆最多只在环内行驶一圈,不能多次在环内循环。
. j: |$ q  R) s! |3 ]" c6.设环岛内与各路口处的车速为20km/h~ 30km/h5.6m/s~8.3m/s" \1 D! \% G9 F+ S
7.假设只考虑正常情况下的交通,不考虑发生车祸和路面维修等意外情况。* T; Y& |3 w. j* k
! A7 S% i( W4 {

, |+ u- T  T3 d$ a( F" Z
- M" u5 \# O2 t0 r
三.变量说明
:环岛内半径。
8 ^+ r# f: x: }9 f' [' L:环岛外半径。
% d' n/ P( A  a5 B8 m:车底面积。
5 {$ j+ n. Q; R% n:环岛路面面积。其值应该为两圆面积之差, 1 a; E3 }! Y/ ~  Q* j8 {
:环岛可容最大车辆数。 取整。5 y& R1 y. I  v8 |6 x) h/ K! _7 Y
:环岛内车辆总数。" @! |4 R' \) \8 k0 H, f" q& r& k
:环岛内车辆总数的当前值。
) P' k% ]: A5 @! z& D% b) ]:各路口进入的车流量。(1<i<12' z/ ^( u9 G* W% F" N1 n. Y# z
:各路口离开的车流量。(1<i<12
* c" n2 X4 W/ [& `' g:逻辑控制变量,用于表示各路口的通堵情况。 =1表示通路,即绿灯亮; =0表示堵车,即红灯亮。(1<i<12
* u1 k2 Z; Y' `- f1 p6 G5 }/ i1 d5 \6 v% b- T" m2 w, J' [
:表示所有路口的流出车流量。
# F7 `' r8 G" {& K& b7 \+ ~3 O
4 F7 ]5 e' D! \6 H8 ?; l:表示红绿灯持续时间,具体是红灯或绿灯,模型中会具体说明。
) K5 G" U& t/ q3 l7 i 7 N, E) E& k0 Q0 ^" F
:为某种情况下的堵车数量,具体模型中会说明。4 E+ L! i2 G' G2 T. D, _
1 f( \7 y; f5 `
:车流密度,作为参考因素,将影响对车流量的模拟。' q: R  w8 B$ `" R

( x  a: r, ~7 l$ T* M
0 r3 O% Z+ \6 M, H
  [3 g- x# s3 \1 q+ z
四.问题分析
此问题属于交通流问题,我们在初步考虑这个问题时,参考了交通流模型的结构方程。我们认为影响环岛车流量的因素有很多:红绿灯,时刻(高峰期,平时等),天气情况,游客人数(虽然凯旋门游客时从地下进入凯旋门的,但是每个路口还是设置了人行道,所以游客的多少也会影响到车流速度,因而影响到车流量)。正常情况下我们不再考虑路面维修和车祸的影响。+ G0 E* h  x# M! l/ D# J
由上分析,我们需要做的是通过对交通流情况的模拟,找到最优化的红绿灯控制情况,从而达到车辆最优化控制的目的。; J6 c" d$ k- S4 @  b5 j5 u9 v
因此,我们将此问题归类为最优规划类问题。9 t" g* b7 J5 o0 ^1 r8 N* c
我们查找到了以下参数:
  X* R- D! I& K- y/ p; r- o  a2 o凯旋门环岛每天平均车流量:110/天。$ B6 o2 q8 x) ?- z8 c2 y) l
环岛外半径:80m
5 t! l: e1 t' D" a1 {( R环岛内半径:53m
4 G; ]. i8 |& G$ D; a一般中型车的底座面积:(7~10m2
+ o! W; |! T; Y. p; K6 g主道可以同时并行3~4辆车;支道可以同时并行1~2两车。% T4 w! m+ I. F/ S

4 n" q9 ?  B4 f9 w 7 {+ I$ {$ G: U. J5 G
4.1 环岛最大车容量:
+ {  h8 f& `+ ^8 J" u+ A: w由上面搜集的数据,我们可以计算出环岛最大车容量。
* A% D& o* e% q8 Q环岛内半径为 ,外半径为 ,车底面积为 6 o0 ?* l0 ^  D3 \1 X7 S
则环岛路面面积应该为两圆面积之差:
& ~6 j& a1 d" ?0 _+ p$ u0 k: {( Z1 V7 S( b8 b8 L9 q) J1 K9 h
则环岛可容最大车辆数为:   (取整)
! [# n' ~! U/ U. X) _) i8 S* w可得环岛最大可容车辆数目为: =1327(辆)。8 ?' ^9 j; Y! z. \8 }  D) |6 w$ G
考虑到车之间应该有一定的间距,并且应保证环岛有一定的畅通,流畅性,我们设定环岛最大可容车辆数为N=1000(稍微超过1000也行,我们只要保证严格地不超过1200)0 r3 r3 [6 C  a7 v* c% o

4 E  _7 D. [6 f4 V$ j8 d- M
" Z* `1 `4 i% n1 I4.2 各时段的车流情况
- S. h& \1 o. N * w4 e+ D+ U! l
工作日( v  H# y3 f8 B* r6 ~' O1 b
时间分布) A+ y& o. h3 q6 b5 B$ K8 O
时期分布
3 o3 \. `. M: ]" Y4 w- Z/ H! W" k
000~500
& A1 e7 t5 T# e: a& S) J4 h6 Y; B
稀疏情况
2 z* _. O1 q+ B/ A" o" ]
500~600
% m& H6 x0 W. Q2 t
一般情况
& _, k+ V4 n& e3 ~+ M
600~730
3 q% X! ?; h% |& r" H3 @
次高峰
9 y' V& {7 |2 c4 Z: h+ h
730~900
' ~9 D, x( W: I
高峰期/ g! j5 j  h& _0 {2 ?4 n
900~1730* n4 X: m+ _$ G8 ~5 e
次高峰
0 ^! ]8 f3 N) b$ ]; o+ I
1730~1930
& C# [1 |. X; [/ P
高峰期
: k7 r- M! V# j/ c" \6 a* U
1930~21002 ^8 C8 m* `$ e# d& n
次高峰1 R2 E, W$ ^6 @
2100~23002 I6 d5 c+ i3 X# f" ]
一般情况
( M# _" F2 }9 R: @/ k5 i  ?. b; j
2300~2400! S* n6 y6 m# C7 ^/ t" x: A# h. f
稀疏情况
% Q7 I* C* u# |: ~
# t2 O+ ~& t5 O7 k" I5 X4 q9 k0 x2 A
; z" u, X4 N5 w( y* b3 H1 ~
周末2 [/ o; l6 ^( w. N: S- g
时间分布
  W. ?' t; f* G8 d+ P
时期分布
( D6 z% Y) H6 m2 L' h( [) ~: A9 h
000~5009 r/ |0 ~5 e  T
稀疏情况
9 Q$ c" r( O# {: ?' }6 e% m& E: h
500~6003 J" B! m! F6 p  M7 {: }
一般情况
9 a  A+ J/ V+ K1 I* K% e9 D. k
600~800& s3 h4 K: N7 {) m' y! {
次高峰
* z7 _! T, O3 h8 {
800~1730
0 z' U/ \! G$ j7 D- j3 X- O3 u
高峰期# r" O3 K: M1 j' d5 p
1730~2300
6 L7 J1 }% V; n* |
次高峰! Y  W# j' D  t' w0 X5 e& p0 m8 C
2300~000' Z: q8 c) v: z/ n& M
一般情况
% b% f4 g7 \( g' w" ]- k. _
1
+ G- g4 [+ B8 A
说明:
1 l" v2 X7 e  l; a( D在巴黎和法国其他主要城市,高峰时段的交通最为挤塞。法国每日的交通高峰时段是早上7时30分至9时及下午5时30分至7时30分的上下班时间。在星期五法国人一般都会外出旅游,所以交通高峰期会较平日来得更早,在下午4时起便开始阻塞,其中尤以离开巴黎的各条公路最为繁忙,而非高峰时段的交通一般非常顺畅。
0 G1 Z9 G  i7 D  `
" h+ p% a; s$ g- _* v5 U* P! J4.3 对于交通模型的假设与估计* z! F; ^' U( @* v" D; _  l
对于交通流模型: 0 f4 ^; O3 I. P% R3 E: b' S
其中:q为车流量(即单位时间内通过的车辆数);
) t) `! e  B# S. p+ N6 Y1 c4 j# q1 ^. l( ]8 _
  ?1 w8 _. ?; S  }, F
为车流密度(单位路长的车辆数);
& Q/ _9 }' A3 y2 `2 A+ R$ a; l9 N7 q6 Y" @$ `# T/ J6 Q

8 j* u6 z9 x9 w/ D' ~4 ~! m/ B1 X# X8 @0 \
为最大车流密度。
& S0 n* V4 u; ^1 ]9 u; p9 D7 _8 Y: f1 u) {" W( x
0 L+ E: W$ i0 _% E) X2 n4 ~! z

5 R4 e7 M- y  R" V
为最大车速(注意:车速时车流密度的函数, )。
3 P9 J, O4 l3 Y* w根据上面的方程,我们可以估计出每个路口不同阶段的车流量,这包括流入与流出。
( h+ f+ q9 g& J. G9 P0 X2 l/ }为了保证总塞车量最小,同时等车时间最短。我们针对不同时段对车流量进行了不同的划分:
+ n" K6 ^0 u5 r
环岛内车辆总数Q
! X) B) C4 P: d, [& d9 d
   7 P( D' [( m, [' Q) G. ]
有红灯亮
6 {; T$ X% }& o+ z: W0 W
无红灯亮3 [) H; V- ]  N9 g! ~2 S

7 l; u4 z/ L5 k2 d3 l" s
3 U' ~/ i# a& c/ s5 n5 I

9 m# y5 i0 i& t) M9 M' L* {
- u3 {$ w! p5 y1 H
主道y; Y* w0 J+ Z0 P. \4 j
支道y
" \( ?! s# X' \% z
主道w
. m) \' u" r. {* A. }! W! ]1 x
支道w* t7 B( ?* o; [$ f- O2 w
主道y
1 a4 r- [4 F5 N7 @! g
支道y
- f) B: \) s: E) v1 z  o
主道w/ Q. x6 I3 x* P( m9 i
支道w9 H1 ]* \; p0 _  T3 x
800~1000" g: R$ ?' s$ B3 f7 M/ p
高峰期) {- y) M% J9 s/ I8 u
3~4  T: m  M* Q3 Z- {
1~20 k" r+ i, c7 Y# E. L: F% {! C" V
0~41 q% H1 C$ x+ [  V
0~2
0 O9 b: }* Y2 N+ N: K
3~4' ^4 c) o' U  ?3 @
1~2
( w* h/ u4 m) @0 t; Z0 s
0~4
( Q/ _0 M  z- n- _1 f
0~24 J% s9 s( B9 C6 ~# ~5 t; S
500~800
# R+ a9 D5 [$ M2 _7 h8 o# f2 f: C
次高峰0 Z% M' @7 E4 x7 M: y
2~4
& K/ e' a+ ?) Z- y
0~2) q( a3 {; l3 Q8 K, u3 t8 k
0~4
0 d  m! W: `7 E$ X
0~2- I# k0 H2 Y, m# G* }' F
2~49 p' D. J) D! h! s" X+ T
0~2
2 w/ a* h2 c1 _4 O  \
0~26 R: \) _$ G/ Y; J- K' ]
0~1
7 h' U1 v( l5 E0 w5 ?1 H5 Q7 F- E
200~500- @+ V  _! ?+ e8 f8 S5 I) t
一般情
9 p* K/ o' i6 [4 @2 ?2 X
1~2$ c& G( _# e  r! N: g6 _1 \4 R# s  U
0~20 [6 ?: R7 P2 g
0~47 `& R2 _0 H$ `
0~2
. @5 n0 o( c, Z6 b+ e
1~24 A; P3 |# `/ ~* d3 s
0~2/ `  a+ a! D3 r, i! k9 ~
0~2
4 U! f) e" D3 d; J
0~1
2 _/ ^& d" q; l+ c
0~200, c, s9 D* W& F7 O
稀疏情
- B/ f& j* G/ u9 _$ f
*
5 u$ u) V3 X1 ~$ A( k- z3 [8 z2 t* g
** h- g" r1 D. n! A1 ^, Y
*
) R6 ?3 _6 x6 \2 A! F0 {( R. j; `  y
*/ _6 ]: F3 k$ A& Y3 L) P
*: E7 O: b1 r2 K. U) [- A7 z
*( j8 s  s+ _! v$ {8 w4 e
*4 M9 ~) y: }' H: e2 b
*
' P3 n* {- F$ ?1 w' L
2
五.模型的建立和求解
我们先设立一个逻辑控制变量
( @: u/ y, L1 e2 z# q: F& L对第il路口,当有车进入时, =1(即认为绿灯亮)。
! V) ~/ R% ^* K( F               当没有车进入时, =0(即认为绿灯灭)。
$ ~; l; }. Y+ o/ s又设 为第i个路口的车流量(辆/秒)。
8 J) q/ |6 h) S! [3 c$ B: j则我们可以列出下列等式:6 I5 Y/ r+ K* j- M5 K% V! D3 g
      根据:单位时间内,环路车流量的增量=流入的车流量—流出的车流量。
- \* A6 h1 Y4 ^% U
4 j  z1 V8 V* ~0 V6 m7 Y6 x; Z
1 A) v: y7 v" t+ f/ r0 I( r

/ {' M! ]$ a9 p% odq表示单位时间内环路车流量的增量。
3 n( h9 I1 M4 j8 E   A* c7 v7 K5 Y8 I  s
对于 以及 我们可以用rand模拟。) U  e' f* @$ ]# o' w4 E
( b. w9 E" F' @  p
因此,环岛内车辆总数Q满足:7 }' G+ o/ L, G9 `1 E2 z- \
* U1 \; Z3 y% c9 r( v0 p
注: 5 U( x7 ~, d. c
由于 的组合有很多种,我们加入限定条件,即要保证等待时间最短(红灯亮的时间最短),以及等车数量最少。1 M9 C9 T, X! D7 A/ \  F
' ~+ I4 }; P3 ?: Z6 j  x1 V- u
因为等待时间就是红灯亮的时间T,等车数量又与车速和等车时间有关。
/ m0 C, y7 ~2 o9 Q# I" C/ F : C0 h) ?2 N" k" b
为此,我们设立下列函数:; L# v% ~' Z$ ^
! f" T+ }( Q7 M  E, o& G/ b
, i# N; ~( u! J) B. ^8 u
* d' t3 o) F7 H* r) }5 r. a

8 J# Z: n; w1 A/ M% J9 f说明:: D6 \+ x# s3 F6 |+ W
为各路口的逻辑值(通为1,不通为0# D% `5 o$ c' c3 F3 O
0 r# N6 _$ F8 N& [! R2 s
为第i个路口的车流量(辆/秒) 8 F1 u0 p- \" \4 p% q  Y
为循环中第一次亮红灯时的堵车量, 为第二次亮红灯时( 的对立面)的堵车辆。+ v- f; e/ |8 K# f0 l) j# |* D+ t" v
为总堵车辆。0 m5 g# x: A' p! ?3 N, _& B

/ @! }% T. R# u: N, Q上面的分析可能需用到下列参数值:. G: ]* f8 Z1 _. @. r' H
1.
1 g: H, w" |& j/ M" o
每条路段上的最大车流量。

. N  e* F  `- a3 u3 a7 d% x( O3 H2.
9 N& A8 l( R4 V, n# U9 ^6 {
每天路段上的最大车流密度。
/ o. }6 F: r( n" a& M4 ~8 w
3.8 e) W$ P$ b4 h' `: t
每条路口进入的车流量(辆/秒)。
/ y8 b9 z! \( u& S/ w" I! K
4.
8 }" N. Q) J" }$ M
每条路口开出的车流量(辆/秒)。

6 n" N: ]( J0 n% ^8 Q0 O 5 J; |  q: `+ t
通过模拟,我们将在不同的组合中找出最佳的红绿灯方案,并通过多次模拟,确定时间分配。( y! y( j  [7 f% E2 p" ^" o

# r9 Z: h2 [- n. z8 m) K5 G" B- } . S3 q1 H8 o" w$ j# V. i: G
一、对于高峰期时,我们对于下列组合进行了模拟(程序见附件):
# a( |  V. l6 T  x7 Y$ b2 C
红灯亮的个数(盏)1 a: x- I6 R- v4 O% x. c+ q
12
# k$ c& t/ x, V
112 G# A. a  h1 n7 Y; A
10
7 d1 w: ~( m# ?4 C
9, n9 V  {9 O. Q4 m
8
4 j: ]) r. s, b0 R5 I; K
7
  s( g* k9 p# G1 @. h
6
$ B1 s4 E$ z7 a1 ?
5
* u9 V& c7 |+ L# p3 J3 C3 Q0 b. K
4
/ T. i+ V% O/ I+ i% g0 N5 a
3
! _1 F2 D# [8 n, J! z2 c% Z
2
% X- d2 b3 l) s$ s# ]
1
7 v) }8 g0 Y+ D4 B
0
  [6 X/ s) d% s. o+ B+ [- p
平均最短等待时间(秒)
$ g/ J3 o$ a$ K! b' `
16( s4 u' }, `1 Y$ T5 z2 |2 \
20' N" w: @, f- e  ?
22, s& m4 Q* j. o* p7 V' h
27: e* Y5 d. Q. p1 M; g! Y5 X0 U3 m
304 X3 a4 {  l! M5 Q* I
42
! A$ L  j! y! ]" |
70/ S, a/ _8 S7 p; s) j) d+ s
154
8 L) p5 w# L! b; ]5 d6 }, E0 V
Inf1 i) K' U% Y8 Y' ]5 n
(无穷大)
$ }) b% Z' @& }6 D
Inf
* @$ E7 q  p6 j! Y- M2 `
Inf
. ]5 F5 h  {! m$ N. o" v+ _0 o
Inf. U6 `9 r$ `4 v) F  @" i
Inf
; T; ^3 u' W! S
3
注释:9 G0 {! k& b9 I' r& ^% x
对于红灯亮的盏数,我们可以有很多种组合方式,比如红灯亮1盏,可以是1~12编号中任何一个亮,但这些组合中总是有一种或多种为最优组合,这从我们程序结果可以看出。8 K% \7 e* i+ N

' s& F' R7 D+ d  }- n分析:
+ ^) P8 p' O& r9 ]# z0 f/ u6 q
2 ~- _3 Z( f- V! r" N3 h: Q) B$ B0盏红灯亮:
( i' W9 o; ?- a此情况显然不合理,因为没有红灯就无法控制环岛总量。
: L+ y" q  f4 u( G* E" t
. R8 e& ?: @& Y5 [) o1盏红灯亮:: l7 }: }0 ^1 D5 A3 E1 \# ~$ ~
对于此种情况,经过模拟发现不可能达到降低环岛车辆的目的,反而,环岛内将更加拥堵。(过程见程序)
4 C0 l  j$ ]# b* r 3 S. i, a- Y5 [4 `5 j; P
2盏红灯亮:8 {. H! {; a$ r. T
此情况结果同上,不可能达到降低车辆的目的。
( b; }' O# ?- m % w4 \! {% N: t3 d2 B5 ^# w$ H
3盏红灯亮:5 w! g, V1 Q! y, H. Z4 r  |% n5 B2 w
此情况结果同上,不可能达到降低车辆的目的。) I% b: ]. W) P/ y! J

, ^4 H+ Z4 a  P( \* G. {; l8 R4盏红灯亮:# U5 v9 y: H4 L& G+ s
此情况结果同上,不可能达到降低车辆的目的。! C& L' Q2 b. p4 ~) D! s
  M4 O% _+ Q) q0 k" H$ m+ L
由上分析说明,红灯至少应该亮五盏以上。  G; p0 x: T- E4 Y9 ?
3 U$ G0 E& y6 s/ r: Q1 i
为此,我们排出一下组合:, g+ b# R8 e/ o5 r4 Y2 T/ a' {
5——71 c9 e3 ]) p! I2 x' ?
此种组合方式下,可以分为:
+ V, s7 F: X/ U& \1 ha.开五盏红灯时(包括一个主道)的等待时间为144秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为48
3 Z  R5 l1 N' m" A" M' l  h此时,总塞车量为:
5 l* j. j' A3 l$ I5 e( J, N
% L! ^! `/ z1 ?b. 开五盏红灯时(不包括主道)的等待时间为inf秒,故此情况不成立。 - t, Q2 @' l4 v3 [  f* Q
1 L- Z$ M" z' g) R
6——6
: y( k: z- e% W( ^$ G' V此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为68秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为67(由于分布相同,其实两个等待时间应该一样,但由于是模拟,不可避免的造成一定的差异)。1 r' X+ Q9 ^; m0 w. s& Z+ k5 N/ T
此时,总塞车量为:
0 x& H  M# }. X  r3 Y7 ]4 O( e, u. M' W$ K7 ]

2 P+ H5 k3 Q" [, U6 I) p在保持堵车时间尽量短,堵车数量尽量少的原则下:1 H: X5 J3 p! W6 {+ Z- K
只有选择6——6组合是最优的。* v/ G, {8 F" q. S
根据等概率原理,各条支道应看做概率上相同的路口,而两条大道也是等效的,因此,在模拟时,我们就可以人为地设定组合,只需保证总数按红灯亮的盏数分布即可。比如:对有6盏红灯亮,我们选定组合编号为:1 3 5 7 9 111为主道),此组合方式与2 4 6 8 10 12等效。
4 j/ p* m3 J8 S/ e) _
1 S# C5 R; t1 b2 b这时我们可以确定红绿灯的循环模式。
  j' S" Z$ `  Q5 V' a6 L不妨设定,先使编号为1 3 5 7 9 11 的红灯亮,在经过T(T=68)后,打开所有绿灯(包括原来的绿灯),再等环岛内车辆上升至限定值后(经计算t=25),再打开另外路口6盏红灯,其编号为2 4 6 8 10 12。之后,重复上述循环。+ D& }6 o6 ?  V/ d
" Q2 Y' X7 {7 Q9 I/ f9 j
% P$ z( y1 y6 |
二、对次高峰,模拟结果如下(程序见附件):
  U3 _+ h# b& P9 p8 I
亮红灯个数(盏)) F+ t6 u) E  H
12
5 Y4 a. @( b+ L' o  x
11
  ?# m4 ~6 U* @: l  i" G0 f! m
10
/ F. K# N4 S. V2 R7 H
9: Z/ m6 G# f+ R7 S! n8 [
8
1 _/ V& @$ w0 L6 |
71 ?5 _+ x' G8 V7 T; x1 w$ Q$ w' N
6
; ]* B/ q! N. ^" d
5; h3 Y1 G' P6 C2 q3 D& ~
4
+ t$ M4 S' X1 H8 O2 |) V
3
! z2 j7 w( j' g; N
2* D) s: ~: v+ M+ Q
1/ f  t) m" p' T% J+ F0 Z" l( q
0
' U1 f1 |( D9 I* y" O
平均等待时间(秒)5 W" D7 }& X/ o/ w8 e" K
24( p& u5 D) c& C
30
7 b: e2 j5 U* A+ w+ W2 [, {5 k
31
; B# l) ~" f% v
32
2 I) @7 f4 c7 i  h
353 q& R9 W  O: d4 z
43) T3 `1 f& f5 r
57
. G. f# D  Q: G* \6 t
68
3 H# v( {# w, O, g
96! ?, Y! v% W$ R/ H
Inf1 r& g$ [9 ~4 g$ j5 T, {4 C

. S; e1 ?# D6 v9 [) Y
Inf
0 S) X: p) w& b7 F, O
Inf
0 H- T7 Y+ I5 S) M' \
Inf
, r0 ~- ?; o7 f, _5 J
4

) f1 y2 B' A) L) A! b% z6 @; t说明:
& [, q( O: A. Y2 R对于红灯数目小于4的情况,实际上有的模拟值满足要求,但由于等待时间太长(100秒),并且情况及其不稳定,多次出现inf,也就是不能达到降低车辆的效果,我们认为这些情况都不现实,均统一成inf类。
5 r  L( t2 V9 j   T, }' E0 z2 V1 R5 }5 ?
由上分析说明:红灯至少应该亮四盏以上。
. u) j( W. n0 W
5 Z2 d  J+ v( }+ a为此,我们排出下列组合:# T; h' a5 _) t  D$ R
4
——4——42 h3 W( {8 h: o7 s* s: U7 e
此种组合方式下,开4盏红灯时(编号为1 3 4 5)的等待时间为80秒,开另外4盏红灯(编号为2 6 7 8)的等待时间为77秒,开最后剩下的4盏红灯(9 10 11 12)的等待时间为147秒。
' z6 z) j& K6 M; j$ W/ x& R, k9 {此时,总塞车量为:
  R: R4 {: h. Q" N7 `3 x* J7 k" u# u
4——8
1 j0 c; F: Y) c! r' Y2 G此种组合方式下,开4盏红灯时(编号为1 3 4 5)的等待时间为80秒,开另外8盏红灯(编号为2 6 7 8 9 10 11 12)的等待时间为39秒。% K2 [9 m& r( E% ~
此时,总塞车量为:
' z  p2 N, S/ U) @: \4 z4 I8 {- L* p* W2 W5 ~! W6 l

5 D! x- ]5 L' `% h5——7
8 Z  ^! u$ q5 J$ s) q% x4 T开五盏红灯时(包括一个主道)的等待时间为58秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为45& w% d2 j, Y: L' c' Z$ u3 B+ ^
此时,总塞车量为:) N+ Q% T9 Z8 l1 d9 B

& L2 z5 I* ^# i
3 L' f$ _) V7 v+ o+ x8 o) A/ j6——6( E/ l. N( J' Y! U* i
此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为50秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为50(由于分布相同,其实两个等待时间应该一样,但由于时模拟,不可避免的造成一定的差异)。' t) q/ T* x5 D" @
此时,总塞车量为:
6 o0 L; A: Y! K5 q) U$ ]
, R4 F2 f7 v* k2 ~ ! e7 S) t4 M/ o* o$ d  W+ I6 I' x: p- h
由上可知:3 `: T. r) L, }0 X
对于高峰期和次高峰期都应该选取6——6的组合,并且将两条主道分配到不同的组合中。( Y9 g+ i3 Z5 m8 `" [5 b7 H5 ^, ~
0 M5 H, H7 b) m2 f
1 ~, _! @0 B  w, B0 F) ~0 F
说明:(为什么选取组合时两条大道不能同时选取?)  _. P% ^% Z2 f8 G
下面只针对高峰期说明:
% v, Q, l9 I/ {对于高峰期同时选取两条大道的情况:0 p6 |5 k* Z$ E8 W; N! o& K6 k8 D3 b: f
2盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=inf,也就是说不可能达到降低车辆的目的。
1 W5 e  {! g7 E3盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=inf,也就是说不可能达到降低车辆的目的。" C& \" ]5 n+ f" U3 {) D
4盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=158秒,并且多次模拟发现其等待时间出现为inf的几率很大,也就是说不可能达到降低车辆的目的。7 p. j+ m6 E3 @5 _( T  l
5盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=101秒,并且多次模拟发现其等待时间出现为inf的几率很大,也就是说不可能达到降低车辆的目的。
, Q3 k) W' P  q* ~6盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=63秒。
; Y( J* i+ P( X- p+ y7盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=50秒。
( E5 c5 M8 D& z' a' {3 D( ?5 }8盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=45秒。
' K' P) a7 y$ o' x2 q2 N4 ~9盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=35秒。
. l6 f$ N4 C2 s$ o5 ~( B& O3 y, X, ?10盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=30秒。
( w; S( D, b: L, ?  f 0 {( V9 K( r* u8 M9 Y
同样地,考虑到我们设计的算法,对于高峰期,不可能不选取某一条大道,所以我们只需考虑对称选取,即组合时尽可能的将大道分配在不同组合中。& c# j4 D7 Y$ f; P! Y
2盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间多次出现T=inf,说明此种情况不可能大道降低车辆的目的。
; P# I( B. l7 z1 P# v; t  W) s7 D3盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间T=96秒,但也多次出现inf的情况,因此不考虑此种情形。! j1 k0 v. O5 Z8 K0 l3 H
4盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
0 b) J4 O( _3 j  O" Q. T4 {: v" F5 nT=65秒,但也有很大的几率出现inf的现象,也不考虑。
0 n" I7 x( @, n' A) p9 e5盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间2 x. D5 q# u7 U# v
T=45秒。% b: [! [& W2 U0 b- m! `
6盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间% a2 [2 e- f) L) }
T=35秒。
- g. ?4 ]5 Z* `5 p  C3 T7盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间5 u8 w$ P& r: e0 ?8 U- x7 j
T=31秒。2 L9 ~7 n0 M8 n. C3 @3 V4 n1 \
8盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间: o) O- a5 ?* E
T=27秒。- ^' q( }; Z7 F
9盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
( c6 ^8 \" v! @0 x$ }T=25秒。" ?: Z0 x, `$ j' Q; M
10盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间=23秒。
% N) e9 V! G+ t
% j) {9 c) W1 z: F8 _: J$ N对比上面的两种组合下的结果,显然第二种情况更为节约时间,对于所有红灯亮的情况,只选取一个大道通畅的情况能保证等车时间。因此,我们认为,选取组合时两条大道不能同时选取。) F" B) m( n' S: [- l5 p! s, X5 ^
; ?8 @5 Q8 s$ g$ G
由此,我们可以得出高峰期和次高峰期的红绿灯控制方案:
) N# V. A: p1 z% ?) _* w7 [# A6 M1 c对于高峰期的方案:
* m& P- K9 C" h2 A( C# Z先亮6盏红灯(包括主道的那个红灯),其持续时间为T=65秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为T=27秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为T=27秒,此后若不打开红灯限制车流入,将超过环岛最大车容量,因此,时间不能超过27秒,但是,我们为方便设计考虑,将时间定为27秒)。之后,又打开另外一组没亮过的红灯,持续时间为T=65秒。结束后重复上述过程。9 B6 m! u8 N5 ~& E& ^: U
0 z6 N5 V1 u4 I/ j6 f
对于次高峰的方案:
% H) v' R5 T, N) r0 t& Y  _8 \4 J  j) u先亮6盏红灯(包括主道的那个红灯),其持续时间为T=35秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为T=23秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为T=25秒,此后若不打开红灯限制车流入,将错过环岛最大车容量,因此,时间不能超过25秒,为此,我们为方便设计考虑,将时间定为20秒)。之后,又打开另外一组没亮过的红灯,持续时间为T=35秒。结束后重复上述过程。
- Q1 g- Y! }1 t, m$ a5 P" T$ r* c
1 t) ^# _6 M( Z  z) p % u+ @# `, S3 J& A' B5 @  }9 g
三、对于一般情况与稀疏情况的说明:; s0 A0 R! u- o6 _
" X; K3 L& S8 o; q+ P' \. c
A.
) `! A0 }* T* {  X+ `" _
一般情况:

! y2 N# q6 n3 J* b1 o对于6盏灯的组合(每个组合只分配有一个大道),其等待时间T>150秒,如果红灯时间仍然按此时间设计的话,肯定是不科学的,因为不可能让汽车等待如此之久。因此,我们从尽可能减少等待时间为标准,经过模拟,发现当所有路口均亮红灯时,其等待时间最少,为T=23秒,而这也符合一般城市中非高峰期的等车时间,我们为了方便设计,将此时间定位30秒,而30秒也是一个可承受的等候时间。对于绿灯全开时的情况,更趋前面的假设,经过模拟,畅通时间为T=50秒。因此,我们选定一般情况时,红绿灯亮灭的原则时,所有路口红灯全亮,持续时间为T=30秒,此后红灯灭,绿灯开,持续时间为50秒。之后,重复循环。
* ~- [" A1 Y! dB.稀疏情况:. ?3 p5 u! r8 S
对于稀疏情况,车流量具有不确定性,我们无法估计具体的车流量,但由于此种情况下车流量很小,我们可以将之归到一般情况,并且以一般情况的红绿灯规则来控制。
% R* L) y1 B7 \- k1 L  _% D 8 l& T% I! f5 e5 U7 H% o
5 D- A! P7 v. `: s7 r
1 V( Z5 A/ @8 ?7 {+ Q6 `
六.模型检验
根据我们的方案,我们采取随机模拟的方法,分别对高峰期,次高峰,一般情况和稀疏情况进行随机模拟。
; \9 W4 v8 J2 j! J为了保证环岛内交通的流畅,我们设定环岛内的车辆总数Q不能超过1000,但实际上换岛内最大车容量为1327,因此,我们在考虑交通流畅性的前提下,可以适当地放宽这个限制,严格规定Q不能超过1200
8 }( _: I1 F+ ~( {' k1 o. x/ d我们检验的目的是为了了解模型的稳定性,为此,我们对四种情况分别进行了24小时的模拟,其结果如下:
7 Y) v( E# z2 q* o2 z: u) {. f7 b5 _. I1.高峰期:(程序见附录)5 R* k) n+ W. f9 v
第一阶段红灯持续时间t=655 m) m0 d$ ^$ G1 V
第二阶段绿灯持续时间t=278 h* v5 Z7 C! }. U1 u9 W) l
第三阶段红灯持续时间t=65% _4 b' \; U: U( @. |) \
第四阶段绿灯持续时间t=27% c: _7 c( v' N5 K! i: k) T. r
总周期T=184
9 f( _4 |" ^& Q" N" x 0 c9 h# e4 s; L
对于此方案,我们在模拟时发现,由于每周期都会累积一定的车辆,也就是误差,在很长时间后,其累积的误差将达到非常大并且不合理(超出最大容量)的数值。因此,我们需要增加一个修正时间,并且此时间应该很小,只在车辆超过一定数量时才加入。/ u/ ^) E/ b. c/ e5 g! V0 P
我们的做法是,当环岛内车辆大于1000时就对红灯持续时间加3秒钟,即此时红灯持续时间t=65+3=68秒。在车总量Q没有超过1000时,我们仍然以65秒的规定时间运行红灯。
+ Y, N9 w( \6 r: J- I9 e  l这样,我们模拟24小时高峰期后:超过1200的车辆次数为37,占一天内车辆总数的比例为1.97%。(这只是模拟一次的情况,在模型改进中,我们模拟八次后取平均,得出更加准确的比例:2.74%
9 M# y3 x) V4 P/ a! `! G0 Z对于此比例,我们认为是相当小的,也就是说,发生环岛堵车的概率时非常小的,因为我们是对1天进行模拟,累积误差显然会相当大。而一般的高峰期只持续2小时左右,累积误差必然很小,其堵车概率也应该低于1.97%
& }  w8 ?% `9 O2 x4 Q6 g; n) U. O
: u; ?- x4 t' i7 F+ k% b+ f2.次高峰期:(程序见附录)
( _0 f4 {# L3 g+ l! a# z8 e7 Z第一阶段红灯持续时间t=35
' m0 H9 `! \( F: X; U第二阶段绿灯持续时间t=23
  u& H- u6 P  O# o2 g6 i第三阶段红灯持续时间t=35
+ y: M( e) @3 l第四阶段绿灯持续时间t=23
: A/ A& X' Z3 `. T; h- O总周期T=116
4 F) F5 s7 v; F6 {2 u4 T对于此方案,我们为了保证环岛被最大利用,同时又能使交通运转顺畅,设定环岛内最大车辆数不超过800,经我们模拟24小时次高峰:超过800辆的几率为:
1 [/ D1 J: Y8 S2 X$ ^7 d,
显然这是非常好的方案,鉴于此,我们不对此方案做修正,即沿用模型建立中确定的红绿灯持续时间。1 M5 c- M" M/ Y3 J6 ~7 |
3.一般情况和稀疏情况:4 f1 s( \$ P( P7 Q# l& E
因为车流量的原因,不可能造成交通的拥堵,因此,我们不在对此情况做模型检验。为了说明时间安排的科学性,可参考其他大城市的一般情况的红绿灯时间。, R; c' h8 F9 _6 E6 @' A& n, @

- |, _1 O, H- Y4 V9 b
, o- j! R4 a; |( K 2 h* J/ r/ J, U2 D$ J" d2 }
七.模型改进
1.对于工作日和非工作日,由于车流量的分布不同,我们可以根据表1来设计红绿灯时间安排。' b2 F) o2 S; ]2 T; X; Z* \/ Z$ ]
2.我们只考虑了每个路口流入与流出的关系,并没有考虑到车辆在环岛内的绕行情况。所以可以增加限制条件:环岛内并行车辆不碰撞,这样可以选出更加优化的方案。  ~! ?% s: x2 {* D  h* Y- k
3.不妨考虑车辆在环路中的相位问题,这项可以细化到每辆车的行驶情况,但这样相对来说较为复杂,我们不予考虑。9 g1 H. w$ |1 Q( y# U' G! C
4.对高峰期时间的修正:
2 R$ P$ B$ w7 _3 u! T* A若不对高峰期的红灯持续时间作修正,则经长时间后,累积误差将使环岛内车总量超过1200(我们称之为危险),这是非常可怕和不安全的。为此,我们对红灯持续时间做一点微小的修正。经过我们的模拟:(程序见附录); N5 l8 u0 x  j/ m) i
修正时间t=0时,出现危险的几率:89.62%( E+ g; }: s) }) ?+ W/ ^
修正时间t= -1时,出现危险的几率:88.56%( _' o5 `) C( h+ i
修正时间t= -2时,出现危险的几率:98.03%
3 ?( M6 Q* D( v; u7 f& E# I- ?其实,如果减少红灯时间,显然,这时在这段时间内进入的车辆数目就会增加,在不修正时已经危险的情况下当然就会照成危险几率变大。2 W! A8 F8 T" e1 h) k
所以,我们应该将修正时间调为正值。
% W/ \9 }0 |" a# X- z修正时间t=1时,出现危险的几率:93.33%
; q8 N  X. \1 K3 c/ _* j修正时间t=2时,出现危险的几率:13.74 %7 }1 G6 E/ s  x1 n: M) y) N' \9 s
修正时间t=3时,出现危险的几率:2.74%
: X; e2 U4 L& q0 B因此,我们以5%为限定,确定出修正时间为3秒。
9 {5 h4 Q( Q. F& _& ?% N( `% [
0 }8 ]1 p/ a8 ^8 G* e. C4 ]  h
八.模型评价
8.1 优点
, B0 z; p0 x% D4 b6 n! Z3 k
" t1 q; B$ @1 B! x9 v8 ]$ a: s1
.本文对不同车流时段(高峰期、次高峰、一般情况与稀疏情况)模型分别进行了模拟计算,得到了最优组合下的红绿灯循环时间。由于车流量是基于模拟的,并且环岛内车辆总数也是先设定的,因此,我们的模型可以适用于很多情况。并且,根据我们的模型,对于已知车总量和具体车流分布情况,可以重新确定出最优化的红绿灯控制模型。

3 i7 Q  o3 `; e3 E" i6 e! h1 Q0 K2 F! V5 f% p
2
.在建模过程中,我们对所有可能出现的红绿灯组合情况进行了模拟,这样最终得到的最优组合的方法是很科学的。
0 p# o' u/ |. J* z( f

# ?3 \2 P5 M; e  _7 h8.2 缺点+ K% N6 q. ]% c1 @4 \& ]' f

; p# O$ `, g7 p8 D+ M; o1.
在模拟模型的过程中,我们假定车流量服从均匀分布,这带有一定的主观性,并且我们并没有考虑每一辆车的具体行驶情况,比如车辆在环路中的相位问题,这可能造成某些紧急事件发生时不能及时疏通道路的问题。

作者: lijiustc    时间: 2009-8-17 16:52
希望大家多多指正批评~~~小子不才,愿听高见~~
作者: lijiustc    时间: 2009-8-17 16:53
再补充一句:我有回比复~~~谢谢~!~~
作者: jun362801    时间: 2009-8-17 18:12
支持原创!
作者: lijiustc    时间: 2009-8-18 15:53
4# jun362801
& U0 s# W) l% t! f6 C, j2 ]- W- X: ?& \6 c

2 l9 e* J% X! ]" k- X* S; Z* ^1 Dthank u
作者: renran    时间: 2010-4-26 15:49
无比感谢你的思路~!!!!!!!!!!!!!!!!!!!!!!
作者: monana    时间: 2010-11-24 21:58
强人~~~~~~~~~~~~~~~~~~~~~~~
作者: daodao_2011    时间: 2010-11-26 11:15
请问有程序附件么?
作者: 陈阳康    时间: 2011-1-15 17:16
                        
作者: xnight23    时间: 2011-2-3 22:59
今天做这题,参考一下
作者: h5961576    时间: 2011-2-9 18:38
有的字母和公式看不见
作者: 小马屎    时间: 2011-4-23 11:29
谢谢诶  对我有所启发
作者: 小小小小丶莫    时间: 2011-5-8 19:11
写得不错....
作者: 日月星辰591    时间: 2012-1-28 09:21
我也开始做啦!顶一下
作者: 婷婷玉立    时间: 2012-1-28 09:25
(*^__^*) 嘻嘻……。。。。。。
作者: 婷婷玉立    时间: 2012-1-28 09:25

作者: li_meng41    时间: 2012-1-29 21:20
感谢楼主分享~~学习了~~
作者: hejiezhihun    时间: 2012-2-3 10:46
这是09mcm相似
( J1 K3 Y* F  G6 C7 R1 T
作者: xuanwoxingxi    时间: 2012-2-4 10:20
感觉没什么图表 哎
作者: 逸涵    时间: 2012-2-4 15:39
看       看        呗
作者: pcyaoqiang    时间: 2013-7-7 13:27
支持一下啊!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5