运筹学实验8、用EXCEL进行排队问题仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验八、基于Excel的排队问题仿真

排队问题常常连续地或并行地发生(例如在装配线和工作车间),通常无法用建立数学模型的方法解决。然而,排队问题通常容易在计算机上进行仿真。下面我们通过一个两阶段装配线的例子阐述如何借助于Excel建立一个排队问题的仿真模型。

一、实验目的

1、掌握如何用Excel建立排队问题仿真模型;

2、读懂Excel输出的运算结果,并用于指导实践。

二、实验内容

两阶段装配线问题

一条装配线所组装的产品体积可能很大,例如:冰箱、空调机、汽车、电视机或家具、图1表示的是一条装配线上的两个工作站。

产品的体积是装配线分析和设计所要考虑的一个重要因素,因为每个工作站上所能存放的产品数量将会影响工人的工作。如果产品体积很大,那么相邻的工作站存在着相互依赖的关系。如图1所示,鲍博和雷在一个两阶段装配线上工作,鲍博在工作站1上装配完的产品传递给工作站2上的雷,雷再进行加工。如果两个工作站相连,中间没有存入半成品的地方,那么鲍博如果干得慢,雷就会被迫等待;相反,如果鲍博和干得快(或者说雷完成工作比鲍博用时长),那么鲍博就得等雷。

在这个仿真问题中,我们假设鲍博是组装线上的第一个工人,他能够在任何时候拿到需组装的半成品进行工作。那么,我们把分析重点放在鲍博与雷彼此之间的相互影响上。

1、研究的目标:关于这条装配线,我们希望能通过研究解决一些问题。下面是我们列出的部分待解决的问题:

○每个工人的平均完工时间是多少?

○这条组装线的生产率是多少?

○鲍博等待雷的时间是多少?

○雷等待鲍博的时间是多少?

○如果两个工作站中间的空间加大,可以存储半成品,从而增加了工人的独立性,那么这对于生产率、等待时间等问题会有什么影响?

2、数据的采集:进行系统仿真,我们需要鲍博和雷的装配时间数据。要收集这些数据,一种方法就是将总装配时间分割成小段时间,在每段时间对工人进行单独观测。对这些数据进行简单的汇总和分析,我们可以得到非常有用的直方图。

表1显示的是观测鲍博和雷两人装配时间后得到的数据收集表格。为了简化操作过程,装配时间以10秒为区间进行划分。对鲍博的工作我们进行了100次观测,而对雷的观测我们只进行了50次。二者的观测次数可以不同,但观测次数越多,时间间隔的划分越细,则研究的准确性越高。然而,时间间隔越小,观测次数越多,需要投入的时间和精力也就越多。

表2中包含了按照实际观测数据的比率进行分配的随机数区间。例如,鲍博在100次操作中有4次在10秒钟内完成。因此,如果我们用100个数进行分配,那么我们应该分配4个数与10秒钟相对应。这4个数可以是任意的,例如,42、18、12和93,但是,这会使查找工作变得非常繁琐,所以我们就分配连续数,比如00、01、02和03。

我们得到了50个对雷的观测的值。我们可用两种方法来分配随机数。第一种方法是,就用50个数(如00~49)来进行分配,并在仿真时忽略掉所有超过49的数。然而,这是一种浪费,我们将丢弃随机数列中50%的数。另一种方法是将频率次数加倍。例如,我们不是将00~

03分配给50次观测中装配时间为10秒的4次观测,而是将00~07分配给100次观测中的8次观测,这样的话,观测次数加倍了但比例不变。

3、手工仿真:表3显示的是对鲍博和雷装配10件产品的手工仿真结果。随机数来自于随机数表,从二位数的第一列开始向下取数。

表3 鲍博和雷——两阶段性装配线的仿真

假设我们从00时间开始,接下来以秒来计算。第一个随机数56对应于鲍博第一个装配工作时间50秒。这个工件传送给雷,他的开始时间是第50秒。接下来的随机数是83,根据表2,雷用70秒完成了工作。同时,鲍博开始装配下一件产品,从第50秒开始用时50秒(随机数55),在第100秒完成。然而,鲍博无法开始第三件产品的工作,因为雷在第120秒才干完头一件活儿。因此,鲍博等了20秒(如果鲍博与雷的工作站之间有存储空间,鲍博干完的工件可以移出工作站,在第100秒鲍博就可以干下一个活儿)。表里剩下的数据可以用同样的方法来计算:得到一个随机数,找到对应的加工时间,注意等待的时间(如果有的话),并计算完工时间。我们可以看出,由于鲍博与雷之间没有存储空间,两位工人的等待时间都很长。现在,我们可以回答一些问题,并且可以对系统进行一些评述。例如:

每个工作的平均加工时间为60秒(总共用时为600秒,平均分配给雷加工的10个工件)。

鲍博的利用率为470/530=88.7%

雷的利用率为430/550=78.2%(除去开始的等待时间50秒)

鲍博的平均加工时间为:470/10=47秒

雷的平均加工时间为:430/10=43秒

4、运用Excel进行仿真

第一步,运用RAND()函数产生随机数

任何仿真方法的一个基本步骤就是,生成与分布函数相关的随机变量,在本例中分布函数是关于鲍博和雷加工时间的分布。

RANDBETWEEN()函数可以生成任意指定数值之间的随机数值。在本例中,我们需要产生的是0~99的随机数,因此我们可以用公式“= RANDBETWEEN(0,99)”来生成0~99的随机数。选定A2︰A101输入0~99共100个随机数,在B2︰B101输入各随机数对应的加工时间,并将区间A2︰B101命名为随机数区间。

第二步,运用查找函数VLOOKUP建立随机数与加工时间之间的关系

图1综述了模拟鲍博和雷完成800个工件产品后的结果。将这些数据与我们手工模拟的10个工件数据相比,手工模拟的结果还不是太糟。鲍博的平均工作时间为46秒,这非常接近于长期运行时你所期望的平均值。鲍博工作时间的期望值是(10×4+20×6+30×10+…)

/100=45.9秒。雷的工作时间的期望值是(10×4+20×5+30×6+…)/50=46.4秒。

图1 鲍博和雷——两阶段性装配线的Excel仿真

相关文档
最新文档