基于混合并行遗传和变邻域算法的生产调度方法和系统

文档序号:1890460 发布日期:2021-11-26 浏览:31次 >En<

阅读说明:本技术 基于混合并行遗传和变邻域算法的生产调度方法和系统 (Production scheduling method and system based on hybrid parallel inheritance and variable neighborhood algorithm ) 是由 陆少军 马崇轺 刘心报 程浩 崔龙庆 胡朝明 江涛 赵婷 于 2021-07-19 设计创作,主要内容包括:本发明提供一种基于混合并行遗传和变邻域算法的生产调度方法、系统、存储介质和电子设备,涉及生产调度领域。本发明采用启发式算法获取初始化种群中每个个体的各个车间生产调度方案,将适应度值最高的个体作为全局最优解;在邻域结构中搜索新解;将更新后的全局最优解迁移到各个子群体;根据更新后的各个子群体中个体的适应度值,采用选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,更新全局最优解。通过混合粗粒度并行遗传和变邻域搜索优化算法的迭代找到近似最优解,避免遗传算法的早熟现象,也加快了算法的收敛程度;考虑机器加工恶化效应和资源投入带来的效率提升,兼顾生产调度决策和资源配置决策问题。(The invention provides a production scheduling method, a production scheduling system, a storage medium and electronic equipment based on a hybrid parallel inheritance and variable neighborhood algorithm, and relates to the field of production scheduling. The method adopts a heuristic algorithm to obtain each workshop production scheduling scheme of each individual in the initialized population, and takes the individual with the highest fitness value as a global optimal solution; searching a new solution in the neighborhood structure; migrating the updated global optimal solution to each sub-population; according to the updated fitness value of the individuals in each sub-population, adopting a selection operator, a crossover operator and a mutation operator to obtain a next sub-population; and selecting the individual with the highest fitness value in the current population, and updating the global optimal solution. An approximate optimal solution is found through iteration of a mixed coarse-grained parallel inheritance and variable neighborhood search optimization algorithm, the premature phenomenon of the genetic algorithm is avoided, and the convergence degree of the algorithm is accelerated; and considering the efficiency improvement brought by the machine processing deterioration effect and the resource investment, and considering the production scheduling decision and the resource allocation decision.)

基于混合并行遗传和变邻域算法的生产调度方法和系统

技术领域

本发明涉及生产调度技术领域,具体涉及一种基于混合并行遗传和变邻域算法的生产调度方法、系统、存储介质和电子设备。

背景技术

随着新一代信息技术不断的发展,高端装备例如手机芯片,飞机,大型机械等的制造工艺不断精进,一台高端装备的制造一般包含许多不同种类的零部件(工件),高端装备具有较为复杂的制造过程。在高端装备制造系统中,一个工厂可能会生产各种零部件,也会存在许多车间,每个车间拥有的资源也各不相同。此外,机器的运行存在着恶化效应,即在实际的生产过程中,工件的加工时间受开始加工时间的影响,开始加工时间越晚,加工时间越长。因此制定好关于各种零部件的调度决策和资源的配置决策可以降低企业成本,提高生产效率,提升企业的竞争力,尽可能使得资源利用最大化和顾客满意度。

目前,针对各种零部件的调度决策和资源的配置决策问题。传统的调度算法包括:变邻域搜索算法(Variable Neighbourhood Search,VNS)是一种通过改变邻域结构使搜索方向多元化,从而增强搜索能力,优化计算性能的算法。遗传算法(Genetic Algorithm,GA)是一种模拟自然界生物过程的全局搜索算法,该算法通常将问题空间抽象为一个种群,通过在种群个体上进行选择、交叉和变异等遗传算子操作产生新一代种群。遗传算法在全局并行搜索上表现出的高效性、简单性和鲁棒性等优点,被应用于诸多领域。但是在面对有较大的群体规模时,遗传算法需要对大量的个体进行适应度计算和评价,可能使算法运行缓慢;普通遗传问题也可能会出现早熟现象。

