Anylogic建模实例_第1页
Anylogic建模实例_第2页
Anylogic建模实例_第3页
Anylogic建模实例_第4页
Anylogic建模实例_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Call Center到达联络中心需要处理的有两种电话。电话的达到服从一个泊松分布,分布的到达率分别为ArrivalRate1和ArrivalRate2。对于每种电话都有一个队列,而且有些来电在经过一段服从指数分布的时间后会被放弃而离开队列,指数分布的期望分别是AbandonmentTime1和AbandonmentTime2。有两个代理组,第一个组被培训处理第一种电话,服务时间的期望是ServiceTime1;第二个组被培训来处理第二种电话,服务时间的期望是ServiceTime2。然而,这些代理也要被交叉培训以便第一组的成员也能处理第二种电话,服务时间的期望是ServiceTime12,第二组的成员也可以处理第一种电话,服务时间的期望是ServiceTime21。理所应当,交叉培训的代理在他们不擅长的岗位的绩效是相对较低的。安排电话的逻辑是可以多种多样的。在本模型中,当一个电话正在被处理时,如果有空闲的代理,它就被安排到相对应的代理上,否则就安排的旁边组的代理上,重复这个过程如果后者是空闲的。本模型的输出标准是两种电话的队长和服务水平。服务水平的概念指的是在20秒之内处理完毕的来电所占的比例。第一步:创建新模型(同模型一)第二步:建立流程逻辑模型1. 点击General,拖入12个Parameter,分别命名为ArrivalRate1、AbandonmentTime1、ServiceTime1、ServiceTime12、NAgents1、allowRouting12、ArrivalRate2、AbandonmentTime2、ServiceTime2、ServiceTime21、NAgents2和ServiceTimeDeviation。其中NAgents1和NAgents2在Type处选择int型,分别代表处理两种电话代理人数,allowRouting12在Type选择boolean型,用来判断第一种电话能否被第二种代理处理,其他则选择double型,代表服务时间,到达率等。该12个Parameter的default value分别为1、100、100、200、100、true、1、100、100、200、100、150。2. 点击General,拖入7个Plain Variable,分别命名为nOK1、nLate1、nAbandoned1、nAbandoned2、nLate2、nOK2、nRouted12,并全部选择int类型。3. 点击Enterprise Library,拖入两个Source,分别命名为source1和source2,代表两种电话的到达,如下图所示:4. 再从Enterprise Library中拖入两个Queue,分别命名为queue1和queue2,之后利用Presentation中的Polyline和Rounded Rectangle画出如下图的图形:5. 从Enterprise Library中拖入两个Enter,分别命名为enter1和enter2,再拖入两个Service,分别命名为service1和service2,之后拖入两个ResourcePool,分别命名为agents1和agents2,最后再在Enterprise Library中拖入一个Sink,并将其一一连接起来,如下图:第三步:设置流程逻辑模型参数1. 创建Java Class(步骤如Billing Department)。命名为Bill,其具体的代码如下:2. 点击General,从中拖入三个Function,分别命名为setCallParameters、callAnswered、serviceTime,分别用来设置不同call的参数、统计在20秒内处理完毕电话的数量、设置电话的服务时间。其中setCallParameters在Return type里面选择void,Function argument中写入两个参数:Call类型的call和int类型的type。Code里面写入:callAnswered的Return type选择void,Function arguments写入Call类型的call。在Code里面写入:serviceTime的Return type选择double,Function argument选择Call类型的call,int类型的agentType,Code中写入:3. 点击source1,在Entity class处写Call,Arrivals defined by选择Rate,Arrival rate填写ArrivalRate1,Entities per arrival填写1,New entity填写new Call(),On exit填写setCallParameters( entity, 1 ); 在source2处在以上各处分别填写ArrivalRate2、1、new Call()、setCallParameters( entity, 2 )。4. 点击queue1,在Entity class处写Call,Capacity选择Integer.MAX_VALUE,On enter填写routingLogic(),并勾中Enable exit on timeout,Timeout填写entity.abandonmentTime,On exit(timeout)填写nAbandoned1+; queue2的参数与queue1基本相同,只有在On exit(timeout)处填写nAbandoned2+。5. 点击service1,在Entity class出填写Call,Resource quantity填写1,Delay time写serviceTime( entity, 1 ),ResourcePool object为null,On enter delay填写callAnswered( entity );,On exit填写routingLogic();,Queue capacity为100。点击agents1,Resource units are选择Individual objects,Capacity defined选择Directly,Capacity填写NAgents1。service2与service1设置基本相同,在上述各处分别填写Call、1、serviceTime( entity, 2 )、null、callAnswered( entity );、routingLogic();、100。agents2与agents1设置基本相同,各处分别为Individual objects、Directly和NAgents26. 从General中拖入一个Function,命名为resetStats,返回类型选择void,Code中写入:7. 从Analysis拖入两个Histogram data,分别命名为histWait1和histWait2。二者设置相同,Number of intervals填写为20,Values range选择fixed,minimum为0,Maximum为100。第四步:建立安排逻辑1. 点击Actionchart,通过其下面的部件创建如下逻辑图:2. 设置参数。在idleAgents1处,Type选择int,Initial value为agents1.idle(),idleAgents2与idleAgents1类似,只不过在initial value处填写agents2.idle()。在第一个while循环处的条件是idleAgents1 0 & queue1.size() 0,在该循环里面的code为enter1.take( queue1.removeFirst() ); idleAgents1-;。第二个while循环处的条件是idleAgents2 0 & queue2.size() 0,里面的code为enter2.take( queue2.removeFirst() );idleAgents2-; 之后的Decision处的判断条件是allowRouting12。如果条件为true则进入第三个循环,条件为idleAgents2 0 & queue1.size() 0,循环里的Code为enter2.take( queue1.removeFirst() );idleAgents2-;nRouted12+;。最后进入返回。第五步:创建界面界面总体的布局截图如下:1. 选取另一块区域,点击Enterprise Library,从中有、拖入一个Clock,命名为clock,其Background color、Border color、Hour mark color、Text color、Hour and minute hand color、Second hand color分别为ghostWhite、steelBlue、lightSteelBlue、steelBlue、black、fireBrick。2. 在Controls中拖入八个Slider,其中四个控制第一类电话的参数,另外四个为控制第二类电话的参数。控制到达率的勾中Link to,填写ArrivalRate1,minimum value为0,Maximum value为3;控制代理数目的勾中Link to,填写NAgents1,minimum value为50,Maximum value为200;控制专类服务时间的勾中Link to,填写ServiceTime1,minimum value为30,Maximum value为300;控制非专类服务时间的勾中Link to,填写ServiceTime12,minimum value为30,Maximum value为300。另外四个Slider的参数与之前的四个相同,只是在Link to处分别填写ArrivalRate2、NAgents2、ServiceTime2、ServiceTime21。具体位置如下:3. 在Controls中拖入一个Check Box,勾中Link to,填写allowRouting12,Action中填写resetStats()。用来控制第二类代理能否处理第一类的电话。4. 在Controls中拖入一个Button,Action处填写resetStats()。5. 在Presentation中利用Polyline、Rectangle、line、Text等创建如上图所示界面。6. 在八个Slider上方的Arrival旁的123的Dynamic中的Text中填写format( ArrivalRate1 )和format( ArrivalRate2 ),Number旁的123的Dynamic中的Text中填写format( NAgents1 )和format( NAgents2 ),Service Time1旁的123的Dynamic的Text处填写format( ServiceTime1 ),Service Time2旁的123的Dynamic的Text处填写format( ServiceTime2 ),Service Time12旁的123的Dynamic的Text处填写format( ServiceTime12 ),Service Time21旁的123的Dynamic的Text处填写format( ServiceTime21 )。7. 中间界面处的123的Dynamic的Text处从上到下分别填写format( nAbandoned1 )、format( nOK1 )、format( nRouted12 )、format( nLate2 )、format( nOK2 )、format( nAbandoned2 )。8. 点击Analysis,拖入两个Time Plot,在Value,并分别填写queue1.size()和queue2.size()。二者的Time Window填写10000,vertical scale选择fixed,from 0 to 200。之后再拖入两个Histogram,选择show PDF,Histogram分别填写histWait1和histWait2。最后再拖入两个Pie Chart,点击第一个Pie Chart后,点击add item,Value处填写nOK1,再点击add item,value处填写nLate1,再点击add item,value处填写nAbandoned1。在另一个Pie Chart重复该步骤,在填写处分别填写nOK2、nLate

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论