专利名称:一种基于扰动事件驱动的车间作业动态调度方法
技术领域:
本发明涉及一种实现车间作业动态调度的方法,属于现代制造集成技术及自动化
领域中的制造执行系统技术的范畴,特别涉及复杂动态环境下的车间作业动态调度机制。
背景技术:
目前随着企业自动化程度的不断提高,以及制造企业生产模式向多品种变批量方 式的转变,因此为了提高生产效率、降低生产成本,就需要对生产作业车间的加工过程进行 全面的控制,也就是实现车间的动态调度。 所谓车间作业动态调度是指车间在按原作业调度方案执行时,要不断的接受作业 环境中新出现的各种扰动,如加工时间偏差、设备故障、急件插入、任务分批等。因此动态调 度需要根据生产作业环境中出现的这些信息,及时的对调度方案进行调整,保证作业调度 方案与生产现场一致基础上的同步制造执行。 当前企业普遍处于多品种变批量的生产环境下,车间调度面临着新的问题多品 种变批量生产模式的执行环境具有不确定性、不准确性和不完备性等特点,制造执行中存 在来自生产计划、周转过程以及设备物料等多个方面的生产扰动。通过混线生产作业调度 算法生成的作业计划不论如何优化,也只是保证了计划层次的合理性。在制造执行过程的 中存在大量的诸如生产时间/顺序变化、设备故障、生产准备和订单变化等扰动因素,这些 生产扰动导致作业计划不能真实反映实际的生产现场情况。如果对这些扰动事件置之不 理,则会出现作业计划与生产制造执行现场的脱节,从而使得作业计划的指导意义大幅度 丧失。因此,必须对扰动事件做出响应,实现作业计划方案的更新。 目前关于动态调度响应方式的研究主要是增量调度和重调度,但是这两种方法又 存在着自身的缺陷。增量调度不能综合考虑所有订单的紧急程度进行安排,只是一种简单 的追加调度,而重调度会引起作业计划变化过大,甚至影响按照原作业计划顺序已经完成 的生产技术准备。 随着对生产调度问题研究的深入,已经出现了很对针对车间生产的调度软件。但 由于生产制造业中企业生产习惯的差异,以及生产过程中,加工工时不准等大量扰动信息 的存在,使得传统软件存在着以下不足 (1)调度算法过于理论化,不能很好的与车间生产实际相结合,并难于适应复杂的 车间生产环境。 (2)调度软件不具备及时响应能力,对于车间加工过程中的扰动时间无法及时的 响应,使得理论的调度方案失去指导意义。 调度软件的人机交互性差,对于已经自动产生的调度方案无法进行手动修改,不 能充分借鉴企业调度人员的生产经验。使得调度方案不能适应企业生产文化,可用性差。
发明内容
本发明的目的是提供一种实现车间作业动态调度的方法,实现响应和处理车间调度问题,满足实时调度的需要。本方法结合实际的生产需求,在对扰动事件进行分析的基础 上,建立一种扰动事件驱动的快速响应机制,使作业计划能够针对生产扰动进行快速的调 整,以适应新的要求与环境,保证尽量多的零件能够按照要求的交货期完成加工以及作业 计划的稳定性的前提下,实现作业计划与现场的同步,与此同时支持对调度方案的手动调 整,提高方案的可用性。 为了实现这一目标,首先通过对动态调度进行驱动因素分析,将扰动事件来源分 为计划任务、生产工艺、物料资源、生产执行四个层次。根据对扰动事件的作业调度方案调 整目标和动态调度约束的数学模型分析的基础上,提出了动态调度处理思路。提出了面向 各调度流程共性处理环节的分类模块化技术。 通过对上述方法的应用便可形成一套切实可行的动态调度方法,能够满足作业计 划与生产现场实际执行情况一致的目标。
—种基于扰动事件驱动的车间作业动态调度方法,步骤如下 步骤1 :当车间发生生产扰动时,对该扰动事件所属的扰动层次进行分析和判断, 将该扰动事件计入扰动事件集合中,该集合包含扰动事件所属层次,扰动事件发生时间和 扰动事件包含的具体信息;
所述扰动层次包括计划任务层、生产工艺层、物料资源层和生产执行层,其中属 于计划任务层的扰动事件形式包括但不限于生产任务追加、急件插入、任务撤销、加工数量 修改、交货期调整和生产任务分批;属于生产工艺层的扰动事件形式包括但不限于工艺路 线修改和工艺追加;属于物料资源层的扰动事件形式包括但不限于生产准备不足、设备故 障/维修和工作日制调整;属于生产执行层的扰动事件形式包括但不限于执行时间偏差、 执行数量偏差和超差品返工; 步骤2 :对扰动事件集合中的每个扰动事件,找出每个扰动事件直接影响的工序, 建立每个扰动事件的可调度工序集合,并将每个扰动事件包含的具体信息更新到相对应的 工序中; 步骤3 :根据扰动事件所属的扰动层次,利用四种基本处理方式建立处理流程对 调度方案进行调整。 本发明技术方案步骤3所述四种基本处理方式为 工序移动在不改变加工设备和设备内加工队列的前提下,前后移动调度工序的 计划开始时间和计划结束时间; 工序撤销将生产计划中某个零件没有开始加工的工序从作业计划内删除;
工序追加将新添加的工序以追加的方式添加到设备加工队列的尾部;
工序插入将新添加的工序以插入的方式添加到设备加工队列中。
所述四种基本处理方式的流程如下
工序追加的流程如下 搜索加工设备上原有的空闲时间是否大于待追加工序的完成时间,若具有这样的 空闲时间,则在不影响其他原有工序生产的情况下,将该工序直接插入到所述的空闲时间, 并将该工序从可调度工序集合中删除;若不具有这样的空闲时间,或插入到所述空闲时间 会影响其他原有工序生成,则将该工序加入到加工设备的作业队列尾部;并将该工序从可 调度工序集合中删除。
工序移动的流程如下 过程(1):将待移动的工序设为当前工序,同时找出由于该道工序的移动而受到 影响的工序,包括与该工序在同一加工设备上的后续工序、该工序的零件内后续工序,以及 与该工序的零件内后续工序在同一加工设备上的后续工序;
过程(2):重新计算当前工序的完成时间; 过程(3):根据过程(2)的结果调整当前工序的计划开始时间和计划完成时间;
过程(4):同时执行如下两个过程 过程4-l :如果当前工序的实际结束时间大于零件内的下一道工序的计划开始时
间,此时执行零件内工序后延,即将当前工序的计划结束时间作为当前工序的零件内的下
一道工序的计划开始时间,并计算所述下一道工序的计划完成时间,以此更新调度方案中
当前工序的零件内的下一道工序的计划开始时间和计划完成时间;然后从可调度工序集合
中删除当前工序,并将该工序的零件内下一道工序作为当前工序,找出因这个新的当前工
序调整而受到影响的工序集合,如果该集合不为空则转至过程(2),为空则转至过程(5); 如果当前工序的实际结束时间小于零件内的下一道工序的计划开始时间,此时执
行零件内工序前移,即将当前工序的计划结束时间作为当前工序的零件内下一道工序的计
划开始时间,并计算所述下一道工序的计划完成时间,以此更新调度方案中当前工序的零
件内下一道工序的计划开始时间和计划完成时间,然后从可调度工序集合中删除当前工
序,并将该工序的零件内下一道工序作为当前工序,找出因这个新的当前工序调整而受到
影响的工序集合,如果该集合不为空则转至过程(2),为空则转至过程(5); 过程4-2 :如果当前工序的实际结束时间大于同一加工设备的下一道工序的计划
开始时间,此时执行同一设备内工序后延,则将当前工序的计划结束时间作为同一设备上
的下一道工序的计划开始时间;计算所述下一道工序的计划完成时间,并更新调度方案中
的所述下一道工序的计划开始时间和计划完成时间,从可调度工序集合中删除当前工序,
并将该工序在同一设备上的下一道工序作为当前工序,找出这个新的当前工序的受影响工
序集合,如果不为空则转至过程(2),为空则转至过程(5); 如果当前工序的实际结束时间小于同一加工设备的下一道工序的计划开始时间,
则将当前工序的计划结束时间作为同一加工设备的下一道工序的计划开始时间,计算所述
下一道工序的计划完成时间,并更新调度方案中的所述下一道工序的计划开始时间和计划
完成时间,从可调度工序集合中删除当前工序,并将该工序的同一加工设备的下一道工序
作为当前工序,找出这个新的当前工序的受影响工序集合,如果不为空则转至过程(2),为
空则转至规程(5); 过程(5):动态调整结束。 可见工序前移调度过程只与工序后延只在过程(4)上存在区别。
工序插入的流程如下 过程(1):从待插入工序的可选设备集合中为该道工序选择加工设备,其中的可 选设备集合为可加工此道工序的所有设备的总和; 过程(2):根据预定的插入时间和所选加工设备上的加工队列,计算该工序的可 插入时间TSC ; 过程(3):以过程(2)的可插入时间TSC作为插入位置,将待插入工序插入到过程
6(1)选定的设备的加工队列中,使得该工序的计划开始加工时间与插入位置的前一道工序 的计划完成加工时间相同; 过程(4):利用工序移动处理对由于工序插入而受到影响的工序进行后延,并从 可调度工序集合中删除被插入的工序;
工序撤销的流程如下 过程(1):将待撤销工序设定为当前工序; 过程(2):将当前工序从作业计划中删除,并将其从可调度工序集合中删除;
过程(3):利用工序移动处理对与已删除的当前工序在同一设备上的后续工序进 行前移; 过程(4):判断已删除的当前工序是否存在零件内后续工序,如果存在则将零件 内后续工序设定为当前工序,转至过程(3);否则转至过程(5);
过程(5):调整结束。
本发明动态调度处理的约束条件如下 首先应明确车间动态调度的目标,因为不同的生产扰动事件对作业计划调整的目 标存在着差异 —部分首先要求保持原有作业计划尽量少变动,即最大限度的保持原有作业计划 的稳定性和权威性,在此基础上对生产作业计划进行调整,除生产任务分批、超差品返工和 急件插入外的扰动事件调整都可以归为这一类; 另一部分则要求为了尽早完成某些订单的加工而可以改变原有的调度方案,这部 分扰动事件主要包括生产任务分批、超差品返工和急件插入,这一类扰动事件的处理中也 会考虑到尽量减少对原有调度计划影响,只是将保持原有计划稳定性放到次要位置上,并 且这种处理过程是受调度人员主观控制的。 然后,建立动态调度的约束数学模型,从而为本技术方案的整体调度思路的处理 提供基础。调整过程中生产任务的所有工序都必须遵循工序间加工顺序的如下约束(1)和 加工设备的约束(2):PBs,r,n > PBS—Lr,n, (1) pss,r,n,i中加工设备nin,t G CMS,r (2) 加工顺序的约束(1)表明某一零件第二道工序的开始时间要晚于第一道工序的
开始时间,并且满足加工设备的约束(2):例如工序钳只能在加工类型为钳的设备上生产。 其中PBs,nn :工序psSj在加工设备的mn, t上的计划开始时间; ps^,n,i :零件的某一道工序,其下标r, s表示该工序为零件r内的第s道加工工
序,下标n G (1,2,…,N)表示该工序所在加工设备的设备标识,与加工设备列表M中的元
素发生关联,下标l G (1,2,, Ln)是工序在加工设备n内的加工顺序标识,k表示加工
设备n上加工的工序的数量。 M= (mLt,ni2,t, ,,!%" }:加工设备列表,列表中的元素mn,t表示某台加工设备, 下标nG (1,2,…,N)是加工设备的唯一标识,t G (1,2,…,T)与加工类型列表TE中的 元素相关联,表示设备所属的加工类型; TE= {tei,te2,.",teT}:加工类型列表,其中的元素tet表示某种加工类型,如车,
铣,钳等,下标tG (1,2,…,T)是加工类型的唯一标识;
CMs,r :零件r内的第s道加工工序的可选加工设备集合。 对于第二部分要求为了尽早完成某些订单的加工而可以改变原有的调度方案,调
度的目标是保证尽量少的零件延期,因此动态调度后生产任务的所有工序应满足式(3): 广, 、^
mm
(3) 式(3)表示如果某一零件出现延期,则记延期状态为l,如期完成则为O,则将一个 生产任务中所有零件的延期状态都进行统计后将其相加,应保证所得结果尽量小,即尽量 减少零件延期的发生。
式(3)中延期状态函数DL(pPr,k)表示零件卯r,k是否延期,延期状态函数的计算
<formula>formula see original document page 8</formula>
务,下标k e
表示某个加工零件的规定加工时间;
表示某个加工零件,下标r G (1,2,…,R)是加工零件的唯一标识,下标 ,K)与任务列表PT中的元素发生关联,表示该零件所属的生产任务; ={ptp pt2, , ptK}:表示加工任务列表,列表中的元素ptk表示某个加工任 (1,2,…,K)是加工任务的唯一标识; PESj,n :加工设备的mn,t上的计划结束时间。 对于第一部分要求保持原有作业计划尽量少变动,调度目标是尽j 计划不变,因此动态调度后生产任务的所有工序应满足式(4):
t保持原有作业
<formula>formula see original document page 8</formula>(4) 式(4)表示如果修改某一道工序的开始时间或结束时间,该工序在方案中的位置 因此受到影响而必须调整,则记位置状态为l,若该工序的位置不受到影响而不需调整则记 位置状态为O,最后使在一个方案中所有工序的位置状态的和最小,即表示对原有作业计划
的调整最小。式(4)中位置状态函数表示为》(C^):表示变量0是否因其参数w变化而变化, 如果变化贝l"(CO取值为l,否则取0。 对比现有技术,本发明技术方案有益效果在于提出了一种基于扰动事件驱动的动 态调度流程。将扰动事件来源归纳和划分为四个层次,因此扰动事件可以直接归入自动调 度,并建立扰动事件集合,接着按各自的对应流程处理。利用了分类模块化思想,即将不同 的扰动处理流程归结为对于工序移动、工序追加、工序插入和工序撤销四个方法的综合交 叉应用,从而大大简化了扰动的处理流程,提高软件实现的可能性。在应用于人机交互模式 下的动态调度方法的处理过程中,人机交互模式下手动调度则可以对生成的调度方案进行 修改和调整,即对于方案中工序序列的调整,重调度则为在由调度人员设定时间节点,在这 个节点后对整个调度方案进行重新排列,结合手动调度保证最终方案的实用性和可行性。
图1为本发明的生产扰动事件分类图; 图2为本发明的生产扰动事件驱动的作业方案调整目标分析; 图3为本发明的车间作业动态调度处理流程; 图4为本发明的扰动事件分类模块化组合表; 图5为本发明的人机交互作业计划调整流程; 图6为本发明的任务计划层扰动事件处理流程; 图7为本发明的生产任务追加事件响应过程示意图; 图8为本发明的生产任务插入事件响应过程示意图; 图9为本发明的生产任务撤销事件响应过程示意图; 图10为本发明的生产任务数量调整事件响应过程示意图; 其中(a)生产任务追加;(b)急件插入;(C)生产任务撤销;(d)加工数量修改;(e)
生产任务分批;(f)交货期调整; 图11为本发明的零件A的执行阶段划分; 图12为本发明的生产工艺层扰动事件处理流程; 其中(a)工艺追加;(b)工艺路线修改; 图13为本发明的物料资源层扰动事件处理流程; 其中(a)生产准备不足;(b)设备故障/维护;(C)工作日历/日志变化; 图14为本发明的生产执行层扰动事件处理流程; 其中(a)执行时间偏差;(b)执行数量偏差;(C)超差品返工; 图15为本发明的加工序列变化事件响应过程示意图; 图16为本发明的重调度处理过程示意图。
具体实施例方式
以下结合技术方案和
本发明的具体实施方式
。 一种应用实施例的流程如 附图3所示。本实施例基于车间现有扰动事件的分析,建立以事件驱动的快速响应机制,通 过扰动事件驱动的动态调度,保证了调度方案对于生产现场的指导性,利用四种基本处理 方法工序移动、工序撤销、工序追加和工序插入的不同组合,来应对来自计划任务层、生产 工艺层、物料资源层和生产执行层的大量且不同扰动事件,实现了模块化的处理,同时,本 实施例中借助人机交互机制对已有方案进行手动修改,充分利用调度人员经验,对完成方 案进一步优化,使得优化后的方案更加符合车间生产习惯,提高调度方案的可用性。
该实施例下本发明的技术方案可用于如下两种模式
1.扰动事件驱动的自动模式下的动态调度技术 首先读取扰动事件信息,其中由于扰动的介入,必然会产生一个受影响工序集合, 因此从所有零件中找出扰动事件对应工序,从而建立扰动事件可调度工序集合,处理操作 只针对集合中的工序及通过受影响的工序。接着从集合中选出一个工序,并判断其所属扰 动事件类型,其选择顺序可以提前设定。针对不同的扰动事件类型,分别按其流程进行处 理生产任务追加、插入、撤销、分批,以及工艺追加与修改、生产准备不足、设备故障和工 作日历/日制变化,生产任务数量修改、执行时间偏差、执行数量偏差和超差返工等扰动事
9件,直接调用对应的处理流程;对于交货期调整则需要判断发生调整的零件是否能在调整 后的交货期内完成加工,如能完成则不必调整,否则启动交货期调整处理流程。而在各个扰 动事件的处理流程中,根据分类模块思想,都是对于四种基本处理方式的应用,并且满足约 束条件。 2.人机交互模式下的动态调度技术 人机交互模式下的动态调度过程是一个从人机交互界面读取数据和计算机辅助 计算交互进行的过程,如附图5所示。人机交互模式下的作业计划调整是在手工调度的基 础上,提出了智能判断和作业计划智能优化的需求,同时为调度块的移动提供了辅助工具。 约束传播不仅仅是工序间加工约束的级联传播,同时还包括了在不影响加工顺序的基础上 将调度工序块自动前移。在调度调整的开始阶段,操作者通过人机交互界面输入需要调整 的工序,即待调度工序;计算机为待调度工序计算调度约束,这些约束包括待调度工序的 可使用设备、工序的最早可开始时间和交货期等,通过人机交互界面将约束的计算结果通 过人机交互界面显示给操作者;操作者根据人机交互界面的约束信息对待调整工序进行调 整;调整信息传入到系统中后,计算机辅助判断调整是否符合约束条件,如果调整后的作业 计划违反调度约束则放弃该调整,如果符合调度约束,则在计算机通过受影响工序搜索算 法生成受影响工序集合,利用工序移动算法对受影响的工序按照调度约束进行持续的传播 式调整。 从生产实践中总结得到,人机交互模式下的动态调度主要分为设备内加工顺序修 改、更换加工设备和重调度三种操作。加工顺序修改和更换加工设备虽然在操作上不相同, 但在处理流程上都表现为工序序列调整,即将调度工序从设备加工队列删除后再做插入处 理;但两者也有不同之处加工顺序修改是将调度工艺插入到原加工设备的加工队列中, 而更换加工设备操作则是将调度工序插入到其它可用加工设备的加工队列中。重调度则是 将指定时间之后的所有调度工艺在无视原作业方案的前提下进行重新调度。结合四种基本 处理方式便可完成工序序列调整和重调度流程。 下面首先介绍本发明技术方案所用到的动态调度的驱动因素分析思想 本发明是一种基于扰动事件驱动的快速响应机制,因此首先要对于生产过程中的
扰动信息进行分类和归纳。在现存的生产环境下,生产扰动的种类和来源都较为复杂,根
据扰动因素的发起类别,可以将生产扰动来源分为4个层次,分别为计划任务层、生产工艺
层、物料资源层和生产执行层。其中,复杂生产环境下属于生产任务层的生产扰动具有动
态、多变的特点,由于生产订单的快速变化带来的生产任务的不可预测的动态调整,包括生
产任务的追加与急件插入、生产任务撤销、加工数量更改、交货期变化等。在生产工艺层的
扰动也存在例如工艺路线修改和工序追加等扰动形式。而物料资源层扰动则主要存在生产
准备不足、设备故障和工作日历修改等车间作业中常见的生产扰动。最后在生产执行层扰
动则存在制造执行时间偏差、制造执行数量偏差、超差品返工等。其分类如附图l所示。 各种生产扰动事件对作业计划的调整目标的影响分析如附图2所示。 可见不同生产扰动事件对作业计划影响及其调整目标的差异,此时如果针对每一
个生产扰动事件都采取专用的处理过程,无疑将大大增加技术问题解决的复杂性,由此本
技术方案中提出了分类模块化思想。该思想通过对来自各层次的生产扰动事件处理流程
的分析,体现在本技术方案对各种扰动层次的生产扰动事件处理流程包括四种基本处理方式 工序移动在不改变加工设备和设备内加工队列的前提下,前后移动调度工序的 计划开始时间和计划结束时间; 工序撤销将生产计划中某个零件没有开始加工的工序从作业计划内删除; 工序追加将新添加的工序以追加的方式添加到设备加工队列的尾部; 工序插入将新添加的工序以插入的方式添加到设备加工队列中。 根据分类模块化思想,整个车间调度不同扰动的调度流程都是基于上述四种处理
方式完成的,生产扰动事件与上述四种基本处理方式之间的关系如图4所示。不同的扰动
只需找出可调度工序集合。可见每个生产扰动事件都可以通过使用预先定义的工序撤销、
工序插入、工序追加和工序移动四类基本处理方式中的一个或多个来实现作业计划调整,
可以有效的降低扰动事件的处理难度,提高代码重用度和设计重用度。扰动事件分类模块
化组合技术为今后系统新添扰动事件的响应打下良好基础。因此首先对这四种方式的处理
流程进行介绍,在扰动事件的执行中则只对其进行调用,其中可调度工序集合是指直接由
扰动事件引起的加工信息需要改动的工序的总和。 用pss, n n,工表示零件的某一道工序,其下标r, s表示该工序为零件r内的第s道 加工工序,下标nG (1,2,…,N)表示该工序所在加工设备的设备标识,与加工设备列表M 中的元素发生关联,下标l G (1,2,…,Ln)是工序在加工设备n内的加工顺序标识,k表 示加工设备n上加工的工序的数量。
四种基本处理方式的流程如下
工序追加 搜索加工设备上原有的空闲时间是否大于待追加工序的完成时间,若具有这样的 空闲时间,则在不影响其他原有工序生产的情况下,将该工序直接插入到所述的空闲时间, 并将该工序从可调度工序集合中删除; 若不具有这样的空闲时间,或插入到所述空闲时间会影响其他原有工序生成,则
将该工序加入到加工设备的作业队列尾部;并将该工序从可调度工序集合中删除。 具体例子如附图6所示,要将颜色较深的工序4-1追加到设备上生产,可根据工厂
实际情况将其插入到设备2的空闲时间生产,也可直接追加到某一设备加工队列的尾部。 工序移动 工序移动分为工序后延和工序前移两类。工序移动的核心是将发生前移或推迟的 工序及其相关工序的计划开始时间和计划完成时间进行调整,而不改变设备内和零件内工 序的加工顺序。 工序移动的调度过程如下 过程(1):将待移动的工序pSw,w设为当前工序,例如图7. 1中的1-1 ;同时找出
由于该道工序的修改而受到影响的工序,包括与工序PSS, r, n, i在同一加工设备上的后续工
序、工序PS^W的零件内后续工序,以及与工序PS^^的零件内后续工序在同一加工设
备上的后续工序,见图7中颜色较深的工序块,工序2-2和3-2是与工序1-1在同一加工设 备上的后续工序,工序1-2和1-3是工序1-1的零件内后续工序,工序2-3是与工序1-2的 在同一加工设备上的后续工序,也是受影响工序;
过程(2):重新计算当前工序的完成时间;
11
过程(3):根据过程(2)的结果调整当前工序的计划开始时间和计划完成时间,例 如图7. 2中调整后的1-1的完成时间后延,与原2-2和1-2时间上相交叠;
过程(4):本步骤为并行处理部分,同时执行如下两个过程 过程4-l :如果EEw,n,fPBw,r,n, ,r > 0即当前工序P Ss, r, n, x的实际结束时间大于 零件内的下一道工序PS^,r,n, 的计划开始时间,此时执行零件内工序后延,即将当前工 序PS^w的计划结束时间作为当前工序的下一道工序PS^,r,n, J的计划开始时间,并且 由于零件内的相邻两道工序不在同一设备上加工,因此PS^,r,n, 中的下标n和l都加撇, 以表明两道工序的加工设备不同。计算pS^,r,n, ,r的计划完成时间,并以此更新调度方案
中的工序ps^,r^ ^的计划开始时间和计划完成时间,如图7. 3中1-2的计划开始时间和 计划完成时间均推迟;然后从可调度工序集合中删除当前工序pss, n n, y并将该工序的零件
内下一道工序PS^,r,n, ,r作为当前工序,找出因当前工序调整而受到影响的工序集合,如
果该集合不为空则转至过程(2),为空则转至过程(5),其中EE^,^代表工序pSw在加工 设备mn,t上的实际结束时间,PB^,w代表工序psSj在加工设备的mn,t上的计划开始时间;
如果EEw,n,fPBw,w ,r < 0即当前工序ps^,w的实际结束时间小于零件内的
下一道工序PS^,r,n, ,r的计划开始时间,此时执行零件内工序前移,即将当前工序PSs,r,n, i的计划结束时间作为当前工序的零件内下一道工序PS^,r,n, ,r的计划开始时间,并计算
PSs+1,nn, a,的计划完成时间,并以此更新调度方案中的工序ps^,M, ,r的计划开始时间和 计划完成时间,从可调度工序集合中删除当前工序PSS, n n, 15并将该工序的零件内下一道工
序pS^,r^ ,r作为当前工序,找出因当前工序调整而受到影响的工序集合,如果该集合不 为空则转至过程(2),为空则转至过程(5); 过程4-2 :如果EE^,n,fPBs, , — ,n,1+1 > 0,即当前工序ps^^的实际结束时间大
于同一加工设备的下一道工序PS^ ,r, ,n,1+1的计划开始时间,此时执行同一设备内工序后 延,则将当前工序PSw,w的计划结束时间作为同一设备上的下一道工序PS^ ,r, ,n,1+1的计 划开始时间,其中PSs, ,r, ,n,w代表与当前工序在同一设备上且在该设备上的加工顺序位于
当前工序之后的工序,同时此道工序与当前工序不属于同一零件,因此下表s和r都要加撇
以示区别,而小标1 + 1则表明加工顺序位于当前工序之后;计算当前工序在同一设备上的 下一道工序PSy ,r, ,n,1+1的计划完成时间,并更新调度方案中的工序PSy ,r, ,n,1+1的计划开 始时间和计划完成时间,从可调度工序集合中删除当前工序PSS, r, n, y并将该工序在同一设 备上的下一道工序PS^ ,r, ,n,w作为当前工序,找出当前工序的受影响工序集合,如果不为
空则转至过程(2),为空则转至过程(5),如图7.3中2-2的计划开始时间和计划完成时间 均推迟; 如果EE^,n,fPBs, ,n,1+1 < 0即当前工序psw,w的实际结束时间小于同一加工
设备的下一道工序PS^ ,r, ,n,1+1的计划开始时间,则将当前工序PSw,W的计划结束时间作 为同一加工设备的下一道工序PSy ,r, ,n,1+1的计划开始时间,计算PS^ ,r, ,n,1+1的计划完成 时间,并更新调度方案中的工序PSy ,r, ,n,1+1的计划开始时间和计划完成时间,从可调度工 序集合中删除当前工序PSs,r,^,并将该工序的同一加工设备的下一道工序PS^ ,r, , ,1+1作 为当前工序,找出当前工序的受影响工序集合,如果不为空则转至过程(2),为空则转至规 程(5); 过程(5):动态调整结束,如图7. 4中得到最后的方案。
可见工序前移调度过程只与工序后延只在过程(4)上存在区别。
工序插入 过程(1):从待插入工序ps^的可选设备集合中为该道工序选择加工设备mn,t,如 图8工序4-1的选择设备1为此道工序加工设备,其中的可选设备集合为可加工此道工序 的所有设备的总和; 过程(2):根据插入时间TS和加工设备mn,t上的加工队列,计算可插入时间TSC, 如图8中所示选择工序1-1的计划加工完成时间为可插入时间TSC ; 过程(3):以过程(2)选定的可插入时间TSC作为插入位置,将工序ps^插入到 过程(1)选定的设备mn,t的加工队列中,使得工序ps^的计划开始加工时间与插入位置的 前一道工序的计划完成加工时间相同;例如图8将工序4-1插入到设备1的加工队列2处, 计划开始加工时间与工序1-1的计划完成加工时间相同; 过程(4):利用工序移动处理方式对由于工序插入而受到影响的工序进行后延, 并从可调度工序集合中删除被插入的工序,例如图8中后延的调度工序包括工序3-2,3-3 和2-3 ; 工序撤销 过程(1):将待撤销工序ps^^设定为当前工序,如图9中将工序2-2设为当前 工序; 过程(2):将当前工序从作业计划中删除,并将其从可调度工序集合中删除,如图 9中将工序2-2从作业计划中删除,并从可调度工序集合中删除被插入的工序;
过程(3):利用工序移动处理方式对与已删除的当前工序在同一设备上的后续工 序进行前移,如图9中前移工序1-2, 1-3, 3-3 ; 过程(4):判断已删除的当前工序是否存在零件内后续工序psw,^, ,r ,如果存在 则将零件内后续工序ps^,r,n, ,r设定为当前工序,转至过程(3);否则转至过程(5),如图9 中首次循环时工序2-3为当前工序2-2的零件内后续工序,此处后续工序指当前工序所属 零件的下一道工序;
过程(5):调整结束。 基于以上四种基本处理方式,提出一种实现车间作业动态调度的方法,自动模式 下的动态调度,包括如下步骤 步骤1 :当车间发生生产扰动时,对该扰动事件所属的扰动层次进行分析和判断, 将该扰动事件计入扰动事件集合中,该集合包含扰动事件所属层次,扰动事件发生时间和 扰动事件包含的具体信息;如设备故障扰动的具体信息包含但不限于故障设备、维修预计 时间; 所述扰动层次包括计划任务层、生产工艺层、物料资源层和生产执行层,其中属 于计划任务层的扰动事件形式包括但不限于生产任务追加、急件插入、任务撤销、加工数量 修改、交货期调整和生产任务分批;属于生产工艺层的扰动事件形式包括但不限于工艺路 线修改和工艺追加;属于物料资源层的扰动事件形式包括但不限于生产准备不足、设备故 障/维修和工作日制调整;属于生产执行层的扰动事件形式包括但不限于执行时间偏差、 执行数量偏差和超差品返工; 步骤2 :对扰动事件集合中的每个扰动事件,找出每个扰动事件直接影响的工序,建立每个扰动事件的可调度工序集合,并将每个扰动事件包含的具体信息更新到相对应的 工序中,例如属于物料资源层的设备故障扰动,则将在故障时间内的所有工序的加工信息 进行存储; 步骤3 :根据扰动事件所属的扰动层次,利用四种基本处理方式建立处理流程对 调度方案进行调整。所述四个扰动层次中针对不同扰动事件的步骤(3)的处理流程见附图 10、12、13、14。图中颜色较深的处理步骤是预先定义的四种基本处理方式,由此也可看出每 一种扰动事件的处理流程都应用了工序撤销、工序插入、工序追加和工序移动四种预先定 义的基本处理方式中的一种或几种。所述四个扰动层次中针对不同扰动事件的步骤(3)的 处理流程分别描述如下,
l计划任务层
生产任务的追加 在激烈的市场竞争的环境下,企业在实际生产中常会遇到追加订单的情况,因此 必须对调度方案进行调整。由于新添生产任务的加工工时相对于该任务的下达日期到交货 期之间的时间段相对较短,一般情况下只要将其安排到已有生产计划的尾部就可以在交货 期之前完成加工,因此采用任务追加的方式进行动态调度以确保作业计划与生产计划在生 产订单上的统一。对于生产任务的追加,本动态调度方法的步骤(3)处理流程如下
过程(1):利用筛选调度规则从可调度工序集合中选择一个待调度工序,所述筛 选调度规则为调度人员在调度开始前建立的,包括但不限于按优先级选取或采用随机选取 规则; 过程(2):将待调度工序执行工序追加处理; 过程(3):如果可调度工序集合中仍存在待调度工序则返回过程(l),如果没有可
调度工序,则进入过程(4); 过程(4):调整结束。 生产任务的追加流程图见附图10(a)。 由流程图可以看出整个追加的调度流程的核心为四种基本处理方式中的工序追 加,因此只需在开始读取追加的生产任务信息和作业计划,并在作业计划中找到相应的生 产任务,根据追加的生产任务信息对其进行更新。并建立可调度工序集合,然后按照工序追 加处理方式的流程进行调度方案的调整。
急件插入 由于试制或者紧急任务需要向生产计划中增加新的加工任务,由于新添的加工任 务交货期较近,生产任务十分紧急,要求接收到订单后尽早安排开始生产和尽早完成生产, 需要插入到已有的作业调度方案中,设备上原有的未加工工序则向后顺延。对于急件插入, 本动态调度方法的步骤(3)处理流程如下 过程(1):利用筛选调度规则从所述急件插入的生产任务的可调度工序集合中读 取一个待调度工序psw和插入时间TS,如图8中的工序4-1和时间TS ;
过程(2):根据插入时间TS对该工序执行工序插入处理; 过程(3):如果可调度工序集合中仍存在待调度工序则返回过程(1),如果没有可 调度工序,则进入过程(4);
过程(4):调整结束。
具体流程见附图10(b)。 由流程图可以看出整个急件插入调度流程的核心为四种基本处理方式中的工序 插入,因此只需在开始读取插入的生产任务信息和作业计划,并在作业计划中找到相应的 生产任务,根据插入的生产任务信息对其信息进行更新。并建立可调度工序集合,即可按照 工序插入处理方式的流程进行调度方案的调整。
任务撤销 生产任务撤销体现为暂时不要求执行该任务,但该订单的生产计划已经下达到车 间生成作业计划,从而要求在不改变加工顺序的前提下从作业计划中删除该订单所包含的 零件和工序的作业安排,并对作业计划进行调整。对于任务撤销,本动态调度方法的步骤 (3)处理流程如下 过程(1):利用筛选调度规则从所述任务撤销的可调度工序集合中读取一个待调 度工序pSw,u,如图9中的设备3上的工序2-2为待撤销工序;
过程(2):对该工序执行工序撤销处理; 过程(3):如果可调度集合中仍存在待调度工序则返回过程(l),如果没有可调度
工序,则进入过程(4); 过程(4):调整结束。
任务撤销的具体流程见附图10(C)。 由流程图可以看出整个任务撤销调度流程的核心为工序撤销处理,因此只需在开 始读取撤销的生产任务信息和作业计划,并在作业计划中找到相应的生产任务,根据撤销 的生产任务信息对其信息进行更新。并建立可调度工序集合,即可按照工序撤销处理方式 的流程进行调度方案的调整。
加工数量修改 主要是由于生产计划层生产任务的变更对已经下达到生产车间的生产任务中某 一个或者多个工序的订单进行加工数量修改,使得被修改加工数量的工序的加工时间延长 或縮短,为满足约束关系应对受影响工序进行工序前移或后延。因此需要在不改变作业计 划中设备内工序加工顺序的前提下,对相关的加工工序进行计划开始加工时间和计划完成 时间调整。加工数量修改的 过程(1):通过筛选调度规则从可调度工序集合中获取待移动的工序;
过程(2):对该工序执行工序移动处理; 过程(3):如果可调度集合中仍存在待调度工序则返回过程(l),如果没有可调度 工序,则进入过程(4); 过程(4):动态调整结束,如图7. 4中得到最后的方案。
流程如图10(d)中所示。 由流程图可以看出整个加工数量修改调度流程的核心为工序移动处理,因此只需
在开始读取加工数量修改的生产任务信息和作业计划,并在作业计划中找到相应的生产任
务,根据加工数量修改的生产任务信息对其信息进行更新,并建立可调度工序集合,并同时
重新计算可调度工序集合中工序的计划开始和完成时间,接着便可按照工序移动处理方式
的流程进行调度方案的调整。 生产任务分批
在生产计划下达后,要求一个订单下部分数量的零件先于该订单下其它零件交 货,因此要求对生产任务进行分批。分批后两个批次的零件作为两个独立的订单进行生产, 两个批次的交货期不同,相互之间不存在生产约束,但两个批次的数量、时间需要进行相应 的调整。 生产任务分批相当于对原批次生产任务进行加工数量的修改,即减少了生产数 量,其调整方式与上述加工数量修改的过程相同,而对于需要提前的生产的另一个批次,则 相当于生产任务插入过程,这两个流程的核心分别为工序移动和插入两个处理方式。其处 理流程为附图10(e)。
交货期修改 当生产任务已经下达到生产车间后,根据生产订单变化的需求对生产任务中部分 订单的交货期进行修改。当交货期提前时,比较作业计划中对应所有零件中最晚的计划加 工完成时间(^^(户&w"和新的交货期D^ ',如果r^c(i^^)^Z)iV则不需要对作业计 划进行调整;如果^,0^^,n)〉DD/,则需要将属于零件r'的调度工序以插入方式进行
重新调整。交货期的修改实际为对需修改的生产任务以前述"任务撤销"的流程处理后,再 对其进行"急件插入"处理,由此得到最后的调度方案,是对工序撤销和插入处理方式的按 顺序调用,其调整流程如图10(f)所示。
2生产工艺层
工艺追加 企业在生产组织中普遍存在跨车间加工的现象,当工序发生外协时,主制车间很 难控制其加工进度,因此每次下达给车间的生产任务只包括当前连续在该车间生产的工 序,属于非完整的片段工序集合,如图ll所示。当零件完成外协加工转入车间时,该零件的 工序不能作为一个新的任务添加,否则会造成生产计划与作业计划不统一,必须采取工序 追加的形式展开,如图11中零件A的工序要分3次下达给主制车间,当第一次下达时是生 产任务正式下达,当第二和第三次下达时则属于生产任务工序追加。工艺追加要求在保证 零件交货期的前提下采用以工序追加方式对新添的调度工序生成作业计划。其处理流程实 际上为生产任务追加中的一部分,即对可调度工序集合中的每个工序都采用工序追加处理 方式完成调度方案的调整。其处理流程如图12(a)所示。
工艺路线修改 企业制造执行过程中会存在一定数量的仍处于试制阶段的零件,这些零件的工艺 十分不稳定,随时可能根据功能或者加工的需要对零件的工艺路线进行调整。发生工艺路 线调整后引起作业方案中工艺路线不正确,需要对作业计划进行相应的修改。当发生工艺 路线调整时,需要在保证多数订单按时交货的前提下对工艺路线发生变更的零件的未加工 工序进行重调度。其处理过程与生产任务层中关于交货期调整的过程相同,即先进行撤销 后,在采用工序插入处理方式,只在更新数据时对于可调度工序集合中存储的工序信息存 在区别,其调整流程如图12(b)所示。
3物料资源层的生产扰动
生产准备不足 当生产任务已经生成作业计划后,发现其中部分零件由于工装、刀具或者图纸不
16到位,数控加工代码未编制完成、物料未准备完成等生产准备不完全不能开始加工,则需要 对作业计划进行调整,从中删除生产准备不足的生产工序。将生产准备不足的工序及其零 件内后续工序的调度状态变为不可调度,将设备上原用于加工这些工序的加工时间恢复为 空白,并利用工序移动调整后续工序的作业计划。其处理方式与生产任务撤销相似,只在更 新数据时对于可调度集合中存储的工序信息存在区别,处理流程如图13(a)所示。
设备故障/维修 在生成作业计划后,由于设备的故障/维修的原因造成设备上的可用加工时间发 生变化,因此必须在保证作业计划尽量少变化的前提下,对作业计划进行调整,以保证工序 的工时与在设备上占用的可用加工时间保持一致。其处理过程采用"交货期修改"的方式, 即对于在故障设备上加工的工序进行移动,只在更新数据时对于可调度集合中存储的工序 信息存在区别,其处理流程如图13(b)所示。
工作日制调整 当作业方案生成后,由于零件超期或企业运行机制调整等原因,存在对设备的工 作日历或者日制调整的需求,相当于调整了两个时间点之间的设备可用工作时间,要求对 作业方案中的工序开工和完工时间节点按照新的工作模式进行调整。其处理方式与设备故 障处理相似,核心为工序移动处理方式,只在更新数据时对于可调度集合中存储的工序信 息存在区别,其处理流程如图13(c)所示。
4生产执行层 在执行层的扰动主要形式与生产任务修改中对于追加,插入和交货期调整的过程 类似,只在更新数据时对于可调度集合中存储的工序信息存在区别,其核心为对工序进行 移动方式处理。其处理流程如图14所示。
制造执行时间偏差 生产执行过程中存在大量不可预知的原因,造成生产中实际开工/完工时间与作 业方案中的计划开工/完工时间不一致,需要在保证作业计划中工序的加工设备和加工顺 序不变的基础上,按照实际开工/完工时间对作业计划进行调整。
制造执行数量偏差 生产执行过程中不可避免的会出现废品现象,致使作业计划中的计划生产数量与 实际不一致,需要对作业计划进行调整。在保证作业计划中工序的加工设备和加工顺序不 变的基础上,按照合格数量重新计算工序的计划开工/完工时间。
超差品返工 检测过程中发现一些完成加工的零件虽然不符合要求,但是经过工艺判断确定返 工加工后该零件仍然能够使用。返工零件的加工也需要占用设备的可用加工时间,因此必 须对作业方案进行调整。返工零件应该尽早完成加工,以便与已经检测合格的零件一起流 转到下一个工序。 综上所述,从自动调度的流程可以看出,各个调度过程在分类模块化技术的指导
下,综合利用了四种基本处理方式,完成了对于车间动态调度方案的自动制定。 其次介绍本发明技术方案用于人机交互模式下的动态调度技术,主要分为设备内
加工顺序修改、更换加工设备和重调度三种操作。加工顺序修改和更换加工设备虽然在操
作上不相同,但在处理流程上都表现为工序序列调整,即将调度工序从设备加工队列删除后再做插入处理;但两者也有不同之处加工顺序修改是将调度工艺插入到原加工设备的 加工队列中,而更换加工设备操作则是将调度工序插入到其它可用加工设备的加工队列 中。重调度则是将指定时间之后的所有调度工艺在无视原作业方案的前提下进行重新调 度。
1工序序列调整 以工序的前移/后延处理方式作为子方式,以降低处理过程的复杂性,具体调度 过程如图15所示。将设备3上的调度块2-2转换到设备1上,队列位置位于1-1和3-2之 间. 过程(1):由调度人员指定将要发生加工顺序变化的待调整工序pss,r,nd,如图 15. 1中作业计划1中颜色较深的调度块; 过程(2):对待调整工序psw,w进行工序撤销处理即从其所在的设备的加工队
列中删除,将该工序标记为PSS, r,由于PSS, r, n,工中n和1代表了工序的加工设备,因此标记
改变代表工序pss,r没有被安排到原加工设备上;如图15. 2中工序2-2被删除,以过程(2)
所删除的工序的后一道工序作为更改后的工序PS^ ,r, ,n,y并找出由于删除工序而受到影
响的工序,如图15. 3中作业计划2中颜色较深的调度块;对受影响工序进行工序移动处理,
即进行工序前移,形成的作业计划如图15. 3 ; 过程(3):对待调整工序pSs,r进行工序插入处理即插入到调度员下达的指定设
备的指定位置,见图15.4,将工序pSw标记为pSs,r,n, J ;找出由于工序PSS, t, n, , 1;的调整
而引起的受影响工序,如图15. 5中颜色较深的调度块;对受影响工序进行工序移动处理, 即进行工序后延,形成的作业计划如图15. 5中所示;
过程(4):完成调整。
2重调度 重调度是对特定时间点之后的所有作业工序进行完全的重排,与静态调度不同, 参加调度的工序并不是全部的工序,而是特定时间点之后的部分零件加工工艺路线的片 段。为此必须建立一个可调度工序集合,而后针对可调度工序集进行重调度。因此,针对上 述要求,提出了基于片段工序集与启发式规则相结合的面向特定时间点之后的重调度,其 过程如图16所示。 过程(1):调度员下达重调度时间L,清空可调度工序集CS,如图16. 1所示;
过程(2):对作业计划中的各工序进行循环,如果工序p&r在加工设备的上的计
划开始时间PBs,r,na > Tr,则将工序pSw,w从设备队列中删除,然后将删除的工序PS^,n, i标记为PSS, r,并添加入CS,即将删除的工序加入到可调度工序集中,其中PBS, r, n, i是工序 PS^在加工设备的上的计划开始时间。如图16.2所示; 过程(3):如果可调度工序集为空,则转至过程(7),否则转至过程(4); 过程(4):从可调度工序集中根据预置的筛选调度规则选出一个待调度工序pss, 过程(5):利用预置的设备选择规则为工序psw选定加工设备mn,t,所述设备选择 规则应保证工序、设备与加工类型相对应(例如工序车只能在车床上加工),同时加工设备 也可由调度人员指定; 过程(6):对工序ps^进行工序追加处理,追加到作业计划中选定的加工设备mn,t上,工序PSs,r标记为PSw,w,并将该工序从可调度集合中删除,并返回过程(3)。如图16. 3
所示,分别将可调度工序安排到调度方案中; 过程(7):调度结束,最终方案如图16. 5所示。 以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说 明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范 围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。
权利要求
一种基于扰动事件驱动的车间作业动态调度方法,其特征在于步骤如下步骤1当车间发生生产扰动时,对该扰动事件所属的扰动层次进行分析和判断,将该扰动事件计入扰动事件集合中,该集合包含扰动事件所属层次,扰动事件发生时间和扰动事件包含的具体信息;所述扰动层次包括计划任务层、生产工艺层、物料资源层和生产执行层;步骤2对扰动事件集合中的每个扰动事件,找出每个扰动事件直接影响的工序,建立每个扰动事件的可调度工序集合,并将每个扰动事件包含的具体信息更新到相对应的工序中;步骤3根据扰动事件所属的扰动层次,根据分类模块化思想,利用如下四种基本处理方式建立处理流程对调度方案进行调整;所述四种基本处理方式为工序追加、工序移动、工序插入和工序撤销工序移动在不改变加工设备和设备内加工队列的前提下,前后移动调度工序的计划开始时间和计划结束时间;工序撤销将生产计划中某个零件没有开始加工的工序从作业计划内删除;工序追加将新添加的工序以追加的方式添加到设备加工队列的尾部;工序插入将新添加的工序以插入的方式添加到设备加工队列中。
步骤1 :当车间发生生产扰动时,对该扰动事件所属的扰动层次进行分析和判断,将该扰动事件计入扰动事件集合中,该集合包含扰动事件所属层次,扰动事件发生时间和扰动事件包含的具体信息;所述扰动层次包括计划任务层、生产工艺层、物料资源层和生产执行层; 步骤2:对扰动事件集合中的每个扰动事件,找出每个扰动事件直接影响的工序,建立每个扰动事件的可调度工序集合,并将每个扰动事件包含的具体信息更新到相对应的工序中;步骤3 :根据扰动事件所属的扰动层次,根据分类模块化思想,利用如下四种基本处理方式建立处理流程对调度方案进行调整;所述四种基本处理方式为工序追加、工序移动、工序插入和工序撤销工序移动在不改变加工设备和设备内加工队列的前提下,前后移动调度工序的计划开始时间和计划结束时间;工序撤销将生产计划中某个零件没有开始加工的工序从作业计划内删除; 工序追加将新添加的工序以追加的方式添加到设备加工队列的尾部; 工序插入将新添加的工序以插入的方式添加到设备加工队列中。
2. 根据权利要求1所述一种基于扰动事件驱动的车间作业动态调度方法,其特征在于,A. 工序追加的流程如下搜索加工设备上原有的空闲时间是否大于待追加工序的完成时间,若具有这样的空闲 时间,则在不影响其他原有工序生产的情况下,将该工序直接插入到所述的空闲时间,并将 该工序从可调度工序集合中删除;若不具有这样的空闲时间,或插入到所述空闲时间会影 响其他原有工序生成,则将该工序加入到加工设备的作业队列尾部;并将该工序从可调度 工序集合中删除;B. 工序移动的流程如下过程(1):将待移动的工序设为当前工序,同时找出由于该道工序的移动而受到影响 的工序,包括与该工序在同一加工设备上的后续工序、该工序的零件内后续工序,以及与该 工序的零件内后续工序在同一加工设备上的后续工序;过程(2):重新计算当前工序的完成时间;过程(3):根据过程(2)的结果调整当前工序的计划开始时间和计划完成时间; 过程(4):同时执行如下两个过程过程(4)_1 :如果当前工序的实际结束时间大于零件内的下一道工序的计划开始时 间,此时执行零件内工序后延,即将当前工序的计划结束时间作为当前工序的零件内的下 一道工序的计划开始时间,并计算所述下一道工序的计划完成时间,以此更新调度方案中 当前工序的零件内的下一道工序的计划开始时间和计划完成时间;然后从可调度工序集合 中删除当前工序,并将该工序的零件内下一道工序作为当前工序,找出因这个新的当前工 序调整而受到影响的工序集合,如果该集合不为空则转至过程(2),为空则转至过程(5);如果当前工序的实际结束时间小于零件内的下一道工序的计划开始时间,此时执行零 件内工序前移,即将当前工序的计划结束时间作为当前工序的零件内下一道工序的计划开始时间,并计算所述下一道工序的计划完成时间,以此更新调度方案中当前工序的零件内 下一道工序的计划开始时间和计划完成时间,然后从可调度工序集合中删除当前工序,并 将该工序的零件内下一道工序作为当前工序,找出因这个新的当前工序调整而受到影响的 工序集合,如果该集合不为空则转至过程(2),为空则转至过程(5);过程(4)-2 :如果当前工序的实际结束时间大于同一加工设备的下一道工序的计划开始时间,此时执行同一设备内工序后延,则将当前工序的计划结束时间作为同一设备上的下一道工序的计划开始时间;计算所述下一道工序的计划完成时间,并更新调度方案中的 所述下一道工序的计划开始时间和计划完成时间,从可调度工序集合中删除当前工序,并 将该工序在同一设备上的下一道工序作为当前工序,找出这个新的当前工序的受影响工序集合,如果不为空则转至过程(2),为空则转至过程(5);如果当前工序的实际结束时间小于同一加工设备的下一道工序的计划开始时间,则将 当前工序的计划结束时间作为同一加工设备的下一道工序的计划开始时间,计算所述下一 道工序的计划完成时间,并更新调度方案中的所述下一道工序的计划开始时间和计划完成 时间,从可调度工序集合中删除当前工序,并将该工序的同一加工设备的下一道工序作为当前工序,找出这个新的当前工序的受影响工序集合,如果不为空则转至过程(2),为空则转至规程(5);过程(5):动态调整结束;C. 工序插入的流程如下过程(1):从待插入工序的可选设备集合中为该道工序选择加工设备,其中的可选设 备集合为可加工此道工序的所有设备的总和;过程(2):根据预定的插入时间和所选加工设备上的加工队列,计算该工序的可插入 时间TSC ;过程(3):以过程(2)的可插入时间TSC作为插入位置,将待插入工序插入到过程(1)选定的设备的加工队列中,使得该工序的计划开始加工时间与插入位置的前一道工序的计划完成加工时间相同;过程(4):利用工序移动处理对由于工序插入而受到影响的工序进行后延,并从可调 度工序集合中删除被插入的工序;D. 工序撤销的流程如下过程(1):将待撤销工序设定为当前工序;过程(2):将当前工序从作业计划中删除,并将其从可调度工序集合中删除;过程(3):利用工序移动处理对与已删除的当前工序在同一设备上的后续工序进行前移;过程(4):判断已删除的当前工序是否存在零件内后续工序,如果存在则将零件内后 续工序设定为当前工序,转至过程(3);否则转至过程(5); 过程(5):调整结束。
全文摘要
本发明的目的在于针对多品种变批量的生产环境,为车间的调度作业提供一种有效使用的动态调度机制,从而完成在车间生产扰动下生产调度方案的制定与优化。本方法基于车间现有扰动事件的分析,建立以事件驱动的快速响应机制,通过扰动事件驱动的动态调度,保证了调度方案对于生产现场的指导性,利用四种基本处理方法工序移动、工序撤销、工序追加和工序插入的不同组合,来应对来自计划任务层、生产工艺层、物料资源层和生产执行层的大量且不同扰动事件,实现了模块化的处理,同时,本方案可借助人机交互机制充分利用调度人员经验,使得优化后的方案更加符合车间生产习惯,提高调度方案的可用性。
文档编号G05B19/418GK101794147SQ20101011394
公开日2010年8月4日 申请日期2010年2月25日 优先权日2010年2月25日
发明者刘检华, 唐承统, 张旭, 李京生, 王爱民 申请人:北京理工大学