基于改进EDA的高端装备研发制造协同调度方法及系统与流程

文档序号:16632381发布日期:2019-01-16 06:41阅读:367来源:国知局
基于改进EDA的高端装备研发制造协同调度方法及系统与流程

本发明涉及制造和调度领域,具体涉及一种基于改进eda的高端装备研发制造协同调度方法及系统。



背景技术:

两阶段混合流水车间是一类典型的调度问题,存在于医疗、钢铁、汽车等行业。例如,在一类特定的半导体加工流水车间中,工件需要经过锻压和焊造两阶段的处理。在每个阶段中,工件成批的进行加工,即在满足机器容量的限制下,一台机器可以处理多个工件。工件必须首先在第一阶段上的机器上进行加工,然后才能在第二阶段的机器上进行加工。这类经典的混合流水车间问题将平行机与流水车间结合起来,可以有效地提高流水车间的工作效率,进一步提高企业的加工水平,降低企业运营的成本。考虑到人工操作的实际情况,随着时间的推移,工件的加工时间会呈现出恶化的趋势。恶化情形下,越靠后的位置加工,工件的加工时间会越长。此外,在实际的流水车间情形中,工件呈现出尺寸上的差异性。因此,对恶化效应情形下考虑混合流水车间平行机批调度问题进行研究具有很强的现实意义。由于混合流水车间调度问题是一类典型的np难问题,在以往的研究中,智能算法被广泛应用于解决流水车间调度问题

在以往调度问题的研究中,工件加工时间一般被假设为固定并已知的,但考虑到实际的生产环境,工件的加工时间往往会呈现出随着时间而延长的趋势。近年来已有文献开始研究具有恶化效应的调度问题,但通过文献的查找,没有发现同时考虑恶化效应,两阶段混合流水车间平行批加工和差异化工件的调度模型。而这类调度模型在现实的生产环境中实际存在,且解决该类调度问题是提升企业调度效率、降低企业生产成本的关键。除此之外,在方法上,分布估计算法更关注于全局搜索而其局部搜索的能力往往有限,而一个有效的分布估计算法应实现全局搜索和局部搜索间的平衡。因此,在充分分析调度模型的基础上,针对性地提出优化策略、局部搜索步骤对于改进分布估计算法以求解调度模型、得出理想调度方案十分有必要。



技术实现要素:

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种基于改进eda的高端装备研发制造协同调度方法及系统,解决了恶化效应情形下的两阶段混合流水车间平行批处理机差异化工件调度问题,提高了生产效率,降低了生产成本。

(二)技术方案

为实现以上目的,本发明通过以下技术方案予以实现:

第一方面,本发明实施例提供了一种基于改进eda的高端装备研发制造协同调度方法,所述方法包括如下步骤:

获取工件数量、每个工件的容量、每个工件的加工时间、每台机器的每个加工批次的恶化因子、每个工件的恶化因子、每台机器的每个加工批次的容量、每台机器的每个加工批次加工时间、机器的数量、每台机器的容量;

设置迭代的代数、种群规模、每代迭代的次数、交叉概率、变异概率以及全局最优解;

根据工件数量和机器的数量,确定生成小数的数量,并根据生成小数的数量生成对应个数的小数;

根据机器的数量,确定需要获取的小数的数量,并根据需要获取的小数的数量,从生成的小数中获取最大的对应个数的小数;

根据获取的小数,为每台机器分配工件;

根据每个工件的加工时间、每个加工批次的加工时间、每个工件的恶化因子、每个工件的容量、每台机器的每个加工批次的容量以及每个加工批次在每台机器中的位置,确定每台机器的每个加工批次需要加工的工件;

根据每台机器的每个加工批次的加工时间和每台机器的每个加工批次的恶化因子,将每台机器中的加工批次进行排序;

根据每台机器的每个加工批次需要加工的工件以及种群规模,生成初始种群;

根据每台机器中的每个加工批次需要加工的工件,确定概率矩阵,并根据所述概率矩阵,更新当前种群;计算改进后的种群中每个个体的适应度值,并保留适应度值大于第一预定数值的个体;

根据交叉概率和变异概率,运用差分进化算法中的交叉变异操作更新每个个体,并保留适应度值大于第二预定数值的个体;

更新当前种群的全局最优解,并根据迭代的代数和、每代迭代的次数判断迭代终止条件是否满足,若是则返回生成初始种群的步骤,否则输出当前得到全局最优解。

