基于元胞自动机模型的行人排队行为模拟

基于元胞自动机模型的行人排队行为模拟
基于元胞自动机模型的行人排队行为模拟

第9卷第3期2009年6月

交通运输系统工程与信息

Journa l of T ransporta ti on Syste m s Eng i neering and Infor m ation T echno logy

V o l 9N o 3

June 2009

文章编号:1009 6744(2009)03 0140 06

系统工程理论与方法

基于元胞自动机模型的行人排队行为模拟

廖明军1,2,孙 剑*2,王凯英1

(1.北华大学交通建筑工程学院,吉林132013;2.同济大学交通运输工程学院,上海201804)

摘要: 排队行为模型是常态下行人交通仿真系统模型的基础.本文利用排队论、有限

状态自动机原理以及元胞自动机模型对排队系统进行建模.排队行为模型以邻居方向

与目标方向间的修正夹角作为主要因子构造了元胞自动机模型的转移概念率函数.利

用C#对行人排队行为模型进行实现,并构造了两个不同数量的售票服务台的仿真场

景.从仿真动画来看,该模型逼真地模拟行人的排队活动;从不同场景的队长与时间关

系曲线可以看出,增加一个售票服务台明显可以减少队列长度,排队系统性能得到改

善.由此说明该模型具有模拟行人排队行为的能力.

关键词: 行人仿真;排队行为;元胞自动机模型;修正夹角

中图分类号: U491文献标志码: A

Si m ulation of Queui ng Behavi or Based on

Cellular Auto m ataM odel

LI A O M i n g jun1,2,SUN Jian2,WANG K ai ying1

(1.T ra ffic and Construction Eng i neeri ng Co ll ege of Be i hua U nivers it y,Jili n132013,Ch i na;

2.Schoo l o f T ransportation Eng i nee ri ng,T ong jiU n i versity,Shangha i201804,Ch i na)

A bstrac t: Q ueu i ng behav ior m ode l i s the basis o f pedestrian tra ffic si m u lati on syste m i n no r m al situati on.

T he pape r mode l s queue syste m usi ng queu i ng theo ry,finite sta te m achi ne princi p le,and ce ll u lar au t om ata

m ode.l The queuing behav ior mode l takesm od ifi ed i nc l uded ang le bet ween goa l directi on and ne i ghbor d i rec

ti on as t he m a i n factors o f transiti on probab ili ty function.Then the queu i ng behav i or m ode l i s i m ple m ented

w it h object or i ented prog ra m l anguag e C#.Two si m u l a ti on scenar i os are establi shed w it h different amoun t of

ti cket sa l es w i ndow.The an i m a ti on of si m ulati on s how s t hat the queui ng m ode l effecti ve l y si m ulates queue

ac ti v iti es.F ro m the re lati onship be t w een queue leng t h and ti m e,i t can be found tha t t he l eng th of queue can

be decrease by addi ng ticket sa l es po i nt,and t he pe rf o r m ance o f queue syste m can a lso be i m proved,w hich

de m onstrates that the m odel can be used to si m u l a te the pedestr i an queu i ng behav i o r.

K ey word s: pedestrian s i m u l a tion;queu i ng behav i o r;ce ll u l a r auto m a t on mode;l m odifi ed i ncluded ang le

CLC nu m ber: U491Docum en t code: A

收稿日期:2008 10 09 修回日期:2009 02 11 录用日期:2009 03 31

基金项目:同济大学青年优秀人才培养行动计划(2007K J027);上海市自然科学基金(07ZR14120);吉林教育厅 十一五规划重点项目(2007-122).

作者简介:廖明军(1974-),男,湖南邵东人,博士生.

*通讯作者:sun jian@126.co m

1 引 言

随着诸如奥运会和世博会等这样的大型活动的日益增多以及人群高度集中的交通枢纽的大量兴建,行人交通的研究已经变得越来越重要.行人设施的科学规划以及人群活动的组织离不开对行人交通行为的研究.行人交通行为一般分为两种情形:常态和疏散状态.在常态下,行人交通行为中一个普遍存在的现象就是有秩序的排队.服务设施的数量,排队空间的大小是否合理等这些问题都与排队有关.面对这些问题时,通常的做法是利用排队理论的方法大约估计行人的排队参数,该方法可以在一定程度上满足要求,但不直观而且不灵活.而微观仿真已是一个被证明用作分析复杂交通系统的一个有力工具.基于此,本文从微观仿真角度利用元胞自动机(Ce ll u l a r A uto m ata ,简称CA )模型模拟行人的排队行为,为常态下行人系统仿真模型开发奠定基础.

CA 模型最初作为人工生命的研究工具和方法.1986年,C re m er et a l [1]

首次将元胞自动机(CA )理论应用到交通领域,为交通流这一复杂系统的研究开辟了新的途径.德国学者Nage l et al

[2]

和美国学者B i h a m et al [3]

分别在W o lfra m 规则的基础上分别将C A 模型应用于高速公路一维交通流和城市交通网络二维交通流.目前,借鉴机动车元胞自动机模型的一些思想,CA 模型也已经应用于行人交通流的微观仿真.V.J B l u e

[4-7]

用CA 模

型对单向、双向通道以及十字交叉口和开放空间的行人运动进行了建模,制定一系列行为规则.我国从事公共安全、消防科学、建筑设计以及交通方面的学者也对行人CA 模型进行了大量研究,但他们主要利用元胞自动机模型来研究行人的疏散问题

[8-11]

.从以往的研究可知,目前对行人行为模型

的研究主要集中在道路上的行人交通流分析和人群疏散领域方面.对于行人有秩序的行人排队活动的相关行为研究较少.特此,本文将基于CA 模型,提出考虑目标方向的排队行为模型.并以售票设施为例构建排队仿真系统,分析该模型的适应性.

2 行人排队系统建模

2.1 排队系统概念

排队系统包括3个组成部分:输入过程、排队

规则和服务机构.输入过程是指顾客到达服务系统的规律.它可以用一定时间内顾客到达数或前后两个顾客相继到达的间隔时间来描述,一般分为确定型和随机型.排队规则可分为等待制、损失制和混合制.当顾客到达时,所有服务机构都被占用,则顾客排队等候,即为等待制.服务机构是指一个或多个服务台,多个服务台可以是平行排列的,也可以是串连排列的,其服务时间一般分为确定型和随机型两种.

本模型假定:排队系统的行人到达服从泊松分布;行人的排队规则为等待制,先到先服务;服务时间服从正态分布.2.2 微观排队系统建模

排队系统微观建模主要分为两个方面:排队系统设施建模和行人排队行为.

