一种生产调度方法及系统与流程

文档序号:11916077阅读:288来源:国知局
一种生产调度方法及系统与流程

本发明涉及一种生产调度方法及系统,特别涉及不确定性因素扰动下的离散装配车间生产调度。



背景技术:

复杂产品装配是典型的离散型装配,具有所需资源复杂多变、装调周期长等特点,例如卫星、飞机、船舶等,其装配过程围绕着产品进行,不同产品具有不同的工艺路线,不同工艺路线的工序之间相互独立,同时复杂产品装配过程中存在很多的不确定性生产扰动,常常导致实际执行过程与生产计划之间易产生偏差,车间任务延误、车间人员忙闲不均、资源浪费等现象。

目前,国内外研究学者针对生产扰动导致的车间调度问题,通常采用反应式调度和鲁棒调度等应对方式。反应式调度使用调度规则对生产过程进行控制,但由于复杂产品装配车间现场生产扰动多、约束多,难以全面的为反应式调度设定调度规则,因此实用性较差。鲁棒调度在生产执行前会准备工序间隔时间余量和资源余量等来消除生产扰动偏差,在满足生产约束的前提下最大程度的减轻生产扰动产生的影响,但是鲁棒调度的时间余量和资源余量极易造成成本上涨、资源浪费等问题。

目前,国内外针对柔性化程度较高的自动装配生产线的调度有着较多的研究成果,而针对手工装配为主的复杂产品装配车间调度的研究较少,由于复杂产品装配过程中存在着大量的逆向操作和资源协调,特别是产品研制阶段,其设计更改频繁、不确定性生产扰动多,导致生产调度极其复杂和困难。同时复杂产品的结构复杂,其装配层次复杂、涉及资源多、时间周期长,甚至相关的约束随着时间发生变化,加大了生产调度的难度。

国内外学者们针对不确定因素扰动下的调度问题还进行了大量的研究,但是由于实际情况过于复杂,各项研究成果的适用环境不同,目前还未形成全面且完善的解决方法,理论成果难以复用到复杂产品装配车间,针对目前复杂产品装配过程中缺乏行之有效的扰动事件处理机制。



技术实现要素:

本发明实施例要解决的技术问题是提供一种生产调度方法及系统,用以实现对复杂产品装配过程进行调度。

为解决上述技术问题,本发明实施例提供了一种生产调度方法,包括:

获取当前生产装配任务的装配工艺参数和实际生产约束参数;

根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表;

其中,所述调度问题模型中包括:最小完工时间的调度目标、工位执行约束、工位种类约束、完工时间要求约束、工序优先级约束和资源使用约束;

依据所述工序执行时间表和资源使用时间表生成装配调度信息。

进一步的,在根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤之后,所述方法还包括:

获取当前生产装配任务的工序执行变动信息;

根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表;

其中,所述工序执行变动信息包括:工序执行时间变动、工序暂停、工序新增和工序取消。

进一步的,所述最小完工时间的调度目标具体为:

f=max(min{RT1-(T1K+b1K),RT2-(T2K+b2K),...,RTj-(TjK+bjK)})

其中,TjK是任务j的最后一道工序的开始时间,bjK是任务j的最后一道工序的预设执行时间,RTj是任务j的预设完成时间,K是任务j下工序的数量。

进一步的,所述工位执行约束具体为:

j1,j2∈[1,J],k1,k2∈[1,K],j1≠j2或k1≠k2

其中,Tjk是任务j的最后一道工序的开始时间,bjk是任务j的最后一道工序的预设执行时间,Pjk是任务j的第k道工序,PWnt是工位Wnt上执行的工序的集合。

进一步的,所述工位种类约束具体为:

PWn∈PRW;

其中,PRW是工序要求的工位种类的集合,PWn是为工序分配的工位种类。

进一步的,所述完工时间要求约束具体为:

TjK+bjK≤RTj

其中,TjK是任务j的最后一道工序的开始时间,bjK是任务j的最后一道工序的预设执行时间,RTj是任务j的预设完成时间。

进一步的,所述工序优先级约束具体为:

其中,P1k为子工序,P2k父工序,数值0表示工序P1k与P2k之间没有父子关系,1表示工序P1k与P2k之间存在父子关系,为工序P12的开始执行时间,为工序P21的开始执行时间,是工序P21的执行时间。

进一步的,所述资源使用约束具体为:

其中,NDA表示第A个工序占用D资源的数量,D是资源种类编号,A表示现有装配线上工序总和,是第A1道工序的开始时间,是第A1道工序的执行时间,FDk表示第k个工序所处时间段中D资源被占用的数量,FRDk表示D资源在第k道工序的时间段内车间中拥有的数量。

进一步的,所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,包括:

根据以遗传算法为基础的生产调度算法,及所述装配工艺参数和实际生产约束参数,对所述调度问题模型进行求解,获得工序执行序列;

将所述工序执行序列中的工序分配至工位,获得工序执行时间表;

根据装配工艺参数及工序执行时间表,获得资源使用时间表;

其中,所述资源使用时间表包括:可重用资源使用时间表和不可重用资源使用时间表。

进一步的,所述根据以遗传算法为基础的生产调度算法,及所述装配工艺参数和实际生产约束参数,对所述调度问题模型进行求解,获得工序执行序列的步骤,包括:

