数学建模社区-数学中国

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

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

7 r# j& X! B1 Y$ H) Y7 c2 C& k本文就巴黎凯旋门环岛的交通问题,建立了控制进入、环绕、流出此环岛车流量的红绿灯模型,目的是使环岛内交通顺畅,并且尽量让堵车时间短,堵车数量少。
' S" a8 \- c+ d7 v2 c! Q    通过分析,发现环岛内的最大车流量为1000,波动范围为+200,还可根据车道宽度计算出每个路口的最大车流量。这两个因素对环岛交通有着很大影响。因此,主要考虑车流量和环岛内的车辆数目的影响。并设定,在建立模型时,环内车辆总数最好不超过1000辆。+ S: {% M8 {( C
根据各时段车流量的多少,本文将车流分布为四种情况:高峰期、次高峰、一般情况、稀疏情况。再根据各时期的车流量,建立了环岛内车辆总数Q关于流入量与流出量的方程: 。通过随机模拟,得出环岛12个路口的车流量,并根据堵车时间尽量短,堵车数量尽量少的原则,找出所有可能的红绿灯组合(前提是每个路口都有红绿灯),通过比较,得出最优化的组合(具体组合见模型建立与求解部分)。2 \3 k# o7 f/ [
通过随机模拟,对于不同时期,得到不同最佳方案:
$ c: g5 J) O3 u3 n9 w5 _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秒。
4 Z! h( Q2 k" D  ^: \! j5 {2.对于次高峰的方案,红绿灯组合与开关顺序与高峰期完全相同只是各时段持续时间不同:T1=T3=35秒,T2=T4=23秒。- S. ], S6 {# i  y6 d
3.对于一般情况和稀疏情况,红绿灯顺序为:在所有路口,先红灯亮,持续时间为T=30秒;之后绿灯亮,持续时间为T=50秒。之后,重复循环。
$ m: ^* j3 P, G( P8 r! s* v由以上方案来模拟计算一天内环岛内车流量Q,其值超过最大容量的平均概率不超过5.00%,较为理想科学,所以此方案可行性较高。 5 r; W. ?! \1 K" x$ w; k* H4 G: D. H
最后,对模型进行了改进与评价。7 ^$ g7 X' ?4 X; F, M
7 K$ O- L. x; x+ V
- t8 E# ^4 D7 L$ G3 D) {/ X! O
关键词:环岛车流控制 红绿灯控制 排列组合 随机模拟 等待时间 - A0 j/ U9 L7 y) f* Z
7 ~# d. I6 ^4 p5 Q9 w9 `

) F! D9 J5 E0 X. B3 R! ~ 9 P$ E0 ?- o) ~+ ?  |+ Y
* m* q! e# m# g0 q* P9 x7 j

( e+ C8 p- Y2 n' x# ?! R3 U. h$ S 2 K9 A+ V, {. w( O
一.问题的提出
巴黎凯旋门环岛有12个路口,其中有2条主道,10条支道。在进入该环岛的道路入口处可以设计有一些信号灯,或其他标志来控制车辆的流通。即为环岛制定车流控制模型,要综合考虑各时刻的车流量,环岛内最大车流量,天气情况,工作日与周末情况等因素。
& n" M5 Q; r8 b! Y! `    我们的目标是,根据已知的信息,建立控制环岛车流量的具体模型,并分析该模型的优劣与稳定情况。3 |( m* S5 S/ Y# f& C5 `' p0 ?, E
7 X- B* H' C( c& `
1 环岛平面图
' v3 }% t+ W: b4 X7 Q5 Z. u
  R) r& T, u/ [8 X! }5 O$ E
. a/ M7 X* {2 R$ H" ?, _

$ v0 G% u7 I' p, Z ( h4 P2 C3 z" ^+ P' ?* K: N9 [
9 x" Q" b' L, ?5 d
二.模型假设
1.假设每个路口的进入车辆服从均匀分布(具体的分布情况见问题分析)。
; L$ g& D) H6 f) @* O/ Y2.假设每个路口的离开车辆也服从均匀分布。) h  a9 M  ~+ g6 n' M& f
3.假设每个路口都配置有红绿灯装置。
0 h: M" T: \5 w& W: z5 A1 a4.假设环岛为单行道,只允许进入车辆沿着俯视逆时针方向行驶。
: {7 }/ ?8 g" G6 R, M+ ~5.假设进入环岛的车辆最多只在环内行驶一圈,不能多次在环内循环。
/ Z/ d" a# x. L0 D7 F2 A% Q! ^6.设环岛内与各路口处的车速为20km/h~ 30km/h5.6m/s~8.3m/s
4 U! ~$ F, L0 |, O, X" S5 a* U7.假设只考虑正常情况下的交通,不考虑发生车祸和路面维修等意外情况。
! }- x! D- F! d3 B3 D. ? " `+ l& G8 _& N
6 \8 L- w7 H/ w' `% b- u' h

