一种生产线生产序列调度方法、系统、存储介质转让专利

申请号 : CN202111241585.2

文献号 : CN113902212B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蒋淡宁钟智敏刘伟陈波王筱圃陈博杨佳玮

申请人 : 上海新科乾物联技术有限公司科大智能物联技术股份有限公司

摘要 :

本发明涉及生产调度技术领域,特别涉及一种生产线生产序列调度方法、系统、存储介质,生产调度方法包括以下步骤:S1、获取产线生产的参数数据;S2、随机生成产线生产序列sa;根据限定条件计算对应的违背率,根据设定目标建立对应的目标函数;并对随机生成的所述产线生产序列sa进行预处理;所述预处理包括:淘汰所述产线生产序列sa中所述违背率达到设定值和/或所述目标函数未达到设定值的个体;S3、构建整体目标函数,并计算所述整体目标函数的最优解集;S4、根据最优解集获取最优的产线生产序列。本发明的有益效果在于:解决了多目标产线生产中难以获得最优生产序列的问题,同时改进的NSGA‑II算法也解决了传统NSGA‑II算法求得最优解集时间长的问题。

权利要求 :

1.一种生产线生产序列调度方法,其特征在于,包括以下步骤:S1、获取产线生产的参数数据;

所述参数数据包括以下的一种或多种:产品的种类m;产品的分类y,各分类中的分类项n;产线更换不同分类产品所需时间 其中y产品的分类,n为分类中的分类项数,tij为y分类i项产品更换为生产y分类j项产品所需时间;每设定时间段内需要生产的各种类产品的数量 其中SET为设定时间,SETn为第n个设定时间段,xnm为第n个设定时间段SET内m种类产品所需生产数量;设定时间段SET内各种类产品生产数量e1‑em;各种类产品的利润d1‑dm;

S2、随机生成产线生产序列sa;根据限定条件计算对应的违背率,根据设定目标建立对应的目标函数;并对随机生成的所述产线生产序列sa进行预处理;所述预处理包括:淘汰所述产线生产序列sa中所述违背率达到设定值和或所述目标函数未达到设定值的个体;

所述限定条件包括以下的一种或多种:限定条件1:同一种类产品连续生产,违背率=同一种类产品在生产序列中间隔的次数/序列长度;

限定条件2:同一分类产品连续生产,违背率=同一分类产品在生产序列中间隔次数/序列长度;

限定条件3:每隔设定时间段各种类产品的库存数量需超过设定值,违背率=C/序列长度;

根据所述产线生产序列sa构建各种类产品每隔设定时间段库存矩阵其中unm为第n个设定时间段SET后m种类产品的库存数量,构建各种类产品冗余矩阵C=B‑A,其中A为库存矩阵;

其中序列长度=设定的产线生产总时长/设定时间段SET;矩阵B为每设定时间段内需要生产的各种类产品的数量矩阵;

S3、构建整体目标函数,并计算所述整体目标函数的最优解集;

S4、根据最优解集获取最优的产线生产序列。

2.根据权利要求1所述的一种生产线生产序列调度方法,其特征在于,所述设定目标包括以下的一种或多种:

设定目标1:利润最大,利润

设定目标2:更换生产产品种类所需的时间少,更换生产分类产品所需时间

3.根据权利要求1所述的一种生产线生产序列调度方法,其特征在于,在构建所述各种类产品冗余矩阵C之前还包括B=(1+δ%)B,所述δ%不小于生产时的次品率。

4.根据权利要求1所述的一种生产线生产序列调度方法,其特征在于,步骤S3中所述整体目标函数具体为:min z=w1α1+w2α2+……wnαn+wn+1·β1+wn+2β2+……weβe‑n;

其中we为设定经验调控参数,αn为限定条件n对应的违背率,βi为设定目标i对应的目标函数。

5.根据权利要求1所述的一种生产线生产序列调度方法,其特征在于,步骤S3所述计算所述整体目标函数的最优解集具体为使用改进的NSGA‑II算法计算所述整体目标函数的最优解集,所述改进的NSGA‑II算法包括以下步骤:S3.1、获取所述整体目标函数;

S3.2、通过非支配排序算法对所述预处理后的生产序列sa进行非支配型排序;

S3.3、通过选择、交叉、变异产生第一代子代种群,并淘汰子代种群中违背率达到设定值的个体和或淘汰目标未达到设定值的个体,令进化代数GEN=n+1,n=1;

S3.4、将子代种群与父代种群混合;GEN=GEN+1;通过非支配排序算法对混合种群进行非支配型排序,同时根据拥挤度算法计算各非支配层内个体拥挤度;