根据装配工艺参数,获得工位信息和工序信息;

依据遗传算法,对所述工位信息和工序信息进行染色体编码,形成第一染色体编码,其中所述第一染色体编码包括多个基因,每一基因包括工序可选工位信息、工序所属线路信息、工序预设工时信息;

对所述第一染色体编码进行染色体选择操作,获得第二染色体编码;

对所述第二染色体编码上相同基因位进行染色体交叉操作,获得第三染色体编码;

对所述第三染色体编码上任意两个基因位进行染色体互换变异操作,获得第四染色体编码;

根据所述第四染色体编码,获得第一工序执行序列;

判断所述第一工序执行序列是否满足所述调度问题模型,当所述第一工序执行序列满足所述调度问题模型时,确定所述第一工序执行序列为工序执行序列;

当所述第一工序执行序列不满足所述调度问题模型时,重新执行所述对所述第一染色体编码进行染色体选择操作,获得第二染色体编码的步骤。

进一步的,所述将所述工序执行序列中的工序分配至工位,获得工序执行时间表的步骤,包括:

计算所述工序执行序列中的每一工序在可选工位的预计开工时间;

对所述可选工位的预计开工时间进行比较并按时间顺序排序,确定预计开工时间位于第一预设位置的可选工位为执行所述工序的工位;

当所述可选工位的预计开工时间存在相同时间时,获得所述可选工位与所述工序的上一工序的执行工位间的距离,确定距离最短的工位为执行所述工序的工位;

当所述工序为任一支线的第一道工序时,确定所述支线的第一道工序的开工时间为所述支线的第一道工序在所述工序执行序列中的上一工序的完工时间;

当所述工序为任一主线或辅线的第一道工序时,确定执行所述工序的工位的上一工序的完工时间为所述工序的开工时间;

当所述工序为分支汇合节点的工序时,对汇合至所述节点的工序的完工时间进行排序,确定第二预设位置的工序的完工时间为所述工序的开工时间;

根据所述开工时间,获得工序执行时间表。

进一步的,所述根据装配工艺参数及工序执行时间表,获得资源使用时间表的步骤包括:

根据所述工序执行时间表,获取每一工序的开工时间和完工时间;

确定位于每一工序的开工时间和完工时间之间的预设时间点为每一工序的资源变动点,获取每一资源变动点的资源变动数据;

根据所述资源变动数据,获取第一资源使用时间表;

判断所述第一资源使用时间表是否满足所述调度问题模型,当所述第一资源使用时间表满足所述调度问题模型时,将所述第一资源使用时间表替换为资源使用时间表;

当所述第一资源使用时间表不满足所述调度问题模型时,根据所述第四染色体编码,获得第二工序执行序列,根据所述第二工序执行序列,获取工序执行时间表,重新执行所述根据所述工序执行时间表,获取每一工序的开工时间和完工时间的步骤,其中,所述第二工序执行序列的优先级小于所述第一工序执行序列的优先级。

进一步的,当所述工序执行变动信息为工序执行时间变动时,所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤,包括:

将位于执行时间变动的工序后的工序按变动时间依次移动,并形成第二工序执行时间表;

判断所述第二工序执行时间表是否满足所述调度问题模型,当所述第二工序执行时间表满足所述调度问题模型时,将所述第二工序执行时间表替换为工序执行时间表,并更新所述工序执行时间表和资源使用时间表;

当所述第二工序执行时间表不满足所述调度问题模型时,重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表。

进一步的,当所述工序执行变动信息为工序暂停时,所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤,包括:

判断暂停工序的前后工序是否存在跨序操作工序;

当存在跨序操作工序时,对所述跨序操作工序及未完成工序重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表;

当不存在跨序操作工序时,对不包括所述暂停工序及与所述暂停工序相关的工序的未完成工序重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表;

当所述暂停工序恢复时,将所述暂停工序及与所述暂停工序相关的工序作为工序新增,执行所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤。

进一步的,当所述工序执行变动信息为工序新增或工序取消时,所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤,包括:

当新增工序或取消工序时,重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表。

本发明实施例提供了一种生产调度系统,包括:工艺信息模块、装配任务模块和生产执行模块,

其中,所述工艺信息模块包括:第一获取单元,所述第一获取单元用于获取当前生产装配任务的装配工艺参数和实际生产约束参数;

所述装配任务模块包括:第二获取单元,所述第二获取单元用于根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表;

其中,所述调度问题模型中包括:最小完工时间的调度目标、工位执行约束、工位种类约束、完工时间要求约束、工序优先级约束和资源使用约束;

所述生产执行模块包括:生成单元,所述生成单元用于依据所述工序执行时间表和资源使用时间表生成装配调度信息。

进一步的,所述第二获取单元用于根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表中,所述第二获取单元包括:

第三获取单元,用于获取当前生产装配任务的工序执行变动信息;

更新单元,用于根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表;

其中,所述工序执行变动信息包括:工序执行时间变动、工序暂停、工序新增和工序取消。

与现有技术相比,本发明实施例提供的一种生产调度方法及系统,至少具有以下有益效果:本发明实施例有效解决了复杂产品离散装配难的问题,通过预先构建的调度问题模型给出针对复杂产品离散装配车间的工序执行时间表和资源使用时间表,并根据工序执行时间表和资源使用时间表生成装配调度信息,满足了复杂产品离散装配车间的调度。同时,本发明实施例还根据可能发生的工序执行变动信息对工序执行时间表和资源使用时间表进行更新,进而生成更新后的装配调度信息,满足了离散装配车间的复杂调度,可以有效提高离散装配车间生产效率。

