Anylogic建模实例Word格式文档下载.docx

上传人:b****7 文档编号:21835596 上传时间:2023-02-01 格式:DOCX 页数:9 大小:614.50KB
下载 相关 举报
Anylogic建模实例Word格式文档下载.docx_第1页
第1页 / 共9页
Anylogic建模实例Word格式文档下载.docx_第2页
第2页 / 共9页
Anylogic建模实例Word格式文档下载.docx_第3页
第3页 / 共9页
Anylogic建模实例Word格式文档下载.docx_第4页
第4页 / 共9页
Anylogic建模实例Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

Anylogic建模实例Word格式文档下载.docx

《Anylogic建模实例Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Anylogic建模实例Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

Anylogic建模实例Word格式文档下载.docx

在本模型中,当一个电话正在被处理时,如果有空闲的代理,它就被安排到相对应的代理上,否则就安排的旁边组的代理上,重复这个过程如果后者是空闲的。

本模型的输出标准是两种电话的队长和服务水平。

服务水平的概念指的是在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的defaultvalue分别为1、100、100、200、100、true、1、100、100、200、100、150。

2.点击General,拖入7个PlainVariable,分别命名为nOK1、nLate1、nAbandoned1、nAbandoned2、nLate2、nOK2、nRouted12,并全部选择int类型。

3.点击EnterpriseLibrary,拖入两个Source,分别命名为source1和source2,代表两种电话的到达,如下图所示:

4.再从EnterpriseLibrary中拖入两个Queue,分别命名为queue1和queue2,之后利用Presentation中的Polyline和RoundedRectangle画出如下图的图形:

5.从EnterpriseLibrary中拖入两个Enter,分别命名为enter1和enter2,再拖入两个Service,分别命名为service1和service2,之后拖入两个ResourcePool,分别命名为agents1和agents2,最后再在EnterpriseLibrary中拖入一个Sink,并将其一一连接起来,如下图:

第三步:

设置流程逻辑模型参数

1.创建JavaClass(步骤如BillingDepartment)。

命名为Bill,其具体的代码如下:

2.点击General,从中拖入三个Function,分别命名为setCallParameters、callAnswered、serviceTime,分别用来设置不同call的参数、统计在20秒内处理完毕电话的数量、设置电话的服务时间。

其中setCallParameters在Returntype里面选择void,Functionargument中写入两个参数:

Call类型的call和int类型的type。

Code里面写入:

callAnswered的Returntype选择void,Functionarguments写入Call类型的call。

在Code里面写入:

serviceTime的Returntype选择double,Functionargument选择Call类型的call,int类型的agentType,Code中写入:

3.点击source1,在Entityclass处写Call,Arrivalsdefinedby选择Rate,Arrivalrate填写ArrivalRate1,Entitiesperarrival填写1,Newentity填写newCall(),Onexit填写setCallParameters(entity,1);

在source2处在以上各处分别填写ArrivalRate2、1、newCall()、setCallParameters(entity,2)。

4.点击queue1,在Entityclass处写Call,Capacity选择Integer.MAX_VALUE,Onenter填写routingLogic(),并勾中Enableexitontimeout,Timeout填写entity.abandonmentTime,Onexit(timeout)填写nAbandoned1++;

queue2的参数与queue1基本相同,只有在Onexit(timeout)处填写nAbandoned2++。

5.点击service1,在Entityclass出填写Call,Resourcequantity填写1,Delaytime写serviceTime(entity,1),ResourcePoolobject为null,Onenterdelay填写callAnswered(entity);

,Onexit填写routingLogic();

,Queuecapacity为100。

点击agents1,Resourceunitsare选择Individualobjects,Capacitydefined选择Directly,Capacity填写NAgents1。

service2与service1设置基本相同,在上述各处分别填写Call、1、serviceTime(entity,2)、null、callAnswered(entity);

、routingLogic();

、100。

agents2与agents1设置基本相同,各处分别为Individualobjects、Directly和NAgents2

6.从General中拖入一个Function,命名为resetStats,返回类型选择void,Code中写入:

7.从Analysis拖入两个Histogramdata,分别命名为histWait1和histWait2。

二者设置相同,Numberofintervals填写为20,Valuesrange选择fixed,minimum为0,Maximum为100。

