
约束理论<TOC>的生产计划与排程管理 确实,可能很多人都看过《目标》一书,小说中的鼓、绳子、缓冲给我们很深的印象.但是,在实际计划工作中却不知道如何实现.本文就是浅谈TOC理论的生产计划,从DBR系统的基本原理谈起:< 在国外,有些APS软件是基于模拟仿真或基因算法理论的,但有些APS软件却是基于TOC约束理论的,约束理论的计划是APS的一种>.
首先,我介绍一下DBR的解释:
DBR系统的目的是:
<1>识别企业的真正约束〔瓶颈>.
<2>基于瓶颈约束来建立生产计划<Drum鼓的节拍>.
<3>对Buffer"缓冲〞的管理
<4>非瓶颈的物料的投入受到瓶颈的产出率的控制,即Rope"绳子〞所控制.
鼓: 是约束资源的产出速度决定整个系统的运营速度,即瓶颈控制着企业同步生产的节拍,所以称为"鼓Drum〞.在安排生产计划时,首先把优先级计划安排在约束资源上,"鼓〞反映了系统对约束资源的利用."鼓〞的目标是有效产出最大.
缓冲: 分为时间缓冲、库存缓冲. 是保证瓶颈不会出现因缺料而停工,在约束资源的后续装配工序前设置非约束资源缓冲,保证瓶颈能力100%利用时间.
缓冲分为鼓缓冲,装配缓冲,发运缓冲.
鼓缓冲: 鼓缓冲可以在任何工作中心之前动态的布置,它被定义为鼓,并且使用协调计划处理.鼓缓冲是保护复杂制造环境的约束或瓶颈.约束理论TOC的概念是<Identified>定义加工过程中尽可能的需要的<Exploited>利用的约束,我们不能处理不可能运行的订单和理想的计划,在鼓上运行的时间之前布置时间缓冲.如果有了这个缓冲 ,我们就能具有一些缓冲渗透<buffer penetration>的数量来承受有限计划鼓的影响的风险.
装配缓冲:
装配缓冲:用于保证非-鼓链的装配,在足够时间到达,形成和关键鼓链的零件配套.装配缓冲是不提供对所有子项装配到达的偏置,只有是和通过鼓计划的子项配套时才会出现装配缓冲.如不同子项被要求为一个特别的订单装配.但是,如果这些子项没有一个是通过鼓计划的,装配缓冲是不会产生的.
发运缓冲:发运缓冲是用来保护独立需求物料的交货.大部分情况下,发运缓冲将总是被分配的. 所有的产品结构链都具有发运缓冲,它是在订单完成日期之前到达的时间缓冲.但是, 由于加工过程中的变化,会导致有可能在理想的缓冲日期之后到达.在这个可以接受的日期之后到达和达到我们要求的时间点到达,我们就能继续考虑计划满足订单的完成日期<销售或预测>.
绳子的目标是在制品库存最小,绳子根据约束资源的生产节拍,决定上游原材料的发放速度,其原理类似于看板管理思想.
DBR系统生产计划的实现过程:
<1>计划: 主生产计划,鼓计划和物料下达计划.
<2>执行: 缓冲管理和采购/发放计划.
<3>控制: 评估和过程指示
一、TOC生产计划是如何计划计算加工时间?
加工时间是来加工一个完整的批量的时间.加工时间的开始点就是开始节点和结束点是结束节点.当计算加工时间时,在制品的每一批和现有库存是分别计算的.如果一个订单<销售或预测>的需要数量可以能用在制品数量和库存来满足,在制品数量和库存数量大于了订单需求的数量,将没有加工时间.WIP是已经完成它的工序的库存.在变化的工作中心没有考虑准备时间.加工时间分别对批量进行计算.这个批量是在车间里加工的数量.
加工时间的计算公式:
整批的工序最大运行时间+ 在所有其它工序的每件,每批运行时间 + 所有工作中心的排队时间的合计+ 所有工序的闲散时间的合计
最大运行时间= 取整<<任务量 / 批量> / 工作中心的单元数>*每批的运行时间
强制排队时间和闲散时间是固定的时间增加,它可以计算在加工时间的长度里.强制排队时间是对工作中心的特别时间,而闲散时间是对零件或工艺工序的特别时间.实际上,,它们被用于特别的处理过程如:在热处理工序以后,需要时间冷却. 对油漆的〞晾干〞时间.在其它应用里,它们能被用已知的延迟或无正式文件处理过程如:预计有意义的等待或在特别的工作中心的排队时间.物料处理时间,移动物料从一个地方到另外一个地方. 这些时间要素是固定的.我们应该有区别的使用. TOC计划在应用中,计算时间用动态的方法,依赖可用时间的计算,把强制排队时间以与闲散时间增加到加工周期时间里来处理可能例外的机会或由加快〞渗透〞时间的过程中.
二、TOC的生产计划是如何计算缓冲时间?
如果没有鼓的订单,那么就只有靠发运缓冲来保护变化了.
一个积极的缓冲是排队缓冲+ 整个Murphy墨菲<经验值>缓冲..排队缓冲是可以动态渗透, 积极缓冲常用于是订单<销售,预测>的完成日期合理化.缺省的积极缓冲是 ? 排队 + Murphy墨菲.
鼓缓冲等于1/3 的正常应用缓冲,大部分上游鼓将接受正常的缓冲和下游鼓将接受1/3的缓冲.首工作中心 <可以直接下达原材料的工作中心> 被定义为鼓将没有鼓缓冲. 装配缓冲不用于 "积极缓冲〞 的计算.
使用缓冲,需要考虑的是:是否有一个鼓和在每一个链里有加工时间存在. 对发运缓冲规定的值被应用到所有独立需求的偏置加工时间.由排队+墨菲值的积极缓冲来满足发运. 当工作中心被选择作为一 "鼓〞<瓶颈>时, 在有限计划里. TOC计划应用鼓缓冲值来偏置满足不同的鼓的加工时间.在这一点的〞积极缓冲〞是可以计算的.如计算鼓缓冲和计算装配缓冲.
三、TOC的生产计划是如何计算计划时间点?
现在,我们理解了加工时间和时间缓冲,现在就可以理解时间点的计算了. TOC的生产计划对工序节点的鼓产生精确的开始和结束时间.
独立的客户和预测订单也有精确的时间,这些时间可以被考虑是确认的计划日期.对其它节点或非鼓链的工作中心,它只能计算开始日期和缓冲渗透<不计算完成日期>.
当缓冲渗透是0或减少,开始日期本质是DBD<不要在日期之前作>.在任务时间应该开始时,
应该分析任务的剩余缓冲.如果剩余缓冲>计划缓冲,那么任务不应该开始.
在鼓上的任务开始可以依赖于上游任务被完成.这是基本的加工时间+缓冲.在TOC计划时如果被标出红色警告, 说明排定的订单<销售或预测>已经延迟.
EST:最早开始时间<Earliest Start Time>, 是任务可以最早开始的时间.考虑到完成所有紧接前的任务所花的时间. 使用积极缓冲计算, 装配缓冲被忽视-假设加快要完成. EST从一确认计划节点被向前传播,上游鼓任务的结束时间已经确认了计划.最小化物料约束.<采购订单的到货日期,水平开始 + MRP 提前期>.
特别节点的EST的计算公式是:
案例 : 如果确认计划是上游鼓<瓶颈>任务或物料约束. 当前节点是鼓.
EST = 确认计划节点的计划结束时间+ 加工时间+ 1/3积极鼓缓冲
LDB: 最迟完成时间<Latest Due By>.这是最迟的任务,应该是在它开始算尽缓冲之前完成. LDB 总是由向后传播计算的,是从确认计划节点如:订单的完成日期 ,以前计划鼓任务的
确认计划.因为向后传播和决定考虑〞理想〞日期是什么,使用整个计划缓冲. 在TOC计划的躁音处理它的LDB的任务. 不管订单是否是旧或新的,LDB都包括缓冲,除非加工时间为0.
案例1: 确认计划是鼓任务,当前节点是非-鼓节点.
LDB = 在鼓上的计划开始 – 常规鼓缓冲 –加工时间-常规装配缓冲
LST: 最迟开始时间<Latest Start Time>在协调计划进程中使用来显示最迟的任务,它能提前于渗透到下游缓冲开始,此任务最终将要满足. 这个计算直接跟踪LDB, 除了在LDB计算里,它计算鼓任务的开始时间而不是结束时间, LST 总是基于向后传播计算,从确认计划节点.如:订单的完成日期 ,先前的计划鼓任务的确认计划.因为LST 计算是向后传播和决定什么是〞理想〞时间,整个计划缓冲被使用.
这个计算是精确时间到秒. 还可以用在在任务将开始布置在鼓上决定顺序.LST 计算不对非-鼓节点计算.
DDB: 在之前不要作<Don’t Do Before>,在服从过程里使用.对所有非-约束工序不要在日期之前作. 这个计算是和LST一样.
ET: ET加快<开始>时间<Expedite <start> Time>.紧紧追踪DDB. ET还可以从一确认计划向后传播计算.加快时间计算象DDB,除了被消除的装配缓冲和在DDB里的常规缓冲计算的使用,可以用积极缓冲所取代. 如果对订单的任务是被计划在大于ET <开始时间 > ET>, 订单就会迟.在协调时,任务布置在鼓计划上,开始时间 > ET的任务将被显示为红色.在推出去<Pushed Out>任务将保持红色,直到推到这个时间,直到可接受的预计完成日期和排定的订单<销售或预测> . 加快时间是一个点,超越这个,订单需要合理化.超越ET的时间将是订单将被推出去<Pushed Out>的时间.
在TOC计划里,推掉订单Pushing Orders Out这个概念是让我们的订单有可以接受预计完成日期.由于实际的物料或制造零件装配不能与时完成,当我们推掉订单时<push an Order out>, 我们不能推掉鼓上的任务或改变将要到达的采购订单PO的日期,但我们可以推掉pushing out 排定的客户订单或预测,它是由于延迟的任务或延迟的采购PO影响.TOC计划的概念是执行订单的合理性.基于今天制造环境的现实.TOC的计划可以提供给我们能分析这些情况和选择的工具. 但是,也可以阻止对客户订单的退掉<push an order>.
四、TOC的生产计划<Planning>的步骤:
1、计划的展开
它也是通过BOM展开并且把独立需求转换为非独立需求.在每一次展开的工作中心的负荷时间是基于订单<销售订单和预测>的当前完成日期和WIP<时间和地点>,库存和分配给订单的采购订单.当协调计划下一个鼓的运行时,如果用顺序来定义此任务.就决定需要在鼓上执行计划的任务,定义的鼓的计划先执行展开计算.
在执行服从其间非-约束上的链就决定DDB〔Do Not Do Before〕和缓冲渗透〔缓冲剩余〕,在展开几次之前,系统确认考虑最近的计划决定.库存物料也可以在每次运行展开时,动态的分配.展开计算包括以下几个过程: <1>,路径的选择和净计算.<2>,在鼓节点产生供应 .
实际上,TOC的计划的展开过程是反复的.独立需求的最终产品<销售订单和预测>被标识为0层.展开是从独立需求的0层开始,按订单的完成日期<当前完成日期>升序排列,一次一个.如果要处理同样日期的订单,在升序的订单的里进行标识设置.每一个零件节点和路径的选择逻辑是决定那一个路径最快的可以得到供应. 如果一原材料节点的原材料可以达到或WIP/库存足够满足需求的一只链.展开就停止在这个节点上.那么,展开就重新开始,沿着独立需求的另外的一只链.一旦第一个鼓节点遇到特别的链,它就会标志为第一层.展开就会重新沿着
另外的链从0层<独立需求>展开,第一个鼓节点遇到的也可以是做为第一层 .第一层的所有任务被选择为独立需求,沿着它们的LDB日期展开 .一旦所有的1层的任务被选择,这些任务在它们的LDB日期顺序里进一步向下展开,下一个鼓节点遇到的是第二层,这个过程重复直到所有的鼓节点已经由足够的原材料库存或完成的在制品来满足需求.因此,层的数量是由在特别网络链里的鼓的数量来决定的.