此外,传统的调度算法通常基于某一特定的生产情形,导致复杂的实际生产过程会与理论产生偏差,不能兼顾生产调度决策和资源的配置决策,无法在有限的时间内为各主体企业制定合理的调度决策,或为企业的决策者提供决策支持,提高制造系统整体产能并降低生产成本。

发明内容

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种基于混合并行遗传和变邻域算法的生产调度方法、系统、存储介质和电子设备,解决了不能兼顾生产调度决策和资源配置决策的技术问题。

(二)技术方案

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

一种基于混合并行遗传和变邻域算法的生产调度方法,包括:

S1、初始化算法参数,所述算法参数至少包括邻域搜索次数、邻域结构数量、最大遗传迭代次数和最大算法循环迭代次数;

S2、将所有待加工工件分配进行编码,随机产生初始化群体,并划分为多个子群体;采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件加工次序以及资源分配方案,计算每个个体的适应度值,将适应度值最高的个体作为全局最优解;

S3、根据所述全局最优解,在对应的邻域结构中搜索新解;

S4、判断所述全局最优解的适应度值是否小于新解的适应度值,若是,则将全局最优解更新为新解,转入S3;否则,保留全局最优解,转入S5;

S5、根据所述邻域搜索次数和邻域结构数量,判断邻域搜索终止条件是否满足,若满足,结束变邻域搜索,将所述全局最优解迁移到各个子群体中,转入S6;否则,转入S3;

S6、计算更新后的各个子群体中个体的适应度值;

S7、根据所述更新后的各个子群体中个体的适应度值,采用预设的选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,并根据该适应度值最高的个体,对全局最优解进行更新;

S8、判断当前遗传迭代次数是否小于所述最大遗传迭代次数,若是,当前遗传迭代次数加一,转入S6;否则,转入S9;

S9、判断当前算法循环迭代次数是否小于所述最大算法循环迭代次数,若是,当前算法循环迭代次数加一,转入S3;否则,将所述全局最优解对应的各个车间工件加工次序以及资源分配方案作为最优调度方案。

优选的,所述S2中采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件加工次序以及资源分配方案,包括:

S10、将每个车间内工件按照各自的初始加工时间非减序排列,令fs=1;所述初始加工时间指工件未分配资源前的加工时间a′;

S20、将α个资源分配给排列中的第fs个工件;

S30、如果fs*α<Rj且Rj-(fs+1)*α>0,则fs=fs+1,转入S20;否则,转入S40;其中,Rj表示第j个车间的资源数,j=1,…,M,M表示车间数量;

S40、如果fs*α<Rj且Rj-(fs+1)*α<0,则将Rj-fs*α个资源分配给排列中第fs+1个工件;

S50、将该车间内工件的排列次序逆转,确定工件的加工次序,获取当前车间工件加工次序以及资源分配方案。

优选的,所述邻域结构数量包括四种不同邻域结构,定义邻域结构Nk,k为1或2或3或4;

若k=1,对应的,所述S3包括:

S311、定义所述全局最优解表示为V*=(v1,…,vi,…vN),其中,v1,…,vi,…vN为1至M中的任一整数;vi表示第i个工件分配到的对应车间;N表示所有待加工工件数量;M表示车间数量;

S312、令q=1,统计所述全局最优解对应的每个车间的总实际加工时间,

其中,nj表示第j个车间加工工件的数量;pi表示第i个工件在不分配资源的初始恶化时间;ri表示分配在第i个工件资源量;第i个工件在对应车间第s个加工的实际恶化时间为(pi-θri)s; 表示第i个零件在第j车间第s个顺序加工工件的实际加工时间,a′表示每个工件的初始加工时间;θ为每个资源的效率;

获取最大车间总实际加工时间

S313、随机生成1个在1至M随机整数rand1

S314、若rand1=jmax1,则转入S313;否则,转入S315;

S315、若vq=rand1,则vq=jmax1;若vq=jmax1,则vq=rand1;否则转入S316;

S316、如果q<N,则q=q+1,并转入S315;否则,得到新解后转入S4;

