基于蒙特卡洛模型的排队问题求解

您所在的位置:网站首页 银行每天的工作时间 基于蒙特卡洛模型的排队问题求解

基于蒙特卡洛模型的排队问题求解

2024-06-18 23:10| 来源: 网络整理| 查看: 265

基于蒙特卡洛模型的排队问题求解 摘要

        排队问题在在银行服务过程中十分常见,本文在顾客到达间隔时间和服务时间的分布已知条件下,在排队论的基础上通过蒙特卡洛方法对每日银行接待顾客数量和顾客平均等待时间进行模拟,一次循环求解出接待客户数量为45个,每个客户平均等待时间为21.0281分钟,在100个工作日内,银行每日平均服务的客户人数为42.976个,每日客户的平均等待时间为29.0291分钟。

一、问题重述

        假设某银行工作时间只有一个服务窗口,工作人员只能逐个的接待顾客。当来的顾客较多时,一部分顾客就需要排队等待。

        假设: 1) 顾客到来的间隔时间服从参数为0.1的指数分布   2) 每个顾客的服务时间服从均值为10,方差为4的正态分布(单位为分钟,若服务时间小于1分钟,则按1分钟计算)   3)排队按先到先服务的规则,且不限制队伍的长度,每天工作时长为8小时。

        试回答下面的问题: 1) 模拟一个工作日,在这个工作日共接待了多少客户,客户平均等待的时间为多少?    2)模拟100个工作日,计算出平均每日接待客户的个数以及每日客户的平均等待时长。

二、问题分析

        问题一要求我们根据每个顾客到来的间隔时间和每个顾客的服务时间的概率分布来估算一天内该银行所接待的客户数量和客户的平均等待时间。根据排队论的知识,可以用以下示意图对问题进行解释:

图1  顾客排队示意图

c_i为第i个客户到达的时间,b_i为第i个客户开始服务的时间,e_i为第i个客户服务结束的时间。其中第i-1个客户和第i个客户到达的间隔时间服从参数为0.1的指数分布x_i \sim E(0.1),第i个客户的服务持续时间服从均值为10,方差为4的正态分布y_i\sim N(10,4))

        图中第一个顾客在c_1时刻到达,由于其前面没有顾客,所以在b_1=c_1时刻开始接受服务,并在e_1时刻结束服务;接着第二名顾客在c_2时刻到达,由于第一名顾客的结束服务时间早于第二名顾客的到达时间,所以第二名顾客到达后便可立即开始接受服务,并在e_2时刻结束服务;第三名顾客的到达时间c_3要早于第二名顾客的结束时间,所以第三名顾客需要等待到第二名顾客结束服务后才能开始接受服务,即b_3=e_2,并在e_3时刻结束服务;在第四名客户接受服务时,由于其结束服务时间e_4要晚于第五名顾客和第六名顾客的到达时间c_5,c_6,所以这两名顾客需要同时等待第四名顾客结束服务,然后第五名顾客开始接受服务,第六名顾客继续等待在第五名顾客结束服务后再开始接受服务。

        在结束时刻到达时,统计所有已经接受服务的顾客数量,便可求出在该工作日内共接待了多少名顾客;将所有顾客的等待时间求和再除以顾客数量,便求得顾客的平均等待时间。

        针对问题二,用问题一的求解方法重复循环100次,再将这一百次得到的结果求取平均值,便可得到平均每日接待顾客的个数和每个客户的平均等待时间。

三、模型的建立与求解

        根据上文所做的分析,第i名顾客的到达时间c_i、开始服务时间b_i、结束服务时间e_i、到达间隔时间x_i和服务持续时间y_i之间存在如下的函数关系:

\begin{cases} c_i=c_{i-1}+x_i & \text{ Initial value } c_0=0 \\ e_i=b_i+y_i & \text{ Initial value } e_0=0 \\ b_i=max(c_i,e_{i-1}) & \text{ Initial value } b_1=c_1 \end{cases}

i个客户到达时间等于第i-1个客户到达时间加到达间隔时间x_i,第i个客户结束服务时间等于该客户开始服务时间加服务持续时间y_i,第i个客户开始服务时间取决于该客户到达时间和上一个客户服务结束时间的最大值。同时我们假设在计时刚开始时有第0位客户,到达时间c_0=0,开始服务时间b_0=0,服务结束时间e_0=0。 

       根据以上关系可用蒙特卡洛方法对其进行模拟,在MATLAB中用exprnd(10)随机生成顾客到来的间隔时间,用normrnd(10,2)随机生成每个客户的等待时间,将这两个随机变量代入上文的迭代式中,不断循环直至总时间到达480分钟,可求得该次循环所得的接待客户数量为45个,每个客户平均等待时间为21.0281分钟。

        将上述步骤重复100次并取平均值,得到在100个工作日中,银行每日平均服务的客户人数为42.976个,每日客户的平均等待时间为29.0291分钟。

四、模型的评价

       蒙特卡洛方法适用于无法通过数学计算求得解析解的情况,在可以求得精确解的情况下,使用蒙特卡洛方法便不再适宜。例如本文中的接待客户数量和平均等待时间都可以通过概率论的方法求得精确值,如果通过蒙特卡洛方法求估计值便会降低文章水平。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3