跳转到主要内容

13 制造系统与物料搬运系统的仿真

制造(manufacturing)与物料搬运(material handling)系统提供了仿真最重要的一类应用。仿真已被成功地用于辅助新生产设施、仓库和配送中心的设计。它也被用于评价针对既有系统所提出的改进方案。使用仿真的工程师和分析人员发现,仿真对于评价设备与物理设施方面的资本投资、以及针对物料搬运与布局所提议的变更所产生的影响,很有价值。他们还发现,仿真对于评价人员配备规则与操作规则,以及拟纳入生产控制系统、仓库管理控制软件和物料搬运控制系统的规则与算法,也很有用。管理者发现,在进行资本投资之前先通过仿真作一次"试运行"很有用,从而不必用未经考验的变更去扰动现有系统。

第 1 节给出导言,并讨论制造与物料搬运系统仿真模型的若干特征。第 2 节讨论制造仿真的目标与最常用的系统性能度量。第 3 节讨论许多制造与物料搬运仿真中所共有的若干问题,包括对停机与故障的处理,以及使用实际历史数据或历史订单文件的跟踪驱动仿真。第 4 节给出若干已报道的仿真项目的简要摘要,并附有供进一步阅读的参考文献。第 5 节给出一个小型生产线仿真的扩展示例,强调通过实验与分析系统性能以达到期望的吞吐量。

1 制造与物料搬运系统仿真

与所有建模项目一样,制造与物料搬运仿真项目也需要处理范围(scope)与细节层次(level of detail)这两个问题。可以把范围类比为宽度,把细节层次类比为深度。范围描述项目的边界:哪些内容在模型之中,哪些不在。对于一个子系统、过程、机器或其他部件,项目范围决定了该对象是否纳入模型。而一旦某个部件或子系统被作为模型的一部分来对待,它往往就可以在许多不同的细节层次上进行仿真。

恰当的范围与细节层次应当由研究的目标和所提出的问题来决定。另一方面,细节层次也可能受输入数据可获得性以及对系统部件如何工作的了解程度的限制。对于新建的、尚不存在的系统,数据的可获得性可能有限,而对系统的了解可能只能基于假设。

可以给出一些一般性指导原则,但最有成效的依据,是由经验丰富的仿真分析人员与客户一道,在项目早期即确定模型所要回答的问题,以此来选择恰当的范围与恰当的细节层次。

模型是否应当仿真每一段输送带区段或每一台车辆的移动,还是其中一些可以用一个简单的延迟来代替?模型是否应当仿真辅助零件、外购零件的处理,还是可以假定这些零件在装配需要时总是位于正确的位置?

控制系统需要仿真到何种细节层次?许多现代制造设施、配送中心、行李分拣系统以及其他的物料搬运系统,都是由管理控制软件系统进行计算机控制的。内置于这类控制软件中的算法,在系统性能中发挥着关键作用。仿真常被用来评价和比较相互竞争的控制方案的有效性,并评价所提出的改进方案。它还可用于在控制系统安装之前,调试并精调其逻辑。

这些问题是建模项目在选择恰当范围与细节层次时所需处理的问题的代表性例子。反过来,范围与模型细节层次又限制了模型所能回答的问题的类型。此外,模型可以迭代式地开发:若日后判断某些外围作业对主作业有显著影响,则在后续阶段再补充其细节。尽可能地从最简单开始、只在需要时才增加细节,是一条很好的建议。

1.1 制造系统模型

制造系统模型可能必须考虑这类系统的若干特征,其中包括以下一些:

  1. 物理布局
  2. 人员
    • (a) 班次安排
    • (b) 岗位职责与资格认证
  3. 设备
    • (a) 速率与产能
    • (b) 故障
      • (i) 失效时间
      • (ii) 修复时间
      • (iii) 修复所需资源
  4. 维护
    • (a) 预防性维护(PM)计划
    • (b) 所需时间与资源
    • (c) 刀具与夹具
  5. 工作中心
    • (a) 加工
    • (b) 装配
    • (c) 拆卸
  6. 产品
    • (a) 产品流程、工艺路线与所需资源
    • (b) 物料清单
  7. 生产计划
    • (a) 备货生产
    • (b) 订单生产
      • (i) 客户订单
      • (ii) 订单行项目与数量
  8. 生产控制
    • (a) 作业分配到工作区域
    • (b) 工作中心的任务选择
    • (c) 路线决策
  9. 供应
    • (a) 订购
    • (b) 收货与存储
    • (c) 配送至工作中心
  10. 存储
  • (a) 物料
  • (b) 备件
  • (c) 在制品(WIP)
  • (d) 成品
  1. 包装与发运
  • (a) 订单合并
  • (b) 单证
  • (c) 拖车装载

1.2 物料搬运系统模型

在制造系统中,一件物料在系统内的总时间有 80% 到 85% 花在物料搬运上,或花在等待物料搬运发生上,这并不罕见。这部分在制品(WIP)代表着巨额投资,减少在制品及其相关延误可以带来可观的成本节约。因此,对某些研究而言,细致的物料搬运仿真是划算的。

在某些生产线上,物料搬运系统是一个不可或缺的组成部分。例如,汽车喷漆车间通常由一套动力—自由(power-and-free)输送带系统构成,把汽车车身或车身部件运送到喷漆室中。

在仓库、配送中心以及直通式和越库作业中,物料搬运显然是任何物料流模型的关键组成部分。人工仓库通常使用人工叉车把托盘从收货月台运到存储区,再从存储区运到发货月台。自动化程度更高的配送中心可能会使用大量输送带系统,以支持上架、拣货、订单分拣与合流。

物料搬运系统的模型常常必须包含以下类型的子系统:

  1. 输送带
    • (a) 累积式
    • (b) 非累积式
    • (c) 索引式及其他专用形式
    • (d) 固定窗口式或随机间距式
    • (e) 动力—自由式
  2. 运输设备
    • (a) 无约束车辆(例如人工操纵的叉车)
    • (b) 有引导的车辆(自动的或由操作员操纵的、导线引导的、化学路径的、轨道引导的)
    • (c) 桥式起重机及其他架空提升设备
  3. 存储系统
    • (a) 托盘存储
    • (b) 箱式存储
    • (c) 小件存储(周转箱)
    • (d) 超大件
    • (e) 货架存储或码垛堆放
    • (f) 带存取机(SRM)的自动存取与检索系统(AS/RS)

1.3 常见的物料搬运设备

制造、仓储与配送作业中常见的物料搬运设备种类繁多。它们包括无约束运输设备,例如手推车、人工驾驶的叉车和托盘车;有引导路径的运输设备,例如自动导引车(AGV);以及固定路径的设备,例如各种类型的输送带。

无约束运输设备这一类(有时称为自由路径运输设备)包括手推车、叉车、托盘车以及其他人工驾驶的车辆,它们可以在整个设施内自由行驶,不受任何种类的引导路径的约束。无约束运输设备不受路径网络的限制,可以选择替代路径或绕开障碍物。与之相对,有引导路径的运输设备沿固定路径运行,例如地面上的化学路径标线、嵌入地面的导线,或有策略地布置的红外灯;也可以依靠自引导,即利用无线电通信、激光制导与航位推算,以及轨道。有引导路径的运输设备有时会彼此争夺其路径上的空间,在遇到障碍与拥堵时通常可选的方案有限。有引导路径的运输设备的例子包括自动导引车(AGV)、用于在货架存储中存取托盘的轨道导向堆垛车,以及 AS/RS(自动存取与检索系统)中的起重机。

输送带是一种固定路径设备,用于把实体从一点运到另一点,沿固定路径运行,具有特定的装载、停止或加工点以及卸货点。一个输送带系统可以由许多相互连接的区段组成,其中带有合流与分流。每个区段可以是若干种不同类型之一。输送带类型的例子包括带式、动力滚筒式与重力滚筒式、斗式、链式、翻板式(tilt tray)以及动力—自由式,每一种都有各自的特性,必须准确建模。

大多数输送带区段可分为累积式或非累积式。累积式输送带区段持续运行。如果某件物料在累积式输送带上向前推进时受阻,就会发生滑移,使该件物料保持静止,而其后面的物料则继续移动,直到遇上这件静止的物料。一些带式输送带和大多数滚筒式输送带即以这种方式工作。只有相互碰撞不会造成损坏的物料,才可以放到累积式输送带上。

与之相对,物料一旦进入非累积式输送带区段,它与其他物料之间的间距就不再改变。如果有一件物料停止移动,则整个区段都停止移动,因而该区段上的所有物料都停止。例如,非累积式输送带用于搬运尚未装箱的电视机,因为在从一个装配工位或测试工位运到下一个的过程中,它们必须彼此保持安全距离。斗式输送带、翻板式输送带、某些带式输送带,以及为承载重载(通常是托盘)而设计的输送带,都是非累积式输送带。