微观排队系统设施主要有服务窗口、队列以及队列的形状.服务窗口一般由几个元胞单元格组成,定义中间的一个为提供服务的元胞.队列是微观排队系统的主要对象.一般的面向对象编程语言(C #)都把队列封装为最基本的数据结构.基本队列类封装有队长属性以及判断队列是否为空、入队和离队的基本方法.用户针对特定排队系统也可以在继承基类的基础上对自定义队列进行扩展.另外,队列具有一定的形状.队形一般成直线,但空间不够或者排队阻碍其他流向的行人行走时,为充分利用空间,队形变为曲线(见图1).因此,在程序中,用一个链表管理曲线的参数,以便确定队列的形状.程序中,队列的形状由用户自定义(见图2).

图1 不同环境下的不同形状的队列(上海火车站地铁)F i g .1 D ifferent shapes of queue i n d ifferent env iron m ent

排队行为与行人排队过程中的决策和运动行为

有关.行人排队行为主要有:行人加入队列、等待服务,接受服务、离开队列以及队列中行人移动(见图3).为描述行人的排队行为,需要设置系列的状态变

141第3期基于元胞自动机模型的行人排队行为模拟

量和逻辑规则来反映行人行为状态的变化.

行人的排队行为状态主要有:非排队(q 0)!排队(q 1)!等待(q 2)!接受服务(q 3)!服务完毕(q 4).假定行人的初始状态为非排队,则终止状态为服务完毕.这些活动状态转移可应用确定型有限自动机模型进行描述.确定型有限自动机五元组模型表示为

M =(Q,T, ,q 0,F )

(1)

式中 Q 表示为有限的状态集合;T 为有限的输入; 为转换函数;q 0为初始状态;F 终止状态集.

对应排队活动,式(1)中Q ={q 0,q 1,q 2,q 3,q 4};T 为行人位置和时间等规则的集合,该集合的元素记为t i ; 为排队状态转移函数,以确定下一个状态,如q j =q i ?t i ;q 0为非排队状态;F 为服务完毕状态.

3 基于CA 的行人运动行为模型

3.1 元胞自动机模型概念

行为模型.人的运动行为.

力系统.散布在规则格网中的每一元胞取有限的离

散状态,遵循同样的作用规则,依据确定的局部规则进行同步更新.元胞自动机最基本组成单位包括:元胞,元胞空间,元胞的邻居,元胞间的相互作用的局部规则,以及元胞的状态

[12]

.

为了构造基于C A 的行人运动行为模型,本文先对元胞自动机模型做一些假定:

#元胞自动机中的元胞和行人的尺寸都设为30c m ?30c m,也就是说,一个行人只能占据一个元胞;

?行人之间的速度差异不大,行人的最大速度为1个单元格;

%模型的时间步长为0.25秒.

根据假定?,选择M oore 邻居作为本元胞自动机模型的邻居.具体见图4.

图4 M oo re 邻居以及方向矩阵F i g .4 M oore ne i ghbor and directi on m atri x

3.2 转移概率函数确定

转移概率函数,也称为演化规则,是CA 模型中的一个重要组成部分,它用于实现行人从当前单元格运动到新的单元格.由于行人所从事的是有序的排队活动,如买票.此时,行人主要目的就是以一定的速度沿着当前位置和队尾连成的直线一步一步的朝队列方向靠近,并加入到队列的队尾进行排队.在选择路径时,行人一般考虑路径最短这个因素.根据M oore 邻居概念可知行人有8个运动方向,每个方向与目标方向都有一个夹角.行人倾向于选择与目标(动态队列队尾)方向夹角最小的那个方向作为运动方向.夹角越小说明偏离目标越小.因此,可用行人运动方向与目标方向之间的夹角对行人运动规则进行控制.基于此,下面将构造一个考虑该夹角的转移概率函数:

ij )}(1-n ij ) ij k ij )}(1-n ij ) ij -1

无障碍物可以利用

(2)

142

交通运输系统工程与信息 2009年6月

式中 p ij 为选择单元格(i ,j)的概率;N 为正规化数值以保证

&(i,j)

p

ij

= 1.n ij 为单元格(i ,j )被行人

占用状态; ij 用来判定单元格是否是障碍物; ij 为修正夹角;k 为方向敏感因子,其值越大,表示行人随机性越小,到一定程度后,该函数成为确定性演化规则.

在式(2)中,最重要的是确定 ij .为计算 ij ,先假定一个坐标系.原点为当前行人的位置,横轴为东西方向,纵轴为南北方向.东、南、西、北以及各个象限的角平分线方向代表行人邻居的方向(见图5).它们与目标方向的最小夹角!ij 表示该单元格方向偏离目标的程度.在本模型中,最小夹角!ij 最小为0?,最大为180?.为揭示!ij 越小的单元格被选中的概率越大这样一种规律,须对!ij 进行修正,即 ij =180?-!ij .接下来,介绍!ij 的算法

.

图5 夹角计算示意图

F ig .5 Compu tati on sketch o f i ncl uded ang le