或者若k=2,对应的,所述S3包括:

S321、定义所述全局最优解表示为V*=(v1,…,vi,…vN);

S322、统计所述全局最优解对应的每个车间的总实际加工时间Pj,获取最大车间总实际加工时间以及获取第jmax2个车间中加工工件初始恶化时间pimax2最大的工件,pimax2=max{pi|vi=jmax2};

S323、随机生成1个在1至M随机整数rand2

S324、若rand2=jmax2,则转入S323;否则,令vimax=rand2,得到新解后转入S4;

或者若k=3,对应的,所述S3包括:

S331、定义所述全局最优解表示为V*=(v1,…,vi,…vN);

S332、统计所述全局最优解对应的每个车间的总实际加工时间Pj,获取最大车间总实际加工时间以及获取第jmax3个车间中加工工件初始恶化时间最大的工件pimax3=max{pi|vi=jmax3};

S333、随机生成1个在1至N随机整数rand3

S334、若则转入S333;否则,转入S335

S335、设置一个新变量c,令vimax3=c,得到新解后转入S4;

或者若k=4,对应的,所述S3包括:

S341、定义所述全局最优解表示为V*=(v1,…,vi,…vN);

S342、随机生成1至N范围内的随机整数a、b,设置变量x、y、z、z′、d,其中x=0;

S343、若a=b,返回转入S342;否则,转入S344;

S344、若a>b,则令z=b,b=a,a=z;令d=b-a+1,y=否则,转入S345;

S345、令z′=va+x,va+x=vb-x,vb-x=z′,x=x+1;

S346、如果x<y,则转入S345;否则,得到新解后转入S4。

优选的,所述S2采用整数编码方式将所有待加工工件分配进行编码,随机产生初始化群体O,所述O中个体数量为G*H,并平均划分为H个子群体Oh,则每个子群体的个体数量为G;

所述适应度值的函数为:

其中,表示第h个子种群中第g个个体,表示第h个子种群中第g个个体实际完工时间,C表示当前种群中实际完工时间的最大值。

优选的,所述S7中预设的选择算子为轮盘赌方式,更新后的各个子群体的个体总数为G′,其中G′=G+1;

所述更新后的各个子群体的选择过程包括:

S10a、设置变量g′,并且计算g′=1,2,…,G′时,累计概率 的值,初始P(X0)=0,初始n=1;其中,表示每个个体被选择的概率;表示每个子种群适应度之和;

S20a、随机生成一个0至1的随机数sx1;

S30a、找到满足P(Xg′-1)<sx1≤P(Xg′)的g′,选择个体放入下一代的母体O′h,n=n+1;

S40a、若n≤G,则转入S20a,否则结束选择过程。

优选的,所述S7中更新后的各个子群体的交叉过程包括:

S10b、将母体O′h中G个个体随机分成L个配对组,且第l个配对组中的两个子个体分别为 其中,表示第l个配对组第k个体第i工件的分配车间,k=1或2;设置变量m、z1、z2,令m=1;

S20b、随机生成2个1至N的随机整数rand4、rand5

S30b、若rand4=rand5,则转入S20b;否则,转入S40b;

S40b:令

S50b、若m<L,则m=m+1,转入S20b;否则,得到下一代群体并结束。

优选的,定义交叉过程获取的下一代群体表示为Oh′ 表示下一代群体中第h′个子种群中第g′个个体,其中,的值表示第g′个体第i个工件分配的车间;

所述S7中更新后的各个子群体的变异过程包括:

S10c、初始化g′=1,设置变异概率p′;

S20c、随机生成一个0到1的随机数sx2,若sx2<p′,转入S30c;否则,转入S60c;

S30c、随机生成一个1到N的随机整数rand6

S40c、随机生成一个1到M的随机整数rand7

S50c、如果则转入S40c;否则,令转入S60c;

S60c、若g′<G,g=g+1,转入S20c;否则,得到下一代子群体后结束。

一种基于混合并行遗传和变邻域算法的生产调度系统,包括:

初始化模块,用于执行S1、初始化算法参数,所述算法参数至少包括邻域搜索次数、邻域结构数量、最大遗传迭代次数和最大算法循环迭代次数;

求解模块,用于执行S2、将所有待加工工件分配进行编码,随机产生初始化群体,并划分为多个子群体;采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件加工次序以及资源分配方案,计算每个个体的适应度值,将适应度值最高的个体作为全局最优解;

搜索模块,用于执行S3、根据所述全局最优解,在对应的邻域结构中搜索新解;

第一判断模块,用于执行S4、判断所述全局最优解的适应度值是否小于新解的适应度值,若是,则将全局最优解更新为新解,转入搜索模块中执行S3;否则,保留全局最优解,转入第二判断模块中执行S5;

第二判断模块,用于执行S5、根据所述邻域搜索次数和邻域结构数量,判断邻域搜索终止条件是否满足,若满足,结束变邻域搜索,将所述全局最优解迁移到各个子群体中,转入计算模块中执行S6;否则,转入搜索模块中执行S3;

计算模块,用于执行S6、计算更新后的各个子群体中个体的适应度值;

更新模块,用于执行S7、根据所述更新后的各个子群体中个体的适应度值,采用预设的选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,并根据该适应度值最高的个体,对全局最优解进行更新;

第三判断模块,用于执行S8、判断当前遗传迭代次数是否小于所述最大遗传迭代次数,若是,当前遗传迭代次数加一,转入计算模块中执行S6;否则,转入第四判断模块中执行S9;

第四判断模块,用于执行S9、判断当前算法循环迭代次数是否小于所述最大算法循环迭代次数,若是,当前算法循环迭代次数加一,转入搜索模块中执行S3;否则,将所述全局最优解对应的各个车间工件加工次序以及资源分配方案作为最优调度方案。

一种存储介质,其存储有用于基于混合并行遗传和变邻域算法的生产调度的计算机程序,其中,所述计算机程序使得计算机执行如上述的基于混合并行遗传和变邻域算法的生产调度方法。

一种电子设备,包括:

一个或多个处理器;

存储器;以及

一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上述的基于混合并行遗传和变邻域算法的生产调度方法。

(三)有益效果

本发明提供了一种基于混合并行遗传和变邻域算法的生产调度方法、系统、存储介质和电子设备。与现有技术相比,具备以下有益效果:

本发明中采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件生产调度方案,将适应度值最高的个体作为全局最优解;在对应的邻域结构中搜索新解;邻域搜索终止条件满足时,将更新后的全局最优解迁移到各个子群体中;根据更新后的各个子群体中个体的适应度值,采用预设的选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,更新全局最优解。通过混合粗粒度并行遗传和变邻域搜索优化算法的迭代找到近似最优解,避免单一遗传算法的早熟现象,保留种群特征的多样性,同时加快了算法的收敛程度;启发式算法考虑机器加工恶化效应和资源投入带来的效率提升,兼顾生产调度决策和资源配置决策问题。

附图说明

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

图1为本发明实施例提供的一种基于混合并行遗传和变邻域算法的生产调度方法的流程示意图;

图2为本发明实施例提供的一种基于混合并行遗传和变邻域算法的生产调度方法的另一流程示意图;

图3为本发明实施例提供的一种基于混合并行遗传和变邻域算法的生产调度系统的结构框图。

具体实施方式

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

本申请实施例通过提供一种基于混合并行遗传和变邻域算法的生产调度方法、系统、存储介质和电子设备,解决了不能兼顾生产调度决策和资源配置决策的技术问题。

本申请实施例中的技术方案为解决上述技术问题,总体思路如下:

本发明实施例中采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件生产调度方案,将适应度值最高的个体作为全局最优解;在对应的邻域结构中搜索新解;邻域搜索终止条件满足时,将更新后的全局最优解迁移到各个子群体中;根据更新后的各个子群体中个体的适应度值,采用预设的选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,更新全局最优解。通过混合粗粒度并行遗传和变邻域搜索优化算法的迭代找到近似最优解,避免单一遗传算法的早熟现象,保留种群特征的多样性,同时加快了算法的收敛程度;启发式算法考虑机器加工恶化效应和资源投入带来的效率提升,兼顾生产调度决策和资源配置决策问题。