输送带还可以分为固定窗口式和随机间距式。在固定窗口间距下,输送带上的物料必须始终位于长度相等的区间之内,可以把它想象成在带式输送带上画出的若干条线,或由链条牵引的一排托盘。例如,在翻板式输送带中,使用固定尺寸、连续运行的托盘来运送物料。控制系统的设计使得物料以每个物料各占一个托盘的方式进入;因此,它是一种非累积的固定窗口式输送带。与之相对,在随机间距下,物料相对于其他物料可以位于输送带区段上的任意位置。物料进入(induct)时只需要有足够的空间即可。

除了这些基本类型之外,还有数不清的各类专用输送带,用于特殊目的。例如,专用索引式输送带可以按增量向前移动,始终在前方载荷的后缘与后方载荷的前缘之间保持固定距离。其目的是形成一个等间距的物料"串"(slug),以便一起进入运输输送带。对于某些系统的局部行为——也就是某个特定工作站或入口处的性能——要想得到准确的结果,就必须详尽理解并准确建模其物理运行机理与控制逻辑。

2 目标与性能度量

仿真的目的是洞见,而不是数字。购买和使用仿真软件与服务的人,希望获得关于一个新建或经修改的系统将如何运行的洞见与理解。它能达到预期的吞吐量吗?在高峰期,响应时间会怎样?系统对短期激增是否具有韧性?当短期激增造成拥堵与排队时,恢复时间是多少?人员配备要求是什么?会出现哪些问题?如果出现问题,其原因是什么,又是如何产生的?系统的容量是多少?什么样的条件与负荷会使系统达到其容量?

人们期望仿真给出数值形式的性能度量,例如在给定一组条件下的吞吐量,但仿真的主要收益来自就系统运行所获得的洞见与理解。通过动画与图形进行的可视化,对于传达模型假设、系统运行过程与模型结果大有帮助。可视化往往是模型可信度的主要来源,而模型可信度反过来又促成了对模型数值输出的接受。当然,一项恰当的实验设计——其中包含恰当范围的实验条件,再加上严谨的分析,以及对于随机仿真模型而言恰当的统计分析——对于仿真分析人员从仿真输出中得出正确结论而言,是极其重要的。

制造仿真模型的主要目标是识别问题区域并量化系统性能。常见的系统性能度量包括以下各项:

  • 平均负载与峰值负载下的吞吐量;
  • 系统周期时间(生产一件零件所需的时间);
  • 资源、人员与机器的利用率;
  • 瓶颈与阻塞点;
  • 工作地点处的排队;
  • 由物料搬运设备与系统引起的排队与延误;
  • WIP 存储需求;
  • 人员配备要求;
  • 调度系统的有效性;
  • 控制系统的有效性。

物料搬运常常是制造系统及其性能的重要组成部分。非制造的物料搬运系统包括仓库、配送中心、越库作业,以及机场和集装箱码头的行李分拣系统。这些非制造物料搬运系统的主要目标与针对制造系统所确定的目标相似。此外还应考虑以下各项:

  • 处理一天的客户订单所需的时间;
  • 订单结构变化的影响(针对配送中心);
  • 卡车/拖车在收货与发货月台处的排队与延误;
  • 物料搬运系统在峰值负载下的有效性;
  • 从短期激增中恢复所需的时间(例如对于行李分拣)。

3 制造与物料搬运仿真中的问题

有若干建模问题对于取得准确且有效的制造与物料搬运系统仿真模型而言尤为重要。其中两个问题是:停机的恰当建模,以及对于某些输入,是使用实际系统数据还是使用这些输入的统计模型。

3.1 停机与故障的建模

未计划的随机停机可以对制造系统的性能产生重大影响。许多作者都讨论过停机数据的恰当建模问题(Williams [1994];Clark [1994];Law and Kelton [2000])。本节讨论停机建模不当可能引发的问题,并提出若干正确建模机器与系统停机的方法。

计划内停机,例如用于预防性维护的停机;或周期性停机,例如用于更换刀具的停机,同样可以对系统性能产生重大影响。但这些停机通常是(也应当是)可预测的,可以加以安排以尽量减少对生产的干扰。此外,工程努力或新技术也许能够缩短其持续时间。

对随机未计划停机的建模有若干可选方式,各有优劣:

  1. 忽略它。
  2. 不显式建模它,而是按适当比例增大处理时间。
  3. 对失效时间和修复时间使用常数取值。
  4. 对失效时间和修复时间使用统计分布。

当然,方式 (1) 一般不是被建议的做法。若停机会影响结果(几乎在所有情形下都会如此),这肯定是一种不负责任的建模技术。在充分知悉客户情况的前提下,有一种忽略停机或许恰当的情形:即略去那些极少发生、会使生产线或工厂长时间停工的灾难性停机。换言之,模型将纳入常规停机,但忽略那些极少发生、却一旦发生就使全部生产停止的灾难性停机,例如大面积停电、暴雪、气旋和飓风。项目成文界定的范围应当清楚地说明所假定的运行条件,以及未纳入模型的那些条件。如果通常已知工厂每年会有若干个因大雪而停工的日子,那么仿真就不必把这些停机计入,因为在作年度预测时,任何给定天数的影响都可以很容易地折算进仿真结果。

第二种可能性,即通过调整施加于每项作业或每件零件的处理时间,把停机的影响计入模型,在有限的情形下也许是一种可接受的近似。如果每项作业或每件零件都受到大量与设备或刀具停机相关的小延误,那么这些延误之和可以加到纯处理时间上,从而得到一个调整后的处理时间。如果总延误时间与纯处理时间都是随机的,那么应当为调整后的总处理时间选用适当的统计分布。如果纯处理时间是常数,而一个循环中的总延误时间是随机且可变的,那么用某个常数因子去调整处理时间几乎总是不准确的。例如,如果处理时间通常是 10 分钟,但设备存在导致约 10% 产能损失的停机,那么仅仅把处理时间改为恒定的 11 分钟是不恰当的。这样一种确定性调整也许能对系统总吞吐量给出相当准确的估计,但无法准确估计诸如高峰期所需排队与缓冲空间这样的局部行为。排队与短期拥堵受随机性与可变性的强烈影响。

第三种可能性,即对失效时间和修复时间使用恒定时长,在例如停机实际上源于按固定计划执行的预防性维护时,可能是恰当的。在几乎所有其他情形下,第四种可能性——用适当的统计分布来建模失效时间与修复时间——才是恰当的技术。这需要实际数据来选择统计分布(依据绝对性能估计技术进行估计),或者在缺乏数据时,依据停机成因的物理性质作出合理假设。

失效时间的性质同样重要。失效时间是否完全随机?这种情形通常是由大量可能的失效原因造成的。若是这种情况,指数分布可能提供一个良好的统计模型。或者,失效时间是否更为规律——通常是某个主要部件(比如某把刀具)磨损所致?若是这种情况,均匀分布或(截断)正态分布可能更为合适。在后一种情形下,该分布的均值代表平均失效时间,而分布在均值左右给出一个正负范围。

失效时间可以按若干不同方式度量:

  1. 按挂钟时间;
  2. 按机器或设备的忙碌时间;
  3. 按循环次数;
  4. 按生产件数。

故障或失效可以基于时钟时间、实际使用量或循环次数来设定。请注意,这里用的是"故障"或"失效"这两个词,尽管停机的原因也可能是预防性维护。如前所述,故障或失效的持续时间可以是概率型的,也可以是确定型的。

基于实际使用量的故障,是以资源被使用的时间为依据的。例如,机床的磨损只在机床处于使用状态时才发生。失效时间是对照机器忙碌时间度量的,而不是对照挂钟时间。若失效时间为 90 小时,则模型跟踪自上次停机结束以来的总忙碌时间;当达到 90 小时时,加工被中断并发生一次停机。

基于时钟时间的故障可能与计划维护有关;例如每三个月更换一次油液以完成一次全面润滑。基于挂钟时间的停机也可用于那些始终忙碌的设备,或那些即使不在加工零件时也照常运行的设备。

基于循环的故障或失效,是以资源被使用的次数为依据的。例如,一把刀具每使用 50 次就需要刃磨。基于循环次数或生产件数的停机,其实现方式是生成所需的次数或件数,并在模型中简单地计数直到达到该数目。基于忙碌时间或循环次数的停机,典型的用途是维护或更换刀具。

另一个问题是,当发生故障或失效时,机器上的零件会怎样。可行的处理包括报废该零件、返工,或干脆在修复之后继续加工。在某些情形下——例如到了预防性维护的时间——机器中的零件可能在修复(或维护作业)开始之前就完成了加工。

修复时间同样可以用两种根本不同的方式来建模:

  1. 作为纯粹的延迟(不需要资源);
  2. 作为等待某项资源(例如维修人员)的等待时间,加上实际修复所需的时间延迟。

当然,在实际的建模情境中,这些方法有许多变形。当维修或维护人员属于有限资源时,第二种方式是更准确的模型,并能提供更多的信息。

接下来的例子说明了在停机建模中采用恰当方法的重要性,以及不恰当假设有时导致的不准确结果。

例 1:停机对排队的影响