第四步:

建立安排逻辑

1.点击Actionchart,通过其下面的部件创建如下逻辑图:

2.设置参数。

在idleAgents1处,Type选择int,Initialvalue为agents1.idle(),idleAgents2与idleAgents1类似,只不过在initialvalue处填写agents2.idle()。

在第一个while循环处的条件是idleAgents1>

0&

&

queue1.size()>

0,在该循环里面的code为enter1.take(queue1.removeFirst());

idleAgents1--;

第二个while循环处的条件是idleAgents2>

queue2.size()>

0,里面的code为enter2.take(queue2.removeFirst());

idleAgents2--;

之后的Decision处的判断条件是allowRouting12。

如果条件为true则进入第三个循环,条件为idleAgents2>

0,循环里的Code为enter2.take(queue1.removeFirst());

nRouted12++;

最后进入返回。

第五步:

创建界面

界面总体的布局截图如下:

1.选取另一块区域,点击EnterpriseLibrary,从中有、拖入一个Clock,命名为clock,其Backgroundcolor、Bordercolor、Hourmarkcolor、Textcolor、Hourandminutehandcolor、Secondhandcolor分别为ghostWhite、steelBlue、lightSteelBlue、steelBlue、black、fireBrick。

2.在Controls中拖入八个Slider,其中四个控制第一类电话的参数,另外四个为控制第二类电话的参数。

控制到达率的勾中Linkto,填写ArrivalRate1,minimumvalue为0,Maximumvalue为3;

控制代理数目的勾中Linkto,填写NAgents1,minimumvalue为50,Maximumvalue为200;

控制专类服务时间的勾中Linkto,填写ServiceTime1,minimumvalue为30,Maximumvalue为300;

控制非专类服务时间的勾中Linkto,填写ServiceTime12,minimumvalue为30,Maximumvalue为300。

另外四个Slider的参数与之前的四个相同,只是在Linkto处分别填写ArrivalRate2、NAgents2、ServiceTime2、ServiceTime21。

具体位置如下:

3.

4.在Controls中拖入一个CheckBox,勾中Linkto,填写allowRouting12,Action中填写resetStats()。

用来控制第二类代理能否处理第一类的电话。

5.在Controls中拖入一个Button,Action处填写resetStats()。

6.在Presentation中利用Polyline、Rectangle、line、Text等创建如上图所示界面。

7.在八个Slider上方的Arrival旁的123的Dynamic中的Text中填写format(ArrivalRate1)和format(ArrivalRate2),Number旁的123的Dynamic中的Text中填写format(NAgents1)和format(NAgents2),ServiceTime1旁的123的Dynamic的Text处填写format(ServiceTime1),ServiceTime2旁的123的Dynamic的Text处填写format(ServiceTime2),ServiceTime12旁的123的Dynamic的Text处填写format(ServiceTime12),ServiceTime21旁的123的Dynamic的Text处填写format(ServiceTime21)。

8.中间界面处的123的Dynamic的Text处从上到下分别填写format(nAbandoned1)、format(nOK1)、format(nRouted12)、format(nLate2)、format(nOK2)、format(nAbandoned2)。

9.点击Analysis,拖入两个TimePlot,在Value,并分别填写queue1.size()和queue2.size()。

二者的TimeWindow填写10000,verticalscale选择fixed,from0to200。

之后再拖入两个Histogram,选择showPDF,Histogram分别填写histWait1和histWait2。

最后再拖入两个PieChart,点击第一个PieChart后,点击additem,Value处填写nOK1,再点击additem,value处填写nLate1,再点击additem,value处填写nAbandoned1。

在另一个PieChart重复该步骤,在填写处分别填写nOK2、nLate2和nAbandoned2。

10.设置跳转。

该步骤与BillingDepartment中的第五步的第四个部分相同。

在Presentation处拖入三个ViewArea,分别命名为AnimationAndOutput、ProcessLogic和RoutingLogic,分别放于相对应的三个区域左上角处。

并在三个区域内的右上角创建如下图的Text:

并在表示其他区域的Text下的Dynamic中的Onclick处填写代码,如:

ProcessLogic.navigateTo();

至此,CallCenter的基本模型已经创建好了,运行后的截图如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1