实施例:

第一方面,如图1所示,本发明实施例提供了一种基于混合并行遗传和变邻域算法的生产调度方法,包括:

S1、初始化算法参数,所述算法参数至少包括邻域搜索次数、邻域结构数量、最大遗传迭代次数和最大算法循环迭代次数;

S2、将所有待加工工件分配进行编码,随机产生初始化群体,并划分为多个子群体;采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件加工次序以及资源分配方案,计算每个个体的适应度值,将适应度值最高的个体作为全局最优解;

S3、根据所述全局最优解,在对应的邻域结构中搜索新解;

S4、判断所述全局最优解的适应度值是否小于新解的适应度值,若是,则将全局最优解更新为新解,转入S3;否则,保留全局最优解,转入S5;

S5、根据所述邻域搜索次数和邻域结构数量,判断邻域搜索终止条件是否满足,若满足,结束变邻域搜索,将所述全局最优解迁移到各个子群体中,转入S6;否则,转入S3;

S6、计算更新后的各个子群体中个体的适应度值;

S7、根据所述更新后的各个子群体中个体的适应度值,采用预设的选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,并根据该适应度值最高的个体,对全局最优解进行更新;

S8、判断当前遗传迭代次数是否小于所述最大遗传迭代次数,若是,当前遗传迭代次数加一,转入S6;否则,转入S9;

S9、判断当前算法循环迭代次数是否小于所述最大算法循环迭代次数,若是,当前算法循环迭代次数加一,转入S3;否则,将所述全局最优解对应的各个车间工件加工次序以及资源分配方案作为最优调度方案。

本发明实施例根据所需零件加工的生产模式特点,设计相应的启发式算法、邻域结构、粗粒度并行遗传算法,在有限的时间内为各主体企业制定合理的调度决策,或为企业的决策者提供决策支持,提高制造系统整体产能并降低生产成本。具体的,通过混合粗粒度并行遗传和变邻域搜索优化算法的迭代找到近似最优解,避免单一遗传算法的早熟现象,保留种群特征的多样性,同时加快了算法的收敛程度;启发式算法考虑机器加工恶化效应和资源投入带来的效率提升,兼顾生产调度决策和资源配置决策问题。

下面将结合具体内容详细介绍上述方案的各个步骤:

首先,需要明确的是,本发明实施例所涉及的高端产品制造中,假设所有待加工的工件数量为N,且每个工件只在一个车间完成生产;一共有M个车间,在不考虑资源拥有量和资源分配的情况下,每个车间的对同一工件在特定加工顺序上的加工效率相同。

S1、初始化算法参数,所述算法参数至少包括邻域搜索次数、邻域结构数量、最大遗传迭代次数和最大算法循环迭代次数。

如图2所示,初始化邻域搜索次数T、邻域结构数量最大遗传迭代次数最大算法循环迭代次数tmax

S2、将所有待加工工件分配进行编码,随机产生初始化群体,并划分为多个子群体;采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件加工次序以及资源分配方案,计算每个个体的适应度值,将适应度值最高的个体作为全局最优解。

采用整数编码方式将所有待加工工件分配进行编码,解向量表示V=(v1,v2,v3,...,vN),随机产生初始化群体O,所述O中个体数量为G*H,并平均划分为H个子群体Oh,则每个子群体的个体数量为G。

所述S2中采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件加工次序以及资源分配方案,包括:

S10、将每个车间内工件按照各自的初始加工时间非减序排列,令fs=1;所述初始加工时间指工件未分配资源前的加工时间α′;

S20、将α个资源分配给排列中的第fs个工件;

S30、如果fs*α<Rj且Rj-(fs+1)*α>0,则fs=fs+1,转入S20;否则,转入S40;其中,Rj表示第j个车间的资源数,j=1,…,M,M表示车间数量;