考虑一台单独的机器,它加工种类繁多的零件,这些零件以随机的组合在随机时刻到达。数据分析表明,均值为 7.5 分钟的指数分布处理时间能给出相当准确的刻画。零件随机到达,到达间隔时间服从均值为 10 分钟的指数分布。机器在随机时刻发生故障。停机研究表明,失效时间可以用均值为 1000 分钟的指数分布作出合理近似。修复该资源的时间同样服从指数分布,均值为 50 分钟。当发生故障时,机器中正在加工的零件被移出机器;修复完成后,该零件恢复其加工。

零件到达后,在机器处排队等待轮到自己。我们希望估计这一队列的长度。为此设计了一项实验,用以估计队列中零件的平均数量。为说明准确处理停机所带来的影响,模型在若干种不同假定下运行。对于每一种情形和每一次重复,仿真运行长度均为 100,000 分钟。

表 1 给出了对故障间隔时间作六种不同处理时,队列中零件的平均数量。对于每一种涉及随机性的处理,均给出 5 次重复的结果及其平均值。

表 1 有故障机器的队列中零件平均数量

情形第 1 次重复第 2 次重复第 3 次重复第 4 次重复第 5 次重复平均
A. 忽略故障2.362.052.382.052.702.31
B. 服务时间增加到 8.03.322.823.322.814.033.26
C. 全部随机4.053.774.363.954.434.11
D. 加工随机,故障确定3.242.853.283.053.793.24
E. 全部确定0.52
F. 加工确定,故障随机1.061.041.101.321.161.13

情形 A 忽略故障。队列中的平均数量为 2.31 件。在这 5 次相互独立的重复中,各次的平均值介于 2.05 与 2.70 之间。这种对故障的处理方式是不推荐的。

情形 B 把平均服务时间从 7.5 分钟增加到 8.0 分钟,试图近似停机的影响。平均而言,每一个停机—修复周期为 1050 分钟,其中机器停机 50 分钟。因此,从长期平均看,机器停机占总时间的 50/1050 = 4.8%。于是有些人主张,停机的作用大致等同于把每件零件的处理时间增加 4.8%,即约 7.86 分钟。因此,假定每件零件恒定 8 分钟的做法(据称)是一种保守的处理方式。在这一停机处理方式下,5 次重复的队列中零件平均数量约为 3.26 件。在这 5 次重复中,取值区间为 2.81 至 4.03。(注意,与其他情形相比,由取值区间所显示的变异性要小得多。)情形 B 下的处理方式在某些有限的情形下可能是恰当的,但如前一节所讨论的,在本例的假定之下它并不恰当。

恰当的处理方式如情形 C 所示:它按照所假定的正确指数分布,恰当地处理了加工与故障中的随机性。其平均值约为 4.11 件零件在等待机器。在这 5 次重复中,平均队列长度介于 3.77 至 4.43 之间。平均等待数量与情形 B 相差将近一件。

情形 D 是一种简化:它把加工看作随机的,而把故障看作确定的。结果为队列中平均约 3.24 件。各次平均值的区间为 2.85 至 3.79,相较情形 C,变异性有明显降低。

情形 E 把所有时间都看作确定的。只需一次重复即可,因为追加的重复(使用相同的种子)会重现同样的结果。队列中的平均值为 0.52 件,远低于情形 C 的取值,乃至低于其他任何情形的取值。结论是:忽略随机性是危险的,会导致完全不现实的结果。

情形 F 把到达与加工看作确定的,而故障是随机的。机器处队列中零件的平均数量约为 1.13。取值区间为 1.04 至 1.32。对于制造环境中某些机器及其加工过程,情形 F 是符合实际的情况:加工时间是恒定的,到达也受到调节——也就是说,同样是恒定的。留给读者思考的是:若就失效时间与修复时间的性质作出错误假定,将会产生何种不准确之处。

结论是,基于对随机性的不同处理,所估计的队列平均数量之间可能存在显著差异。使用正确随机性处理所得到的结果,可能与其他各种替代处理所得结果大不相同。人们常常因为拿不到细致数据、而手上只有平均值,就倾向于把平均失效时间当作常数来使用。例 1 说明了不恰当假定的危险。所应采用的技术与所应采用的统计分布,都取决于可获得的数据以及具体情境。

正如 Williams [1994] 所讨论的,准确地处理停机,对于取得有效的制造系统模型是必要的。其要点包括以下几项:

  1. 避免过度简化且不恰当的假定;
  2. 仔细收集停机数据;
  3. 用统计分布准确表示失效时间与修复时间;
  4. 在停机发生时,就修复时间的逻辑以及当前正在加工的零件的处置这两方面,准确建模系统逻辑。

3.2 跟踪驱动模型

由实际历史数据驱动的模型称为跟踪驱动模型(trace-driven model)。本节给出一个例子,并说明在哪些建模情境中,对某些输入数据项采用跟踪驱动的方法比其他方法更有利。

考虑一个配送中心的模型,它接收客户订单,这些订单必须在一天之内完成处理并发运。建模的一个问题是如何表示这一天的订单集合。一个典型的订单会包含一个或多个订单行项目(line item),而每个订单行项目的数量可以是若干件中的一个或多个。例如,当你购买一台新的立体声音响时,你可能会买一台功放、一个调谐器和一台 CD 播放器(各为一个独立的订单行项目,数量均为 1 件),以及 4 只相同的音箱(另一个订单行项目,数量为 4 件)。订单的总体结构(order profile)对某一特定系统设计的性能可能有重大影响。一个为处理"发往少数客户的大额订单"而设计的系统,若订单结构转为"客户数量更多(或单独发运批次更多)、每单仅有一两件物品",其表现可能就不佳。

一种做法是:对订单中的每个变量使用离散统计分布来刻画订单结构:

  1. 订单行项目的数量;
  2. 对每个订单行项目,其件数。

如果这两个变量在统计上相互独立,那么这一做法或许能给出订单结构的有效模型。然而对许多应用而言,这两个变量可能高度相关,且这种相关关系难以用统计方法刻画。例如,一家服装与鞋类公司有六家大客户(大型百货商店与折扣连锁店),它们占销售量的 50%,通常订购数十乃至数百个订单行项目,并且其中许多项目的订购量很大。而在另一个极端,任何给定的一天大约有 50% 的订单只订一双或两双鞋(真是"过度版"的准时制生产!)。对这家公司而言,订单中行项目的数量与订购数量之间高度正相关;也就是说,行项目数量多的大额订单,其许多行项目的订购量通常也很大。而只有少数几个行项目的小额订单,通常每一项的订购量都小。

如果用相互独立的统计分布来建模"行项目数量"和"每行项目的件数"这两个变量,会发生什么情况?当一份订单开始处理时,模型将进行两次互不相关的随机抽取,这可能得出与实际中所见大不相同的订单结构。这种错误假定可能导致——例如——过大比例的订单只有一两个行项目,却带有大得不切实际的数量。

另一个常见但更为严重的错误,是假定存在一个"平均订单",于是只仿真一天中的订单数量,而每份订单都是那个典型订单。以作者的经验,对许多订单结构的分析表明:(1) 不存在所谓典型订单;(2) 也不存在所谓典型订单结构。

另一种做法(在许多研究中已被证明是成功的)是:由公司提供过去一年中若干个抽样日期的实际订单。通常,仿真峰值日期是值得期望的。以这种方式驱动的模型称为跟踪驱动模型。

跟踪驱动模型彻底排除了因忽略或错误估计数据中相关性而造成错误的可能性。一项明显的局限可能是:客户有时希望能够仿真对订单结构的假设性变更,例如在行项目数量与订购数量两方面都更小的小额订单所占比例有所上升。实践中,这一局限可以通过在模型的订单结构部分加入"旋钮"来消除,使仿真分析人员可以按需要调高或调低某些特征。一种做法是把当天的订单视为一个统计总体,模型从中随机抽样。这样无需改动结构就能方便地改变总订单量。第二种相关做法是:按行项目数量、数量或其他数值参数,把当天的订单划分为若干子组,然后按规定的比例从每个子组中抽样。通过改变各子组的比例,不同的订单结构就可以被"调出来"并送入模型。第三种做法是使用因子来调整每天的订单数、行项目数量和/或订购数量。实践中,对于假设的未来订单结构而言,这些做法中的某一种可能已足够准确,并可提供一个成本有效且相当准确的模型,尤其是在检验系统设计对订单特征假定变化的稳健性时。

跟踪驱动模型中可用的其他输入变量示例包括:

  • 使用实际历史订单的定制单件车间(job shop)所收到的订单;
  • 生产 100 种款式与规格的热水器的装配线上的产品组合与数量,以及生产排序;
  • 使用实际维修记录的失效时间与停机时间;
  • 使用门禁记录的卡车到达仓库的时刻。

是把某个输入变量做成跟踪驱动的,还是用统计分布来刻画它,取决于若干因素,包括该变量本身的性质、它与其他变量是相关还是独立、准确数据的可获得性,以及所要回答的问题。