进一步地,在将每台机器中的加工批次进行排序之后,还包括如下步骤:

根据每台机器中的每个加工批次需要加工的工件,计算每台机器的制造时间跨度。

进一步地,所述方法利用如下步骤确定每台机器的每个加工批次需要加工的工件:

获取当前加工批次需要加工的工件中的一个工件,放入当前加工批次中;

对于当前加工批次需要加工的其他工件,选取满足如下公式的工件,并放入当前加工批次中;

sy≤c-sx

式中,r表示当前加工批次在当前机器中的位置、sy表示工件的容量,sx表示当前加工批次已经占用的容量,px表示当前加工批次的加工时间,py表示工件的加工时间,ax表示当前交加工批次中工件的恶化因子的最大值,ay表示工件的恶化因子,c表示当前机器的容量。

进一步地,所述方法利用如下步骤确定概率矩阵,并更新当前种群:

概率矩阵中的元素pij(l)代表第l代的第j个个体的第i个位置上出现flag的概率,若当前位置出现flag则赋值为否则赋值为0;

根据下式对当前概率矩阵进行更新操作:

式中,α∈(0,1)是概率矩阵的学习指数,代表在第i个位置前出现flag的次数,sp_size表示适应度值大于预定适应度的种群的个数;

根据概率矩阵更新种群中的每个个体。

进一步地,所述根据概率矩阵更新种群中的每个个体,包括:

生成一个属于预定数值区间内的小数,若这个小数大于当前位置上的概率,则设置当前位置为flag,否则将这个随机小数赋值给当前位置;

若生成的新个体适应度值大于之前的适应度值,则保留新个体,否则,执行交叉变异操作。

进一步地,所述根据交叉概率和变异概率,运用差分进化算法中的交叉变异操作更新每个个体,并保留适应度值大于第二预定数值的个体,包括:

计算当前种群中每个个体的适应度值并对其排序;

根据预定概率p,从当前种群的前100p%个个体中选取一个个体

从当前种群中,选择除个体i的另外两个个体,并记为

利用下式对当前个体进行变异操作,得到新的个体记作

对当前个体的第j个位置进行交叉操作:生成一个随机数randb(j),如果该随机数大于cr,则将变异后第j个位置上的值赋给当前个体对应位置的值;否则,则保留变异前第j个位置的值;

计算交叉变异操作后的当前个体适应度值,若适应度值优于之前个体适应度值,则保留交叉变异后个体进入下一代种群,否则,保留之前个体进入下一代种群。

第二方面,本发明实施例提供了一种基于改进eda的高端装备研发制造协同调度系统,所述系统包括:

信息获取模块,用于获取工件数量、每个工件的容量、每个工件的加工时间、每台机器的每个加工批次的恶化因子、每个工件的恶化因子、每台机器的每个加工批次的容量、每台机器的每个加工批次加工时间、机器的数量、每台机器的容量;

设置模块,用于设置迭代的代数、种群规模、每代迭代的次数、交叉概率、变异概率以及全局最优解;

小数生成处理模块,用于根据工件数量和机器的数量,确定生成小数的数量,根据生成小数的数量生成对应个数的小数;根据机器的数量,确定需要获取的小数的数量,根据需要获取的小数的数量,从生成的小数中获取最大的对应个数的小数;

工件分配模块,用于根据获取的小数,为每台机器分配工件;

批次确定模块,用于根据每个工件的加工时间、每个加工批次的加工时间、每个工件的恶化因子、每个工件的容量、每台机器的每个加工批次的已经占用的容量、每台机器的容量以及每个加工批次在每台机器中的位置,确定每台机器的每个加工批次需要加工的工件;

批次排序模块,用于根据每台机器的每个加工批次的加工时间和每台机器的每个加工批次的恶化因子,将每台机器中的加工批次进行排序;

初始化模块,用于根据每台机器的每个加工批次需要加工的工件以及种群规模,生成初始种群;

概率更新模块,用于根据每台机器中的每个加工批次需要加工的工件,确定概率矩阵,并根据所述概率矩阵,更新当前种群;计算改进后的种群中每个个体的适应度值,并保留适应度值大于第一预定数值的个体;

个体更新模块,用于根据交叉概率和变异概率,运用差分进化算法中的交叉变异操作更新每个个体,并保留适应度值大于第二预定数值的个体;

最优输出模块,用于更新当前种群的全局最优解,并根据迭代的代数和、每代迭代的次数判断迭代终止条件是否满足,若是则返回生成初始种群的步骤,否则输出当前得到全局最优解。

