数学建模社区-数学中国

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

作者: lijiustc    时间: 2009-8-17 16:52
标题: 巴黎环岛设计(本队拙见)
巴黎环岛车流控制模型
摘要
0 a- D# I7 r4 P+ \/ D- o+ X( ^
本文就巴黎凯旋门环岛的交通问题,建立了控制进入、环绕、流出此环岛车流量的红绿灯模型,目的是使环岛内交通顺畅,并且尽量让堵车时间短,堵车数量少。
6 Y$ T* `; ]# L+ J$ |4 w3 a: d    通过分析,发现环岛内的最大车流量为1000,波动范围为+200,还可根据车道宽度计算出每个路口的最大车流量。这两个因素对环岛交通有着很大影响。因此,主要考虑车流量和环岛内的车辆数目的影响。并设定,在建立模型时,环内车辆总数最好不超过1000辆。6 W& N. p* N" a9 B1 m2 M! f
根据各时段车流量的多少,本文将车流分布为四种情况:高峰期、次高峰、一般情况、稀疏情况。再根据各时期的车流量,建立了环岛内车辆总数Q关于流入量与流出量的方程: 。通过随机模拟,得出环岛12个路口的车流量,并根据堵车时间尽量短,堵车数量尽量少的原则,找出所有可能的红绿灯组合(前提是每个路口都有红绿灯),通过比较,得出最优化的组合(具体组合见模型建立与求解部分)。
+ ]8 `7 B* W3 U7 h) A通过随机模拟,对于不同时期,得到不同最佳方案:
. w+ Q9 A4 ?0 [  b9 u* B5 x1.对于高峰期,将红绿灯时间分为四个阶段: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秒。
  A+ j. u) a0 g. u0 x# r/ b2.对于次高峰的方案,红绿灯组合与开关顺序与高峰期完全相同只是各时段持续时间不同:T1=T3=35秒,T2=T4=23秒。( \' P/ A0 p: q, t" l) `
3.对于一般情况和稀疏情况,红绿灯顺序为:在所有路口,先红灯亮,持续时间为T=30秒;之后绿灯亮,持续时间为T=50秒。之后,重复循环。- T5 N6 B. O5 b2 }
由以上方案来模拟计算一天内环岛内车流量Q,其值超过最大容量的平均概率不超过5.00%,较为理想科学,所以此方案可行性较高。 ' f/ Q" E, M6 Z4 [0 \) x
最后,对模型进行了改进与评价。/ y3 M7 p9 p! ]