附图说明

图1为本发明第一实施例的生产调度方法的流程图;

图2为本发明第二实施例的生产调度方法的流程图;

图3为本发明第三实施例的生产调度方法的流程图;

图4为本发明第四实施例的生产调度方法的流程图;

图5为本发明第五实施例的生产调度方法的流程图;

图6为本发明第六实施例的生产调度方法的流程图;

图7为本发明第七实施例的生产调度方法的流程图;

图8为本发明第八实施例的生产调度方法的流程图;

图9为本发明第九实施例的生产调度方法的流程图;

图10为本发明实施例的生产调度方法的装配任务一流程图;

图11为本发明实施例的生产调度方法的装配任务二流程图;

图12为本发明实施例的生产调度方法的装配任务三流程图;

图13为本发明实施例的生产调度方法的染色体的适应度曲线图;

图14为本发明第十实施例的生产调度系统的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

第一实施例

参见图1,本发明实施例提供了一种生产调度方法,包括:

步骤101,获取当前生产装配任务的装配工艺参数和实际生产约束参数;

在本发明实施例的生产调度方法中,首先对获取当前生产装配任务的装配工艺参数和实际生产约束参数,其中,装配工艺参数包括:工序所需可重用资源、工序所需工种、工序所需人员数量、工序对工位的要求、工序优先级、工序额定工时和工序所需不可重用资源,实际生产约束参数包括:可重用资源的数量和种类、人员的数量和工种、工位的数量和功能类别、不可重用资源的数量和种类、任务优先级、工序优先级和任务要求完成时间。

步骤102,根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表;

其中,所述调度问题模型中包括:最小完工时间的调度目标、工位执行约束、工位种类约束、完工时间要求约束、工序优先级约束和资源使用约束;

其中,工序执行时间表:依据装配流程图中工序之间的父子级关系、工位要求、车间工位种类数量限制、任务要求时间限制和工序额定工时,生成工序执行时间表,车间装配组长通过工序执行时间表下发日作业计划,形成日作业计划,形成日作业计划执行时间表。资源使用时间表:包括可重用资源使用时间表和不可重用资源使用时间表两个部分,可重用资源时间表,如人员派工单,从工序执行时间表获取执行工序所需的人员数量和工种,人员排班表是车间人员的实际工作时间表,通过工序执行时间表和人员排班表形成人员派工单;不可重用资源使用时间表,如物料配送单,从工序执行时间表中获取执行工序需要的物料种类和数量,结合车间物料库存数据,确定物料配送的时间点、配送工位、种类和数量等信息,形成物料配送单。

步骤103,依据所述工序执行时间表和资源使用时间表生成装配调度信息。

对于实际生产仅仅获得工序执行时间表和资源使用时间表是不够的,还需要根据工序执行时间表和资源使用时间表形成不同工序的人员所需执行的装配工序信息,该信息的集合即装配调度信息。在本发明实施例的生产调度中,对于获得装配调度信息,在下文中亦会表述为初始调度,因在实际生产中发生扰动事件的可能性较大,故而,在下文中将根据扰动事件对工序执行时间表和资源使用时间表进行更新,继而获得更新后的装配调度信息,在下文中亦会表述为重调度。

第二实施例

参见图2,进一步的,对于第一实施例中,在根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤之后,所述方法还包括:

步骤203,获取当前生产装配任务的工序执行变动信息;

其中,所述工序执行变动信息包括:工序执行时间变动、工序暂停、工序新增和工序取消。

步骤204,根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表。

复杂产品装配的生产过程不稳定性,不确定扰动因素多。例如工艺层中装配工艺路线改变,则执行层中正在执行的原有装配任务被取消,产生新的装配任务替代。阻碍装配流程顺利运行的事件都可以被认为是生产扰动事件,常见的扰动事件有仪器设备故障、物料配送延时、排故、紧急插单、任务取消、物料缺失、返工返修、任务要求完成时间变更、工序执行时间误差和人员排班表变更等。故而,本发明的实施例充分考虑复杂产品的装配的上述特性,结合工序执行变动信息,对工序执行时间表和资源使用时间表进行更新。当更新工序执行时间表和资源使用时间表后,对于第一实施例中的步骤103,依据所述工序执行时间表和资源使用时间表生成装配调度信息,亦将根据更新后的工序执行时间表和资源使用时间表形成新的装配调度信息,以满足生产装配的调度需求。

故而,本实施例的生产调度方法包括:

步骤201,获取当前生产装配任务的装配工艺参数和实际生产约束参数;

步骤202,根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表;

其中,所述调度问题模型中包括:最小完工时间的调度目标、工位执行约束、工位种类约束、完工时间要求约束、工序优先级约束和资源使用约束;

步骤203,获取当前生产装配任务的工序执行变动信息;

步骤204,根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表;

步骤205,依据所述工序执行时间表和资源使用时间表生成装配调度信息。

