作业车间调度问题工序交换可行性判定和局部搜索方法技术

技术编号:33849848 阅读:7 留言:0更新日期:2022-06-18 10:35
本发明专利技术公开了作业车间调度问题工序交换可行性判定和局部搜索方法,属于车间调度领域。包括:对于一个可行调度解,当满足时,将工序u移动至工序v后将不会产生不可行邻域解;当满足时,将工序v移动至工序u前将不会产生不可行邻域解;u和v在同一台机器上进行加工;BS

【技术实现步骤摘要】
作业车间调度问题工序交换可行性判定和局部搜索方法


[0001]本专利技术属于车间调度领域,更具体地,涉及作业车间调度问题工序交换可行性判定和局部搜索方法。

技术介绍

[0002]作业车间调度问题(job shop scheduling problem,JSP)是一种经典的车间调度问题,在生产实际中有具有广泛的应用。对于JSP而言,邻域解的生成一般是按照某种邻域结构交换同一台机器上工序的加工顺序得到。作为局部搜索的核心,获得邻域解集并筛选得到可行邻域解集是保证算法执行高效搜索的必要条件。局部搜索算法对于可行邻域解的搜索能够保证所得调度解符合问题约束,而对于不可行解的搜索将导致算法在不可行解的解空间内进行搜索,这无疑会增大算法的搜索范围,降低算法的搜索效率,导致计算时间的大幅增加。因此,邻域解可行性的判定对于局部搜索算法的求解效率有着重要的影响。
[0003]为解决这一问题,Balas等人在1998年提出一种邻域结构,并针对该邻域结构设计了判定其获得可行调度解的约束条件,从而保证局部搜索算法在可行邻域解集内执行搜索。其具体内容为:当满足约束条件L(0,u)+p
u
≥L(0,jp[v])+p
jp[v]时,关键路径块的非首工序插入首工序之前不会产生不可行解;当满足约束条件L(v,n)≥L(js[u],n)时,关键路径块上的非尾工序插入尾工序v之后不会产生不可行解。其中,上述约束条件中符号表示的含义如下:u、v表示同一关键路径块上的两个工序,且工序u在工序v之前加工;js[i]与工序i同工件的下一道工序;jp[i]与工序i同工件的上一道工序;L(0,i)从0时刻到工序i开始加工的总时长;L(i,n)从工序i开始加工到所有工件加工完的总时长;p
i
工序i的加工时长。专利CN111461504A公开了一种邻域结构,对Balas等提出的邻域解可行性判定方法进行了松弛,其内容为:当满足约束条件C(u)≥C(jp[v])或S(v)≥S(js[u])时,关键路径块中的工序交换加工顺序后不会产生不可行解;当满足约束条件C(u)≥S(jp[v])或S(v)≤C(js[u])时,关键路径块中的工序交换加工顺序后不会产生不可行解。其中,C(x)表示工序x结束加工的时间,S(x)表示工序x开始加工的时间。上述两种邻域结构结合JSP的特点,基于其工序的头尾长度大小关系对工序移动后产生的新解的可行性进行判断,保证了局部搜索的搜索质量和搜索效率,得到了专业领域内学者们的广泛认同。
[0004]然而,在经过大量的实验后发现,上述方法在问题的映射过程中有不当之处,导致一些可行解被判定为不可行解,从而造成算法对邻域解空间的不充分搜索。这是由于JSP问题的特征导致,在该问题中导致产生不可行解的原因是工序之前存在固定的加工顺序约束。若采用数值大小对这种加工顺序进行描述,两者并非是完全映射的关系,因此会导致一些可行解被误判为不可行解。

技术实现思路

