以计算机模拟法解决中学洗手间排队问题初探
2019-07-09周婉芸於胜成刘焱锋
周婉芸 於胜成 刘焱锋
摘 要:虽然中学洗手间排队现象由来已久,但尚未得到充分关注。本文通过实地调查发现,无论是如厕时间还是如厕的人流分布都明显不符合随机分布。以SZSY高中为例,通过实际统计数据,利用计算机建模对如厕过程进行广泛深入模拟。结果表明,增加少量洗手间厕位可以极大改善洗手间如厕排队现状及减少排队时间。校园人数、性别比例与排队时间也存在接近线性的相关度。为解决中学洗手间排队问题,在资源有限的前提下,增加女生厕位(建立大厕所或增大女生男生厕位比例)的效果要远远好于减少人流量(多建几个洗手间)的效果。
关键词:计算机模拟 仿真排队
学校女洗手间排队的问题,引发了笔者对“男女厕所合适比例”以及解决女洗手间排队问题的好奇。笔者希望通过调查与分析,建立男女洗手间合理比例模型,有效解决校园女洗手间排队问题,促进中小学生健康状况的改善,并为广大中小学洗手间乃至公共场所基础设施建设提供参考。由于各种客观条件的限制,笔者的调查采取个案研究方法,以SZSY高中为例建立科学合理的计算机数学模型,并充分考虑该模型的可推广性和周延性,希望笔者的研究方法与模型能够应用于其他中小学乃至各种公共场所,为建设真正男女平等的社会做出实质性贡献。
一、如厕数据统计
笔者安排多人次对课间如厕情况进行了实际统计,各项数据统计的数量多达500余项。根据统计发现:学生如厕所用时间及到达洗手间的间隔时间分布非常复杂,不是简单的正态分布。课间男生如厕时蹲坑使用频率很小(每个课间只有1~2次),没有统计意义。而小便时间很短,基本不会产生排队问题,故我们不做研究。而学生入厕的时间间隔分布函数是一个与时间相关的函数,即课间不同时段前往洗手间的人数是不同的。可见,如厕问题的初始人流分布十分复杂,需要借助更多更能解决复杂问题的数学模型。
二、计算机仿真模拟数学模型
笔者利用计算机来仿真模拟学生课间成千上万次如厕的具体情况,并对多次模拟的数据进行平均处理。以女生为例,我们模型主要由四个变量数组构成(f_time[n],f_interval[n],f_in[n],f_leave[n])。f_time[n]是第n个女生在蹲厕内的时间,f_interval[n]是第n个女生和第n-1个女生到达厕所的时间差,f_in[n]是第n个女生进入厕所的时间,f_leave[n]是第n个女生离开厕所的时间,前两个变量f_time[n],f_interval[n]是根据实际统计结果由计算机模拟随机产生的,后两个f_in[n],f_leave[n]是通过前两个由计算机计算产生的。
对于f_time,笔者将统计到的部分数据绘制成图表,发现并不是我们预期中的正态分布。然后是f_interval,由于学校课间10分钟休息时间的特殊性,根据统计结果,笔者发现个人到达厕所的时间间隔非常复杂,每个人到达厕所的时间间隔并不符合正态分布。因此进行模拟时,可以利用实测数据的权重进行随机模拟。第三个变量是f_in,即女生入厕的时刻,也就是指到达厕所大门的时刻,它的具体运算如下:在小课间10分钟的情况下,f_in[1]=f_interval[1] 第一个人到达厕所的时刻即为第一个时间间隔。f_in[i]=f_in[i-1]+f_interval[i] 第i个人到达的时刻是第i-1个人到达的时刻与第i个时间间隔的和。若f_in[i]>10分钟,则模拟结束,不能在上课时间去厕所,但可以因如厕而迟到。对于第i个女生, 她的到达时间为f_in(i)=f_in(i-1)+f_interval(i)。第四个变量的运算有些复杂,设定女厕厕位数为f_num。当i<=f_num时,不需要排队。她离开时f_leave[i]=f_in[i]+f_time[i]。
当i>f_num时,有可能要产生排队。即将前面i-1个人离开厕所的时间进行从大到小的排序。如果最大的f_num个数(计为数组Q),都大于f_in[i],既需要排队,也不需要排队。则当第i个人到达时,若其到达时间f_in[i]比last_leave=min(Q)小,说明第i个人需要等待直到last_leave,否则无需等待。
将所有女生排队时间记为集合P,对P进行从大到小的排序。取前10%的项目平均作为最大排队时间,取所有项目平均作为平均最长排队时间。将模拟50000次取平均值作为最后结果,则男生的如厕情况完全类似。
对于如厕排队情况的研究,笔者选择以实际统计数据为基础,利用计算机模拟如厕过程。进行大量模拟,取平均结果,以尽量提高模拟结果的准确性和真实性。为了得到尽可能科学客观的模拟结果,需要大量的模拟计算,所以笔者选择了计算效率较高的C语言进行编程。
三、模拟结果
(一)厕位数目对排队等待时间有明显的影响
由于个人去厕所的时间受很多因素影响,具有高度不确定性。根据实际统计结果发现,如厕人流的分布情况非常复杂。为了保证仿真模拟的准确,笔者研究了两种人流分布情况:一种是我们依据实地统计结果来进行仿真模拟;另一种是利用均匀分布来进行仿真模拟,即假定每两个相邻的人如厕时间间隔都保持一致,人们很均匀地前往厕所。在这种理想状态下,其他条件完全相同,则其排队时间应该最短。另外,根据调查问卷,影响排队体验最主要因素是最长的排队等待时间,而不是平均排队等待时间,因此笔者同时给出了平均排队等待时间和平均最长排队等待时间(排队时间最长的10%的平均)两组结果。对于平均排隊等待时间,不同如厕时间间隔的分布(人流分布)的模拟结果差别不大。而对平均最大排队等待时间,厕位数则有明显影响,但对变化趋势影响不大。当笔者把图1的纵轴改为对数坐标时,该四条线接近直线,可推断出厕位数和排队等待时间是一种接近指数函数的关系,即排队等候时间T=qa-kx x为厕位数。
图2为7个厕位的情况下的仿真模拟结果,由于如厕人流的分布情况对结果的影响不大或趋势一致,为此笔者只选择了人流均匀分布的情况进行仿真模拟。从图中可以看出,随着人流密度的增加,排队时长将有所增长,这种变化接近线性变化,其中最长排队时长的增速要明显高于平均排队时长。
我们把不同厕位数、人流量和平均排队等待时间绘制到一起得到三维图,依据此图,可以依据实际人流密度及希望的最长排队时间,找到合适的厕位数。
由于厕位數和排队时间的关系接近指数函数而人流密度和排队时间仅仅是接近线性函数的关系,为此笔者推测,在资源有限的情况下(可以提供的总厕位数),采取大厕所的方式应该对解决排队问题有明显帮助。为此,笔者进行了对比测试,根据模拟结果:假定课间有60名同学如厕,学校资源可以建立10个厕位,如果建2个洗手间,每个洗手间5个厕位,则平均等待时间为13秒,而最长(10%)平均等待时间则为44秒。而如果我们只建一个洗手间(有10个厕位),则如厕者平均等待时间就降到了6秒,而最长(10%)平均等待时间更是23.5秒。后者效果明显好于前者。
(二)男厕排队情况
笔者用完全相同的方法对男厕进行了模拟研究,结果表明,如果厕位数设置为5,基本可以满足每分钟0.5人的人流量,但当人流量达到每分钟1人时就会有排队现象,而当达到每分钟2人时就会有严重的排队现象。
四、结论
根据以上的模拟情况,基本可以得出如下结论:(1)现实生活中如厕人流分布十分复杂,不是简单的正态分布。(2)在人流密度一样的情况下,如厕的人流分布情况,即均匀分布与实际分布,对平均等待时间影响不大,但对最长等待时间具有较大的影响。最长等待时间要大于平均等待时间,并且排队时间越长,二者的差距越大。但二者的变化趋势是高度一致的。(3)如厕排队时间和厕所厕位数接近指数函数关系,增加厕位可以极大的改善排队情况。(4)如厕排队时间和如厕人流密度接近线性函数关系,减少人流密度可以一定程度上改善排队时间。(5)在资源有限的情况下,为了尽量减少排队时间,如果能够提供的总厕位数是一定的,应尽量建立多厕位的大厕所,而不是建立多间厕所。
参考文献:
[1]邓昶.常用计算机编程语言的分析和选用技巧探析[J].计算机光盘软件与应用,2014(5).
[2]乔林.高级编程技术[M].北京:清华大学出版社,2001.