区别于第一实施例,在本实施例中,对于步骤203,当有变动时(获取到了当前生产装配任务的工序执行变动信息)则执行步骤204,进而执行步骤205,也就是根据更新后的工序执行时间表和资源使用时间表生成装配调度信息;若没有变动(未获取到当前生产装配任务的工序执行变动信息)则无需更新工序执行时间表和资源使用时间表。

其中,复杂产品装配过程存在的各类扰动事件,影响工序的执行,使得工序的执行状态发生变动,具体如表1表1所示。

表1工序执行状态变更表

其中,对于前述实施例中的调度问题模型,包括:最小完工时间的调度目标、工位执行约束、工位种类约束、完工时间要求约束、工序优先级约束和资源使用约束,其中,所述最小完工时间的调度目标具体为:

f=max(min{RT1-(T1K+b1K),RT2-(T2K+b2K),...,RTj-(TjK+bjK)})

其中,TjK是任务j的最后一道工序的开始时间,bjK是任务j的最后一道工序的预设执行时间,RTj是任务j的预设完成时间,K是任务j下工序的数量。

最小完工时间的调度目标的目标为完工时间最短,即求取装配线上装配任务的预计完成时间与任务要求完成时间的差值,获取其中的最小值,使该值最大。

其中,所述工位执行约束具体为:

j1,j2∈[1,J],k1,k2∈[1,K],j1≠j2或k1≠k2

其中,TjK是任务j的最后一道工序的开始时间,bjK是任务j的最后一道工序的预设执行时间,Pjk是任务j的第k道工序,PWnt是工位Wnt上执行的工序的集合。

工位执行约束的目标为在单个工位上同一时间段内只允许执行一道工序。

其中,所述工位种类约束具体为:

PWn∈PRW;

其中,PRW是工序要求的工位种类的集合,PWn是为工序分配的工位种类。

工位种类约束的目标为分配的工位种类需满足工序对工位的要求。

其中,所述完工时间要求约束具体为:

TjK+bjK≤RTj

其中,TjK是任务j的最后一道工序的开始时间,bjK是任务j的最后一道工序的预设执行时间,RTj是任务j的预设完成时间。

完工时间要求约束表示完工时间要求约束。

其中,所述工序优先级约束具体为:

其中,P1k为子工序,P2k父工序,数值0表示工序P1k与P2k之间没有父子关系,1表示工序P1k与P2k之间存在父子关系,为工序P12的开始执行时间,为工序P21的开始执行时间,是工序P21的执行时间。

工序优先级约束的目标为获取不同工序间是否存在顺序限制,若存在顺序限制,则前一顺序的优先级高于后一顺序的优先级。工序优先级指的是同一个任务下工序的前后顺序限制,由工艺流程图决定;在所有任务中,紧急插单的任务的优先级最高,优先分配人员、资源和工位。需要注意的是,上述紧急插单的任务的优先级最高为一般情况,工序的优先级为根据实际情况可预设的,本发明实施例并不限定紧急插单的任务的优先级一定为最高优先级。

其中,所述资源使用约束具体为:

其中,NDA表示第A个工序占用D资源的数量,D是资源种类编号,A表示现有装配线上工序总和,是第A1道工序的开始时间,是第A1道工序的执行时间,FDk表示第k个工序所处时间段中D资源被占用的数量,FRDk表示D资源在第k道工序的时间段内车间中拥有的数量。

资源使用约束的目标为在任一时间段内,可重用资源的使用量不允许超过车间中现有数量。

第三实施例

参见图3,进一步的,所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,包括:

步骤301,根据以遗传算法为基础的生产调度算法,及所述装配工艺参数和实际生产约束参数,对所述调度问题模型进行求解,获得工序执行序列;

步骤302,将所述工序执行序列中的工序分配至工位,获得工序执行时间表;

步骤303,根据装配工艺参数及工序执行时间表,获得资源使用时间表;

其中,所述资源使用时间表包括:可重用资源使用时间表和不可重用资源使用时间表。

调度问题模型涉及的约束多,为减少求解过程的计算量,将调度问题的求解过程分步处理,工序执行时间表是生成资源使用时间表的基础,调度算法的求解过程可分为生成工序执行时间表(生成日作业计划执行时间表)和资源使用时间表两个步骤。在本发明实施例的生产调度方法中在生成工序执行时间表时再进一步处理工位和工序的关系。故首先采用遗传算法求解,获得工序执行序列。其中,对于生产调度算法,该算法以基础遗传算法为基础,结合复杂产品装配过程中的约束对算法进行了以下改进:1)加入筛选机制,每次迭代时根据工艺条件和车间资源约束(装配工艺参数和实际生产约束参数)筛选出可行最优染色体和种群最优染色体,在交叉操作时,在两点交叉法的基础上,为保持工序种类和数量总额不变,只交替两条染色体上相同的基因位;2)在多工位多分支的条件下,建立工序执行时间表求取机制,获取满足工位和工序优先级约束的工序执行时间表;3)建立资源使用时间表求取机制,在工序执行时间表的基础上,求得满足车间资源限制的机器、物料等资源使用时间表。

第四实施例

参见图4,进一步的,所述根据以遗传算法为基础的生产调度算法,及所述装配工艺参数和实际生产约束参数,对所述调度问题模型进行求解,获得工序执行序列的步骤,包括:

步骤401,根据装配工艺参数,获得工位信息和工序信息;

