b.行人间的排斥力。该力特点是当个行人间距超出一点范围时,排斥力为0;当两行人间距在一定值以下时,存在与间距成反比关系的排斥力。
c.行人与墙壁等建筑设施的排斥力。该力与行人间排斥力特点相似,只是在一定距离内,反比关系式的参数不同。
行人每个时钟推进后都会计算一次合力,进而更改行人的速度矢量属性。 3.3. 确定仿真算法 3.3.1. 仿真中的随机变量
在建立了仿真模型后,我们需要确定仿真中随机变量的产生方式。在北京西站离散事件系统仿真中,需要产生的随机变量有:旅客的到达数,服务窗口服务时间,行人间隔。 3.3.1.1. 旅客到达数
对于旅客的到达数,通常的方法是依据测的数据得到旅客到达间隔服从什么分布以及这些分布的参数。然而在实际情况中,这是极为苛刻,甚至不可能的。首先,由于旅客进入大厅后行为不一定是去窗口买票而有可能是办理临时身份证或去服务台咨询等,因此我们不能把在出入口测到的数据作为行人到达数据。我们只能通过测量行人到达部分队列时的数据来估算整个大厅行人到达的数据。然而假如观测每条队列的行人到达间隔,那么我们一个观测员只能观测一个队列。而我们只有4位观测人员。基于本课题的条件限制,我们提出了一种通过记录部分队列30内行人到达人数的方法,估测整个大厅行人到达情况。
具体方法是,4个观测人员两人观测左厅,两人观测右厅。每个人可以同时观测到3条队列,不同观测员间所观测的三条队列不能重叠。所观测的三条队列是从各自所在大厅的总队列中随机抽取的三条连续队列。观测数据表如图6所示;
具体观测方法是每当有一个行人到达观测3条队列内的某条队列时,观测员在对应的观测数据表的与观测队列所对应的列中画正
图6 观测数据表
字,每隔30秒钟就换一行重新画正字。这样观测结束后统计所画正字就能反映
21
出30秒内行人到达人数。每侧大厅在同一30秒内,我们能够观测6条队列,而通常每侧大厅开窗口数是10条左右。我们通过随即抽取6条队列,以他们到达人数的均值作为样本,来估计10条左右队列的总体的到达人数的均值是可以的。
我们总共观测了5天,但其中有一天售票大厅窗口数变换频繁无法记录准确的开闭窗口数。故那天的数据属于无效数据。其他四天中,每天观测时间是上午9点至下午5点。其中有两天是每小时随机抽取6个5分钟进行观测,总共得到480组数据;而另外两天是每小时随机抽取4个5分钟,总共的到320组数据,累计的到800组数据。用着800组数据组成对应8个小时的8个不同的经验分布,行人到达数的随机变量依据该经验分布产生。左右两大厅到达数据时间序列图如图7、8所示
图7
图8
22
3.3.1.2. 服务时间
抽样观测通常都需要有足够的样本量,但样本量如果过大则过于费时费力。因此科学的确定观测次数十分重要。
我们做了一次预测量用以确定测量服务时间的次数。预测量总共观测15次,服务时间分别为
32s,28s,48s,32s,45s,23s,27s,43s,23s,50s,48s,37s,24s,33s,49s. 采用d2值法确定测量次数;欲将误差控制在5%,可靠度为95% 根据数据中最大服务时间为50s,最小服务时间为23s算出级差R=27 依据观测预次数为15次,查表得d2=3.472
15依据观测数据得到i?1?X?5422i
??40Rn由公式n'??n??d2?Xi?i?1??? ???2得到最佳观测次数约为75次,但由于服务时间随机性波动较大,因此我们把观测次数定位240次。分不同的4天记录了240位旅客的服务时间。数据如表1所示;
表格 1 服务时间原始数据
时段1 旅客1 旅客2 旅客3 旅客4 旅客5 旅客6 旅客7 旅客8 旅客9 时段2 旅客1 旅客2 窗口1 窗口2 窗口3 窗口4 窗口5 窗口6 窗口7 窗口8 49 71 33 16 41 55 27 14 13 19 55 25 32 34 41 34 44 43 43 15 47 45 22 33 45 56 24 34 55 34 28 35 45 32 22 56 32 42 34 45 43 44 16 85 88 15 43 53 24 37 31 36 76 22 55 62 72 34 59 6 23 67 78 35 86 37 20 33 31 13 34 40 108 49 36 41 58 88 46 34 55 19 24 13 44 68 49 22 41 58 88 37 24 旅客10 27 2 25 窗口1 窗口2 窗口3 窗口4 窗口5 窗口6 窗口7 窗口8 23
旅客3 旅客4 旅客5 旅客6 旅客7 旅客8 旅客9 时段3 旅客1 旅客2 旅客3 旅客4 旅客5 旅客6 旅客7 旅客8 旅客9 41 19 36 32 41 18 67 63 35 44 56 31 32 27 18 32 34 33 67 35 23 20 104 36 52 31 45 75 56 35 41 29 27 31 25 22 56 117 88 46 34 82 15 32 35 25 44 45 33 34 41 49 23 33 41 23 16 62 2 27 32 23 95 33 41 25 25 31 45 111 28 48 32 45 23 27 43 23 72 65 33 85 42 23 27 43 27 4 28 45 75 19 36 32 35 42 32 55 62 45 27 48 27 29 34 35 23 20 48 32 25 31 36 76 49 13 19 32 3 53 51 54 27 43 23 72 20 34 33 41 46 41 58 旅客10 68 59 6 112 41 46 36 13 54 86 窗口1 窗口2 窗口3 窗口4 窗口5 窗口6 窗口7 窗口8 旅客10 22 为了是降低离散事件系统仿真的固有随机性,我们对原始数据进行处理。 处理的办法是利用拉伊达准则法(即3?标准)判定并剔除异常值。 具体办法是:算出数据均值、标准差。凡是在均值加减3个标准差区间以为的数据均为高异常值需要剔除。
xx???40.75n样本均值为:
nii?1(x?x)s???20.7n?1标准差为:
n2ii?1得到有效数据方位是(μ-3?,μ+3?),即(-22,103),又由于服务时间大于零,故有效数据范围应该是(0,103)。剔除104、108、112、114、117五个高异常值。有效测量样本量为235个。剔除高异常值后,数据的点图如图9所示;
24
图9 服务时间点图
依据此数据,得到服务时间的经验分布,模型中服务时间的随机变量依据该经验分布产生。 3.3.1.3. 行人间隔
所谓行人间隔即某位顾客与前一位顾客的距离加上这位顾客的胸厚。它反映出的是实际队列中行人的疏密。在模型中它是计算队列长度状态的重要随机变量。
我们通过观测记录队列中从等候窗口到某行柱子这段空间中的旅客的人数,以及窗口到柱子的距离,得到80组不同队列的行人间隔的平均数。
表格 2 行人间隔
行人间隔 0.6 第一组数据 0.7 0.8 0.9 1 0.6 第二组数据 0.7 0.8 0.9 出现次数 1 8 12 15 4 2 9 7 20 出现频率 2.50% 20.00% 30.00% 37.50% 10.00% 5.00% 22.50% 17.50% 50.00% 25