先用式(3)计算紧邻的邻居单元格与目标方向的最小夹角,记为!(0(!(45?

):

!=arctan ?

y ?x =arctan y goal -y cur

x goal -x cur

(3)

式中

(x cu r ,y cu r )为当前单元格的位置;(x goal ,

y goa l )为目标点的位置.

最小夹角!得到后,应用下面的算法计算修正夹角 ij .算法如下:

#扫描周围8个邻居,得出紧邻的单元格与目标方向夹角最小的单元格的角度!;

?判断该单元格是在目标方向的左侧还是右侧;

%以最小夹角所在单元格为基准,并根据?所

确定的位置,以目标方向为轴,分别向逆时针和顺时针方向计算出4个单元格的最小夹角!ij ;

) ij =180?-!ij .

此时,通过式(2)就可以确定当前行人移动到邻居或者保持当前位置的概率,也就是说通过上述方法,可以确定每一个仿真步长的行人运动方向.另外,除了行人到达队列的运动行为外,还有队列内的行人运动,即一个行人服务完毕后,后面的行人一次往前移动一个位置,这种运动通过队列的元素位置属性更新即可解决.另外,上述模型同样适合多队列和曲线队列,只是在寻找队列时,需要增加路径搜索算法,可以用基于网络图的障碍物搜索方法,这将择文介绍.3.3 冲突解决方法

另外,还需要注意行人冲突的问题.行人在移动的过程中,很可能存在两个不同单元格的行人在下一个步长运动到同一个空闲单元格的情况.由于一个单元格只能在同一时刻被一个人占据,所以需要在模型中设定一些规则来解决行人的冲突.解决的办法有很多,其主要的出发点是从人的属性考虑,比如,按照行人的体力,行人的迫切程度,或者干脆各50%的机会随机确定等,本文按照已经计算出来的方向选择概率的大小来决定谁将占据该单元格(见图6).这其实是行人优先的反映,从实际生活经验来看也具有一定的合理性.因此,可用式(4)~式(5)判断单元格的优先度:

p 1=M (1)

1,0

M (1)1,0+M (2)

-1,1(4)p 2=

M (2)

-1,1M (1)

1,0+M (2)-1,1

(5)

式(4)和式(5)中,M (m)

i,j 为位于(i ,j)单元格第m 个人向邻域移动的概率(参考图4)(m =1,2; i ,j =-1,0,1).

图6 冲突解决示意图[13]

F i g.6 The m e t hod for pedestr ian ?s confli c t avo idance

143第3期基于元胞自动机模型的行人排队行为模拟

比较式(4)中的p 1和式(5)中p 2的大小,谁大谁优先.此时的选择变成一个确定型的选择,省去随机选择的麻烦,本文选择此种方法解决行人冲突问题.

3.4 k 值对转移概率的影响

夹角是转移概率函数中一个主要变量,其影响因子取不同的值,夹角的影响也是不一样的.为此,取一个单元格进行分析,假设目标方向与东边的单元格的顺时钟夹角为30?.此时,通过上述修正夹角的算法得到如图7所示的修正夹角矩阵.其中右下角(ES)的单元格的夹角最大.

图8(a)说明当k 在0到0.1之间变化时,右下角单元格的概率值变化还比较明显.从图8(b)可以看出:当k 值为0时,所有的值为11.11%,各个单元格机会均等;当k 值为0.3时,右下角单元格对应的概率值达到了99%,接近于1;当k 值大于0.3时,其对应的概率趋向于1,几乎不变

.

4 实例分析

本实例构造了一个40?50个单元格大小的售票大厅,并在厅里面设置了售票设施,行人从入口进入,50%的旅客排队买票.通过分析k 与转移概

率的关系,确定式(2)中的方向敏感因子k 为

0 03.假设行人服从到达率为1800人/小时的泊松分布,行人的服务时间服从正态分布N (17,42

).利用C #对上述模型进行实现,最后得到图9所示的仿真动画场景.

另外,为研究其他参数不变的情况下不同数量服务台的队长与仿真时间的关系,特别构造了一个单服务台和双服务台的场景并对它们进行仿真试验.从实验结果看(见图10和图11),由于其他条件不变,只设一个服务台的队列长度一直在增加,而设置两个服务台的队列长度却保持在稳定状态.这与现实情况吻合.

从上述仿真动画看,文中排队行为模型具有描

144

交通运输系统工程与信息 2009年6月

述现实世界排队活动的能力.另外,从上述两个仿真的队长和仿真时间的关系曲线看,该仿真模型具有评价排队系统的能力.

5 研究结论

本文主要研究基于CA模型的行人排队行为,从理论和试验来看,其主要结论有:

(1)从仿真动画看,元胞自动机模型可适用于常态下行人排队行为的模拟.

(2)基于目标方向修正角度的状态转移函数能够反映行人选择最短路线的心理,能较好地模拟行人的运动行为.

(3)从不同服务台的队长与仿真时间关系曲线看,在其他参数相同的条件下,增加一个服务台能明显改善排队系统的服务,这与实际情况相吻合,也证明本文的模型的合理性和实用性.

参考文献:

[1] C rem erM,L ud w i g J.A fast si m u l a ti on m ode l for tra f

fic flo w on the basis o f boo l ean operati ons[J].M athe

ma ti cs and Co m puters i n S i m u lati on,1986,28(4):

297-303.

[2] N ag el K,Sch reckenberg M.A ce ll u lar auto m aton

model f o r free w ay tra ffic[J].J.P hysique I,1992,2

(12):2221-2229.

[3] B iham O,M i dd l e t on A A,L ev i ne D.Se lf org an i zati on

and a dyna m ica l transition i n traffi c flo w models[J].

P hys.R ev.A,1992,46(10):6124-6127.

[4] B l ue V J and A dler J L.E m erg ent funda m enta l pedes

trian fl ows fro m ce ll u lar automa ta m icrosi m ulati on[J].

T ranspo rtati on R esearch R ecord,1998,1644:29-36.

[5] B lue V J and A dler J L.Ce ll u lar auto m ata mode l o f e

me rgent co ll ective b i direc ti ona l pedestrian dyna m i cs

[C]//A ccepted by A rtific i a l L ife V II,T he Seventh

Internationa l Confe rence on the S i m u l a ti on and Synthe

sis o f L iv i ng Syste m s,R eed Co ll ege,Portland O regon,

A ugust2000:1-6.

[6] B l ue V J and A d l e r J L.M odeli ng f our directi onal pe

destr i an m ove m ents[C]//the79th Annua lm eeti ng o f

t he T ransportation R esearch Board,Janua ry2000.[7] B l ue V J and Ad ler J L.U sing ce ll u l a r auto m ata m i

c rosi m ulati on t o m ode l pedestr i an m ove m ents[C]//

P roceed i ngs of t he14th Inte rnati onal Symposi um on

T ransporta ti on and T ra ffic T heo ry, A.Ceder ed.

E l sev ier Sc i ence L td,Ju l y1999.

[8] 田娟荣,周孝清,李健.地铁自动检票闸机对人员疏

散的影响分析[J].火灾科学,2006,15(1):38-

43.[T I AN J uan rong,Z HOU X i ao q i ng,L I Jian.In

fl uences of auto m a ti c f a re gate i n sub w ay on pedestrian

evacua ti on[J].F ire Safety Sc i ence,2006,15(1):38

-43.]

[9] 宋娜娜.基于 元胞自动机的人员疏散仿真模型

初探[J].消防科学与技术,2006,25(6):733-

735.[SONG N a na.St udy on si m ulati on m ode ls of t he

occupant evacuati on based on cell ular auto m a ta[J].

F ire Sc i ence and T echnology,2006,25(6):733-

735.]

[10] 李伏京,方卫宁.磁悬浮车辆中人员紧急疏散的仿

真研究[J].中国安全科学学报,2005,15(8):17

-21.[L I F u ji ng,FANG W e i ni ng.Si m ulation o f

passeng er evacua ti on under e m erg ency i n m ag l ev tra i n

[J].Ch i na Safe ty Sc i ence Jou rna,l2005,15(8):17

-21.]

[11] 吕春杉,翁文国,杨锐,等.基于运动模式和元胞自

动机的火灾环境下人员疏散模型[J].清华大学学

报(自然科学版),2007,47(12):2158-2162.

[LV Chun shan,W ENG W en guo,YANG Ru,i et a.l

F ire evacuati on m ode l based on m otor sche m a and ce l

l u lar autom aton[J].Journa l o f T si nghua U n i versity

(Sc i ence and T echno l ogy),2007,47(12):2158-

2162.]

[12] 贾斌,高自友,李克平,等.基于元胞自动机的交

通系统建模与模拟[M].北京:科学出版社,2007:

10-11.[JIA B i n,GAO Z i you,L I K e pi ng,et a.l

M odels and si m ulati ons o f traffic syste m based on t he

t heory of ce llular au t om aton[M].Be iji ng:Science

P ress,2007:10-11.]

[13] SC HAD SC HNE I DER.A ce llular automa ti on approach

to pedestr ian dyna m i cs theo ry[M].Pedestr ian and E

vacua ti on D yna m i cs,Spr i ng,2001:75-86.

145

第3期基于元胞自动机模型的行人排队行为模拟

元胞自动机(CA)代码及应用

元胞自动机(CA)代码及应用 引言 元胞自动机(CA)是一种用来仿真局部规则和局部联系的方法。典型的元胞自动机是定义在网格上的,每一个点上的网格代表一个元胞与一种有限的状态。变化规则适用于每一个元胞并且同时进行。典型的变化规则,决定于元胞的状态,以及其(4或8 )邻居的状态。元胞自动机已被应用于物理模拟,生物模拟等领域。本文就一些有趣的规则,考虑如何编写有效的MATLAB的程序来实现这些元胞自动机。 MATLAB的编程考虑 元胞自动机需要考虑到下列因素,下面分别说明如何用MATLAB实现这些部分。并以Conway的生命游戏机的程序为例,说明怎样实现一个元胞自动机。 ●矩阵和图像可以相互转化,所以矩阵的显示是可以真接实现的。如果矩阵 cells的所有元素只包含两种状态且矩阵Z含有零,那么用image函数来显示cat命令建的RGB图像,并且能够返回句柄。 imh = image(cat(3,cells,z,z)); set(imh, 'erasemode', 'none') axis equal axis tight ●矩阵和图像可以相互转化,所以初始条件可以是矩阵,也可以是图形。以下 代码生成一个零矩阵,初始化元胞状态为零,然后使得中心十字形的元胞状态= 1。 z = zeros(n,n); cells = z; cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1; ●Matlab的代码应尽量简洁以减小运算量。以下程序计算了最近邻居总和,并 按照CA规则进行了计算。本段Matlab代码非常灵活的表示了相邻邻居。 x = 2:n-1; y = 2:n-1; sum(x,y) = cells(x,y-1) + cells(x,y+1) + ... cells(x-1, y) + cells(x+1,y) + ... cells(x-1,y-1) + cells(x-1,y+1) + ... cells(x+1,y-1) + cells(x+1,y+1); cells = (sum==3) | (sum==2 & cells); ●加入一个简单的图形用户界面是很容易的。在下面这个例子中,应用了三个 按钮和一个文本框。三个按钮,作用分别是运行,停止,程序退出按钮。文框是用来显示的仿真运算的次数。 %build the GUI %define the plot button plotbutton=uicontrol('style','pushbutton',...

交通流中的NaSch模型及MATLAB代码元胞自动机完整

元胞自动机NaSch模型及其MATLAB代码 作业要求 根据前面的介绍,对NaSch模型编程并进行数值模拟: ●模型参数取值:Lroad=1000,p=,Vmax=5。 ●边界条件:周期性边界。 ●数据统计:扔掉前50000个时间步,对后50000个时间步进行统计,需给出的 结果。 ●基本图(流量-密度关系):需整个密度范围内的。 ●时空图(横坐标为空间,纵坐标为时间,密度和文献中时空图保持一致, 画 500个时间步即可)。 ●指出NaSch模型的创新之处,找出NaSch模型的不足,并给出自己的改进思 路。 ●? 流量计算方法: 密度=车辆数/路长; 流量flux=density×V_ave。 在道路的某处设置虚拟探测计算统计时间T内通过的车辆数N; 流量flux=N/T。 ●? 在计算过程中可都使用无量纲的变量。 1、NaSch模型的介绍 作为对184号规则的推广,Nagel和Schreckberg在1992年提出了一个模拟车辆交通的元胞自动机模型,即NaSch模型(也有人称它为NaSch模型)。 ●时间、空间和车辆速度都被整数离散化。

● 道路被划分为等距离的离散的格子,即元胞。 ● 每个元胞或者是空的,或者被一辆车所占据。 ● 车辆的速度可以在(0~Vmax )之间取值。 2、NaSch 模型运行规则 在时刻t 到时刻t+1的过程中按照下面的规则进行更新: (1)加速:),1min(max v v v n n +→ 规则(1)反映了司机倾向于以尽可能大的速度行驶的特点。 (2)减速:),min(n n n d v v → 规则(2)确保车辆不会与前车发生碰撞。 (3)随机慢化: 以随机概率p 进行慢化,令:)0, 1-min(n n v v → 规则(3)引入随机慢化来体现驾驶员的行为差异,这样既可以反映随机加速行为,又可以反映减速过程中的过度反应行为。这一规则也是堵塞自发产生的至关重要因素。 (4)位置更新:n n n v x v +→ ,车辆按照更新后的速度向前运动。 其中n v ,n x 分别表示第n 辆车位置和速度;l (l ≥1)为车辆长度;11--=+n n n x x d 表示n 车和前车n+1之间空的元胞数;p 表示随机慢化概率;max v 为最大速度。 3、NaSch 模型实例 根据题目要求,模型参数取值:L=1000,p=,Vmax=5,用matlab 软件进行编程,扔掉前11000个时间步,统计了之后500个时间步数据,得到如下基本图和时空图。 程序简介 初始化:在路段上,随机分配200个车辆,且随机速度为1-5之间。 图是程序的运行图,图中,白色表示有车,黑色是元胞。

基于元胞自动机模型的城市历史文化街区的仿真

文章编号: 1673 9965(2009)01 079 05 基于元胞自动机模型的城市历史文化街区的仿真* 杨大伟1,2,黄薇3,段汉明4 (1.西安工业大学建筑工程系,西安710032;2.西安建筑科技大学建筑学院,西安710055; 3.陕西师范大学历史文化学院,西安710061; 4.西北大学城市与资源学系,西安710069) 摘 要: 为了探讨当前城市规划中远期预测的科学性和准确性问题,将自组织理论与元胞自动机模型结合,在一定的时空区域,构建了一个城市增长仿真模型.将元胞自动机模型应用于西安市最具历史文化特色的区域中,形成自下而上的规划模型.元胞自动机模型对于西安回民区的空间发展城市历史文化特色街区的模拟具有一定的原真性和时效性,在时空中能反应当前的空间格局.元胞自动机在城市规划的预测中具有图式与范式结合的特点,在中长期的预测中形成符合城市规划发展战略的空间格局. 关键词: 元胞自动机;自组织;历史文化特色街区;空间演化 中图号: T U984 文献标志码: A 自组织理论是当前城市复杂性研究的主要研究方向之一.自组织是相对他组织而言,即自我、本身自主地组织化、有机化,意味着一种自动的、自发性的行为,一种自下而上、由内至外的发展方式.其主要涵义可以简单概括:在大多数情况下,作用于系统的外部力量并不能直接对系统的行为产生作用,而是作为一种诱因,即引入序参量引发系统内部发生相变,系统通过这一系列的变化自发地组织起来,最终大量微观个体的随机过程表现出宏观有序的现象[1]. 20世纪40年代U lam提出元胞自动机模型(Cellular Autom at o n M odel,CA),V on N eu m ann将其用于研究自复制系统的逻辑特性,且很快用于研究自组织系统的演变过程,其中对城市系统自组织过程的模拟是焦点问题[2 9]. CA是定义在一个具有离散状态的单元(细胞)组成的离散空间上,按一定的局部规则在离散时间维演化的动力学系统.一个CA模型通常包括单元、状态、邻近范围和转换规则4要素[9],单元是其最小单位,而状态则是单元的主要属性.根据转换规则,单元可以从一个状态转换为另外一个状态,转换规则通过多重控制函数来实现. 自组织理论的提出,对于解释相对封闭,具有自身演化规律的复杂适应系统中的复杂现象和问题具有重要意义和应用前景.而CA 自下而上的研究思路,强大的复杂计算功能、固有的并行计算能力、高度动态特征以及具有空间概念等特征,使其在模拟空间复杂系统的时空演变方面具有很强的能力,在城市学研究中具有天然优势[9 15].本文将自组织理论引入CA模型,并将该模型首次应用于西安回民区这一复杂的相对独立的历史街区中,就是为了得出其在自组织的作用下,未来20年空间发展的变化模型,为城市规划的制定做出科学的预测.下面对西安回民区做一简单介绍. 西安回民区位于西安旧城中心的中西地段,东接西安历史文化遗产钟楼和北大街,西接洒金桥,南到西大街,北到莲湖路,面积约为93.4公顷,人口约为77600人,在此居住的居民中有43.6%以 第29卷第1期 西 安 工 业 大 学 学 报 V o l.29No.1 2009年02月 Jo urnal o f Xi!an T echnolo g ical U niver sity Feb.2009 *收稿日期:2008 06 04 基金资助:国家自然科学基金(50678149) 作者简介:杨大伟(1981 ),男,西安工业大学助教,西安建筑科技大学博士研究生,主要研究方向为城市空间复杂性. E mail:yangdaw ei@https://www.360docs.net/doc/a310626146.html,.

CA元胞自动机优化模型原代码

CA优化模型原代码: M=load(‘d:\ca\jlwm’) N=load(‘d:\ca\jlwn.asc’) lindishy=load(‘d:\ca\ldfj3.asc’) caodishy=load(‘d:\ca\cdfj3.asc’) gengdishy=load(‘d:\ca\htfj3.asc’) [m,n]=size(M); Xr=[1 1 -1 1 1 1 -1 -1 1 1;1 1 1 1 -1 -1 1 1 1 -1;-1 1 1 1 -1 -1 -1 1 -1 -1;1 1 1 1 1 1 -1 1 1 I; l -1 -1 1 1 -1 -1 -1 1 1;1 -1 -1 1 -1 1 -1 1 -1 -1;-1 1 -1 -1 -1 -1 1 -1 -1 -1;-1 1 1 1 -1 1 -1 1 -1 -1;1 1 -1 1 1 -1 -1 -1 1 1;1 -1 -1 1 1 -1 -1 -1 1 1]; caodi=0;lindi=0;gengdi=0; for i=1:m forj=l:n if M(i,j)==4 caodi=caodi+1; elseif M(i,j)==3 lindi=lindi+1; elseif M(i,j)==2 gengdi=gengdi+1; end end end for i=1:m for j=1:n if M(i,j)==4 if lindishy(i,j)>gengdishy(i,j) if lindishy(i,j)>caodishy(i,j) z=0; for P=max(1,i-1):min(i+1,m) for q=max(j-1,1):min(j+1,n) if (M(p,q)~=0)&&xr(M(p,q),3)==-1 z=1; end end end if z== 0 caodi=eaodi-1; M(i,j)=3; lindi=lindi+1; end elseif lindishy(i,j)==caodishy(i,j) caoditemp=0; linditemp=0; gengditemp=0;

交通流元胞自动机模型综述

第23卷 第1期2006年1月 公 路 交 通 科 技 Journal of Highway and Transportation Research and Development Vol .23 No .1 Jan .2006 文章编号:1002-0268(2006)01-0110-05 收稿日期:2004-09-27 作者简介:郑英力(1971-),女,福建宁德人,讲师,研究方向为交通控制与仿真.(z hengyl71@s ina .com ) 交通流元胞自动机模型综述 郑英力,翟润平,马社强 (中国人民公安大学 交通管理工程系,北京 102623) 摘要:随着交通流模拟的需要及智能交通系统的发展,出现了基于元胞自动机理论的交通流模型。交通流元胞自动机模型由一系列车辆运动应遵守的运动规则和交通规则组成,并且包含驾驶行为、外界干扰等随机变化规则。文章介绍了交通流元胞自动机模型的产生与发展,总结和评述了国内外各种元胞自动机模型,并对元胞自动机模型的发展提出展望。 关键词:元胞自动机;交通流;微观模拟;模型中图分类号:U491.1+23 文献标识码:A Survey of Cellular Automata Model of Traffic Flow ZH ENG Ying -li ,ZH AI Run -p ing ,MA She -q iang (Department of Traffic Management Engineering ,Chinese People 's Public Security University ,Beijing 102623,China )Abstract :With the increas ing demand of traffic flow si mulation and the development of ITS research ,the traffic flow model based on cellular automata has been developed .Cellular automata model of traffic flow incorporates a series of vehicle movement rules and traffic regulations .Meanwhile ,the model works under some stochastic rules takin g into consideration of drivers 'behaviors and ambient interfer -ences .This paper introduces the establishment and development of cellular automata model of traffic flow ,su mmarizes and comments on different kinds of typical cellular automata models of traffic flow ,and furthermore ,presents a new perspective for further stud y of the model . Key words :Cellular automata ;Traffic flow ;Microscopic simulation ;Model 0 引言 交通流理论是运用物理学和数学定律来描述交通特性的理论。经典的交通流模型主要有概率统计模 型、车辆跟驰模型、流体动力学模型、车辆排队模型等 [1] 。20世纪90年代,随着交通流模拟的需要及智 能交通系统的发展,人们开始尝试将物理学中的元胞自动机(Cellular Automata ,简称CA )理论应用到交通领域,出现了交通流元胞自动机模型。 交通流C A 模型的主要优点是:(1)模型简单,特别易于在计算机上实现。在建立模型时,将路段分 为若干个长度为L 的元胞,一个元胞对应一辆或几辆汽车,或是几个元胞对应一辆汽车,每个元胞的状态或空或是其容纳车辆的速度,每辆车都同时按照所建立的规则运动。这些规则由车辆运动应遵守的运动规则和交通规则组成,并且包含驾驶行为、外界干扰等随机变化规则。(2)能够再现各种复杂的交通现象,反映交通流特性。在模拟过程中人们通过考察元胞状态的变化,不仅可以得到每一辆车在任意时刻的速度、位移以及车头时距等参数,描述交通流的微观特性,还可以得到平均速度、密度、流量等参数,呈现交通流的宏观特性。

元胞自动机与Matlab

元胞自动机与MATLAB 引言 元胞自动机(CA)是一种用来仿真局部规则和局部联系的方法。典型的元胞自动机是定义在网格上的,每一个点上的网格代表一个元胞与一种有限的状态。变化规则适用于每一个元胞并且同时进行。典型的变化规则,决定于元胞的状态,以及其(4或8 )邻居的状态。元胞自动机已被应用于物理模拟,生物模拟等领域。本文就一些有趣的规则,考虑如何编写有效的MATLAB的程序来实现这些元胞自动机。 MATLAB的编程考虑 元胞自动机需要考虑到下列因素,下面分别说明如何用MATLAB实现这些部分。并以Conway的生命游戏机的程序为例,说明怎样实现一个元胞自动机。 ●矩阵和图像可以相互转化,所以矩阵的显示是可以真接实现的。如果矩阵 cells的所有元素只包含两种状态且矩阵Z含有零,那么用image函数来显示cat命令建的RGB图像,并且能够返回句柄。 imh = image(cat(3,cells,z,z)); set(imh, 'erasemode', 'none') axis equal axis tight ●矩阵和图像可以相互转化,所以初始条件可以是矩阵,也可以是图形。以下 代码生成一个零矩阵,初始化元胞状态为零,然后使得中心十字形的元胞状态= 1。 z = zeros(n,n); cells = z; cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1; ●Matlab的代码应尽量简洁以减小运算量。以下程序计算了最近邻居总和,并 按照CA规则进行了计算。本段Matlab代码非常灵活的表示了相邻邻居。 x = 2:n-1; y = 2:n-1; sum(x,y) = cells(x,y-1) + cells(x,y+1) + ... cells(x-1, y) + cells(x+1,y) + ... cells(x-1,y-1) + cells(x-1,y+1) + ... cells(x+1,y-1) + cells(x+1,y+1); cells = (sum==3) | (sum==2 & cells); ●加入一个简单的图形用户界面是很容易的。在下面这个例子中,应用了三个 按钮和一个文本框。三个按钮,作用分别是运行,停止,程序退出按钮。文框是用来显示的仿真运算的次数。

元胞自动机NaSch模型及其MATLAB代码

元胞自动机N a S c h模型 及其M A T L A B代码 This manuscript was revised by the office on December 22, 2012

元胞自动机N a S c h模型及其M A T L A B代码 作业要求 根据前面的介绍,对NaSch模型编程并进行数值模拟: 模型参数取值:Lroad=1000,p=0.3,Vmax=5。 边界条件:周期性边界。 数据统计:扔掉前50000个时间步,对后50000个时间步进行统计,需给出的结果。 基本图(流量-密度关系):需整个密度范围内的。 时空图(横坐标为空间,纵坐标为时间,密度和文献中时空图保持一致,画500个时间步即可)。 指出NaSch模型的创新之处,找出NaSch模型的不足,并给出自己的改进思路。 流量计算方法: 密度=车辆数/路长; 流量flux=density×V_ave。 在道路的某处设置虚拟探测计算统计时间T内通过的车辆数N; 流量flux=N/T。 在计算过程中可都使用无量纲的变量。 1、NaSch模型的介绍 作为对184号规则的推广,Nagel和Schreckberg在1992年提出了一个模拟车辆交通的元胞自动机模型,即NaSch模型(也有人称它为NaSch模型)。 时间、空间和车辆速度都被整数离散化。道路被划分为等距离的离散的格子,即元胞。 每个元胞或者是空的,或者被一辆车所占据。 车辆的速度可以在(0~Vmax)之间取值。 2、NaSch模型运行规则 在时刻t到时刻t+1的过程中按照下面的规则进行更新: (1)加速:vnmin(vn1,vmax) 规则(1)反映了司机倾向于以尽可能大的速度行驶的特点。 (2)减速:vnmin(vn,dn) 规则(2)确保车辆不会与前车发生碰撞。 (3)随机慢化:以随机概率p进行慢化,令:vnmin(vn-1,0) 规则(3)引入随机慢化来体现驾驶员的行为差异,这样既可以反映随机加速行为,又可以反映减速过程中的过度反应行为。这一规则也是堵塞自发产生的至关重要因素。 (4)位置更新:vnxnvn,车辆按照更新后的速度向前运动。其中vn,xn分别表示第n辆车位置和速度;l(l≥1)为车辆长度; p表示随机慢化概率;dnxn1xn1表示n车和前车n+1之间空的元胞数; vmax为最大速度。 3、NaSch模型实例

关于元胞自动机在交通流理论方面的应用

关于元胞自动机在交通流理论方面的应用 一.概念阐述 1. 元胞自动机 定义:一种利用简单编码与仿细胞繁殖机制的非数值算法空间分析模式。 不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成。凡是满足这些规则的模型都可以算作是元胞自动机模型。因此,元胞自动机是一类模型的总称,或者说是一个方法框架。其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的。 2. 交通流理论 定义:是运用数学和物理学的定义来描述交通流特性的一门边缘科学。 它以分析的方法阐述交通现象及其机理,探讨人和车在单独或成列运行中 的动态规律及人流或车流流量、流速和密度之间的变化关系,以求在交通规划、设计和管理中达到协调和提高各种交通设施使用效果的目的。 二.正文 1. 初等元胞自动机: 元胞自动机应用广泛,利用元胞自动机模拟交通流是可行的,比如说利用初等 元胞自动机来模拟交通流,首先要建立元胞自动机模型,建立如下: 考虑有等长的L 个格子的线段 每一个格子i 都有两种状态0和1,在t 时刻i 格子的状态记为:X i t 任意一个格子的下一时刻状态与其当前及前后的格子状态有关,故: 记:X i t+1=F(X i-1t ,X i t ,X i+1t ) 因为t 时刻格子的状态决定了t+1时刻的格子状态,故F 总共有256种定制规 则,为了满足交通规则的需要,我们在这里定制一种称为184的交通流模型。 首个格子与末尾的格子相连,整个线段构成环状。 184交通流模型:每个元胞只有在前进方向的元胞邻居状态无车辆时才前进一 个元胞(位移),即前面有车就不能走。那么对应八种邻居为: 111 110 101 100 ↓ ↓ ↓ ↓ 1 0 1 1 011 010 001 000 ↓ ↓ ↓ ↓ 1 10111000——184

基于元胞自动机原理的微观交通仿真模型

2005年5月重庆大学学报(自然科学版)May2005第28卷第5期Journal of Chongqing University(Natural Science Editi on)Vol.28 No.5 文章编号:1000-582X(2005)05-0086-04 基于元胞自动机原理的微观交通仿真模型3 孙 跃,余 嘉,胡友强,莫智锋 (重庆大学自动化学院,重庆 400030) 摘 要:描述了一种对高速路上的交通流仿真和预测的模型。该模型应用了元胞自动机原理对复杂的交通行为进行建模。这种基于元胞自动机的方法是将模拟的道路量离散为均匀的格子,时间也采用离散量,并采用有限的数字集。同时,在每个时间步长,每个格子通过车辆跟新算法来变换状态,车辆根据自定义的规则确定移动格子的数量。该方法使得在计算机上进行仿真运算更为可行。同时建立了跟车模型、车道变换的超车模型,并根据流程对新建的VP算法绘出时空图。提出了一个设想:将具备自学习的神经网络和仿真系统相结合,再根据安装在高速路上的传感器所获得的统计数据,系统能对几分钟以后的交通状态进行预测。 关键词:元胞自动机;交通仿真;数学模型 中图分类号:TP15;TP391.9文献标识码:A 1 元胞自动机 生物体的发育过程本质上是单细胞的自我复制过程,50年代初,计算机创始人著名数学家冯?诺依曼(Von Neu mann)曾希望通过特定的程序在计算机上实现类似于生物体发育中细胞的自我复制[1],为了避免当时电子管计算机技术的限制,提出了一个简单的模式。把一个长方形平面分成若干个网格,每一个格点表示一个细胞或系统的基元,它们的状态赋值为0或1,在网格中用空格或实格表示,在事先设定的规则下,细胞或基元的演化就用网格中的空格与实格的变动来描述。这样的模型就是元胞自动机(cellular aut omata)。 80年代,元胞自动机以其简单的模型方便地复制出复杂的现象或动态演化过程中的吸引子、自组织和混沌现象而引起了物理学家、计算机科学家对元胞自动机模型的极大兴趣[1]。一般来说,复杂系统由许多基本单元组成,当这些子系统或基元相互作用时,主要是邻近基元之间的相互作用,一个基元的状态演化受周围少数几个基元状态的影响。在相应的空间尺度上,基元间的相互作用往往是比较简单的确定性过程。用元胞自动机来模拟一个复杂系统时,时间被分成一系列离散的瞬间,空间被分成一种规则的格子,每个格子在简单情况下可取0或1状态,复杂一些的情况可以取多值。在每一个时间间隔,网格中的格点按照一定的规则同步地更新它的状态,这个规则由所模拟的实际系统的真实物理机制来确定。格点状态的更新由其自身和四周邻近格点在前一时刻的状态共同决定。不同的格子形状、不同的状态集和不同的操作规则将构成不同的元胞自动机。由于格子之间在空间关系不同,元胞自动机模型分为一维、二维、多维模型。在一维模型中,是把直线分成相等的许多等分,分别代表元胞或基元;二维模型是把平面分成许多正方形或六边形网格;三维是把空间划分出许多立体网格。一维模型是最简单的,也是最适合描述交通流在公路上的状态。 2 基于元胞自动机的交通仿真模型的优点目前,交通模型主要分为3类: 1)流体模型(Hydr odyna m ic Model),在宏观上,以流体的方式来描述交通状态; 2)跟车模型(Car-f oll owing Model),在微观上,描述单一车辆运动行为而建立的运动模型; 3)元胞自动机模型(Cellular Aut omat on),在微观 3收稿日期:2005-01-04 基金项目:重庆市自然科学基金项目(6972) 作者简介:孙跃(1960-),浙江温州人,重庆大学教授,博士,研究方向:微观交通仿真、电力电子技术、运动控制技术及系统。