步骤402,依据遗传算法,对所述工位信息和工序信息进行染色体编码,形成第一染色体编码,其中所述第一染色体编码包括多个基因,每一基因包括工序可选工位信息、工序所属线路信息、工序预设工时信息;

在本发明实施例中采用字母编码,结合工位和工序信息形成染色体编码,如X={ABACBACCB},A、B、C分别代表一个工艺信息集合,其包含工序可选工位信息、工序所属线路信息(所属主辅线)、工序预设工时信息(额定工时)三部分信息,表示为A={HW,M,RW}。可选工位HW是工位种类集合,表示该道工序可以在哪些种类的工位上进行作业,所属主辅线M是工序主线或者辅线的代号集合,分支汇合的工序的M集合中会有多个代号,其余只有一个代号,额定工时RW是当前工序的额定工时。

步骤403,对所述第一染色体编码进行染色体选择操作,获得第二染色体编码;

在本发明实施例中,选择操作采用轮赌盘选择策略,个体适应度函数值为个体目标函数值与该代种群中最小目标函数值的差值,保证个体适应度不为负数。

步骤404,对所述第二染色体编码上相同基因位进行染色体交叉操作,获得第三染色体编码;

在本发明实施例中,染色体中的基因代表工序,基因的种类和数量都是定值,在两点交叉法的基础上进行小幅度修改,保证基因的种类和数量在交叉前后不发生变化,在两个父染色体的交叉片段上从前往后逐个查找相同基因进行交换,直至该种基因无法在另一个父染色体的交叉片段上找到相同基因。

步骤405,对所述第三染色体编码上任意两个基因位进行染色体互换变异操作,获得第四染色体编码;

在本发明实施例中,由于染色体中基因的种类和数目都是恒定值,无法使用基本位变异对单个基因进行变异操作。变异的主要目的是为了保证GA算法的局部搜索能力,采用染色体自身基因互换的方法,选择染色体上的任意两个基因,将两个基因的位置进行互换。

步骤406,根据所述第四染色体编码,获得第一工序执行序列;

在本发明实施例中,染色体有工序编码而成,故而将第四染色体编码中的信息解读即可得到第一工序执行序列。

步骤407,判断所述第一工序执行序列是否满足所述调度问题模型,当所述第一工序执行序列满足所述调度问题模型时,确定所述第一工序执行序列为工序执行序列;

上述确定所述第一工序执行序列为工序执行序列,也就是将第一工序执行序列替换为工序执行序列。

步骤408,当所述第一工序执行序列不满足所述调度问题模型时,重新执行所述对所述第一染色体编码进行染色体选择操作,获得第二染色体编码的步骤。

第五实施例

参见图5,进一步的,所述将所述工序执行序列中的工序分配至工位,获得工序执行时间表的步骤,包括:

步骤501,计算所述工序执行序列中的每一工序在可选工位的预计开工时间;

步骤502,对所述可选工位的预计开工时间进行比较并按时间顺序排序,确定预计开工时间位于第一预设位置的可选工位为执行所述工序的工位;

在本文中所述的确定并非特指人为确定,例如本步骤中,确定预计开工时间位于第一预设位置的可选工位为执行所述工序的工位,即将排序表中预设顺位的工位安排为执行工位,又例如步骤503中的确定,即获得可选工位与所述工序的上一工序的执行工位间的距离,将距离最短的安排为执行工位,类似的确定均是建立在可执行的规则的基础上。其中,对于预设位置均为根据实验结果可预设的,例如第一预设位置则可是根据序列从前到后分配,计算该工序在每个可选工位的预计开工时间(预计开工时间为该工序前一道工序的完工时间或者是该工位上一道工序的完工时间),选择其中较晚者,因位于第一位的在实际执行中难以即可到达,即可开工,故而顺序选择其中较晚者,该预设位置的确定可根据实验和实际情况确定,例如第一预设位置为排序中的第2~4位,对于下述的第二预设位置的选择也与此类似。

步骤503,当所述可选工位的预计开工时间存在相同时间时,获得所述可选工位与所述工序的上一工序的执行工位间的距离,确定距离最短的工位为执行所述工序的工位;

步骤504,当所述工序为任一支线的第一道工序时,确定所述支线的第一道工序的开工时间为所述支线的第一道工序在所述工序执行序列中的上一工序的完工时间;

步骤505,当所述工序为任一主线或辅线的第一道工序时,确定执行所述工序的工位的上一工序的完工时间为所述工序的开工时间;

步骤506,当所述工序为分支汇合节点的工序时,对汇合至所述节点的工序的完工时间进行排序,确定第二预设位置的工序的完工时间为所述工序的开工时间;

步骤507,根据所述开工时间,获得工序执行时间表。

在本发明实施例中,工序执行序列已经通过遗传算法求得,将该序列上的工序按照规则分配到各个工位,进而求得工序执行时间表。分配规则:1)选择可行最早开工时间,根据序列从前到后分配,计算该工序在每个可选工位的预计开工时间(预计开工时间为该工序前一道工序的完工时间或者是该工位上一道工序的完工时间),选择其中较晚者,如果该工序在两个或两个以上的工位都具有相同的最早完工时间,则选择离上一道工序执行工位较近的工位;2)任意支线的第一道工序的开工时间为前一道工序的完工时间,如若该工序是主线或者辅线上的第一道工序,则直接采用所选工位上一道工序的完工时间;3)分支汇合节点的开工时间计算,分支汇合节点的开工时间不仅需要考虑所选工位上一道工序的完工时间和主线的上一道工序的完工时间,还要比较不同分支的上一道工序的完工时间,选择其中较晚者作为开工时间。