进一步地,所述批次确定模块具体用于:

获取当前加工批次需要加工的工件中的一个工件,放入当前加工批次中;

对于当前加工批次需要加工的其他工件,选取满足如下公式的工件,并放入当前加工批次中;

sy≤c-sx

式中,r表示当前加工批次在当前机器中的位置、sy表示工件的容量,sx表示当前加工批次已经占用的容量,px表示当前加工批次的加工时间,py表示工件的加工时间,ax表示当前交加工批次中工件的恶化因子的最大值,ay表示工件的恶化因子,c表示当前机器的容量。

进一步地,所述概率更新模块具体用于:

概率矩阵中的元素pij(l)代表第l代的第j个个体的第i个位置上出现flag的概率,若当前位置出现flag则赋值为否则赋值为0;

根据下式对当前概率矩阵进行更新操作:

式中,α∈(0,1)是概率矩阵的学习指数,代表在第i个位置前出现flag的次数,sp_size表示适应度值大于预定适应度的种群的个数;

根据概率矩阵更新种群中的每个个体。

进一步地,所个体更新模块具体用于:

计算当前种群中每个个体的适应度值并对其排序;

根据预定概率p,从当前种群的前100p%个个体中选取一个个体

从当前种群中,选择除个体i的另外两个个体,并记为

利用下式对当前个体进行变异操作,得到新的个体记作

对当前个体的第j个位置进行交叉操作:生成一个随机数randb(j),如果该随机数大于cr,则将变异后第j个位置上的值赋给当前个体对应位置的值;否则,则保留变异前第j个位置的值;

计算交叉变异操作后的当前个体适应度值,若适应度值优于之前个体适应度值,则保留交叉变异后个体进入下一代种群,否则,保留之前个体进入下一代种群。

(三)有益效果

本发明实施例提供了一种基于改进eda的高端装备研发制造协同调度方法及系统。具备以下有益效果:

本发明实施例首先根据工件数量、机器的数量、每个工件的加工时间、每个加工批次的加工时间、每个工件的恶化因子、每个工件的容量、每台机器的每个加工批次的容量以及每个加工批次在每台机器中的位置,确定每台机器的每个加工批次需要加工的工件,之后根据每台机器的每个加工批次的加工时间和每台机器的每个加工批次的恶化因子,将每台机器中的加工批次进行排序,之后更新概率矩阵,并根据更新后的概率矩阵,更新当前种群;最后更新当前种群的全局最优解,并根据迭代的代数和、每代迭代的次数判断迭代终止条件是否满足,若是则返回生成初始种群的步骤,否则输出当前得到全局最优解。上述技术方案解决了恶化效应情形下的两阶段混合流水车间平行批处理机差异化工件调度问题,能够确定每个工件分配至第一阶段具体的机器,该机器上的工件的组批方式,批的加工顺序,以最小化制造跨度。上述技术方案为实际企业生产调度提供新方法,提高了生产效率,降低了生产成本。

附图说明

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

图1示意性的示出了本发明一实施例的基于改进eda的高端装备研发制造协同调度方法的流程图;

图2示意性的示出了本发明另一实施例的基于改进eda的高端装备研发制造协同调度方法的流程图。

图3示意性的示出了本发明一实施例的基于改进eda的高端装备研发制造协同调度系统的结构示意图。

具体实施方式

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

一种基于改进eda的高端装备研发制造协同调度方法,如图1所示,所述方法包括如下步骤:

100、获取工件数量、每个工件的容量、每个工件的加工时间、每台机器的每个加工批次的恶化因子、每个工件的恶化因子、每台机器的每个加工批次的容量、每台机器的每个加工批次加工时间、机器的数量、每台机器的容量。

110、设置迭代的代数、种群规模、每代迭代的次数、交叉概率、变异概率以及全局最优解;根据工件数量和机器的数量,确定生成小数的数量,并根据生成小数的数量生成对应个数的小数;根据机器的数量,确定需要获取的小数的数量,并根据需要获取的小数的数量,从生成的小数中获取最大的对应个数的小数;根据获取的小数,为每台机器分配工件。

120、根据每个工件的加工时间、每个加工批次的加工时间、每个工件的恶化因子、每个工件的容量、每台机器的每个加工批次的已占用容量、每台机器的容量以及每个加工批次在每台机器中的位置,确定每台机器的每个加工批次需要加工的工件。