4 制造与物料搬运系统仿真的案例研究

《冬季仿真会议论文集》(Winter Simulation Conference Proceedings)、《IIE 杂志》(IIE Magazine)、《现代物料搬运》(Modern Material Handling)等期刊,是获取制造与物料搬运系统仿真短案例的极好信息来源。

对以往《冬季仿真会议论文集》中若干论文的摘编,可以使人们对仿真所能处理的问题类型获得一些启发。这些摘编在适当之处作了转述与删节;我们的目的是说明仿真在真实世界中的应用之广。

分会: 半导体晶圆制造

论文: 半导体晶圆制造中的物料搬运建模与仿真

作者: Neal G. Pierce and Richard Stafford [1994]

摘要: 本文给出一项设计研究的结果,用于分析半导体晶圆制造的跨区(interbay)物料搬运系统。作者建立了常规洁净室物料搬运(包括人工系统和自动化系统)性能的离散事件仿真模型。常规洁净室物料搬运系统的组成部分包括用于跨区(区间到区间)运输的空中单轨系统、用于批次存储的在制品堆垛机,以及用于区内搬运的人工系统。作者构建了模型与实验,以帮助分析洁净室物料搬运中的各类问题,例如设计常规自动化物料搬运系统、确定运输车辆的技术要求。

分会: 航空航天制造中的仿真

论文: 飞机装配作业的建模

作者: Harold A. Scott [1994]

摘要: 本文用一个仿真模型来帮助理解飞机装配作业中复杂的交互作用。仿真有助于识别资源约束对动态过程能力与周期时间的影响。为分析这些影响,模型必须在控制代码层面上捕捉作业与班组之间的交互。本文探讨了建立仿真模型以分析飞机装配线上班组作业的五个方面:

  • 表示作业的先后顺序关系;
  • 仿真具有不同技能水平与作业熟练程度的班组成员;
  • 重新调配班组成员以协助进行中的作业;
  • 描绘班次与加班;
  • 建模生产区域中的空间约束与班组移动。

分会: 制造系统的控制

论文: 面向车间控制的离散事件仿真

作者: J. S. Smith, R. A. Wysk, D. T. Sturrock, S. E. Ramaswamy, G. D. Smith, S. B. Joshi [1994]

摘要: 本文描述了仿真在柔性制造系统车间控制中的一项应用。仿真不仅被用作分析与评价工具,还被用作确定车间控制任务的任务生成器。采用这一方法,仿真中开发控制逻辑所付出的工作不会在控制系统开发中重复。相反,控制系统所采用的正是仿真中所用的同一套控制逻辑。此外,由于仿真正在实现这些控制,它能提供保真度很高的性能预测。本文描述了在两个柔性制造实验室中的实施经验。

分会: 柔性制造

论文: 利用仿真开发与分析柔性单元系统

作者: Edward F. Watson and Randall P. Sadowski [1994]

摘要: 本文开发并评价了若干柔性单元方案,以支持一家中型工业设备制造商的敏捷生产环境。基于传统的流程分析研究、以往经验与常识,开发了三种工作单元方案。仿真模型使分析人员既能在当前条件下评价各单元方案,也能在包含产品需求、产品组合与工艺技术变化的预期未来条件下加以评价。

分会: 生产系统的建模

论文: “准时制"生产的库存成本模型

作者: Mahesh Mathur [1994]

摘要: 本文给出一个仿真模型,用于在批量大小变化时比较准备成本与库存持有成本。虽然缩减批量是在单件车间环境中实施准时制(JIT)生产的必要步骤,但仍需仔细进行成本研究,以确定在当前设置条件下的最优批量。该仿真模型以动态方式在时间尺度上图形化地显示持有成本的波动与准备成本的累积。随后,最优批量的决策就可以基于现实的成本数据来作出。

分会: 制造系统的分析

论文: 制造系统中体力劳动强度的建模

作者: I. Ehrhardt, H. Herper, and H. Gebhardt [1994]

摘要: 本文描述了一个仿真模型,该模型把体力作业纳入考虑,以提高物流系统规划的有效性。尽管自动化程度不断提高,但在生产与物流中仍有一些关键任务交由人来完成。当前的仿真建模工作很少关注分配给人的体力活动。

分会: 制造案例研究

论文: 钢帘线制造中质量与生产率的仿真建模

作者: C. H. Turkseven and G. Ertek [2003]

摘要: 本文描述了仿真建模在估计和改善钢帘线制造系统质量与生产率表现方面的应用。它聚焦于断丝现象,这是系统扰动的一个重要来源。

分会: 制造分析与控制

论文: 生物技术制造中共享资源的产能分析

作者: P. V. Saraph [2003]

摘要: 本文讨论了仿真在分析拜耳公司(Bayer Corporation)某一制造设施中一项共享资源——速冻隧道(Blast Freezer)——产能需求方面的一项应用。仿真模型被用来分析工作负荷模式、运行不同的工作负荷方案(同时考虑不确定性与变动性),并就产能扩充计划提出建议。这项分析还证明了某些作业调度政策的益处。分析结果被用于确定 2002 年的资本投资。

分会: 制造分析与控制

论文: 采用选择性订单接收的订单生产制造系统中订单释放机制的行为

作者: A. Nandi and P. Rogers [2003]

摘要: 作者用一个仿真模型评价了一项有争议的政策,即在订单释放到车间之前,先让其在车间前缓冲池(preshop pool)中等待。在订单生产制造系统中,若产能是固定的、外生交期是不灵活的,那么让订单在车间前缓冲池中等待可能使系统整体的交期表现恶化。该模型被用来评价一种替代方法,即以有选择地拒绝订单的方式来应对需求激增,同时保持可接受的交期表现。

5 制造业示例:装配线仿真

本节描述一个用于最终装配"小装置”(gizmo)的生产线模型,随后重点说明如何用仿真来分析系统性能。

5.1 系统描述与模型假定

在某制造设施,一个工程团队已设计出一条用于最终装配小装置的新生产线。在为安装该新系统而投资之前,团队中的一些成员提议用仿真来分析该系统的性能,具体来说,是预测系统吞吐量(平均每 8 小时班次产出的小装置数)。此外,工程师们还希望评价对已设计系统的潜在改进措施。其中一项潜在改进是在相邻工作站之间增加用于存放在制品(WIP)的缓冲空间。

团队决定开发一个仿真模型并开展分析。他们的主要目标是:对给定的系统设计预测吞吐量(平均每班完成的小装置数),并评价其是否达到期望吞吐量。此外,若吞吐量低于预期,团队希望利用模型来帮助识别瓶颈、深入理解系统的动态行为,并评价潜在的设计改进措施。

所提出的生产线有六个工作站,以及用于在相邻工位之间存放 WIP 的专用货架。其中有四个人工工位,每个工位各有一名操作员;另有两个自动工位,两者共用一名操作员。六个工位按如下顺序执行生产任务:

工位 1:起始人工工位,开始新小装置的最终装配

工位 2:人工装配工位

工位 3:人工装配工位

工位 4:自动装配工位

工位 5:自动测试工位

工位 6:人工包装工位

在每个人工工位,操作员把小装置装到工作台上,执行若干任务,完成后把小装置卸下并放入供下一工作站使用的 WIP 存储中。操作员完成装卸任务分别需要 10 秒和 5 秒。

每一对相邻工位之间的 WIP 存储货架容量有限。如果某工位完成了其小装置上的任务,但下游货架已满,则该小装置必须留在工位内,从而阻塞任何进一步的工作。在初始设计中,WIP 存储货架的容量如表 2 所示。(假定工位 1 之前的 WIP 存储始终保持满,即 4 个单位;由于假定其始终是满的,其具体容量不起作用。)具有表 2 所列容量的系统设计称为基准配置(Baseline configuration)。

表 2 基准配置的 WIP 存储缓冲区容量

工位前的货架123456
缓冲区容量422212

不时会有工具发生故障,在人工或自动工位上造成未计划停机或意料之外的额外工作。此外,所有操作员都被安排在同一时间休息 30 分钟的午餐。午餐期间工作被中断,午餐后在中断处继续。这一中断/恢复规则适用于操作员的所有任务,包括装配作业、零件补给以及停机期间的维修。

在自动工位上,由机器执行装配或测试任务。自动工位可能有未计划(随机)停机,但在操作员午餐期间它们继续运行。一名操作员服务这两台机器,负责装卸小装置(分别为 10 秒和 5 秒)。装载完成之后,机器自行加工该小装置,除非发生停机,否则无需操作员进一步干预。在所有工位上,只要工位发生停机,操作员就按需要进行维修。

表 3 装配时间与零件补给时间

工位每个小装置的装配时间(秒)零件号零件补给时间(秒/批)每批零件数
140A1015
B1510
238C208
D1514
338E3025
435
535
640FaF^a3032

a 在工位 6,零件号(F)代表运输容器。

