关键词:蒙特卡洛方法;公共设施;排队问题
一、背景介绍
蒙特卡洛方法,也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。
可以归纳为:所谓蒙特卡罗模拟即使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
以求圆的面积为例,简述蒙特卡洛方法的工作流程。如何在不使用圆的面积公式的条件下,求出圆的面积?利用蒙特卡罗模拟的指导思想,可以先在图示的正方形范围内随机生成大量的点,那么圆形面积/正方形面积 = 圓形区域内部的点数/正方形区域内部的总点数。
这个主要用到了numpy模块中的np.random.uniform()函数来生成均匀分布的随机数。生成结束之后,解题思路如下:
1.numpy模块中的np.random.uniform()函数来生成均匀分布的随机数对(一对数代表一个点的坐标),要求生成的随机数坐标范围在正方形范围内;
2.计算生成的点到原点的距离,如果距离小于或等于圆的半径,则归入圆内点;
3.统计圆内点的总数和生成的点的总数,即可根据前面的公式计算出圆的近似面积。
二、排队问题分析
在公共场合常会遇到排队问题,排队购物、排队上厕所之类,对于公共设施的规划人员来说,公共设施的排队时间是一个需要特别注意的问题,下面将以电影院厕所排队为例,进行公共设施承载能力的模拟。
假设:
1. 两场电影结束时间相隔较长,互不影响;
2. 每场电影结束之后会有20个人想上厕所;
3. 这20个人会在0到10分钟之内全部到达厕所;
4. 每个人上厕所时间在1-3分钟之间(时间可以根据实际情况调整)。
首先模拟最简单的情况,也就是厕所只有一个位置,不考虑两人共用的情况则每人必须等上一人使用完毕方可进行。
三、实现过程
代码也十分简单,首先要随机生成到达时间(到达时间需要进行一下排序,方可确定排队的先后顺序)和上厕所耗时:


四、结论
从模拟实验的结果可以看到,这种方法可以方便地展示不同情形下的公共设施使用情况,为设施规划提供有力的参考。
作者简介:
郭卡,1990.05 女 汉族 安徽合肥人,安徽外国语学院,信息技术与教学研究部专职教师,研究方向:数据挖掘与分析。


最新评论