1.基于改进鸡群算法获得工件加工最优调度的方法,其特征是,包括以下步骤:步骤1:对多目标柔性车间调度问题确定优化目标的评价指标:完工时间T、单台机器最大负荷Ws和所有机器总负荷W;
步骤2:建立优化目标函数;
最大完工时间:T=Min max{cijk};i∈J,j∈Ni,k∈M,单台机器最大负荷:
所有机器总负荷:
i为工件号,j为工序号,k为机器号,J为工件集,Ni为工件i的工序集,M为机器集,m为机器数,ni为工件i的总工序数,n为工件数;
cijk为工件i的j道工序在机器k上加工的完成时间;
tijk为工件i的j道工序在机器k上的处理时间;
Tk为机器k的总运行时间;
步骤3:确定调度优化过程的约束条件;
同一工件的工序优先约束:
机器约束:
完工时间约束:
cghk为工件g的h道工序在机器k上加工的完成时间,ci(j-1)p表示的是工件i的(j-1)道工序在机器p上的完成时间;
步骤4:设计Pareto改进鸡群算法;
在解决优化问题时,鸡群中的每个个体都对应优化问题的一个解;设RN、HN、CN和MN分别为公鸡、母鸡、小鸡和妈妈母鸡的个数;在整个鸡群中,所有的个体数假设为N,每个个体的位置xg,d(t)表示第g个体的d维在第t次迭代的值;
改进的鸡群算法中个体位置更新公式如下:
a.公鸡位置更新公式
xg,d(t+1)=xg,d(t)*(1+Randn(0,σ2))式中,Randn(0,σ2)为均值为0,标准差为σ2的一个高斯分布,ε为一个很小的常数,z为所有公鸡中除去g后的任一个体;
b.母鸡位置更新公式
式中,Rand为[0,1]之间均匀分布的随机数,r1为第g只母鸡所在群中的公鸡,r2为整个鸡群中公鸡和母鸡中随机选取的任意个体,且r1≠r2;fg为第g个公鸡的函数适应度值,fz为所有公鸡中除去g后的任一个体的函数适应度值,且z≠g,fr1为第g只母鸡所在群中的公鸡的适应度值,fr2为整个鸡群中公鸡和母鸡中随机选取的任意个体的适应度值,且r1≠r2,c.小鸡的位置更新公式xg,d(t+1)=w*xg,d(t)+FL*(xy,d(t)-xg,d(t))+C*(xr,d(t)-xg,d(t))式中,y为小鸡对应的妈妈母鸡,r为妈妈母鸡自身所在群中的公鸡,C为学习因子,表示小鸡向自身所在群中公鸡学习的程度,w为小鸡的自我学习系数,FL是一个(0,2)之间的随机参数;
步骤5:进行迭代运算,输出Pareto非支配解,再从中选择符合企业需要的最优解,并对其进行解码作为最终的调度方案;
所述Pareto改进鸡群算法求解步骤如下:
步骤5.1:采用混合分派规则初始化鸡群x,并定义相关参数RN、HN、CN、MN,采用快速非支配排序算法初始化Pareto非支配解集;
步骤5.2:计算鸡群的适应度值fitness,初始化个体当前最好位置pbest,随机选取Pareto非支配集中某个粒子作为全局最好粒子;在第一次执行本步骤时迭代次数t赋值为
1;
步骤5.3:如果t%G=1,排序fitness,建立鸡群的等级制度,将鸡群分为数个子群并确定母鸡和小鸡的对应关系;
G是指鸡群每隔G代更新一次种群支配关系,即公鸡、母鸡和小鸡的种群划分;%是数学运算符中的取余;
步骤5.4:更新公鸡的位置并分别计算每个个体的适应度值,更新母鸡的位置并分别计算每个个体的适应度值,更新小鸡的位置并分别计算每个个体的适应度值,采用Pareto支配程序更新粒子个体历史最好位置;
步骤5.5:采用Pareto支配程序更新Pareto非支配解集,并随机选取Pareto非支配解中任一对应个体作为全局最优粒子;
步骤5.6:迭代次数t加1,如果满足迭代停止条件,则停止迭代,输出最优值,否则转到步骤5.3。
2.如权利要求1所述的基于改进鸡群算法获得工件加工最优调度的方法, 其特征是,在描述改进的鸡群算法前先做如下假设:(1)整个鸡群中存在着若干子群,每个子群都由一个公鸡、若干母鸡和一些小鸡组成;
(2)鸡群中,适应度值最好的若干个体作为公鸡,并且每只公鸡都是一个子群的头目,具有最差适应度值的若干个体作为小鸡,剩余的个体作为母鸡;母鸡随机选择属于哪个子群,母鸡和小鸡的母子关系也是随机建立的;
(3)鸡群中的等级制度、支配关系和母子关系一旦建立了就保持不变,直至数代以后才更新;
(4)每个子群中的个体都围绕这个子群中的公鸡寻找食物,也可以阻止其它个体抢夺自己的食物;并且假设小鸡可以随机偷食其他个体已经发现的食物,每只小鸡跟随他们的母亲一起寻找食物。
3.如权利要求1所述的基于改进鸡群算法获得工件加工最优调度的方法,其特征是,采用Pareto改进鸡群算法求解多目标柔性作业车间调度,在编码时,每个粒子采用两行的编码方式,第一行表示加工工序,第二行表示工序对应的机器,粒子的总长度等于总工序数;
解码就是将粒子的每一维分量根据工艺约束和顺序约束,以最早允许的加工时间逐一进行加工,从而产生相应的调度方案,生成对应的调度甘特图;适应度值计算根据步骤2建立的3个目标函数,将对应的粒子从第一列到最后一列逐一解码得到机器时间向量和等待时间向量,然后根据机器时间向量和等待时间向量分别求出最大完工时间、最大机器负荷和所有机器的总负荷这3个目标函数值。