一种解决柔性车间作业调度的元启发式搜索方法
【技术领域】
[0001] 本发明涉及数控车间调度领域,具体的说是一种解决柔性车间作业调度的元启发 式搜索。
【背景技术】
[0002] 作为企业生产的关键环节,车间作业调度一直以来深深的影响着车间的生产效 率。合理有效的调度模型以及相应的算法可以有效的提高企业的生产效率,进而降低生产 成本。
[0003] 经典车间作业调度问题已经吸引了无数科学家的眼球,他们同时也为解决车间作 业调度问题做出了很多贡献。然而经典车间作业调度模型的许多限制,比如一个操作只能 在一台机器上完成,已经不能满足现代作业车间的要求。应运而生的是柔性车间作业调度 模型,它打破了作业对特定机床的限制,能够更好的模拟现代车间环境。
[0004] 不论是经典车间作业调度问题还是经过改进的柔性车间作业调度问题,都被证明 是NP难的问题,无数科学家为解决这个问题做出了不懈的努力,然而至今仍无法在限定时 间内获得最优的解决方案。现在越来越多的研究者将目光转向启发式搜索,虽然无法给出 最优解,但是有限时间内最大可能的趋近最优解,符合车间需求,可以有效提高车间生产效 率。
[0005] 目前的柔性车间作业调度问题的搜索算法搜索策略分为两大类,即基于约束条件 的搜索和基于进化的搜索。基于约束条件的搜索是建立约束编程的基础上的,然而纯约束 编程不适合解决规模较大的车间作业调度问题,不过一些改进的算法如大规模邻域搜索 (LNS)和迭代扁平化搜索(IFS)等有效的解决了规模限制的问题。另一种搜索策略也是当 今主流的研究方向,即基于进化的搜索,主要是将作业序列编码为某种形式,中间通过各种 转换,最终解码得到结果。主要的算法有:蚁群优化算法(AC0)、遗传算法(GA)、禁忌搜素算 法(TS)、模拟退火算法(SA)等,他们找出局部最优解,通过随机或有目的扩散,逐步趋向最 优解。
【发明内容】
[0006] 针对现有技术中存在的上述不足之处,本发明考虑到了元搜索算法的局部性,针 对柔性车间作业调度问题,提出了一种解决柔性车间作业调度的元启发式搜索方法。
[0007] 本发明为实现上述目的所采用的技术方案是:一种解决柔性车间作业调度的元启 发式搜索方法,包括以下步骤:
[0008] 对作业进行编码:将每个作业作为一个编码序列,每个作业的每个工序为编码序 列中的基本元素;
[0009] 使用四个角色:E、C、S、G来表示;其中E为疑似目标,用以表示可能的最优解;C为 决策函数,用以收集信息并作出决策;S为搜索方向;G为搜索函数,负责向可能的目标进行 搜索;对各个角色赋予初始值;
[0010] 根据各个角色的功能和初始值搜索编码空间,产生新的搜索目标,获取当前搜索 的最优值;
[0011] 将搜索结果转换成相应机器上的工序序列。
[0012] 所述基本兀素为〇i_jk,其中i表不作业号,j表不工序号,k表不机器号。
[0013] 所述角色C的初始值为参与该算法的CPU数量。
[0014] 所述编码空间为工序的集合,维数为作业中最多的工序数。
[0015] 所述角色S为编码空间内的搜索方向,初始值为S = logO^n^maxlJJKwJ,其 中,n,m分别代表作业数和机器数,max {Λ} i y &代表单位作业最多的工序数,Λ代表第i 个作业。
[0016] 所述角色G取G = 2*n,其中,η代表作业数。
[0017] 所述决策函数为返回S和G上报的信息中较优的解集,所述较优的解集为集合中 makespan前S个小的集合,集合中元素数量与s的个数相等;并将解集中最小的S个数的 值作为E赋值给S ;
[0018] 所述搜索函数为以C决策的目标为目标搜索,每次改变一维坐标,直到G与决策函 数C传过来的E的坐标值相等为止。
[0019] 所述搜索编码空间,产生新的搜索方向,获取当前搜索的最优值,包括以下步骤:
[0020] 1)角色C将函数值赋值给角色S,或按照一定概率随机产生新的目标赋值给角色 S,即
其中,p = 1、0.9、0.8、···0 ;初始时设 p = 1 ;
[0021] 2)角色S将目标赋值给角色C ;
[0022] 3)角色C将疑似目标E赋值给角色G ;
[0023] 4)角色G随机产生初始序列,接收C传来的E值,每次只移动一维,如果G的当前 值优于E的值,即makespan小于E,则向角色C汇报;
[0024] 5)返回步骤1),p减0. 1 ;直到p = 0为止;此时得到的角色C值为当前最优值。
[0025] 所述将排序好的序列转换成机器上的工序序列,具体为:将相应工序所在的机器 的先后顺序,以及每个作业的工序顺序,以及前后工序结束时间的制约关系。
[0026] 本发明具有以下优点及有益效果:
[0027] 1.本发明将作业调度问题编码后,抽象为多维搜索空间,易于分割,易于扩展到分 布式平台上。
[0028] 2.由于本发明的搜索思想是建立在局部有目的的搜索的基础上的,可以有效的降 低搜索成本,如内存、CPU使用等,快速找到趋向于最优解的解决方案。
[0029] 3.调度问题抽象为多维空间,以及局部搜索概念的使用,使得该方法具有一定的 实时性潜力。
[0030] 4.使用本方法可以在付出较小的代价下,以有目的的搜索,追求最趋近于最优解 的解决方案,而且本方法在设计思想上充分考虑到搜索空间的分割,易于扩展到分布式平 台上。
【附图说明】
[0031] 图1为本发明的方法流程图;
[0032] 图2为本发明实施例的结果图。
【具体实施方式】
[0033] 下面结合附图及实施例对本发明做进一步的详细说明。
[0034] 将每个作业作为一个编码序列,作业中的工序作为基础编码元素,对作业进行编 码。编码方式如下表所不可以编码为{〇113〇212〇122〇222〇231丨或者i〇211〇222〇lll〇122〇233丨等。
[0035] 表一编码7K例表
[0036]
[0037] 使用四个角色,即敌人(E)、指挥官(C)、侦察兵(S)以及士兵(G)来表示算法成 分,并对各个角色赋予初始值,具体为:C的数量由参与算法的节点数决定,一般一个节点 对应一个指挥官。S目不宜过多,本实