1案例九路边紧急电话1.1介绍现在有一家专门提供紧急情况道路服务的公司,经理想要改善他们的呼叫中心的服务。目前提供这种服务的地方,被划分为四个区域,每个区域都有自己的呼叫中心。经理想要做一个调查,在保持现有高水准服务的前提下,是否可以合并四个呼叫中心,或者降低不同区域间的线路成本。因为在实践中测试需要很长的时间以及很高的成本,所以经理决定做一个模拟研究。1.2情况说明目前有东南西北四个区域,每个区域里都有一个呼叫中心。来自不同区域的来电会被分配到它们原先各自区域的呼叫中心,接受接线员的服务或者是等待在该呼叫中心的队列中。每个区域的呼叫中心都有自己的队列,来电也可以被分配到其他的区域。经理想要调查是否可以把四个呼叫中心合并为一个呼叫中心或者提高去往不同区域的电话线路的性能。可以用实验的方法来实现以上要求,首先要调查每个呼叫中心在一定数量的接线员下正常工作小时数,以及客户在等待接线员接电话时所用的时间,但是以这种方式找到最佳的人员配置可能需要较长的时间。这种测试情况下,如果接线员的数量太少,客户等待时间便会长的不可接受。然而改变员工的规模的成本很高,不合实际。如果要使电话线路提高性能,首先要实现这一点。但来电被分配到不同的区域,会增加成本。另外一个方法是赋予接线员的服务水平一个数学公式。但所做的这些公式推导假设在实践中往往得不到满足。为了解决这个方程解析,呼叫的(两个通话时间)到达间隔时间和服务时间(通话时间)都必须服从指数分布,然而在这个案例中并不符合。许多调查表明,劳动力管理系统通常在呼叫中心工作人员使用问题上,是以基本的排队模型为基础。因此,劳动力管理系统的输出通常是不准确的。仿真可以克服这些困难,因为它可以轻松地处理更真实的概率分布。此外,仿真模型可以方便地用来分析和比较各种操作问题,例如如不同的路线策略的影响等等。这位经理决定开始一个离散事件仿真项目。该项目的目的是确定哪几种方案是最符合成本效益的方法,并以此来设置未来呼叫中心的基础设施。要进行一个良好的模拟研究,必须作出一些选择。首先,管理者必须决定项目的目标是什么,并且要制定出能够判断项目目标是否达到的明确的标准。还应该有明确的不同备选方案的规划来进行测试。在此之后,必须收集和模型相关的信息。经理要优化的两个标准,即呼叫中心的服务水平以及运营商数目。下面有几项性能指标来定义服务水平:平均通话总时间(等待时间加上服务时间)电话在X秒内接通情况的比例(等待时间)平均队列长度平均排队等待时间在这个案例中,服务水平定义为有80%的电话在30秒内接通。有两个备选系统将用来仿真研究。第一个备选方案是,用三种策略对这四个不同的呼叫中心分别进行测试。第二个备选方案是设计一个中心呼叫中心,这个方案在策略4中有所描述。策略1(当前形势下,四个呼叫中心相互独立)在这种情况下,所有不同地区接收到的电话,都将被分配到它们各自地区的呼叫中心。四个区都有自己单独的队列。策略2(根据队列长度来分配,四个呼叫中心相互独立)在这种情况下,所有接收到的电话,都将被分配到最短等待队列的地区,或者被分配到有更多可用接线员的地区。策略3(呼叫中心队列太长时溢出,四个呼叫中心相互独立)在这种情况下,所有接收到的电话被分配到所属地区,但是当某个队列的长度接收到新的呼叫后,该呼叫将被分配到最短队列里去。策略4(一个虚拟的呼叫中心)在这种情况下,所有接收到的电话被放到一个队列,当四个地区的呼叫中心任意一个有空闲时,电话便会被分配到该地区去,而其他的来电仍然在队列中等待。请注意,最短队列和溢出策略可视为战略1和4之间的中间策略。有人认为战略4是最有效的,它将不同的呼叫中心合并到成为一个单一的大型的呼叫中心。当然,其他几种策略也需要考虑。对于呼叫中心,使用自己呼叫中心的接线员去接通该地区电话是可取的。这是由他们各自地区特点的以及文化差异造成的。此外,也必须考虑将来电转接到偏远地区呼叫中心的成本。在开始仿真之前,我们首先要收集有关系统运转情况的信息。客户在系统中等待的时间最主要取决于在每个地区的来电数量,以及占用在接线员处理来电的时间。现在我们测量出某代表性的一小时内,一个地区的来电数目,结果如表1.1所示。确定呼叫的持续时间是有点困难,这里我们不能忽略它,因为它也不会影响到其他战略的测试。一小时的代表性样本是从西区呼叫中心采样,下面是直方图:西区呼叫中心通话时间此数据的最佳拟合的概率分布为平均时长为120秒Gamma分布。结果总结如下表。呼叫中心每小时电话容量方差系数(CV)平均时间接线员数量南区901.41207西区1201.412010东区851.41203北区1001.41204表1.1平均通话时间的方差系数(CV)将对通话时间分布以及队列长度有比较大的影响。方差的二次系数定义为:CV2=(偏差/均值)2标准的指数分布的标准偏差相当于已知CV2=1。Gamma分布的有两个参数,一个是平均值和另一个由方差系数而定。当CV的值为1时,Gamma分布简化为指数分布。2ED中的模型描述该模型同时模拟了两个备选系统:四个独立的呼叫中心,以及案例中提到的一个中央呼叫中心。每一个来电将会被复制,这样它可以在两个系统上应用。对于案例中的四个不同的呼叫中心而言,可以做三种选择,来对应的前三个策略:(1)始终被转接到来电所属地区(2)被转接到呼叫中心的最短队列或最多空闲接线员处(3)如果自己的队列已经达到了一定的长度,来电被转接到最短队列的呼叫中心。模型中的呼叫到达间隔时间,假设为Gamma分布。所有来电被放置在名为“Allcallers”的队列中。为了能够比较在相同的到达情况下的两个备选系统,所有来电会被发送到名为“Copycallers”的原子中。在这里,呼叫者会被复制,其中一份发送到调度者(dispatcher),调度者将把来电放置到所选择策略的地区的一个队列中。另一份则直接从“Copycallers”原子发送到中央呼叫中心的队列中。在现实中原子“Allcallers”和“Copycallers”并不存在,但在模型中,这是有必要的,它可以使我们在具有相同的到来模式的情况下,模拟两种备选系统。在模型中,呼叫者在这两个原子之间移动,并不占用时间。在经过原子“QueuedistrictX”之后,呼叫者会被发送到服务器,并在服务器中实现真正的通话。通话结束后,呼叫者会通过“Completedinalternative1”或者“Completedinalternative2”离开系统。图2.1布局示意图2.1数据输入虽然可以分别编辑每个原子输入数据(通过双击原子),在这个模型中可以创建一个表来编辑的模型最重要的输入数据。双击原子“Inputdata”并选择选项“编辑表”。对于每一个可变区域:平均每小时来电数目及方差呼叫的平均持续时间及方差接线员的数量另外还可以选择将来电放置在不同地区队列中的策略。备选方案1(四个独立呼叫中心)有三种可能的策略。更改“inputDota”原子表格中Strategy内容,分别为1,2,3,代表三种策略(自己所在区域、最短队列、溢出):1.代表将呼叫者发送到他所属地区的队列之中2.代表将呼叫者发送到最短队列之中(最多可用接线员)3.代表溢出策略。呼叫者发送到自己的分区,但如果队列已经达到了一定的长度为n时,它们将被发送到最短队列的区内(或最多可用接线员)。在表中n的值也可以改变2.2仿真结果仿真的结果可以在原子“Result”中看到。双击原子“Result”,并选择选项“Edittable”来查看结果。从这个表中,我们可以找到详细的当前运行的统计资料。向右移动滚动条可以查看到所有列。备选方案1的结果可以从第2至第5行中找到。第6行可以看到这个方案的加权平均值(由呼叫者的数量决定)。在第7行人们可以看到备选方案2(一个中央呼叫中心)的结果。最重要的结果显示在第9到11行。当然,上表的结果只给出了一个单次运行的统计数据。为了通过仿真得到可靠的有关工作性能的数据,需要做几个独立运行实验。为此,可以通过Experimentation菜单中使用实验向导功能。该向导允许设置运行数量以及持续时间,预热时限,并指定一个或多个性能指标来衡量。该向导提供了一些标准性能,如队列的长度指标,但在这个案例中,各项性能指标在结果表中。绩效衡量的一个例子就是如上图中的第2行第8列,它代表南区呼叫中心“%30sec”的数据。欲了解更多有关实验向导的详细信息,可通过Help|Tutorials|ExperimentationEnvironment(PDF)来请参阅教程。3任务1)分析目前的形势(策略1),其中四个呼叫中心的各自独立工作。您如何看待目前的形势看?是否有足够的接线员?2)为满足目前的服务水平,每个区的呼叫中心必备多少个接线员?3)我们还可以定义其他服务水平。当要求每个呼叫者能够在平均20秒内接受服务,每个地区的呼叫中心需要多少接线员?4)现在调整在当前仿真中,来电呼叫仍可以被分配到其他地区的呼叫中心。调度员将呼叫发送至最短队列的呼叫中心(策略2),或者呼叫所属的呼叫中心队列达到一定长度时,被发送至另外的呼叫中心(策略3)。现在,需要多少接线员?你能解释一下吗?5)当四个呼叫中心合并起来,需要多少个接线员?所有来电被放进一个队列(策略4),并按照先入先出原则接受服务。解释你的结果。6)独立的研究已经表明,通话时间服从指数分布并符合现实。在前面的练习中,我们假设通话时间为Gamma分布并且方差系数(CV)为1.5。众所周知,在排队理论,方差系数可以对等待时间造成很大的影响力。研究仿真模型,假设通话持续时间的方差系数分别为0,0.5,1,1.5时,北方呼叫中心的平均等待时间的变化。解释结果。7)由于天气变坏,呼叫中心突然增加了25%以上的呼叫电话。分析两种备选方案(独立的呼叫中心和联合呼叫中心)等待时间的结果。其中接线员的数量用练习3和练习4的结果。8)对于这项任务,我们对仿真模型进行一些小的调整。在当前的模型编写下,调度员决定了哪个呼叫中心接受当前来电呼叫。而这个功能可以让服务器/呼叫中心来实现,这样,在通话结束后,该中心可以决定由哪个队列里接收一个新的呼叫。例如,自己所在的队列优先。要建立这样的呼叫中心需要有更多的输入通道,而队列则需要有更多的输出通道,已使得它们能够相互连接。变更模型,使得服务器服务器/中心能够实现上述功能,新来电采取自己所在区域客户优先的原则。现在需要多少个接线员?说明接线员数量不同的需求。4解决任务在每次实验中,我们让模型运行12小时,与5小时预热时间。我们需要50运行。我们使用实验向导,并从实验结果表中所采取的绩效指标。选择一个合适的预热时间,可以参考模型RoadSideCallCenterWarmUp.mod,其中包括一个表原子和一个图形原子,其中一个可以看到如何实现稳态平均收敛。要查看实验次数,可以从实验向导中的累积图里看到随着试验次数增长如何测量平均收敛。在实验运行预热期结束时,ED会自动复位内置的平均队列长度等统计资料。这并适用于定制统计,正如结果表中所示内容。因此,我们定义一个函数叫做Results_Reset,我们援引了实验向导中“Onendofwarmup”的触发器。要查看函数的定义,在原子编辑器(AtomEditor)中浏览结果表(Resultstable),并选择功能标签(Functionstab)。4.1任务1很显然,目前的服务水平,其中80%的客户应在30秒内应答,在北区服务中心(39%)和东区服务中心(15%)并不能够达到要求。在其他两区,南区服务中心(97%)和西区服务中心(99%),服务水平很容易满足。在这些地区,应该尽可能减少接线员聘用。4.2任务2我们设置不同的接线员数量进行重复实验,来寻找实现当前的服务水平为80%呼叫在30秒内被分配到一个接线员所需要的最小接线员数目。因此,我们从结果表(ResultTable)中选取第8列里的第2,3,4,5行的内容作为性能指标。第8列中显示的是在30秒内被接起的电话占所有来电的百分比。在表格的下面,你