Arena-仿真概述解析_第1页
Arena-仿真概述解析_第2页
Arena-仿真概述解析_第3页
Arena-仿真概述解析_第4页
Arena-仿真概述解析_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

Arena概貌

仿真基本术语和概念2024/4/122系统:简单处理系统一般目标:估计总零件生产量排队时间,排队长度,机器忙率时间单位设定:可任意,但是…必须一致时间设定必须合理,可以在有限的实际时间内运行结束2024/4/123模型特征初始时间为0,且初始状态为空闲时间单位:分钟到达时间:间隔到达时间:服务时间:模拟到20(模拟)分钟时终止仿真,如恰好在第20分钟时结束,届时在系统中仍有零件(正在加工或在队列中等待),那它们也只能完不成加工了。2024/4/124表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..2024/4/125研究目标:输出性能指标整个模拟时间内的总生产量

(P)

在20分钟加工过程中的的总产量(totalproduction;在钻床完成服务并离开的零件数)。其值应越大越好。队列中零件的平均排队时间:N=no.ofpartscompletingqueuewaitDi=waitingtimeinqueueofithpartKnow: D1=0

N

>12024/4/126队列中所有零件的最大排队时间:

仿真过程中开始在钻床接受服务的零件的最大排队等待时间(maximumwaitingtimeinqueue)。这是用来度量最坏情况的,对于确定对顾客的服务水平保证应该会有所帮助。这个量越小越好。2024/4/127研究目标:输出性能指标(continued...)队列的平均队长:队列中的最大队长:零件的平均和最大停留时间(在系统中停留的时间,或成为周转时间)Fi=flowtimeofithpart2024/4/128研究目标:输出性能指标(continued...)机器设备的使用率

(忙率)即钻床处于忙态的时间占仿真总时间的比例。这是另一个随时间离散变化的统计量,其随时间变化的函数为如下“忙态”函数其它需要的指标informationoverload?并不是指标越多越好2024/4/129分析过程常规估测分析方法平均间隔到达时间=4.987minutes平均服务时间=3.351minutes从以上的分析来看,还是比较有希望的,因为完成服务的速度比零件到达的速度要快(在平均意义下)只考虑平均值的话,是对模型的过度简化,彻底忽略了随机性。按照以上平均值来考虑,这个模型就等价于一个均匀到达,均匀服务的模型,可以直接应用初中数学进行解决,也就无所谓队列问题了!我们的目标——介于完全随机和完全稳定之间的合理模型这种简单估测方法具有非常大的局限性2024/4/1210分析过程(continued…)排队论需要额外对模型的假设最为通用的模型:M/M/1queue

到达间隔时间~exponential服务时间~exponential,independentofinterarrivals且一般具有E(service)<E(interarrival)最终为稳态(long-run,forever)确定的解析分析结果:如,队列中的平均等待时间为存在的问题:有效性,估计均值,长期有效,但是未必对于某个问题有效。通常用于对平均性能进行考虑时应用2024/4/1211排队论:

第一个“M”说明到达过程是马尔可夫过程(Markovian),即到达间隔独立、且服从相同的指数概率分布。第二个“M”代表服务时间分布,此处也是指数分布。“1”表示只有一个服务台。至少在表面上这个模型很适合本例问题。2024/4/1212模拟的机制单个操作(到达,服务时间)按照实际过程进行处理对系统变化,事件都按照实际“时间”,实际顺序进行处理对不同对象之间的交互作用进行逐个模拟默认安置“观测者”来对输出性能指标进行收集具体的,穷举式的分析方法在过程中任何事物都是具体和清晰的然后就需要考虑大量细节,存放大量的过程参数和变量幸好有模拟软件来进行跟踪和帮助2024/4/1213模拟中需考虑的对象Entity实体系统的“参与者”,在系统的移动,状态发生变化,可以影响其它实体或者被其它实体影响动态对象—需要进行创建,进行移动,以及离开系统(根据需要)通常表示“实际”的事物在以上的模型中实体指的就是零件也可以构造出“假”实体,只是用于建模的方便例如,Breakdowndemon,breakangel一个系统中可以同时具有多个不同类型的实体2024/4/1214模拟中需考虑的对象(continued...)Attributes属性同一类型实体的特征,用来描述和区分实体同一类实体都具有相同的属性,但属性值不同,例如:到达时间停留日期优先级颜色对于特定实体,必须绑定属性值属性可以视为(实体的)“局部”变量在ARENA中有些属性是自动生成的,有些则需要进行定义2024/4/1215模拟中需考虑的对象(continued...)(全局)Variables变量反映了系统的特征,而与实体无关名称和取值对于整个系统来说是唯一的不与实体绑定实体可以对变量进行访问,并改变变量取值,例如:两个车站之间的运输时间系统中能容纳的零件个数模拟时钟“写在墙上”在ARENA中内部有一个常规变量,也可以根据需要来定义2024/4/1216变量(variable),也叫全局变量(globalvariable),是反映某种系统特征的信息,与具体的实体无关。模型中可以有很多种不同的变量,但每个变量只表示一种含义。变量可分为两类:

一类是Arena自带的内部变量(队长、处于忙态的服务台数、当前仿真时钟等),另一类是用户自定义变量(平均服务时间、运输时间、当前班次等)。与属性不同,变量不与具体的实体相关联,而是与整个系统有关系。实体可以引用这些变量,而且可以改变许多变量的值。如果把属性理解成贴附在实体上的标签,跟随实体在房间里到处游走的话,那变量就可被看作写在墙上的内容(还可重新擦写)。2024/4/1217模拟中需考虑的对象(continued...)Resources资源资源是实体所需要进行竞争获得的,如服务人员机器设备空间,……实体可以获取(seize)一个资源,使用之,并释放(releases)之。需要强调的是:在进行处理时将一个资源分配给一个实体,而不是将一个实体分配给一个资源“一个”资源可以具有多个处理单元能力 “A”resourcecanhaveseveralunitsofcapacity例如,餐厅中的一个台面可以有多个椅子一个售票窗口可以有多个售票员在模拟过程中,资源的处理单元个数可以改变2024/4/1218模拟中需考虑的对象(continued…)Queues队列当实体无法进行运动时(通常是由于无法获取需要的资源)用于实体等待的对象具有名称,通常是与相应的资源绑定可以因为有限的空间和资源来设定有限的排队空间——当实体到达一个已满的队列时必须定义如何对实体进行处理对于此对象,通常需要观测队列的程度,等待时间,等等2024/4/1219模拟中需考虑的对象(continued…)Statisticalaccumulators统计累加器用来监测所发生情况的变量具体设定取决于所设计的输出性能指标在模型中处于“被动”地位——只监测,不参与在ARENA中自动设定了许多,也可以根据实际需要来定义在模拟结束时,可以使用这些累加器来计算最终输出性能指标2024/4/1220模拟中需考虑的对象(continued...)对于本例中,统计累加器可以有当前所生产的零件数当前所有排队时间已经通过队列的零件个数当前最大排队时间总周转时间当前最大周转时间队列长度曲线Q(t)下的区域大小=

排队时间×排队长度最大Q(t)=最大队长服务台忙的时间B(t)2024/4/1221简单处理系统中的事件新零件到达系统(Arrivial)到达:新零件进入系统。

安排下一个新零件的适时到达,也即将其到达事件记录插入未来事件表;

更新随时间离散变化的各统计量(从上一事件发生到现在);

把到达零件的到达时间(即仿真时钟的当前值)保存在一个属性中,用以在后面计算该零件的系统逗留时间和排队时间;

如果钻床空闲,则到达零件立即开始加工(其排队时间为零),将钻床状态置为“忙”,并安排该零件的离开事件,统计该零件的排队时间;

否则,如果钻床正在加工其它零件,则将到达零件置于队列末尾,队长变量加1。2024/4/1222简单处理系统中的事件(continued…)离开(Departure),即服务结束将生长量累加器加1计算该零件在系统中的周转时间(now-timeofarrival)更新与时间相关的统计量如果队列不空:将排在第一位的零件取出,计算并记录其排队时间(此时该零件已完成排队)并开始加工该零件,并安排其离开事件(将事件记录插入未来事件表);如果队列空:将服务台置为空闲(注意:不需要调度下一个离开事件)2024/4/1223简单处理系统中的事件(continued...)终止:仿真过程结束。

更新随时间离散变化的各统计量(到仿真终止);

计算最终的各输出性能指标值,并形成总结报告。经过每一个事件,事件列表都需要进行更新处理对系统状态进行初始化2024/4/1224简单处理系统的特色仿真时钟(ARENA中内置)

仿真过程中的当前时间值记在一个特殊变量中,称为仿真时钟(simulationclock)。与实际时间不同,仿真时钟并不是连续推进、均匀取值的,而是从当前事件的发生时间跳跃到下一个事件的发生时间。因为相继两个事件之间系统没有发生变化,所有也就没有必要浪费时间来考虑这两个事件之间的过程。

