一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

汽车发动机柔性产线分批与调度方法

2022-05-18 00:40:20 来源:中国专利 TAG:


1.本发明涉及的是一种柔性车间生产制造领域的技术,具体是一种汽车发动机柔性产线分批与调度方法。


背景技术:

2.发动机是汽车的最重要部件之一,如何提高发动机生产线的生产效率、降低发动机订单的超期并提高设备利用率,是目前汽车发动机生产线面临的重要问题。近年来国内开始引入柔性生产线,大大提高了产线的生产效率。但是柔性产线一次性投资大,且维护费用高,需要对现有的生产调度方案进行优化,以提高生产效率与设备利用率。
3.缸盖和阀体作为汽车发动机的关键部件,可以在同一柔性生产线上加工。基本加工模式是机器的位置固定,待加工对象需通过同一条产线的所有机器,在每个机器上依次加工,直到最后一个机器完成加工。本发明涉及的柔性产线所加工的缸盖和阀体具有不同型号,即生产线需加工多种型号的工件(每种工件即为一种型号的缸盖或阀体),机器在进行待加工工件切换时需进行换模。进一步,由于供应商或上游生产线提供的毛坯与待加工半成品的到达时间高度不确定,无法确定每种工件的确切到达时间,因此生产线调度更是困难,受来料时间、设备换模时间等因素影响很大。
4.目前,在不确定来料时间的柔性发动机加工生产线中,现有调度控制方法一般为先到先加工,即某种待加工工件首先到达产线,则对其首先加工。一般将到达的多个此种待加工工件合为一批次,上产线进行加工,而不考虑分批加工方法,不能应对复杂柔性不确定生产环境。


技术实现要素:

5.本发明针对现有技术存在的上述不足,提出一种汽车发动机柔性产线分批与调度方法,将遗传算法(ga)与禁忌搜索算法(ts)进行了结合,以拖期惩罚最小为目标,针对待加工工件随机到达,且具有机器换模时间的柔性流水生产线,对每种工件的总加工量进行分批处理,形成多个子批,并对多个子批的加工次序进行优化。
6.本发明是通过以下技术方案实现的:
7.本发明涉及一种汽车发动机柔性产线分批与调度方法,以最小化拖期惩罚为优化目标,将原始优化问题通过两阶段分别求解,即:通过遗传禁忌混合的启发式算法求解每种工件的共计子批数以及不同工件全部子批的加工顺序,再在此加工顺序下,针对随机到达时间的特点采用样本均值近似(sample average appropriation,saa)方法建立混合整数规划模型,即根据工件来料时间的随机特性生成若干个场景,目标是最小化所有场景的超期惩罚均值,通过求解每个子批的批量大小,实现批量优化。
8.所述的子批次是指将每种工件的加工任务分为若干个子批,以子批为单位进行调度并进入机器加工,每一个子批由若干个单工件组成。
9.所述的每种工件的总子批数是每种工件包含的子批总数。
10.所述的子批的加工顺序是指子批进入每台机器进行加工的顺序。
11.所述的每个子批的批量大小是指每个子批所包含的工件个数。
12.所述的遗传禁忌混合的启发式算法是指:经初始化后进行精英个体搜索,对得到的个体进行评价后基于适应度大小采用轮盘赌方法选择群体中的两个个体作为父代并进行交叉运算和变异运算,得到第二组子代后分别依次进行互换操作、增批操作与减批操作后进行邻域搜索,当任一个体的适应度高于当代群体中的最差适应度时进行个体对换并更新禁忌列表,实现一次迭代,当迭代达到预设值时得到具有最大适应度的个体作为最优解输出。
13.所述的个体为遗传算法求得的加工顺序的一组解,每一个个体即为一个加工顺序编码。
14.所述的编码,为实数编码,数字表示工件的一个子批,数字在个体中的位置表示顺序,数字在个体编码中出现的次数表示工件的子批个数,编码仅表示加工顺序,不包含子批批量信息,其中编码中的每一个数字为该个体的一个基因,其位置为该基因的基因位。
15.所述的初始化,为每次随机产生一组加工顺序编码,代表一个加工顺序方案,即一个个体,随机生成若干个个体组成初始群体,即初始可行解集合。
16.在进行初始化时需对个体进行完备性检验,以确保随机生成的个体为一组可行解,即确保在个体基因编码中所有的工件种类均存在,当有任一工件在编码中缺失,则随机选择一基因位,将其值更改为缺失工件的编号,再进行一次完备性检验,直至检验通过。
17.所述的精英个体搜索是指:从len个基因中随机选取gen个基因,然后对于取出的每一个基因都进行更换,更换后进行完备性检验,当更换后的适应度函数值优于当前值时,则替换当前的基因,得到新个体。
18.所述的适应度,通过以下方式得到:根据编码确定的加工顺序,将顺序输入混合整数规划模型中,求解每一子批的批量以及适应度值,由于目标值为最小化函数,适应度值为目标值的倒数。
19.所述的目标函数对应的混合整数规划模型(mip-saa)为:
20.最小化s个场景下拖期惩罚均值
21.约束条件包括:
22.①
同一台机器上相邻子批在该机器上的加工完成时间之间的关系满足:t
lks-t
(l-1)ks
≥n
l
·
pt
π(l)k
st
π(l-1)π(l)k
,2≤l≤l,1≤k≤k,1《s《s;
23.②
同一子批在相邻两台机器上的加工完成时间之间的关系满足:t
lks-t
l(k-1)s
≥n
l
·
pt
π(l)k
st
π(l-1)π(l)k
,1≤l≤l,1≤k≤k,1《s《s;
24.③
所有工件均在来料后才可开始加工:t
l0s
≥at
π(l)s
,1≤l≤l,1《s《s;
25.④
各种工件各子批总量的约束满足:
26.⑤
场景s下工件i的拖期t
is
不小于该工件交期与该工件最后一个子批的加工完成时间之差满足:
27.⑥
所有变量取值范围的约束满足:
t
lks
≥0,intn
l
>0,r
li
∈(0,1),q
li
∈(0,1),t
is
≥0,1≤l≤l,0≤i≤i,0≤k≤k,1≤s≤s;其中:i为工件种类,工件编号i∈i;k为机器数,机器编号k∈k;di为工件i的总批量;l为编码长度,子批编号l∈l;π为加工顺序,π(l)表示第l批工件的工件种类;pt
ik
为工件i在机器k上的单件加工时间;st
ijk
为机器k上由工件i换到工件j的换模时间;r
li
为辅助变量,r
li
=1表示第l个子批工件种类为i,否则r
li
=0;q
li
为辅助变量,q
li
=1表示第l个子批为工件i的最后一个子批,否则q
li
=0;at
is
为场景s中工件i的来料时间;ddi为工件i的交期;μi为工件i的拖期惩罚系数;待优化变量:n
l
为整数变量,第l个子批包含的子批数,大于等于0;t
lks
为连续变量,第s个场景下第l个子批在第k台机器上的加工完成时间;t
is
为连续变量,表示场景s下工件i的拖期。
28.所述的混合整数规划模型的求解,优选通过对整数变量n
l
进行线性松弛,将原混合整数规划问题转化为线性规划问题,采用cplex求解器进行求解,再对求得的线性解进行取整,获得整数解。
29.所述的轮盘赌方法选择,其中各个体被选中的概率与其适应度函数值大小成正比。
30.所述的交叉运算,通过随机生成子序列长度与交换起点,交换ch1和ch2在这个位置后的同样长度的基因片段,得到子代ch
11
和ch
12