疏散问题元胞自动机仿真方法

姓名:张雪蕾学号:201211131114 姓名:崔星宇学号:201211131072 姓名:王佳颖学号:201211131054 基于元胞自动机的人员疏散仿真研究 摘要: 本文要仿真模拟学校某层教学楼中的人员疏散[1],主要方法是建立元胞自动机模型。 本文首先规定了学校教室和走廊的规格,并将教室和走廊平面均匀地划分成大小相等且符合实际的正方形网格,每个网格作为一个元胞,可以由教室中的学生或者障碍物占据。模型的建立是先将此楼层的人员疏散过程分成教室和走廊两个部分分别考虑、并分别建立模型。 在教室中,根据每一个元胞距离教室门口的位置长短,建立了元胞位置危险度矩阵,然后在此基础上给出教室中书桌所在元胞的位置和教室墙壁所在元胞的位置。我们采用Moore neighborhood的元胞邻居方式,学生的行走方式取决于其邻居八个元胞及其本身在位置危险度矩阵中所对应的危险度的大小;有多个学生竞争同一元胞时,则采用生成随机数作为前进概率的方法,概率最大的可以成功抢到该目标元胞位置。这样每一次时间步的更新,都会有至多一个人走出本间教室,一间90人的教室需要大约26.25s就可使教室人员全部走出教室。 在走廊中,我们考虑走廊只能至多三排学生并行的情况,并规定走廊上的行走规则与教室里的一致。我们采用扩展的Von-Neumann neighborhood的元胞邻居方式,学生的行走方式取决于其邻居五个元胞及其本身在位置危险度矩阵中所对应的值的大小。每一时间步的更新会有至多三个人走出走廊。 最终,我们将教室和走廊的情况整合在一起考虑,得到了模拟学校学生在进行疏散时的元胞自动机模型。用此元胞自动机模型对该层教学楼的人员疏散问题进行仿真模拟,若每一时间步为0.25秒,我们得到时间步更新次数为333(即83.25s),四间教室共360人均可全部逃离教学楼,该结果与实际情况十分相符。关键字: 人员疏散元胞自动机位置危险度随机数法