第六实施例

参见图6,进一步的,所述根据装配工艺参数及工序执行时间表,获得资源使用时间表的步骤包括:

步骤601,根据所述工序执行时间表,获取每一工序的开工时间和完工时间;

步骤602,确定位于每一工序的开工时间和完工时间之间的预设时间点为每一工序的资源变动点,获取每一资源变动点的资源变动数据;

步骤603,根据所述资源变动数据,获取第一资源使用时间表;

步骤604,判断所述第一资源使用时间表是否满足所述调度问题模型,当所述第一资源使用时间表满足所述调度问题模型时,将所述第一资源使用时间表替换为资源使用时间表;

步骤605,当所述第一资源使用时间表不满足所述调度问题模型时,根据所述第四染色体编码,获得第二工序执行序列,根据所述第二工序执行序列,获取工序执行时间表,重新执行所述根据所述工序执行时间表,获取每一工序的开工时间和完工时间的步骤,其中,所述第二工序执行序列的优先级小于所述第一工序执行序列的优先级。

在本发明实施例中,由于装配工艺参数(工艺文件)中对所需人员数量、物料、机器设备等工艺基础信息有明确的要求,根据工序执行时间表分步求得各类资源使用时间表,以人员派工时间表和物料配送时间表为例,获取工序执行时间表中各工序的开工时间Ps和完工时间Pe作为时间点,以时间点T作为资源变动点,遍历工序,当Ps≤T<Pe时,记录该工序的人员和物料的“种类”和数量,统计资源变动点的工序资源记录,生成资源使用时间表。将资源使用时间表与车间资源进行匹配,如无法满足车间资源限制,则选择种群中次优染色体再一次计算(在本发明实施例中,上述工序执行序列即最优染色体解码获得,当该最优染色体不满足调度问题模型时,即使用次优染色体进行计算,直至满足条件,其中,对于最优染色体和次优染色体,在本发明实施例中的遗传算法计算后已全部获得,无需再次运算),求取最优染色体,如此循环往复。

第七实施例

参见图7,进一步的,当所述工序执行变动信息为工序执行时间变动时,所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤,包括:

步骤701,将位于执行时间变动的工序后的工序按变动时间依次移动,并形成第二工序执行时间表;

步骤702,判断所述第二工序执行时间表是否满足所述调度问题模型,当所述第二工序执行时间表满足所述调度问题模型时,将所述第二工序执行时间表替换为工序执行时间表,并更新所述工序执行时间表和资源使用时间表;

步骤703,当所述第二工序执行时间表不满足所述调度问题模型时,重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表。

在本发明实施例中,对于工序执行时间变动,将后续工序依次移动,形成满足约束要求的时间表,如果无法通过微调获得新时间表(即获得的不满足调度问题模型),则重新计算。

第八实施例

参见图8,进一步的,当所述工序执行变动信息为工序暂停时,所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤,包括:

步骤801,判断暂停工序的前后工序是否存在跨序操作工序;

步骤802,当存在跨序操作工序时,对所述跨序操作工序及未完成工序重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表;

步骤803,当不存在跨序操作工序时,对不包括所述暂停工序及与所述暂停工序相关的工序的未完成工序重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表;

步骤804,当所述暂停工序恢复时,将所述暂停工序及与所述暂停工序相关的工序作为工序新增,执行所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤。

在本发明实施例中,对于工序暂停,由于难以确定工序的暂停时间,在生成新的时间表时,不计算该工序所属任务,直到“被暂停工序”恢复,将其作为新任务插入到时间表中,重新计算。车间管理人员指定跨序操作工序,被选择的工序加入时间表执行重调度(即前述的更新)。

第九实施例

参见图9,进一步的,当所述工序执行变动信息为工序新增或工序取消时,所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤,包括:

步骤901,当新增工序或取消工序时,重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表。

在本发明实施例中,对于工序新增和工序取消,一旦发生工序新增和工序取消,则直接进行重调度计算(即前述更新),生成新的时间表。

参见图10至图13,下述为对本发明实施例的生产调度方法的验证,设定三个任务(对应图10~12),确定完成任务所需的额定工时、工位、人员、物料等数据,如图10~13和表2和表4所示,车间资源条件能否满足生产要求,将直接决定调度的结果是否可行。首先,在不考虑资源限制的情况下生成最优调度方案,其次,在考虑可重用资源(人员)和不可重用资源(物料)下,生成可行最优调度方案,用于理想环境下调度方案的实施,车间资源限制如表4所示。

表2人员、工位的需求表

表3物料、额定工时表

表4车间资源限制

设定初始调度方案(即第一次调度,未包括工序执行变动信息)中遗传算法的相关变量,其中迭代次数为50、种群数量为60、交叉概率0.7、变异概率为0.05,运算结果中的最优染色体的适应度曲线如图13所示。可行最优染色体的适应度和最优染色体的适应度之间有着较大差距,选取各自适应度最高点,生成对应的调度时间表,如表5所示。求得人员需求时间表和物料需求时间表,通过比对资源使用时间表和车间资源限制,车间资源满足所求得的人员需求时间表,但无法满足物料需求时间表,在工序3-7开工时,所需物料17还未能采购到位,阻碍了该工序的执行。

