邻域解集裁剪方法和作业车间调度问题的局部搜索方法技术

技术编号:35284888 阅读:24 留言:0更新日期:2022-10-22 12:28
本发明专利技术公开邻域解集裁剪方法和作业车间调度问题的局部搜索方法,属于车间调度领域。包括:对当前可行调度解中的关键工序按照邻域结构进行移动,得到一组关键工序的移动组合;采用以下方式对每个关键工序的移动组合进行评估:若移动组合对应的关键工序的移动不能够减小至少一个关键块的开始时间,该移动组合对应的邻域解的制造期将不会减小;将邻域解的制造期增大的移动组合裁剪,剩余移动组合对应的邻域解构成邻域解集。本发明专利技术通过关键路径变化特征分析邻域解质量下降原因,剔除无法减小制造期的关键工序的移动组合,细化对邻域解质量的管理;经过裁剪,生成的邻域解数量减少,从而有效提高局部搜索的计算速度和计算效率,更快地得到局部最优解。地得到局部最优解。地得到局部最优解。

【技术实现步骤摘要】
邻域解集裁剪方法和作业车间调度问题的局部搜索方法


[0001]本专利技术属于车间调度领域,更具体地,涉及邻域解集裁剪方法和作业车间调度问题的局部搜索方法。

技术介绍

[0002]在现有技术中,对作业车间调度问题(job shop scheduling problem,JSP)中邻域的设计主要有两种类型。第一种类型是从编码的角度设计邻域操作,但由于编码空间与问题解空间的不对等关系,以这种方式设计的邻域的求解质量不高;第二种类型是直接从解空间的角度设计邻域结构,通过分析解空间中存在的知识,设计高效的邻域结构。在解空间中存在的知识有:1、交换非关键路径上的工序时,调度解的最大完工时间不会变小;2、关键路径中相同机器加工的相邻工序组成的工序块称为关键路径块,当交换工序的工序前序或后序不属于关键路径时,调度解的最大完工时间不会变小。
[0003]在以上两点知识的基础上,学者设计了若干种不同的邻域结构。不同邻域结构在求解速度和求解质量上各有优势。其中,Laarhoven等人根据知识1设计了邻域结构,其具体内容为:交换关键块内相邻的两个工序,得到新的邻域解。该邻域结构对当时的研究产生了积极的影响,但是它生成的邻域解数量过多,邻域解集规模过大导致计算时间过长,难以在可接受的时间内求得高质量的解。随着知识2的提出,邻域结构的规模得到了大幅度的减小。Balas等人在1998年提出一种邻域结构,其具体内容为:在满足可行解约束的情况下,将关键块的非首工序插入首工序之前或关键块上的非尾工序插入尾工序之后。该邻域结构所产生的邻域规模小于Laarhoven等人的邻域结构,同时基于知识2,使规模缩小后的邻域解集的质量得到了保证,避免了对大量导致当前解质量变差的邻域解的无效搜索,提高了求解效率,并在算例集的计算上取得了良好的效果。另外,ChaoYong Zhang等人在2007年对Balas等人提出的邻域进行了拓展,其内容为:当满足可行解约束条件的情况下,关键路径块的非首工序插入首工序之前或尾工序插入非尾工序之前;关键块上的首工序插入非首工序之后或非尾工序插入尾工序之后。这种邻域结构相比Balas等人的设计具有更大的解空间,在时间可接受范围内增加了局部搜索的多样性,但其规模依然远小于Laarhoven等人的邻域结构,但是在局部搜索的过程中,仍然存在对大量使得当前解变差解的计算,使得整体的计算时间较长。
[0004]由此可见,现有的技术存在邻域解质量把控不精准,局部搜索计算时间较长的问题。

技术实现思路