表 3 给出了各工位的总装配时间与零件补给时间,以及一批中的零件数。人工工位的装配时间假定在表 3 所给数值的基础上上下浮动 2 秒(均匀分布)。零件补给并非对每个小装置都发生,而是在一批零件装配到小装置之后才发生。工位 4 与工位 5 的机器不消耗零件。

每个工位都可能出现未计划(随机)停机。人工工位 1、2 和 3 会出现刀具故障或其他意料之外的问题。自动工位偶尔会卡料,或出现其他需要指定操作员去处理的问题。工位 6(包装)不会出现这类停机。表 4 给出了失效时间(TTF)与修复时间(TTR)的分布假定,以及所假定的平均失效时间(MTTF)、平均修复时间(MTTR)与修复时间的离散程度(±)。例如,在工位 1,修复时间服从均值为 4.0 分钟、上下浮动 1.0 分钟的均匀分布;也就是说,均匀分布在 3.0 至 5.0 分钟之间。故障只可能在操作员或机器正在工作时发生;因此,TTF 的建模方式是只测量到故障发生为止的忙碌时间或加工时间。

模型的主要输出或响应量,是在所假定的每 8 小时班次中 7.5 个工作小时内的平均吞吐量。模型还要度量各工位的详细利用率,包括忙碌或加工时间、闲置或饥饿时间(没有准备好加工的零件)、阻塞时间(零件因下游 WIP 缓冲区已满而无法离开工位)、未计划停机,以及等待操作员的时间。

表 4 未计划停机的假定与数据

工位TTFMTTF(分钟)TTRMTTR(分钟)±期望可用率
1指数分布36.0均匀分布4.01.090%
2指数分布4.5均匀分布0.50.190%
3指数分布27.0均匀分布3.01.090%
4指数分布9.0均匀分布1.00.590%
5指数分布18.0均匀分布2.01.090%

当操作员与工位都已准备好加工下一个小装置、刚完成的小装置也离开了工位,但上游状况使得没有小装置准备好进入该生产步骤时,就发生了工位饥饿(starvation)。简言之,就是上游 WIP 缓冲区是空的。

当某工位完成了小装置上的全部任务,却因下游 WIP 缓冲区已满而无法释放该零件时,就发生了工位阻塞(blockage)。无论是饥饿还是阻塞,该工位的生产时间都被损失掉了,且无法补回。

当一名操作员服务多个工位时(如同服务工位 4 和 5 的那名操作员),两个工位有可能同时需要该操作员。这可能在该工位上造成额外延误,并用"等待操作员"状态来度量。将度量各工位的阻塞、饥饿与等待操作员时间,以帮助解释可能出现的吞吐量缺口,并协助识别潜在的系统改进措施。

5.2 仿真前分析

一项仿真前分析(presimulation analysis),在同时考虑平均工位周期时间与期望工位可用率(90%)的情况下,表明每个工位若不受阻碍,都能达到期望吞吐量。这项初步分析按本节所述方式进行。

根据所假定的停机数据,团队得以在(理想的)工位之间互不影响的假定下,估计工位的期望可用率。期望可用率表明每个工位在工作(不含午餐、不含休息)时间内的各自可用程度,其假定是操作员总能把完成的小装置放入下游货架存储,且下一个小装置已准备好在该工位开始工作。期望可用率由 MTTF/(MTTF+MTTR) 计算,即停机周期内的期望忙碌时间除以停机周期的长度(一个忙碌周期加一个修复周期),结果列于表 4。该计算忽略了问题中的某些方面,包括零件补给时间,以及只有一名操作员服务工位 4 和 5 所造成的任何延误。

所建模系统的设计目标是每 8 小时班次产出 390 个成品小装置。扣除午餐之后,每班最多有 7.5 小时可用工作时间。若未计划(随机)停机预计占可用时间的 10%,则工作时间进一步减少到 0.90×7.50 . 90 \times 7 . 5 小时 = 6.75 小时。这意味着,总周期时间最慢的那个工位必须能在可用的 6.75 小时内生产 390 个小装置。因此,每个工位每个小装置的总周期时间不得超过 6.75 小时/390 = 62.3 秒。

现在,总周期时间由装配(或测试、包装)时间与零件补给时间(见表 3)构成,再加上小装置的装载时间 10 秒和卸载时间 5 秒。零件补给并非对每个小装置都发生,而是在经过一定数量的小装置(即用完某一批零件)之后才发生。例如,使用表 3 中工位 1 的数值,零件补给对零件 A 是每 15 个小装置花 10 秒,对零件 B 是每 10 个小装置花 15 秒,平均到每个小装置为 10/15+15/1010 / 15 + 15 / 10 秒。

利用这些信息,各工位(最小)总周期时间的估计列于表 5。这些仿真前估计首先表明,每个理论周期时间都远低于 62.3 秒的要求;其次表明,若存在瓶颈,则工位 1 和 2 是潜在的瓶颈。

表 5 各工位总周期时间的估计

工位估算周期时间的公式(秒)估计值(秒)
110+40+5+10/15+15/1010 + 40 + 5 + 10/15 + 15/1057.2
210+38+5+20/8+15/1410 + 38 + 5 + 20/8 + 15/1456.6
310+38+5+30/2510 + 38 + 5 + 30/2554.2
410+35+510 + 35 + 550.0
510+35+510 + 35 + 550.0
610+40+5+30/3210 + 40 + 5 + 30/3255.9

正如仿真分析稍后将展示的,工位 1 会因工位 2 的停机而发生阻塞,工位 2 则会因工位 1 的停机而偶发饥饿、因工位 3 的停机而发生阻塞。这些阻塞与饥饿状况把可用工作时间降低到所计算的 90% 以下;因此,对基准配置而言,它们使设计吞吐量远低于期望值,即每班 390 个小装置。总之,仿真前分析尽管有价值,但充其量只能给出系统性能的粗略估计。正如仿真将要表明的,忽略阻塞与饥饿会给出过于乐观的系统吞吐量估计。

5.3 仿真模型与已设计系统的分析

利用仿真模型,团队进行了第一组实验,用以估计按已设计方式建成的系统性能。团队中的仿真分析人员对模型作了 10 次重复,每次包含 2 小时的预热(warm-up)或初始化,其后是 5 天的仿真(每天 24 小时)。针对每班平均吞吐量计算了 95% 置信区间(CI):

每班平均吞吐量的 95% CI:(364.5, 366.8),即 365.7 ± 1.14。

以 95% 的置信度,模型预测:按已设计的系统,每 8 小时班次的平均(或长期平均)吞吐量将在 364.5 至 366.8 个小装置之间。这远低于每班 390 个小装置的设计吞吐量。

团队决定开展进一步分析,以识别可能的瓶颈与潜在的改进领域。

5.4 工位利用率分析

此时团队希望对吞吐量缺口有某种解释。他们怀疑这可能与 WIP 缓冲区容量过小以及由此产生的阻塞与饥饿有关。团队使用同一模型估计各工作站的详细利用率,希望它能对吞吐量缺口作出解释。表 6 给出前五个工作站的 95% 置信区间估计,包括停机时间百分比、阻塞时间百分比、饥饿时间百分比以及等待操作员时间百分比。(等待操作员只影响工位 4 和 5,因为这两个工位共用一名操作员;其余工位各有专属操作员。除表 6 中的利用率统计之外,操作员每 8 小时班次还有 30 分钟的午餐,相当于可用时间的 6.25%。)

表 6 基准配置下各工位利用率的置信区间

工位停机百分比阻塞百分比饥饿百分比等待操作员百分比
1(8.8,9.6)(11.4,12.5)(0.0,0.0)(0.0,0.0)
2(8.2,8.4)(8.0,8.8)(4.9,5.6)(0.0,0.0)
3(7.9,8.6)(9.9,10.4)(6.1,6.9)(0.0,0.0)
4(8.9,9.6)(2.0,2.8)(7.5,8.2)(13.1,14.4)
5(8.3,9.0)(0.0,0.2)(19.4,20.4)(3.9,4.7)

从表 6 的结果看,阻塞与饥饿解释了吞吐量缺口的一部分。此外,另一种可能的解释浮现出来:工位 4 经历了相当长时间在等待那名同时服务工位 4 和 5 的操作员。工位 4 上的这一延误可能造成 WIP 缓冲区被填满,而这反过来又有助于解释位于其上游的工位 3 的阻塞。工位 1 至 3 的阻塞时间百分比高于饥饿时间百分比,因此下游延误看来可能是显著的瓶颈。

团队提出了一些可能的系统改进方案:

  1. 由两名操作员(而不是目前设想的一名)服务工位 4 和 5;
  2. 增大部分 WIP 缓冲区的容量;
  3. 两者的组合。

由于额外的 WIP 存储空间开销不小,团队希望把缓冲区总空间尽可能地保持最小,只有在绝对必要时才增加操作员,同时又要达到每班 390 个小装置的设计目标。

5.5 潜在系统改进的分析

