一种基于PSO-GA混合优化算法的单目标多生产线调度控制方法转让专利

申请号 : CN201110383517.X

文献号 : CN102393634B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈勇邱晓杰吴云翔潘益菁盛家君

申请人 : 浙江工业大学

摘要 :

一种基于PSO-GA混合优化算法的单目标多生产线调度控制方法,包括以下步骤:步骤1:输入不同工件可选生产线、首批加工时的相应准备时间、不同工件在可选生产线的换模时间、不同工件在可选生产线上的加工时间、单一目标函数和加工分批策略;步骤2:采用随机编码初始化运行参数;步骤3:初始化种群;步骤4:将P(t)分割成粒子规模相等的两个A、B子种群;步骤5:设定迭代次数;步骤6:对A种群的粒子群P1(t)进行基于SA局部改进的PSO操作;步骤7:对B种群的粒子群P2(t)进行基于SA局部改进的GA操作;步骤8:A、B种群进行信息共享;步骤9:判断终止条件是否满足,若是,输出最优个体。本发明实现调度优化。

权利要求 :

1.一种基于PSO-GA混合优化算法的单目标多生产线调度控制方法,其特征在于:所述控制方法包括以下步骤:步骤1:建立多生产线作业协调调度问题的数学模型,其中,多生产线作业协调调度的符号定义如下:U:共U条生产线;

n:共n种工件;

TT(i,l):判断第i种工件是否可以在第l条生产线上加工,若可以加工该值为1,若不可以加工该值为0(l=1,2,...U);

n′:所有工件共分成n′批;

QF(i,k′):第i种工件第k′批的批量;

m′(i):第i种工件被分成m′(i)批;

Qi:第i种工件的需求量;

Qlk:第l条生产线第k批工件的批量;

m(l):第l条生产线加工的工件批数;

number(l):工件在生产线l上加工时,需在number(l)台机器上进行加工;

til:为第i种工件在生产线l上开工时的加工准备时间;

t′ij1:在生产线l上,前一批为第i种工件,后一批为第j种工件的换模时间;

rlk:生产线l上加工第k批工件的开工时间;

rlkdw:生产线l上加工第k批工件第d个工件第w个工序的开工时间;

L(l,k):在生产线l上加工的第k批工件种类号,L(l,k)∈{1,2,…,n};

Pl(i,w):第i种工件在第1条生产线上加工时的第w个工序的加工时间;

PL(l,k):第k批工件在生产线l上加工的单件工时;

P′L(l,k),w:第k批工件在生产线l的第w个工序生产单件工件所需工时;

B(i):第i种工件的产品族号;

Clk:生产线l上第k批工件加工任务的完工时间;

Cmax:所有工件完工时间;

Wi:第i种工件的完成时间;

Wui、Wdi:第i种工件的最早交货期和最晚交货期;

输入不同工件可选生产线、首批加工时的相应准备时间、不同工件在可选生产线的换模时间、不同工件在可选生产线上的加工时间、单一目标函数和加工分批策略;

步骤2:采用随机编码,包括编码控制基因xi和参数基因zi;并初始化运行参数,包括设定粒子种群规模N、惯性权重w、学习因子c1、社会因子c2、交叉概率最小值Pc1和最大值Pc2、变异概率最小值Pm1和最大值Pm2、退火常数λ;

步骤3:初始化种群,按种群规模和约束条件随机生成偶数个组成的种群P(t);

步骤4:将P(t)分割成粒子规模相等的两个A、B子种群,粒子分别存储在P1(t)、P2(t);

步骤5:设定第一迭代次数t=0;

步骤6:对A种群的粒子群P1(t)进行基于SA局部改进的PSO操作,操作如下:步骤6.1:对P1(t)种群进行适应度评价,计算每个粒子的适应度值为P1(i),将当前粒子的位置和适应度值存储在Pbest1中,将所有Pbest1中适应度值最优的个体存储在gbest1中,找出最优解,记为Pg1;

步骤6.2:用SA算法进行局部搜索,按 概率选择当前个体的适应度代替全局最优个体P′g1;