S40、如果fs*α<Rj且Rj-(fs+1)*α<0,则将Rj-fs*α个资源分配给排列中第fs+1个工件;

S50、将该车间内工件的排列次序逆转,确定工件的加工次序,获取当前车间工件加工次序以及资源分配方案。

上述解码过程可分为两个阶段,在第一个阶段中,将各个工件分配在各个加工车间,并按初始加工时间大小来确定各车间的零部件加工次序;在第二阶段,将各个车间拥有的资源分配在零部件上。在该过程中,第一阶段主要考虑了机器加工的恶化效应,后面加工的工件加工时间会延长;而在第二阶段中,主要考虑了资源分配,所求的目标是通过有效地组批和排序以及资源分配来降低生产时间。

在之前的研究中,实际生产过程中工件的加工时间较少考虑资源分配的情形,从而导致一些研究的算法在实际生产过程会与理论上产生偏差,不能得到较好的效果。传统的调度算法基于某一特定的生产情形,也没有考虑到机器加工的恶化效应以及资源倾斜所带来的效率提升,工厂每个车间所拥有的资源也有区别。

本发明实施例基于实际生产情况分别考虑了机器加工的恶化效应和资源投入所带来的的效率提升,并且提供上述启发式算法来解决相应的问题,贴合现实生产情况,兼顾生产调度决策和资源配置决策问题。

所述适应度值的函数为:

其中,表示第h个子种群中第g个个体,表示第h个子种群中第g个个体实际完工时间,C表示当前种群中实际完工时间的最大值。

S3、根据所述全局最优解,在对应的邻域结构中搜索新解。

本发明实施中邻域结构数量包括四种不同邻域结构,定义邻域结构Nk,k为1或2或3或4。

若k=1,具体为最长总实际加工时间车间的工件与另外一个车间的工件全部调换,直到满足条件。对应的,所述S3包括:

S311、定义所述全局最优解表示为V*=(v1,…,vi,…vN),其中,v1,…,vi,…vN为1至M中的任一整数;vi表示第i个工件分配到的对应车间;N表示所有待加工工件数量;M表示车间数量;

S312、令q=1,统计所述全局最优解对应的每个车间的总实际加工时间,

其中,nj表示第j个车间加工工件的数量;pi表示第i个工件在不分配资源的初始恶化时间;ri表示分配在第i个工件资源量;第i个工件在对应车间第s个加工的实际恶化时间为(pi-θri)s; 表示第i个零件在第j车间第s个顺序加工工件的实际加工时间,a′表示每个工件的初始加工时间;θ为每个资源的效率;

获取最大车间总实际加工时间

S313、随机生成1个在1至M随机整数rand1

S314、若rand1=jmax1,则转入S313;否则,转入S315;

S315、若vq=rand1,则vq=jmax1;若vq=jmax1,则vq=rand1;否则转入S316;

S316、如果q<N,则q=q+1,并转入S315;否则,得到新解后转入S4。

或者若k=2,具体为将最长总实际加工时间车间中初始恶化时间最大的工件转移到其他车间。对应的,所述S3包括:

S321、定义所述全局最优解表示为V*=(v1,…,vi,…vN);

S322、统计所述全局最优解对应的每个车间的总实际加工时间Pj,获取最大车间总实际加工时间以及获取第jmax2个车间中加工工件初始恶化时间pimax2最大的工件,pimax2=max{pi|vi=jmax2};

S323、随机生成1个在1至M随机整数rand2

S324、若rand2=jmax2,则转入S323;否则,令vimax=rand2,得到新解后转入S4。

或者若k=3,具体为将最长总实际加工时间车间中初始恶化时间最大的工件与其他车间的工件进行交换。对应的,所述S3包括:

S331、定义所述全局最优解表示为V*=(v1,…,vi,…vN);

S332、统计所述全局最优解对应的每个车间的总实际加工时间Pj,获取最大车间总实际加工时间以及获取第jmax3个车间中加工工件初始恶化时间最大的工件pimax3=max{pi|vi=jmax3};