为评价增加一名操作员和采用更大 WIP 缓冲区这两种措施,对模型作了相应修改以允许这些变化,并开展了新的分析。在这次分析中,允许工位 2 至 6 的每个 WIP 缓冲区容量在表 2 所列基准值的基础上各增加一个单位。此外,还考虑了工位 4 和 5 增加第二名操作员的效果。这些可能性组合起来,共产生 64 个方案或模型配置。(为什么是 64?)每个方案作 10 次重复,合计 640 次仿真运行。

为便于分析,团队决定采用公共随机数(Common Random Number, CRN)技术。为正确实现该技术,需要先确定每一个随机变动的来源,并为其分配专门的随机数流。在本模型中,六个工作站的加工时间、TTF 和 TTR 均由统计分布建模。因此共定义了 18 个随机数流,每个工作站使用 3 个。这样一来,在每一组运行中,无论仿真的是哪一种配置,每个工作站经历的工作量与随机停机都是相同的。对于给定次数的重复,CRN 技术(亦称相关抽样,correlated sampling)预期能给出系统性能差值更短的置信区间。

表 7 备选配置下系统吞吐量的改进

工位 4 与 5 的操作员人数缓冲区 2缓冲区 3缓冲区 4缓冲区 5缓冲区 6合计平均吞吐量增量(与基准相比)CI 下限CI 上限
2333221331.730.333.1
2333231431.730.433.0
2332231330.028.631.3
2333131329.828.631.0
2332221229.728.131.3
2333121229.528.131.0
2332131226.625.427.9
2233221226.625.128.1
2233231326.625.028.1
2323231326.525.028.0
2323221226.425.327.5
2332121126.325.127.5

与基准配置相比,系统吞吐量改进最大的若干模型配置列于表 7。之所以选取这些配置作进一步评价,是因为每一个都显示出约 25 个或更多的潜在吞吐量改进;也就是说,95% 置信区间的下限为 25 或更高。“平均差值”(Ave Diff.)一列所列的数值,代表相对于基准配置的吞吐量增量。回顾一下,基准吞吐量此前曾以 95% 的置信度估计落在区间 (364.5, 366.8) 内。出于保守考虑,工程团队希望看到每班改进量为 390 − 364.5 = 25.5 个小装置。表 7 中前六个配置的置信区间下限都大于 25.5,因此它们很可能是达到期望吞吐量的候选方案。从统计意义上解释:置信区间的下限大于 25.5,因此结果以 95% 的置信度表明,在表 7 所列的前六个配置中,平均吞吐量将增加 25.5 或更多。

请注意,改进最显著的所有配置都包含工位 4 和 5 的两名操作员。配置为一名操作员的仿真结果(此处未列出)表明:至少在所考虑的缓冲区尺寸下,无法用一名操作员达到 390 的吞吐量。

有些配置可以排除掉,因为更省钱的选项取得了相近的吞吐量。以表 7 中的前两个配置为例:两者除缓冲区 6 的容量外完全相同。由于 WIP 缓冲区容量成本较高,总缓冲区容量较小的那个方案就是更省钱的选项。显然,没有必要把缓冲区 6 从 2 个单位扩到 3 个单位。“合计"这一列有助于快速排除那些并不优于"总缓冲区容量更小的相近方案"的配置。

在表 7 中,吞吐量增量达到 25.5 或以上且总缓冲区容量最小的是第五个配置,缓冲区 2 至 6 的容量依次为 (3,3,2,2,2)。基于这些考虑,该系统设计成为团队进一步评价的首选方案。下一步(此处未包括)将是对每个备选配置进行财务分析。

5.6 结语:小装置装配线仿真

与本例模型类似的真实世界实例包括:汽车零部件与汽车车身的装配线、汽车污染控制组件的装配、洗衣机、炉灶和洗碗机等消费品的装配,以及其他各种具有直通流程且工作站之间缓冲空间有限的装配作业。类似的模型与分析也可以应用于生产多种产品、工艺路线可变且在制品存储有限的单件车间。

6 小结

本章介绍了与制造仿真和物料搬运仿真最为相关的一些思想与概念。其要点包括:准确建模停机的重要性;跟踪驱动仿真就某些输入而言所具有的优势;以及在某些模型中对物料搬运设备与控制软件进行准确建模的必要性。

参考文献

BANKS, J. [1994], “Software for Simulation,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds., Lake Buena Vista, Fl, Dec. 11–14, pp. 26–33.

CLARK, G. M. [1994], “Introduction to Manufacturing Applications,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds., Lake Buena Vista, Fl, Dec. 11–14, pp. 15–21.

EHRHARDT, I., H. HERPER, AND H. GEBHARDT [1994], “Modelling Strain of Manual Work in Manufacturing Systems,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds., Lake Buena Vista, Fl, Dec. 11–14, pp. 1044–1049.

LAW, A. M. AND W. D. KELTON [2000], Simulation Modeling and Analysis, 3d ed., McGraw–Hill, New York.

MATHUR, M. [1994], “Inventory Cost Model for ‘Just-in-time’ Production,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds., Lake Buena Vista, Fl, Dec. 11–14, pp. 1020–1026.

NANDI, A., AND P. ROGERS [2003], “Behavior of an Order Release Mechanism in a Make-to-Order Manufacturing System with Selected Order Acceptance,” in Proceedings of the 2003 Winter Simulation Conference, S. E. Chick, P. J. Sánchez, D. Ferrin, and D. J. Morrice, eds., New Orleans, La, Dec. 7–10, pp. 1251–1259.

PIERCE, N. G., AND R. STAFFORD [1994], “Modeling and Simulation of Material Handling for Semiconductor Wafer Fabrication,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds., Lake Buena Vista, Fl, Dec. 11–14, pp. 900–906.

SARAPH, P. V. [2003], “Shared Resource Capacity Analysis in Biotech Manufacturing,” in Proceedings of the 2003 Winter Simulation Conference, S. E. Chick, P. J. Sánchez, D. Ferrin, and D. J. Morrice, eds, New Orleans, La, Dec. 7–10, pp. 1247–1250.

SCOTT, H. A. [1994], “Modeling Aircraft Assembly Operations,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds., Lake Buena Vista, Fl, Dec. 11–14, pp. 920–927.

SMITH, J. S., et al. [1994], “Discrete Event Simulation for Shop Floor Control,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds, Lake Buena Vista, Fl, Dec. 11–14, pp. 962–969.

TURKSEVEN, C. H., AND G. ERTEK [2003], “Simulation Modeling for Quality and Productivity in Steel Cord Manufacturing,” in Proceedings of the 2003 Winter Simulation Conference, S. E. Chick, P. J. Sánchez, D. Ferrin, and D. J. Morrice, eds., New Orleans, La, Dec. 7–10, pp. 1225–1229.

WATSON, E. F., AND R. P. SADOWSKI [1994], “Developing and Analyzing Flexible Cell Systems Using Simulation,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds., Lake Buena Vista, Fl, Dec. 11–14, pp. 978–985.

WILLIAMS, E. J. [1994], “Downtime Data— Its Collection, Analysis, and Importance,” in Proceedings of the 1994 Winter Simulation Conference, J. D. Tew, S. Manivannan, D. A. Sadowski, and A. F. Seila, eds., Lake Buena Vista, Fl, Dec. 11–14, pp. 1040–1043.

习题

致学生的说明:以下许多习题都包含输送带和车辆之类的物料搬运设备。学生应当使用任何能够在较高层次上对输送带和车辆建模的仿真语言或仿真器。

以下有些习题使用均匀分布、指数分布、正态分布或三角分布。几乎所有的仿真语言和仿真器都支持这些分布以及其他分布。

  1. 一个案例分拣系统由一条进料输送带和 12 条分拣通道组成,如下图所示(不按比例):
图 1 案例分拣系统示意图

图 1 案例分拣系统示意图(不按比例)。

案例从左侧以每分钟 50 件的速率在随机时刻进入系统。所有案例的尺寸为 18 × 12 英寸,并沿其 18 英寸的边长方向行进。进料主线输送带宽 20 英寸、长 60 英尺(如图所示)。分拣通道从左到右编号为 1 至 12,宽 18 英寸、长 15 英尺,相邻通道之间间隔 2 英尺。(其他所需尺寸请自行估算。)进料输送带的速度为 180 英尺/分钟,分拣通道的速度为 90 英尺/分钟。所有输送带区段均为累积式,但从左侧进入时,进入的案例彼此之间(从前缘到前缘)至少相距 2 英尺。在分拣通道上,案例无间隙地累积在一起。

进入的案例按下列比例分配到 12 条通道:

通道比例通道比例
16%711%
26%86%
35%95%
424%105%
515%113%
614%120%

第 12 条通道是溢出通道;只有当其他某条通道被填满且无法分流时才使用它。

在分拣通道的末端有一组操作员,他们用条形码扫描器扫描每个案例、贴上标签,然后把它放到托盘上。操作员在通道之间来回移动,以免某条通道被填满。每条通道有一个托盘,每个托盘可装 40 个案例。当托盘装满时,假定立刻有一个新的空托盘可用。如果某条通道已填满 10 个案例,而又一个案例到达分流点,则这最后一个案例继续沿 60 英尺长的主线输送带行进,并被分流到第 12 条通道,即溢出通道。

