基于多目标自适应和声搜索算法的Flowshop生产调度方法及系统与流程

文档序号:16895085发布日期:2019-02-15 23:31阅读:263来源:国知局
基于多目标自适应和声搜索算法的Flowshop生产调度方法及系统与流程

本发明涉及数据处理技术领域,尤其涉及一种基于多目标自适应和声搜索算法的flowshop生产调度方法及系统。



背景技术:

多目标flowshop调度问题是很多企业生产线生产调度问题的简化模型,是研究在m个作业区上n个产品的流水加工过程的方法。其中每个产品在各作业区上的加工顺序相同,同时约定每个产品在每个作业区上只加工一次,每个作业区一次在某一时刻只能够加工一个产品,各产品在各作业区上的加工时间和准备时间已知,要求得到某调度方案使得某些指标最优的解决方法,广泛存在于流水作业的生产制造行业,如汽车制造、集成电路板生产环境中的测试等场景。

由于大多flowshop调度问题属于nphard问题,因此产生了各种各样的求解该问题的方法。例如,geem提出的和声搜索算法是一种启发式全局搜索算法,它将解向量类比为由n个乐器声调的和声,而将解向量中的变量类比为乐器,目标函数被看作为对和声的评价。首先,算法产生hms个初始解放入和声记忆库(harmonymemory)中,然后以概率hr在和声记忆库中搜索新解,以概率1-hr在和声记忆库外的变量可能值域中搜索新解;再以概率pr对新解进行微调扰动,如果新解的目标函数值好于和声记忆库中的最差解,则用新解替换之;如此不断迭代,直至达到规定的迭代次数时输出最优解。

但是上述和声搜索算法求解flowshop调度问题中,如果采用固定的和声记忆保留概率和音调调节概率,在解的多样性较好时,会使搜索速度变慢;而当解的多样性差时,易陷入局部最优。因此,用和声搜索算法求解flowshop调度问题时存在以下问题:

(1)收敛过慢、稳定性差及早熟等缺陷。

(2)新解不保证能落在可行域中,也不能保证让新解能较多地继承和声记忆库的整体特性。

(3)两个解的目标函数值大小若相等或相近,并不代表其解的构成也相等或相近,有时其解的构成会存在很大差异,拥挤度却不一定大。因此,在非支配排序算法中,通过解的目标函数值来计算多目标flowshop调度问题解的拥挤度也是不科学的。



技术实现要素:

针对现有技术中的缺陷,本发明提供了一种基于多目标自适应和声搜索算法的flowshop生产调度方法及系统,用于解决现有技术中和声搜索算法搜索速度慢,拥挤度设置不合理的问题。

第一方面,本发明实施例提供了一种基于多目标自适应和声搜索算法的flowshop生产调度方法,包括:

s1,设定和声搜索算法的基本参数,所述基本参数至少包括:解向量中变量的维数n、解向量中变量的取值范围、和声记忆库可保存的和声即解向量的个数hms、和声记忆保留概率hr的上界和下界、音调扰动调节概率pr的上界和下界和算法迭代的最大次数;

s2,随机生成hms个可行解存入和声记忆库中作为初始解;

s3,计算自适应的和声记忆保留概率hr和音调扰动调节概率pr;

s4,利用所述pr对所生成的部分新解进行扰动调节,以更新新解;

s5,将更新后的新解和初始解放入外部种群中,并进行非支配排序,得出各层pareto最优前沿,所述pareto最优前沿即最优解;

s6,计算各层最优解在外部种群中的拥挤度;

s7,根据最优解的非支配序和拥挤度选择出hms个解,更新和声记忆库,转到步骤s8;

s8,判断迭代终止条件,如果已满足,则停止迭代,输出pareto最优解集;否则,返回s3。

可选地,计算自适应的和声记忆保留概率hr和音调扰动调节概率pr包括:

获取预先设置的和声记忆保留概率hr公式hr=hrmin+(hrmax-hrmin)h/log2m和音调扰动调节概率pr公式pr=prmax-(prmax-prmin)h/log2m;其中,hrmax为允许的最大和声记忆保留概率,hrmin为允许的最小和声记忆保留概率;prmax为允许的最大音调调节概率,prmin为允许的最小音调调节概率;表示所有解的全部变量位的平均负熵,可用来评价和声记忆库中解的多样性,若和声记忆库中解的多样性好,则平均负熵的值就较大;若和声记忆库中的解趋于一致即多样性差,则平均负熵的值就较小;表示种群中解的第j位变量的负熵;m个表示和声记忆库中有m个解,每个解由n个变量组成;设gj表示m个解中的第j位变量值的集合,ρij表示第i个解第j位变量值在gj中的占有率;