* L0 @( n; N" M" x, R / e% m0 f' `- N% x& {1 |" ~
关键词:环岛车流控制 红绿灯控制 排列组合 随机模拟 等待时间
5 |  {/ k9 I; u+ ~
% _# R6 D9 A  k9 s6 p
; N2 g2 R( A$ o 1 `  W% C1 C+ }5 ~; T# p: f$ n
+ H8 t4 _; [/ a& S9 b; X% z
, ]& J+ I4 v, Y6 F
# C' s& ^5 {; p/ Z' N) z$ `3 w+ V
一.问题的提出
巴黎凯旋门环岛有12个路口,其中有2条主道,10条支道。在进入该环岛的道路入口处可以设计有一些信号灯,或其他标志来控制车辆的流通。即为环岛制定车流控制模型,要综合考虑各时刻的车流量,环岛内最大车流量,天气情况,工作日与周末情况等因素。4 p, h7 ]/ ^2 P5 N+ F
    我们的目标是,根据已知的信息,建立控制环岛车流量的具体模型,并分析该模型的优劣与稳定情况。
6 `* j: y( z! T; H5 G+ y7 ]. \& `
' ]& v, p/ D- z0 ]: z! ?+ I
1 环岛平面图
; {) o, R; {: j8 a) E# x: ~
# ]" q! o$ b4 K! X% A1 N8 h0 S

; T8 Y  ?2 ?+ Y' y # I4 e. V3 E6 I& v; b2 @

7 Y" k+ t3 _6 ~; O4 b # a  I- M+ D6 g
二.模型假设
1.假设每个路口的进入车辆服从均匀分布(具体的分布情况见问题分析)。+ |* I4 d9 j' d4 D7 E' e
2.假设每个路口的离开车辆也服从均匀分布。
$ L8 F( C7 Z+ g$ T* [- T3.假设每个路口都配置有红绿灯装置。- _  `5 p0 u+ k5 M5 u
4.假设环岛为单行道,只允许进入车辆沿着俯视逆时针方向行驶。) @: C# K. H& s$ W. t
5.假设进入环岛的车辆最多只在环内行驶一圈,不能多次在环内循环。
& g+ v: p! e& W2 V) {* f  j8 S6.设环岛内与各路口处的车速为20km/h~ 30km/h5.6m/s~8.3m/s
5 |* W  C  e4 I3 ]" ~' h. I1 @7.假设只考虑正常情况下的交通,不考虑发生车祸和路面维修等意外情况。
% U$ I5 M. O. v) R8 u8 P1 l
5 x9 o/ R0 o7 `' h- I' F% l# t) N. \" k& {- m: X& \' ]5 N

: \# s- p# V. o
三.变量说明
:环岛内半径。& Y) \# t% `9 s: [
:环岛外半径。- _- _- u# _8 ?1 w) H2 A
:车底面积。
7 a4 b* l- r- r( v; J:环岛路面面积。其值应该为两圆面积之差, 7 d$ u; w# i  X* a9 a
:环岛可容最大车辆数。 取整。4 A8 V' m, E) H5 }( @2 X* A$ y& O0 E
:环岛内车辆总数。
/ X; o5 |' w1 \, A7 ?0 c:环岛内车辆总数的当前值。0 i# N. ?: ^6 d  ?& M6 ~9 h  v
:各路口进入的车流量。(1<i<123 r( L8 ?$ x; D+ F6 k( a
:各路口离开的车流量。(1<i<12
' c! _  T  q, }( r5 ?1 B:逻辑控制变量,用于表示各路口的通堵情况。 =1表示通路,即绿灯亮; =0表示堵车,即红灯亮。(1<i<121 C+ M( g3 j! s8 o3 O# s! ~0 I
4 @" n4 Q) o% T! C/ P3 J2 K  Y! w
:表示所有路口的流出车流量。
5 L' i3 `0 h; F0 i ; n, }& o1 ?6 v& H
:表示红绿灯持续时间,具体是红灯或绿灯,模型中会具体说明。
, J8 {% y# S4 g0 ?; E5 P" ` 3 X0 w5 z( N: U1 o% r. r) _
:为某种情况下的堵车数量,具体模型中会说明。
- b; g7 j  o8 p4 R
' U2 T7 s7 {( q  a: J3 w:车流密度,作为参考因素,将影响对车流量的模拟。! I4 n. |9 \% e

1 k. w- {' s3 K+ W. Z ' t. l3 V" f, g  G. @
8 i' q: A7 u7 t$ T7 O. F* m0 O
四.问题分析
此问题属于交通流问题,我们在初步考虑这个问题时,参考了交通流模型的结构方程。我们认为影响环岛车流量的因素有很多:红绿灯,时刻(高峰期,平时等),天气情况,游客人数(虽然凯旋门游客时从地下进入凯旋门的,但是每个路口还是设置了人行道,所以游客的多少也会影响到车流速度,因而影响到车流量)。正常情况下我们不再考虑路面维修和车祸的影响。
( W! e, j) k# e$ E5 D' x" l由上分析,我们需要做的是通过对交通流情况的模拟,找到最优化的红绿灯控制情况,从而达到车辆最优化控制的目的。
4 u1 N5 ]# t6 v% K! ?' L& F: D因此,我们将此问题归类为最优规划类问题。5 k8 z5 p. X; S2 ?
我们查找到了以下参数:
" H% u+ Z, }0 Z9 V9 n$ L6 N' G% }凯旋门环岛每天平均车流量:110/天。) C. i  D* l+ i- [# l
环岛外半径:80m% h( B# a8 u9 @3 B) {
环岛内半径:53m2 \( G, a+ D' r4 _
一般中型车的底座面积:(7~10m2
6 R$ S: e- U7 P8 R) [, Q主道可以同时并行3~4辆车;支道可以同时并行1~2两车。
; U! [6 C$ ^3 q+ Z% j, ~. G
" y1 l5 ?" O; o. Y; U 6 U( h' k& X0 w* v& U! x5 |
4.1 环岛最大车容量:: g) W' N: |# p0 S4 g5 G0 u& O
由上面搜集的数据,我们可以计算出环岛最大车容量。
. v1 ~- t" R2 f+ w) ^- t! u环岛内半径为 ,外半径为 ,车底面积为
1 L; o7 ^, l1 d: G2 Z2 n; g则环岛路面面积应该为两圆面积之差:5 [1 k) V) D) J0 W" q
) a  v6 Y' R6 f7 }  N
则环岛可容最大车辆数为:   (取整)
4 f1 d4 v7 W0 J' a可得环岛最大可容车辆数目为: =1327(辆)。
8 O1 B, n# H: O! R! G考虑到车之间应该有一定的间距,并且应保证环岛有一定的畅通,流畅性,我们设定环岛最大可容车辆数为N=1000(稍微超过1000也行,我们只要保证严格地不超过1200)
3 Z* W+ m" z. I) N* R- H- ~
7 x, B# N4 x/ Y  E ' v' y# ~4 e! z, Q* h# L, W+ Y
4.2 各时段的车流情况% S# P% S) H6 n) K% e. M' D9 n

5 G$ r; I, I. V! |工作日
5 f3 {1 j5 Z* Y2 }' P
时间分布  ]/ c* z( c2 V
时期分布
* }, {: U! l$ k, J9 S2 \% c
000~500
* I0 h1 X8 u$ G# l2 {" U7 @) e
稀疏情况' l: r1 ?5 \2 v4 Y3 W
500~600
) L7 x+ Z2 d( C! i9 r
一般情况
0 T  }$ V# u9 h, P
600~730
) J# ]% w: d! ]1 G
次高峰
. ?- ]+ {/ ^# ~
730~900
  T! z4 q) s! v6 u4 i) i* m
高峰期, }! q& m2 i; k/ y/ H
900~1730* G4 ?6 }" f$ H! D
次高峰0 k; ~* t9 ^. D5 z0 J, o
1730~1930
- A, ^* {+ e0 S* F; J- R
高峰期$ N% a) ]8 i0 g( f/ E" e
1930~2100% c2 b  h7 [4 h, g0 ?* \, \
次高峰2 T$ [, J& D2 A/ @* @
2100~2300& i2 F8 r9 ]) s; A
一般情况
( d' N( w' W6 l- C0 T+ d  ]- J
2300~2400
% |8 y+ n7 x, s. n% c
稀疏情况+ x1 N( U  s1 \

  X% N* |; c- D- j% M) p # x2 c8 z$ j% n9 ~
周末
! Z) ]4 C  L# \- E( Q6 Q& w
时间分布
3 d8 s0 e1 B- l) X, L& R  H. T9 d
时期分布
/ N8 [. S4 h; Z0 }3 _  z
000~500
* F2 T! r4 p- ?% h3 I7 U+ n6 f
稀疏情况
- ^. O6 k: U# q6 O( y
500~600, x. [8 c& q1 s
一般情况5 P* _5 |/ B, u! {
600~800
% ~4 c7 k3 K+ n/ Y
次高峰
; q% J# |- Q; E% O; ]5 K
800~1730
# }* f* }: w/ I' R
高峰期) W) b  r7 W! x4 H3 v, q
1730~2300
0 u1 V9 t8 N) S% K
次高峰
0 e7 U! f* C; _1 M
2300~000
( R6 `* r2 S" K. I
一般情况# M; z$ {' H7 i  K
1
% A8 H, B; {! v# Q. I6 j
说明:) P# s7 N: k6 C3 S! g  Q( b5 m" a! e" t
在巴黎和法国其他主要城市,高峰时段的交通最为挤塞。法国每日的交通高峰时段是早上7时30分至9时及下午5时30分至7时30分的上下班时间。在星期五法国人一般都会外出旅游,所以交通高峰期会较平日来得更早,在下午4时起便开始阻塞,其中尤以离开巴黎的各条公路最为繁忙,而非高峰时段的交通一般非常顺畅。. M6 ~; c# S9 {! l( j/ E; h- ~

- }8 h8 Y6 ?- Z5 v4 w3 n! v0 w/ k4.3 对于交通模型的假设与估计0 R( U" `' u" l" c5 y
对于交通流模型:
& f& d: w/ z  Y* z% q- Z" t5 X9 n其中:q为车流量(即单位时间内通过的车辆数);+ m) \$ w0 x1 |' J, l

) f1 R  `" W% S6 Z" d2 |, t( b7 {' @% S! c
为车流密度(单位路长的车辆数);
" z+ E, n5 T( {( O
. [$ a% g- D% I- l+ x9 t+ G2 V) h* {! {5 m/ Z
7 N. g& z' H: ]
为最大车流密度。1 p! M( R. I( @8 z7 Y
; G3 U. d2 X# s% m; R

4 ?* l% O/ L) V9 X4 [- S/ q
, z  p; F+ J" P; H
为最大车速(注意:车速时车流密度的函数, )。9 B+ J) w8 o8 C/ u
根据上面的方程,我们可以估计出每个路口不同阶段的车流量,这包括流入与流出。
+ {6 d% Q2 `1 d# c为了保证总塞车量最小,同时等车时间最短。我们针对不同时段对车流量进行了不同的划分:! W' ?, {7 x% m0 h' V0 S8 G: G
环岛内车辆总数Q
' ~5 {. H4 A1 f% o9 I3 L7 t
   ) v8 D5 f$ L; L% p
