您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > arena中文教程第7章
第7章中级建模与稳态统计分析在第四章和第五章中介绍了许多利用Arena建模的基本元素,基本操作面板和高等操作面板中的一些基本用法,以及对实体流动的控制,包括资源的调度(Schedules)和状态(States)、集合(Sets)、变量(Variables)、表达式(Expressions)、站(Stations)、运送工具(Transfers),以及增强动画效果等。在这一章里,我们先介绍几个概念,通过这些概念读者可以构建更加详细的模型,然后我们在这些概念的基础上展开本章的内容。像前面的章节一样,我们将通过一些精心设计的例子来阐明这些具体的细节。首先在7.1节中介绍一个新的实例;在7.1.1节中讨论Arena中因实体而异的加工序列(Sequences)的概念;在7.1.2节中讨论对一个系统建模的一般流程,和对一个项目建模所应达到的详细程度,以及对数据的要求及其可用性,并在7.1.3节讨论建模所需的数据部分;7.1.4节中讨论模型的逻辑部分。7.1.5节中将引入动画,包括导入已有的CAD图形作为场景布局。7.1.6节讨论如何验证所建立的Arena模型反应了你所需要解决的问题。然后在7.2节中继续讨论输出数据的统计分析,这次我们将用7.1节中所建立的模型做稳态仿真输出分析。当读者已经阅读和消化了本章的材料后,对于如何考虑在很多细节上的建模就有了比较清晰地认识,并且能够学会如何通过长时间运行来对系统的稳态性能加以分析。7.1模型7-1:一个小型制造系统图7-1描述了一个小型制造系统,包括零件到达系统,四个制造单元(Cell1、2、3、4),以及零件离开系统。Cell1、2和4各有一台机器;Cell3有两台不完全相同的机器,其中较新的一台机器的加工时间是另一台的80%。这个系统生产三种类型的零件,每种零件的加工顺序是不同的。零件的加工顺序和加工时间(以分钟为单位)如表7-1所示。所有的加工时间服从三角分布,其中Cell3的时间是旧机器的加工时间。P286图7-1小型制造系统的布局各种零件混合在一起到达系统,到达间隔时间服从均值为13的指数分布;第一个零件在0时刻到达。各种零件的分布情况为:零件1占26%,零件2占48%;零件3占26%。所有零件从左边进入系统,从右边离开,在系统中以顺时针方向移动。现在,忽略距离的因素(稍候将讨论),假定在任一对单元之间的移动时间都是2分钟。我们将收集关于资源利用率、排队时间和队长、以及各种零件的系统逗留时间(从进入到离开)的统计数据。开始时,我们运行仿真32小时。7.1.1Arena中的新概念我们需要Arena中的一些新概念来描述这个问题的某些特征。第一个特征是三种零件按不同的工艺计划(加工顺序)通过系统。在先前的模型中,所有的实体都按相同的顺序通过各个位置。对于这种系统,需要有一个能够自动安排实体运动线路的工艺计划。第二个特征是Cell3的两台机器是不相同的新机器加工零件的速度比旧机器快。现在需要对这两台机器加以区别。第三个特征是实体在系统中的流动形式。在先前的模型中,实体在系统中的流动是通过直接连接(Connect)或是直接的路径(Route)选项来完成的。当使用Connect选项时,实体立即被送到下一个模块,在仿真中没有运送时间。如果在新的模型中使用Connect选项,那么就必须包含一定数目的decide模块,用以引导零件到下一个正确的加工单元,但这样无法模拟两分钟的运送时间,也无法用动画来模拟零件的流动。虽然我们可以使用Delay模块来描述运送时间,但它并不能帮助我们用动画来显示零件的移动。我们倒是可以使用Decide模块后面跟随一系列Route模块的形式来模拟两分钟的运送时间并动画显示零件的移动。不过,在Arena中有一个“序列”(sequences)的概念,它可以很容易地模拟出实体按以上方式通过系统的情况,并且描述出零件的运送时间。表7-1零件的工艺路线和加工时间零件加工单元/时间加工单元/时间加工单元/时间加工单元/时间加工单元/时间116,8,1025,8,10315,20,2548,12,162111,13,1524,6,8415,18,2126,9,12327,33,39327,9,1117,10,13318,23,28在许多系统中,不同实体都是根据其各自预先定义好的路径通过系统的。大多数制造系统中,不同零件也各有其工艺计划,具体指定了每种零件在系统中必须完成的操作序列。许多服务系统也有相似的要求。例如,一个机场旅客通行的模型中,可能需要根据旅客是否携带需检查的行李或者仅带有手提包、以及根据旅客乘坐的是国内航班还是国际航班等因素,来要求旅客从不同的路径通过机场。Arena根据预先定义的站点访问次序(在Sequences模块中定义)自动使实体按规定路线通过系统。利用高等运送面板中的Sequence数据模块可以定义一个指定的站点序列,并且可以定义在每个站点的属性或变量。将所定义的序列赋给实体(使用内置的sequence属性,下面将介绍),使实体以此顺序通过系统中的各站点。在将实体向下一目的地传输时,需在Route模块中选择Sequential选项。当实体按照自己的序列行进时,Arena会记录实体的当前位置以及下一时刻的去向。这个工作可通过三个特殊的、自动定义的Arena属性来完成:Entity.Station(M),Entity.Sequence(NS),和Entity.JobStep(IS)。每个实体都拥有这三个属性,并且新创建的实体的属性默认值为0。Station属性记录实体的当前位置或当前正要被运往的位置。Sequence属性记录实体需要遵循的序列。而Jobstep属性则指定实体当前在序列中的位置。首先使用Sequence数据模块对每种实体将要经过的一系列站点加以定义和命名。然后,当新零件进入系统时,把特定序列的名字赋给该零件实体的Sequence属性NS1,这样就把实体与相应的序列联系起来了。当实体被从一个站点运送到序列中的下一站点时,我们在实体运出模块的DestinationType域中选择Sequential选项。当运行到这一时刻时,Arena将首先对Jobstep属性(IS)的值增1。然后根据Sequence属性和Jobstep属性的当前值检索到目的站点。完成在Sequence模块中定义的赋值操作(如果有的话),并把检索到的目的站点赋给实体的Station属性(M)。最后,Arena将实体运送到那个站点。一般来说,实体按规定顺序完成加工,然后离开模型。然而不一定必需如此。只有在实体使用Sequential选项进行运送时,Jobstep属性值才自动递增。因此我们可以临时停止实体按照规定序列的传输,而是将实体直接运送到另一站点,稍后再重新回到序列规定的位置。当在加工过程中某些工位上的一些零件被要求返工时,这一点很有用。返工完成后,零件可以很方便地再次回到正常加工序列。在任何时刻都可以对sequence属性重新赋值。例如,可以通过为Sequence属性赋新1Arena在内部使用M,NS和IS作为属性名,而在下拉式菜单中提供相应的别名Entity.Station,Entity.Sequence和Entity.Jobstep。值和将Jobstep属性重置为0来处理一个不合格的零件。按新的序列,零件将被送往返工区的一系列站点,也可以通过减少或增加Jobstep属性值在序列中回溯或前跳。为了确保正确地重新设置Jobstep属性,必须要注意谨慎行事,并且要记住Arena总是先对Jobstep增值,然后再查找序列中的目的位置。正如我们在前面提到过的,读者可以在序列中的任何阶段设置属性和变量。例如改变实体图形,或者将加工时间赋给用户定义的属性。对这个小型制造系统,需要使用这一功能来定义加工时间,这些加工时间是由零件本身和其所在的加工站点决定的。7.1.2建模方法具体的建模过程依赖于系统的复杂性和可用数据的性质。在简单模型中,需要什么模块和如何放置它们是很明显的。但在更复杂的模型中,就需要慎重考虑一下用什么样的建模方法比较合适。在学习了更多关于Arena的知识后,读者会发现有很多方法可以用来模拟一个系统或系统中的一部分。对经验丰富的建模者来说,并不只有唯一的正确方法来模拟一个系统。尽管如此,但如果没有正确地捕捉到系统所需的细节要求,那么所用的建模方法就有可能是错误的。复杂模型的设计常常由模型的数据需求和可用的数据来推动。经验丰富的建模者经常要花大量时间决定如何收集、存储和使用数据,然后再设计所需的模型结构。当数据要求变得更加苛刻时,这一方法通常是在短期内正确建立模型的唯一途径。在对供应链系统、仓储系统、配送网络和服务网络系统建立仿真模型时,这一点是很明显的。例如,典型的仓库有成百上千种不同的存储单元,也即SKUs(Stock-KeepingUnits)。每一个SKU可能要求能够描述出其在仓库中的位置、尺寸、权重的数据,以及该存储单元重新进货的数据。除了详细说明与仓库存储的内容相关的数据之外,还有客户的订购数据以及SKU的存储装置或者设施类型等其它信息。如果需要模型在实验期间具有改变SKU的位置、存储装置、重新进货策略等能力,那么所用的数据结构将是很关键的。尽管本书中要建立的模型并没有那么复杂,但仍然建议在开始建模之前考虑这些数据需求。对我们的小型制造系统来说,数据结构将会在一定的程度上影响模型的设计。我们可以使用Sequence来控制零件通过系统的流程,同时在Sequence模块中为零件赋加工时间属性(本例中,在这里只赋零件在Cell1以外的其它制造单元中的加工时间,而在Cell1中的加工时间,我们将使用Expression模块来定义)。零件的运送时间和在Cell3中新机器加工时间因子(80%)将使用Variables模块来定义。在这个模型中,我们还将使用集合(Sets)来实现将正确的序列和图像与零件的类型相匹配。首先,我们将利用数据模块来定义有关参数,然后进入需要新模块的模型主题部分。其次,我们可以在模型中使用CAD图形或是其他图形来加入初始的动画元素。最后,我们将简要地讨论模型确认的概念。至此,对怎样打开和填写Arena的对话框应该已经很熟悉了,所以我们就不再细述如何在Arena中输入信息的一般细节了。对于在前面的章节中已经介绍过的模块和概念,我们仅简单地说明必须加入的数据。如果想了解我们当前处在模型的哪一部分,可以翻看图7-5,那里面给出了完整的模型。7.1.3数据模块我们将从“高等运送”(AdvancedTransfer)面板里的“序列”(Sequence)数据模块开始。双击相应的位置添加一个数据行,输入第一个序列的名字,Part1ProcessPlan。然后进入“步骤”(Steps)栏输入加工步骤,即Arena站点的列表。例如,Part1ProcessPlan要求输入下列Arena站点:Cell1,Cell2,Cell3,Cell4和ExitSystem。在StepName栏可为各步骤命名,这里可任意取为Part1Step1到Part1Step5。在输入序列时最常见的错误是忘记输入最后一站,即通常实体离开系统的地方。如果忘记了,那么当第一个实体结束了它的加工路线后,Arena会弹出运行错误信息,因为Arena不知道下一步该将它送到哪里。在定义Sequence的时候,记住一旦已经输入过一个站点的名字,那么随后就可以从模型里其它站点的下拉列表中找到它。同时读者也需要为Cell2、3、4的零件加工时间属性赋值。由于我们将用Expression数据模块定义Cell1上的加工时间,所以这里就不需要为它赋值了。输入界面7-1显示了序列Part1ProcessPlan、步骤Part1Step2,以及对ProcessTime的赋值情况。使用表7-1中的数据,可以相当简单地输入其余的序列步骤。稍后我们将展示如何在模型逻辑中使用这些序列。P290输入界面7-1Sequence数据模块接下来,通过“高等操作”面板中的Expression数据模块定义Cell1的零件加工时间表达式。该表达
本文标题:arena中文教程第7章
链接地址:https://www.777doc.com/doc-2901747 .html