[0005]针对现有技术判断邻域解可行性约束条件与问题本身不完全映射的缺陷,本专利技术提供了作业车间调度问题工序交换可行性判定和局部搜索方法,其目的在于保证在邻域解
的选择过程中准确的识别并保留所有可行邻域解,该可行邻域解集可用于调度解的局部搜索等。
[0006]为实现上述目的,按照本专利技术的第一方面,提供了一种作业车间调度问题工序交换可行性判定方法,该方法包括:
[0007]对于一个可行调度解,当满足时,将工序u移动至工序v的后面将不会产生不可行邻域解;当满足时,将工序v移动至工序u的前面将不会产生不可行邻域解;
[0008]其中,u和v在同一台机器上进行加工;
[0009]γ(x)为工序x的工件紧后工序,即二者属于同一工件,且工序γ(x)是与工序x紧邻的下一道工序;
[0010]BS
x
表示工序x的后序工序集合,包含x的机器紧后工序δ(x)、δ(x)的后序工序集合、工件紧后工序γ(x)及γ(x)的后序工序集合;
[0011]δ(x)为工序x的机器紧后工序,即二者在同一台机器上进行加工,且工序δ(x)是与工序x紧邻的后一道工序;
[0012]α(x)为工序x的工件紧前工序,即二者属于同一工件,且工序α(x)是与工序x紧邻的上一道工序;
[0013]FS
x
表示工序x的前序工序集合,包括工序x的机器紧前工序β(x)、β(x)的前序工序集合、工序x的工件紧前工序α(x)及α(x)的前序工序集合;
[0014]β(x)为工序x的机器紧前工序,即二者在同一台机器上进行加工,且工序β(x)是与工序x紧邻的前一道工序。
[0015]由上述符号可知,BS
γ(u)
则为γ(u)的后序工序集合,FS
α(v)
则为α(v)的前序工序集合。
[0016]优选地,在关键路径的关键块中,当满足约束条件时,将该关键块的块首工序u移动至非块首工序v的后面或将块内工序u移动至块尾工序v的后面将不会产生不可行邻域解,u和v属于同一个关键块。
[0017]有益效果:通过工序加工顺序关系特征避免工序u移动至其后续工序的后侧,避免了因工序顺序约束造成的不可行调度解的生成。
[0018]优选地,在关键路径的关键块中,当满足约束条件时,将该关键块的块内工序v移动至块首工序u的前面或将块尾工序v移动至非块尾工序u的前面将不会产生不可行邻域解,u和v属于同一个关键块。有益效果:通过工序加工顺序关系特征避免工序移动至其前序工序的前方,避免了因工序顺序约束造成的不可行调度解的生成。
[0019]为实现上述目的,按照本专利技术的第二方面,提供了一种作业车间调度问题的局部搜索方法,包括:
[0020]作业车间调度的当前可行调度解在解码过程中,保留每台机器上工序的加工顺序及各工序的开始、结束加工时间;
[0021]解码结束后,以逆序方式求得当前可行调度解的关键路径;
[0022]基于关键路径的邻域结构生成邻域;
[0023]采用如第一方面所述的工序交换可行性判定方法筛选出可行邻域解;
[0024]对可行邻域解集进行筛选,得到局部最优解,作为作业车间调度的近似最优方案。
[0025]优选地,生成邻域结构为N6或N7。
[0026]有益效果:N6和N7邻域解数量适中,具有更大概率在更小时间内获得局部最优解。
[0027]优选地,所述局部搜索采用禁忌搜索算法。
[0028]有益效果:禁忌搜索算法在可接受的时间内搜索范围广,获得质量更高的局部最优解。
[0029]为实现上述目的,按照本专利技术的第三方面,提供了一种计算机可读存储介质,包括存储的计算机程序;所述计算机程序被处理器执行时,控制所述计算机可读存储介质所在设备执行如第一方面所述的作业车间调度问题工序交换可行性判定方法,或者,如第二方面所述的作业车间调度问题的局部搜索方法。
[0030]总体而言,通过本专利技术所构思的以上技术方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种作业车间调度问题工序交换可行性判定方法,其特征在于,该方法包括:对于一个可行调度解,当满足时,将工序u移动至工序v的后面将不会产生不可行邻域解;当满足时,将工序v移动至工序u的前面将不会产生不可行邻域解;其中,u和v在同一台机器上进行加工;γ(x)为工序x的工件紧后工序,即二者属于同一工件,且工序γ(x)是与工序x紧邻的下一道工序;BS
x
表示工序x的后序工序集合,包含x的机器紧后工序δ(x)、δ(x)的后序工序集合、工件紧后工序γ(x)及γ(x)的后序工序集合;δ(x)为工序x的机器紧后工序,即二者在同一台机器上进行加工,且工序δ(x)是与工序x紧邻的后一道工序;α(x)为工序x的工件紧前工序,即二者属于同一工件,且工序α(x)是与工序x紧邻的上一道工序;FS
x
表示工序x的前序工序集合,包括工序x的机器紧前工序β(x)、β(x)的前序工序集合、工序x的工件紧前工序α(x)及α(x)的前序工序集合;β(x)为工序x的机器紧前工序,即二者在同一台机器上进行加工,且工序β(x)是与工序x紧邻的前一道工序。2.如权利要求1所述的方法,其特征在于,在关键路径的关键块中,当满足约束条件时,将该关键块的块首工序u移动至非块首工序v的后...

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

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

1