有红灯亮
3 w% X  t8 M- Y6 C! D; @
无红灯亮% W3 j) l9 Y8 o! }
5 @* U; p  h" l+ ~0 r$ ^0 E4 c
- f) Z% d% C5 r$ O8 w& i0 C

( D9 T4 b; ^+ W
0 H5 N5 y& E$ {; F1 @. O. [7 E
主道y
' E' w7 q# m4 n9 p; D8 Q$ x* P
支道y0 ]4 O, t$ x' a. F# H7 _( I
主道w, d% E0 N1 u" G5 F" t3 ]! m4 E
支道w
" U; ~3 L7 {4 b9 X" Z: r  a( Q! y2 |/ s
主道y
# F5 y+ ^5 m2 S9 J! j
支道y" E1 n* |/ t0 q4 S# O/ a
主道w1 |+ y( e. a' u7 h+ w* d
支道w0 `2 }* U0 s6 b% U5 z
800~1000! P- h4 S0 R4 s, O+ q. U* g
高峰期- \5 z2 f- [4 A" q# T
3~4
1 P8 X) s) W3 @0 k/ p4 L2 c# ?
1~2, P/ [6 G+ N; [8 i
0~4
& f$ [/ \. F& Q) N
0~21 ?  v& p& P) U8 N" k
3~4
! {% b' e1 R$ u. Z  E, H. p
1~26 G0 {- L& x/ g
0~4- ?$ B6 ]& k  y2 q3 O1 H. [3 p/ b
0~2- }: i: ?( Z8 s# @/ E0 g# k! ]# d
500~800
* V6 o$ a1 C% g; ~$ R( f
次高峰
7 o* A9 s) K! P9 B3 Z5 m' w
2~4
6 \9 u% x0 E2 `: A4 e* v- h: e  S
0~2! |& ]8 w: ?3 c
0~4
2 m& i' r9 u/ y
0~2
1 |; i! W9 O% _2 G
2~4
; N' C0 \; _; `, W1 B+ r
0~2% y+ z! @" H" Y: j; v8 S1 q
0~2
/ ?- _; O. H) s% j7 E& H: O
0~1$ ~7 o7 [2 d; G' v% h/ w
200~500* c2 o7 S# J5 k
一般情
; o- V' `% |" @! r+ Y4 Y
1~2
' b8 _! ^$ x! m
0~2' I$ k- g$ v: Q) s% |' F
0~4- v8 h1 A$ W7 z8 X' `% a. ?" ]
0~2
/ a( z2 S" i& x
1~2
: q% N5 v9 j% X
0~2, [( O; b5 [; w
0~2: G" D+ g, v) R
0~1
  [6 @  g- B7 Y% W0 s
0~2006 }! B' h0 S! s- z; C
稀疏情
1 J, f# c* c: g
*  k% O- e% \% U1 F7 H9 G; k
*
; u9 w3 X$ l* s+ T! t
*
$ U! r2 r, e1 U; N/ K& x
*0 `  S3 x! w: B0 m* ?3 F/ u! B
*
3 l, r% t$ B6 I5 v
*
2 P" J" {; n( g7 C
*
/ e4 L0 i* `/ b( Y' L. ], z$ k
*: O& d4 B. B& V4 s) x8 {
2
五.模型的建立和求解
我们先设立一个逻辑控制变量
- [2 i. l- d7 {# w- }对第il路口,当有车进入时, =1(即认为绿灯亮)。/ I  h) g* P* \
               当没有车进入时, =0(即认为绿灯灭)。% f( Z) E1 \& z4 C* N
又设 为第i个路口的车流量(辆/秒)。* ]! E1 P0 K& F5 D' J& m
则我们可以列出下列等式:
0 s1 ?4 g7 j; Y3 D% R; q      根据:单位时间内,环路车流量的增量=流入的车流量—流出的车流量。
  o" V' d& a8 ]3 q5 I8 g
) H2 k- f# g9 |! r( _5 M

& q0 a. `( f% M1 d; P/ a5 }& P1 B" @& [
dq表示单位时间内环路车流量的增量。
4 f' @: b! Y: e0 K 7 r7 q- t& d7 z# e% G( H1 R1 ?
对于 以及 我们可以用rand模拟。* t5 ?9 q; a$ o( j; S% s/ l6 i/ n

  p; n* Z: a( {因此,环岛内车辆总数Q满足:
) z4 o& P; B8 u# O# R8 B' |& R& T! \' q2 S
注: 8 w+ U) q7 ^5 t
由于 的组合有很多种,我们加入限定条件,即要保证等待时间最短(红灯亮的时间最短),以及等车数量最少。5 K# m% X& u- C! O4 D) X6 g+ _
, Q; y9 B: @+ X
因为等待时间就是红灯亮的时间T,等车数量又与车速和等车时间有关。
# w& ~. o- S/ `5 E, V7 D/ F3 u2 _, D ! i5 H8 `0 N" t6 b. u& i' u# e
为此,我们设立下列函数:
: ]% F( v' N& V) {, j' N9 O
9 c, C8 j" |/ l' K# i$ R& A
6 C# y( z% E, K' H

# s0 {; B! g) d7 i0 V
0 Z( ]  d! v+ Q  o说明:( x0 T+ ?4 x, G# E8 v' Z: ^
为各路口的逻辑值(通为1,不通为0
" l, H7 P' h( o, o9 n* H% }+ A$ A/ g4 x3 ?* H& [7 W
为第i个路口的车流量(辆/秒) , S( O, o$ o) E3 R! d% k; v0 r
为循环中第一次亮红灯时的堵车量, 为第二次亮红灯时( 的对立面)的堵车辆。, g8 r5 H5 N* w. w
为总堵车辆。  g3 @2 ^0 N7 X5 Q
1 g; Y" f) g1 O$ \
上面的分析可能需用到下列参数值:9 r3 v- x) `3 m8 b
1.
, b% l1 u1 A% n( d; r$ f
每条路段上的最大车流量。

* Q7 P# [1 E0 _5 L2.
2 c: a5 I3 Z) f5 z( [; V  {" ?
每天路段上的最大车流密度。
% f$ }0 |$ A! z
3./ M# p% O+ U. J
每条路口进入的车流量(辆/秒)。
6 n. `- K3 m7 b- ^
4.
1 \7 \6 m4 v+ A) s
每条路口开出的车流量(辆/秒)。

3 L, U& f  i5 i1 Z. m ; D" K& l/ h3 l! Q  [
通过模拟,我们将在不同的组合中找出最佳的红绿灯方案,并通过多次模拟,确定时间分配。
" a: Z) N! o2 j5 M0 I- ]# }
) G! I0 i/ M& m% m9 W3 k! R/ `
! h  F$ K8 h4 N8 U) w4 ]一、对于高峰期时,我们对于下列组合进行了模拟(程序见附件):
" ?7 C) X6 y, R
红灯亮的个数(盏)
" x! q/ ?. t" Z3 ?  l
12/ s8 P5 }( u( ]6 \. R! H1 N
118 n; V, I  s$ ~7 _: [' z1 S  q( a
10
% Z9 e4 j9 T+ d
9' a& b) a0 d" x% n
8: W% A7 [: [. G) `3 D6 O
7
' ~4 d' Y- j  I. t' }) U
6
6 e8 e/ x' e( Q/ s
5( @* Y" B9 V9 c- K- \
4
$ p" S. a; `+ G: M, K
3' n" X1 b% ~+ _: U0 h- _6 N
2- a4 f$ V8 c0 G& U4 {
10 t- O8 G  Y" X& Z2 G# V5 \2 @7 L
0  u. _' X1 M. d! L
平均最短等待时间(秒)
+ {7 A( G9 D* z$ A
167 c, s! U0 H( i5 X3 F' |! m2 Z
20% H! G8 y% R; s5 _9 ?: y* p/ ~3 p3 N8 x
220 r7 V4 x+ X' g
27" Y8 `* Q; D2 O
30/ {8 G. R: ^: c" O
42% `9 n2 L: j& b5 I2 F. P
70: ~  _* o" Q* h- D
1544 a/ O2 h7 \8 a5 |/ z  B" t# F% o
Inf4 Z& L- t# }0 X- L" L
(无穷大)* R0 w7 F! v) `
Inf
+ J3 n& [" J4 J" U' `9 b$ M- C
Inf
  _4 L" W, K" L* R; ~4 Y3 n6 O
Inf
6 j" k( s$ Y7 {; c; t; K* X- D1 g* _
Inf2 L4 O* X# h' Q( p+ t# P1 j
3
注释:- @7 _$ U* n! d/ [: S( Q
对于红灯亮的盏数,我们可以有很多种组合方式,比如红灯亮1盏,可以是1~12编号中任何一个亮,但这些组合中总是有一种或多种为最优组合,这从我们程序结果可以看出。4 w! Z1 T, L  [& |% h/ c4 l
/ o8 g6 u& p# ?
分析:
+ s  {/ |% u% T5 z
0 \, \! T+ v1 h. r- q4 L% L; s0盏红灯亮:9 L/ T. N) A* u! r1 J2 f' r
此情况显然不合理,因为没有红灯就无法控制环岛总量。" `0 M/ L; {% k( b

4 O1 @  t2 f& s* F8 Q5 A1盏红灯亮:
8 f- V& ~; d: E5 a- ~对于此种情况,经过模拟发现不可能达到降低环岛车辆的目的,反而,环岛内将更加拥堵。(过程见程序)& u5 q# X: \1 M2 i$ G2 W- Q
. d$ ]  J/ F6 K7 _4 \& Y: j
2盏红灯亮:
: i- v: v, r. x  j9 C5 e此情况结果同上,不可能达到降低车辆的目的。& A6 a+ ]) {% c4 n
7 T: J& h" E& x! l# w+ w4 ^
3盏红灯亮:
2 E2 J& F) D0 H- k此情况结果同上,不可能达到降低车辆的目的。2 F  Q1 ]' M' A& J( {% @' [* G

' @, r0 Y/ _# w5 o9 ~8 U$ {4盏红灯亮:
- Z, e$ n8 }# b. _* a此情况结果同上,不可能达到降低车辆的目的。
1 Q* Y5 E7 x. M1 C% r( [ * ~$ t$ _9 ~  B( y# }1 W
由上分析说明,红灯至少应该亮五盏以上。" D: I) r8 j* ^2 d1 m

+ z1 T& M% N5 D* T9 D! e# |$ _+ z为此,我们排出一下组合:1 b, S. m2 i! A" v. _
5——7" O8 T2 u8 ^6 T0 W
此种组合方式下,可以分为:
, M- ~3 o' Q% T! i5 D; ]7 na.开五盏红灯时(包括一个主道)的等待时间为144秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为48
) ^& }9 q7 z: U此时,总塞车量为:1 ?+ i5 ]: B2 U6 Z" N. O8 P2 B

# w6 i2 Q  g; B. u; @b. 开五盏红灯时(不包括主道)的等待时间为inf秒,故此情况不成立。
& W8 a% |3 B* w1 d
% }% u. m% Q+ e6 l% F# `+ {& N6——6; s0 t/ Y" R5 S) u& l3 k' I
此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为68秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为67(由于分布相同,其实两个等待时间应该一样,但由于是模拟,不可避免的造成一定的差异)。
( C7 [6 S" u+ k$ f  X此时,总塞车量为:. A' u9 ^1 C0 f8 C4 p

3 I/ }% i5 S, t  p ' x: i9 E1 V( |
在保持堵车时间尽量短,堵车数量尽量少的原则下:$ W. _- v+ ?! @& m  d$ b7 i
只有选择6——6组合是最优的。& R# d. \+ j" y4 @$ D- B
根据等概率原理,各条支道应看做概率上相同的路口,而两条大道也是等效的,因此,在模拟时,我们就可以人为地设定组合,只需保证总数按红灯亮的盏数分布即可。比如:对有6盏红灯亮,我们选定组合编号为:1 3 5 7 9 111为主道),此组合方式与2 4 6 8 10 12等效。5 X( Y$ B. I! X

, V1 h; s: `4 \" j- x这时我们可以确定红绿灯的循环模式。
9 L& R' D$ R. t, L1 d  F不妨设定,先使编号为1 3 5 7 9 11 的红灯亮,在经过T(T=68)后,打开所有绿灯(包括原来的绿灯),再等环岛内车辆上升至限定值后(经计算t=25),再打开另外路口6盏红灯,其编号为2 4 6 8 10 12。之后,重复上述循环。( z- K; Q7 A  x8 {. r! a  |

! Q: b; M. Q" T 7 U, S4 e7 s, O
二、对次高峰,模拟结果如下(程序见附件):; f& ]7 z3 j! i( O
亮红灯个数(盏)- J' d, T' `9 B. l* F8 E% V7 p
12
' X+ g9 p* Q' ~5 t
11
# ?, }; t: X9 U$ [7 c
105 l1 ?: H( u; s4 ?5 d
9
% P+ ^8 x* I% Q1 b' K! [" p. g
8  i) }+ c& E0 K$ Z* y1 c: Y1 p
7
; z- o% J% x+ e; ]- Y3 P1 ?/ t  i9 d
6
$ E/ z8 N3 [: b0 g& ~
5
  \) }' L  x9 @2 W! _3 y
4
, {$ t3 Y  I2 Y/ Z# ?( F
35 q/ I( ]. r1 i" l# O
2) }1 L5 G1 q9 R& ]& `' [
1* ]% s+ h( A3 l% u
08 C, ~* ~! f* ?, S
平均等待时间(秒)
4 G6 S+ W% [! c: c4 C
241 D3 {, X9 n3 T7 z6 ?
30
8 R6 a+ T, L2 a% B% Z+ O* Z
31
0 ]! Y! x/ ?' Z$ J6 P
32
4 ]0 d9 l7 b/ ^
35
2 v5 c$ ]: ~( h3 |) v/ Y: Z
43
: x* Z* a) ^7 q3 Q7 a/ Q+ Q0 {8 K1 R
57. _* n/ u0 z8 k/ ~5 I! E# I
68
  A* W( n$ {) l5 l  ~
96- E& p8 w7 h- p# o6 q+ c" C, p
Inf
3 G/ B7 @3 y! \0 C# J* {$ O # z6 M( c! L. z5 n
Inf
$ _- Z) `3 V2 f% B1 P" a
Inf: W) g# e+ V8 T, j5 X
Inf+ H( c; k  L. i4 P( R' l3 c- q
4
7 a, V% f6 j! N7 H0 T  {
说明:
2 a- r! q# l' ?! U& _对于红灯数目小于4的情况,实际上有的模拟值满足要求,但由于等待时间太长(100秒),并且情况及其不稳定,多次出现inf,也就是不能达到降低车辆的效果,我们认为这些情况都不现实,均统一成inf类。" ]9 v. Z- z4 O1 t
/ {5 A! N* G9 m. @- o8 m0 Y
由上分析说明:红灯至少应该亮四盏以上。
( ?9 _& t; F& Q
7 Z+ Z5 h1 _/ Q7 E为此,我们排出下列组合:6 Q3 G$ u9 `) _4 u; G. c
4
——4——4- N; O) R( L' D9 D. t
此种组合方式下,开4盏红灯时(编号为1 3 4 5)的等待时间为80秒,开另外4盏红灯(编号为2 6 7 8)的等待时间为77秒,开最后剩下的4盏红灯(9 10 11 12)的等待时间为147秒。% v# H6 ~( k9 z$ K/ y
此时,总塞车量为:1 y/ a2 R2 g- _8 r+ W$ c- e* g
' L2 V; Y& X5 X8 {
4——8' F* o# s" `6 l- g- M: l2 u% {
此种组合方式下,开4盏红灯时(编号为1 3 4 5)的等待时间为80秒,开另外8盏红灯(编号为2 6 7 8 9 10 11 12)的等待时间为39秒。- R" I: X% e% E& q, n
此时,总塞车量为:7 o  \" m! o9 S/ [' E1 v0 y5 L
. F9 J- m! |8 o4 z; O
! _% H; o0 r0 b" b) U$ z+ p
5——7
7 Q7 l" p0 W; E7 F9 _7 C( K5 h开五盏红灯时(包括一个主道)的等待时间为58秒,开七盏红灯时(包括另一个主道及其他支道)的等待时间为45
# _' ]" x7 H  |( d此时,总塞车量为:* {/ z/ [! x6 b

" L( ?: [1 @7 a1 O' e5 T4 R
$ |! Y$ S0 h, D3 c6——6
9 o2 }4 w+ r7 Q此种组合方式下,开六盏红灯时(包括一个主道)的等待时间为50秒,开另外六盏红灯时(包括另一个主道及其他支道)的等待时间也为50(由于分布相同,其实两个等待时间应该一样,但由于时模拟,不可避免的造成一定的差异)。
; G% S/ ^& c! ]% l& r$ k此时,总塞车量为:
+ b% D9 g; L- k6 w4 W- I& M
2 I- y# h3 f) v
" `) M1 ?& q) o4 `' |: d由上可知:
2 L/ V! v2 z% z1 u对于高峰期和次高峰期都应该选取6——6的组合,并且将两条主道分配到不同的组合中。
2 Q0 r" R. v2 @. M5 P: S" E . B" K/ d  t1 ~$ t0 |7 Y. Y

5 o" U2 y4 l/ i1 K7 q说明:(为什么选取组合时两条大道不能同时选取?)
  C& r; {" C- {& f* E4 T* R下面只针对高峰期说明:3 _7 }% V$ K3 V& Y0 w1 A2 k
对于高峰期同时选取两条大道的情况:
. K7 {. ~& [5 C# W2 @2 B2盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=inf,也就是说不可能达到降低车辆的目的。2 {! d8 E) u- V. _! S
3盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=inf,也就是说不可能达到降低车辆的目的。+ T+ b( Q. g- `: Z2 i
4盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=158秒,并且多次模拟发现其等待时间出现为inf的几率很大,也就是说不可能达到降低车辆的目的。2 {4 a. R, B) {( I6 ~6 {- p2 X: i; ~
5盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=101秒,并且多次模拟发现其等待时间出现为inf的几率很大,也就是说不可能达到降低车辆的目的。
0 B; a; i$ W# A7 S  C. s6 V4 g6盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=63秒。; F. w! v* `0 U5 H  D% r1 e( Y
7盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=50秒。
! V7 A$ u; ?' w  D6 K8盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=45秒。
- t% m$ l8 u- Z! K, y. b9盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=35秒。3 |0 q) H* N7 i0 Q  t
10盏红灯亮:如果同时选取两条大道通路时,经模拟,其等待时间T=30秒。: @2 C7 V2 u# W7 |
# l' Y8 J; {) {5 l# q
同样地,考虑到我们设计的算法,对于高峰期,不可能不选取某一条大道,所以我们只需考虑对称选取,即组合时尽可能的将大道分配在不同组合中。) Q' g3 O& r& K" u6 d' D
2盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间多次出现T=inf,说明此种情况不可能大道降低车辆的目的。6 D( d! l$ _; g1 o) ~" U
3盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间T=96秒,但也多次出现inf的情况,因此不考虑此种情形。+ {5 Y, }0 L! i% c
4盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间9 y( B$ `$ x7 `: D
T=65秒,但也有很大的几率出现inf的现象,也不考虑。
, A' O+ s; \7 B" D5盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间# x' p& C  u$ \* ]" R  y3 S! M# k. m: g
T=45秒。3 A2 S7 c& G# E. @0 l* Y# W
6盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
* v& m: B6 [+ f+ h2 e3 nT=35秒。' p# r# p& W$ v
7盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间) f. j! k8 w/ K3 A/ o" l' W
T=31秒。
$ d$ U! b0 b5 q% `& t( x8盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间
+ S1 S, W% x; z& U: u$ D5 FT=27秒。
' t  J8 J, |, D( A& h' H8 V9 {9盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间) d2 }! U) r3 C8 Y# P8 J( i
T=25秒。! q( U1 K/ j$ z9 r3 a
10盏红灯亮:只选取一个大道通路,另一个大道堵塞时,经模拟,其等待时间=23秒。: S2 l" k8 m& P5 e  C. Z

. J/ Z9 X! d4 N0 W; |  N对比上面的两种组合下的结果,显然第二种情况更为节约时间,对于所有红灯亮的情况,只选取一个大道通畅的情况能保证等车时间。因此,我们认为,选取组合时两条大道不能同时选取。
1 }. y  n; _) ^+ [$ u% V" T1 @
8 R/ G  ^* |5 u5 P4 Q) Y由此,我们可以得出高峰期和次高峰期的红绿灯控制方案:
- B8 |6 y, }" M& E5 ]  O对于高峰期的方案:0 H# N$ ]7 Z' [# E4 r& T! ]
先亮6盏红灯(包括主道的那个红灯),其持续时间为T=65秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为T=27秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为T=27秒,此后若不打开红灯限制车流入,将超过环岛最大车容量,因此,时间不能超过27秒,但是,我们为方便设计考虑,将时间定为27秒)。之后,又打开另外一组没亮过的红灯,持续时间为T=65秒。结束后重复上述过程。
- r' T/ K% i+ J  s8 ~+ A , w! ]4 b# h- e' }$ G) D0 n
对于次高峰的方案:
- N4 U" ?$ P1 T) T. s先亮6盏红灯(包括主道的那个红灯),其持续时间为T=35秒,此后,红灯全灭,绿灯全部打开(包括原来的),持续时间为T=23秒(在高峰期,对绿灯全部打开的情况,即所有路口通畅时,经模拟,通畅时间为T=25秒,此后若不打开红灯限制车流入,将错过环岛最大车容量,因此,时间不能超过25秒,为此,我们为方便设计考虑,将时间定为20秒)。之后,又打开另外一组没亮过的红灯,持续时间为T=35秒。结束后重复上述过程。
2 _6 h( Z9 E) [6 }- M 3 @2 a8 U; d& q9 R/ A' v0 V/ c

" q5 i' i3 o! D' q% j& g1 I三、对于一般情况与稀疏情况的说明:$ c& r3 C: z. O) h* x  V1 _5 G1 x

  y3 |5 y/ w4 m4 }A.) G* x7 `) Z9 X
一般情况:
8 B# \1 I' E) @- w8 V* Y
对于6盏灯的组合(每个组合只分配有一个大道),其等待时间T>150秒,如果红灯时间仍然按此时间设计的话,肯定是不科学的,因为不可能让汽车等待如此之久。因此,我们从尽可能减少等待时间为标准,经过模拟,发现当所有路口均亮红灯时,其等待时间最少,为T=23秒,而这也符合一般城市中非高峰期的等车时间,我们为了方便设计,将此时间定位30秒,而30秒也是一个可承受的等候时间。对于绿灯全开时的情况,更趋前面的假设,经过模拟,畅通时间为T=50秒。因此,我们选定一般情况时,红绿灯亮灭的原则时,所有路口红灯全亮,持续时间为T=30秒,此后红灯灭,绿灯开,持续时间为50秒。之后,重复循环。
- m) n, x! e; V2 s" k8 A* d$ hB.稀疏情况:
* n. h' [2 h' H对于稀疏情况,车流量具有不确定性,我们无法估计具体的车流量,但由于此种情况下车流量很小,我们可以将之归到一般情况,并且以一般情况的红绿灯规则来控制。2 M0 J# y1 {0 U* o- ^; M
! J$ S0 K& S. E* a) F( E. o% U! J( g3 d
; z5 K. U0 D( l

0 z4 D! }" j' b% r/ c7 L) z
六.模型检验
根据我们的方案,我们采取随机模拟的方法,分别对高峰期,次高峰,一般情况和稀疏情况进行随机模拟。8 q% X' k1 i9 f3 P5 P/ f- U, k
为了保证环岛内交通的流畅,我们设定环岛内的车辆总数Q不能超过1000,但实际上换岛内最大车容量为1327,因此,我们在考虑交通流畅性的前提下,可以适当地放宽这个限制,严格规定Q不能超过1200/ ^( T2 B- ?8 e6 L6 g; }
我们检验的目的是为了了解模型的稳定性,为此,我们对四种情况分别进行了24小时的模拟,其结果如下:* o4 R4 B9 G8 Z. ]" V2 l- ?: y
1.高峰期:(程序见附录)
: Q0 Q& F9 @0 F9 h第一阶段红灯持续时间t=65# f3 y7 h9 ~% ]! A7 T
第二阶段绿灯持续时间t=27
3 R, J) Y5 i5 g1 ]8 o+ T( I' I. |& j第三阶段红灯持续时间t=652 |; p" J: U/ C  N( ^
第四阶段绿灯持续时间t=27. ^' L8 W' t9 T4 U7 O& K
总周期T=184' R% ]1 I3 c) w9 A8 ?0 b

7 z4 o6 T8 X( S4 \4 B对于此方案,我们在模拟时发现,由于每周期都会累积一定的车辆,也就是误差,在很长时间后,其累积的误差将达到非常大并且不合理(超出最大容量)的数值。因此,我们需要增加一个修正时间,并且此时间应该很小,只在车辆超过一定数量时才加入。
; ^4 U4 A/ t! T9 z; k6 k- N: {我们的做法是,当环岛内车辆大于1000时就对红灯持续时间加3秒钟,即此时红灯持续时间t=65+3=68秒。在车总量Q没有超过1000时,我们仍然以65秒的规定时间运行红灯。6 U  _+ m+ w1 H7 u4 l
这样,我们模拟24小时高峰期后:超过1200的车辆次数为37,占一天内车辆总数的比例为1.97%。(这只是模拟一次的情况,在模型改进中,我们模拟八次后取平均,得出更加准确的比例:2.74%& U4 Y8 S2 j8 M6 r
对于此比例,我们认为是相当小的,也就是说,发生环岛堵车的概率时非常小的,因为我们是对1天进行模拟,累积误差显然会相当大。而一般的高峰期只持续2小时左右,累积误差必然很小,其堵车概率也应该低于1.97%
) |3 B4 b0 T7 W) v# N) P: w 1 I" O" a1 T& Q$ Y3 F' E
2.次高峰期:(程序见附录)
  a$ Z7 X6 d4 T' G第一阶段红灯持续时间t=35
; u" u+ `) C  s8 \* |第二阶段绿灯持续时间t=23
& g, c. H0 t, W2 t, `: c& x8 J第三阶段红灯持续时间t=35
& q! X3 L/ A2 [8 u1 _- L- g第四阶段绿灯持续时间t=23
2 v& |- k0 X- _4 z1 B总周期T=116) e$ }5 ~) _8 `5 f5 _
对于此方案,我们为了保证环岛被最大利用,同时又能使交通运转顺畅,设定环岛内最大车辆数不超过800,经我们模拟24小时次高峰:超过800辆的几率为: : ]) M: p, X* y" _, {
,
显然这是非常好的方案,鉴于此,我们不对此方案做修正,即沿用模型建立中确定的红绿灯持续时间。5 |+ f) @1 V4 U% ]3 f0 ~# W
3.一般情况和稀疏情况:; Z4 E: A2 r0 ^7 w# p+ }, V
因为车流量的原因,不可能造成交通的拥堵,因此,我们不在对此情况做模型检验。为了说明时间安排的科学性,可参考其他大城市的一般情况的红绿灯时间。
' t+ R' X7 t0 v% @- |4 W- n ; Y; ~7 X4 T9 o" E# c' a- N
3 q8 v0 ?- _* v$ l& a2 M

5 F3 l6 t3 _0 ~
七.模型改进
1.对于工作日和非工作日,由于车流量的分布不同,我们可以根据表1来设计红绿灯时间安排。5 ~; f* e0 c# @2 c/ j" o" q7 p
2.我们只考虑了每个路口流入与流出的关系,并没有考虑到车辆在环岛内的绕行情况。所以可以增加限制条件:环岛内并行车辆不碰撞,这样可以选出更加优化的方案。, X: i" o# o/ O1 u5 k# `
3.不妨考虑车辆在环路中的相位问题,这项可以细化到每辆车的行驶情况,但这样相对来说较为复杂,我们不予考虑。
+ p7 T% F& {. L+ e4.对高峰期时间的修正:
+ o- F- b8 @! V若不对高峰期的红灯持续时间作修正,则经长时间后,累积误差将使环岛内车总量超过1200(我们称之为危险),这是非常可怕和不安全的。为此,我们对红灯持续时间做一点微小的修正。经过我们的模拟:(程序见附录)
7 \. r0 {" t% E5 H+ E/ `修正时间t=0时,出现危险的几率:89.62%
- _+ i# ^3 i! E; n- C2 H3 r修正时间t= -1时,出现危险的几率:88.56%/ @+ ~4 r& d. i# c9 m! }2 P5 q/ N: P
修正时间t= -2时,出现危险的几率:98.03%1 o( A( {  B- ^8 `' B" Z; Q  \
其实,如果减少红灯时间,显然,这时在这段时间内进入的车辆数目就会增加,在不修正时已经危险的情况下当然就会照成危险几率变大。
; c& h- W7 F4 y) z, D: c所以,我们应该将修正时间调为正值。- |4 N# X5 E! |+ J
修正时间t=1时,出现危险的几率:93.33%/ P3 `- T6 {2 s7 N$ c- o" q
修正时间t=2时,出现危险的几率:13.74 %! [4 l5 E$ F% n% l3 t+ X- U- [# x
修正时间t=3时,出现危险的几率:2.74%/ H+ Y$ @- k3 T7 g- w8 r3 D5 s
因此,我们以5%为限定,确定出修正时间为3秒。
- _3 I' T7 {$ g" ? + E3 r/ |& _  y( t# v. `) Z
八.模型评价
8.1 优点2 ~8 e, C; j# u8 O$ Y( k
% n/ d8 Q6 j  \8 K9 y4 ~
1
.本文对不同车流时段(高峰期、次高峰、一般情况与稀疏情况)模型分别进行了模拟计算,得到了最优组合下的红绿灯循环时间。由于车流量是基于模拟的,并且环岛内车辆总数也是先设定的,因此,我们的模型可以适用于很多情况。并且,根据我们的模型,对于已知车总量和具体车流分布情况,可以重新确定出最优化的红绿灯控制模型。

* k1 P& y/ V; U# a! p* _2 t, N$ S: c
2
.在建模过程中,我们对所有可能出现的红绿灯组合情况进行了模拟,这样最终得到的最优组合的方法是很科学的。

$ u( G9 b. p4 w- t5 A
% r. y' `! L# k; I5 f* k8.2 缺点- K6 l  V3 ?7 N! h
$ f1 ?& a5 y; A- k0 \" d- @/ X8 R
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
3 O7 y" q& Q; `+ R% M% F
. {/ W2 X4 i6 o  i( s2 e( n& g% g* {4 ~1 v5 @6 \0 @8 a
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相似
8 F9 O; o" l7 \5 J4 i# `. `
作者: 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