具体地,这里可利用如下子步骤实现步骤120:

1201、获取当前加工批次需要加工的工件中的一个工件,放入当前加工批次中。

1202、对于当前加工批次需要加工的其他工件,选取满足如下公式的工件,并放入当前加工批次中。

sy≤c-sx

式中,r表示当前加工批次在当前机器中的位置、sy表示工件的容量,sx表示当前加工批次已经占用的容量,px表示当前加工批次的加工时间,py表示工件的加工时间,ax表示当前交加工批次中工件的恶化因子的最大值,ay表示工件的恶化因子,c表示当前机器的容量。

130、根据每台机器的每个加工批次的加工时间和每台机器的每个加工批次的恶化因子,将每台机器中的加工批次进行排序。

应当说明的是,以上机器均是指第一个处理阶段中的机器。

140、根据每台机器的每个加工批次需要加工的工件以及种群规模,生成初始种群。

这里,结合编码、解码方式,随机生成初始种群pop,获得popnum个初始解。

150、根据每台机器中的每个加工批次需要加工的工件,确定概率矩阵,并根据所述概率矩阵,更新当前种群;计算改进后的种群中每个个体的适应度值,并保留适应度值大于第一预定数值的个体。

具体地,这里可以利用如下子步骤实现:

1501、概率矩阵中的元素pij(l)代表第l代的第j个个体的第i个位置上出现flag的概率,若当前位置出现flag则赋值为否则赋值为0。

1502、根据下式对当前概率矩阵进行更新操作:

式中,α∈(0,1)是概率矩阵的学习指数,代表在第i个位置前出现flag的次数,sp_size表示适应度值大于预定适应度的种群的个数。

1503、根据概率矩阵更新种群中的每个个体。

进一步地,可以利用如下子步骤实现步骤1503:

15031、生成一个属于预定数值区间内的小数,若这个小数大于当前位置上的概率,则设置当前位置为flag,否则将这个随机小数赋值给当前位置。

15032、若生成的新个体适应度值大于之前的适应度值,则保留新个体,否则,执行交叉变异操作。

160、根据交叉概率和变异概率,运用差分进化算法中的交叉变异操作更新每个个体,并保留适应度值大于第二预定数值的个体。

具体地,可以利用如下步骤实现步骤160:

1601、计算当前种群中每个个体的适应度值并对其排序。

1602、根据预定概率p,从当前种群的前100p%个个体中选取一个个体

1603、从当前种群中,选择除个体i的另外两个个体,并记为

1604、利用下式对当前个体进行变异操作,得到新的个体记作

1605、对当前个体的第j个位置进行交叉操作:生成一个随机数randb(j),如果该随机数大于cr,则将变异后第j个位置上的值赋给当前个体对应位置的值;否则,则保留变异前第j个位置的值。

1606、计算交叉变异操作后的当前个体适应度值,若适应度值优于之前个体适应度值,则保留交叉变异后个体进入下一代种群,否则,保留之前个体进入下一代种群。

170、更新当前种群的全局最优解,并根据迭代的代数和、每代迭代的次数判断迭代终止条件是否满足,若是则返回生成初始种群的步骤,否则输出当前得到全局最优解。

进一步地,在将每台机器中的加工批次进行排序之后面,即步骤130之后,还可以包括如下步骤:

根据每台机器中的每个加工批次需要加工的工件,计算每台机器的制造时间跨度。

传统的分布估计算法中的局部搜索能力较低,本实施例采用了基于差分进化算法的局部搜索策略,提高了分布估计算法的收敛速度以及最优解的质量。本实施例提出了恶化情形下差异化工件组批算法,并设计了能够最大化每个机器生产效率的调度算法,能够保证充分利用每个机器的生产能力,在每个机器上实现加工进度的优化。

下面,通过一个具体的实施例对本发明的基于改进eda的高端装备研发制造协同调度方法进行详细说明。如图2所述,本实施例的基于改进eda的高端装备研发制造协同调度方法包括如下步骤:

200、初始化种群和算法参数。

这里,初始化种群包括初始化中种群的最优解。

这里,初始化算法的输入参数,包括工件数量n,生产加工工件的集合为j={j1,j2,…,jn},工件在第l个阶段的普通加工时间pjl,工件的恶化因子aj,工件尺寸sj。每个工件都要依次经过两道工序,即阶段,当上一道工序未加工完成时,下一道工序不能开始加工。两道工序上的加工机器均为平行批处理同类机,数量分别为m1和m2。