S3.5、淘汰父代种群中Pareto等级最高的非支配解集,通过选择、交叉、变异产生新一代子代种群并淘汰子代种群中违背率达到设定值的个体和/或淘汰目标未达到设定值的个体;

S3.6、判断是否达到最大进化数或产生最优解集,判断是,输出最优解集;判断否,返回步骤S3.4;

或者步骤S3.6替换为:判断子代种群是否达到设定条件,判断是,输出子代种群作为最优解集,判断否,返回步骤S3.4。

6.根据权利要求1所述的一种生产线生产序列调度方法,其特征在于,步骤S4具体为根据设定需求选取最优解集中的一个解θ,根据θ获取最优的产线生产序列。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6 任一项所述的一种生产线生产序列调度方法的步骤。

8.使用权利要求1‑6所述的一种生产线生产序列调度方法的系统,其特征在于,包括:数据采集单元,用于采集产线生产的参数数据;

限定条件构建模块,用于根据采集的参数数据构建并计算限定条件的违背率;

设定目标构建模块,用于根据采集的参数数据构建设定目标的目标函数;

整体目标函数构建模块,用于根据违背率及目标函数构建整体目标函数;

最优解集计算模块,用于根据整体目标函数计算最优解集。

说明书 :

一种生产线生产序列调度方法、系统、存储介质

技术领域

[0001] 本发明涉及生产调度技术领域,特别涉及一种生产线生产序列调度方法、系统、存储介质。

背景技术

[0002] 随着市场竞争越来越激烈,对制造企业来说,为了能在生产中保持强大的竞争力,需要降低生产的成本,提高生产的效率。同时,在出现订单计划变动时,可以尽快做出生产
安排的针对性调整。
[0003] 在常见的大型制造企业中,经常会出现生产原料种类巨大,同时承担多种物料生产的复杂情况,此类多目标生产中难以做出最优的生产调度。
[0004] 传统的NSGA‑II算法是在计算机上生成大量的随机解,依据适应性模型测算这些解的适应度,根据适应性函数保留某些候选解,放弃其他候选解,然后对这些解进行交叉、
变异等操作,然后生成新的一代结果,重复以上过程,直到达到某个条件后停止,依次求得
最优解集。但是其巨大的计算量导致收敛速度慢,获取最优解时间较长。

发明内容