2024/4/1225简单处理系统的特色事件列表:[实体号,事件发生时间,事件类型]以事件发生事件升序排列每次都将下一个事件至于事件列表顶部事件列表初始化时要调度第一个到达事件状态变量:描述当前的状态服务器状态B(t)=1如果忙,0如果空闲队列中的顾客/零件数Q(t)当前队列中每个顾客/零件到达时间2024/4/1226计算机仿真技术的沿革(Continued…)大发展阶段(1970s-early1980s)计算机越来越快,越来越便宜仿真技术的价值得到越来越广泛的认同仿真软件也得到的改善,但是仍然需要学习专门的语言来进行编写,而且还是批处理模式通常用来汽车,航空工业中的“灾难性”问题如在汽车业,更多的是对确定性模型的大规模需求生产线出故障时则进行系统模拟,进一步来分析问题但是通常问题已经发生,采用仿真已经无济于事了2024/4/1227计算机仿真技术的沿革(continued...)上世纪80年代微机越来越强大桌面系统软件也具备了GUI和动画功能仿真技术被普遍接受传统制造行业服务业医疗健康业“商业流程”仍然是大多数是在大企业中得到应用通常只是一种辅助工具2024/4/1228计算机仿真技术的沿革(continued…)目前逐渐在小型企业中得到推广成为了一种标准工具通常会在设计过程的前期进行应用可以进行实时控制未来展望与操作系统的兼容和交互为特定行业和企业开发出专用“模板”自动统计设计和分析2024/4/1229ARENA的定位具有层次结构可以进行多层建模可以将不同建模层次根据需要整合到一个模型内通常是采用从上至下的方式进行建模在具备模拟器的易于使用的特点的同时,不失适用性ArenaTemplateStandardEditionProfessionalEditionAsinglegraphicaluserinterfaceconsistentatanylevelofmodelingHigherLevelofModelingLowerSIMANTemplateVerticalSolutionsUser-CreatedTemplatesCommonlyusedconstructsCompany-specificprocessesCompany-specifictemplatesetc.ApplicationSolutionTemplates

Call$imBP$imetc.CommonPanel

ManycommonmodelingconstructsVeryaccessible,easytouseReasonableflexibilitySupport,TransferPanels

AccesstomoredetailedmodelingforgreaterflexibilityBlocks,ElementsPanels

AlltheflexibilityoftheSIMANsimulationlanguageUser-WrittenVisualBasic,C/C++,FORTRANCode

TheultimateinflexibilityC/C++/FORTRANrequirescompiler2024/4/1230ARENA©简介

回顾与小结

小贴士2024/4/1231ARENA简介启动ARENAARENA基本特点和前例所使用的概念对象相对应界面完全是标准化的操作,功能也是标准化的可与其它软件兼容,如MSOffice具有优化内存管理功能2024/4/1232ARENA7.0简介应用ARENA进行模拟的基本操作:创建基本模型:Arena提供了一个所见即所得的流程图形式的环境来进行建模。只需将相应的模块拖拉至模型窗口并按照逻辑连接起来就可以构造出处理流程。细化模型:可以通过双击相应模块并进行参数调整就可以将实际问题的数据(如,处理时间,资源要求,服务人员水平,等)添加到模型中。也可以根据需要来定制动画图标以更好地显示问题的流程。对模型进行模拟:通过对构造好的模型进行运行就可以得到模拟结果。ARENA提供了一个动态的可视化图形环境使得对模型的分析更加直观和简单。分析模拟结果:Arena提供了自动报告功能,直接就能根据常规决策条件,例如资源使用率,等候时间,等,来提交分析报告。也可以通过定制特定的统计量。选择最佳方案:由于整个模拟过程都封装在软件中,所以重点就可以放在建模和分析上。这样就可以通过多次建模和修改参数来选择最佳解决方案。2024/4/1233ARENA工作环境说明菜单/模型窗口/工具栏/PanelBasicProcessPanel/模型窗口Module(模块)流程图模块(FlowchartModule):放置在模型窗口中数据模块(DataModule):不放在模型窗口中,而是通过表格来进行表示和编辑2024/4/1234流程图模块Create模块该模块是用于模拟模型中产生实体(Entity)。通过调度或者基于某个达到时间间隔可以产生一个个实体。产生实体后,实体就离开Create模块进入系统。因此实体类型是在此模块中进行定义。Process模块该模块是用于模拟中的主要处理过程。在此模块中可以进行对资源(Resource)的获取(Seize)和释放(Release)。此外,还可以使用“submodel”选项来指定是否配置子模型。若处理时间要分配给实体,则可以选定为valueadded,non-valueadded,transfer,wait或other。Dispose模块该模块用于标识模拟模型中的实体运动结束的终点。对于实体的统计必须在该实体被dispose之前进行统计。2024/4/1235流程图模块(Continued…)Decide模块该模块允许在系统中进行决策选择处理。它根据一个或多个条件进行判断决策(如,若实体为GoldCard)或者基于一个或多个概率(如,75%是;25%否)进行判断。所设条件可以是基于属性值(如,优先级),变量值(如,NumberDenied),实体类型,或表达式(e.g.,NQ(ProcessA.Queue))。Record模块该模块用来收集模拟模型中的统计值。不同类型的观测统计值都可以在此设定,包括从此模块退出的时间,实体统计值(time,costing,etc.),一般观测值,间隔统计值(从一个时间点到当前模拟时间点)。计数类型的统计值也有效。Assign模块