利用和声记忆保留概率hr公式hr=hrmin+(hrmax-hrmin)h/log2m和音调扰动调节概率pr公式pr=prmax-(prmax-prmin)h/log2m分别获取和声记忆保留概率hr和音调扰动调节概率pr。

可选地,所述s4中生成新解包括:

s41,在解的第1个变量集合x1中随机地选取一个值赋给新解的第一个变量设i=1;

s42,产生一个随机数rand,若rand<hr,则:

①随机产生一个不小于1且不大于m的正整数m;

②取和声记忆库中的第m个解xm,查出所处的位置r;

③取第m个解xm中第r+1位的变量若在新解xnew的前i个变量中均没有出现过,则把变量赋给新解的第i+1个变量否则,查找最靠近位置r且在新解xnew的前i个变量中出均没有现过的变量,将其值赋给新解xnew的第i+1个变量若找不到满足条件的变量,则从n中任意取一个值且在新解的前i个变量中均未出现过的值赋给新解xnew的第i+1个变量

s43,令i=i+1;若i=n,则输出新解否则,返回s42。

可选地,所述s4中利用所述pr对所生成的部分新解进行扰动调节包括;

在所述部分新解的每个新解中随机指定的两个位置,互换两个位置的变量,得到扰动后的新解。

可选地,所述步骤s5包括:

s51,将外部种群p中的个体p依次与外部种群中的其它个体进行支配关系对比,统计支配个体p的个体数目,并计入np;将所有np为0的个体放入第1层非支配前沿f1中,将np不为0的个体放入集合sp中;设i=1;

s52,将集合sp中所有个体的np值减1,将所有np为0的个体转入第i+1层非支配前沿fi+1中;

s53,令k=i,i=i+1;判断fi是否为空,若fi为空,则输出前沿f1,f2,…,fk;否则,返回s52。

可选地,所述步骤s6包括:

假设外部种群有m个个体,每个个体即是一个解;每个个体由n个变量组成,设gj为m个个体的第j位变量的集合,ρij是第i个解第j位变量的值在gj中的比率,该个体在外部种群中的拥挤度为:

利用上述拥挤度公式计算每个个体的拥挤度;

根据每个个体的非支配序值和拥挤度值按如下规则选出m个个体以更新和声记忆库;

其中,所述规则包括:

①|f1|+|f2|+…+|fr|=m,则:选取f1,f2,f3,…,fr中的所有解;

②若|f1|+|f2|+…+|fr|<m,且|f1|+|f2|+…+|fr+1|>m,则在选取f1,f2,f3,…,fr中的所有的解后,再从fr+1中选择m-(|f1|+|f2|+…+|fr|)个拥挤度id较小的解。

第二方面,本发明实施例提供了一种基于多目标自适应和声搜索算法的flowshop生产调度系统,包括:

基本参数设定模块,用于设定和声搜索算法的基本参数,所述基本参数至少包括:解向量中变量的维数n、解向量中变量的取值范围、和声记忆库可保存的和声即解向量的个数hms、和声记忆保留概率hr的上界和下界、音调扰动调节概率pr的上界和下界和算法迭代的最大次数;

初始解生成模块,用于随机生成hms个可行解存入和声记忆库中作为初始解;

概率计算模块,用于计算自适应的和声记忆保留概率hr和音调扰动调节概率pr;

新解更新模块,用于利用所述pr对所生成的部分新解进行扰动调节,以更新新解;

最优解获取模块,用于将更新后的新解和初始解放入外部种群中,并进行非支配排序,得出各层pareto最优前沿,所述pareto最优前沿即最优解;

拥挤度获取模块,用于计算各层最优解在外部种群中的拥挤度;

记忆库更新模块,用于根据最优解的非支配序和拥挤度选择出hms个解,更新和声记忆库;

判断模块,用于判断迭代终止条件,如果已满足,则停止迭代,输出pareto最优解集;否则,返回触发概率计算模块。