[0005] 为了解决多目标生产中难做出最优的生产调度的问题,本发明提供了一种生产线生产序列调度方法、系统、存储介质,具体方案如下:
[0006] 一种生产线生产序列调度方法,包括以下步骤:
[0007] S1、获取产线生产的参数数据;
[0008] S2、随机生成产线生产序列sa;根据限定条件计算对应的违背率,根据设定目标建立对应的目标函数;并对随机生成的所述产线生产序列sa进行预处理;所述预处理包括:淘
汰所述产线生产序列sa中所述违背率达到设定值和或所述目标函数未达到设定值的个体;
[0009] S3、构建整体目标函数,并计算所述整体目标函数的最优解集;
[0010] S4、根据最优解集获取最优的产线生产序列。
[0011] 所述参数数据包括以下的一种或多种:产品的种类m;产品的分类y,各分类中的分类项n;产线更换不同分类产品所需时间 其中y产品的分类,n为分
类中的分类项数,tij为y分类i项产品更换为生产y分类j项产品所需时间;每设定时间段内
需要生产的各种类产品的数量 其中SET为设定时间,SETn
为第n个设定时间段,xnm为第n个设定时间段SET内m种类产品所需生产数量;设定时间段SET
内各种类产品生产数量e1‑em;各种类产品的利润d1‑dm。
[0012] 所述限定条件包括以下的一种或多种:
[0013] 限定条件1:同一种类产品连续生产,违背率=同一种类产品在生产序列中间隔的次数/序列长度;
[0014] 限定条件2:同一分类产品连续生产,违背率=同一分类产品在生产序列中间隔次数/序列长度;
[0015] 限定条件3:每隔设定时间段各种类产品的库存数量需超过设定值,违背率=C/序列长度;
[0016] 根据所述产线生产序列sa构建各种类产品每隔设定时间段库存矩阵其中unm为第n个设定时间段SET后m种类产品的库存数量,构
建各种类产品冗余矩阵C=B‑A,其中A为库存矩阵;
[0017] 其中序列长度=设定的产线生产总时长/设定时间段SET;矩阵B为每设定时间段内需要生产的各种类产品的数量矩阵。
[0018] 具体地说,所述设定目标包括以下的一种或多种:
[0019] 设定目标1:利润最大,利润
[0020] 设定目标2:更换生产产品种类所需的时间少,更换生产分类产品所需时间
[0021] 具体地说,在构建所述各种类产品冗余矩阵C之前还包括B=(1+δ%)B,所述δ%不小于生产时的次品率。
[0022] 具体地说,步骤S3中所述整体目标函数具体为:minz=w1α1+w2α2+……wnαn+wn+1·β1+wn+2β2+……weβe‑n;
[0023] 其中we为设定经验调控参数,αn为限定条件n对应的违背率,βi为设定目标i对应的目标函数。
[0024] 具体地说,步骤S3所述计算所述整体目标函数的最优解集具体为使用改进的NSGA‑II算法计算所述整体目标函数的最优解集,所述改进的NSGA‑II算法包括以下步骤:
[0025] S3.1、获取所述整体目标函数;
[0026] S3.2、通过非支配排序算法对所述预处理后的生产序列sa进行非支配型排序;
[0027] S3.3、通过选择、交叉、变异产生第一代子代种群,并淘汰子代种群中违背率达到设定值的个体和或淘汰目标未达到设定值的个体,令进化代数GEN=n+1,n=1;
[0028] S3.4、将子代种群与父代种群混合;GEN=GEN+1;通过非支配排序算法对混合种群进行非支配型排序,同时根据拥挤度算法计算各非支配层内个体拥挤度;
[0029] S3.5、淘汰父代种群中Pareto等级最高的非支配解集,通过选择、交叉、变异产生新一代子代种群并淘汰子代种群中违背率达到设定值的个体和/或淘汰目标未达到设定值
的个体;
[0030] S3.6、判断是否达到最大进化数或产生最优解集,判断是,输出最优解集;判断否,返回步骤S3.4;
[0031] 或者步骤S3.6替换为:判断子代种群是否达到设定条件,判断是,输出子代种群作为最优解集,判断否,返回步骤S3.4。
[0032] 具体地说,步骤S4具体为根据设定需求选取最优解集中的一个解θ,根据θ获取最优的产线生产序列。
[0033] 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的一种生产线生产序列调度
方法的步骤。
[0034] 使用上述的一种生产线生产序列调度方法的系统,包括:
[0035] 数据采集单元,用于采集产线生产的参数数据;
[0036] 限定条件构建模块,用于根据采集的参数数据构建并计算限定条件的违背率;
[0037] 设定目标构建模块,用于根据采集的参数数据构建设定目标的目标函数;
[0038] 整体目标函数构建模块,用于根据违背率及目标函数构建整体目标函数;
[0039] 最优解集计算模块,用于根据整体目标函数计算最优解集。
[0040] 本发明的有益效果在于:
[0041] (1)本发明通过获取产线生产的参数数据以及限定条件的违背率、生产目标的目标函数生成整体目标函数后,针对产线生产的实际情况,对随机生成的生产序列进行预处
理直接排除不符合产线生产需求尤其是会直接导致产线停产,严重拥堵或其他可能导致生
产事故的生产序列,在预处理后再基于改进的NSGA‑II算法获取整体目标函数的最优解集,
根据最优解集获得最优生产序列,解决了多目标产线生产中难以获得最优生产序列的问
题,同时改进的NSGA‑II算法也解决了传统NSGA‑II算法收敛速度慢求得最优解集时间长的
问题。
[0042] (2)在获取订单数据时,针对实际历史情况或模拟,对需求数据进行前置处理,通过上浮调整需求矩阵解决了由于例如次品,临检,手动订单导致的需求数量的波动而影响
整体出货的量导致无法满足需求的问题。
[0043] (3)通过在产生子代后淘汰子代中违背率达到设定值的个体和或淘汰目标未达到设定值的个体减少了种群数量降低了计算量加快了收敛速度。
[0044] (4)通过淘汰Pareto等级最高的非支配解集加快了收敛的速度。
[0045] (5)在一些实施例中,通过子代种群数量是否达到设定值来判断是否输出子代种群作为最优解集相较于传统的NSGA‑II算法降低计算量的同时防止误淘汰权重较大的目标
表现较好的个体,使排产结果的筛选具有更好的适应性和针对性。

附图说明

[0046] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发
明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
据这些附图获得其它的附图。
[0047] 图1为本发明方法的流程图;
[0048] 图2为改进的NSGA‑II算法的流程图;
[0049] 图3为本发明系统结构示意图。

具体实施方式

