动态模拟银行顾客在一家有n>=2个窗口的银行的到达和离开情况。通过计算每位顾客的平均等待时间及每一窗口处于“繁忙”状态的百分比和银行所有窗口处于“繁忙”状态的百分比,来测试银行的服务效率。实现中,可以用时间代表银行活动的对象,用事件驱动来模拟这些活动,并以概率(随机数发生器)来描述预期的客户到达时间间隔和银行职员为一个顾客服务所需的时间。
在实验中,可改变参数(如银行窗口数、客户到达率、服务时间等),测试银行的服务效率,直到模拟结果到达实验者要求。要求在各种情况下,模拟测试都能得到合理的运行结果。
银行模拟的关键部分为客户时间,以及到达和离开事件。刚达到的顾客事件通过随机数驱动下一个顾客的到达事件,已到达的顾客通过随机数产生服务时间,系统选择最空闲的窗口为其服务,然后生成离开事件。所有事件都被加上时间戳放到优先队列中,队列中优先级最高的事件就是时间戳最早的事件。
1