1.考虑支配工件和最小化能源消耗的智能协同调度方法,其特征在于,包括以下步骤:步骤1.执行单机不包含支配工件排序启发式算法,获得普通工件排序方案;对排序后的普通工件重新进行编号,在序列最后增加一位编号对应支配工件;
步骤2.通过整数编码的方式,对所有工件分配的机器进行编码;
步骤3.随机产生初始解,获得工件分配到机器上的初始分配方案;
步骤4.根据步骤3的分配结果,获得单个机器上加工的工件;根据支配工件所在的机器,将机器分为包含支配工件的单机与不包含支配工件的单机;
步骤5.设置最大迭代次数itmax,最大邻域结构数量umax;用Nu表示第u个邻域结构;获得初始解向量S={x1,x2,...,xi,...,xN+1},Nu(S)为邻域结构为u时搜索到的解向量;
步骤6.初始化参数it=1,u=1;
步骤7.震动,通过震动操作从当前解向量Nu(S)产生新的解S′;
步骤8.局部搜索,从当前邻域结构中获得新解S″;
步骤9.执行单机不包含支配工件与包含支配工件的两个启发式算法,获得解的适应度值f,如果f(S″)<f(S′),S′=S″,u=1,否则u=u+1;如果u≤umax,转到(8),否则转到(10);
步骤10.令it=it+1,如果f(S′)<f(S),S=S′,否则,S=S;如果it≤itmax,返回步骤7,否则,转到步骤11;
步骤11.输出找到的最好的。
2.根据权利要求1所述的考虑支配工件和最小化能源消耗的智能协同调度方法,其特征在于,假设在一个生产计划周期内,有N个普通工件和一个支配工件在M个机器上进行加工,所有工件包括支配工件有一个基础加工时间pj与恶化率bj,相对于普通工件,支配工件必须在释放时间tr之后开始加工,在截止日期d之前加工完成;
所述步骤1的具体方法为:
单机不包含支配工件排序启发式算法的具体过程为:步骤11:将普通工件按照pj/bj不减的次序进行排列;
步骤12:假设在该机器上加工的工件集为J={J1,J2,...,Jn},根据工件的实际加工时间 推导出该机器最后一个工件的完工时间为其中t0是机器的开工时间,Cn即为该机器总的加工时间;
单机包含支配工件启发式算法
步骤13.先将普通工件按照pj/bj不减的次序进行排列步骤14:通过单机不包含支配工件启发式算法计算每个普通工件的完工时间,依次为C1,C2,...,Cn,C1<C2<…<Cn;比较tr与各个完工时间的大小,找到释放时间tr所在的位置,假设在tr之前开始加工的最后一个工件Jf的完工时间为Cf,那么tr=Cf或tr<Cf。首先将支配工件从Cf开始依次插入,直到支配工件的完工时间超出截止日期d。如果支配工件从Cf开始加工,支配工件的完工时间超出截止时间d,那么支配工件的开工时间只能为tr,此时tr<Cf,Jf放在支配工件后加工;
步骤15.计算比较支配工件在不同位置时,该机器总的完工时间,输出最小的完工时间及调度方案。
3.根据权利要求2所述的考虑支配工件和最小化能源消耗的智能协同调度方法,其特征在于,所述步骤2的具体过程为:步骤21:首先将N个普通工件按照pj/bj不减的次序进行排列,并重新编号为J1,J2,...,JN;将支配工件放在所有普通工件的最后,并编号为JN+1;
步骤22:解向量S={x1,x2,...,xi,...,xN+1},由N+1个实数组成,分别对应着J1,J2,...,JN,JN+1;xi不超出M, 表示向上取整,取整后的整数即为工件i所分配的机器;
步骤23:通过针对单机不包含支配工件和单机包含支配工件的两个启发式算法分别找到最优与近似最优排序。
4.根据权利要求2所述的考虑支配工件和最小化能源消耗的智能协同调度方法,其特征在于,所述步骤5的具体过程为:针对解向量S={x1,x2,...,xi,...,xN+1}进行的邻域动作如下:(1)邻域结构一:多次交换,随机选择两个元素进行交换,直到满足终止条件。具体步骤如下:
步骤(11):令t=1;
步骤(12):随机生成1至 范围内的整数三次,分别为rand1,rand2,rand3;
步骤(13):令a=rand1,b=a+rand2,c=b+rand3;
步骤(14):令temp=xa,xa=xb;
步骤(15):令xb=xc,xc=temp,t=t+1;
步骤(16):如果t<tmax,返回步骤(12)否则,结束;
(2)邻域结构二:反转,随机选择一个子序列进行反转;具体的步骤如下:步骤(21):令a,b为1至N范围内的随机整数;
步骤(22):如果a=b,返回步骤(21),如果a>b,temp=a,b=a,a=temp,否则令m=b‑a+1,
步骤(23):i=0;
步骤(24):令temp=xa+i,xa+i=xb‑i,xb‑i=temp,i=i+1;
步骤(25):如果i<y,返回步骤(24),否则,结束;
(3)邻域结构三:前插,选择xN+1插入到{x1,x2,...,xN‑1}中任一元素前面;具体步骤如下:
步骤(31):随机产生1至N‑1之间的整数rand;
步骤(32):令i=rand,xi=xN+1;
步骤(33):xi+1=xi+1‑1;
步骤(34):如果i<N+1,重复步骤(33),否则结束;
(4)邻域结构四:后插,从{x1,x2,...,xN‑1}中随机选择一个元素插入到xN+1后面,具体步骤如下:
步骤(41):随机产生1至N‑1之间的整数rand;
步骤(42):令i=rand,xN+1=xi;
步骤(43):xi=xi+1
步骤(44):如果i<N+1,重复步骤(43),否则,结束。
5.考虑支配工件和最小化能源消耗的智能协同调度系统,其特征在于,包括:排序模块,执行单机不包含支配工件排序启发式算法,获得普通工件排序方案;对排序后的普通工件重新进行编号,在序列最后增加一位编号对应支配工件;
编码模块,通过整数编码的方式,对所有工件分配的机器进行编码;
初始解模块,随机产生初始解,获得工件分配到机器上的初始分配方案;
机器分类模块,根据初始解模块的分配结果,获得单个机器上加工的工件;根据支配工件所在的机器,将机器分为包含支配工件的单机与不包含支配工件的单机;
邻域计算模块,设置最大迭代次数itmax,最大邻域结构数量umax;用Nu表示第u个邻域结构;获得初始解向量S={x1,x2,...,xi,...,xN+1},Nu(S)为邻域结构为u时搜索到的解向量;
初始化模块,初始化参数it=1,u=1;
震动模块,通过震动操作从当前解向量Nu(S)产生新的解S′;
局部搜索模块,从当前邻域结构中获得新解S″;
适应度值计算模块,执行单机不包含支配工件与包含支配工件的两个启发式算法,获得解的适应度值f,如果f(S″)<f(S′),S′=S″,u=1,否则u=u+1;如果u≤umax,转到(8),否则转到(10);
判断模块,令it=it+1,如果f(S′)<f(S),S=S′,否则,S=S;如果it≤itmax,返回震动模块,否则,转到结果输出模块;
结果输出模块,输出找到的最好的。
6.根据权利要求5所述的考虑支配工件和最小化能源消耗的智能协同调度系统,其特征在于,假设在一个生产计划周期内,有N个普通工件和一个支配工件在M个机器上进行加工,所有工件包括支配工件有一个基础加工时间pj与恶化率bj,相对于普通工件,支配工件必须在释放时间tr之后开始加工,在截止日期d之前加工完成;
所述排序模块的具体执行过程为:
单机不包含支配工件排序启发式算法的具体过程为:步骤11:将普通工件按照pj/bj不减的次序进行排列;
步骤12:假设在该机器上加工的工件集为J={J1,J2,...,Jn},根据工件的实际加工时间 推导出该机器最后一个工件的完工时间为其中t0是机器的开工时间,Cn即为该机器总的加工时间;
单机包含支配工件启发式算法
步骤13.先将普通工件按照pj/bj不减的次序进行排列步骤14:通过单机不包含支配工件启发式算法计算每个普通工件的完工时间,依次为C1,C2,...,Cn,C1<C2<…<Cn;比较tr与各个完工时间的大小,找到释放时间tr所在的位置,假设在tr之前开始加工的最后一个工件Jf的完工时间为Cf,那么tr=Cf或tr<Cf。首先将支配工件从Cf开始依次插入,直到支配工件的完工时间超出截止日期d。如果支配工件从Cf开始加工,支配工件的完工时间超出截止时间d,那么支配工件的开工时间只能为tr,此时tr<Cf,Jf放在支配工件后加工;
步骤15.计算比较支配工件在不同位置时,该机器总的完工时间,输出最小的完工时间及调度方案。
7.根据权利要求6所述的考虑支配工件和最小化能源消耗的智能协同调度系统,其特征在于,所述编码模块的具体执行过程为:步骤21:首先将N个普通工件按照pj/bj不减的次序进行排列,并重新编号为J1,J2,...,JN;将支配工件放在所有普通工件的最后,并编号为JN+1;
步骤22:解向量S={x1,x2,...,xi,...,xN+1},由N+1个实数组成,分别对应着J1,J2,...,JN,JN+1;xi不超出M, 表示向上取整,取整后的整数即为工件i所分配的机器;
步骤23:通过针对单机不包含支配工件和单机包含支配工件的两个启发式算法分别找到最优与近似最优排序。
8.根据权利要求6所述的考虑支配工件和最小化能源消耗的智能协同调度系统,其特征在于,所述步骤邻域计算模块的具体执行过程为:针对解向量S={x1,x2,...,xi,...,xN+1}进行的邻域动作如下:(1)邻域结构一:多次交换,随机选择两个元素进行交换,直到满足终止条件。具体步骤如下:
步骤(11):令t=1;
步骤(12):随机生成1至 范围内的整数三次,分别为rand1,rand2,rand3;
步骤(13):令a=rand1,b=a+rand2,c=b+rand3;
步骤(14):令temp=xa,xa=xb;
步骤(15):令xb=xc,xc=temp,t=t+1;
步骤(16):如果t<tmax,返回步骤(12)否则,结束;
(2)邻域结构二:反转,随机选择一个子序列进行反转;具体的步骤如下:步骤(21):令a,b为1至N范围内的随机整数;
步骤(22):如果a=b,返回步骤(21),如果a>b,temp=a,b=a,a=temp,否则令m=b‑a+1,
步骤(23):i=0;
步骤(24):令temp=xa+i,xa+i=xb‑i,xb‑i=temp,i=i+1;
步骤(25):如果i<y,返回步骤(24),否则,结束;
(3)邻域结构三:前插,选择xN+1插入到{x1,x2,...,xN‑1}中任一元素前面;具体步骤如下:
步骤(31):随机产生1至N‑1之间的整数rand;
步骤(32):令i=rand,xi=xN+1;
步骤(33):xi+1=xi+1‑1;
步骤(34):如果i<N+1,重复步骤(33),否则结束;
(4)邻域结构四:后插,从{x1,x2,...,xN‑1}中随机选择一个元素插入到xN+1后面,具体步骤如下:
步骤(41):随机产生1至N‑1之间的整数rand;
步骤(42):令i=rand,xN+1=xi;
步骤(43):xi=xi+1
步骤(44):如果i<N+1,重复步骤(43),否则,结束。
9.一种处理设备,其特征在于,包括至少一个处理器,以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至4任一所述的方法。