基于元胞自动机的土地资源节约利用模拟

第24卷 第5期 自 然 资 源 学 报V ol 24N o 5 2009年5月J OURNAL OF NATURAL RESOURCES M ay ,2009 收稿日期:2008-08-22;修订日期:2008-12-02。 基金项目:国家自然科学基金重点资助项目(40830532);国家自然科学基金资助项目(40801236);国家杰出青年基金资助项目(40525002);国家高技术研究发展计划资助项目(2006AA12Z206)。 作者简介:杨青生(1974-),男,青海乐都人,讲师,博士,主要研究遥感与地理信息模型及应用。E m ai :l qs y ang2002@https://www.360docs.net/doc/a310626146.html, 基于元胞自动机的土地资源节约利用模拟 杨青生1,2 (1 广东商学院资源环境学院,广州510230;2 中山大学地理科学与规划学院,广州510275) 摘要:为模拟节约土地资源的城市可持续发展形态,以珠江三角洲城市快速发展的东莞市为 例,运用元胞自动机(C A )、地理信息系统(G IS)和遥感(RS)从历史数据中建立城市空间扩展的 C A,将土地资源节约利用程度与城市用地空间聚集程度相结合,在评价城市用地空间聚集程度 的基础上,通过不断增加离市中心距离权重和离公路距离权重,调整CA 的参数,模拟节约土地 资源,城市用地在空间上紧凑布局的城市形态,并以调整参数的模型(离市中心距离权重为 -0 006,离公路权重为-0 024)模拟结果为基础,分析了实现城市用地空间上紧凑发展,土地 资源节约利用的政策:到2010年,东莞市离市中心27k m 范围内的适宜地区可规定为鼓励城市 发展区,27~34k m 范围内的适宜地区可规定为限制性城市发展区,其它地区为非城市发展区。 关 键 词:土地资源;节约利用;紧凑;元胞自动机 中图分类号:F301 24;P208 文献标识码:A 文章编号:1000-3037(2009)05-0753-10 1 引言 元胞自动机(C ellular Auto m ata ,简称CA )具有强大的空间运算能力,可以有效地模拟复杂的动态系统。近年来,CA 已被越来越多地运用在城市模拟中,取得了许多有意义的研究成果[1~3]。CA 可以模拟虚拟城市,验证城市发展的相关理论,也可以模拟真实城市的发展, 如W u 等模拟了广州市的城市扩展 [4];黎夏和叶嘉安模拟了东莞市的城市扩张[5]。同时,用CA 可以模拟未来的城市规划景观,如黎夏等模拟了珠江三角洲地区城市不同发展条件下的规划景观[6,7]。这些研究表明,C A 能模拟出与实际城市非常接近的特征,可以由此预测未来城市的发展及土地利用变化,为城市和土地利用规划提供决策依据。 CA 的特点是通过一些简单的局部转换规则,模拟出全局的、复杂的空间模式。为了模拟城市,除了运用CA 的局部转换规则外,还要在转换规则中引入影响城市扩展的区域变量和全局变量。转换规则中的这些变量对应着很多参数,这些参数值反映了不同变量对模型的 贡献 程度。研究表明,这些参数值对模拟的结果影响很大。目前,C A 主要通过多准则判断(MCE ) [8]、层次分析法(AH P)[9]和主成分分析[10]、自适应模型[11]、人工神经网络模型 [5]、决策树[12]等方法确定模型的参数值。笔者也采用粗集[13]、支持向量机[14]、贝叶斯分类[15]、空间动态转换规则[16]等方法研究了非线性、动态转换规则模拟城市发展。目前,采用CA 模拟虚拟城市系统和真实城市系统已经非常成熟,模型的精度也越来越高,而模拟可