31.所述的变异运算,随机选择ch
11
和ch
12
的mutate_st个基因,将其替换为与原本不同的基因编号。
32.在交叉运算与变异运算后均需对个体进行完备性检验,保证每种工件子批在编码中至少出现一次,且交叉与变异分别在交叉概率与变异概率下进行。
33.所述的互换操作是指:从个体的第1、2位的基因开始,依次令个体编码中相邻两个位置的基因交换。
34.所述的增批操作是指:从个体的第0、1个基因位开始,依次在个体的每一基因位之间插入每一种工件的一个子批。
35.所述的减批操作是指:从个体的第1个基因位开始依次对每一个基因位进行删减。
36.所述的邻域搜索,通过对禁忌列表中的个体加以禁忌,每一次迭代完成后更新禁忌列表,当经过交叉、变异以及邻域搜索后得到的子代的适应度比父代更优,则将父代编码中被破坏的子序列作为禁忌添加至tl中,一定的迭代次数内,当该子序列均未在邻域搜索中出现,将其从tl中删去,不再禁忌。
37.所述的邻域搜索,优选对照禁忌列表tl,被禁忌列表禁忌的个体不在搜索范围内。
38.所述的样本均值近似方法是指当问题中包含分布已知的随机变量时,生成一个服从这一分布的样本,每一个样本包含若干个确定场景,以最小化样本的目标值均值为目标求解所有确定场景,求得一个适应于所有场景且样本的目标值均值最小的解即为最优解。技术效果
39.本发明通过分批与调度优化方法,以实现生产线拖期惩罚最小为研究目标,研究汽车发动机缸盖与阀体生产线,考虑待加工工件(一种型号的缸盖或阀体)到达产线时间的不确定以及机器换模时间,符合生产实际状况。通过改进现有发动机生产线先到先加工的调度原则且不分批的排产方案,采用分批调度的方法能够有效减小超期损失,缩短工时,提高设备利用率,从而提高产线的生产效率,同时本发明考虑了生产线的来料不确定问题,满
足了实际生产中对于不确定问题的处理需求。
附图说明
40.图1为本发明方法的流程图;
41.图2为本发明实施提供的三种领域搜索方法示意图;
42.图3为本发明在禁忌搜索算法中对子序列的定义示意图。
具体实施方式
43.如图1所示,为本实施例涉及一种汽车发动机柔性产线分批与调度方法,针对上海某乘用车发动机缸盖与阀体生产线实施本方法。该生产线实现缸盖与阀体各两种型号工件的加工,即工件种类数为4,每种工件的加工总批量均为500件,缸盖的来料时间服从0-100的均匀分布,阀体的来料时间服从均值为200,方差为20的正态分布。所涉及的生产线包含10台设备,加工设备为数控立车、卧式加工中心、阀座冷装线等,每台机器加工一个工件的时间确定,在工件进入生产线进行加工前,需确定每种工件分批后的总子批数、每个子批的工件数量以及所有子批进入机器进行加工的加工顺序,确定分批情况与加工顺序后,子批为单位依次进入机器进行加工。
44.具体分批与调度的求解步骤包括:
45.步骤s1,初始化:设置进化代数计数器t=0,设置最大进化代数t=2000,每次随机产生一组加工顺序编码,每一个编码为一个个体,代表一个加工顺序方案,随机生成50个体作组成初始群体p(0),编码总长度len=20,精英搜索参数gen=5,变异基因选择参数mutate_st=5,交叉概率cross_p=0.8,变异概率mutate_p=0.05,初始禁忌列表tl为空。
46.其中基因编码采用实数编码,用数字表示工件的一个子批,数字在个体中的位置表示顺序,数字在个体编码中出现的次数表示工件的子批个数,编码仅表示加工顺序,不包含子批批量信息。生产线加工4种型号的产品,编号记为1~4,则(1,2,0,4,3,3,2,0)为一个调度方案,编号分别为1、2、3、4,编号0无意义,但由于工件总子批个数不确定,则个体的基因位总数不确定,初始化阶段允许编号0出现,在初始化完成后去掉0后的有效编码为(1,4,3,3,2),工件1在编码中出现1次,表示工件1分为1批,处于第一个加工位置,工件2共分为1个子批,位于第五位加工,工件3共分为两个子批,分别位于第三和第四位加工,工件4分为1批,位于第二位加工。
47.步骤s2,精英个体搜索:在p(0)中随机选择5个个体进行邻域搜索,其邻域搜索方法为从len个基因中随机选取gen个,然后对于取出的每一个基因都进行更换,当更换后的适应度函数值优于当前值时,则替换当前的基因。例如,共有4种工件,当前某个特定基因值为2,在编码中表示此位置加工工件2的一个子批,将其依次替换为1、3和4,评估适应度,当替换后的适应度更优,则替换。
48.步骤s3,个体评价:计算群体p(t)中各个个体的适应度;适应度计算方式为根据编码确定的加工顺序,将顺序输入混合整数规划模型中,求解每一子批的批量以及适应度值,由于目标值为最小化函数,适应度值取目标值的倒数。
49.所述的目标函数为:最小化s个场景下拖期惩罚均值
50.约束条件:t
lks-t
(l-1)ks
≥n
l
·
pt
π(l)k
st
π(l-1)π(l)k 2≤l≤l,1≤k≤k,1《s《s
51.t
lks-t
l(k-1)s
≥n
l
·
pt
π(l)k
st
π(l-1)π(l)k 1≤l≤l,1≤k≤k,1《s《s
52.t
l0s
≥at
π(l)s 1≤l≤l,1《s《s
[0053][0054][0055]
t
lks
≥0,intn
l
>0,r
li
∈(0,1),q
li
∈(0,1),t
is
≥0,1≤l≤l,0≤i≤i,0≤k≤k,1≤s≤s
[0056]
所述的目标函数,通过以下方式进行求解:
[0057]
步骤s301:利用cplex求解器直接求解线性规划如下:
[0058]
约束条件:t
lks-t
(l-1)ks
≥n
l
·
pt
π(l)k
st
π(l-1)π(l)k 2≤l≤l,1≤k≤k,1《s《s
[0059]
t
lks-t
l(k-1)s
≥n
l
·
pt
π(l)k
st
π(l-1)π(l)k 1≤l≤l,1≤k≤k,1《s《s
[0060]
t
l0s
≥at
π(l)s 1≤l≤l,1《s《s
[0061][0062][0063]
t
lks
≥0,n
l
>0,r
li
∈(0,1),q
li
∈(0,1),t
is
≥0,1≤l≤l,0≤i≤i,0≤k≤k,1≤s≤s。
[0064]
步骤s302:对求得的线性解n
l
向上取整。
[0065]
步骤s303:调整取整后的解使其成为可行解,首先对求得的线性解n
l
向上取整并对每种工件求总批量ddi,与原来的总批量di比较,ddi通常会大于di,为了使ddi等于di,将每个整数解与对应的线性解相减,对最大差值对应的整数解减去1,整数解总量di随之消去一单位最小批量,依次重复直至ddi等于di。
[0066]
如对加工顺序为(1,2,1,2,3,4)的算例,求得一组线性可行解n
l
=(100.3,200.2,399.7,299.8,500,500),n
l
向上取整得到整数解nn
l
=(101,201,400,300,500,500),dd1=101 400=501,dd2=201 300=501,其中子批1与子批3为工件1的两个子批,子批1的线性解100.3与取整后的解101之间差值为0.7,大于子批3的线性解399.7与取整后的解400之间的差值0.3,故将子批1的整数解101减1,此时dd1=100 400=500,为可行解。工件2同理。最后得到可行的整数解nn
l
=(100,200,400,300,500,500)。
[0067]
步骤s304,求取适应度,适应度求取方法如下:将nn
l
代入线性规划函数并求解,适应度为目标值的倒数。
[0068]
所述的线性规划函数为:
[0069]
约束条件:t
lks-t
(l-1)ks
≥nn
l
·
pt
π(l)k
st
π(l-1)π(l)k 2≤l≤l,1≤k≤k,1《s《s
[0070]
t
lks-t
l(k-1)s
≥nn
l
·
pt
π(l)k
st
π(l-1)π(l)k 1≤l≤l,1≤k≤k,1《s《s
[0071]
t
l0s
≥at
π(l)s 1≤l≤l,1《s《s
[0072][0073]
t
lks
≥0,r
li
∈(0,1),q
li
∈(0,1),t
is
≥0,1≤l≤l,0≤i≤i,0≤k≤k,1≤s≤s
[0074]
步骤s4,选择运算:t=t 1,基于适应度大小采用轮盘赌方法选择群体中的两个个体作为父代,记为ch1与ch2;
[0075]
步骤s5,交叉运算:以交叉概率0.8对ch1与ch2进行交叉操作,得到两个子代个体ch
11
与ch
21
,交叉方法为随机生成基因片段长度len_g与交换起点位置cross_st,交换两个个体在cross_st位置后长度为len_g的基因片段。交叉后需对ch
11
与ch
21
进行完备性检验;
[0076]
步骤s6,变异运算:以变异概率0.05对ch
11
与ch
21
分别进行变异操作得到第二组子代ch
12
与ch
22
,变异方法为随机选择个体编码中5个基因,随机将其替换为与原本不同的基因编号得到ch
12
与ch
22
,并对ch
12
与ch
22
进行完备性检验;
[0077]
步骤s7,对ch
12
与ch
22
分别依次进行互换、增批与减批这三个邻域搜索,如图2所示,互换的操作过程为:从个体的第1、2位的基因开始,依次令个体编码中相邻两个位置的基因交换,增批为从个体的第0、1个基因位开始,依次在个体的每一基因位之间插入每一种工件的一个子批,减批为从个体的第1个基因位开始依次对每一个基因位进行删减。其中每一次邻域搜索需对个体进行一次完备性检验。邻域搜索过程中需对照禁忌列表tl,剔除被禁忌列表禁忌的个体,被禁忌的个体指所有包含禁忌列表中子序列的个体。
[0078]
步骤s8,对于被选择的两个个体,只要有一个的适应度在完成交叉、变异以及领域搜索操作后比当代群体最差个体的适应度更高,则替换,替换方法为从种群中所有的50个个体中次优的后25个个体中随机选择两个替换。
[0079]
步骤s7与s9中禁忌方法为,在邻域搜索过程对禁忌列表中的个体加以禁忌,每一次迭代完成后更新禁忌列表,其特征在于为当邻域搜索中出现包含被禁忌的子序列的解,则舍去该解,子序列如图3所示。
[0080]
步骤s9,更新禁忌列表tl,经过交叉、变异以及邻域搜索后得到的子代的适应度比父代更优,则将父代编码中被破坏的子序列作为禁忌添加至tl中,一定的迭代次数内,当该子序列均未在邻域搜索中出现,将其从tl中删去,不再禁忌。终止条件判断:当t=t=2000时,迭代次数达到规定次数,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算,否则,返回步骤s4。
[0081]
在达到算法终止条件时,输出当前种群中的最优个体,其基因编码即为加工顺序,其适应度求解得到的解为该加工顺序下最优的分批策略。
[0082]
经过具体实际实验,工件1~4的拖期惩罚系数分别为:0.2、0.4、0.25与0.6。能够得到的实验结果数据如表1,其中优化前的计算结果为依据现有技术,即按照先到先加工原则进行调度且所有工件不做分批处理进行工件加工的计算结果。则进行调度且所有工件不做分批处理进行工件加工的计算结果。
[0083]
表1
[0084]
与现有技术相比,本方法考虑了工件的来料时间不确定的问题,并对加工任务进行分批调度,将加工任务的分批纳入调度优化决策中,区别于现有的整批调度方法,本发明可以实现不确定来料时间的汽车发动机缸盖与阀体柔性生产线的排产与调度决策,在较短的时间内,找到满足要求的最好的可行的调度方案并输出。因此本发明大大降低了工件加工任务的超期惩罚,并提高了机器的平均利用率,其中对生产任务进行分批,实现分批调度,使得同一时间内同一种工件可以以不同的子批在不同机器上进行加工,有效地提高了机器利用率。
[0085]
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献