Arena概貌仿真基本术语和概念2020/1/112系统:简单处理系统一般目标:◦估计总零件生产量◦排队时间,排队长度,机器忙率时间单位设定:可任意,但是…◦必须一致◦时间设定必须合理,可以在有限的实际时间内运行结束2020/1/113模型特征初始时间为0,且初始状态为空闲时间单位:分钟到达时间:◦间隔到达时间:服务时间:模拟到20(模拟)分钟时终止仿真,如恰好在第20分钟时结束,届时在系统中仍有零件(正在加工或在队列中等待),那它们也只能完不成加工了。2020/1/1142020/1/115表2-1零件的到达、间隔和服务时间(单位:分钟)零件编号到达时间到达间隔服务时间10.001.732.9021.731.351.7633.080.713.3943.790.624.5254.4114.284.46618.690.704.36719.3915.522.07834.913.153.36938.061.762.371039.821.005.381140.82..研究目标:输出性能指标整个模拟时间内的总生产量(P)在20分钟加工过程中的的总产量(totalproduction;在钻床完成服务并离开的零件数)。其值应越大越好。队列中零件的平均排队时间:2020/1/116DNiiN1N=no.ofpartscompletingqueuewaitDi=waitingtimeinqueueofithpartKnow:D1=0N1队列中所有零件的最大排队时间:max,,iNiD172020/1/11仿真过程中开始在钻床接受服务的零件的最大排队等待时间(maximumwaitingtimeinqueue)。这是用来度量最坏情况的,对于确定对顾客的服务水平保证应该会有所帮助。这个量越小越好。研究目标:输出性能指标(continued...)队列的平均队长:队列中的最大队长:零件的平均和最大停留时间(在系统中停留的时间,或成为周转时间)2020/1/118)(max200tQtFPFiiPiPi11,max,,Fi=flowtimeofithpart研究目标:输出性能指标(continued...)机器设备的使用率(忙率)◦即钻床处于忙态的时间占仿真总时间的比例。这是另一个随时间离散变化的统计量,其随时间变化的函数为如下“忙态”函数其它需要的指标◦informationoverload?◦并不是指标越多越好2020/1/119时刻闲如果钻床在时刻忙如果钻床在t0t1)(tB20)(200dttB20)(200dttB分析过程常规估测分析方法◦平均间隔到达时间=4.987minutes◦平均服务时间=3.351minutes◦从以上的分析来看,还是比较有希望的,因为完成服务的速度比零件到达的速度要快(在平均意义下)◦只考虑平均值的话,是对模型的过度简化,彻底忽略了随机性。按照以上平均值来考虑,这个模型就等价于一个均匀到达,均匀服务的模型,可以直接应用初中数学进行解决,也就无所谓队列问题了!◦我们的目标——介于完全随机和完全稳定之间的合理模型◦这种简单估测方法具有非常大的局限性2020/1/1110分析过程(continued…)排队论◦需要额外对模型的假设◦最为通用的模型:M/M/1queue◦到达间隔时间~exponential◦服务时间~exponential,independentofinterarrivals◦且一般具有E(service)E(interarrival)◦最终为稳态(long-run,forever)◦确定的解析分析结果:如,队列中的平均等待时间为◦存在的问题:有效性,估计均值,长期有效,但是未必对于某个问题有效。◦通常用于对平均性能进行考虑时应用2020/1/1111SAS2SAEE((ServiceTime)InterarrivalTime)模拟的机制单个操作(到达,服务时间)按照实际过程进行处理对系统变化,事件都按照实际“时间”,实际顺序进行处理对不同对象之间的交互作用进行逐个模拟默认安置“观测者”来对输出性能指标进行收集具体的,穷举式的分析方法在过程中任何事物都是具体和清晰的◦然后就需要考虑大量细节,存放大量的过程参数和变量◦幸好有模拟软件来进行跟踪和帮助2020/1/1113模拟中需考虑的对象Entity实体◦系统的“参与者”,在系统的移动,状态发生变化,可以影响其它实体或者被其它实体影响◦动态对象—需要进行创建,进行移动,以及离开系统(根据需要)◦通常表示“实际”的事物◦在以上的模型中实体指的就是零件◦也可以构造出“假”实体,只是用于建模的方便◦例如,Breakdowndemon,breakangel◦一个系统中可以同时具有多个不同类型的实体2020/1/1114模拟中需考虑的对象(continued...)Attributes属性◦同一类型实体的特征,用来描述和区分实体◦同一类实体都具有相同的属性,但属性值不同,例如:◦到达时间◦停留日期◦优先级◦颜色◦对于特定实体,必须绑定属性值◦属性可以视为(实体的)“局部”变量◦在ARENA中有些属性是自动生成的,有些则需要进行定义2020/1/1115模拟中需考虑的对象(continued...)(全局)Variables变量◦反映了系统的特征,而与实体无关◦名称和取值对于整个系统来说是唯一的◦不与实体绑定◦实体可以对变量进行访问,并改变变量取值,例如:◦两个车站之间的运输时间◦系统中能容纳的零件个数◦模拟时钟◦“写在墙上”◦在ARENA中内部有一个常规变量,也可以根据需要来定义2020/1/1116模拟中需考虑的对象(continued...)Resources资源◦资源是实体所需要进行竞争获得的,如◦服务人员◦机器设备◦空间,……◦实体可以获取(seize)一个资源,使用之,并释放(releases)之。◦需要强调的是:在进行处理时将一个资源分配给一个实体,而不是将一个实体分配给一个资源◦“一个”资源可以具有多个处理单元能力“A”resourcecanhaveseveralunitsofcapacity◦例如,餐厅中的一个台面可以有多个椅子◦一个售票窗口可以有多个售票员◦在模拟过程中,资源的处理单元个数可以改变2020/1/1118模拟中需考虑的对象(continued…)Queues队列◦当实体无法进行运动时(通常是由于无法获取需要的资源)用于实体等待的对象◦具有名称,通常是与相应的资源绑定◦可以因为有限的空间和资源来设定有限的排队空间——当实体到达一个已满的队列时必须定义如何对实体进行处理◦对于此对象,通常需要观测队列的程度,等待时间,等等2020/1/1119模拟中需考虑的对象(continued…)Statisticalaccumulators统计累加器◦用来监测所发生情况的变量◦具体设定取决于所设计的输出性能指标◦在模型中处于“被动”地位——只监测,不参与◦在ARENA中自动设定了许多,也可以根据实际需要来定义◦在模拟结束时,可以使用这些累加器来计算最终输出性能指标2020/1/1120模拟中需考虑的对象(continued...)对于本例中,统计累加器可以有◦当前所生产的零件数◦当前所有排队时间◦已经通过队列的零件个数◦当前最大排队时间◦总周转时间◦当前最大周转时间◦队列长度曲线Q(t)下的区域大小=排队时间×排队长度◦最大Q(t)=最大队长◦服务台忙的时间B(t)2020/1/1121简单处理系统中的事件新零件到达系统(Arrivial)到达:新零件进入系统。◦安排下一个新零件的适时到达,也即将其到达事件记录插入未来事件表;◦更新随时间离散变化的各统计量(从上一事件发生到现在);◦把到达零件的到达时间(即仿真时钟的当前值)保存在一个属性中,用以在后面计算该零件的系统逗留时间和排队时间;◦如果钻床空闲,则到达零件立即开始加工(其排队时间为零),将钻床状态置为“忙”,并安排该零件的离开事件,统计该零件的排队时间;◦否则,如果钻床正在加工其它零件,则将到达零件置于队列末尾,队长变量加1。2020/1/1122简单处理系统中的事件(continued…)离开(Departure),即服务结束◦将生长量累加器加1◦计算该零件在系统中的周转时间(now-timeofarrival)◦更新与时间相关的统计量◦如果队列不空:◦将排在第一位的零件取出,计算并记录其排队时间(此时该零件已完成排队)并开始加工该零件,并安排其离开事件(将事件记录插入未来事件表);◦如果队列空:◦将服务台置为空闲(注意:不需要调度下一个离开事件)2020/1/1123简单处理系统中的事件(continued...)终止:仿真过程结束。更新随时间离散变化的各统计量(到仿真终止);计算最终的各输出性能指标值,并形成总结报告。经过每一个事件,事件列表都需要进行更新处理对系统状态进行初始化2020/1/1124简单处理系统的特色仿真时钟(ARENA中内置)仿真过程中的当前时间值记在一个特殊变量中,称为仿真时钟(simulationclock)。与实际时间不同,仿真时钟并不是连续推进、均匀取值的,而是从当前事件的发生时间跳跃到下一个事件的发生时间。因为相继两个事件之间系统没有发生变化,所有也就没有必要浪费时间来考虑这两个事件之间的过程。2020/1/1125简单处理系统的特色事件列表:◦[实体号,事件发生时间,事件类型]◦以事件发生事件升序排列◦每次都将下一个事件至于事件列表顶部◦事件列表初始化时要调度第一个到达事件状态变量:描述当前的状态◦服务器状态B(t)=1如果忙,0如果空闲◦队列中的顾客/零件数Q(t)◦当前队列中每个顾客/零件到达时间2020/1/1126计算机仿真技术的沿革(Continued…)大发展阶段(1970s-early1980s)◦计算机越来越快,越来越便宜◦仿真技术的价值得到越来越广泛的认同◦仿真软件也得到的改善,但是仍然需要学习专门的语言来进行编写,而且还是批处理模式◦通常用来汽车,航空工业中的“灾难性”问题◦如在汽车业,更多的是对确定性模型的大规模需求◦生产线出故障时◦则进行系统模拟,进一步来分析问题◦但是通常问题已经发生,采用仿真已经无济于事了2020/1/1127计算机仿真技术的沿革(continued...)上世纪80年代◦微机越来越强大◦桌面系统软件也具备了GUI和动画功能◦仿真技术被普遍接受◦传统制造行业◦服务业◦医疗健康业◦“商业流程”◦仍然是大多数是在大企业中得到应用◦通常只是一种辅助工具2020/1/1128计算机仿真技术的沿革(continued…)目前◦逐渐在小型企业中得到推广◦成为了一种标准工具◦通常会在设计过程的前期进行应用◦可以进行实时控制未来展望◦与操作系统的兼容和交互◦为特定行业和企业开发出专用“模板”◦自动统计设计和分析2020/1/1129ARENA的定位具有层次结构◦可以进行多层建模◦可以将不同建模层次根据需要整合到一个模型内◦通常是采用从上至下的方式进行建模在具备模拟器的易于使用的特点的同时,不失适用性2020/1/1130ArenaTemplateStandardEditionProfessionalEditionAsinglegraphicaluserinterfaceconsistentatanylevelofmodelingHigherLevelofModelingLowerSIMANTemplateVerticalSolutionsUser-CreatedTemplatesCommonlyusedconstructsCompany-specificprocessesCompany-specifictemplatesetc.ApplicationSolutionTemplatesCall$imBP$imetc.CommonPanelManycommonmodelingconstructsVeryaccessible,easytouseReas