假定一名操作员平均每分钟能处理 8.5 个案例。忽略行走时间,也忽略把操作员指派到某一条具体通道的问题;换句话说,假定这些操作员作为一个小组,均匀分布在全部 12 条通道上。

(a) 设计一项改变操作员人数的实验,回答如下问题:需要多少名操作员?目标是在同时避免溢出的前提下,使操作员人数最少。

(b) 对 (a) 中的每项实验,报告下列输出统计量:

  • 操作员利用率;
  • 码放到托盘上的案例总数;
  • 各通道码放到托盘上的案例数;
  • 进入溢出通道的案例数。

(c) 对 (a) 中的每项实验,验证所有案例是否都在被码放到托盘上。换句话说,验证该系统能否处理每分钟 50 个案例,或者解释为何不能。

  1. 重新完成习题 1,但提高到更精细的程度:把操作员的行走时间和操作员对通道的指派都纳入建模。假定操作员的行走速度为每分钟 200 英尺,从一条通道到相邻通道的行走距离为 5 英尺。现在假定每分钟处理 7.5 个案例。设计一组可供操作员换通道时使用的规则。(提示:例如,只在当前通道已空或另一条通道达到某一水平时,才换到案例数最多的那条通道。)假定每名操作员被指派到若干条相邻的通道,并且只处理这些通道。不过在必要时,一条通道可以指派两名操作员(但不得更多);也就是说,操作员的指派范围可以重叠。

(a) 如果你的换通道规则含有数值参数,通过实验找出最佳设定。在这种情况下,需要多少名操作员?操作员的平均利用率是多少?

(b) 细节更多的模型(例如习题 2(a) 相对于习题 1)是否总是更准确?对这个特定的模型而言又如何?把习题 2(a) 的结果与习题 1 的结果作比较。所得到的结论是相同还是不同?

(c) 设计第二条换通道规则。比较两条规则的结果。比较两条规则下的总行走时间或用于行走的时间百分比。

建议:一条换通道规则可以有一个或两个"触发条件”。单触发条件规则可以这样表述:若某条通道达到某一水平,操作员就转到该通道。(提示:若不作修改,这样的规则可能导致操作员过度移动——如果两条通道在触发水平附近的案例数大致相同。)双触发条件规则可以这样表述:若某条通道达到某一水平、且操作员当前所在的通道变空,则换到新通道;但若某条通道达到某个更高的临界水平,则操作员立即换通道。

(d) 把你的结果与其他可能采用了不同换通道规则的学生所得的结果作比较。

  1. 重新完成习题 2,但采用不同的操作员指派规则。基本做法是:操作员可以视条件需要被指派到任意通道,但与前面一样,同一时刻一条通道不得指派超过两名操作员。回答与习题 2 中相同的 (a)–(d) 各项问题。

  2. 一个包裹分拣系统由一条进料输送带、12 条分拣通道(或滑槽)和一条输出输送带组成,如下图所示(不按比例):

图 2 包裹分拣系统示意图

图 2 包裹分拣系统示意图(不按比例)。

包裹从左侧(在 E 点)以每分钟 100 件的速率在随机时刻进入系统。包裹依据其发运目的地被分流到某条分拣通道;在模型中,按下表所列比例随机选取一定百分比的包裹,分派到各条通道。各通道/目的地的百分比如下:

通道比例通道比例
16%710%
26%86%
35%94%
424%104%
515%113%
614%123%

在累积了 8 个包裹的一"串"(slug)之后,它们被一起释放到一段 50 英尺长的输出输送带上,朝标记为 T 的点行进;在那里它们以输送带速度转接到输出输送带的第二段上,该段的末端是一台条形码扫描仪(位于标记为 B 的点)。在上一串尚未完全通过 T 点之前,一串不能被释放。在本模型中,包裹在 B 点消失。

所有包裹的尺寸为 18 × 12 英寸,并沿其 18 英寸的边长方向行进。进料主线输送带宽 20 英寸、长 60 英尺(如图所示)。12 条分拣通道宽 18 英寸、长 15 英尺,相邻通道之间间隔 2 英尺。(其他所需尺寸请自行估算。)进料输送带的速度为 240 英尺/分钟,分拣通道的速度为 90 英尺/分钟。进料与分拣输送带区段均为累积式,但从左侧进入时,进入的包裹彼此之间(从前缘到前缘)至少相距 2 英尺。在分拣通道上,包裹无间隙地累积在一起。输出输送带的 50 英尺段是非累积式的带式输送带;30 英尺段则是累积式的。

当某条通道容纳了 8 个包裹时,在该通道被释放、且这一串完全通过滑槽底部之前,不允许再作分流。当某条通道已满,或在这一串尚未通过之前,若又有一个包裹到达需要分流的位置,则该受影响包裹不予分流,而是移动到进料输送带的末端,然后通过图中未画出的输送带重新返回进料输送带的起点。仿真时把这种回流视为 45 秒的时间延迟,而不必显式建模回流输送带本身。

(a) 设计一项实验,以确定输出输送带所需的最低速度,从而尽量减少或消除回流。供应商提供的输送带速度从每分钟 60 英尺起步,并以每分钟 30 英尺为增量递增。(输送带越快越贵,因此在回流不成问题的前提下,速度越低成本越低。)

(b) 对可用通道的目的地指派是否可以加以修改,从而改善系统性能?设计一条更好的指派规则,并用仿真模型加以检验。

  1. 一支 AGV(自动导引车,Automated Guided Vehicles)车队以串联方式服务 5 个工作站,通过把装夹具上的零件从一个工作站运到下一个工作站来运送物料,并自取货点起一直载着该零件通过所有工作站直至卸货点。来料缓存输送带、AGV 导引路径、5 个工作站(A–E)以及卸货输送带如下图所示(不按比例):
图 3 AGV 导引路径与工作站布局示意图

图 3 AGV 导引路径与工作站布局示意图(不按比例)。

AGV 沿顺时针方向行驶。起初它们全为空,在来料输送带标记为 “On” 的点上排队。各工作站标记为 A–E。装在夹具上的零件在来料输送带上暂存,并由 AGV 在标记为 “On” 的点上取走。随后 AGV 行驶到机器 A,并停在导引路径上标出的点上。在加工期间,零件与夹具始终留在 AGV 上,然后两者一起前往下一个工作站。在工作站 E 加工完成之后,AGV 行驶到标记为 “Off” 的点,零件连同夹具自动卸到卸货输送带上,空的 AGV 则在标记为 “On” 的点上排队等待下一个零件。

假定来料输送带始终是满的。它长 15 英尺,可容纳 3 个带夹具的零件,每个占用 5 英尺的输送带空间。因此,每当一个带夹具的零件被 AGV 取走,就会有另一个零件连同夹具被放到输送带末端。取货时间为 30 秒。来料输送带的速度为每分钟 30 英尺。

当一个零件在所有工作站完成加工并被运到标记为 “Off” 的卸货点时,卸货操作耗时 45 秒。卸货输送带本身的速度为每分钟 30 英尺。零件与夹具虽然占用 3 英尺 × 3 英尺的空间,但在输送带上需要 5 英尺。

初始的工作站位置只是示意性的概略安排,没有给出确切位置。约束条件是:每个工作站都必须布置在示意图上所示的那段直线路径上,且 AGV 停车点距曲线段的入口或出口不得少于 5 英尺。来料输送带与卸货输送带必须按图所示布置,卸货点距前一段曲线的末端 20 英尺,取货点再往右 40 英尺。除此之外,各工作站的 AGV 停车点可以布置在直线路径上的任意位置。

AGV 的行驶速度为每秒 15 英尺,加速度与减速度为 3 英尺/秒/秒。它们长 7 英尺,在工作站处等待加工位置时以及在输送带的取货/卸货位置处,彼此相隔 8 英尺排队(两台 AGV 之间留 1 英尺间隙)。

各工作站的单件加工时间、平均失效时间(MTTF)和平均修复时间(MTTR)如下:

表 8 各工作站的加工时间、失效时间与修复时间

工作站加工时间(秒)MTTF(分钟)MTTR(分钟)
A120903.1
B100824.0
C1401104.5
D45205.0
E1002409.0

由于没有详细数据,故对失效时间和修复时间作如下假定:假定实际失效时间服从指数分布,取所指定的均值(MTTF)。假定修复时间需要一名维修人员,而只有一名可调用。实际修复时间服从均匀分布,均值如表所示,半宽为该均值的一半。失效时间是对照挂钟时间度量的,而不是对照工位忙碌时间。修复之后,取出剩余的加工时间,该零件继续加工。

有三个基本问题:

(1) 系统的最大吞吐量是多少?

(2) 需要多少台 AGV?

(3) 在上述约束之内,工作站的最佳布置是什么?

对于 (a)、(b) 两组实验中的每一组,都应考虑下列问题:

(1) 是否应当设置一段用于装载系统的预热期,在此期间不收集统计量?

(2) 仿真应当运行多长时间?

(一项建议:预热期至少应持续到若干个零件完成加工为止。运行时长应当允许每台机器上至少发生 10 次停机。先用尽可能多的、能合理地停在导引路径上的 AGV 进行仿真,然后再在不降低吞吐量的前提下逐步减少其数量。)

你的实验应当改变 AGV 的数量和工作站的布置。在仿真之前,先就工作站的布置作出你最好的估计,并论证该选择的理由。同时,就 AGV 数量的可能取值范围作出合理估计。

(a) 在第一组实验中,使用一个不显式建模 AGV 的粗略模型。计算相邻工作站之间的近似行驶时间,并在模型中把该值用作时间延迟。假定 AGV 数量充足。(提示:用该模型来回答最大吞吐量的问题,但不用于回答所需 AGV 数量的问题。)这种做法有哪些优点和局限?

(b) 在第二组实验中,显式地建模 AGV 与导引路径。设计一项实验,用以确定在 AGV 数量最少的前提下的最大系统吞吐量(件/小时)。

  1. 关于习题 5 中各工作站的失效时间,已获得更准确的信息。用新的信息重新完成习题 5。故障看来与所加工的零件数量关系比与所经过的时间关系更为密切。新数据如下:

表 9 以零件数计的平均失效时间

工作站MTTF(件)MTTR(分钟)
A453.1
B494.0
C474.5
D275.0
E1449.0

请注意,MTTF(平均失效时间)是以零件数量来度量的,但关于修复时间的假定与习题 5 相同。例如,对工作站 A,若失效时间恰好是 45 个零件,那么在一次故障之后,第 45 个零件就会遇到下一次故障。实际上,故障是在加工过程中发生的,但就建模目的而言,假定故障恰好在加工开始时发生。(这会造成任何差别吗?)

对于失效时间的分布,假定采用离散均匀分布,均值为 MTTF,取值范围从 1 到 $2*MTTF - 1$ 。例如,对工作站 A,实际失效时间取 1 到 89 件之间的任一值都是等可能的。

回答与习题 5 中相同的问题。这些新假定会造成任何差别吗?与修正后的假定相比,在第一组假定下每个 8 小时班次会发生多少次故障?

  1. 针对习题 5 和习题 6 中的问题,曾做过一项研究,以便更准确地评估各工作站的修复时间。结果发现,三角分布与实际修复时间更为吻合。对三角分布假定如下参数:

表 10 各工作站的修复时间(三角分布参数)

工作站最小值(分钟)最可能值(分钟)最大值(分钟)平均值(分钟)
A1.02.36.03.1
B2.03.07.04.0
C2.53.57.54.5
D2.04.09.05.0
E4.07.016.09.0

请注意,平均修复时间与习题 5 和 6 中所假定的平均值(MTTR)完全相同,只是分布为三角分布而非均匀分布。(大多数仿真语言或仿真器都内置了三角分布,需要指定其最小值、最可能值(众数)和最大值。平均值仅供信息参考;它等于其余三个参数之和除以 3。)

(a) 采用新的修复时间假定,重新完成习题 5。

(b) 采用新的修复时间假定,重新完成习题 6。

  1. 本章讨论过的一种停机建模方法(但并不推荐),是用一个更大的、经调整的处理时间替代原来的处理时间,并把停机排除在外。该经调整的处理时间意在至少从长期和平均的角度上反映停机的影响。这种方法会给习题 5 的结果带来什么影响?

(a) 对习题 5,计算各工作站经调整的处理时间。

(b) 对习题 5,使用经调整的处理时间,并排除所有由故障引起的显式停机。这会如何改变结果?这种方法对该模型而言是否合适?

  1. 假定更好的维护和更好的机器能够完全消除习题 5 系统中因故障而引起的停机。吞吐量会提高多少?

  2. 为例 1 开发一个模型,并设法在定性上重现正文中关于模拟停机的不同假定所得到的结果。不必刻意得到完全相同的数值结果,只需展示相同的定性结果。

(a) 你的模型是否支持正文中所讨论的结论?请给出讨论与结论。

(b) 绘制队列中实体数量随时间变化的曲线。你能判断出故障发生在什么时候吗?修复之后,队列大约需要多长时间才恢复正常?

  1. 在例 1 中,与一个实体的加工时间相比,故障发生的频率较低。失效时间为 1000 分钟,而到达间隔时间为 10 分钟,这意味着很少有实体会遇到故障。但当一个实体确实遇到故障时(平均 50 分钟),其持续时间是 7.5 分钟加工时间的数倍。

重新为例 1 建立模型,但假定高频故障。具体而言,假定失效时间服从指数分布、均值为 2 分钟,修复时间服从指数分布、均值为 0.1 分钟即 6 秒。与低频情形相比,实体往往会经历若干次短暂的停机。

对于低频停机与高频停机,请比较:每个实体经历的平均停机次数、经历的平均停机持续时间、完成服务的平均时间(含停机时间,如有),以及停机时间所占的百分比。

请注意,机器因维修而停机的时间百分比在两种情形下应当相同:

50/(1000+50)=4.76%6sec⁡/(2min⁡+6sec⁡)=4.76% \begin{array}{r} {50 / (1000 + 50) = 4. 76 \%} \\ {6 \sec / (2 \min + 6 \sec) = 4. 76 \%} \end{array}

根据仿真结果验证停机时间百分比。结果是相同的吗?……是接近的吗?它们应当是完全相同,还是仅仅接近?随着仿真运行时长的增加,停机时间百分比应当发生什么变化?

在高频故障情形下,你是否得出了与正文中关于模拟停机的不同方式所得出的相同结论?关于低频故障与高频故障应当如何建模,请提出建议。

  1. 重新完成习题 11(以例 1 为基础),但作一处改动:当一个实体遇到停机时,它必须从头重新加工。若服务时间是随机的,则从所假定的分布中重新抽取一次;若服务时间是恒定的,则重新从头开始。这一假定会如何影响结果?

  2. 重新完成习题 11(以例 1 为基础),但作一处改动:当一个实体遇到停机时,该实体被报废。在故障时报废实体,会如何影响低频情形和高频情形下的结果?对于零件在故障时被报废的情况下,低频停机与高频停机应当如何处理,请提出你的建议。

  3. 金属板依次通过 4 台压力机:剪切机、冲孔机、成型机和折弯机。每台机器都会出现停机与换模。各机器的参数如下:

表 11 各压力机的加工速率、失效时间、修复时间与换模参数

压力机加工速率(件/分钟)失效时间(分钟)修复时间(分钟)每次换模的板件数(件)换模时间(分钟)
剪切机4.5100850025
冲孔机5.5901040025
成型机3.8180975025
折弯机3.22402060025

请注意,加工时间是以速率给出的;例如,剪切机的工作速率为每分钟 4.5 件。假定加工时间为常数。自动化设备使换模时间相当稳定,因此假定它总是 25 分钟。换模发生在表中所示数量的板件通过某台机器之后、连续两件板件冲压之间。假定失效时间服从指数分布,均值取自表中。假定修复时间服从均匀分布,均值取自表中,半宽为 5 分钟。当发生故障时,20% 的板件被报废。其余 80% 在修复之后于发生故障的机器上重新加工。

假定在剪切机前方有无限量的物料供应;只要它与下一台机器(冲孔机)之间还有可用空间,剪切机就连续地一件接一件地加工。一般而言,一台机器连续地一件接一件地加工,只有在下列三种情况下才停止:发生停机、进行换模,或它与下一台机器之间的可用缓冲空间已被填满。假定板件在折弯机折弯之后被运走。缓冲空间划分为 3 个彼此独立的区域:第一个在剪切机与冲孔机之间,第二个在冲孔机与成型机之间,第三个在成型机与折弯机之间。

(a) 假定机器之间的空间是无限的。仿真运行 480 小时(按每天 24 小时、每周 5 天计约合 1 个月)。积压发生在何处?如果全部三个缓冲区的总缓冲空间限定为 15 件板件(剪切机之前与折弯机之后的不计),你会建议如何在这三对相邻机器之间分配这些空间?本次仿真是否提供了足够的信息以作出合理的决策?

(b) 修改模型,使相邻机器之间具有有限的缓冲区。当缓冲区被填满、而向该缓冲区供料的机器完成了一件板件时,该板件无法离开机器。它滞留在机器内,阻塞进一步的工作。假定三个缓冲区的总缓冲空间为 15 件板件。

以 (a) 中的建议作为每个缓冲区尺寸的起点。尽量减少运行的次数。每个缓冲区最多允许试验 3 种缓冲尺寸。(这样一共需要多少次运行?)运行一组实验,以确定使产量最大的缓冲空间分配方案。每种备选方案至少仿真 1000 小时。

报告平均每小时的总产量、压力机利用率(分解为忙碌、停机、换模和空闲各占的时间百分比),以及每个缓冲区中板件的平均数量。