步骤6.3:按公式(1)进行离散PSO的粒子位置和速度的更新,更新P1(t)的所有个体,并将个体按适应值由好到差排序;

最小化最大完工时间f1,即最小化最晚完成生产任务的生产线的完工时间,如下式所示:约束条件如下所示:

1)加工开始时间与完工时间的约束:

rl1=tlL(l,1) (4)约束条件中的公式(2)为生产线l上的第k批工件加工任务的完工时间,等式右边第1项为该线上第k批工件加工开始时间,等式右边第2项为加工该批工件第一个工件的时间,等式右边第3项为加工该批工件除第一个工件外的时间;公式(3)为生产线l上的第k批工件的加工开始时间,当生产线l的第k批工件与该线上的前一批工件为同种族产品时,该批工件的开始加工时间可以为前一批工件最后一个工件的第一道工序结束时间;否则,该批工件的开始时间为前一批工件在该线上的完工时间加上该批工件在该线上的换模准备时间;公式(4)为生产线l的第一批工件的加工开始时间,即该工件在该线上的准备完成时间;

2)总批数约束:

设定每条生产线加工的工件批数之和应等于每种工件的批数之和,并且等于加工的总批数,即:

3)总量约束:

设定所有生产线上加工的工件总数应等于所有种类工件需加工的数量之和,即:

4)分配约束:

设定每种工件只能在确定的生产线上加工,并且每条生产线只能加工几种工件,不是所有的工件都能在任何一条线上加工,即:

5)工序约束:

设定同一个工件的不同工序不能同时加工,等前一工序完成后才能加工后一工序,即:rlkd(w+1) ≥ rlkdw+Pl(L(l,k),w),(l=1,2,…,U;k=1,2,…,m(l);w=1,2,…,number(l)) (8)

6)机器约束:

设定工件在某台机器上只能一个一个地加工,不能一起加工,即对某道工序上的一批待加工工件的机器约束,即:rlk(d+1)w ≥ rlkdw+Pl(L(l,k),w),(l=1,2,…,U;k=1,2,…,m(l);w=1,2,…,number(l)) (9)

7)变量约束:

设定加工开始时间、完工时间、批量大小、生产时间均为大于零的实数,即:rlk≥0;Clk≥0;Qlk≥0;Pi≥0;P′i≥0; (10)步骤6.4:退火处理:TM+1=λTM;

步骤7:对B种群的粒子群P2(t)进行基于SA局部改进的GA操作,操作如下;

步骤7.1:对P2(t)种群进行适应度评价,计算每个粒子的适应度值为P2(i);

步骤7.2:按轮盘赌策略选择个体;

步骤7.3:按自适应交叉概率进行个体的交叉;

步骤7.4:按自适应变异概率进行个体的变异;

步骤7.5:用SA进行局部寻优,更新P2(t)种群,并将个体按适应度值由好到差进行排序;

步骤7.6:退火处理:TM+1=λTM;

步骤8:A、B种群进行信息共享,将A种群的前n个最优个体替换B种群的后n个最差个体,而同时将B种群的前n个最优个体替换A种群的后n个最差个体;

步骤9:判断终止条件是否满足,若是,输出最优个体,目标函数,并搜索结束;若不是,第二迭代次数M=M+1,转到步骤6,重新进行个体寻优。

2.如权利要求1所述的基于PSO-GA混合优化算法的单目标多生产线调度控制方法,其特征在于:所述控制方法还包括以下步骤:步骤10:根据最优解绘制各生产线生产工件次序甘特图。

说明书 :

一种基于PSO-GA混合优化算法的单目标多生产线调度控

制方法

技术领域

[0001] 本发明涉及一种基于粒子群优化算法(Particle Swarm Optimization,以下简称PSO)和遗传算法(Genetic Algorithm,以下简称GA)的混合优化算法的多生产线调度控制方法,属于企业管理工程与信息技术领域。

背景技术