S333、随机生成1个在1至N随机整数rand3

S334、若则转入S333;否则,转入S335

S335、设置一个新变量c,令vimax3=c,得到新解后转入S4。

或者若k=4,具体为逆转全局最优解中的一部分的代码。对应的,所述S3包括:

S341、定义所述全局最优解表示为V*=(v1,…,vi,…vN);

S342、随机生成1至N范围内的随机整数a、b,设置变量x、y、z、z′、d,其中x=0;

S343、若a=b,返回转入S342;否则,转入S344;

S344、若a>b,则令z=b,b=a,a=z;令d=b-a+1,y=否则,转入S345;

S345、令z′=va+x,va+x=vb-x,vb-x=z′,x=x+1;

S346、如果x<y,则转入S345;否则,得到新解后转入S4。

S4、如图2所示,判断所述全局最优解的适应度值是否小于新解的适应度值,若是,则将全局最优解更新为新解,转入S3;否则,保留全局最优解,转入S5。

S5、根据所述邻域搜索次数和邻域结构数量,判断邻域搜索终止条件是否满足,若满足,结束变邻域搜索,将所述全局最优解迁移到各个子群体中,转入S6;否则,转入S3。

如图2所示,所述邻域搜索终止条件包括:判断当前邻域搜索次数it是否小于邻域搜索次数T,若满足,转入所述S3中;若不满足,判断当前邻域结构数量是否小于邻域结构数量若满足,转入所述S3中,若不满足转入步骤S6。

S6、计算更新后的各个子群体中个体的适应度值。

S7、根据所述更新后的各个子群体中个体的适应度值,采用预设的选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,并根据该适应度值最高的个体,对全局最优解进行更新。

本发明实施例所采用的的粗粒度并行遗传算法可以保留各个子群体的特征,保证了总种群的特征多样性,可以有效的抑制早熟现象。。与上述变邻域算法相结合,可以使得全局最优解在多个邻域内搜索新解,求出的新解具有更高的适应度,可以提高有效提高算法的收敛性。

所述S7中预设的选择算子为轮盘赌方式,更新后的各个子群体的个体总数为G′,其中G′=G+1。

所述更新后的各个子群体的选择过程包括:

S10a、设置变量g′,并且计算g′=1,2,…,G′时,累计概率 的值,初始P(X0)=0,初始n=1;其中,表示每个个体被选择的概率;表示每个子种群适应度之和;

S20a、随机生成一个0至1的随机数sx1;

S30a、找到满足P(Xg′-1)<sx1≤P(Xg′)的g′,选择个体放入下一代的母体O′h,n=n+1;

S40a、若n≤G,则转入S20a,否则结束选择过程。

所述S7中更新后的各个子群体的交叉过程包括:

S10b、将母体O′h中G个个体随机分成L个配对组,且第l个配对组中的两个子个体分别为 其中,表示第l个配对组第k个体第i工件的分配车间,k=1或2;设置变量m、z1、z2,令m=1;

S20b、随机生成2个1至N的随机整数rand4、rand5

S30b、若rand4=rand5,则转入S20b;否则,转入S40b;

S40b:令

S50b、若m<L,则m=m+1,转入S20b;否则,得到下一代群体并结束。

定义交叉过程获取的下一代群体表示为Oh′ 表示下一代群体中第h′个子种群中第g′个个体,其中,的值表示第g′个体第i个工件分配的车间。

所述S7中更新后的各个子群体的变异过程包括:

S10c、初始化g′=1,设置变异概率p′;

S20c、随机生成一个0到1的随机数sx2,若sx2<p′,转入S30c;否则,转入S60c;

S30c、随机生成一个1到N的随机整数rand6

S40c、随机生成一个1到M的随机整数rand7

S50c、如果则转入S40c;否则,令转入S60c;

S60c、若g′<G,g=g+1,转入S20c;否则,得到下一代子群体后结束。

