一种基于动态信息累计狮群最优柔性调度方法及系统
技术领域
本发明涉及一种基于动态信息累计狮群最优柔性调度方法,属于群智能优化
技术领域
。背景技术
生产调度问题广泛存在于工业生产领域,尤其是在各种制造企业中。工业生产的调度问题的研究主要集中在生产资源的使用和分配上。通常来说,针对不同类型和需求的生产加工任务,需要制定相应的生产调度方案和规划。制定方案通常有一个或多个优化目标作为依据,例如:生产时间,机器能耗,机器利用率等等。
随着科技水平和工业生产力的进步,调度问题变得越来越复杂化和规模化。从简单的置换流水线调度问题,到车间生产调度问题,再到柔性调度问题,乃至于各种特定限制条件和要求的调度问题都在不断地提出。而且生产车间调度问题已被证明是一种NP难题,找到它的最优解是很困难的。这对于这类问题的解决方法提出了很高的要求和严峻考验。
传统的数学规划算法由于计算复杂度高,鲁棒性较低,对调度问题的约束条件有高要求等原因,在解决大规模调度问题时常常很难获得令人满意的解决方案。
在这种情况下,狮群优化算法作为最新的群智能优化算法之一,也是一种元启发式算法,越来越受到工业生产调度领域的广泛关注。因为它具有高效性,智能性,通用性,鲁棒性好,适应性强的优点,所以渐渐成为解决调度问题的一种新的有效方法。它具有结构较为简单,收敛速度快,多样性好的优点,是一种比较优秀的优化算法。目前而言,狮群算法还存在一定的问题,如较易陷入局部极值等,还具有较大的改进空间和发展潜力。
发明内容
针对现有技术的不足,本发明提供了一种基于动态信息累计狮群最优柔性调度方法。通过在狮群算法的迭代更新机制中,增加了历史时序的累计信息,所采取措施有助于对于整个问题寻优空间进行彻底搜索,找到全局最优解,有效避开降低陷入局部最优的情况。
本发明还提供了一种基于动态信息累计狮群最优柔性调度系统。
术语解释:
1、群智能算法,是一种受自然生物群启发的新兴演化计算技术,灵感和理论来源是自然界的狮群相互协作,共同合作的捕猎过程。通过对狮子群体的组成成分和行为活动的观察分析,进而提出。
2、狮群种群,整个狮群在捕猎时分工明确,主要划分成狮王,母狮和幼狮三类群体。狮群优化算法的主要思想如下:从待寻优区域中的某一初始位置开始,其中具有最优目标函数值,也就是最佳适应度值的狮子确定为狮王,然后依据一定的比例,确定母狮,母狮相互配合寻优捕猎。如果发现比当前狮王位置更优的位置,该位置就会被狮王拥有。幼狮跟随母狮移动,学习捕猎,或在狮王附近活动、进食,成年后会被驱赶出狮群。整个狮群分工合作,按照自己的职责,不断重复搜寻,得出目标函数最优值。
3、种群个体,现假设一个优化问题f(x),它的解空间维度是D。狮群的种群数量为N。狮群的每一只狮子可以用一个D维的向量来表示。xi=(xi1,xi2,...,xiD),1≤i≤N。
本发明的技术方案为:
一种基于动态信息累计狮群最优柔性调度方法,包括步骤如下:
(1)以最高生产工时效益为目标,构建柔性车间调度的数学优化模型,确定优化目标为最大加工完成时间,确定先验参数,包括:工件数量n、机器数量m、加工工件编号和以及各自工序数量、加工机器编号和数量、每个工序的用时和对应机器编号;
(2)使用动态信息累计狮群算法优化数学优化模型;
初始化狮群算法种群,在种群个体和柔性调度方案之间建立映射关系;
在种群更新迭代过程中,加入个体最优信息累计因子和种群最优信息累计因子;在原来的基础上增加了两个自由度,进而增加了个体运动方向的多样性,可以彻底探索整个问题寻优空间。
最终输出狮子的最优位置和最优值,最优值便是优化后的最大加工完成时间,最优位置经过映射转换得到加工调度方案。
根据本发明优选的,步骤(1)中,柔性车间调度的数学优化模型为柔性车间调度模型,构建柔性车间调度模型,确定关键参数;
关键参数包括机器顺序矩阵M和加工时间矩阵T,机器顺序矩阵M中的任一元素Mi,j表示加工工件i的第j道工序的机器编号;加工时间矩阵T中的任一元素Ti,j为工件i的第j道工序需要的加工时间;机器顺序矩阵M和加工时间矩阵T两者均为n×m矩阵;
该柔性车间调度模型的优化目标函数如式(Ⅰ)所示:
式(Ⅰ)中,Cmax是加工完成时间,C(πi,k)代表编号为i的工件在编号为k的机器上的加工完毕时间;πi表示一个工件,i是它的编号,i=1,2,...,n;
C(πi,k)=max{C(πi-1,k),C(πi,k-1)}+p(πi,k),i=2,...,n;k=2,...,m,C(πi-1,k)是指编号为i-1的工件在编号为k的机器上的加工完毕时间,C(πi,k-1)是指编号为i的工件在编号为k-1的机器上的加工完毕时间;
该柔性车间调度模型的优化目为最小化加工完成时间:min{Cmax};
本方法中,将柔性车间调度中的机器设备选择和加工序列确定这两步合并为一步完成,这就需要以双层基因编码的方式确定种群个体。
柔性车间调度中,选择机器设备和确定加工序列:
以双层基因编码的方式确定种群个体,如式(Ⅱ)所示:
D=2×Np (Ⅱ)
式(Ⅱ)中,D是指种群个体维度,Np是指工件的工序总数;
在本发明中,加工工件和工序数量、加工机器数量、工序用时这些先验参数来自FJSP标准算例模型Brandimarte_MK系列。在实际生产中,则需要将待加工的工件依照工序时间先后进行步骤分解,一一确认。
根据本发明优选的,步骤(2)的具体实现过程包括:
A、初始化狮群种群,一个种群个体通过半活动解码算法映射为一种调度方案;
B、计算每个种群个体的适应度值,初始化种群个体最优和全局最优;
C、依照狮群算法的机制进行种群的更新迭代,在迭代计算中,加入了信息累计因子和动态调整学习方法。
根据本发明优选的,步骤A的具体实现过程包括:
定义一个种群个体Xi=[xi,1,xi,2,...,xi,n×m],为长度为n×m的实数串;
利用基于随机键编码的LOV(largest-order-value)规则实现从种群个体Xi=[xi,1,xi,2,...,xi,n×m]到离散加工排序πi={πi,1,πi,2,...,πi,n×m}的转化,具体是指:将Xi=[xi,1,xi,2,...,xi,n×m]按各个分量的数值大小升序排列进行标号,标号是1到n×m的整数,得到标号的中间序列令
采用半活动解码算法映射确定调度方案,具体包括步骤如下:
步骤1:定义计数变量j=1,和计数向量k(ω)=1,ω=1,2,...n,g(ω)=1,ω=1,2,...m;
步骤2:依据加工工件πj的当前加工工序k(πj),确定对应的机器编号
步骤3:比较加工工件πj的上一道工序k(πj)-1的完成时间t1和机器的上一个加工任务完成时间t2;若k(πj)=1,则t1=0;若则t2=0;
步骤4:
步骤5:令k(πj)=k(πj)+1,
步骤6:令j=j+1,若j≤n×m,转到步骤2,否则,结束。
根据本发明优选的,步骤B的具体实现过程包括:种群个体通过步骤A映射为一种调度方案,再根据式(Ⅰ)得到最大完成时间,也就是该种群个体的适应度值,将求取的该种群个体的适应度值即第一代狮群个体的适应度值初始化为每个种群个体最优,以所有种群个体最小的适应度值确定为全局最优。
根据本发明优选的,步骤C中,依照狮群算法的机制进行种群的更新迭代,更新迭代如式(Ⅲ)所示:
式(Ⅲ)中,代表狮王自身更新获得的子代全局最优个体,gk为第k代种群的全局最优个体,代表经历过k次迭代后第i个个体的历史最优位置,γ是依据正态分布产生的一个随机数;
动态调整学习方法是在狮子两两合作捕猎的过程中,通过权重因子的调整来加强较优个体的影响力,如式(Ⅳ)所示:
式(Ⅳ)中,K为(0,1)的削弱因子,起到削弱较差个体和增强优势个体的作用;代表公式更新后的狮子个体,是第i个狮子第k次迭代的历史最优位置,是除了第i个狮子之外的另一个母狮子的历史最优位置,扰动因子αf,它是迭代次数t的动态函数,随着t的增加而减小,而逐渐趋于零;
通过式(Ⅳ)中的判断条件动态调整和选择,是指:先比较和的适应值,在适应值较大的位置(即离最优值距离较远的位置)上添加削弱因子K,以削弱较差位置个体的影响权重,増强较优位置个体的影响权重;
信息累计因子包括个体信息累计因子和全局信息累计因子,个体信息累计因子Cp和全局信息累计因子Cg分别如式(Ⅴ)、式(Ⅵ)所示:
式(Ⅴ)、式(Ⅵ)中,pi指的是第i个个体的历史最优位置,pg是整个种群的全局最优位置,k是当前迭代次数;
加入了信息累计因子和动态调整学习方法后的更新迭代如式(Ⅶ)所示:
根据本发明优选的,步骤C的具体实现过程包括:
1)计算新种群个体的适应度值,更新个体最优值和全局最优值;是指:代表式(Ⅶ)更新后的狮子个体,是第i个狮子第k次迭代的历史最优位置,若:则令此为新的个体最优;若存在:pg k+1为新的全局最优。
2)根据新的个体最优值和全局最优值,更新个体信息累计因子和全局信息累计因子,是指:新的个体最优值pi和新的全局最优值pg,带入式(Ⅴ)、式(Ⅵ),计算新的Cp和Cg;
3)判断是否达到迭代停止条件,若是,进行步骤4);否则,返回步骤1);迭代次数达到预设最大值T;
4)输出优化后的调度方案和目标函数值(加工完成用时);是指:输出最后一次迭代得到的pg,通过半活动解码算法映射为一种调度方案,即优化后的调度方案,该调度方案的加工完成时间就是目标函数值。
一种基于动态信息累计狮群最优柔性调度系统,用于实现基于动态信息累计狮群最优柔性调度方法,包括数学优化模型构建单元及数学优化模型优化单元;所述数学优化模型构建单元用于实现所述步骤(1),所述数学优化模型优化单元用于实现所述步骤(2)。
本发明的有益效果是:
在处理相关柔性调度问题时,本发明使用了一种新型动态信息累计狮群优化算法,可以得到用时更短的调度方案,节省生产时间,提高了生产效率,同时该所提算法对不同类型的调度问题具有很好的适应性和鲁棒性。
附图说明
图1为本发明基于动态信息累计狮群最优柔性调度方法的流程示意框图;
具体实施方式
下面结合附图和实施例对本发明作进一步说明,但不限于此。
实施例1
一种基于动态信息累计狮群最优柔性调度方法,如图1所示,包括步骤如下:
(1)以最高生产工时效益为目标,构建柔性车间调度的数学优化模型,确定优化目标为最大加工完成时间,确定先验参数,包括:工件数量n、机器数量m、加工工件编号和以及各自工序数量、加工机器编号和数量、每个工序的用时和对应机器编号;
(2)使用动态信息累计狮群算法优化数学优化模型;
初始化狮群算法种群,在种群个体和柔性调度方案之间建立映射关系;
在种群更新迭代过程中,加入个体最优信息累计因子和种群最优信息累计因子;在原来的基础上增加了两个自由度,进而增加了个体运动方向的多样性,可以彻底探索整个问题寻优空间。
最终输出狮子的最优位置和最优值,最优值便是优化后的最大加工完成时间,最优位置经过映射转换得到加工调度方案。
实施例2
根据实施例1所述的一种基于动态信息累计狮群最优柔性调度方法,其区别在于:
步骤(1)中,柔性车间调度的数学优化模型为柔性车间调度模型,构建柔性车间调度模型,确定关键参数;
关键参数包括机器顺序矩阵M和加工时间矩阵T,机器顺序矩阵M中的任一元素Mi,j表示加工工件i的第j道工序的机器编号;加工时间矩阵T中的任一元素Ti,j为工件i的第j道工序需要的加工时间;机器顺序矩阵M和加工时间矩阵T两者均为n×m矩阵;
该柔性车间调度模型的优化目标函数如式(Ⅰ)所示:
式(Ⅰ)中,Cmax是加工完成时间,C(πi,k)代表编号为i的工件在编号为k的机器上的加工完毕时间;πi表示一个工件,i是它的编号,i=1,2,...,n;
C(πi,k)=max{C(πi-1,k),C(πi,k-1)}+p(πi,k),i=2,...,n;k=2,...,m,C(πi-1,k)是指编号为i-1的工件在编号为k的机器上的加工完毕时间,C(πi,k-1)是指编号为i的工件在编号为k-1的机器上的加工完毕时间;
该柔性车间调度模型的优化目为最小化加工完成时间:min{Cmax};
本方法中,将柔性车间调度中的机器设备选择和加工序列确定这两步合并为一步完成,这就需要以双层基因编码的方式确定种群个体。
柔性车间调度中,选择机器设备和确定加工序列:
以双层基因编码的方式确定种群个体,如式(Ⅱ)所示:
D=2×Np (Ⅱ)
式(Ⅱ)中,D是指种群个体维度,Np是指工件的工序总数;
在本发明中,加工工件和工序数量、加工机器数量、工序用时这些先验参数来自FJSP标准算例模型Brandimarte_MK系列。在实际生产中,则需要将待加工的工件依照工序时间先后进行步骤分解,一一确认。
步骤(2)的具体实现过程包括:
A、初始化狮群种群,一个种群个体通过半活动解码算法映射为一种调度方案;
B、计算每个种群个体的适应度值,初始化种群个体最优和全局最优;
C、依照狮群算法的机制进行种群的更新迭代,在迭代计算中,加入了信息累计因子和动态调整学习方法。
步骤A的具体实现过程包括:
定义一个种群个体Xi=[xi,1,xi,2,...,xi,n×m],为长度为n×m的实数串;
利用基于随机键编码的LOV(largest-order-value)规则实现从种群个体Xi=[xi,1,xi,2,...,xi,n×m]到离散加工排序πi={πi,1,πi,2,...,πi,n×m}的转化,具体是指:将Xi=[xi,1,xi,2,...,xi,n×m]按各个分量的数值大小升序排列进行标号,标号是1到n×m的整数,得到标号的中间序列令
采用半活动解码算法映射确定调度方案,具体包括步骤如下:
步骤1:定义计数变量j=1,和计数向量k(ω)=1,ω=1,2,...n,g(ω)=1,ω=1,2,...m;
步骤2:依据加工工件πj的当前加工工序k(πj),确定对应的机器编号
步骤3:比较加工工件πj的上一道工序k(πj)-1的完成时间t1和机器的上一个加工任务完成时间t2;若k(πj)=1,则t1=0;若则t2=0;
步骤4:
步骤5:令k(πj)=k(πj)+1,
步骤6:令j=j+1,若j≤n×m,转到步骤2,否则,结束。
步骤B的具体实现过程包括:种群个体通过步骤A映射为一种调度方案,再根据式(Ⅰ)得到最大完成时间,也就是该种群个体的适应度值,将求取的该种群个体的适应度值即第一代狮群个体的适应度值初始化为每个种群个体最优,以所有种群个体最小的适应度值确定为全局最优。
步骤C中,依照狮群算法的机制进行种群的更新迭代,更新迭代如式(Ⅲ)所示:
式(Ⅲ)中,代表狮王自身更新获得的子代全局最优个体,gk为第k代种群的全局最优个体,代表经历过k次迭代后第i个个体的历史最优位置,γ是依据正态分布产生的一个随机数;
动态调整学习方法是在狮子两两合作捕猎的过程中,通过权重因子的调整来加强较优个体的影响力,如式(Ⅳ)所示:
式(Ⅳ)中,K为(0,1)的削弱因子,起到削弱较差个体和增强优势个体的作用;代表公式更新后的狮子个体,是第i个狮子第k次迭代的历史最优位置,是除了第i个狮子之外的另一个母狮子的历史最优位置,扰动因子αf,它是迭代次数t的动态函数,随着t的增加而减小,而逐渐趋于零;
通过式(Ⅳ)中的判断条件动态调整和选择,是指:先比较和的适应值,在适应值较大的位置(即离最优值距离较远的位置)上添加削弱因子K,以削弱较差位置个体的影响权重,増强较优位置个体的影响权重;
信息累计因子包括个体信息累计因子和全局信息累计因子,个体信息累计因子Cp和全局信息累计因子Cg分别如式(Ⅴ)、式(Ⅵ)所示:
式(Ⅴ)、式(Ⅵ)中,pi指的是第i个个体的历史最优位置,pg是整个种群的全局最优位置,k是当前迭代次数;
加入了信息累计因子和动态调整学习方法后的更新迭代如式(Ⅶ)所示:
步骤C的具体实现过程包括:
1)计算新种群个体的适应度值,更新个体最优值和全局最优值;是指:代表式(Ⅶ)更新后的狮子个体,是第i个狮子第k次迭代的历史最优位置,若:则令此为新的个体最优;若存在:pg k+1为新的全局最优。
2)根据新的个体最优值和全局最优值,更新个体信息累计因子和全局信息累计因子,是指:新的个体最优值pi和新的全局最优值pg,带入式(Ⅴ)、式(Ⅵ),计算新的Cp和Cg;
3)判断是否达到迭代停止条件,若是,进行步骤4);否则,返回步骤1);迭代次数达到预设最大值T;
4)输出优化后的调度方案和目标函数值(加工完成用时);是指:输出最后一次迭代得到的pg,通过半活动解码算法映射为一种调度方案,即优化后的调度方案,该调度方案的加工完成时间就是目标函数值。
表1在mk系列的三个标准算例上对比了传统规划算法和基于动态信息累计狮群最优柔性调度方法的优化结果。表格统计了20次重复实验的测试数据,并进行分析。
表1
结果表明,在这些算例模型上,本发明的方法对比传统算法,在各项性能上均有所提高。说明基于动态信息累计狮群最优柔性调度方法在处理该类调度问题上具有优越性。
实施例3
一种基于动态信息累计狮群最优柔性调度系统,用于实现实施例1或2所述的基于动态信息累计狮群最优柔性调度方法,包括数学优化模型构建单元及数学优化模型优化单元;数学优化模型构建单元用于实现步骤(1),数学优化模型优化单元用于实现步骤(2)。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种司机动机判断方法