表5最优染色体的工序执行时间表

物料缺失使得工序暂停,打乱时间表的执行,触发了时间表的重调度流程(即产生工序执行变动信息,需更新所述工序执行时间表和资源使用时间表),获取各工位的最早可开工时间和需重调度工序集,使用调度算法再次进行计算。在最优染色体的工序时间表中,工序3-7在物料缺失时暂停,经由车间管理人员裁定工序3-8和工序3-9可以进行跨序操作,未开工工序为开始时间大于42小时的工序,在时间表中,只有工序3-8和3-9是未开工工序,获取各工位最早开工时间,工位1的最早开工时间为第42小时,工位2的最早开工时间为第42小时,工位3的最早开工时间为第47小时,重新计算后,工序3-8的执行时间是[42,45],工序3-9的执行时间是[47,48],工序3-7的执行时间是[50,56]。

在该实施例中只考虑了人员和物料约束,但包含了对可重用资源和不可重用资源的两种不同的处理方式,可进一步扩展机器设备等资源限制,算法对车间现场复杂资源环境限制具备扩展能力。

第十实施例

参见图14,本发明实施例提供了一种生产调度系统,包括:工艺信息模块1、装配任务模块2和生产执行模块3,

其中,所述工艺信息模块1包括:第一获取单元11,所述第一获取单元11用于获取当前生产装配任务的装配工艺参数和实际生产约束参数;

所述装配任务模块2包括:第二获取单元21,所述第二获取单元21用于根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表;

其中,所述调度问题模型中包括:最小完工时间的调度目标、工位执行约束、工位种类约束、完工时间要求约束、工序优先级约束和资源使用约束;

所述生产执行模块3包括:生成单元31,所述生成单元31用于依据所述工序执行时间表和资源使用时间表生成装配调度信息。

其中,工艺基础信息模块用于工艺师编制工艺文件,将工艺结构化信息输入并存储到系统中,工艺基础信息包括工艺流程图、工艺资源需求、工序基础信息等。工艺流程图模块表示工序之间的优先级关系,工艺的资源需求信息主要有执行该工序所需的零件、标准件、工装工具、辅助材料、仪器设备和元器件信息,工序基础信息包含额定工时、工位、工种、人员数量等信息。

进一步的,所述第二获取单元21用于根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表中,所述第二获取单元21包括:

第三获取单元,用于获取当前生产装配任务的工序执行变动信息;

更新单元,用于根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表;

其中,所述工序执行变动信息包括:工序执行时间变动、工序暂停、工序新增和工序取消。

进一步的,所述最小完工时间的调度目标具体为:

f=max(min{RT1-(T1K+b1K),RT2-(T2K+b2K),...,RTj-(TjK+bjK)})

其中,TjK是任务j的最后一道工序的开始时间,bjK是任务j的最后一道工序的预设执行时间,RTj是任务j的预设完成时间,K是任务j下工序的数量。

进一步的,所述工位执行约束具体为:

j1,j2∈[1,J],k1,k2∈[1,K],j1≠j2或k1≠k2

其中,TjK是任务j的最后一道工序的开始时间,bjK是任务j的最后一道工序的预设执行时间,Pjk是任务j的第k道工序,PWnt是工位Wnt上执行的工序的集合。

进一步的,所述工位种类约束具体为:

PWn∈PRW;

其中,PRW是工序要求的工位种类的集合,PWn是为工序分配的工位种类。

进一步的,所述完工时间要求约束具体为:

TjK+bjK≤RTj

其中,TjK是任务j的最后一道工序的开始时间,bjK是任务j的最后一道工序的预设执行时间,RTj是任务j的预设完成时间。

进一步的,所述工序优先级约束具体为:

其中,P1k为子工序,P2k父工序,数值0表示工序P1k与P2k之间没有父子关系,1表示工序P1k与P2k之间存在父子关系,为工序P12的开始执行时间,为工序P21的开始执行时间,是工序P21的执行时间。

进一步的,所述资源使用约束具体为:

其中,NDA表示第A个工序占用D资源的数量,D是资源种类编号,A表示现有装配线上工序总和,是第A1道工序的开始时间,是第A1道工序的执行时间,FDk表示第k个工序所处时间段中D资源被占用的数量,FRDk表示D资源在第k道工序的时间段内车间中拥有的数量。

进一步的,所述第二获取单元21用于根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表中,所述第二获取单元21包括:

第四获取单元,用于根据以遗传算法为基础的生产调度算法,及所述装配工艺参数和实际生产约束参数,对所述调度问题模型进行求解,获得工序执行序列;

第五获取单元,用于将所述工序执行序列中的工序分配至工位,获得工序执行时间表;

第六获取单元,用于根据装配工艺参数及工序执行时间表,获得资源使用时间表;

其中,所述资源使用时间表包括:可重用资源使用时间表和不可重用资源使用时间表。

进一步的,所述第四获取单元用于根据以遗传算法为基础的生产调度算法,及所述装配工艺参数和实际生产约束参数,对所述调度问题模型进行求解,获得工序执行序列中,所述第四获取单元包括:

第一获取子单元,用于根据装配工艺参数,获得工位信息和工序信息;

