技术领域
[0001] 本
发明涉及计算机技术领域,尤其涉及一种铸造生产调度方法及系统。
背景技术
[0002] 在铸造行业中,由于铸造生产属于单件小批量的生产模式,生产流程长,排产计划制定困难。而且受生产工艺约束,尤其在铸件造型熔炼阶段,砂箱造型方式、铸件材料及
浇注温度等条件都对铸件
质量有着直接影响,不便于一体化管理。
[0003] 现有铸造生产过程的管理管控,通常以计划人员个人经验
指定排产计划,当存在生产计划较多、车间生产资源复杂等情况时,容易出现排产计划制定困难、资源负载不均衡的现象,造成任务堆积或产能过剩。而且生产过程中工艺约束较多使得
制造过程的一体化管理更加困难、对铸件生产任务进行排产和调度考虑因素变多,计划制定也更为复杂,这些问题都会不便于铸造生产过程的精细化管控,导致铸造生产效率较低。
发明内容
[0004] 有鉴于此,本发明
实施例提供了一种铸造生产调度分配方法及系统,以解决现有铸造生产方式生产效率低的问题。
[0005] 在本发明实施例的第一方面,提供了一种铸造生产调度方法,包括:
[0006] 根据前工段铸件加工特点建立多目标加权调度模型,所述多目标加权调度模型的目标函数为最小化砂箱平均空置率和最小化最大完工时间;
[0007] 通过混合遗传NEH
算法对所述多目标加权调度模型求解,获得前工段调度方案;
[0008] 根据后工段铸件柔性加工特点建立柔性流
水车间调度模型,所述流水车间调度模型目标函数为最小化最大完工时间;
[0009] 通过鲸鱼群算法对所述流水车间调度模型进行求解,获得后工段调度方案。
[0010] 在本发明实施例的第二方面,提供了一种铸造调度分配系统,包括:
[0011] 第一建立模
块,用于根据前工段铸件加工特点建立多目标加权调度模型,所述多目标加权调度模型的目标函数为最小化砂箱平均空置率和最小化最大完工时间;
[0012] 第一求解模块,用于通过混合遗传NEH算法对所述多目标加权调度模型求解,获得前工段调度方案;
[0013] 第二建立模块,用于根据后工段铸件柔性加工特点建立柔性流水车间调度模型,所述流水车间调度模型目标函数为最小化最大完工时间;
[0014] 第二求解模块,用于通过鲸鱼群算法对所述流水车间调度模型进行求解,获得后工段调度方案。
[0015] 在本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有
计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。
[0016] 本发明实施例中,根据铸造生产中前工段与后工段的不同特点,对前工段建立多目标加权调度模型,并通过混合遗传NEH算法求解模型,获得前工段调度方案,再对后工段建立柔性流水间调度模型,通过鲸鱼群算法求解,得到后工段调度方案,解决了传统铸造生产中由于排产计划多、工艺约束复杂导致的生产效率低的问题,可以有效提高生产效率和资源利用率,便于企业铸造生产自动化精细管控。
附图说明
[0017] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或
现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他附图。
[0018] 图1为本发明一实施例提供的铸造生产调度方法的流程示意图;
[0019] 图2为本发明一实施例提供的铸造生产调度方法的另一流程示意图;
[0020] 图3为本发明一实施例提供的铸造生产调度系统的结构示意图。
具体实施方式
[0021] 为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0022] 本发明的
说明书或
权利要求书及上述附图中的术语“包括”以及其他相近意思表述,意指
覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。此外,“第一”“第二”用于区分不同对象,并非用于描述特定顺序。
[0023] 请参阅图1,本发明实施例提供的一种物料联合采购方法的流程示意图,包括:
[0024] S101、根据前工段铸件加工特点建立多目标加权调度模型,所述多目标加权调度模型的目标函数为最小化砂箱平均空置率和最小化最大完工时间;
[0025] 铸件在加工过程中,不同阶段加工工艺不同,约束条件也不同,所述多目标加权调度模型为根据铸件加工过程中铸件、批次、砂箱、熔炼炉等调度分配的不同建立的调度模型,通过求解所述多目标加权调度模型,可以得到调度方案。
[0026] 所述目标函数为多目标加权调度模型的评价最优调度方案的函数,设置特定形式的目标函数可以方便调度模型的求解。
[0027] 具体的,设定目标函数为最小化砂箱平均空置率和最小化最大完工时间:
[0028] (1)最小化砂箱平均空置率;
[0029] 由于每种类型的砂箱有着固定的尺寸大小,在排箱的过程中应尽量提高砂箱的空间利用率。排箱完成后每箱的闲置空间可以表示为砂箱尺寸与砂箱中铸件模具总尺寸之差,为了在数量级上与第二个目标最大完工时间更为接近,可以将砂箱空置率以百分制表示,所述砂箱平均空置率表达式为:
[0030]
[0031] (2)最小化前工段最大完工时间
[0032] 在生产调度中最大完工时间是一个重要的评价指标,前工段的最大完工时间是指最后一个批次解箱冷却后的完工时间。熔炼浇注时间为
合金熔炼时间与浇注时间之和(公式2),每个批次的最大完工时间为该批次在熔炼浇筑阶段开工时间与熔炼浇筑时间以及冷却解箱时间之和(公式3):
[0033]
[0034]
[0035] 对于多目标问题而言,当多个指标之间往往存在着冲突时,一个指标更优时,其他指标有可能更差,因而,可采取经典加权法对多目标进行综合评价,最终的目标函数为:
[0036] minimize f=αf1+(1-α)f2 (4);
[0037] 其中,α(0≤α≤1)为指标权重,f1表示砂箱平均空置率,f2表示最大完工时间,具体权重的分配可以根据实际生产情况综合考虑后进行设置。
[0038] 可选的,设定所述多目标加权调度模型的约束条件,所述约束条件包括批次、铸件、砂箱、班组和熔炼炉的任务分配约束,熔炼炉的最大
冶炼质量约束,砂箱尺寸约束,同材质约束,加工任务排序约束以及决策变量约束。
[0039] 其中,任务分配约束为:每个批次中至少包含一个铸件(公式5-1)、每一个铸件能且只能被分配到一个批次中(公式5-2)、一个批次能且只能选择一种砂箱(公式5-3)、一个批次只能由一个班组进行造型(公式5-4)、一个批次只能由一台熔炼炉进行熔炼浇注(公式5-5)。
[0040]
[0041]
[0042]
[0043]
[0044]
[0045] 每一批的总重量为批中铸件的理论重量之和(公式5-6),容量约束为每批的总重量不能超过熔炼炉的最大熔炼质量(公式5-7)。
[0046]
[0047]
[0048] 每一批的总尺寸不能超过该批所选砂箱的尺寸(公式5-8)。
[0049]
[0050] 只有属于同一种材质的铸件才可以分配到同一批中,一个批次中不能存在不同材质的铸件:
[0051]
[0052] 加工任务排序约束为:只有当批次被相应的班组或者熔炼炉进行加工时,对应的开工时间才不为0(公式5-10)、熔炼浇注阶段必须在组箱造型阶段完工之后才能开始(公式5-11)、确保一个班组只能在某一时刻对一个批次进行造型,即只能造型完一个批次之后才能继续造型下一批,该约束中两个公式为互斥约束(公式5-12)、确保一台熔炼炉只能在某一时刻对一个批次进行熔炼浇注,该约束中两个公式为互斥约束(公式5-13)。
[0053]
[0054]
[0055]
[0056]
[0057] 决策变量约束为:决策变量分为连续变量与0-1变量,取值范围如下所示:
[0058]
[0059]
[0060] S102、通过混合遗传NEH算法对所述多目标加权调度模型求解,获得前工段调度方案;
[0061] 混合遗传为一种遗传机制,本实施例中是指模拟自然界
生物进化过程的一种混合
遗传算法,通过编码对问题解空间进行搜索求解。所述NEH(Nawaz Enscore Ham)算法是一种启发式领域搜索算法。
[0062] 可选的,通过遗传算法全局搜索对铸件进行分批,在
迭代搜索过程中通过NEH算法对每条解码后的
染色体进行调度,获取近似最优解。
[0063] S103、根据后工段铸件柔性加工特点建立柔性流水车间调度模型,所述流水车间调度模型目标函数为最小化最大完工时间;
[0064] 所述柔性流水车间调度模型为根据后工段铸件柔性加工特定建立的问题模型,基于对问题模型的求解,可以得到后工段调度方案。
[0065] 其中,所述柔性流水车间调度模型的目标函数为:
[0066]
[0067] 约束条件为:
[0068] (1)铸件分配约束
[0069] 一道工序能且只能由一台机器进行加工:
[0070]
[0071] 确保只有当铸件在相应的机器上进行加工时,对应的开工时间才不为0:
[0072]
[0073] (2)铸件排序约束
[0074] 每个铸件的工序都必须在该铸件前一道工序完工之后才可以开始加工,同时也表明了每个铸件都必须按照其工艺路线进行顺序加工(公式7-3);确保一台机器只能在某一时刻对一个铸件进行加工,即在同一台机器上只能加工完一个铸件之后才能继续加工下一铸件(公式7-4),该约束中两个公式为互斥约束:
[0075]
[0076]
[0077] (3)决策变量约束
[0078] 决策变量分为连续变量与0-1变量,取值范围如下所示:
[0079]
[0080]
[0081] S104、通过鲸鱼群算法对所述流水车间调度模型进行求解,获得后工段调度方案。
[0082] 所述鲸鱼群算法为一种模拟鲸鱼捕食算法,通过对鲸鱼群算法离散化改进,求解所述流水车间调度模型。
[0083] 具体的,设定鲸鱼群算法参数,所述参数包括最大迭代次数、种群数量、
稳定性阈值和移动概率;
[0084] 随机初始化种群个体,计算种群个体适应度,并获取种群最优解;
[0085] 对鲸鱼群中鲸鱼个体执行改进后的
位置移动;
[0086] 当到达所述最大迭代次数,则将输出的最优解作为所述流水车间调度模型的最优解。
[0087] 针对铸造车间分阶段耦合加工以及工艺流程多重约束的特点对铸件生产总流程进行了调度研究,综合考虑前后工段耦合生产特点,结合铸件实际生产过程中的工艺约束,对铸造生产进行了阶段划分,分析了各阶段的生产特点以及可行的调度策略,为铸造企业提高资源利用率与铸件生产效率提供了理论模型与解决策略,有利于铸造生产制造过程的一体化精细化管控。
[0088] 图2为本发明实施例提供的一种铸造生产调度方法另一流程示意图,在图1步骤S102的
基础上,多目标加权调度模型求解过程进行详述,包括:
[0089] 在利用混合遗传NEH算法对模型求解中,包括分批和调度两个过程:通过遗传算法全局搜索对铸件进行分批,在迭代搜索过程中通过NEH算法对每条解码后的染色体进行调度,获取近似最优解。
[0090] 分批过程包括:
[0091] S201、对铸件和铸件排入的砂箱进行编码,根据编码规则生成初始化种群;
[0092] 本实施例中针对批次调度模型的特点设计了一种双层实数编码方案,第一层基因XJ表示铸件单件的序号,第二层XF表示对应单件将要排入的砂箱类型。每条染色体都可以表示成2n维的行向量X=[XJ|XF],该编码方式可以确保每个铸件分配到相应的砂箱。在算法开始运行时,对种群进行初始化,按照编码规则生成算法的初始种群,为使种群在模型解空间中分布更加广泛,采取随机的方式对种群进行初始化,具体的,随机生成所有铸件的一个排序,再为每个铸件随机选择一个砂箱型号。
[0093] S202、在约束条件下,将编码染色体还原为所述多目标加权调度模型的解,并解码分配至对应的批次中;
[0094] 染色体的解码是指在模型约束下将染色体中各个基因的值还原成问题的有意义解。对于染色体X=[XJ|XF],解码成批次的具体步骤为:从XJ中第一个位置开始依次选择单件,将选中的单件分配到XF中对应索引的砂箱类别中,若XF中对应砂箱类别是第一次出现则建立新批,否则将选中的单件添加到该砂箱所建立的批次中,若添加该单件后会导致批次违反材质约束、容量约束或者尺寸约束,则建立新批。
[0095] S203、对每条染色体对应的解进行局部搜索获取局部最优解。
[0096] 为防止算法陷入局部次优解,在迭代过程中设计了一种局部搜索方式对每条染色体进行局部寻优,为防止优势解的丢失,采用了精英保留策略。具体的,包括:
[0097] S2031、对种群的适应度进行基于排序的适应度变换,根据变换后的适应度值进行轮盘赌选择生成新的种群;
[0098] 对种群的适应度进行基于排序的适应度变换(Rank-based f itness ass i gnment)以保证选择过程中的公正性,再根据变换后的适应度值来进行轮盘赌选择并生成新的种群。
[0099] S2032、分别对铸件编码层采用PBX交叉,对砂箱编码层采用PMX交叉,保留父代优势基因;
[0100] 遗传算法中通过父代的交叉可以将优势基因保留到子代。针对双层编码的染色体,在交叉概率Pc下分别对单件排序层XJ采用PBX(Pos it i on-based Crossover)交叉,对砂箱选择层XF采用PMX(Part ia l-Mapped Crossover)交叉,对XF层交叉时不会产生多余的基因,可以不做冲突检测。
[0101] S2033、分别对铸件编码层进行移位变异,对砂箱编码层进行砂箱重置,微调种群中个体基因;
[0102] 在算法的迭代过程中,优势个体会占据种群的大部分,使得种群的多样性逐渐缺失,变异算子可在小概率下对种群进行微调。在变异概率Pm下分别对XJ进行移位变异,对XF进行砂箱重置。具体的,首先在区间[1,n]中随机选择两个不重复的整数,将XJ中位于这两个位置的基因互换,并为这两个基因上的铸件重新随机选择一个不同于当前砂箱类型且能容纳该铸件的砂箱。
[0103] S2034、保留种群精英解,并根据当前种群中最优个体和最差个体对应的适应度更新精英解;
[0104] 在遗传算法的交叉变异等过程中,可能造成种群优势解的丢失,导致算法收敛不够稳定,因此在形成了新的种群后对种群精英解进行保留可以让算法更快收敛到最优解。首先记录当前代中最优个体与最差个体,若最优个体适应度差于精英解,则用精英个体替换掉当前代中的最差个体,若最优个体适应度优于精英解,则将精英个体更新为当前代中的最优个体。
[0105] S2035、当到达最大迭代次数,则获取种群最优解。
[0106] 迭代结束后,可以输出得到种群的最优解,否则跳转至S2031.
[0107] 调度过程包括:
[0108] S211、基于改进的NEH算法,对批次调度进行优化。
[0109] 具体的,将每个
工件各道工序所需要的加工时间求和,按照总加工时间降序对工件进行排序,得到初始序列TP;
[0110] 从序列TP中取出第一个工件(即总加工时间最长的工件),再将第二个工件分别插入到第一个工件的前后,计算这两个工件在前后不同位置时的完工时间,将完工时间更短的排列顺序保存下来得到序列TP*,然后将这两个工件从TP中删除;
[0111] 从初始序列TP中继续取出下一个工件,并将这个工件插入TP*中所有的可能位置,将完工时间最短的一个序列保存进TP*,重复这一步骤直至TP中所有工件调度完毕,最后得到的TP*即为一个调度结果。
[0112] 由于传统的NEH算法考虑的是非柔性流水车间调度,针对非同等机柔性流水车间调度,对NEH算法进行改进:首先改进提及的总加工时间,由于在遗传算法中将染色体解码就可以得到批次选中的砂箱类型,批次Bh的总加工时间th定义为:
[0113]
[0114] 根据不同加工序列的完工时间来确定批次的最优加工顺序,针对模型中有多台非同等并行机的特点,采用两条不同的机器分配规则,按照分配规则对批次进行班组或者熔炼炉的分配可以得出相应的完工时间,进而通过NEH算法的主流程得到批次的最优序列,最终输出该条染色体的适应度值。
[0115] 优选的,在NET算法中设定最早可用机器优先和最早完工机器优先的任务分配规则。
[0116] 其中,当有多台可以加工某一批次的机器(或班组)存在时,优先选择具有更早开工时间(即更早可用)的机器,如果多台机器的开工时间相同,则优先选择加工时间更少的机器,若其加工时间也相同,则随机选择一台机器。
[0117] 当有多台可以加工某一批次的机器(或班组)存在时,首先分别计算出批次在每一台机器上加工完成后的完工时间,然后优先选择具有更早完工时间的机器来加工该批次,如果有多台机器加工完该批次后的完工时间相同,则同样优先选择加工时间更少的机器,若其加工时间也相同,则随机选择一台机器。
[0118] 在本实施例中,通过改进混合遗传NEH算法,既可以防止局部最优解的丢失,保障全局最优的可靠,同时可以适应柔性流水车间,保障调度的合理。
[0119] 应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0120] 图3为本发明实施例提供的一种铸造生产调度系统的结构示意图,该系统包括:
[0121] 第一建立模块310,用于根据前工段铸件加工特点建立多目标加权调度模型,所述多目标加权调度模型的目标函数为最小化砂箱平均空置率和最小化最大完工时间;
[0122] 可选的,所述根据前工段铸件加工特点建立多目标加权调度模型,所述多目标加权调度模型的目标函数为最下化砂箱平均空置率和最小化最大完工时间包括:
[0123] 采用经典加权法对所述多目标加权调度模型的目标函数进行评价,得到最终目标函数,所述最终目标函数形式为:
[0124] minimize f=αf1+(1-α)f2;
[0125] 其中,α(0≤α≤1)为指标权重,f1表示砂箱平均空置率,f2表示最大完工时间。
[0126] 可选的,所述根据前工段铸件加工特点建立多目标加权调度模型,所述多目标加权调度模型的目标函数为最下化砂箱平均空置率和最小化最大完工时间还包括:
[0127] 设定所述多目标加权调度模型的约束条件,所述约束条件包括铸件非空约束,批次、砂箱、班组和熔炼炉的任务分配约束,熔炼炉的最大冶炼质量约束,砂箱尺寸约束,同材质约束,加工任务排序约束以及决策变量约束。
[0128] 第一求解模块320,用于通过混合遗传NEH算法对所述多目标加权调度模型求解,获得前工段调度方案;
[0129] 可选的,所述第一求解模块320包括:
[0130] 分批调度单元:通过遗传算法全局搜索对铸件进行分批,在迭代搜索过程中通过NEH算法对每条解码后的染色体进行调度,获取近似最优解。
[0131] 可选的,所述通过遗传算法全局搜索对铸件进行分批包括:
[0132] 对铸件和铸件排入的砂箱进行编码,根据编码规则生成初始化种群;
[0133] 在约束条件下,将编码染色体还原为所述多目标加权调度模型的解,并解码分配至对应的批次中;
[0134] 对每条染色体对应的解进行局部搜索获取局部最优解。
[0135] 可选的,所述对每条染色体对应的解进行局部搜索获取局部最优解具体为:
[0136] 对种群的适应度进行基于排序的适应度变换,根据变换后的适应度值进行轮盘赌选择生成新的种群;
[0137] 分别对铸件编码层采用PBX交叉,对砂箱编码层采用PMX交叉,保留父代优势基因;
[0138] 分别对铸件编码层进行移位变异,对砂箱编码层进行砂箱重置,微调种群中个体基因;
[0139] 保留种群精英解,并根据当前种群中最优个体和最差个体对应的适应度更新精英解;
[0140] 当到达最大迭代次数,则获取种群最优解。
[0141] 优选的,所述在迭代搜索过程中通过NEH算法对每条解码后的染色体进行调度包括:
[0142] 在NET算法中设定最早可用机器优先和最早完工机器优先的任务分配规则。
[0143] 第二建立模块330,用于根据后工段铸件柔性加工特点建立柔性流水车间调度模型,所述流水车间调度模型目标函数为最小化最大完工时间;
[0144] 第二求解模块340,用于通过鲸鱼群算法对所述流水车间调度模型进行求解,获得后工段调度方案。
[0145] 通过本实施例的系统中虚拟模块,可以提高铸造生产效率,并提高资源利用率,方便铸造过程的自动化准确控制。
[0146] 在本发明的一个实施例中还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述实施例提供的铸造生产调度方法。
[0147] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0148] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0149] 以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行
修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。