约束理论TOC的生产计划与排程管理.docx
《约束理论TOC的生产计划与排程管理.docx》由会员分享,可在线阅读,更多相关《约束理论TOC的生产计划与排程管理.docx(13页珍藏版)》请在冰豆网上搜索。
约束理论TOC的生产计划与排程管理
约束理论(TOC)的生产计划与排程管理
确实,可能很多人都看过《目标》一书,小说中的鼓、绳索、缓冲给咱们很深的印象。
可是,在实际计划工作中却不明白如何实现。
本文就是浅谈TOC理论的生产计划,从DBR系统的大体原理谈起:
(在国外,有些APS软件是基于模拟仿真或基因算法理论的,但有些APS软件却是基于TOC约束理论的,约束理论的计划是APS的一种)。
第一,我介绍一下DBR的解释:
DBR系统的目的是:
(1)识别企业的真正约束(瓶颈).
(2)基于瓶颈约束来建立生产计划(Drum鼓的节拍).
(3)对Buffer“缓冲”的管理
(4)非瓶颈的物料的投入受到瓶颈的产出率的控制,即Rope“绳子”所控制.
鼓:
是约束资源的产出速度决定整个系统的运营速度,即瓶颈控制着企业同步生产的节拍,所以称为“鼓Drum”.在安排生产计划时,第一把优先级计划安排在约束资源上,“鼓”反映了系统对约束资源的利用.“鼓”的目标是有效产出最大.
缓冲:
分为时刻缓冲、库存缓冲.是保证瓶颈不会出现因缺料而停工,在约束资源的后续装配工序前设置非约束资源缓冲,保证瓶颈能力100%利历时刻.
缓冲分为鼓缓冲,装配缓冲,发运缓冲.
鼓缓冲:
鼓缓冲能够在任何工作中心之前动态的布置,它被概念为鼓,而且利用协调计划处置.鼓缓冲是保护复杂制造环境的约束或瓶颈.约束理论TOC的概念是(Identified)概念加工进程中尽可能的需要的(Exploited)利用的约束,咱们不能处置不可能运行的定单和理想的计划,在鼓上运行的时刻之前布置时刻缓冲.若是有了那个缓冲,咱们就可以具有一些缓冲渗透(bufferpenetration)的数量来经受有限计划鼓的影响的风险.
装配缓冲:
装配缓冲:
用于保证非-鼓链的装配,在足够时刻抵达,形成和关键鼓链的零件配套.装配缓冲是不提供对所有子项装配抵达的偏置,只有是和通过鼓计划的子项配套时才会出现装配缓冲.如不同子项被要求为一个特别的定单装配.可是,若是这些子项没有一个是通过鼓计划的,装配缓冲是不会产生的.
发运缓冲:
发运缓冲是用来保护独立需求物料的交货.大部份情形下,发运缓冲将老是被分派的.所有的产品结构链都具有发运缓冲,它是在定单完成日期之前抵达的时刻缓冲.可是,由于加工进程中的转变,会致使有可能在理想的缓冲日期以后抵达.在那个能够同意的日期以后抵达和达到咱们要求的时刻点抵达,咱们就可以继续考虑计划知足定单的完成日期(销售或预测).
绳索的目标是在制品库存最小,绳索按照约束资源的生产节拍,决定上游原材料的发放速度,其原理类似于看板管理思想.
DBR系统生产计划的实现进程:
(1)计划:
主生产计划,鼓计划和物料下达计划.
(2)执行:
缓冲管理和采购/发放计划.
(3)控制:
评估和进程指示
一、TOC生产计划是如何计划计算加工时刻?
加工时刻是来加工一个完整的批量的时刻.加工时刻的开始点就是开始节点和结束点是结束节点.当计算加工时刻时,在制品的每一批和现有库存是别离计算的.若是一个定单(销售或预测)的需要数量能够能用在制品数量和库存来知足,在制品数量和库存数量大于了定单需求的数量,将没有加工时刻.WIP是已经完成它的工序的库存.在转变的工作中心没有考虑预备时刻.加工时刻别离对批量进行计算.那个批量是在车间里加工的数量.
加工时刻的计算公式:
整批的工序最大运行时刻+在所有其它工序的每件,每批运行时刻+所有工作中心的排队时刻的合计+所有工序的闲散时刻的合计
最大运行时刻=取整((任务量/批量)/工作中心的单元数)*每批的运行时刻
强制排队时刻和闲散时刻是固定的时刻增加,它能够计算在加工时刻的长度里.强制排队时刻是对工作中心的特别时刻,而闲散时刻是对零件或工艺工序的特别时刻.实际上,,它们被用于特别的处置进程如:
在热处置工序以后,需要时刻冷却.对油漆的”晾干”时刻.在其它应用里,它们能被用已知的延迟或无正式文件处置进程如:
估计成心义的等待或在特别的工作中心的排队时刻.物料处置时刻,移动物料从一个地方到另外一个地方.这些时刻要素是固定的.咱们应该有区别的利用.TOC计划在应用中,计算时刻用动态的方式,依赖可历时刻的计算,把强制排队时刻和闲散时刻增加到加工周期时刻里来处置可能例外的机缘或由加速”渗透”时刻的进程中.
二、TOC的生产计划是如何计算缓冲时间?
若是没有鼓的定单,那么就只有靠发运缓冲来保护转变了.
一个踊跃的缓冲是排队缓冲+整个Murphy墨菲(经验值)缓冲.。
排队缓冲是能够动态渗透,踊跃缓冲常常利用于是定单(销售,预测)的完成日期合理化.缺省的踊跃缓冲是?
排队+Murphy墨菲.
鼓缓冲等于1/3的正常应用缓冲,大部份上游鼓将同意正常的缓冲和下游鼓将同意1/3的缓冲.首工作中心(能够直接下达原材料的工作中心)被概念为鼓将没有鼓缓冲.装配缓冲不用于“踊跃缓冲”的计算.
利用缓冲,需要考虑的是:
是不是有一个鼓和在每一个链里有加工时刻存在. 对发运缓冲规定的值被应用到所有独立需求的偏置加工时刻.由排队+墨菲值的踊跃缓冲来知足发运. 当工作中心被选择作为一“鼓”(瓶颈)时,在有限计划里.TOC计划应用鼓缓冲值来偏置知足不同的鼓的加工时刻.在这一点的”踊跃缓冲”是能够计算的.如计算鼓缓冲和计算装配缓冲.
三、TOC的生产计划是如何计算计划时刻点?
此刻,咱们理解了加工时刻和时刻缓冲,此刻就可以够理解时刻点的计算了.TOC的生产计划对工序节点的鼓产生精准的开始和结束时刻.
独立的客户和预测定单也有精准的时刻,这些时刻能够被考虑是确认的计划日期。
对其它节点或非鼓链的工作中心,它只能计算开始日期缓和冲渗透(不计算完成日期).
当缓冲渗透是0或减少,开始日期本质是DBD(不要在日期之前作).在任务时刻应该开始时,应该分析任务的剩余缓冲.若是剩余缓冲>计划缓冲,那么任务不该该开始.
在鼓上的任务开始能够依赖于上游任务被完成.这是大体的加工时刻+缓冲.在TOC计划时若是被标出红色警告,说明排定的定单(销售或预测)已经延迟.
EST:
最先开始时刻(EarliestStartTime),是任务能够最先开始的时刻.考虑到完成所有紧接前的任务所花的时刻.利用踊跃缓冲计算,装配缓冲被轻忽-假设加速要完成.EST从一确认计划节点被向前传播,上游鼓任务的结束时刻已经确认了计划.最小化物料约束.(采购定单的到货日期,水平开始+MRP提前期).
特别节点的EST的计算公式是:
案例:
若是确认计划是上游鼓(瓶颈)任务或物料约束.当前节点是鼓.
EST=确认计划节点的计划结束时刻+加工时刻+1/3踊跃鼓缓冲
LDB:
最迟完成时刻(LatestDueBy).这是最迟的任务,应该是在它开始算尽缓冲之前完成.LDB老是由向后传播计算的,是从确认计划节点如:
定单的完成日期,以前计划鼓任务的确认计划.因为向后传播和决定考虑”理想”日期是什么,利用整个计划缓冲.在TOC计划的躁音处置它的LDB的任务.无论定单是不是是旧或新的,LDB都包括缓冲,除非加工时刻为0.
案例1:
确认计划是鼓任务,当前节点是非-鼓节点.
LDB=在鼓上的计划开始–常规鼓缓冲–加工时刻-常规装配缓冲
LST:
最迟开始时间(LatestStartTime)在协调计划进程中使用来显示最迟的任务,它能提前于渗透到下游缓冲开始,此任务最终将要满足.这个计算直接跟踪LDB,除了在LDB计算里,它计算鼓任务的开始时间而不是结束时间,LST总是基于向后传播计算,从确认计划节点.如:
订单的完成日期,先前的计划鼓任务的确认计划.因为LST计算是向后传播和决定什么是”理想”时间,整个计划缓冲被使用.
那个计算是精准时刻到秒.还能够用在在任务将开始布置在鼓上决定顺序.LST计算不对非-鼓节点计算.
DDB:
在之前不要作(Don’tDoBefore),在服从进程里利用.对所有非-约束工序不要在日期之前作.那个计算是和LST一样.
ET:
ET加速(开始)时刻(Expedite(start)Time).牢牢追踪DDB.ET还能够从一确认计划向后传播计算.加速时刻计算象DDB,除被消除的装配缓冲和在DDB里的常规缓冲计算的利用,能够用踊跃缓冲所取代. 若是对定单的任务是被计划在大于ET(开始时刻>ET),定单就会迟.在协调时,任务布置在鼓计划上,开始时刻>ET的任务将被显示为红色.在推出去(PushedOut)任务将维持红色,直到推到那个时刻,直到可同意的估计完成日期和排定的定单(销售或预测).加速时刻是一个点,超越那个,定单需要合理化.超越ET的时刻将是定单将被推出去(PushedOut)的时刻.
在TOC计划里,推掉定单PushingOrdersOut那个概念是让咱们的定单有能够同意估计完成日期.由于实际的物料或制造零件装配不能及时完成,当咱们推掉定单时(pushanOrderout),咱们不能推掉鼓上的任务或改变将要抵达的采购定单PO的日期,但咱们能够推掉pushingout排定的客户定单或预测,它是由于延迟的任务或延迟的采购PO影响.TOC计划的概念是执行定单的合理性.基于今天制造环境的现实.TOC的计划能够提供给咱们能分析这些情形和选择的工具.可是,也能够阻止对客户定单的退掉(pushanorder).
四、TOC的生产计划(Planning)的步骤:
一、计划的展开
它也是通过BOM展开而且把独立需求转换为非独立需求。
在每一次展开的工作中心的负荷时刻是基于定单(销售定单和预测)的当前完成日期和WIP(时刻和地址),库存和分派给定单的采购定单。
当协调计划下一个鼓的运行时,若是用顺序来概念此任务。
就决定需要在鼓上执行计划的任务,概念的鼓的计划先执行展开计算。
在执行服从其间非-约束上的链就决定DDB(DoNotDoBefore)缓和冲渗透(缓冲剩余),在展开几回之前,系统确认考虑最近的计划决定。
库存物料也能够在每次运行展开时,动态的分派。
展开计算包括以下几个进程:
(1),路径的选择和净计算。
(2),在鼓节点产生供给。
实际上,TOC的计划的展开进程是反复的。
独立需求的最终产品(销售定单和预测)被标识为0层。
展开是从独立需求的0层开始,按定单的完成日期(当前完成日期)升序排列,一次一个。
若是要处置一样日期的定单,在升序的定单的里进行标识设置。
每一个零件节点和路径的选择逻辑是决定那一个路径最快的能够取得供给。
若是一原材料节点的原材料能够达到或WIP/库存足够知足需求的一只链。
展开就停止在那个节点上。
那么,展开就从头开始,沿着独立需求的另外的一只链。
一旦第一个鼓节点碰到特别的链,它就会标志为第一层。
展开就会从头沿着另外的链从0层(独立需求)展开,第一个鼓节点碰到的也能够是做为第一层。
第一层的所有任务被选择为独立需求,沿着它们的LDB日期展开。
一旦所有的1层的任务被选择,这些任务在它们的LDB日期顺序里进一步向下展开,下一个鼓节点碰到的是第二层,那个进程重复直到所有的鼓节点已经由足够的原材料库存或完成的在制品来知足需求。
因此,层的数量是由在特别网络链里的鼓的数量来决定的。
路径的选择和净计算
当一特别任务需要生产,你有一选择:
现有量,主要路径(PR),计划的MO,生产定单(MO),在途的采购定单PO(外购或外加工的零件)。
现有数量老是第一消耗的。
在每一个零件节点上,TOC计划第一计算ET(加速时刻)。
对生产定单MO和采购定单PO供给来讲,当它们将要在节点上可历时,TOC计划也要进行计算。
对未完成的生产定单MO,当它将要能够取得时,计算是从在制品WIP位于的节点处开始对下游的时刻计算,TOC计划将增加加工时刻。
对于采购单PO来讲,在到货日期能够抵达时,就可以够计算制造计划。
TOC计划必需在三个明显选项之间选择。
如一个采购定单PO路径不能取得或在ET加速时刻之前不能取得时,那么就可以够动态选择三个最先的时刻的路径。
如能够取得MO路径;能够取得PO路径;若是工作中心在主要PR路径里需要已经计划的鼓,就选主要PR路径,对每一个需求,都通过那个逻辑循环计算。
二、物料需求的计算
物料的可用性的功能是只有在鼓的能力计划之前取得。
因此在TOC计划系统里,当检查没有鼓时。
计划缓冲只有是发运缓冲。
需求日期是基于定单(销售和预测)的完成日期和一般的发运缓冲(LDB)计算的。
必需设置:
物料优先级。
物料延迟的容限。
物料约束被分成3种不同的方式,每一个方式用来分析当前物料和采购定单的状态:
(1)清除过时的采购定单PO。
(2)原材料计划。
(3)有零件欠缺的定单
最小和典型提前期的大体概念是:
新定单是基于典型提前期处置,可是只有是最小提前期在计划进程中能够约束定单的执行。
也就是说定单(销售和预测)的完成日期只被最小提前期所约束。
物料约束的概念是能够找到的较少的采购物料才是真正约束生产进程的。
这些约束力是不能够加速知足生产需求日期的物料。
最小提前期是在加速的模式下,一物料老是能有时刻。
任何少于那个时刻是不可能的。
于是,若是提前需要那个最小提前期,应该开始约束生产。
最小提前期也能够被原料计划所修改。
也能够把物料能够评估为例外。
(1)清除过时的采购定单PO。
就是用于到货期提前于今天的采购定单PO。
或规定一个结束日期。
在考虑交货期或交货数量时,改变每一个采购定单成为更合理。
能够只显示单一规定零件号的采购定单PO和到货日期或规定日期之前的日期的采购定单PO。
其逻辑是:
若是完成日期<今天,那么完成日期将等于今天,能够对清除过时PO里改变:
修改,增加,删除,拆分。
(2)原材料计划
原材料计划是物料的集中显示。
它显示所有有的需求,且在最小提前期之前的,或在需求到货日期之前的,并落入短期的采购物料。
初始图显示一个红的条,长度等于这些需求需要提前到的采购订单PO完成日期或最小提前期的天数。
这是最短的。
这就是延迟。
逻辑是用LDB时间点,向后计划每一个独立需求来计算原材料需求。
原材料需求日期=定单完成日期–发运缓冲-加工时刻
(3)有零件欠缺的定单
零件短缺的订单是显示所有有短缺物料的订单,而不考虑订单的需求有多长远。
提供所有有关独立需求的订单的信息。
包括目标日期,且显示计算的延迟的天数。
它是为对订单基于所有的物料需求的评估。
结果是基于物料需求日期,它大于在最小提前期之前的天数或采购订单PO完成日期。
如果小于最小提前期,就分别为订单和它们的相应的延迟天数提供所有采购零件短缺清单。
延迟=0的订单,是由今天+最小提前期来决定是否有更糟的物料短缺需求情况。
(4)能力负荷计划的算法
能力负荷对所有的定单具有估计完成(当前完成)的时刻,在以下之内显示净负荷:
今天+展望期–1+常规发运缓冲
能力计算是对(今天+展望期–1)。
基于工作中心的单位数量和工作日历。
负荷的时刻是在任务工序的LDB日期。
独立的定单每次展开一次,完成日期按升序排列的定单,利用及早逻辑。
用路径选择逻辑执行在制品和库存分派,数量需求被转换为负荷,在节点上,计算每一批运行时刻的数量。
设置到到每一个独立的,节点上的任务。
在计划展开以后,通过每一节点的需求来保护单一的独立需求源。
在正常或初始化的情形下,显示能力负荷图,并非显示鼓,显示需求和所有工作中心的时刻。
例外的是,在鼓排序计划时(发觉延迟),从头显示能力负荷图,从头基于反映被分派负荷的已经计划的鼓。
若是没有鼓计划,路径选择逻辑将决不会在用尽未完成的生产定单MO。
而是开发利用一个计划的生产定单MO。
五、TOC的生产排程(Scheduling)的步骤
在选择鼓以后,就可以够运行计划“产生鼓任务”的算法。
它和展开逻辑能力负荷一样。
可是,也有一个主要不同:
没有鼓的链是完全停下来的。
因此,在没有鼓的链上的物料约束的影响能够被完全忽略。
因此,在鼓上没有产生任务的独立需求能够被忽略。
那个算法的结果是,在它们的LDB的所有鼓上产生任务。
选择的鼓能够产生”噪音”。
一、计划协调(开发)
在”噪音”里显示要铲平的任务。
并运行向后和向前的计划排程。
(1)向后排程:
在LST(lateststarttime)递减排列的定单里选择任务和有无完成时刻违背LDB(latestdueby)的任务,排程尽可能迟。
任务尽可能的近于LDB日期而不违背能力约束,能力将被检查。
任务将不会被分拆和处置,允许它尽可能近于它的LDB。
如此,也可能计划排程的一些任务排到了过去的时刻,这就是有违背的现象,结果是过时的积存的定单或在鼓上争夺能力。
在LST时刻里,任务的顺序是不能违背的。
注意任务的长度包括运行时刻和主要预备时刻。
若是在一样的产品系列里任务可巧彼此相邻,就可以够节约预备时刻。
在向后排程以后,能够在计划协调上,会出现一个差距数量和过时的任务。
第二步:
向前计划
用计划开始时刻从小到大索引所有任务。
选择第一个任务,动态计算它的最先开始时刻EST。
Max(EST,在向后计划后开始计划)
注意EST老是要>=今天日期,选择第二个任务在清单里和重复此进程。
或许会有差距,进行协调。
在任务的EST之前出现差距。
在差距以后,仅有绿色任务。
在任务的EST以后出现差距
二、在协调计划当中,合理化定单的完成日期。
(PushOrdersOut)
TOC计划在排程处置顶用三个不同方式推出定单:
(1)在概念”物料约束”为选择的物料。
(2)在鼓的排程中。
(3)在非鼓链的协调计划之前。
在当前情形下的完成日期的改变。
那个日期驱动排程的平衡。
在协调计划的最后,那个日期要符合估计完成日期。
一旦鼓完全被利用,定单(销售/预测)需要的完成日期将被合理化。
在协调进程中,对定单的非-鼓的链不包括鼓任务。
因此被推掉PushOut是肯定的,因为在这一点处置的是鼓链,也就是说是瓶颈的生产线。
鼓推掉:
TOC在鼓上为每一个任务计算LDB和ET。
若是任务在LDB或之前被完成,就没有缓冲渗透。
若是任务在ET以后开始,定单就会被估计延迟。
二者LDB和ET都是向后传播。
LDB用常规缓冲计算,那里的ET用踊跃缓冲计算。
TOC计划试图在鼓上LDB之前计划任务。
但是,由于能力或EST(EarliestStartTime)约束,鼓任务或许被计划在它的LDB以后完成。
若是那个任务在ET之前被计划开始,定单就不会被推掉。
只有在ET以后,任务才被计划(任务计划开始时刻>ET)此定单由延迟数被推掉(任务计划开始时刻-ET)。
注意一个单一的定单能在鼓上分为多层次的任务,乃至若是其中一任务在ET以后计划,定单将也会推掉(红色)。
由于ET计算,定单的推掉是基于鼓的计划。
3,协调下一个鼓(同步和顺序)
一旦鼓被计划,它的计划就被固定,不能改变。
在计划第一个鼓以后,第二个鼓也必需计划。
概念第二个鼓有两个方式:
1,同步:
所有的鼓都必需在开始时概念。
2,顺序:
在前一个鼓已经计划后,从能力负荷图选择下一个鼓。
二者不同的是:
在顺序选择里,能力负荷图必需再次产生,且完成库存的计算和展开分派。
而同步只是作一次修正展开,不需要库存的再分派。
注意,当下游的鼓在上游鼓之前计划时,顺序概念不能运行,这是因为事实是上游鼓被锁在已经确认计划鼓的日期和今天之间。
于是就没有空间来平衡负荷或产生合理的计划。
(1)同步
当“产生鼓任务”的算法运行时,所有任务和它们的LDB日期被初始化。
于是库存在处理过程中被分配。
当选择下一个鼓时,“重新计算LDB日期”算法运行。
这个算法是在当前完成和基于以前的鼓到下一个鼓的任务的LDB日期传递变化,注意的是初始化库存在第一次展开就被分配了。
为所有的同步鼓进行维护。
一旦LDB日期再次被计算,在鼓上就进行向前计划,向后计划等算法。
同步计划的优势是所有鼓的能力都被考虑,在每一个单一的鼓/协调计划阶段。
多重交互的鼓可以被计划。
否则(用顺序)就作不到了。
它的缺点是鼓供给另外的鼓(交互鼓)时,它们能被由”还没有计划”的鼓被没有必要的约束住。
这是因为还没有计划的鼓被加载,没有任何已经作出的利用(决定),于是预计的EST或LDB也许比必须的还要更迫切。
(2)顺序
在计划一个鼓以后,回到能力负荷图,另外被选择的,被协调(计划)的工作中心。
可以被合适的重复许多次。
当另外的鼓被顺序的定义,整个展开再次运行。
“产生鼓任务”算法对这个鼓进行重复计算。
库存被动态的重分配。
一旦产生了任务,对协调的算法是一样的。
当对一新的被选择的鼓执行协调展开计划时,如果产生一个“交互冲突”,显示一个警告信息通知你,说明这个工作中心由于这个交互鼓冲突可能不被计划。
顺序选择的长处是基于决策:
当计划一个或多个先前的鼓时,在工作中心上的一些原来估计的明显的负荷,或许再也不存在了。
这或许是因为公共的需求可能已经推掉,释放了一些负荷。
于是,它或许不需用象同步方式一样计划许多估计的鼓。
另外的长处是在每一次新鼓被选择时,库存就被从头分派。
例如,若是一原材料是许多制造件的共用件,可是,处于欠缺,从头分派物料可能会产生更好或更早EST。
缺点是以上提到的“交互冲突”。
4、拉入初期定单(PullinEarlyOrders)
当所有概念的鼓被计划,定单能够选择”拉入”,定单能够在早于它们的当前完成日期完成,这是因为在LDB,鼓没有能力而且协调计划已经把任务铲掉一个更早时刻能够节约利用了一个预备时刻的决定,这一步提供能够选择一个或所有拉-入候选的选项直到没有执行拉入早一点的定单。
在鼓执行的任何一组任务时(例如预备时刻节约),它将被生产定单下达反映给上游,生产定单也从一个鼓下达给下游时是由定单(销售和预测)的当前完成日期所驱动。
此刻,所有链上供给的定单都被考虑。
已经被初期轻忽的非-鼓链在这一点也被考虑。
对所有其它非-鼓链,TOC计划反映DDB日期。
在那个阶段,一个被”拉入”,在非-鼓推掉时将不会被推掉,因为在非-鼓链拉入反映DDB日期。
鼓计划能够选择在LDB之前,一定单被及早考虑。
五、服从
在鼓已经计划和利用时,其余计划必需服从鼓的排程。
鼓排程已经被固定。
在服从过程其间,以下活动会出现:
对非-鼓链的完成日期也被合理化。
非-鼓DDB日期和产生计划订单下达。
为每一个非-鼓节点剩余缓冲也可以计算。
在鼓上整个计算展开包括
(1),重新排定;
(2),为采购计划展开;(3),重复整个展开。
6,对非-鼓链合理日期
大部份定单(销售和预测)在鼓上有它们的合理完成日期(例如,由于鼓的能力缺乏,完成日期被推掉。
但是,有两个例外的规则:
非-鼓链是比鼓链成心义的长(大部份的事