[0005]针对现有技术的以上缺陷或改进需求,本专利技术提供了邻域解集裁剪方法和作业车间调度问题的局部搜索方法,由此解决现有技术存在邻域解质量把控不精准,局部搜索计算时间较长的技术问题。
[0006]为实现上述目的,按照本专利技术的第一方面,提供了一种基于关键工序移动的邻域
解集裁剪方法,该方法包括:
[0007]S1.对当前可行调度解中的关键工序按照邻域结构进行移动,得到一组关键工序的移动组合;
[0008]S2.采用以下方式对每个关键工序的移动组合进行评估:
[0009]若移动组合对应的关键工序的移动不能够减小至少一个关键块的开始时间,那么该移动组合对应的邻域解的制造期将不会减小;
[0010]S3.将邻域解的制造期增大的移动组合裁剪,剩余的移动组合对应的邻域解构成邻域解集。
[0011]优选地,步骤S2具体如下:
[0012]对于一个可行调度解,v为关键块首位置的关键工序,u为同一关键块内的非块首关键工序,若α(u)的加工完成时间大于工序v的开始加工时间,则将工序u移动至工序v的前面所得的邻域解的制造期将不会减小;
[0013]其中,α(x)为工序x的工件紧前工序,即二者属于同一工件,且工序α(x)是与工序x紧邻的上一道工序。
[0014]优选地,步骤S2具体如下:
[0015]对于一个可行调度解,v为关键块尾位置的关键工序,u为同一关键块的非块尾关键工序,若γ(u)和γ(v)加工机器相同且γ(u)的开始加工时间小于γ(v),则将工序u移动至工序v的后面所得的邻域解的制造期将不会减小;
[0016]其中,γ(x)为工序x的工件紧后工序,即二者属于同一工件,且工序γ(x)是与工序x紧邻的下一道工序。
[0017]优选地,步骤S2具体如下:
[0018]对于一个可行调度解,v为关键块首位置的关键工序,若存在α(δ(u))且其完工时间大于v的开始时间,则将v移动至关键块内或关键块尾位置制造期将不会减小;
[0019]其中,δ(x)为工序x的机器紧后工序,即二者在同一台机器上进行加工,且工序δ(x)是与工序x紧邻的后一道工序,α(δ(x))为工序x的机器紧后工序的工件紧前工序。
[0020]优选地,步骤S2具体如下:
[0021]对于一个可行调度解,u为关键块尾位置的关键工序,若存在γ(β(u)),其与γ(u)加工机器相同且γ(β(u))的开始加工时间小于γ(u),则将工序u前移制造期将不会减小;
[0022]其中,β(x)为工序x的机器紧前工序,即二者在同一台机器上进行加工,且工序β(x)是与工序x紧邻的前一道工序;γ(β(x))为工序x的机器紧前工序的工件紧后工序。
[0023]为实现上述目的,按照本专利技术的第二方面,提供了一种作业车间调度问题的局部搜索方法,该方法包括:
[0024]作业车间调度的当前调度解在解码过程中,保留每台机器上工序的加工顺序及各工序的开始、结束加工时间;
[0025]解码结束后,以逆序方式求得当前可行调度解的关键工序;
[0026]采用如第一方面所述的方法,得到裁剪后的邻域解集;
[0027]对可行邻域解集进行筛选,得到局部最优解,作为作业车间调度的近似最优方案。
[0028]为实现上述目的,按照本专利技术的第三方面,提供了一种计算机可读存储介质,包括存储的计算机程序;所述计算机程序被处理器执行时,控制所述计算机可读存储介质所在
设备执行如第一方面所述的基于关键工序移动的邻域解集裁剪方法,或者,如第二方面所述的作业车间调度问题的局部搜索方法。
[0029]总体而言,通过本专利技术所构思的以上技术方案,能够取得以下有益效果:
[0030]按照本专利技术的邻域解裁剪方法充分考虑作业车间调度问题特征,通过关键路径变化特征分析邻域解质量下降的原因,准确剔除无法减小制造期的关键工序的移动组合,在现有邻域结构的研究基础上进一步细化对邻域解质量的管理;由于邻域解个体经过裁剪数量减少,从而有效提高局部搜索的计算速度和计算效率,更快地得到局部最优解。因此,这种邻域解裁剪方法适用于提高局部搜索算法求解作业车间调度问题的效率。
附图说明
[0031]图1是本专利技术提供的使用第一种基于关键工序移动的邻域解裁剪方法的部分甘特图;
[0032]图2是本专利技术提供的使用第二种基于关键工序移动的邻域解裁剪方法的部分甘特图;
[0033]图3是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于关键工序移动的邻域解集裁剪方法,其特征在于,该方法包括:S1.对当前可行调度解中的关键工序按照邻域结构进行移动,得到一组关键工序的移动组合;S2.采用以下方式对每个关键工序的移动组合进行评估:若移动组合对应的关键工序的移动不能够减小至少一个关键块的开始时间,那么该移动组合对应的邻域解的制造期将不会减小;S3.将邻域解的制造期增大的移动组合裁剪,剩余的移动组合对应的邻域解构成邻域解集。2.如权利要求1所述的方法,其特征在于,步骤S2具体如下:对于一个可行调度解,v为关键块首位置的关键工序,u为同一关键块内的非块首关键工序,若α(u)的加工完成时间大于工序v的开始加工时间,则将工序u移动至工序v的前面所得的邻域解的制造期将不会减小;其中,α(x)为工序x的工件紧前工序,即二者属于同一工件,且工序α(x)是与工序x紧邻的上一道工序。3.如权利要求1所述的方法,其特征在于,步骤S2具体如下:对于一个可行调度解,v为关键块尾位置的关键工序,u为同一关键块的非块尾关键工序,若γ(u)和γ(v)加工机器相同且γ(u)的开始加工时间小于γ(v),则将工序u移动至工序v的后面所得的邻域解的制造期将不会减小;其中,γ(x)为工序x的工件紧后工序,即二者属于同一工件,且工序γ(x)是与工序x紧邻的下一道工序。4.如权利要求1所述的方法,其特征在于,步骤S2具体如下:对于一个可行调度解,v为关键块首位置的关键工序,若存在α(δ(u))且其完...

【专利技术属性】
技术研发人员:高亮王思涵李新宇李培根
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1