基于元胞自动机模型的沙堆稳定模型建立

基于元胞自动机模型的沙堆稳定模型建立 摘要: 世界上任何一个有休闲海滩的地方,似乎都有人在海边建沙堡。不可避免地,海浪的流入和涨潮侵蚀了沙堡。然而,并非所有沙坑对波浪和潮汐的反应都是一 样的。本文旨在通过建立数学模型来建立更稳定的沙堡。 为了保持沙堡基础在波浪和潮汐作用下的稳定性,从结构力学和流体力学的 知识出发,有必要尽可能减轻水流对地基的影响,减少地基砂的损失,保证地基 的稳定。受鱼流线的启发,基座是由四分之一椭圆曲线和旋转180°的抛物线组成 的半旋转结构。建立了半旋转体D0的最大半径、四分之一椭圆的半长轴LE、抛 物线的水平投影长度LR、地基的总长度L和冲击力与地基体积的比值之间的函数 关系。采用最优模型求解地基的最小冲击力与体积比D0= 0.22L,LE=0.63L,LR= 0.37 L,是最佳的三维砂土地基模型。 利用元胞自动机模拟砂土地基的形成过程,对砂地基模型进行优化,以两个 砂桩的塌陷间隔长度为指标,测量砂桩基础的稳定性;从而确定了雨作用下沙基 基础最稳定的三维形状。 关键词:流线结构、元胞自动机模型 一、问题分析 我们针对海浪和潮汐对沙堆基础的影响分析中,我们主要考虑了来自侧向的 水流冲击力对基础的影响,此时保持沙堆基础稳定性的一大主要因素是沙堆水平 方向上的粘接力,如果将沙堆基础视为一个整体,那么基础整体与沙滩的水平向 摩擦力保持了沙堆基础的稳定性。而雨水对于沙堆的作用力主要表现垂直方向上 的冲击力,如果将沙堆基础视为一个整体,那么沙滩对沙堆垂直向上方向的支持 力作为保持沙堆基础稳定性的主要因素。由受力结构分析,第一问所建立的模型 为流线型结构,对雨水垂直向下的的作用有一定缓解作用,但显然不是抵抗雨水 的最优结构。 我们对上述模型进行优化,假设沙堆基础受到每一滴雨水的性质相同,那么 基础结构仍为半旋体结构,为了方便分析我们对沙堆基础的侧面进行分析。 二、模型建立 我们这里使用元胞自动机对沙堆模型进行模拟,从上至下掉落的沙粒将使沙 堆不断堆积,当达到一定的临界高度后沙堆即发生崩塌,我们认为崩塌后的沙堆 基础本身是一个比较稳定的结构,而两次崩塌之间的时间间隔的长度也就代表了 沙堆基础的稳定型结构。 假设元胞个体的堆积和崩塌的最微小的运动都发生在一个 4×4 的单元块内,每次将一个 4×4 的元胞块做统一处理。这个小单元的划分方式是:在每个周期,单元 区域分别向右和向下移动一格,在所有周期中循环这一过程,得到两次崩塌时间 间隔最长的模型。 我们假设雨水的性质都是相同的,因此抵抗雨水的最优沙基模型应为上述最稳定 模型绕中心竖轴旋转过后所形成的三维图形。 三、模型分析: 利用元胞自动机模拟砂堡基础的形成过程,计算两个坍塌时间,确定最稳定 的砂基模型。根据以上分析,我们将该模式的优缺点总结如下: 优点:根据相关公式和规律对问题进行了仿真分析,证明了模型的有效性;利用MATLAB软件对砂桩模型进行仿真,生动地展示了砂桩的形成过程;模型通过合