在加工过程中,每个工件在同一时刻只能由一台平行批处理机,即上述的机器进行加工。平行批处理机的容量均为c,工件在加工时可自由进行组批并在处理机上以平行批的形式加工,规定每个批中工件尺寸之和不能超过机器容量c。

这里的算法是指混合分布估计差分进化算法,算法参数是指混合分布估计差分进化算法的执行参数,包括最大迭代代数itnum,种群规模popnum,算法每代迭代次数runnum,差分进化算法中的交叉概率cr和变异概率f,算法初始解全局最优解xbest=xs,当前迭代次数t=1。

210、选择较优种群构建概率矩阵。

在构建概率矩阵之前,需要为每台机器的每个批次分配工件,并对批次进行排序,具体包括如下步骤:

步骤1、给定一个有n+m1-1个随机小数的序列,对应于n个工件和m1-1个flag。取其中最大的m1-1个小数作为flag,{flag0,flag1,…,工件序列的第1个至第flag0的工件放至第1台机器,第flag0+1个工件至第flag1个工件放至第2台机器,…,直到所有的工件分配到机器上。在第一阶段的每台机器上,工件按照其普通加工时间的非降序顺序进行排列。

步骤2、在第一阶段的每台机器上,按照如下组批规则将分配至机器的工件进行组批:

(1)从当前工件序列中取出第一个工件放入第一个批b1中,计算当前批的完工时间。

(2)从未分配批次的剩余工件集合中选择满足如下式子的工件jy放入当前批bx中,其中,r为当前批次bx在机器上的位置,即为第几个批次;sy和sx为工件jy的容量和当前批次的已占用容量;px和py为当前批次和工件jy的普通加工时间;ax和ay为当前批次的最大恶化因子和工件jy的恶化因子,并将已分配批次的工件从剩余工件集合中删除。若满足条件的工件不存在,则转到下一个批次。

sy≤c-sx

(3)重复步骤(2)直到所有工件分配至批次。

(4)对于当前已组好的批次,从第一批b1和第二批b2开始检验,如果批次最大恶化因子和普通加工时间同时满足a1≤a2和p1<p2,则交换第一批和第二批的位置。

(5)重复步骤(4)直到所有批次检验完毕。

步骤3、计算每台机器的制造时间跨度。

本步骤中选取适应度值大于一个预定值的较优种群构建概率矩阵,具体地,概率矩阵p中的元素pij(l)代表第l代的第j个个体的第i个位置上出现flag的概率。若当前位置出现flag则赋值为否则赋值为0。

220、根据概率矩阵更新当前种群。

步骤1、根据下式对当前概率矩阵进行更新操作:

其中α∈(0,1)是概率矩阵p的学习指数,代表在第i个位置前出现flag的次数,sp_size表示较优种群的个数。

步骤2、根据概率矩阵生成新的个体,运用如下步骤决定个体中每个位置上的值:生成一个(0,1)之间的随机小数,若这个小数大于当前概率,则设置当前位置为flag,否则将这个随机小数赋值给当前位置。若生成的新个体适应度值大于之前的适应度值,则保留新个体,否则,执行de中的交叉变异操作。

步骤3、重复以上步骤直至新种群产生。

230、执行变异和交叉操作。

本步骤具体包括如下步骤:

步骤1、计算当前种群每个个体的适应度值并对其排序。以概率p从当前种群较优的前100p%个个体中选取一个个体

步骤2、从种群中选择除个体i的另外两个个体,并记为

步骤3、利用下式对当前个体进行变异操作,得到新的个体记作

步骤4、对当前个体的第j个位置进行交叉操作:生成一个随机数randb(j),如果其大于cr,则将变异后第j个位置上的值赋给当前个体对应位置的值;否则,则保留变异前第j个位置的值。令j=j+1,若j>n+m-1,执行步骤5;否则,执行步骤4。

步骤5、计算交叉变异操作后的当前个体适应度值,若适应度值优于之前个体适应度值,则保留交叉变异后个体进入下一代种群,否则,保留之前个体进入下一代种群。

240、计算适应度值,记录最优解。

250、判断终止条件是否满足,如果不满足更新概率矩阵,并返回步骤220,如果满足,终止算法,并输出最优解。

本实施例能针对基于以加工时间恶化效应的平行批加工两阶段流水车间调度问题,求得近似最优解,从而使得企业能在最大限度上充分利用其生产资源,降低生产成本,并提高企业服务水平和顾客满意度水平。本实施例针对基于位置的恶化效应的两阶段混合流水车间生产调度问题,且工件在每台机器上以平行批的方式进行加工。首先对工件编码,通过改进的分布估计算法,将工件分配到第一阶段的各个平行机上,在每个机器上,根据提出的分批、批排序策略把工件分配至批并将批排好序,即调度方案,求出相应个体的适应度值。通过执行局部搜索步骤,提高种群的个体质量,在解空间内不断搜索,最终求得近似最优解。改进的分布估计算法在收敛速度和搜索的解质量方面表现出了良好的性能。

对应于上述基于改进eda的高端装备研发制造协同调度方法,本发明还公开了一种基于改进eda的高端装备研发制造协同调度系统,如图3所示,所述系统包括:

信息获取模块,用于获取工件数量、每个工件的容量、每个工件的加工时间、每台机器的每个加工批次的恶化因子、每个工件的恶化因子、每台机器的每个加工批次的容量、每台机器的每个加工批次加工时间、机器的数量、每台机器的容量;

设置模块,用于设置迭代的代数、种群规模、每代迭代的次数、交叉概率、变异概率以及全局最优解;

小数生成处理模块,用于根据工件数量和机器的数量,确定生成小数的数量,根据生成小数的数量生成对应个数的小数;根据机器的数量,确定需要获取的小数的数量,根据需要获取的小数的数量,从生成的小数中获取最大的对应个数的小数;

工件分配模块,用于根据获取的小数,为每台机器分配工件;

批次确定模块,用于根据每个工件的加工时间、每个加工批次的加工时间、每个工件的恶化因子、每个工件的容量、每台机器的每个加工批次的已占用容量、每台机器的容量以及每个加工批次在每台机器中的位置,确定每台机器的每个加工批次需要加工的工件;

批次排序模块,用于根据每台机器的每个加工批次的加工时间和每台机器的每个加工批次的恶化因子,将每台机器中的加工批次进行排序;

初始化模块,用于根据每台机器的每个加工批次需要加工的工件以及种群规模,生成初始种群;

概率更新模块,用于根据每台机器中的每个加工批次需要加工的工件,确定概率矩阵,并根据所述概率矩阵,更新当前种群;计算改进后的种群中每个个体的适应度值,并保留适应度值大于第一预定数值的个体;

个体更新模块,用于根据交叉概率和变异概率,运用差分进化算法中的交叉变异操作更新每个个体,并保留适应度值大于第二预定数值的个体;

最优输出模块,用于更新当前种群的全局最优解,并根据迭代的代数和、每代迭代的次数判断迭代终止条件是否满足,若是则返回生成初始种群的步骤,否则输出当前得到全局最优解。

进一步地,所述批次确定模块具体用于:

获取当前加工批次需要加工的工件中的一个工件,放入当前加工批次中;

对于当前加工批次需要加工的其他工件,选取满足如下公式的工件,并放入当前加工批次中;

sy≤c-sx

式中,r表示当前加工批次在当前机器中的位置、sy表示工件的容量,sx表示当前加工批次已经占用的容量,px表示当前加工批次的加工时间,py表示工件的加工时间,ax表示当前交加工批次中工件的恶化因子的最大值,ay表示工件的恶化因子,c表示当前机器的容量。

进一步地,所述概率更新模块具体用于:

概率矩阵中的元素pij(l)代表第l代的第j个个体的第i个位置上出现flag的概率,若当前位置出现flag则赋值为否则赋值为0;

根据下式对当前概率矩阵进行更新操作:

式中,α∈(0,1)是概率矩阵的学习指数,代表在第i个位置前出现flag的次数,sp_size表示适应度值大于预定适应度的种群的个数;

根据概率矩阵更新种群中的每个个体。

进一步地,所个体更新模块具体用于:

计算当前种群中每个个体的适应度值并对其排序;

根据预定概率p,从当前种群的前100p%个个体中选取一个个体

从当前种群中,选择除个体i的另外两个个体,并记为

利用下式对当前个体进行变异操作,得到新的个体记作

对当前个体的第j个位置进行交叉操作:生成一个随机数randb(j),如果该随机数大于cr,则将变异后第j个位置上的值赋给当前个体对应位置的值;否则,则保留变异前第j个位置的值;

计算交叉变异操作后的当前个体适应度值,若适应度值优于之前个体适应度值,则保留交叉变异后个体进入下一代种群,否则,保留之前个体进入下一代种群。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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