《Arena仿真概述解析》由会员分享,可在线阅读,更多相关《Arena仿真概述解析(52页珍藏版)》请在金锄头文库上搜索。
1、Arena-Arena-仿真概述解析仿真概述解析仿真基本术语和概念2024/8/112系统:简单处理系统 一般目标:估计总零件生产量排队时间,排队长度,机器忙率 时间单位设定:可任意,但是 必须一致时间设定必须合理,可以在有限的实际时间内运行结束2024/8/113模型特征 初始时间为0,且初始状态为空闲 时间单位:分钟 到达时间:间隔到达时间: 服务时间: 模拟到20(模拟)分钟时终止仿真,如恰好在第20分钟时结束,届时在系统中仍有零件(正在加工或在队列中等待),那它们也只能完不成加工了。2024/8/114表表2-1 零件的到达、零件的到达、间隔和服隔和服务时间(单位:分位:分钟)零件零件
2、编号号到达到达时间到达到达间隔隔服服务时间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.2024/8/115研究目标:输出性能指标 整个模拟时间内的总生产量 (P) 在20分钟加工过程中的的总产量(total production;在钻床完成服务并离开的零件数)。其值应越大越好。 队列中零件的平均排队时间:N = no. of parts comple
3、ting queue waitDi = waiting time in queue of ith partKnow:D1 = 0N 12024/8/116 队列中所有零件的最大排队时间: 仿真过程中开始在钻床接受服务的零件的最大排队等待时间(maximum waiting time in queue)。这是用来度量最坏情况的,对于确定对顾客的服务水平保证应该会有所帮助。这个量越小越好。 2024/8/117研究目标:输出性能指标 (continued.) 队列的平均队长: 队列中的最大队长: 零件的平均和最大停留时间 (在系统中停留的时间,或成为周转时间)Fi = flowtime of it
4、h part2024/8/118研究目标:输出性能指标(continued.) 机器设备的使用率 (忙率)即钻床处于忙态的时间占仿真总时间的比例。这是另一个随时间离散变化的统计量,其随时间变化的函数为如下“忙态”函数 其它需要的指标 information overload?并不是指标越多越好2024/8/119分析过程 常规估测分析方法平均间隔到达时间= 4.987 minutes平均服务时间 = 3.351 minutes从以上的分析来看,还是比较有希望的,因为完成服务的速度比零件到达的速度要快(在平均意义下)只考虑平均值的话,是对模型的过度简化,彻底忽略了随机性。按照以上平均值来考虑,这
5、个模型就等价于一个均匀到达,均匀服务的模型,可以直接应用初中数学进行解决,也就无所谓队列问题了!我们的目标介于完全随机和完全稳定之间的合理模型这种简单估测方法具有非常大的局限性2024/8/1110分析过程 (continued) 排队论需要额外对模型的假设最为通用的模型: M/M/1 queue 到达间隔时间 exponential服务时间 exponential, independent of interarrivals且一般具有E(service) E(interarrival)最终为稳态 (long-run, forever)确定的解析分析结果:如,队列中的平均等待时间为存在的问题:有
6、效性,估计均值,长期有效,但是未必对于某个问题有效。通常用于对平均性能进行考虑时应用2024/8/1111模拟的机制 单个操作(到达,服务时间)按照实际过程进行处理 对系统变化,事件都按照实际“时间”,实际顺序进行处理 对不同对象之间的交互作用进行逐个模拟 默认安置“观测者”来对输出性能指标进行收集 具体的,穷举式的分析方法 在过程中任何事物都是具体和清晰的然后就需要考虑大量细节,存放大量的过程参数和变量幸好有模拟软件来进行跟踪和帮助2024/8/1113模拟中需考虑的对象 Entity 实体系统的“参与者”,在系统的移动,状态发生变化,可以影响其它实体或者被其它实体影响动态对象 需要进行创建
7、,进行移动,以及离开系统(根据需要) 通常表示“实际”的事物在以上的模型中实体指的就是零件也可以构造出“假”实体,只是用于建模的方便例如,Breakdown demon, break angel一个系统中可以同时具有多个不同类型的实体2024/8/1114模拟中需考虑的对象 (continued.) Attributes属性同一类型实体的特征,用来描述和区分实体同一类实体都具有相同的属性,但属性值不同,例如:到达时间停留日期优先级颜色对于特定实体,必须绑定属性值属性可以视为(实体的)“局部”变量在ARENA中有些属性是自动生成的,有些则需要进行定义2024/8/1115模拟中需考虑的对象 (c
8、ontinued.) (全局) Variables变量反映了系统的特征,而与实体无关名称和取值对于整个系统来说是唯一的不与实体绑定实体可以对变量进行访问,并改变变量取值,例如:两个车站之间的运输时间系统中能容纳的零件个数模拟时钟“写在墙上”在ARENA中内部有一个常规变量,也可以根据需要来定义2024/8/1116模拟中需考虑的对象 (continued.) Resources资源资源是实体所需要进行竞争获得的,如服务人员 机器设备空间,实体可以获取(seize)一个资源,使用之,并释放(releases)之。需要强调的是:在进行处理时将一个资源分配给一个实体,需要强调的是:在进行处理时将一个
9、资源分配给一个实体,而不是将一个实体分配给一个资源而不是将一个实体分配给一个资源“一个”资源可以具有多个处理单元能力“A” resource can have several units of capacity例如,餐厅中的一个台面可以有多个椅子一个售票窗口可以有多个售票员在模拟过程中,资源的处理单元个数可以改变2024/8/1118模拟中需考虑的对象 (continued) Queues队列当实体无法进行运动时(通常是由于无法获取需要的资源)用于实体等待的对象具有名称,通常是与相应的资源绑定可以因为有限的空间和资源来设定有限的排队空间当实体到达一个已满的队列时必须定义如何对实体进行处理对于此
10、对象,通常需要观测队列的程度,等待时间,等等2024/8/1119模拟中需考虑的对象 (continued) Statistical accumulators统计累加器用来监测所发生情况的变量具体设定取决于所设计的输出性能指标在模型中处于“被动”地位只监测,不参与在ARENA中自动设定了许多,也可以根据实际需要来定义在模拟结束时,可以使用这些累加器来计算最终输出性能指标2024/8/1120模拟中需考虑的对象 (continued.) 对于本例中,统计累加器可以有当前所生产的零件数当前所有排队时间 已经通过队列的零件个数当前最大排队时间总周转时间当前最大周转时间队列长度曲线Q(t)下的区域大小
11、=排队时间排队长度最大Q(t)=最大队长服务台忙的时间B(t)2024/8/1121简单处理系统中的事件 新零件新零件到达到达系统系统(Arrivial)到达:到达:新零件进入系统。 安排下一个新零件的适时到达,也即将其到达事件记录插入未来事件表; 更新随时间离散变化的各统计量(从上一事件发生到现在); 把到达零件的到达时间(即仿真时钟的当前值)保存在一个属性中,用以在后面计算该零件的系统逗留时间和排队时间; 如果钻床空闲,则到达零件立即开始加工(其排队时间为零),将钻床状态置为“忙”,并安排该零件的离开事件,统计该零件的排队时间; 否则,如果钻床正在加工其它零件,则将到达零件置于队列末尾,队
12、长变量加1。2024/8/1122简单处理系统中的事件 (continued) 离开离开(Departure),即服务结束,即服务结束将生长量累加器加1计算该零件在系统中的周转时间 (now - time of arrival)更新与时间相关的统计量如果队列不空:将排在第一位的零件取出,计算并记录其排队时间(此时该零件已完成排队)并开始加工该零件,并安排其离开事件(将事件记录插入未来事件表);如果队列空:将服务台置为空闲 (注意:不需要调度下一个离开事件)2024/8/1123简单处理系统中的事件 (continued.) 终止:仿真过程结束。终止:仿真过程结束。 更新随时间离散变化的各统计量
13、(到仿真终止);更新随时间离散变化的各统计量(到仿真终止); 计算最终的各输出性能指标值,并形成总结报计算最终的各输出性能指标值,并形成总结报告。告。 经过每一个事件,事件列表都需要进行更新处理 对系统状态进行初始化2024/8/1124简单处理系统的特色 仿真时钟仿真时钟(ARENA中内置中内置) 仿真过程中的当前时间值记在一个特殊变量中,仿真过程中的当前时间值记在一个特殊变量中,称为仿真时钟(称为仿真时钟(simulation clock)。与实际时间不同,)。与实际时间不同,仿真时钟并不是连续推进、均匀取值的,而是从当仿真时钟并不是连续推进、均匀取值的,而是从当前事件的发生时间跳跃到下一
14、个事件的发生时间。前事件的发生时间跳跃到下一个事件的发生时间。因为相继两个事件之间系统没有发生变化,所有也因为相继两个事件之间系统没有发生变化,所有也就没有必要浪费时间来考虑这两个事件之间的过程。就没有必要浪费时间来考虑这两个事件之间的过程。 2024/8/1125简单处理系统的特色 事件列表:实体号,事件发生时间,事件类型以事件发生事件升序排列每次都将下一个事件至于事件列表顶部事件列表初始化时要调度第一个到达事件 状态变量:描述当前的状态服务器状态 B(t) = 1如果忙, 0 如果空闲队列中的顾客/零件数 Q(t)当前队列中每个顾客/零件到达时间2024/8/1126计算机仿真技术的沿革
15、(Continued) 大发展阶段 (1970s-early 1980s)计算机越来越快,越来越便宜仿真技术的价值得到越来越广泛的认同仿真软件也得到的改善,但是仍然需要学习专门的语言来进行编写,而且还是批处理模式通常用来汽车,航空工业中的“灾难性”问题如在汽车业,更多的是对确定性模型的大规模需求生产线出故障时则进行系统模拟,进一步来分析问题但是通常问题已经发生,采用仿真已经无济于事了2024/8/1127计算机仿真技术的沿革 (continued.) 上世纪80年代微机越来越强大桌面系统软件也具备了GUI和动画功能仿真技术被普遍接受传统制造行业服务业医疗健康业“商业流程商业流程”仍然是大多数是
16、在大企业中得到应用通常只是一种辅助工具2024/8/1128计算机仿真技术的沿革 (continued) 目前逐渐在小型企业中得到推广成为了一种标准工具通常会在设计过程的前期进行应用可以进行实时控制 未来展望与操作系统的兼容和交互为特定行业和企业开发出专用“模板”自动统计设计和分析2024/8/1129ARENA的定位 具有层次结构可以进行多层建模可以将不同建模层次根据需要整合到一个模型内通常是采用从上至下的方式进行建模 在具备模拟器的易于使用的特点的同时,不失适用性Arena TemplateStandard EditionProfessional EditionA singlegraphi
17、cal userinterfaceconsistent atany level ofmodelingHigherLevel ofModelingLowerSIMAN TemplateVertical SolutionsUser-Created Templates Commonly used constructs Company-specific processes Company-specific templates etc.Application Solution Templates Call$im BP$im etc.Common Panel Many common modeling co
18、nstructs Very accessible, easy to use Reasonable flexibilitySupport, Transfer Panels Access to more detailed modeling for greater flexibilityBlocks, Elements Panels All the flexibility of the SIMAN simulation languageUser-Written Visual Basic, C/C+, FORTRANCode The ultimate in flexibility C/C+/FORTR
19、AN requires compiler2024/8/1130ARENA简介 回顾与小结 小贴士小贴士2024/8/1131ARENA简介 启动ARENA ARENA基本特点和前例所使用的概念对象相对应界面完全是标准化的操作,功能也是标准化的可与其它软件兼容,如MS Office具有优化内存管理功能2024/8/1132ARENA 7.0 简介 应用ARENA进行模拟的基本操作:创建基本模型:创建基本模型:Arena提供了一个所见即所得的流程图形式的环境来进行建模。 只需将相应的模块拖拉至模型窗口并按照逻辑连接起来就可以构造出处理流程。细化模型:细化模型:可以通过双击相应模块并进行参数调整就可
20、以将实际问题的数据(如,处理时间,资源要求,服务人员水平,等)添加到模型中。也可以根据需要来定制动画图标以更好地显示问题的流程。对模型进行模拟:对模型进行模拟:通过对构造好的模型进行运行就可以得到模拟结果。ARENA提供了一个动态的可视化图形环境使得对模型的分析更加直观和简单。分析模拟结果:分析模拟结果:Arena提供了自动报告功能,直接就能根据常规决策条件,例如资源使用率,等候时间,等,来提交分析报告。 也可以通过定制特定的统计量。选择最佳方案:选择最佳方案:由于整个模拟过程都封装在软件中,所以重点就可以放在建模和分析上。这样就可以通过多次建模和修改参数来选择最佳解决方案。2024/8/11
21、33ARENA 工作环境说明 菜单/模型窗口/工具栏/Panel Basic Process Panel/模型窗口 Module(模块)流程图模块(Flowchart Module):放置在模型窗口中数据模块(Data Module) :不放在模型窗口中,而是通过表格来进行表示和编辑2024/8/1134流程图模块 Create 模块模块该模块是用于模拟模型中产生实体(Entity)。通过调度或者基于某个达到时间间隔可以产生一个个实体。产生实体后,实体就离开Create模块进入系统。因此实体类型是在此模块中进行定义。 Process 模块模块 该模块是用于模拟中的主要处理过程。在此模块中可以进
22、行对资源(Resource)的获取(Seize)和释放(Release)。此外,还可以使用“submodel”选项来指定是否配置子模型。若处理时间要分配给实体,则可以选定为value added, non-value added, transfer, wait或 other。 Dispose模块模块 该模块用于标识模拟模型中的实体运动结束的终点。对于实体的统计必须在该实体被dispose之前进行统计。2024/8/1135流程图模块(Continued) Decide模块模块该模块允许在系统中进行决策选择处理。它根据一个或多个条件进行判断决策 (如,若实体为Gold Card)或者基于一个或多
23、个概率 (如, 75% 是; 25%否)进行判断。所设条件可以是基于属性值 (如, 优先级),变量值(如, Number Denied),实体类型,或表达式 (e.g., NQ (ProcessA.Queue)。 Record模块模块 该模块用来收集模拟模型中的统计值。不同类型的观测统计值都可以在此设定,包括从此模块退出的时间,实体统计值 (time, costing, etc.),一般观测值,间隔统计值 (从一个时间点到当前模拟时间点)。计数类型的统计值也有效。 Assign模块模块 该模块用于为变量,实体属性,实体类型,实体图片或者其它系统变量进行赋值。在一个Assign模块中可以进行多个
24、赋值。2024/8/1136流程图模块(Continued) Batch模块模块该模块是在模拟模型中作为分组机制来应用的。实体的Batches可以是永久性也可以是暂时进行分组。临时batches必须随后使用 Separate模块进行分割。 Separate模块模块 该模块用于将一个导入实体复制到多个实体中或者可以将已经分组的实体进行分割。2024/8/1137数据模块 Entity 模块模块该数据模块用来定义不同的实体类型以及初始的图片。同样,初始成本信息和持有成本(holding costs)也可以在此定义。 Queue 模块模块 该数据模块可以用来改变特定队列的排序规则。缺省的排序规则是F
25、IFO。如要不同排序规则,请在此模块中设定。在此还有一个额外的字段用于指定该队列是否可以为其它实体分享。 Resource 模块模块该数据模块定义了模拟系统中的资源,包括成本信息和资源可用性。资源可以具有一个固定的容量,在整个模拟过程中不发生变化,也可根据安排改变。Resource failures和states用来说明该模块中的Advanced Process and Advanced Transfer Panel。2024/8/1138数据模块 Schedule 模块模块数据模块可用于与Resource module进行连接以定义资源容量变化的安排,或者可与Create module 连接
26、以定义到达安排。 Set 模块模块 该模块定义了不同类型的集合,包括资源,计数器,累加器,实体类型和实体图片。资源集合可以用于 Process (and Seize, Release, Enter and Leave of the Advanced Process and Advanced Transfer panels)模块。计数器和累加器集合可以用于 Record模块。队列集合可以用于Seize, Hold, Access, Request, Leave以及Allocate modules of the Advanced Process and Advanced Transfer pane
27、ls。 Variable 模块模块该数据模块可用于定义变量和初始值。变量可以在其它模块中调用 (如, Decide module),可以通过Assign module来赋值,也可以用于其它任何表达式。2024/8/1139ARENA中的关键概念 Entities and Attributes Queues Resources Statistics Sets Stations and Activity Areas Storages Sequences Conveyors Transporters 2024/8/1140Entities and Attributes 在每个模拟模型中,entiti
28、es代表在系统中移动的对象。每个实体都具有自己的特征,以attributes表示。可以根据需要定义足够多的属性。每个独立的实体都具有自己的属性值;这些值可以在处理过程中赋以。 例如,对于某个实体,可以定义“Length”作为实体大小,定义“Priority”来定义实体在某些行动中的重要性。当该实体进行某些处理时,可以根据Priority来进行处理。2024/8/1141Queues Queue的基本目的是为还无法分配到资源的实体提供排队的空间。Queues是被动的,只有在实体进入队列和相关资源可以进行分配时,Queue才会发生变化。 ARENA提供两种类型的队列:Individual queu
29、es具有一个symbolic name,一个ranking rule以及一个指定的capacity。队列中的实体可以在动画中显示出来;可以对之进行统计;可以根据灵活的排序机制进行排序;Internal queues提供了基本的FIFO的功能,但是没有动画效果,也没有统计和排序机制。2024/8/1142Resources Resources是系统中静止的元素,并可以分配给实体。它具有给定的capacity (在某个时点) 以及states 集合(如: busy, idle, inactive或failed),这些在模拟运行过程中进行转换。 Resources可以表示服务人员,机器或者仅仅是存储
30、空间。 与Resources相关的术语包括:当实体需要一个资源时,它seize该资源;当一个实体不在需要一个资源时,该实体release该资源,使得该资源可以被其它实体获取。当该实体需要使用该资源时,则它Delay该资源一定的时间(满足一定分布)。一个资源具有一个相关的队列,用来存放那些无法获取资源的实体。2024/8/1143Statistics Arena可以是用户来指定是否需要对特定对象(如,队列,资源,等)的模拟统计值进行统计。这些统计值可以在模拟运行过程中得到记录并在最终报告中显示。 ARENA进行的统计值收集分为以下5类: Time-persistent 记录了和时间相关的统计值
31、(如, 队长和资源使用率); Tallies 记录了观测数据 (如,系统中花费的时间实体等); Counters 计数了某个事件的观测发生次数 (如,离开系统的对象个数); Frequencies 收集了系统变量的基于其不同状态类别的统计值(如,资源在每个可能状态下的时间消耗比率); outputs 给出了某个系统最终值或最终统计值 (如,模拟运行最后的库存水平)。2024/8/1144Statistics - Reports Category Overview Category by Replication Activity Areas Entities Processes Queues R
32、esources Transfers User Specified Frequencies 2024/8/1145其它概念 Sets Stations and Activity Areas Storages Sequences Conveyors Transporters 2024/8/1146ARENA示例2024/8/1147示例 1 一个M/M/1的服务系统,到达间隔时间满足均值为8分钟的指数分布,服务台的服务时间满足均值为5.5分钟的指数分布。请模拟120分钟的系统运行。Replication 10次。2024/8/1148示例 2 (排队问题)n顾客带着购买卷随机到达电器商店买电器。
33、顾客到达的间隔时间服从均值为0.125小时的指数分布。有两个一模一样的收银台可以为顾客服务,处理时间服从均值为0.083小时的指数分布。去这两个收银台交钱的顾客排一个队。付款后,顾客就拿着盖章的收据来到提货窗口来提货。提货窗口的的处理时间满足均值为0.1429小时的指数分布。提货窗口只有一个服务台。请模拟60分钟的过程,重复20次模拟过程。给出每个事件发生时候的时间以及系统状态。计算所有已经完成的顾客的平均周转时间,以及每个服务台的利用率。2024/8/1149示例3 Movie Rental Shop 顾客进入音像店后,先判断要租借的电影类型。在拿定主意后,顾客就直趋所对应的电影区,并进一步
34、进行选择。选定电影后,顾客就要接着考虑是否购买爆米花。如果购买爆米花,则就到爆米花柜台拿上一包。如果选择不购买爆米花,则就直接到出口交费。下例给出了一个演示。2024/8/1150回顾与小结 顾客带着购买券随机到达电器商店买电器。顾客到达的间隔时间服从均值为0.125小时的指数分布。有两个一模一样的收银台可以为顾客服务,处理时间服从均值为0.083小时的指数分布。去这两个收银台交钱的顾客排一个队。付款后,顾客就拿着盖章的收据来到提货窗口来提货。提货窗口的的处理时间满足均值为0.1429小时的指数分布。提货窗口只有一个服务台。请模拟60分钟的过程,重复20次模拟过程。给出每个事件发生时候的时间以及系统状态。计算所有已经完成的顾客的平均周转时间,以及每个服务台的利用率。1.Entity 实体 2.Attributes属性 3.Variables变量4.Resources资源 5. Queues队列 6. Statistical accumulators统计累加器处理系统中的事件?2024/8/1151结束结束