基于元胞自动机模型的行人排队行为模拟

第9卷第3期2009年6月 交通运输系统工程与信息 Journa l of T ransporta ti on Syste m s Eng i neering and Infor m ation T echno logy V o l 9N o 3 June 2009 文章编号:1009 6744(2009)03 0140 06 系统工程理论与方法 基于元胞自动机模型的行人排队行为模拟 廖明军1,2,孙 剑*2,王凯英1 (1.北华大学交通建筑工程学院,吉林132013;2.同济大学交通运输工程学院,上海201804) 摘要: 排队行为模型是常态下行人交通仿真系统模型的基础.本文利用排队论、有限 状态自动机原理以及元胞自动机模型对排队系统进行建模.排队行为模型以邻居方向 与目标方向间的修正夹角作为主要因子构造了元胞自动机模型的转移概念率函数.利 用C#对行人排队行为模型进行实现,并构造了两个不同数量的售票服务台的仿真场 景.从仿真动画来看,该模型逼真地模拟行人的排队活动;从不同场景的队长与时间关 系曲线可以看出,增加一个售票服务台明显可以减少队列长度,排队系统性能得到改 善.由此说明该模型具有模拟行人排队行为的能力. 关键词: 行人仿真;排队行为;元胞自动机模型;修正夹角 中图分类号: U491文献标志码: A Si m ulation of Queui ng Behavi or Based on Cellular Auto m ataM odel LI A O M i n g jun1,2,SUN Jian2,WANG K ai ying1 (1.T ra ffic and Construction Eng i neeri ng Co ll ege of Be i hua U nivers it y,Jili n132013,Ch i na; 2.Schoo l o f T ransportation Eng i nee ri ng,T ong jiU n i versity,Shangha i201804,Ch i na) A bstrac t: Q ueu i ng behav ior m ode l i s the basis o f pedestrian tra ffic si m u lati on syste m i n no r m al situati on. T he pape r mode l s queue syste m usi ng queu i ng theo ry,finite sta te m achi ne princi p le,and ce ll u lar au t om ata m ode.l The queuing behav ior mode l takesm od ifi ed i nc l uded ang le bet ween goa l directi on and ne i ghbor d i rec ti on as t he m a i n factors o f transiti on probab ili ty function.Then the queu i ng behav i or m ode l i s i m ple m ented w it h object or i ented prog ra m l anguag e C#.Two si m u l a ti on scenar i os are establi shed w it h different amoun t of ti cket sa l es w i ndow.The an i m a ti on of si m ulati on s how s t hat the queui ng m ode l effecti ve l y si m ulates queue ac ti v iti es.F ro m the re lati onship be t w een queue leng t h and ti m e,i t can be found tha t t he l eng th of queue can be decrease by addi ng ticket sa l es po i nt,and t he pe rf o r m ance o f queue syste m can a lso be i m proved,w hich de m onstrates that the m odel can be used to si m u l a te the pedestr i an queu i ng behav i o r. K ey word s: pedestrian s i m u l a tion;queu i ng behav i o r;ce ll u l a r auto m a t on mode;l m odifi ed i ncluded ang le CLC nu m ber: U491Docum en t code: A 收稿日期:2008 10 09 修回日期:2009 02 11 录用日期:2009 03 31 基金项目:同济大学青年优秀人才培养行动计划(2007K J027);上海市自然科学基金(07ZR14120);吉林教育厅 十一五规划重点项目(2007-122). 作者简介:廖明军(1974-),男,湖南邵东人,博士生. *通讯作者:sun jian@126.co m

