一种针对大规模柔性作业车间调度的集成搜索方法_2

文档序号:9751586阅读:来源:国知局
,抽取出有效的机器分配信息,进一步缩减问题的 解空间,因此使得HHS和LNS能够优势互补,从而有效解决大规模柔性作业车间调度问题。2、 本发明利用所提出的集成搜索方法可以完成柔性作业车间系统作业数目、机器数目、操作 数目、每个操作可用机器情况等基本参数的设置,而且还可以根据不同的设备场景和工艺 需求,针对每个作业灵活配置各种各样的加工路径,调度效果优于目前若干已有算法。本发 明可以广泛应用于半导体生产、汽车装配、纺织等工业生产中所涉及的大规模调度中。
【附图说明】
[0029]图1是现有技术的LNS原理示意图;
[0030]图2是本发明的操作排序部分转换示例。
【具体实施方式】
[0031] 以下结合附图来对本发明进行详细的描绘。然而应当理解,附图的提供仅为了更 好地理解本发明,它们不应该理解成对本发明的限制。
[0032] FJSP(Flexible Job Shop Scheduling,FJSP)可以形式化描述如下:有一组η个互 相独立的作业J= {,J2,…,Jn},一组m台机器M= {Mi,Μ2,…,Mm}。每个作业Ji包含一组有优 先顺序约束的操作序列^,1/〇^。作业Ji被完成当且仅当它的所有操作以指定顺序 执行完成,可以表示成认1 4 …4 每个操作〇u,即作业Ji的第J个操作,能够在 子集!^,』£ Μ中的任何一台机器上执行。每个操作的执行时间是依赖于机器的,采用Pl,J>k 表示操作在机器Mk上的处理时间。调度分为两个子问题:路由子问题,即将每个操作分 配到一个合适的机器上;排序子问题,即确定所有机器上操作的序列,求解的目标是找到一 个调度解以最小化完工时间。完工时间指的是需要完成所有作业的时间,可以定义为C max = maxwUG},其中A是作业心的完成时间。另外,可以做如下假设:所有机器在0时刻均可 用;所有作业均在〇时刻释放;每台机器一次只能处理一个操作;每个操作一旦开始执行,必 须没有中断地完成;每个作业内操作的顺序是事先定义好的且不能被修改;机器的准备时 间和操作的传输时间可以忽略不计。
[0033]为了清楚地描述这个问题,表1给出了一个FJSP问题的样例,其中,行对应着操作, 列对应着机器。表格中的每个条目表不每个操作在相应机器上的处理时间,在这个表格中, 标记表示操作不能在相应的机器上运行。
[0034] 表1 FJSP样例处理时间表
[0035]
[0036] 本发明提供的针对大规模柔性作业车间调度的集成搜索方法,包括以下内容: [0037] 1、定义某个要解决FJSP的解向量。
[0038]在和声搜索算法中,解向量可以表示为;=:{4,4,···,4},它是一个n维的实数 向量,为了方便设定每一维的变量范围都是[_1,1]。解向量的维数η是所求解FJSP调度问题 操作数目总和的两倍。其中,解向量的前半部分λ?…,4/^表示所有操作的机器选择 信息,而后半部分</2+2,…〇表示所有操作的排序信息。
[0039] 2、将和声搜索中的解向量转换为FJSP可行解的编码,即二向量编码,本发明对于 机器选择部分和操作排序部分分别采用不同的转换策略,具体为:
[0040] 1)在机器选择部分,解向量表示中将解向量每维变量范围都限定为[_1,1],而在 可行解编码中机器选择的范围为1至m的整数,其中m为该位所对应操作可选的机器数目。因 此需要将[_1,1]内的实数映射为1至m的整数,具体做法是首先将[_1,1]内的实数线性变换 映射到[l,m]内的实数,然后再取最接近的整数。所以对任意xe[-l,l],所对应的[l, m]内 的整数z为:
[0041]
[0042]式中,round()为取一个实数最接近的整数,特殊情况是当m= 1时,对任意乂£[- 1,1],z = l〇
[0043 ] 2)在操作排序部分,使用基于LPV(最大位置)规则的转换方法。
[0044] 首先给每个操作赋予一个固定的整数ID号。按工件和工件内操作的顺序依次给每 个操作编号,以表1为例,〇ιι、〇?2、〇2?、〇22、〇23的固定ID号分别为1、2、3、4、5。解向量在操作排 序部分的每维也是[_1,1]内的实数,首先利用LPV规则将解向量的操作排序部分转换成操 作ID号的一个排列,具体做法是将操作排序部分的解向量连同位置号,按每维的值以非递 减顺序排列。原来的位置号形成的排列就作为操作ID号的一个排列。该排列相当于所有操 作的任一排列,有可能对应不可行解,所以再将每个操作的ID号在转换为所在的工件号,这 样操作排序部分的解向量就转化为FJSP可行解编码的操作排序部分。以表1的FJSP问题为 例,则一个具体操作的示意如图2所示。
[0045] 3、采用混合和声搜索算法进行和声搜索,即首先随机初始化若干解向量,设定最 大迭代次数,每代通过混合和声搜索算子产生一个新的解向量。
[0046] 4、将局部搜索嵌入到混合和声搜索的算法中对解空间进行更加细致的搜索,即将 混合和声搜索的解向量转化为FJSP问题的调度解,基于设定的邻域进行局部搜索,将局部 搜索得到的改善后的调度解再转化为解向量,用这个解向量替换局部搜索前的解向量,继 续和声搜索的搜索过程得到最优解,具体实现过程为:
[0047]目前大部分关于FJSP调度问题的邻域都是基于关键路径,大部分基于移动关键路 径上的一个或多个操作达到破坏关键路径,减少完工时间的目的。本发明提出一个基于公 共关键操作的FJSP调度问题邻域,其中,公共关键操作,就是在所有关键路径上的操作。因 为可以发现FJSP问题的很多解对应的析取图不止一条关键路径,如果移动非公共关键操作 的关键路径上的操作,则该操作至少不在某一条关键路径上,所以移动该操作不会破坏该 条关键路径,所得解的完工时间也不会降低。
[0048] 基于公共关键操作的邻域结构具体设计如下:依次读取公共关键操作,对每个操 作首先将该操作从析取图中删除,重新计算每个析取图中每个操作的最早开始时间;然后 以删除操作前的完工时间为当前完工时间,从后向前推算每个操作的最迟开始时间;最后 依次考查操作与操作之间形成的时间间隙,看是否能将操作插入合适的间隙中,如果能够 插入则当前解就是产生的邻域,并退出。否则读取下一个关键路径上的操作,再做相同的处 理。
[0049] 5、将基于混合和声搜索所找到的最优解作为LNS的初始解,采用LNS继续进行搜索 进一步改进该解,直到满足终止条件,得到的解为最小的完工时间的调度。
[0050] 本发明的LNS是在COMET系统的基础上实现的,在COMET系统中使用LNS,需要首先 通过建立约束对待求解的问题进行建模;优化过程中,额外的约束将不断被添加进来;一旦 产生一个新的约束,在COMET系统内部所提供的约束规划传播机制将被触发,这意味着当前 所有的约束将逐个被用来参与过滤解集,直到在解的域中没有更多的值可以被去除。另外, 在搜索过程中,每次一旦找到一个解,系统中将会动态增加一个约束,这个约束限制了下一 次找到的解必须要优于当前找到的解。下面将详细描述构建在COMET系统上的求解FJSP的 LNS搜索过程:
[0051 ] 1)建立基于约束的模型。
[0052]为了阐述针对FJSP的基于约束的模型,本发明定义两个记号(^,μ^分别表示操作 〇υ在调度中的开始时间和选择的机器。那么,FJSP的一个解可以用所有操作的(σ^,μω值 对来表示,该解是可行的当且仅当它满足如下三种约束:
[0053]①优先顺序约束:在一个作业内的操作,必须满足指定的优先顺序,它可以形式化 地表示为如下公式:e [?,η]Λ7 e [1,' - 1] \ f < ^ij· +1,Pij·W 表不操作 Oij在机器yij上的加工时间。
[0054] ②资源约束:任何一个操作只能在它的可选用的机器上加工,即VOgvMy e My。
[0055] ③容量约束:机器只能一次处理一个操作
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1