[0002] 目前已有一种基于遗传算法的可重组生产线调度方法,包括未完成的加工任务的排序和设备的分配,在工件的排序中,利用遗传算法对一条包含一台可移动设备和一台可变结构设备的可重组生产线的n个未完成加工任务进行最优排序,得到加工任务的最优排序,然后根据该排序进行设备重组。常见的应用于调度理论的智能优化算法包括粒子群算法(PSO)、禁忌搜索(TS)、分散搜索(SS)、遗传算法(GA)、模拟退火(SA)、人工免疫系统(AIS)和蚁群算法(ACO)等。

发明内容

[0003] 为了克服已有现有的多生产线调度控制方法的调度结果较差的不足,本发明提供一种实现调度优化的基于PSO-GA混合优化算法的单目标多生产线调度控制方法。
[0004] 本发明解决其技术问题所采用的技术方案是:
[0005] 一种基于PSO-GA混合优化算法的单目标多生产线调度控制方法,所述控制方法包括以下步骤:
[0006] 步骤1:建立多生产线作业协调调度问题的数学模型,其中,多生产线作业协调调度的符号定义如下:
[0007] U:共U条生产线;
[0008] n:共n种工件;
[0009] TT(i,l):判断第i种工件是否可以在第1条生产线上加工,若可以加工该值为1,若不可以加工该值为0(l=1,2,...U);
[0010] n′:所有工件共分成n′批;
[0011] QF(i,k′):第i种工件第k′批的批量;
[0012] m′(i):第i种工件被分成m′(i)批;
[0013] Qi:第i种工件的需求量;
[0014] Qlk:第1条生产线第k批工件的批量;
[0015] m(l):第1条生产线加工的工件批数;
[0016] number(l):工件在生产线l上加工时,需在number(l)台机器上进行加工;
[0017] til:为第i种工件在生产线l上开工时的加工准备时间;
[0018] t′ijl:在生产线l上,前一批为第i种工件,后一批为第j种工件的换模时间;
[0019] rlk:生产线l上加工第k批工件的开工时间;
[0020] rlkdw:生产线l上加工第k批工件第d个工件第w个工序的开工时间;
[0021] L(l,k):在生产线l上加工的第k批工件种类号,L(l,k)∈{1,2,...,n};
[0022] P1(i,w):第i种工件在第1条生产线上加工时的第w个工序的加工时间;
[0023] PL(l,k):第k批工件在生产线l上加工的单件工时;
[0024] P′L(l,k),w:第k批工件在生产线l的第w个工序生产单件工件所需工时;
[0025] B(i):第i种工件的产品族号;
[0026] Clk:生产线l上第k批工件加工任务的完工时间;
[0027] Cmax:所有工件完工时间;
[0028] Wi:第i种工件的完成时间;
[0029] Wui、Wdi:第i种工件的最早交货期和最晚交货期;
[0030] 输入不同工件可选生产线、首批加工时的相应准备时间、不同工件在可选生产线的换模时间、不同工件在可选生产线上的加工时间、单一目标函数和加工分批策略;
[0031] 步骤2:采用随机编码,包括编码控制基因xi和参数基因zi;并初始化运行参数,包括设定粒子种群规模N、迭代次数M、n、惯性权重w、学习因子c1、社会因子c2、交叉概率最小值Pc1和最大值Pc2、变异概率最小值Pm1和最大值Pm2、退火常数λ;
[0032] 步骤3:初始化种群,按种群规模和约束条件随机生成偶数个组成的种群P(t);
[0033] 步骤4:将P(t)分割成粒子规模相等的两个A、B子种群,粒子分别存储在P1(t)、P2(t);
[0034] 步骤5:设定迭代次数t=0;
[0035] 步骤6:对A种群的粒子群P1(t)进行基于SA局部改进的PSO操作,操作如下:
[0036] 步骤6.1:对P1(t)种群进行适应度评价,计算每个粒子的适应度值为P1(i),将当前粒子的位置和适应度值存储在Pbest1中,将所有Pbest1中适应度值最优的个体存储在gbest1中,找出最优解,记为Pg1;
[0037] 步骤6.2:用SA算法进行局部搜索,按 概率选择当前个体的适应度代替全局最优个体P′g1;
[0038] 步骤6.3:按公式(1)进行离散PSO的粒子位置和速度的更新,更新P1(t)的所有个体,并将个体按适应值由好到差排序;
[0039] 最小化最大完工时间f1,即最小化最晚完成生产任务的生产线的完工时间,如下式所示:
[0040]
[0041] 约束条件如下所示:
[0042] 1)加工开始时间与完工时间的约束:
[0043]
[0044]
[0045] rl1=tlL(l,1) (4)
[0046] 约束条件中的公式(2)为生产线l上的第k批工件加工任务的完工时间,等式右边第1项为该线上第k批工件加工开始时间,等式右边第2项为加工该批工件第一个工件的时间,等式右边第3项为加工该批工件除第一个工件外的时间;公式(3)为生产线l上的第k批工件的加工开始时间,当生产线l的第k批工件与该线上的前一批工件为同种族产品时,该批工件的开始加工时间可以为前一批工件最后一个工件的第一道工序结束时间;否则,该批工件的开始时间为前一批工件在该线上的完工时间加上该批工件在该线上的换模准备时间;公式(4)为生产线l的第一批工件的加工开始时间,即该工件在该线上的准备完成时间;
[0047] 2)总批数约束:
[0048] 设定每条生产线加工的工件批数之和应等于每种工件的批数之和,并且等于加工的总批数,即:
[0049]
[0050] 3)总量约束:
[0051] 设定所有生产线上加工的工件总数应等于所有种类工件需加工的数量之和,即:
[0052]
[0053] 4)分配约束:
[0054] 设定每种工件只能在确定的生产线上加工,并且每条生产线只能加工几种工件,不是所有的工件都能在任何一条线上加工,即:
[0055]
[0056] 5)工序约束:
[0057] 设定同一个工件的不同工序不能同时加工,等前一工序完成后才能加工后一工序,即:
[0058] rlkd(w+1)≥rlkdw+Pl(L(l,k),w),(l=1,2,...,U;k=1,2,...,m(l);w=1,2,...,number(l))(8)
[0059] 6)机器约束:
[0060] 设定工件在某台机器上只能一个一个地加工,不能一起加工,即对某道工序上的一批待加工工件的机器约束,即:
[0061] rlk(d+1)w≥rlkdw+Pl(L(l,k),w),(l=1,2,...,U;k=1,2,...,m(l);w=1,2,...,number(l))(9)
[0062] 7)变量约束:
[0063] 设定加工开始时间、完工时间、批量大小、生产时间均为大于零的实数,即。
[0064] rlk≥0;Clk≥0;Qlk≥0;Pi≥0;P′i≥0; (10)
[0065] 步骤6.4:退火处理:Tk+1=λTk;
[0066] 步骤7:对B种群的粒子群P2(t)进行基于SA局部改进的GA操作,操作如下。
[0067] 步骤7.1:对P2(t)种群进行适应度评价,计算每个粒子的适应度值为P2(i);
[0068] 步骤7.2:按轮盘赌策略选择个体;
[0069] 步骤7.3:按自适应交叉概率进行个体的交叉;
[0070] 步骤7.4:按自适应变异概率进行个体的变异;
[0071] 步骤7.5:用SA进行局部寻优,更新P2(t)种群,并将个体按适应度值由好到差进行排序;
[0072] 步骤7.6:退火处理:Tk+1=λTk;
[0073] 步骤8:A、B种群进行信息共享,将A种群的前n个最优个体替换B种群的后n个最差个体,而同时将B种群的前n个最优个体替换A种群的后n个最差个体;
[0074] 步骤9:判断终止条件是否满足,若是,输出最优个体,目标函数,并搜索结束;若不是,迭代次数k=k+1,转到步骤6,重新进行个体寻优。
[0075] 进一步,所述控制方法还包括以下步骤:步骤10:根据最优解绘制各生产线生产工件次序甘特图。
[0076] 本发明的技术构思为:生产线的分批调度生产方式已经广泛应用在实际生产当中。生产批量与生产周期存在U型的关系。当批量过大时,工件占用生产线,导致较长的生产周期。当批量过小时,工件子批数量增大,导致生产线设备的调整时间和工件运输搬运时间增加,并且增加了生产管理的难度。适当的批量分割方法不但能有效减少机器的空闲等待时间、缩短生产周期,而且可以减少子批数量。
[0077] 本发明正是利用HPSOGA算法(PSO-GA混合优化算法的简称)来求得最优化的子批数量和各子批批量。HPSOGA算法特征:HPSOGA算法的基本思想如下:采用种群分割策略,将初始种群分为等量的两个子种群,A种群与B种群,两个独立的子种群相互竞争,且通过评价粒子的适应度值而协同进化,其中A种群用PSO算法进化,B种群GA算法,在子种群中均引入SA算法的搜索环节,使搜索过程具有概率突跳能力,在退火过程中不但能接受好的解,而且能接受差的解,有效避免搜索过程陷入局部最优。当每次迭代结束时,用A种群的部分最优值取代B种群的部分最差值,同样B种群的部分最优值取代A种群的部分最差值。这样可以保证信息的流动不再是从一种群到另一种群的单一流动,而是相互的流动,缩小了搜索空间,并保持了种群的多样性。
[0078] 本发明的有益效果主要表现在:1,HPSOGA优化算法具有收敛速度快,更容易趋向全局最优解的特点。
[0079] 2,基于HPSOGA优化算法的最小批量动态分批更有利于缩短生产周期,提高设备利用率;
[0080] 3,本方法应用于多生产线调度,能够在更短时间内求得最优化的子批数量和各子批批量。