% y7 Q, ~' ~( J1 r6 |
三.变量说明
:环岛内半径。/ I% f; c& k" M- u0 o
:环岛外半径。
" l' p) p0 e/ l3 \& h+ l- U:车底面积。
. G1 ?( s7 N) P2 b% H- [. i! [/ z+ t:环岛路面面积。其值应该为两圆面积之差,
' G$ c% \. k1 G8 n. i' ?. }:环岛可容最大车辆数。 取整。7 @7 c" b% D+ J# n1 K# X
:环岛内车辆总数。
  s5 ]6 e8 B3 `' c:环岛内车辆总数的当前值。
( |7 w+ Q$ _2 H' R: E/ X:各路口进入的车流量。(1<i<120 \9 r4 O) @. g3 x7 T
:各路口离开的车流量。(1<i<125 t9 X& z# a* `& ?0 x
:逻辑控制变量,用于表示各路口的通堵情况。 =1表示通路,即绿灯亮; =0表示堵车,即红灯亮。(1<i<12$ a$ {& k2 G! l) N; ~5 A
+ G( T& s; C3 ~( Z
:表示所有路口的流出车流量。& ?8 L- Q- U# F, v) V" T! h. T# @

' w( U  o$ ~9 `8 S- U:表示红绿灯持续时间,具体是红灯或绿灯,模型中会具体说明。
, e4 t% u: ]+ E( k4 O3 _ 4 M' i) C9 `5 H3 G& \4 ?8 h
:为某种情况下的堵车数量,具体模型中会说明。0 F, o: a7 h/ i2 q7 C

/ j) |4 X# _/ L* Y; V:车流密度,作为参考因素,将影响对车流量的模拟。
! {" q( Q# h" v4 N7 ]) S
  x' x) N" P* |0 ?3 { + |& n  W. I+ F1 Z

1 ^" _4 M, {8 X9 v
四.问题分析
此问题属于交通流问题,我们在初步考虑这个问题时,参考了交通流模型的结构方程。我们认为影响环岛车流量的因素有很多:红绿灯,时刻(高峰期,平时等),天气情况,游客人数(虽然凯旋门游客时从地下进入凯旋门的,但是每个路口还是设置了人行道,所以游客的多少也会影响到车流速度,因而影响到车流量)。正常情况下我们不再考虑路面维修和车祸的影响。
# F; G" a8 _8 K由上分析,我们需要做的是通过对交通流情况的模拟,找到最优化的红绿灯控制情况,从而达到车辆最优化控制的目的。& a1 N) ?5 d$ y2 k% ?- L
因此,我们将此问题归类为最优规划类问题。
# C, |0 ^: c1 b; N. h( }8 k' E我们查找到了以下参数:
3 b( j4 j+ O* {& T凯旋门环岛每天平均车流量:110/天。4 ?3 D/ S% R" k4 \
环岛外半径:80m7 q( R5 A( E1 R" j4 j$ f8 P' z
环岛内半径:53m7 Q. D' E! a& N4 b
一般中型车的底座面积:(7~10m2) H7 P. f$ P6 M8 E+ O3 R
主道可以同时并行3~4辆车;支道可以同时并行1~2两车。6 e- Q! @; J. u# Q

! U* _4 U, q- p7 D- h 8 `4 a7 B$ L! ?9 g6 a7 C* A
4.1 环岛最大车容量:9 a4 J- H6 @" M1 V# w4 C3 d" y( C
由上面搜集的数据,我们可以计算出环岛最大车容量。
; N& _- r7 r1 F, S* g环岛内半径为 ,外半径为 ,车底面积为 & f( m* }/ D4 |$ n( o
则环岛路面面积应该为两圆面积之差:9 J% ^2 g( P& v) x4 Q. Q8 H

" R6 T8 @% b8 i( b; P$ N则环岛可容最大车辆数为:   (取整)
* f6 u! E* o0 g: E4 n9 J) S可得环岛最大可容车辆数目为: =1327(辆)。
. m+ `& y# o. @: D  z/ D% _" p- d考虑到车之间应该有一定的间距,并且应保证环岛有一定的畅通,流畅性,我们设定环岛最大可容车辆数为N=1000(稍微超过1000也行,我们只要保证严格地不超过1200)
5 Y1 @' v6 D. A4 T/ s" @
: l( ~, c3 I, t, p - r3 e$ \# V# Y% Z
4.2 各时段的车流情况9 ]. U$ o  F" h
, L- M5 q( h/ k" i4 q
工作日
( |' H) N0 x5 x# P
时间分布
9 `6 C0 s6 h' A
时期分布
6 t5 ?- [  Z% |! H: U0 W. A8 j! g
000~500
, ~9 B7 E/ p$ C& S' s
稀疏情况
8 J, J& t- [! {7 ?; F9 ]+ h" @6 o
500~600, T  X+ ~1 C& ^2 R* W) m
一般情况
9 p/ E' p3 W3 o, e& K3 i4 J
600~7307 B. W( [  c% L7 S/ @6 R. o9 h
次高峰, z0 `* l% }4 z% u+ c1 c$ g
730~900
' N; S3 b6 e+ n6 {$ z, s7 ^+ ~
高峰期  X/ p! s' J. f# G4 Q
900~1730- R# i4 S+ h* v4 R
次高峰3 t- Z" U2 i+ t7 ~8 Q  f
1730~1930' c* G2 w: V- v5 c
高峰期
4 S8 d' n+ |- q) {
1930~21007 x, f/ C$ i3 h7 S5 C
次高峰
( ], i& X* R1 z3 {/ M' y
2100~23003 k8 r  O, V3 i  ]: `- Z$ X+ w! X2 G
一般情况) t9 [) w  w1 m  v1 n1 E
2300~2400
3 Q& j5 a7 B- `
稀疏情况
8 X9 C1 Q& d6 K; q
) P0 I6 f: w8 J+ e( K
; V+ P* f3 m" w4 K/ R+ k
周末; C4 _# A' {) Y- W2 F1 W1 T
时间分布
# ?; U* W1 ]: K6 B" A3 h# ^
时期分布
' P3 c$ d; e5 P5 L, W
000~500
$ u& U3 N2 A3 U; o; f! q9 p" e6 ~
稀疏情况- Y0 ^" V- }, \2 B0 u* C9 ~5 V& D! r
500~600% M6 Y$ D0 u6 t# }
一般情况
+ z; ^  {4 }/ m6 y0 N( |
600~800; {2 t' Y! a6 J/ M1 Z
次高峰
& a& \5 B6 ^6 U2 Z
800~17309 j4 n- v, ?; O
高峰期6 H1 \4 P/ a9 }# p
1730~2300
/ C. ^9 I$ a2 l' ]8 X5 Q: m2 |
次高峰
2 U% N% y/ [- X5 ?2 m0 O
2300~000
1 f9 f. z( B! ?6 F9 j
一般情况  M& {7 V1 T; |4 p& ?
1
3 E* ?( h  y8 _, p
说明:0 A# G; C; O0 |1 p4 V- D2 Y
在巴黎和法国其他主要城市,高峰时段的交通最为挤塞。法国每日的交通高峰时段是早上7时30分至9时及下午5时30分至7时30分的上下班时间。在星期五法国人一般都会外出旅游,所以交通高峰期会较平日来得更早,在下午4时起便开始阻塞,其中尤以离开巴黎的各条公路最为繁忙,而非高峰时段的交通一般非常顺畅。( t* ?. y  ?! v/ H7 u- N
" r" m. Y: A3 G1 ?) t3 t* W) i8 `
4.3 对于交通模型的假设与估计
# f: [& h+ L% H$ v对于交通流模型: ( M7 B- O1 [2 Q$ l& F( t  K2 C3 ?2 I
其中:q为车流量(即单位时间内通过的车辆数);
+ z; q0 ^. u# g* o6 A5 ^
* A& O: v0 B4 N2 ~2 l& ~& f( i- r2 G, H$ x* l' C
为车流密度(单位路长的车辆数);
9 Q0 q6 o9 D2 C8 j! g7 d4 C
: j- g: ^$ x5 T
; C, U  s. S# Y! {" O$ p1 e
- q! P$ e/ S+ A
为最大车流密度。
( K! ?. M& B3 {7 B  P4 q' o, W" Z  T0 n. x  u

& @' w& y' `8 T7 u' _0 W( \7 \* f
为最大车速(注意:车速时车流密度的函数, )。& \& s) C+ D# G! f! N% q* {2 x3 ]
根据上面的方程,我们可以估计出每个路口不同阶段的车流量,这包括流入与流出。2 o( w. |" S4 I+ {* ^9 D
为了保证总塞车量最小,同时等车时间最短。我们针对不同时段对车流量进行了不同的划分:' ?+ M! F1 j+ f  Q* l( A
环岛内车辆总数Q
6 M* h8 e6 y  u% ]% n
   
  b4 W7 M4 P* g5 l
有红灯亮
+ |8 t& O3 q* z. ^4 D8 h% E
无红灯亮; U* n, m- J/ E

0 T- V  `8 r" q7 Z) e8 B+ [- v8 o* D

3 S$ V& k# w& D& b2 X
% g# o% R# j( l% B* W7 s
  M& {4 b. d3 o
主道y
; N- e9 g  b* t6 A- Y, M* q0 T) y
支道y
+ S3 N1 u! G) v
主道w! H/ f: X, E: w
支道w
# k' o1 N! e& U5 [& Z$ V  R6 E
主道y# ~3 H4 k5 b9 A) D* R
支道y
" T: X; ~7 F: G, o) g
主道w
( M! d/ {$ W2 J+ ~! m
支道w; Z% C- M( c# B) D2 c
800~1000
. r, |8 }% p* R
高峰期% v4 ?7 W# L/ b4 m5 ^
3~4$ y4 s' K7 J4 A( G9 H4 h
1~23 Z$ g3 y. Q0 a, Z9 I
0~49 O9 e( ~2 L$ b  Y' X
0~23 k; B8 h5 H7 ]5 l
3~4
; B8 {1 A* c0 P( W8 H9 K  |" Q
1~2, }$ y& B3 W) ~" v
0~4! w/ w' P% E' {( u
0~2
2 T& [) Y$ p, d# Z9 t5 o& Z8 w5 ?
500~800& a7 g7 U% I9 W' V6 a" g1 {  O
次高峰
8 u' }0 x+ j4 m) Z/ ]0 g) _3 w
2~4
5 @2 y  @, I3 J) I
0~2
( ~. R& f7 B0 L7 O0 y6 s+ l! E
0~4
* J1 x; U$ B* S# v) f; L
0~2
7 v5 ~# ?5 `6 `, E
2~40 n5 P5 Z) a8 @3 v: ?4 z5 O% B% ~
0~2
0 d  \3 }) h2 S  x9 _
0~2
! ^( ?' {6 P) q
0~1+ P0 Q2 y" t9 {  U% }. ^+ S1 y
200~500
( d8 i( V% T7 m- z, _' S( I) S5 l7 T
一般情 , K4 p6 z$ w7 u" d! f+ ]0 E3 t6 c
1~2" K$ {2 x# u' K: A2 R
0~2
' |8 H$ U  f. `/ b
0~4
9 ]% u/ @: A' m
0~2; s( ]" v3 h+ W  G# h
1~2! l7 d5 y& Q1 h
0~2$ e2 I! _& z. w
0~2
, g% i- a1 \* a; F
0~1" r1 j+ w% f7 e; n: a: y4 f, b
0~2005 Q% t8 H  p3 F
稀疏情
8 f6 U7 ?) R  b
*% u9 C6 K. S& m- ?. f
*
4 u, n6 ~3 N; K3 Q& [
*; u( Q- }( w, z; {# m
*: I) ~; N2 b1 D. `6 G( j
*
' Y9 B# a6 b" U% ]
*5 o* t6 [& V0 Q  |. l
*) v7 q" E  t5 ^
*2 {; F6 E( Z# Q' M
2
五.模型的建立和求解
我们先设立一个逻辑控制变量 ; [' u7 {; E' H  s5 ]6 V
对第il路口,当有车进入时, =1(即认为绿灯亮)。
& }( i: w% W3 o4 Y6 W               当没有车进入时, =0(即认为绿灯灭)。
+ w" `, q" e# O, T又设 为第i个路口的车流量(辆/秒)。
7 o$ {1 i4 A/ O& m# N4 U则我们可以列出下列等式:
; t7 D7 h) a7 N  P$ c( T5 L, H      根据:单位时间内,环路车流量的增量=流入的车流量—流出的车流量。
* S' q1 n1 g+ {; ~: }. [* H- ]' {8 E

! p- X  e# J- |; D; [' W& F4 c% g0 B* y  F
dq表示单位时间内环路车流量的增量。) ^% W0 y" Y  `; q" e* w( n

7 U1 U" M/ M! i1 N对于 以及 我们可以用rand模拟。
6 U( i' k. V8 S. C' j - o% p, X; ?* N6 O% g9 N3 p
因此,环岛内车辆总数Q满足:
& c4 S& u* ^7 P& q% B
- o, `; P5 u& o/ @3 F注: - w7 q- P+ E; W% ]- O0 p
由于 的组合有很多种,我们加入限定条件,即要保证等待时间最短(红灯亮的时间最短),以及等车数量最少。
, A- r4 c0 m) x4 f: Z- A" m
6 b* @9 K; G' U0 G  h2 }因为等待时间就是红灯亮的时间T,等车数量又与车速和等车时间有关。  [5 y) ~: ^0 ?) t$ d8 B7 r

- U* m5 |! g! X3 O" O为此,我们设立下列函数:1 I' O. H6 S% d
( c/ i  M' k# L$ p
$ `+ t+ l4 v3 z( ]' @, Q* x
" y' r0 O7 ?1 |3 W. O& ?4 x7 b- E
/ |/ y" `& Z+ J0 U- n" S$ ], n) o7 U
说明:$ Z# z( f, k  Y* v8 v8 X5 O
为各路口的逻辑值(通为1,不通为03 m6 A0 D/ r" k+ j
5 d$ }  F8 _2 v4 Z6 C/ U7 w
为第i个路口的车流量(辆/秒)
" Q2 w1 z) q3 @( E' M" F为循环中第一次亮红灯时的堵车量, 为第二次亮红灯时( 的对立面)的堵车辆。+ ^5 c6 [9 L, V& F" u% Q& v- T
为总堵车辆。2 A9 D( D; d6 T5 Y9 ?9 _

* g9 {9 C, ^6 N( k' K3 R' R上面的分析可能需用到下列参数值:
" ?" d/ k/ `  O8 p" m1.
" o* G+ G* u% r! D/ j3 N
每条路段上的最大车流量。

1 p, |! k& O1 T) B) i2 m4 J" {2.* V. [. I; D  Y% H
每天路段上的最大车流密度。
& g/ D$ m/ H# N/ C: R% X, [
3.: B& Z1 s3 L. [2 S0 O5 M$ D- A
每条路口进入的车流量(辆/秒)。

" \* u' `: {" z9 F+ Q8 U4.
; U7 W+ V* p+ X6 ~+ \& Q7 X
每条路口开出的车流量(辆/秒)。
5 O  M1 c* p6 m; |1 [$ _$ [

! A% x& j% O3 E* }/ y2 b通过模拟,我们将在不同的组合中找出最佳的红绿灯方案,并通过多次模拟,确定时间分配。
2 ]. j' _) y3 `# p
: r$ @1 [; G; b5 [ 7 P- G8 w+ O! h/ C  ~; J. t
一、对于高峰期时,我们对于下列组合进行了模拟(程序见附件):1 I8 _* }" w0 i) c
红灯亮的个数(盏)
( L& C3 k  |: U3 r& A( ?
12. b: f" P% r; T" j  s
11
; s- d$ ?, R! s3 K+ q+ a$ U
100 n# o: y& \; }
9
4 X4 ?# S* b+ u0 C: t% ?
8* `' |( U$ |& g* B- Y' G
7
- z2 n" \4 n) i# m$ J* m% c. L
6! ?0 s( J6 O4 |0 _5 e2 k
5) g; s0 X/ R! Y2 G) D. Q5 v. c
4
* n& r5 Z3 A) B! |1 p1 H
3* A4 T! p6 S6 s, h2 z" x
2) l% I3 R& a, }: E" |
1
- d) N8 C5 }! E2 W( D6 t
0
/ i- f7 L" h$ Z. s2 D( O
平均最短等待时间(秒)
* K8 T# k* J/ ~8 y! f( ?) r# F
16
' e+ d9 l8 R9 D
20* H( {. d. X' e# N8 B) V
22
* b  I+ S# v, l# z/ R$ Y
27
2 a, A/ U4 ~: U* i& G; b
30! ^$ Y7 c6 h; ~: y- r3 R/ h6 s
42
# |, \1 @) ~+ k' \8 B
70$ Z; k: B2 |  U/ y' T
154
: V  L! u% `7 G1 j; U0 x( }, l1 f
Inf# a3 Y1 ?9 B2 Y7 a; Z( _
(无穷大)7 P8 @" s- p- P
Inf2 C1 w1 B& W/ @' t- c$ A
Inf! z0 `' x. F0 g
Inf
* G1 m7 J1 K( a  z) K5 ^+ N
Inf6 Z  H$ \$ V7 Q  s8 ~4 w
3
注释:8 R) v+ ^& W+ x* L9 v
对于红灯亮的盏数,我们可以有很多种组合方式,比如红灯亮1盏,可以是1~12编号中任何一个亮,但这些组合中总是有一种或多种为最优组合,这从我们程序结果可以看出。
( v( w7 D/ o8 n
9 s; B* f  K3 \( X+ P: `% Q分析:7 H& b( S9 l1 ]
' p" P; x) T+ X$ E; J: c2 u% L) q
0盏红灯亮:+ a5 R5 N! n9 }& O- ?
此情况显然不合理,因为没有红灯就无法控制环岛总量。
; _" y, c/ Y7 A% `
9 V1 ]+ T- [( N! {  j, D1盏红灯亮:
* {% ]9 X8 E3 q对于此种情况,经过模拟发现不可能达到降低环岛车辆的目的,反而,环岛内将更加拥堵。(过程见程序), S' C  w' i' V: ^/ q# T) `4 s: J
$ Y1 h- p& W3 Q% N
2盏红灯亮:. Q) P3 H9 m: B2 J1 I' N) j
此情况结果同上,不可能达到降低车辆的目的。
, J" R, E0 f1 M; `9 g/ t3 z
6 N4 w! ]: X+ K" @! T3盏红灯亮:3 H: ]1 W. C- {- J' P% r, l2 z9 H6 Z8 P9 w
此情况结果同上,不可能达到降低车辆的目的。
8 l9 `6 ]& K& e+ j- k
! p& o# r$ U5 V3 q" {$ `. Y2 q4盏红灯亮:/ m2 n& Q% E2 f. N7 n& x4 Z
此情况结果同上,不可能达到降低车辆的目的。' f0 g5 _5 L% O; X$ q  @

& |4 F* l$ p5 i& I7 J4 a. J由上分析说明,红灯至少应该亮五盏以上。
/ \0 q/ L/ c5 Z- I$ Y
6 V3 d; I" Y, y/ E( I6 r. ^为此,我们排出一下组合:
/ E8 B! V8 y# O' U% u  [: W5——7
/ K7 p5 Y: O3 c* W* }, v( t& V此种组合方式下,可以分为:! X% b1 P1 R2 ~% e0 g, N
a.开五盏红灯时(包括一个主道)的等待时间为144秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为48
# U" o; P6 O! l# N  q+ [9 v此时,总塞车量为:! I1 s" X" |# r; e! N1 W. q8 I

: k' V9 E/ U' C) M/ o; c: \3 \& m! v9 Gb. 开五盏红灯时(不包括主道)的等待时间为inf秒,故此情况不成立。 / h* B. {; A1 j9 J
6 N" C4 x9 @( C( Z* S: P6 P5 l& B
6——6
6 x) Y# Q3 e; }" ?5 ]3 v. F此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为68秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为67(由于分布相同,其实两个等待时间应该一样,但由于是模拟,不可避免的造成一定的差异)。$ }( y4 V, D- `4 k# N
此时,总塞车量为:% A* e3 F) M- q8 ^& f

3 a" Y0 \4 @; p- {% z' I& L ) P, t" T5 ~* Q& I, @; L, r
在保持堵车时间尽量短,堵车数量尽量少的原则下:# y  y5 F( T( H7 \9 _4 j) f9 [
只有选择6——6组合是最优的。9 p- K1 }- V) U0 E3 v" P5 p
根据等概率原理,各条支道应看做概率上相同的路口,而两条大道也是等效的,因此,在模拟时,我们就可以人为地设定组合,只需保证总数按红灯亮的盏数分布即可。比如:对有6盏红灯亮,我们选定组合编号为:1 3 5 7 9 111为主道),此组合方式与2 4 6 8 10 12等效。
: b# g  \) M+ A3 ?$ {8 ?
+ {* J/ U, q: l这时我们可以确定红绿灯的循环模式。. j( C9 M4 S. l  P3 }' q
不妨设定,先使编号为1 3 5 7 9 11 的红灯亮,在经过T(T=68)后,打开所有绿灯(包括原来的绿灯),再等环岛内车辆上升至限定值后(经计算t=25),再打开另外路口6盏红灯,其编号为2 4 6 8 10 12。之后,重复上述循环。
, U4 I; ~, Y' M7 }9 X7 ~ + C" x+ O$ G0 i/ b" B
* O) K6 X) L9 J
二、对次高峰,模拟结果如下(程序见附件):* P* y) ~. f0 l4 Y! T9 L* t0 ?
亮红灯个数(盏)
1 X9 O& f: G7 h8 A5 k
12" h5 ]" T& w2 R' I+ A  l7 P" L
11
! `( s% q" S* Q" C0 c1 B4 _
10
; `2 ]: _/ m9 [* u' }
9
! H9 k! ^  a" M5 m% d
8' S  R. w, J9 q5 a  _$ @1 ^
71 B9 w) b" Y6 @3 u0 t
6$ e0 o6 x; |' L  C
5
5 m" z1 T  A5 ^
4$ ?% d1 }- w4 \0 S2 T, [" y5 h5 d/ V  v
3
+ X& d0 M* j! H. t1 E5 c
2, R% l& y2 c+ S% W: x: b
1' l, _3 _$ l5 ^' i' {( A  [
0
7 v4 u: C  Z2 A; i& P$ s2 y' o
平均等待时间(秒)
3 q# X! o2 t' u$ {  `) a' {9 z: e
24  J% N8 [# C7 R9 t3 t2 C- w
30) g& `4 A$ k  {; K
316 W  ^! k9 h6 X, k
32: T; b1 ~9 ~6 [1 j$ x3 D6 K3 n
35! z6 p, B2 [% |1 g- c& O
43; @% a" a7 B+ `* K: g1 t% f
57
: N, \' f; C# N. r+ J
68) S9 U$ k! [9 [) P' r
96! e( n, b+ R% M0 F  d
Inf
- [8 Z0 w  R; {( W+ J
! g- d& L0 U  m5 p
Inf, U1 \9 d* T; n4 }% I8 x! R( m
Inf
5 s) ?6 c! \+ I- j  L$ S. b6 O
Inf
1 t! R; b- [0 Q" M: S
4
# `& N( N$ Q7 d0 x: I
说明:; g6 t8 m4 s. T( g" W( o
对于红灯数目小于4的情况,实际上有的模拟值满足要求,但由于等待时间太长(100秒),并且情况及其不稳定,多次出现inf,也就是不能达到降低车辆的效果,我们认为这些情况都不现实,均统一成inf类。4 R3 b$ t9 ]0 c; d' ?+ B
" X- v( C- i6 q
由上分析说明:红灯至少应该亮四盏以上。
! i+ \; U. t( L. u" T & O" F& ]* k/ m' O" P
为此,我们排出下列组合:
1 _' y8 \9 D3 c- H$ g0 N0 K4
——4——4. d; m, y# o- \5 i6 c0 `
此种组合方式下,开4盏红灯时(编号为1 3 4 5)的等待时间为80秒,开另外4盏红灯(编号为2 6 7 8)的等待时间为77秒,开最后剩下的4盏红灯(9 10 11 12)的等待时间为147秒。4 a' m& J5 w( C
此时,总塞车量为:
) U) o& H0 B0 C: a* d% U+ L0 V+ X
3 Z& U5 A  y( w: w- v# c4——8
3 `/ y: q: M6 o- p3 D- s" A此种组合方式下,开4盏红灯时(编号为1 3 4 5)的等待时间为80秒,开另外8盏红灯(编号为2 6 7 8 9 10 11 12)的等待时间为39秒。
* P6 v. e8 Q! K2 n' B: w此时,总塞车量为:
6 I% J5 W1 v+ A# S+ p/ R$ d  N
+ V3 n1 n# [. N6 ~8 r
! ~; j  m$ Z9 N5——7
2 Z% c" @1 J- u3 j4 a开五盏红灯时(包括一个主道)的等待时间为58秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为45( n1 Y+ O8 w' W  A1 G1 m" v
此时,总塞车量为:6 B3 ^0 ]  s3 J$ b1 x

4 z- f' M" r: ]: B. N 4 {4 n" h/ k% i" d0 s
6——65 l/ U$ {" t. j8 A3 c4 y
此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为50秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为50(由于分布相同,其实两个等待时间应该一样,但由于时模拟,不可避免的造成一定的差异)。
) H8 Q6 A- E# S此时,总塞车量为:
% y4 V2 S8 _6 r4 ^. D0 z; y$ y' `$ t! w* x7 e$ g
6 W' V$ {) [) ]* x
由上可知:' {$ ]8 n+ }2 d. M
对于高峰期和次高峰期都应该选取6——6的组合,并且将两条主道分配到不同的组合中。
; B! e' {6 g9 Y& J+ R; d3 q# k
- B5 t* t. K6 T# A" l4 i
1 u. {' E! y: k5 A; _' w6 A' c* d- k说明:(为什么选取组合时两条大道不能同时选取?)
! y  a5 [1 Y* Q$ y/ V, }下面只针对高峰期说明:" f/ x+ K* P" O
对于高峰期同时选取两条大道的情况:
' C0 B- o% y4 @9 L2 ~8 r# q  Z2盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=inf,也就是说不可能达到降低车辆的目的。
- {4 N- g. ~( T$ P) h5 u. O# y3盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=inf,也就是说不可能达到降低车辆的目的。( F& O/ J+ L5 O* Q% ?8 E
4盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=158秒,并且多次模拟发现其等待时间出现为inf的几率很大,也就是说不可能达到降低车辆的目的。
( }0 w7 A& [2 a5盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=101秒,并且多次模拟发现其等待时间出现为inf的几率很大,也就是说不可能达到降低车辆的目的。
1 M) U$ K, K1 I4 l$ X6盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=63秒。% {/ J5 R- U1 Y: B+ O0 v
7盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=50秒。
) y% K: R. E! _* t- c2 M8盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=45秒。1 l  V/ h& F8 W2 H# j+ H2 ]) g
9盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=35秒。4 B8 t2 K/ K4 ?
10盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=30秒。
: o( t  \1 A0 I0 b
4 r4 A+ y2 [( Q8 f! j同样地,考虑到我们设计的算法,对于高峰期,不可能不选取某一条大道,所以我们只需考虑对称选取,即组合时尽可能的将大道分配在不同组合中。
) N; T: e! r  P. l; l* J2盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间多次出现T=inf,说明此种情况不可能大道降低车辆的目的。3 E% m3 ]6 C; ]7 ]& Q8 S- v
3盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间T=96秒,但也多次出现inf的情况,因此不考虑此种情形。
. S4 R% y6 c. u: w0 J4盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间2 G% ?6 Z1 |4 T2 l2 ~" N
T=65秒,但也有很大的几率出现inf的现象,也不考虑。
. n: t6 f' B& ]9 y& g! m4 X) g. ~! l5盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
7 j7 q2 Z# A/ B' D0 T# h3 w5 D8 M; M3 DT=45秒。! {2 D& N: f) N; Y. A; u8 s
6盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
- l2 {& u, j/ p2 tT=35秒。
& A: [/ @; V& N, U7 }, O4 M% D7盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间! z) u+ D$ _  x# W, F; H8 K7 ^. r
T=31秒。
4 w$ V8 p8 u: Y# n$ l8盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
- x6 T) u1 }' P' IT=27秒。
; I, P( L- e3 t8 `9盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间1 J% `# |) g" A1 I! c/ X8 ]( e3 X" v7 O
T=25秒。
( r; s- c7 n0 @. I10盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间=23秒。
; q! R+ h" k- C% ~: } + p) f! z  I& P! J2 f5 K/ o, N+ U9 @& S- u
对比上面的两种组合下的结果,显然第二种情况更为节约时间,对于所有红灯亮的情况,只选取一个大道通畅的情况能保证等车时间。因此,我们认为,选取组合时两条大道不能同时选取。
. R; T4 c, g: F4 C5 B, L ! V4 l( w- [, S  z6 O9 X2 e
由此,我们可以得出高峰期和次高峰期的红绿灯控制方案:
8 l( {+ ?0 r: M9 \对于高峰期的方案:
# A3 C8 t5 I5 W先亮6盏红灯(包括主道的那个红灯),其持续时间为T=65秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为T=27秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为T=27秒,此后若不打开红灯限制车流入,将超过环岛最大车容量,因此,时间不能超过27秒,但是,我们为方便设计考虑,将时间定为27秒)。之后,又打开另外一组没亮过的红灯,持续时间为T=65秒。结束后重复上述过程。+ t+ }+ {6 g6 c0 T# C  [
2 ^3 E6 R) ]6 b( H1 p  U8 Q) i
对于次高峰的方案:' u$ d, }( S/ z0 z( G* i
先亮6盏红灯(包括主道的那个红灯),其持续时间为T=35秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为T=23秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为T=25秒,此后若不打开红灯限制车流入,将错过环岛最大车容量,因此,时间不能超过25秒,为此,我们为方便设计考虑,将时间定为20秒)。之后,又打开另外一组没亮过的红灯,持续时间为T=35秒。结束后重复上述过程。
2 _, G/ H& J* G. l1 |
) N3 u4 }1 \+ r$ [
/ U4 i6 ^& V+ `; R# g7 |三、对于一般情况与稀疏情况的说明:, S# r: ~4 {" \, m' o6 r) [2 c

/ e! o, P9 i6 {; {A.
; s2 }" j& j2 Q
一般情况:
3 I; l: p1 q. I
对于6盏灯的组合(每个组合只分配有一个大道),其等待时间T>150秒,如果红灯时间仍然按此时间设计的话,肯定是不科学的,因为不可能让汽车等待如此之久。因此,我们从尽可能减少等待时间为标准,经过模拟,发现当所有路口均亮红灯时,其等待时间最少,为T=23秒,而这也符合一般城市中非高峰期的等车时间,我们为了方便设计,将此时间定位30秒,而30秒也是一个可承受的等候时间。对于绿灯全开时的情况,更趋前面的假设,经过模拟,畅通时间为T=50秒。因此,我们选定一般情况时,红绿灯亮灭的原则时,所有路口红灯全亮,持续时间为T=30秒,此后红灯灭,绿灯开,持续时间为50秒。之后,重复循环。
1 C3 ~$ q+ m$ \2 z  G% Y1 sB.稀疏情况:" ]/ |8 n4 k% J3 N5 e+ o! r3 E
对于稀疏情况,车流量具有不确定性,我们无法估计具体的车流量,但由于此种情况下车流量很小,我们可以将之归到一般情况,并且以一般情况的红绿灯规则来控制。
1 o8 v4 Z7 _% A0 S5 d  K' e
9 a8 i1 a0 A5 P3 i2 I9 k" n5 g & s5 N' E" L1 L+ m1 z* \7 ~+ H& f7 w

- o) l7 Q: v+ `" ~
六.模型检验
根据我们的方案,我们采取随机模拟的方法,分别对高峰期,次高峰,一般情况和稀疏情况进行随机模拟。
7 S" n' S) v) H" {) P4 I为了保证环岛内交通的流畅,我们设定环岛内的车辆总数Q不能超过1000,但实际上换岛内最大车容量为1327,因此,我们在考虑交通流畅性的前提下,可以适当地放宽这个限制,严格规定Q不能超过1200
" i  p: G' a  l% \" _+ w; }我们检验的目的是为了了解模型的稳定性,为此,我们对四种情况分别进行了24小时的模拟,其结果如下:! U' e- t' a. @- R; e% c. l. Z
1.高峰期:(程序见附录)! P2 g3 h& A4 m) H! j" o3 z# w
第一阶段红灯持续时间t=65
8 W& v8 O- k; l; \% ^, N6 a  v第二阶段绿灯持续时间t=27
  q# F& u8 m% B$ a/ Q! _第三阶段红灯持续时间t=65
4 Q; E3 `- K: F; Z, I4 @第四阶段绿灯持续时间t=27) e3 J% o: E) g) x  i# r( U
总周期T=184
0 i. {0 g* k" j. p7 h & ~+ _1 `0 r+ D( B* O
对于此方案,我们在模拟时发现,由于每周期都会累积一定的车辆,也就是误差,在很长时间后,其累积的误差将达到非常大并且不合理(超出最大容量)的数值。因此,我们需要增加一个修正时间,并且此时间应该很小,只在车辆超过一定数量时才加入。
8 \0 x4 f) ]7 O" B( A1 @我们的做法是,当环岛内车辆大于1000时就对红灯持续时间加3秒钟,即此时红灯持续时间t=65+3=68秒。在车总量Q没有超过1000时,我们仍然以65秒的规定时间运行红灯。
+ \$ E3 R6 Z* p" [这样,我们模拟24小时高峰期后:超过1200的车辆次数为37,占一天内车辆总数的比例为1.97%。(这只是模拟一次的情况,在模型改进中,我们模拟八次后取平均,得出更加准确的比例:2.74%7 _4 a8 l% C) @' L) T/ D
对于此比例,我们认为是相当小的,也就是说,发生环岛堵车的概率时非常小的,因为我们是对1天进行模拟,累积误差显然会相当大。而一般的高峰期只持续2小时左右,累积误差必然很小,其堵车概率也应该低于1.97%
  O0 A2 C+ b2 ?( O) h. X
9 L$ T, f3 G" E" A! D4 V2.次高峰期:(程序见附录)
' o6 F# W% ^' Y; N0 Z第一阶段红灯持续时间t=35
4 T- O! T4 D* d第二阶段绿灯持续时间t=23' U# D4 |1 {# N8 |3 d& Q
第三阶段红灯持续时间t=35
- B5 W8 h" B, i8 A6 p) W: p# c- d第四阶段绿灯持续时间t=23
- y$ S1 M$ A/ k( p2 p; U0 V5 v总周期T=116* N: R# c! S- C7 V% N5 e
对于此方案,我们为了保证环岛被最大利用,同时又能使交通运转顺畅,设定环岛内最大车辆数不超过800,经我们模拟24小时次高峰:超过800辆的几率为:
. g: h! i: `! c  b/ |,
显然这是非常好的方案,鉴于此,我们不对此方案做修正,即沿用模型建立中确定的红绿灯持续时间。- B2 X, r4 f# n5 i# O; W! F
3.一般情况和稀疏情况:9 G+ W" }4 d6 T
因为车流量的原因,不可能造成交通的拥堵,因此,我们不在对此情况做模型检验。为了说明时间安排的科学性,可参考其他大城市的一般情况的红绿灯时间。5 Z- l! @$ V6 \* S2 G7 \0 r9 s

* a- s8 ~3 o! H: M; a, N5 Y ) \- t! o  q3 ?$ X$ b
9 J) P- I; ~1 N8 g; a
七.模型改进
1.对于工作日和非工作日,由于车流量的分布不同,我们可以根据表1来设计红绿灯时间安排。
& {; k5 F( J  c- D& N2.我们只考虑了每个路口流入与流出的关系,并没有考虑到车辆在环岛内的绕行情况。所以可以增加限制条件:环岛内并行车辆不碰撞,这样可以选出更加优化的方案。# }( p4 ]2 b) d: z' ^
3.不妨考虑车辆在环路中的相位问题,这项可以细化到每辆车的行驶情况,但这样相对来说较为复杂,我们不予考虑。
  N; ^' l$ W! g9 e* X! J. G4.对高峰期时间的修正:4 h  ^3 C  L1 Q1 h6 p7 G' b
若不对高峰期的红灯持续时间作修正,则经长时间后,累积误差将使环岛内车总量超过1200(我们称之为危险),这是非常可怕和不安全的。为此,我们对红灯持续时间做一点微小的修正。经过我们的模拟:(程序见附录)
6 G; j1 P% ?) ]9 b3 j修正时间t=0时,出现危险的几率:89.62%. k# U& H3 d  a5 K5 _* v, |$ d
修正时间t= -1时,出现危险的几率:88.56%
8 Q: n; p" y  B+ I" B" s修正时间t= -2时,出现危险的几率:98.03%! n9 |! Z  n, Y! E
其实,如果减少红灯时间,显然,这时在这段时间内进入的车辆数目就会增加,在不修正时已经危险的情况下当然就会照成危险几率变大。
- |5 k+ K5 ?9 P; |8 W* D; g所以,我们应该将修正时间调为正值。4 |% I% ]' r9 r! @" o; T! {
修正时间t=1时,出现危险的几率:93.33%
4 B. M6 Y1 L$ K) j修正时间t=2时,出现危险的几率:13.74 %. V3 l- q5 H8 ], X0 j, T
修正时间t=3时,出现危险的几率:2.74%" K4 L$ t+ \7 q& I8 e8 V- X
因此,我们以5%为限定,确定出修正时间为3秒。3 d/ g0 S: m# G5 p- _
) c4 f" `/ y: I
八.模型评价
8.1 优点6 _. {9 d" a3 ~' B- S4 i

2 C. P+ ?6 Q1 h" r; g1 H/ \1
.本文对不同车流时段(高峰期、次高峰、一般情况与稀疏情况)模型分别进行了模拟计算,得到了最优组合下的红绿灯循环时间。由于车流量是基于模拟的,并且环岛内车辆总数也是先设定的,因此,我们的模型可以适用于很多情况。并且,根据我们的模型,对于已知车总量和具体车流分布情况,可以重新确定出最优化的红绿灯控制模型。

8 L7 Y- Q/ _/ J1 T) `3 h  K0 {. E* a* y
2
.在建模过程中,我们对所有可能出现的红绿灯组合情况进行了模拟,这样最终得到的最优组合的方法是很科学的。
0 Q! Z  J2 E  @! j+ x' {6 \
- U) t( s$ @7 Y+ {9 r! V
8.2 缺点, l, _$ _3 _" c- @
- _6 n4 c$ s( m9 s9 u  s; y/ ?
1.
在模拟模型的过程中,我们假定车流量服从均匀分布,这带有一定的主观性,并且我们并没有考虑每一辆车的具体行驶情况,比如车辆在环路中的相位问题,这可能造成某些紧急事件发生时不能及时疏通道路的问题。

作者: 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
* t9 D0 q; E0 d4 b; K; g$ n2 C+ F

! a9 u  a/ `5 l' c0 t3 \" _thank 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相似& @$ T) {; c3 c# x$ N* v. R

作者: 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