1.一种大规模柔性作业车间调度优化方法,其特征在于:建立柔性作业车间调度问题的数学模型,基于工件组批调度方法降解问题规模,利用自适应遗传算法优化求解,形成一套求解大规模柔性作业车间调度优化方法,步骤如下:第一、基于工件特性相似组批
该方法首先将加工工艺类似、工件尺寸在同一范围内且毛坯材质相同的零件进行聚类组批,随机组成不同的批次,每个工件都有各自的交付期,组批之后按照本批当中最早交付期进行调度;
第二、构建大规模柔性作业车间调度问题的数学模型
大规模柔性作业车间调度问题可以详细描述为,在m台设备(M={Mk|M1,M2...Mm,k=1,
2,...m})上加工n件工件(J={Jl|J1,J2,...Jn,l=1,2,...n}),每个工件包含N个事先确定加工顺序的工序,每个工序可以在多台设备上加工;组批之后形成r类工件R={Ri|R1,R2,...Rr,i=1,2,...r},第i类工件的第j道工序在设备k上加工时间为Tijk,Tpi表示第i类工件的第p批次最后一道工序的完工时间,Ds表示工件s的交付期,Dpi表示第i类工件的第p批次的交付期;调度目标是使最大完工时间最小及总拖延期最小;
目标函数:min f=α1f1'+α2f2' (1)
其中:f1=min(maxTpi)p=1,2...Bi;i=1,2......r (2)式(2)f1表示最小最大完工时间;式(3)f2表示总拖延期最小;
约束条件:
式(5)表示第i类工件第p批次的第j道工序在设备k上加工时间等于本批次所有工件加工时间之和Sip(j-1)k+Tip(j-1)k+Wip(j-1)k≤Sipjk'p=1,2...Bi;i=1,2...r;j=1,2...N;k,k'=1,
2...m (6)
式(6)表示同一批次同一个工件的后一道工序的开工时间Sipjk′大于等于前道工序的完工时间Sipjk+Tipjk+Wipjk≤Si'p'j'k p,p'=1,2...Bi;i,i'=1,2...r;j,j'=1,2...N;k=1,
2...m (7)
式(7)占用同一台机器,后一个批次工件的开工时间Si′p′j′k大于等于前一个批次工件的完工时间式(8)表示每类工件所有批次工件数量总和等于所有工件数总和Dpi=minDs i=1,2...r;s=1,2......Cip;p=1,2...B (9)式(9)表示第i类工件的第p批次的交付期等于本批中最早交付期具体符号含义如下:α1表示函数f1的权重;
α2表示函数f2的权重;
f1'表示f1归一化处理后的函数值;
f2'表示f2归一化处理后的函数值;
Mij表示第i类工件的第j道工序可使用的加工设备集合;
Sipjk表示第i类工件的第p批次第j道工序在设备k上开始加工时间;
Wipjk表示第i类工件第p批次第j道工序在设备k上的调整时间;
Xipjk表示决策变量,当i类工件的第p批次第j道工序在设备k上加工时,取值为1,否则为
0;
tsjk表示工件Js的第j道工序在设备k上加工时间;
Tipjk表示i类工件的第p批次第j道工序在设备k上加工时间;
Bi表示第i类工件组批形成的批次数;
Cip表示第i类工件第p批次的批量数;
第三、采用三层编码进行遗传算法程序中的基因编码
采用三层编码方式,第一层表示工件组批后形成的批次数量,第二层表示工件工序的加工顺序,第三层表示工件工序加工所选择的机器;
第四、遗传算法参数初始化
按照初始参数选用的原则和依据,设立种群规模为40,交叉概率0.1,变异概率0.04,最大遗传代数为300代;
第五、生成初始种群
按照编码方式,采用随机的方式产生初始种群,并且为了保持初始种群的合法性,在产生初始种群时添加约束,即在工序基因段约束工件号出现的次数应等于工件工序数;
第六、计算种群适应度值
利用公式(1)-(3)计算每个个体的目标函数值,分配适应度值,选择适应度较高进入下一代的交叉变异操作;
第七、选择
选择算子采用轮盘赌注的方法,在此方法中个体被选择的概率和其自身的适应度值相关,适应度值越大被保留下来的概率就越大;
第八、选择OBX交叉算子进行遗传算法交叉
种群经交叉洗牌后,随机选择两个个体,并截取其工序基因交叉,采用基于Order-Based Crossover(OBX)的改进交叉算子进行交叉;并通过仿真探索染色体交叉长度与算法求解精度及运算速度之间的关系,选择合适的染色体交叉长度;
第九、选择变异策略,以使变异后的基因合法化
变异分为批次变异和机器变异,每次批次变异后工序基因和机器基因都需要重新解码形成新的染色体,以保证染色体的合法性;
第十、采用自适应遗传算法进行优化求解
按照公式(10)及式(11)的正弦自适应遗传算法进行优化,以提高算法的收敛速度及收敛精度,以保证算法搜索的全局性和精确性;
交叉概率:
变异概率:
式中fmax为当前种群中最大适应度值;favg为当前种群中平均适应度值;f′为两个待交叉个体中较大的适应度值;f为待变异个体的适应度值;pc1、pm1为系数,在(0,1)区间内取值;
第十一、解码
解码为编码的逆操作,由染色体的工序基因段得出各类工件每个批次的工序加工顺序,机器基因段得出其相应的加工机器,并且根据式(4)-(9)计算出每道工序的开始及结束时间。
2.根据权利要求1所述的一种大规模柔性作业车间调度优化方法,其特征在于:所述步骤第三中的三层编码方式具体为:在有两类工件,每个工件有两道工序情况下,第一层表示工件组批后形成的批次数量,采用整数编码Chrom(1,1)表示第1类工件分为2批;第二层表示工件工序的加工顺序,采用基于工件的编码方式,其中101表示第1类工件的第一个批次,
102表示第1类工件的第二个批次,101第一次出现在工序基因内表示其第一道工序,依次类推,工序基因表示的加工顺序为101→201→102→101→201→102;第三层表示工件工序加工所选择的机器,采用整数编码,Chrom(1,9)表示工件101的第一道工序在可选机器集Mij内选择第一台机器2。
3.根据权利要求1所述的一种大规模柔性作业车间调度优化方法,其特征在于:所述步骤第八中基于OBX的改进交叉算子的交叉步骤如下:在父代P1中随机选择选择待交叉基因,形成交叉基因池Pos(201,101,102),由于在Chrom2的批次基因用第一类工件批次为1,因此在Chrom2的工序基因中没有102工件,故从交叉基因池中删除102,最终用于交叉的基因有Pos(201,101);在父代P2中找到基因201,由于有多道工序所以在P2中会有多个201,则随机选择一个,然后删除P2中被选中的基因,交叉基因池中其他的基因同理,最后用P1用被选中的基因顺次填补P2中空缺的基因形成子代C2;而P1中则保留备选中的基因以及不能用于交叉的基因,然后用P2中剩余的基因并去除P1中没有的个体202即第二类工件的第二批工件依次填补P1中的空缺形成子代C1。
4.根据权利要求1所述的一种大规模柔性作业车间调度优化方法,其特征在于:所述步骤第八中合适的染色体长度的选择方式具体为:选择染色体长度的10%到100%进行交叉,并各自反复进行仿真运算求其平均值,然后求加权值汇总后,发现交叉长度在占染色体长度为10%时最优;为了找出更优的目标值,又选择染色体长度的10%到20%进行交叉,并反复仿真运算求其平均值,然后求加权值,发现选择染色体长度12%进行交叉可以获得更精确的解和提高运算速度,所以选择12%的交叉长度。
5.根据权利要求1所述的一种大规模柔性作业车间调度优化方法,其特征在于:所述步骤第十中按照正弦自适应遗传算法进行优化时,在优化过程的初始阶段选取较大的交叉率和变异率以获得较快的收敛速度且保持种群的多样性,经多次迭代后,为避免最优解被破坏,此时选取较小的交叉率和变异率进行细致搜索。