[0050] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0051] 本发明公开了一种生产线生产序列调度方法、系统、存储介质;
[0052] 一种生产线生产序列调度方法,如图1所示,包括以下步骤:
[0053] S1、获取产线生产的参数数据;
[0054] S2、随机生成产线生产序列sa;根据限定条件计算对应的违背率,根据设定目标建立对应的目标函数;并对随机生成的所述产线生产序列sa进行预处理;所述预处理包括:淘
汰所述产线生产序列sa中所述违背率达到设定值和或所述目标函数未达到设定值的个体;
[0055] S3、构建整体目标函数,并计算整体目标函数的最优解集;
[0056] S4、根据最优解集获取最优的产线生产序列。
[0057] 以生产汽车的各种螺丝配件为例:
[0058] S1、获取产线生产的参数数据:
[0059] 已知螺丝有不同的材质,不同的材质有不同的规格,把不同材质、不同规格的螺丝均视为不同的商品,共有M种,记为a1‑am。该生产线同一时刻只能生产一种商品,每天24小时
不停生产,每小时仅生产一种商品。对于这M种商品,分属于N种材质(M>N),记这为b1‑bm。而
对于这M种商品的库存和利润,可以分别记为:库存:c1‑cm,利润:d1‑dm;对于这M种商品的每
小时生产数量,记为e1‑em。
[0060] 螺丝生产时需要模具来进行规格控制,对于不同规格的螺丝生产,需要进行模具的更换,相同规格不同材质的螺丝之间并不需要更换模具,而即使材质相同,如果需要生产
的规格不同,也需要更换生产模具。生产过程中更换模具所花费的时间矩阵为
[0061]
[0062] 其中t1m表示从第一种产品换到第m种产品生产所需要的时间,而同种规格的产品因为不需要切换模具,所以tij=0(i,j是指M种商品中任意两种规格相同的产品)
[0063] 同样的,生产不同材质的螺丝,也需要更换原料,对于这不同种材质N,也有更换原料的时间矩阵为
[0064]
[0065] yij表示从第i种材质切换到第j种材质所花费的时间,当i=j时,yij=0
[0066] S2、随机生成所述产线生产序列sa;根据限定条件计算对应的违背率,根据设定目标建立对应的目标函数;并对随机生成的所述产线生产序列sa进行预处理;所述预处理包
括:淘汰所述产线生产序列sa中所述违背率达到设定值和或所述目标函数未达到设定值的
个体;
[0067] 对于上述模型,随机生产长度为24的产线生产序列sa,每个位置随机为a1‑am,例如
[0068] sa=a1a2a3a2a1a2a1a2a1a2a1ama1ama1am‑1a1a2a1a2a2a3am‑1am;
[0069] 根据sa序列的结果,可以得到对应的sb品类序列、各个时段的库存矩阵A24m
[0070] 对应的行表示小时数,而列表示m种商品,对应的值为该时刻该商品对应的库存量。对于制造型的企业来说,也有相同维度的需求矩阵B24m,主要表现各个时间段对于各个
品类产品的订单的需求量。
[0071] 对于生产汽车的各种螺丝配件的要求,可能还会有如下的约束条件:
[0072] 限定条件1同一模具产品连续生产;
[0073] 计算出违反该限定条件的违背率α1;
[0074] α1=同一种模具产品间隔生产的次数/24(在本案例中由于是以小时为单位的因此生产次数为24);
[0075] 限定条件2同一材料产品连续生产;
[0076] 根据限定条件2的限制,通过对应的sb序列,计算出违反该约束条件的比例违背率α2;
[0077] α2=同一材料产品间隔生产的次数/24;
[0078] 限定条件3每隔设定时间段各种类产品的库存数量需超过设定值;
[0079] 对于这个约束条件,可以将需求矩阵B和库存矩阵A相减,求出冗余矩阵C,
[0080] 为了防止例如次品,临检,手动订单导致的需求数量的波动而影响整体出货的量导致无法满足需求的问题,将矩阵B中的每一个值上浮1%,以此来应对上述情况。
[0081] 计算出违背率α3;
[0082] α3=c/所有生产的次数(24*m)。
[0083] 设定目标1:对于工厂来说,则希望生产的零件有最大的利润,即:
[0084] 那么利润
[0085] 设定目标2:对于厂家来说,期望更换模具的总次数和总时间越短越好,频繁更换模具对导致更快的折旧率,故障率和生产速率的波动,同时更换模具浪费的时间越多,则生
产的产品产量会大打折扣,根据生产的模型Sa,可以得到一个时间的序列Ta,Ta的和即为一
天中换模具所需要的时间和,即
[0086] 设定目标3:类似于目标2,厂家会期望更换原料的总时间越短越好,更换的时间越多,则产量减少越多。根据生产的模型Sa和矩阵Y,可以得到一个更换的时间序列Ya;Ya的和
即为一天中换模具所需要的时间的和,即
[0087] 对随机序列sa进行预处理:
[0088] 对于矩阵C,矩阵中负的值则表示该种螺丝库存不足以应付需求,正的值则表示库存充足;
[0089] 对于矩阵中负值的数量记为c,如果c的个数超过m*20%,(具体数值可调)则该解直接排除;
[0090] 同时,如果矩阵C中的负值超过2倍的B矩阵中的值,则生产和库存的差距过大,解表现不好,直接排除。
[0091] S3、如图2所示,构建整体目标函数,并计算整体目标函数的最优解集;
[0092] 构建的目标函数具体为:minz=w1α1+w2α2+w3α3+w4·1/p+w5t1+w6t2;
[0093] 其中w1、w2、w3、w4、w5、w6均为经验调控参数。
[0094] 使用改进的NSGA‑II算法计算目标函数的最优解集,包括以下步骤:
[0095] S3.1、获取整体目标函数;
[0096] min z=w1α1+w2α2+w3α3+w4·1/p+w5t1+w6t2;
[0097] S3.2、通过非支配排序算法对预处理后的生产序列sa进行非支配型排序;
[0098] S3.3、通过选择、交叉、变异产生第一代子代种群,并淘汰子代种群中淘汰c的个数超过m*20%和或矩阵C中的负值超过2倍的B矩阵中的个体,令进化代数GEN=n+1,n=1;
[0099] S3.4、将子代种群与父代种群混合;GEN=GEN+1;通过非支配排序算法对混合种群进行非支配型排序,同时根据拥挤度算法计算各非支配层内个体拥挤度;
[0100] S3.5、淘汰父代种群中Pareto等级最高的非支配解集,通过选择、交叉、变异产生新一代子代种群并淘汰c的个数超过m*20%和或矩阵C中的负值超过2倍的B矩阵中的个体;
[0101] S3.6、判断是否达到最大进化数或产生最优解集,判断是,输出最优解集;判断否,返回步骤S3.4;
[0102] 为了简化计算和防止误淘汰权重较大的目标表现较好的个体,使排产结果的筛选具有更好的适应性和针对性,在一些实施例中也可根据实际生产需求使用步骤S3.6的替换
方案,例如实际生产中我们只需获得在一定数量的产线生产序列解集中利润最大而其他目
标表现较好的生产序列即可。
[0103] 所述替换方案具体为:判断子代种群是否达到设定条件,判断是,输出子代种群作为最优解集;判断否,返回步骤S3.4。设定条件可以是,解集个数小于等于某一值且在该解
集中某一项目标最好的。例如当算法循环到一定进化数后,解集数量小于等于10,此时在该
解集中直接取得利润 最好的作为最优解输出。
[0104] 所述快速非支配算法包括以下步骤:
[0105] A1、找出种群中非支配解的个体,即ni=0的个体,将非支配个体放入集合F1中;
[0106] A2、对于F1中的每个个体,找出集合中每个个体所支配个体集合si,对si中的个体l,对nl进行减1操作,令nl=nl‑1,若nl大小为0,则将此个体存放在集合H中;
[0107] A3、定义集合F1为第一层非支配集合,并为F1中每个个体标记相同的非支配序列ranki;
[0108] A4、对集合H中的个体,按照以上步骤1、步骤2和步骤3操作,直至将所有个体分层;
[0109] 其中ni表示种群中所有个体中支配个体i的数目,si表示种群中个体被个体i支配的个体集合。
[0110] 所述拥挤度算法包括:
[0111] 判断是否为边界上的解,判断是,则拥挤度id为无穷大
[0112] 判断否,则拥挤度id=(Zi+1‑Zi‑1)2;
[0113] 其中Zi+1为i+1点在目标函数的解,Zi‑1为目标函数在i‑1点在目标函数的解。
[0114] S4、根据设定需求选取最优解集中的一个解θ,根据θ获取最优的产线每设定时间段各种类产品生产序列sa。
[0115] 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的一种生产线生产序列调度方法的步骤。
[0116] 使用上述一种生产线生产序列调度方法的系统,如图3所示,包括:
[0117] 数据采集模块,用于采集产线生产的参数数据;
[0118] 限定条件构建模块,用于根据采集的参数数据构建并计算限定条件的违背率;
[0119] 设定目标构建模块,用于根据采集的参数数据构建设定目标的目标函数;
[0120] 整体目标函数构建模块,用于根据违背率及目标函数构建整体目标函数;
[0121] 最优解集计算模块,用于根据整体目标函数计算最优解集。
[0122] 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进
行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的精神和范围。