由上述技术方案可知,本发明实施例中可以使用自适应和声记忆保留概率和音调调节概率代替传统和声搜索算法中的固定概率,使和声记忆保留概率和音调调节概率能够根据和声记忆库中解的多样性自动地调整,当和声记忆库中的解趋于一致时,自动减小和声记忆保留概率及增大音调调节概率,以增加和声记忆库中解的多样性,避免陷入局部最优;而当和声记忆库中解的多样性较好时,自动地加大和声记忆保留概率、减小音调调节概率,以保护和声记忆库中的优良解,加快算法的搜索速度。本发明提出了采用和声记忆库中所有解的全部变量位的平均信息熵来表示解的多样性好坏的方法,使得和声记忆库中解的多样性的衡量比传统的用解的适应度值来衡量更加准确。

本实施例中,根据flowshop调度的特点对新解的生成方法做了改进,提出了一种新解的生成策略,在选择一个值作为新解的变量时,判断在新解的已选变量中是否出现过,若已出现过,则选最靠近的且没有在新解的已选变量中出现过的变量,这样既保证了所生成的新解都能落在可行域中,又能让新解尽可能多地继承和声记忆库的整体特性。

本实施例中,基于信息熵的解的拥挤度计算方法可以个体(解)的基因构成方面更科学、准确地评价解在外部种群中的拥挤度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1为本发明实施例提供的一种基于多目标自适应和声搜索算法的flowshop生产调度方法的流程示意图;

图2为本发明实施例提供的基于多目标自适应和声搜索算法的flowshop生产调度系统的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明一实施例提供的一种基于多目标自适应和声搜索算法的flowshop生产调度方法,参见图1,一种基于多目标自适应和声搜索算法的flowshop生产调度方法包括步骤s1~s8,其中:

s1,设定和声搜索算法的基本参数,所述基本参数至少包括:解向量中变量的维数n、解向量中变量的取值范围、和声记忆库可保存的和声即解向量的个数hms、和声记忆保留概率hr的上界和下界、音调扰动调节概率pr的上界和下界和算法迭代的最大次数;

s2,随机生成hms个可行解存入和声记忆库中作为初始解;

s3,计算自适应的和声记忆保留概率hr和音调扰动调节概率pr;

s4,利用所述pr对所生成的部分新解进行扰动调节,以更新新解;

s5,将更新后的新解和初始解放入外部种群中,并进行非支配排序,得出各层pareto最优前沿,所述pareto最优前沿即最优解;

s6,计算各层最优解在外部种群中的拥挤度;

s7,根据最优解的非支配序和拥挤度选择出hms个解,更新和声记忆库,转到步骤s8;

s8,判断迭代终止条件,如果已满足,则停止迭代,输出pareto最优解集;否则,返回s3。

下面结合附图和实施例对本发明实施例提供的基于多目标自适应和声搜索算法的flowshop生产调度方法的各步骤作详细描述。

首先,介绍s1,设定和声搜索算法的基本参数的步骤。

本实施例中,设定和声搜索算法的基本参数。其中基本参数至少包括:解向量中变量的维数n、解向量中变量的取值范围、和声记忆库可保存的和声即解向量的个数hms、和声记忆保留概率hr的上界和下界、音调扰动调节概率pr的上界和下界和算法迭代的最大次数。

当然,技术人员还可以根据具体场景调整基本参数的数量和种类,同样可以实现本申请的方案,在此不作限定。

然后,介绍步骤s2,随机生成hms个可行解存入和声记忆库中作为初始解的步骤。

本实施例中,先对产品和作业区进行编码,例如将产品在第一作业区中加工时的批号全排列作为解的编码,一条染色体就代表第一作业区中的一个调度方案(即可行解),染色体共有n个基因,每个基因对应一个待加工的一批产品。后面各作业区的批加工顺序按先到先服务的规则确定。

初始和声记忆库中的解随机生成,即解向量中的每一个变量都是随机且不重复地从集合n中取出。

然后,本实施例中,随机生成hms个可行解存入和声记忆库中作为初始解:

其次,介绍s3,计算自适应的和声记忆保留概率hr和音调扰动调节概率pr的步骤。

本实施例中,为了改善和声搜索算法的性能,和声记忆保留概率及音调调节概率均采用自适应策略,和声记忆保留概率和音调调节概率能够根据和声记忆库中解的多样性自动地调整:

当和声记忆库中的解趋于一致时,自动减小和声记忆保留概率且增大音调调节概率,来增加和声记忆库中解的多样性,避免陷入局部最优。

当和声记忆库中的解多样性较好时,自动地加大和声记忆保留概率且减小音调调节概率,保护和声记忆库中的优良解。

为了更加准确地衡量解的多样性,本实施例中提出了一种基于负熵的自适应和声记忆保留概率和音调调节概率计算方法,包括:

定义1,假设和声记忆库中有m个解,每个解由n个变量组成,设gj是m个解中的第j位变量值的集合,ρij是第i个解第j位变量值在gj中的占有率,那么种群中解的第j位变量的负熵就为:

在和声记忆库中,所有解的全部变量位的平均负熵就为:

该平均负熵h即可用来评价和声记忆库中解的多样性,若和声记忆库中解的多样性好,则平均负熵的值就较大;若和声记忆库中的解趋于一致(多样性差)时,平均负熵的值就较小。

基于上述内容,本实施例中自适应的和声记忆保留概率和音调调节概率就可用以下公式来自动调整大小:

hr=hrmin+(hrmax-hrmin)h/log2m(3)

pr=prmax-(prmax-prmin)h/log2m(4)

其中,hrmax为允许的最大和声记忆保留概率,hrmin为允许的最小和声记忆保留概率;prmax为允许的最大音调调节概率,prmin为允许的最小音调调节概率。

因此,本实施例中可以根据公式(3)和公式(4)分别计算出和声记忆保留概率hr和音调扰动调节概率pr。

第四,介绍s4,利用所述pr对所生成的部分新解进行扰动调节,以更新新解的步骤。

本实施例中,先生成若干个新解,中变量可由两种机理产生:第一种是保留和声记忆库中的分量;第二种是随机选择产生。在产生新解后,再以pr对其中的某些分量进行扰动调节。

本实施例中,将和声记忆库中全部m个解的第i个变量集合记作传统的和声搜索算法中,新解的第i个变量从xi中选取任何一个值的概率是hr,而从和声记忆库外取值的概率是1-hr,

对于flowshop调度问题,传统方法存在的问题是不能确保生成的每次新解都在可行域中。

为了解决这个问题,本实施例中对和声搜索算法新解的生成方法做了改进,来确保所生成的新解都能落在可行域中,并且让新产生的解尽可能多地继承和声记忆库的整体特性,生成新解的策略包括:

s41,在解的第1个变量集合x1中任意地选取一个值赋给新解的第一个变量设i=1;

s42,产生一个随机数rand,若rand<hr,则:

①随机产生一个不小于1且不大于m的正整数m;

②取和声记忆库中的第m个解xm,查出所处的位置r;

③取第m个解xm中第r+1位的变量若在新解xnew的前i个变量中均没有出现过,则把变量赋给新解的第i+1个变量否则,查找最靠近位置r且在新解xnew的前i个变量中出均没有现过的变量,将其值赋给新解xnew的第i+1个变量若找不到满足条件的变量,则从n中任意取一个值且在新解的前i个变量中均未出现过的值赋给新解xnew的第i+1个变量

s43,令i=i+1;若i=n,则输出新解否则,返回s42。

第五,介绍s5,将更新后的新解和初始解放入外部种群中,并进行非支配排序,得出各层pareto最优前沿,所述pareto最优前沿即最优解的步骤。

本实施例中,将更新后的新解和初始解放入外部种群中,并进行非支配排序中进行非支配排序,包括:

s51,将外部种群p中的个体p依次与外部种群中的其它个体进行支配关系对比,统计支配个体p的个体数目,并计入np;将所有np为0的个体放入第1层非支配前沿f1中,将np不为0的个体放入集合sp中;设i=1;

s52,将集合sp中所有个体的np值减1,将所有np为0的个体转入第i+1层非支配前沿fi+1中;

s53,令k=i,i=i+1;判断fi是否为空,若fi为空,则输出前沿f1,f2,…,fk;否则,返回s52。

第六,介绍s6,计算各层最优解在外部种群中的拥挤度的步骤。

本实施例中,假设外部种群有m个个体,每个个体即是一个解;每个个体由n个变量组成,设gj为m个个体的第j位变量的集合,ρij是第i个解第j位变量的值在gj中的比率,该个体在外部种群中的拥挤度为:

利用上述拥挤度公式计算每个个体的拥挤度;

根据每个个体的非支配序值和拥挤度值按如下规则选出m个个体以更新和声记忆库;

其中,所述规则包括:

①若|f1|+|f2|+…+|fr|=m,则:选取f1,f2,f3,…,fr中的所有解;

②若|f1|+|f2|+…+|fr|<m,且|f1|+|f2|+…+|fr+1|>m,则在选取f1,f2,f3,…,fr中的所有的解后,再从fr+1中选择m-(|f1|+|f2|+…+|fr|)个拥挤度id较小的解。

第七,介绍s7,根据最优解的非支配序和拥挤度选择出hms个解,更新和声记忆库,转到步骤s8的步骤。

最后,介绍s8,判断迭代终止条件,如果已满足,则停止迭代,输出pareto最优解集;否则,返回s3的步骤。

至此,本实施例中,使用自适应和声记忆保留概率和音调调节概率代替传统和声搜索算法中的固定概率。使和声记忆保留概率和音调调节概率能够根据和声记忆库中解的多样性自动地调整,当和声记忆库中的解趋于一致时,自动减小和声记忆保留概率、增大音调调节概率,以增加和声记忆库中解的多样性,避免陷入局部最优;而当和声记忆库中解的多样性较好时,自动地加大和声记忆保留概率、减小音调调节概率,以保护和声记忆库中的优良解,加快算法的搜索速度。本发明提出了采用和声记忆库中所有解的全部变量位的平均信息熵来表示解的多样性好坏的方法,使得和声记忆库中解的多样性的衡量比传统的用解的适应度值来衡量更加准确。

2、按传统的和声搜索算法生成的新解不能保证都能落在可行域中。例如5个产品的加工,可能会生成新解(2,4,5,4,1),这样4号产品会被加工2次,而3号产品却被漏加工了,不满足flowshop调度的约束条件。本发明根据flowshop调度的特点对新解的生成方法做了改进,提出了一种新解的生成策略(详细步骤参看本发明的方案),在选择一个值作为新解的变量时,判断在新解的已选变量中是否出现过,若已出现过,则选最靠近的且没有在新解的已选变量中出现过的变量,这个策略既保证了所生成的新解都能落在可行域中,同时,还能让新解尽可能多地继承和声记忆库的整体特性。

3、在传统的非支配排序算法中,解的拥挤度是通过解的目标函数值来计算的,这也是不够科学的,因为2个基因构成差异很大的个体(解)的目标函数值也很有可能相等或相近,但他们的拥挤度却不一定大。本发明提出的一种基于信息熵的解的拥挤度计算方法可以个体(解)的基因构成方面更科学、准确地评价解在外部种群中的拥挤度,具体解的拥挤度计算方法参看本发明的方案。

图2为本发明一实施例提供的一种基于多目标自适应和声搜索算法的flowshop生产调度系统的框图。参见图2,一种基于多目标自适应和声搜索算法的flowshop生产调度系统包括:

基本参数设定模块201,用于设定和声搜索算法的基本参数,所述基本参数至少包括:解向量中变量的维数n、解向量中变量的取值范围、和声记忆库可保存的和声即解向量的个数hms、和声记忆保留概率hr的上界和下界、音调扰动调节概率pr的上界和下界和算法迭代的最大次数;

初始解生成模块202,用于随机生成hms个可行解存入和声记忆库中作为初始解;

概率计算模块203,用于计算自适应的和声记忆保留概率hr和音调扰动调节概率pr;

新解更新模块204,用于利用所述pr对所生成的部分新解进行扰动调节,以更新新解;

最优解获取模块205,用于将更新后的新解和初始解放入外部种群中,并进行非支配排序,得出各层pareto最优前沿,所述pareto最优前沿即最优解;

拥挤度获取模块206,用于计算各层最优解在外部种群中的拥挤度;

记忆库更新模块207,用于根据最优解的非支配序和拥挤度选择出hms个解,更新和声记忆库;

判断模块208,用于判断迭代终止条件,如果已满足,则停止迭代,输出pareto最优解集;否则,返回触发概率计算模块

需要说明的是,本发明实施例提供的基于多目标自适应和声搜索算法的flowshop生产调度系统与上述方法是一一对应的关系,上述方法的实施细节同样适用于上述装置,本发明实施例不再对上述系统进行详细说明。

本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1