本发明实施例针对工件的生产与资源分配的调度问题,设计了粗粒度并行遗传算法和变邻域搜索算法的优化算法,首先通过编码确定加工工件的分配,再根据调度算法确定每个车间工件的加工次序和资源量,最后通过粗粒度并行遗传算法和变邻域搜索算法的迭代找到近似最优解。既避免了遗传算法的早熟现象,也保留了种群特征的多样性,同时也加快了算法的收敛程度。

第二方面,如图3所示,本发明实施例提供一种基于混合并行遗传和变邻域算法的生产调度系统,包括:

初始化模块,用于执行S1、初始化算法参数,所述算法参数至少包括邻域搜索次数、邻域结构数量、最大遗传迭代次数和最大算法循环迭代次数;

求解模块,用于执行S2、将所有待加工工件分配进行编码,随机产生初始化群体,并划分为多个子群体;采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件加工次序以及资源分配方案,计算每个个体的适应度值,将适应度值最高的个体作为全局最优解;

搜索模块,用于执行S3、根据所述全局最优解,在对应的邻域结构中搜索新解;

第一判断模块,用于执行S4、判断所述全局最优解的适应度值是否小于新解的适应度值,若是,则将全局最优解更新为新解,转入搜索模块中执行S3;否则,保留全局最优解,转入第二判断模块中执行S5;

第二判断模块,用于执行S5、根据所述邻域搜索次数和邻域结构数量,判断邻域搜索终止条件是否满足,若满足,结束变邻域搜索,将所述全局最优解迁移到各个子群体中,转入计算模块中执行S6;否则,转入搜索模块中执行S3;

计算模块,用于执行S6、计算更新后的各个子群体中个体的适应度值;

更新模块,用于执行S7、根据所述更新后的各个子群体中个体的适应度值,采用预设的选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,并根据该适应度值最高的个体,对全局最优解进行更新;

第三判断模块,用于执行S8、判断当前遗传迭代次数是否小于所述最大遗传迭代次数,若是,当前遗传迭代次数加一,转入计算模块中执行S6;否则,转入第四判断模块中执行S9;

第四判断模块,用于执行S9、判断当前算法循环迭代次数是否小于所述最大算法循环迭代次数,若是,当前算法循环迭代次数加一,转入搜索模块中执行S3;否则,将所述全局最优解对应的各个车间工件加工次序以及资源分配方案作为最优调度方案。

第三方面,本发明实施例提供一种存储介质,其存储有用于基于混合并行遗传和变邻域算法的生产调度的计算机程序,其中,所述计算机程序使得计算机执行如上述的基于混合并行遗传和变邻域算法的生产调度方法。

第四方面,本发明实施例提供一种电子设备,包括:

一个或多个处理器;

存储器;以及

一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上述的基于混合并行遗传和变邻域算法的生产调度方法。

不难理解的是,本发明实施例提供的基于混合并行遗传和变邻域算法的生产调度系统、存储介质和电子设备与上述基于混合并行遗传和变邻域算法的生产调度方法相对应,其有关内容的解释、举例、有益效果等部分可以参考基于混合并行遗传和变邻域算法的生产调度方法中的相应内容,此处不再赘述。

综上所述,与现有技术相比,具备以下有益效果:

本发明实施例中采用启发式算法解码获取初始化种群中每个个体对应的各个车间工件生产调度方案,将适应度值最高的个体作为全局最优解;在对应的邻域结构中搜索新解;邻域搜索终止条件满足时,将更新后的全局最优解迁移到各个子群体中;根据更新后的各个子群体中个体的适应度值,采用预设的选择算子、交叉算子和变异算子获取下一代子群体;在当前群体选择适应度值最高的个体,更新全局最优解。通过混合粗粒度并行遗传和变邻域搜索优化算法的迭代找到近似最优解,避免单一遗传算法的早熟现象,保留种群特征的多样性,同时加快了算法的收敛程度;启发式算法考虑机器加工恶化效应和资源投入带来的效率提升,兼顾生产调度决策和资源配置决策问题。

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

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

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于遗传算法的变异规则补充方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!