该模块用于为变量,实体属性,实体类型,实体图片或者其它系统变量进行赋值。在一个Assign模块中可以进行多个赋值。2024/4/1236流程图模块(Continued…)Batch模块该模块是在模拟模型中作为分组机制来应用的。实体的Batches可以是永久性也可以是暂时进行分组。临时batches必须随后使用Separate模块进行分割。Separate模块该模块用于将一个导入实体复制到多个实体中或者可以将已经分组的实体进行分割。2024/4/1237数据模块Entity模块该数据模块用来定义不同的实体类型以及初始的图片。同样,初始成本信息和持有成本(holdingcosts)也可以在此定义。Queue模块该数据模块可以用来改变特定队列的排序规则。缺省的排序规则是FIFO。如要不同排序规则,请在此模块中设定。在此还有一个额外的字段用于指定该队列是否可以为其它实体分享。Resource模块该数据模块定义了模拟系统中的资源,包括成本信息和资源可用性。资源可以具有一个固定的容量,在整个模拟过程中不发生变化,也可根据安排改变。Resourcefailures和states用来说明该模块中的AdvancedProcessandAdvancedTransferPanel。2024/4/1238数据模块Schedule模块数据模块可用于与Resourcemodule进行连接以定义资源容量变化的安排,或者可与Createmodule

连接以定义到达安排。Set模块该模块定义了不同类型的集合,包括资源,计数器,累加器,实体类型和实体图片。资源集合可以用于Process(andSeize,Release,EnterandLeaveoftheAdvancedProcessandAdvancedTransferpanels)模块。计数器和累加器集合可以用于Record模块。队列集合可以用于Seize,Hold,Access,Request,Leave以及AllocatemodulesoftheAdvancedProcessandAdvancedTransferpanels。Variable模块该数据模块可用于定义变量和初始值。变量可以在其它模块中调用(如,Decidemodule),可以通过Assignmodule来赋值,也可以用于其它任何表达式。2024/4/1239ARENA中的关键概念EntitiesandAttributesQueuesResourcesStatisticsSetsStationsandActivityAreasStoragesSequencesConveyorsTransporters2024/4/1240EntitiesandAttributes在每个模拟模型中,entities代表在系统中移动的对象。每个实体都具有自己的特征,以attributes表示。可以根据需要定义足够多的属性。每个独立的实体都具有自己的属性值;这些值可以在处理过程中赋以。例如,对于某个实体,可以定义“Length”作为实体大小,定义“Priority”来定义实体在某些行动中的重要性。当该实体进行某些处理时,可以根据Priority来进行处理。2024/4/1241QueuesQueue的基本目的是为还无法分配到资源的实体提供排队的空间。Queues是被动的,只有在实体进入队列和相关资源可以进行分配时,Queue才会发生变化。ARENA提供两种类型的队列:Individualqueues具有一个symbolicname,一个rankingrule以及一个指定的capacity。队列中的实体可以在动画中显示出来;可以对之进行统计;可以根据灵活的排序机制进行排序;Internalqueues提供了基本的FIFO的功能,但是没有动画效果,也没有统计和排序机制。2024/4/1242ResourcesResources是系统中静止的元素,并可以分配给实体。它具有给定的capacity(在某个时点)以及states

集合(如:busy,idle,inactive或failed),这些在模拟运行过程中进行转换。Resources可以表示服务人员,机器或者仅仅是存储空间。与Resources相关的术语包括:当实体需要一个资源时,它seize该资源;当一个实体不在需要一个资源时,该实体release该资源,使得该资源可以被其它实体获取。当该实体需要使用该资源时,则它Delay该资源一定的时间(满足一定分布)。一个资源具有一个相关的队列,用来存放那些无法获取资源的实体。2024/4/1243StatisticsArena可以是用户来指定是否需要对特定对象(如,队列,资源,等)的模拟统计值进行统计。这些统计值可以在模拟运行过程中得到记录并在最终报告中显示。ARENA进行的统计值收集分为以下5类:Time-persistent

记录了和时间相关的统计值(如,队长和资源使用率);Tallies

记录了观测数据(如,系统中花费的时间实体等);Counters

计数了某个事件的观测发生次数(如,离开系统的对象个数);Frequencies

收集了系统变量的基于其不同状态类别的统计值(如,资源在每个可能状态下的时间消耗比率);outputs

给出了某个系统最终值或最终统计值(如,模拟运行最后的库存水平)。2024/4/1244Statistics-ReportsCategoryOverview

CategorybyReplicationActivityAreas

温馨提示

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

评论

0/150

提交评论