(完整版)元胞自动机-沙堆模型代码

function []=testCA(n) z = zeros(n,n); cells = z; cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1; imh = image(cat(3,cells,z,z)); set(imh, 'erasemode', 'none') axis equal axis tight %?÷oˉêy2?êy nx=52; %must be divisible by 4 ny=100; Pbridge = .05; z=zeros(nx,ny); o=ones(nx,ny); sand = z; sandNew = z; gnd = z ; gnd(1:nx,ny-3)=1 ;% the ground line gnd(nx/4:nx/2+4,ny-15)=1; %the hole line gnd(nx/2+6:nx,ny-15)=1; %the hole line gnd(nx/4, ny-15:ny) = 1; %side line gnd(3*nx/4, 1:ny) = 1 ; %?÷oˉêy for i=1:1000 p=mod(i,2); %margolis neighborhood sand(nx/2,ny/2) = 1; %add a grain at the top %upper left cell update xind = [1+p:2:nx-2+p]; yind = [1+p:2:ny-2+p]; %randomize the flow -- 10% of the time vary = rand(nx,ny)< .9 ; vary1 = 1-vary; sandNew(xind,yind) = ... gnd(xind,yind).*sand(xind,yind) + ... (1-gnd(xind,yind)).*sand(xind,yind).*sand(xind,yind+1) .* ... (sand(xind+1,yind+1)+(1-sand(xind+1,yind+1)).*sand(xind+1,yind)); sandNew(xind+1,yind) = ... gnd(xind+1,yind).*sand(xind+1,yind) + ... (1-gnd(xind+1,yind)).*sand(xind+1,yind).*sand(xind+1,yind+1) .* ... (sand(xind,yind+1)+(1-sand(xind,yind+1)).*sand(xind,yind)); sandNew(xind,yind+1) = ... sand(xind,yind+1) + ... (1-sand(xind,yind+1)) .* ... ( sand(xind,yind).*(1-gnd(xind,yind)) + ... (1-sand(xind,yind)).*sand(xind+1,yind).*(1-gnd(xind+1,yind)).*sand(xind +1,yind+1)); sandNew(xind+1,yind+1) = ... sand(xind+1,yind+1) + ... (1-sand(xind+1,yind+1)) .* ... ( sand(xind+1,yind).*(1-gnd(xind+1,yind)) + ...

相关文档
最新文档