编码单元,用于依据遗传算法,对所述工位信息和工序信息进行染色体编码,形成第一染色体编码,其中所述第一染色体编码包括多个基因,每一基因包括工序可选工位信息、工序所属线路信息、工序预设工时信息;

选择单元,用于对所述第一染色体编码进行染色体选择操作,获得第二染色体编码;

交叉单元,用于对所述第二染色体编码上相同基因位进行染色体交叉操作,获得第三染色体编码;

变异单元,用于对所述第三染色体编码上任意两个基因位进行染色体互换变异操作,获得第四染色体编码;

第二获取子单元,用于根据所述第四染色体编码,获得第一工序执行序列;

第一判断单元,用于判断所述第一工序执行序列是否满足所述调度问题模型,当所述第一工序执行序列满足所述调度问题模型时,确定所述第一工序执行序列为工序执行序列,

当所述第一工序执行序列不满足所述调度问题模型时,重新执行所述对所述第一染色体编码进行染色体选择操作,获得第二染色体编码的步骤。

进一步的,所述第五获取单元用于将所述工序执行序列中的工序分配至工位,获得工序执行时间表中,所述第五获取单元包括:

计算单元,用于计算所述工序执行序列中的每一工序在可选工位的预计开工时间;

确定单元,用于对所述可选工位的预计开工时间进行比较并按时间顺序排序,确定预计开工时间位于第一预设位置的可选工位为执行所述工序的工位,

当所述可选工位的预计开工时间存在相同时间时,获得所述可选工位与所述工序的上一工序的执行工位间的距离,确定距离最短的工位为执行所述工序的工位,

当所述工序为任一支线的第一道工序时,确定所述支线的第一道工序的开工时间为所述支线的第一道工序在所述工序执行序列中的上一工序的完工时间,

当所述工序为任一主线或辅线的第一道工序时,确定执行所述工序的工位的上一工序的完工时间为所述工序的开工时间,

当所述工序为分支汇合节点的工序时,对汇合至所述节点的工序的完工时间进行排序,确定第二预设位置的工序的完工时间为所述工序的开工时间;

第三获取子单元,用于根据所述开工时间,获得工序执行时间表。

进一步的,所述第六获取单元用于根据装配工艺参数及工序执行时间表,获得资源使用时间表中,所述第六获取单元包括:

第四获取子单元,用于根据所述工序执行时间表,获取每一工序的开工时间和完工时间;

第五获取子单元,用于确定位于每一工序的开工时间和完工时间之间的预设时间点为每一工序的资源变动点,获取每一资源变动点的资源变动数据;

第六获取子单元,用于根据所述资源变动数据,获取第一资源使用时间表;

第二判断单元,用于判断所述第一资源使用时间表是否满足所述调度问题模型,当所述第一资源使用时间表满足所述调度问题模型时,将所述第一资源使用时间表替换为资源使用时间表,

当所述第一资源使用时间表不满足所述调度问题模型时,根据所述第四染色体编码,获得第二工序执行序列,根据所述第二工序执行序列,获取工序执行时间表,重新执行所述根据所述工序执行时间表,获取每一工序的开工时间和完工时间的步骤,其中,所述第二工序执行序列的优先级小于所述第一工序执行序列的优先级。

进一步的,当所述工序执行变动信息为工序执行时间变动时,所述更新单元用于根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表,所述更新单元还用于:

将位于执行时间变动的工序后的工序按变动时间依次移动,并形成第二工序执行时间表;

判断所述第二工序执行时间表是否满足所述调度问题模型,当所述第二工序执行时间表满足所述调度问题模型时,将所述第二工序执行时间表替换为工序执行时间表,并更新所述工序执行时间表和资源使用时间表;

当所述第二工序执行时间表不满足所述调度问题模型时,重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表。

进一步的,当所述工序执行变动信息为工序暂停时,所述更新单元用于根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表,所述更新单元还用于:

判断暂停工序的前后工序是否存在跨序操作工序;

当存在跨序操作工序时,对所述跨序操作工序及未完成工序重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表;

当不存在跨序操作工序时,对不包括所述暂停工序及与所述暂停工序相关的工序的未完成工序重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表;

当所述暂停工序恢复时,将所述暂停工序及与所述暂停工序相关的工序作为工序新增,执行所述根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表的步骤。

进一步的,当所述工序执行变动信息为工序新增或工序取消时,所述更新单元用于根据所述工序执行变动信息,更新所述工序执行时间表和资源使用时间表,所述更新单元还用于:

当新增工序或取消工序时,重新执行所述根据所述装配工艺参数和实际生产约束参数,并依据预先设定的调度问题模型,获得当前生产装配任务的工序执行时间表和资源使用时间表的步骤,并根据重新获取的工序执行时间表和资源使用时间表,更新所述工序执行时间表和资源使用时间表。

综上,本发明实施例有效解决了复杂产品离散装配难的问题,通过预先构建的调度问题模型给出针对复杂产品离散装配车间的工序执行时间表和资源使用时间表,并根据工序执行时间表和资源使用时间表生成装配调度信息,满足了复杂产品离散装配车间的调度。同时,本发明实施例还根据可能发生的工序执行变动信息对工序执行时间表和资源使用时间表进行更新,进而生成更新后的装配调度信息,满足了离散装配车间的复杂调度,可以有效提高离散装配车间生产效率。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1