附图说明

[0081] 图1是基于PSO-GA混合优化算法的单目标多生产线调度控制方法的流程图。
[0082] 图2是按最小批量动态分批的最优调度甘特图。
[0083] 图3是分别用GA、PSO和HPSOGA优化算法进行实例验证的收敛曲线。

具体实施方式

[0084] 下面结合附图对本发明作进一步描述。
[0085] 参照图1和图2,一种基于PSO-GA混合优化算法的单目标多生产线调度控制方法,所述控制方法包括以下步骤:
[0086] 步骤1:输入不同工件可选生产线、首批加工时的相应准备时间、不同工件在可选生产线的换模时间、不同工件在可选生产线上的加工时间、单一目标函数和加工分批策略;
[0087] 步骤2:采用随机编码,包括编码控制基因xi和参数基因zi;并初始化运行参数,包括设定粒子种群规模N、迭代次数M、n、惯性权重w、学习因子c1、社会因子c2、交叉概率最小值Pc1和最大值Pc2、变异概率最小值Pm1和最大值Pm2、退火常数λ;
[0088] 步骤3:初始化种群,按种群规模和约束条件随机生成偶数个组成的种群P(t);
[0089] 步骤4:将P(t)分割成粒子规模相等的两个A、B子种群,粒子分别存储在P1(t)、P2(t);
[0090] 步骤5:设定迭代次数t=0;
[0091] 步骤6:对A种群的粒子群P1(t)进行基于SA局部改进的PSO操作,操作如下:
[0092] 步骤6.1:对P1(t)种群进行适应度评价,计算每个粒子的适应度值为P1(i),将当前粒子的位置和适应度值存储在Pbest1中,将所有Pbest1中适应度值最优的个体存储在gbest1中,找出最优解,记为Pg1;
[0093] 步骤6.2:用SA算法进行局部搜索,按 概率选择当前个体的适应度代替全局最优个体P′g1;
[0094] 步骤6.3:按公式(1)进行离散PSO的粒子位置和速度的更新,更新P1(t)的所有个体,并将个体按适应值由好到差排序;
[0095] 最小化最大完工时间f1,即最小化最晚完成生产任务的生产线的完工时间,如下式所示:
[0096]
[0097] 步骤6.4:退火处理:Tk+1=λTk。
[0098] 步骤7:对B种群的粒子群P2(t)进行基于SA局部改进的GA操作,操作如下。
[0099] 步骤7.1:对P2(t)种群进行适应度评价,计算每个粒子的适应度值为P2(i);
[0100] 步骤7.2:按轮盘赌策略选择个体;
[0101] 步骤7.3:按自适应交叉概率进行个体的交叉;
[0102] 步骤7.4:按自适应变异概率进行个体的变异;
[0103] 步骤7.5:用SA进行局部寻优,更新P2(t)种群,并将个体按适应度值由好到差进行排序;
[0104] 步骤7.6:退火处理:Tk+1=λTk。
[0105] 步骤8:A、B种群进行信息共享,将A种群的前n个最优个体替换B种群的后n个最差个体,而同时将B种群的前n个最优个体替换A种群的后n个最差个体;
[0106] 步骤9:判断终止条件是否满足,若是,输出最优个体,目标函数,并搜索结束;若不是,迭代次数k=k+1,转到步骤6,重新进行个体寻优。
[0107] 进一步,所述控制方法还包括以下步骤:步骤10:根据最优解绘制各生产线生产工件次序甘特图。
[0108] 本实施例中,生产车间中有U条功能类似的生产线,每条生产线有多个工序,设有n种工件需要加工,由于工件尺寸等不同,则分属于不同的工件族,每种工件的需求量均不同,每种工件在可选择的生产线上加工,并使其尽量满足交货期的要求。生产线按批次生产,且每条生产线可以生产多种型号的工件,不同型号的工件在切换时具有与工件顺序相关的转换时间。由于各种工件的需求量差距较大,若按每种工件为一批进行生产,容易导致生产线忙闲不均,且生产周期过长,因此需要对各种工件进行合理的分批。假设工件按一定的分批策略进行批量分割后,所有工件被分批,并将这些批工件分配到合适的生产线,每条线分到多批待加工工件,并对每条线的所有批次进行一个合适的排序,使整体的调度满足总体作业的完工时间最少。
[0109] 多生产线作业协调调度问题基本假设:
[0110] (1)每条生产线的初始时间为0;
[0111] (2)所有工件只能在确定的几条生产线上选择加工;
[0112] (3)每种工件根据批量大小分批;
[0113] (4)每种工件的交货期存在最晚和最早交货期;
[0114] (5)不同的待加工工件的批次之间没有先后约束;
[0115] (6)规定任一批工件从开始加工到完成只能在同一条生产线上进行;任一批工件加工时所需设备一空闲,该工件即开始加工;
[0116] (7)规定在生产线l上加工时,需在多台机器上进行加工,同一个工件的不同工序不能同时加工,必须等前一工序完成后才能开始下一道工序的加工,一台机器只能加工一道工序,不能同时加工多道不同的工序,任意两台串行机器之间无缓冲区。
[0117] 多生产线作业协调调度问题的数学模型,多生产线作业协调调度的符号定义如下:
[0118] U:共U条生产线;
[0119] n:共n种工件;
[0120] TT(i,l):判断第i种工件是否可以在第1条生产线上加工,若可以加工该值为1,若不可以加工该值为0(l=1,2,...U);
[0121] n′:所有工件共分成n′批;
[0122] QF(i,k′):第i种工件第k′批的批量;
[0123] m′(i):第i种工件被分成m′(i)批;
[0124] Qi:第i种工件的需求量;
[0125] Qlk:第1条生产线第k批工件的批量;
[0126] m(l):第1条生产线加工的工件批数;
[0127] number(l):工件在生产线l上加工时,需在number(l)台机器上进行加工;
[0128] til:为第i种工件在生产线l上开工时的加工准备时间;
[0129] t′ijl:在生产线l上,前一批为第i种工件,后一批为第j种工件的换模时间;
[0130] rlk:生产线l上加工第k批工件的开工时间;
[0131] rlkdw:生产线l上加工第k批工件第d个工件第w个工序的开工时间;
[0132] L(l,k):在生产线l上加工的第k批工件种类号,L(l,k)∈{1,2,...,n};
[0133] P1(i,w):第i种工件在第1条生产线上加工时的第w个工序的加工时间;
[0134] PL(l,k):第k批工件在生产线l上加工的单件工时;
[0135] P′L(l,k),w:第k批工件在生产线l的第w个工序生产单件工件所需工时;
[0136] B(i):第i种工件的产品族号;
[0137] Clk:生产线l上第k批工件加工任务的完工时间;
[0138] Cmax:所有工件完工时间;
[0139] Wi:第i种工件的完成时间;
[0140] Wui、Wdi:第i种工件的最早交货期和最晚交货期。
[0141] 评价生产调度的性能主要有以下几类指标:最大生产能力指标;客户满意度指标;生产成本指标。最大能力指标包括最大生产率、最短生产周期等;客户满意度指标包括最短延时、最短提前和延后惩罚等;生产成本指标包括最小库存成本、最大利润等。为使企业达到更好的效益,在实际调度过程中各类指标均是考虑的对象,本例选用最小化最大完工时间f1,即最小化最晚完成生产任务的生产线的完工时间,如下式所示。
[0142]
[0143] 约束条件如下所示:
[0144] 1)加工开始时间与完工时间的约束
[0145]
[0146]
[0147] rl1=tlL(l,1) (4)[0148] 约束条件中的公式(2)为生产线l上的第k批工件加工任务的完工时间,第1项为该线上第k批工件加工开始时间,第2项为加工该批工件第一个工件的时间,第3项为加工该批工件除第一个工件外的时间。公式(3)为生产线l上的第k批工件的加工开始时间。当生产线l的第k批工件与该线上的前一批工件为同种族产品时,该批工件的开始加工时间可以为前一批工件最后一个工件的第一道工序结束时间;否则,该批工件的开始时间为前一批工件在该线上的完工时间加上该批工件在该线上的换模准备时间。公式(4)为生产线l的第一批工件的加工开始时间,即该工件在该线上的准备完成时间。
[0149] 2)总批数约束。每条生产线加工的工件批数之和应等于每种工件的批数之和,并且等于加工的总批数。
[0150]
[0151] 3)总量约束。所有生产线上加工的工件总数应等于所有种类工件需加工的数量之和。
[0152]
[0153] 4)分配约束。每种工件只能在确定的生产线上加工,并且每条生产线只能加工几种工件,不是所有的工件都能在任何一条线上加工;
[0154]
[0155] 5)工序约束。同一个工件的不同工序不能同时加工,必须等前一工序完成后才能加工后一工序。
[0156] rlkd(w+1)≥rlkdw+Pl(L(l,k),w),(l=1,2,...,U;k=1,2,...,m(l);w=1,2,...,number(l))(8)
[0157] 6)机器约束。工件在某台机器上只能一个一个地加工,不能一起加工,即对某道工序上的一批待加工工件的机器约束。
[0158] rlk(d+1)w≥rlkdw+Pl(L(l,k),w),(l=1,2,...,U;k=1,2,...,m(l);w=1,2,...,number(l))(9)
[0159] 7)变量约束。加工开始时间、完工时间、批量大小、生产时间均为大于零的实数。
[0160] rlk≥0;Clk≥0;Qlk≥0;Pi≥0;P′i≥0; (10)
[0161] 单目标选用f1,即最小化最大完工时间。
[0162] 以某公司生产小角磨机为例,由于不同型号的小角磨机所需的定转子型号不同,导致需要不同的压机装置,而每条装配线并不配备适合所有机型的压机,因此每条装配线不能选择任意型号的小角磨机进行装配。表1为不同类型小角磨机的基本参数表。
[0163]
[0164] 表1
[0165] 其中表1的第3列和第4列为不同类型小角磨机适用的定转子和可选用的装配线,由此可知装配线L1可用于型号为D032和D034的定转子装配,因此可装配除工件号为J3和J4的其它小角磨机;装配线L2可用于型号为D032、D033和D034的定转子装配,因此可以装配这7种机型;装配线L3可用于型号为D033和D034的定转子装配,因此可以装配除工件号为J1和J2的其它小角磨机。第5列为不同类型小角磨机对应的产品种族号,由于工件号为J1、J2和J3的机型尺寸为305mm×103mm,而型号为J4、J5、J6和J7的机型尺寸为318mm×103mm。不同机型的尺寸在装配时需要不同工装夹具,因此两种不同机型尺寸的小角磨机在同一装配线上装配时,需要更换辅助工装设备,确保机器的精准安装。第6列为小角磨机的需求量,最后3列为不同类型的小角磨机在不同生产线首批加工时的准备时间。
[0166] 两种类型的小角磨机由于机型尺寸的不同,导致在同一装配线生产时需要一定的更换工装设备、更换材料等各类零部件等调整时间,而调整时间与工件种类的前后排序有关,不同类型角磨机的换模调整时间如表2所示,其中数值0表示不需换模,斜杠表示不存在这种加工情况。
[0167] 同种类型的小角磨机在不同生产线上的工序操作时间不同,且在同一生产线上加工的不同类型的小角磨机所需的工序操作时间也不同。小角磨机Ji在生产线Lj上的加工时间如表3到表5所示。
[0168] 现以上述7种不同类型的小角磨机在3条线上装配为例。
[0169] 设置该算法的参数如下:种群规模N=80,工件种数n=7,生产线数U=3,交叉变异概率Pc1=0.5、Pc2=0.9、Pm1=0.02和Pm2=0.05,惯性权重w=0.8,学习因子c1=0.8,社会因子c2=0.8,退火系数lamda=0.5,迭代次数M=100,两种群最优和最差粒子交换数NG=3。
[0170]
[0171]
[0172] 表2
[0173]
[0174] 表3
[0175]
[0176] 表4
[0177]
[0178] 表5
[0179] 小角磨机的每个中包箱容量为192件,因此选择最小批量为192件,用HPSOGA算法按最小批量动态分批。
[0180] 按最小批量动态分批,当在每次迭代开始时,进行重新分批,分批方式按动态分批策略进行。用HPSOGA优化算法进行实例验证。最优粒子为Gx=[3267415],Gz=[3233313],最优目标值fv=111940s,各工件批的生产线选择、加工顺序和批量分配如最优调度方案甘特图,即图2所示。
[0181] 每条生产线的第一批产品的加工开始时间是第一批产品在生产线上准备完成的时间。每条生产线的方格框代表批次正在加工,框内数据Ji-k-QF(i,k)表示:第i种小角磨机-该类型工件的第k批-该批的批量大小,方格框左下侧的数据代表该批工件加工开始时间,右上侧的数据代表该批工件的加工完成时间,若两个方格框当中有间隙,说明两批工件为不同种族工件,间隙时间为不同种族工件的换模时间。同时,两个方格框还存在叠加,说明前后两批同一种族的定转子在同一生产线上加工,这时不需要换模,而且在前一批的最后一个工件第一个工序完工时就可以开始加工后一批定转子,因此存在两批定转子的叠加现象。
[0182] 例如从图2中,我们可以看到线L1的第一批工件为J1-1,即S080的第一批,该批生产开始时间为准备结束时间,准备时间由表1得为2min,按表6工件S080在L1的单工件各工序加工时间和该批次大小,计算出加工完成时间为24790s;第二批工件为J6-2,即SH1的第二批,由于SH1与S080为不同种族工件,因此两批工件之间有间隙,则加工开始时间为J1-1的完工时间加上SH1在L1的换模准备时间,换模准备时间由表5得为2.5min,因此J6-2的加工开始时间为24940s,同样按表6,计算出J6-2的完工时间为39890s;第三批工件为J5-2,即SE1的第二批,由于SE1和SH1为同一种族工件,因此两批工件当中有重叠,则J5-2的开始时间按公式(3)计算为39260s,依次按上述同样方法计算工件加工开始和完成时间。
[0183] 分别用GA、PSO和HPSOGA优化算法进行实例验证,收敛曲线如图3所示。