CN102222274A - 基于调度编码的免疫克隆选择作业车间调度方法 - Google Patents
基于调度编码的免疫克隆选择作业车间调度方法 Download PDFInfo
- Publication number
- CN102222274A CN102222274A CN2011100839126A CN201110083912A CN102222274A CN 102222274 A CN102222274 A CN 102222274A CN 2011100839126 A CN2011100839126 A CN 2011100839126A CN 201110083912 A CN201110083912 A CN 201110083912A CN 102222274 A CN102222274 A CN 102222274A
- Authority
- CN
- China
- Prior art keywords
- antibody
- clone
- population
- scheduling
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于调度编码的免疫克隆选择作业车间调度方法,主要解决现有技术在求解作业车间调度问题时质量差及效率低的缺点。其实现步骤为:运用GT算法对输入的机器、作业以及约束条件进行操作,产生调度矩阵;对调度矩阵进行直接编码作为抗体种群;计算抗体种群的亲和力,将其划分为记忆单元和自由单元;计算每个抗体的克隆规模;依据克隆规模,使用基于邻域搜索的克隆算子对抗体种群进行克隆变异,得到克隆种群;对克隆种群进行克隆选择,得到新的抗体种群,并对记忆单元和自由单元进行更新和死亡;输出抗体种群中的最优抗体,将其映射为机器和作业的调度顺序。本发明具有质量好、效率高的优点,可用于求解作业车间调度问题。
Description
技术领域
本发明属于计算机技术领域,涉及一种自然计算技术在调度问题中的应用,具体地说是基于一种调度编码的克隆算子,运用免疫克隆选择算法解决作业车间调度问题。
背景技术
作业车间调度JSSP是相互竞争的流水线作业对时间上可共享的机器进行分配的问题,是系统制造、工业规划与运筹技术发展的核心。调度方法与优化技术的研究和应用已成为先进制造技术实践的基础和关键,调度问题的应用不仅局限于计算机和制造业上,也包括运输、服务等其他行业。另外,作业车间调度问题是典型的NP-hard问题,寻求较好的解决方案对于实际的车间作业调度具有重要的应用价值。
JSSP可以简单的描述为一个加工系统,有m台机器,要求加工n个作业,其中作业i包含的工序为Li,令则L为作业集的总工序数,各工序加工时间已确定,并且每个作业的工序必须按照提前确定的先后顺序加工。因此,调度的任务是安排所有作业工序的加工顺序,得到满足工艺约束和资源约束并使加工性能指标达到最优的可行调度方案。
JSSP是一种典型的组合优化问题,求解该问题的算法有很多,到目前为止,主要形成了三大类:精确算法、启发式算法和智能搜索算法。精确算法主要是指数学规划方法,其主要优点是能够求出较为精确的最优解,适应范围比较广,但是计算复杂度很高,这使得其计算规模容易受到问题规模的限制,因此难以得到实际应用。启发式算法是一种根据已有的信息进行推理和计算,从而获得近似最优解的方法,主要有调度规则、启发图搜索算法和拉格朗日松弛算法。这类方法,设计简单、易于实现,但是精确性不高,搜索效率受到问题规模的影响。智能搜索算法是一类模仿自然界的某些演化机制的算法,具有较好的全局搜索能力。其中,使用遗传算法在解决作业车间调度问题时需要考虑编码问题。传统的基于操作编码存在编码冗余现象,即编码空间与调度空间是多对一的映射关系。随着问题规模的增大,冗余性将大大增加。由于种群空间是有限的,而冗余性会导致多样性的丧失,所以会使搜索效率会大大降低,不能快速得到高质量的作业车间调度方案。
发明内容
本发明的目的在于克服传统的基于操作编码的不足,提出了一种基于调度编码的免疫克隆选择作业车间调度方法,以提高车间调度的效率和质量,满足复杂度高的大规模作业车间调度要求。
本发明的技术方案是:运用Giffler和Thompson提出的GT算法对机器和作业的加工工序信息进行操作,产生调度矩阵,并对调度矩阵进行编码,然后使用免疫克隆选择算法对其进行求解,得到满足工艺约束和资源约束并使加工性能指标达到最优的可行调度方案。其具体实现步骤如下:
(1)输入机器和作业的加工工序以及约束条件信息,运用Giffler和Thompson提出的GT算法对以上信息进行操作,产生调度矩阵;
(2)对调度矩阵进行直接编码作为初始抗体种群P,抗体种群中的每一个抗体Pi即为作业工序一种调度顺序,其中抗体种群表示为P(0)={P1(0),P2(0),...,Pn(0)},n为抗体种群规模;设置最大迭代次数Gmax、克隆规模参数nc、克隆算子中的变异概率pm、记忆单元的大小n1、自由单元的大小n2、抗体死亡概率pd,迭代计数器t=0;
(3)如果迭代计数器达到预先设置的最大值,跳转至步骤(9),否则执行步骤(4);
(4)计算抗体种群P(t)中每一个抗体Pi(t)的“抗体-抗原”亲和力affinity(Pi(t))=-Cmax,其中Cmax表示抗体Pi(t)所对应的调度生产周期;根据亲和力affinity(Pi(t))的大小,将抗体种群划分为记忆单元MP(t)和自由单元NP(t):
其中n1+n2=n;
(5)计算抗体种群P(t)中每一个抗体Pi(t)的克隆规模:
(6)设计基于邻域搜索的克隆算子,并根据克隆规模qi对抗体种群P(t)进行克隆变异操作,产生克隆种群CP(t)={CP1(t),CP2(t),...,CPn(t)};
(7)对克隆种群CP(t)进行克隆选择操作,得到新的抗体种群P′(t)={P′1(t),P′2(t),...,P′n(t)},对记忆单元MP(t)进行更新,对自由单元NP(t)中的抗体以概率pd进行死亡;
(8)计算新的抗体种群P′(t)的“抗体-抗原”亲和力,并根据亲和力的大小更新当前种群的最优抗体,迭代计数器t=t+1,返回(3);
(9)输出当前抗体种群的最优抗体,将最优抗体的编码映射为机器和作业,得到所有作业加工工序在不同机器上的分配顺序,按照该分配顺序对流水车间进行有效的安排调度。
本发明与现有的技术相比具有以下优点:
1.效率高,能够快速得到满足约束条件的调度方案。
本发明从新的编码方式-调度编码出发,设计了适合该编码的克隆算子,调度编码是作业调度的直接表示,并且编码空间与调度空间具有一一对应的映射关系,消除了编码冗余现象,基于邻域搜索的克隆算子适合调度编码,并且在能够引导抗体向子空间中更好的方向移动,从而快速得到满足约束条件的调度方案。
2.质量好,调度方案的性能指标好。
本发明在免疫克隆选择算法中引入了记忆和死亡的策略,有利于扩大搜索空间的范围,增加调度矩阵的多样性,提高了求解的精确度,使得作业调度的生产周期大大缩短,因此能够得到质量较高的车间调度方案。
附图说明
图1是本发明的流程图;
图2是本发明中基于邻域搜索的克隆算子的示意图;
图3是本发明与现有方法ICSA在benchmark问题集上的最优值比较图;
图4是本发明与现有方法ICSA在benchmark问题集上的平均误差比较图;
图5是本发明与现有方法ICSA在benchmark问题集上的求解分布统计盒图。
具体实施方式
参照图1,本发明的具体实施过程如下:
步骤1,输入机器和作业的加工工序信息以及约束条件,运用Giffler和Thompson提出的GT算法对以上信息进行操作,产生调度矩阵。
本发明以流水作业生产周期的长短作为主要的性能评价指标,且需要满足下列条件:每一道工序必须在指定的机器上不间断的进行加工直到本工序完成;对每一项作业,各工序必须预先给定其先后加工顺序;每一项作业都以自己的流水模式通过所有机器并独立于其它作业;同一时刻每台机器只能加工一道工序,每个作业在某一时刻至多只能在一台机器上进行加工;每一个作业只能在一台机器上加工一次。
步骤2,对调度矩阵进行直接编码作为初始抗体种群P,抗体种群中的每一个抗体Pi即为作业工序的一种调度顺序,其中抗体种群表示为P(0)={P1(0),P2(0),...,Pn(0)},n为抗体种群规模;设置最大迭代次数Gmax、克隆规模参数nc、克隆算子中的概率pm、记忆单元的大小n1、自由单元的大小n2、抗体死亡概率pd,迭代计数器t=0;
其中,调度矩阵直接作为抗体的编码,其编码形式为:S=(sij)a×b,其中a是机器数,b是每台机器加工工序的最大个数,sij表示机器i上第j次加工的工序;S是调度矩阵,它表示所有机器上加工工序的优先顺序,同时也表示所有作业工序的加工调度顺序。
步骤3,如果迭代计数器达到预先设定的最大值,跳转至步骤9,否则执行步骤4;
步骤4,计算抗体种群的亲和力,并根据亲和力的大小将抗体种群划分为记忆单元和自由单元。
4a)计算抗体种群P(t)中每一个抗体Pi(t)的“抗体-抗原”亲和力affinity(Pi(t));其中,“抗体-抗原”亲和力affinity(Pi(t))定义为作业调度生产周期的相反数,设每个抗体所对应的调度的生产周期为Cmax,则affinity(Pi(t))=-Cmax;作业车间调度问题的目标是寻找生产周期最小的可行调度,抗体对应于问题的调度方案,抗原对应问题的目标和约束条件;
4b)根据亲和力affinity(Pi(t))的大小,,将抗体种群分划分为记忆单元MP(t)和自由单元NP(t):
步骤5,根据公式(1)计算计算抗体种群P(t)中每一个抗体Pi(t)的克隆规模qi,
其中,亲和力越大,抗体的克隆规模就越大。
步骤6,设计基于邻域搜索的克隆算子,并根据克隆规模qi对抗体种群P(t)执行克隆变异操作。
6a)设计基于邻域搜索的克隆算子,如图2所示:
6a1)一个抗体种群对应一个调度矩阵,找出调度矩阵S中的所有关键块,设这些关键块的个数为c,其中关键块表示同一机器上拥有最大工序个数的一组工序序列,对所有的关键块在其NS邻域结构下得出k个质量不比S差的子调度矩阵S1,S2,...,Sk,0≤k≤2c;这一过程用NS(S)表示;
6a2)将上一步中中得到的每一个子调度矩阵Si,i=1,2,...,k,分别以概率pm在其VL邻域下进行移动,得出li个新的调度矩阵,j=1,2,...,ci,其中,ci为解Si的关键块个数,dij为关键块中的工序个数,当新产生的调度矩阵的总个数满足克隆规模时停止;这一过程用VL(Si,pm)表示。
6b)利用基于邻域搜索的克隆算子,根据克隆规模qi对抗体种群P(t)执行克隆变异操作,产生新的克隆种群CP(t)={CP1(t),CP2(t),...,CPn(t)}。
步骤7,对克隆种群CP(t)执行克隆选择操作,得到新抗体种群P′(t)={P′1(t),P′2(t),...,P′n(t)},对记忆单元MP(t)进行更新,对自由单元NP(t)中的抗体以概率pd进行死亡。
步骤8,计算新的抗体种群P′(t)的“抗体-抗原”亲和力,并根据亲和力的大小更新当前种群的最优抗体,迭代计数器t=t+1,返回步骤3。
步骤9,输出当前抗体种群的最优抗体,最优抗体就是加工工序在计算机中的一种模拟表示,将最优抗体的编码映射为机器和作业,得到所有作业加工工序在不同机器上的分配顺序,按照该分配顺序对流水车间进行有效的安排调度。
本发明的效果可通过以下仿真实验进一步说明:
1.仿真条件
1)选取benchmark问题集中的测试实例,来检验本发明中调度编码、克隆算子的性能;
2)将本发明与现有方法ICSA在最优值、平均误差和鲁棒性等方面进行比较;
3)仿真实验中,种群规模n=50,克隆规模参数nc=1.6,克隆算子中的概率pm=0.3,记忆单元的大小n1=n×0.8,自由单元的大小n2=n×0.2,抗体死亡概率pd=0.9,最大迭代次数100;
4)本发明和对比方法均采用VC++6.0实现,运行在Intel(R)Core(TM)2CPU,1.86GHz 2GB内存的PC机上。
2.仿真内容与结果
1)本发明针对33个benchmark问题实例进行求解仿真。
本仿真的主要目的在于测试本发明在不同问题实例上的求解性能,由此来验证调度编码、克隆算子的适用范围。在上述参数设置下,本发明在33个benchmark问题实例上的实验结果如表1所示。表1中的实验数据是50次独立运行结果的平均值,其中,实际完成时间越接近理想完成时间,表明性能越好。
表1本发明在33个benchmark问题实例上的实验结果
由表1中的数据可以看出,对于问题(Ft06,La01,La02,La04~La14,La31)本发明容易求得最优解,其中对于问题(Ft06,La01,La05,La06,La09~La14)在50次独立实验内均能求得最优解,对于问题(La03,La17,La19,La20,La33)能够求得趋近最优的解。测试过程中发现,在邻域结构中进行克隆操作时,能否跳出邻域中的局部最优解将直接影响算法的性能,所以合适的编码形式对于算法的性能至关重要。本发明采用调度编码,并设计了适合该编码的克隆算子,在求解大多数问题时,均能表现出较好的性能,因此本发明的适用范围较广。
2)本发明与现有方法ICSA在最优值、平均误差和鲁棒性三个方面的对比仿真。
本仿真的主要目的在于比较本发明与现有方法ICSA在最优值、平均误差和鲁棒性三个方面的性能。在上述参数设置下,本发明与现有方法ICSA在benchmark问题集上的最优值和平均误差分别如图3、图4所示,图中的黑色线条表示本发明,灰色线表示现有方法ICSA。图5中的(a)~(h)分别是两种方法在8个典型测试问题(L10~L13,L19~L22)上的求解分布统计盒图,盒图中横坐标代表两种算法,其中1代表现有方法ICSA的结果,2代表本发明的结果,纵坐标表示最优解的范围。
从图3、图4中可以看出,本发明的性能在最优值和平均误差两个方面都要优于现有方法ICSA。
从图5中可以看出,本发明的鲁棒性较好,即解的分布比较集中。
因为本发明设计了基于邻域搜索的克隆算子,避免了重复的搜索,提供了更多不同的搜索路径,所以增加了搜索的广泛性、有效性,并提高了求解的精确度。因此本发明在求解车间作业调度问题时更具优势。
Claims (3)
1.一种基于调度编码的免疫克隆选择作业车间调度方法,包括如下步骤:
(1)输入机器和作业的加工工序以及约束条件信息,运用Giffler和Thompson提出的GT算法对以上信息进行操作,产生调度矩阵;
(2)对调度矩阵进行直接编码作为初始抗体种群P,抗体种群中的每一个抗体Pi即为作业工序一种调度顺序,其中抗体种群表示为P(0)={P1(0),P2(0),...,Pn(0)},n为抗体种群规模;设置最大迭代次数Gmax、克隆规模参数nc、克隆算子中的变异概率pm、记忆单元的大小n1、自由单元的大小n2、抗体死亡概率pd,迭代计数器t=0;
(3)如果迭代计数器达到预先设置的最大值,跳转至步骤(9),否则执行步骤(4);
(4)计算抗体种群P(t)中每一个抗体Pi(t)的“抗体-抗原”亲和力affinity(Pi(t))=-Cmax,其中Cmax表示抗体Pi(t)所对应的调度生产周期;根据亲和力affinity(Pi(t))的大小,将抗体种群划分为记忆单元MP(t)和自由单元NP(t):
其中n1+n2=n;
(5)计算抗体种群P(t)中每一个抗体Pi(t)的克隆规模:
(6)设计基于邻域搜索的克隆算子,并根据克隆规模qi对抗体种群P(t)进行克隆变异操作,产生克隆种群CP(t)={CP1(t),CP2(t),...,CPn(t)};
(7)对克隆种群CP(t)进行克隆选择操作,得到新的抗体种群P′(t)={P′1(t),P′2(t),...,P′n(t)},对记忆单元MP(t)进行更新,对自由单元NP(t)中的抗体以概率pd进行死亡;
(8)计算新的抗体种群P′(t)的“抗体-抗原”亲和力,并根据亲和力的大小更新当前种群的最优抗体,迭代计数器t=t+1,返回(3);
(9)输出当前抗体种群的最优抗体,将最优抗体的编码映射为机器和作业,得到所有作业加工工序在不同机器上的分配顺序,按照该分配顺序对流水车间进行有效的安排调度。
2.根据权利要求1所述的基于调度编码的免疫克隆选择作业车间调度方法,其中步骤(2)所述的对调度矩阵进行直接编码作为初始抗体种群,是将GT算法产生的调度矩阵直接作为抗体的编码,其编码形式为:S=(sij)a×b,其中a是机器数,b是每台机器上加工工序的最大个数,sij表示机器i上第j次加工的工序;S是调度矩阵,它表示所有机器的优先顺序,同时也表示所有作业工序的加工调度顺序。
3.根据权利要求1所述的基于调度编码的免疫克隆选择的作业车间调度方法,其中步骤(6)所述的设计基于邻域搜索的克隆算子,按如下步骤设计:
(6a)一个抗体种群对应一个调度矩阵,找出调度矩阵S中的所有关键块,设这些关键块的个数为c,其中,关键块表示同一机器上拥有最大工序个数的一组工序序列,对所有的关键块在其NS邻域结构下得出k个质量不比S差的子调度矩阵S1,S2,...,Sk,0≤k≤2c;
其中,ci为Si中关键块的个数,dij为关键块中的工序个数,当新产生的调度矩阵的个数满足克隆规模时停止克隆操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100839126A CN102222274A (zh) | 2011-04-02 | 2011-04-02 | 基于调度编码的免疫克隆选择作业车间调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100839126A CN102222274A (zh) | 2011-04-02 | 2011-04-02 | 基于调度编码的免疫克隆选择作业车间调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102222274A true CN102222274A (zh) | 2011-10-19 |
Family
ID=44778819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100839126A Pending CN102222274A (zh) | 2011-04-02 | 2011-04-02 | 基于调度编码的免疫克隆选择作业车间调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102222274A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103439885A (zh) * | 2013-07-26 | 2013-12-11 | 同济大学 | 半导体生产线优化调度装置 |
CN103679388A (zh) * | 2013-12-26 | 2014-03-26 | 杭州万事利丝绸科技有限公司 | 生产调度方法及生产调度系统 |
CN109816262A (zh) * | 2019-01-31 | 2019-05-28 | 贵州大学 | 采用改良免疫遗传算法的柔性作业车间调度方法 |
CN110597218A (zh) * | 2019-10-18 | 2019-12-20 | 天津开发区精诺瀚海数据科技有限公司 | 一种基于柔性化调度的排程优化方法 |
CN111079987A (zh) * | 2019-11-28 | 2020-04-28 | 电子科技大学 | 基于遗传算法的半导体车间生产调度方法 |
-
2011
- 2011-04-02 CN CN2011100839126A patent/CN102222274A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103439885A (zh) * | 2013-07-26 | 2013-12-11 | 同济大学 | 半导体生产线优化调度装置 |
CN103439885B (zh) * | 2013-07-26 | 2016-08-17 | 同济大学 | 半导体生产线优化调度装置 |
CN103679388A (zh) * | 2013-12-26 | 2014-03-26 | 杭州万事利丝绸科技有限公司 | 生产调度方法及生产调度系统 |
CN103679388B (zh) * | 2013-12-26 | 2017-07-04 | 杭州万事利丝绸科技有限公司 | 生产调度方法及生产调度系统 |
CN109816262A (zh) * | 2019-01-31 | 2019-05-28 | 贵州大学 | 采用改良免疫遗传算法的柔性作业车间调度方法 |
CN109816262B (zh) * | 2019-01-31 | 2023-04-28 | 贵州大学 | 采用改良免疫遗传算法的柔性作业车间调度方法 |
CN110597218A (zh) * | 2019-10-18 | 2019-12-20 | 天津开发区精诺瀚海数据科技有限公司 | 一种基于柔性化调度的排程优化方法 |
CN111079987A (zh) * | 2019-11-28 | 2020-04-28 | 电子科技大学 | 基于遗传算法的半导体车间生产调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302096B (zh) | 一种工厂智能调度方法 | |
CN104239213A (zh) | 一种面向航天器自动化测试的并行测试任务两阶段调度方法 | |
CN100456281C (zh) | 数据划分设备和数据划分方法 | |
JP6784780B2 (ja) | 大規模再生可能エネルギーのデータについて確率モデルを構築する方法 | |
CN106339351B (zh) | 一种sgd算法优化系统及方法 | |
CN101593132B (zh) | 基于线程构造模块的多核并行模拟退火方法 | |
CN102331966A (zh) | 面向路径的软件测试数据进化生成系统 | |
CN103729694B (zh) | 基于多色集合层次结构的改进ga求解柔性车间调度的方法 | |
CN102222274A (zh) | 基于调度编码的免疫克隆选择作业车间调度方法 | |
CN105974794A (zh) | 基于改进的猫群算法的离散制造车间调度方法 | |
CN104750973B (zh) | 基于数据平滑度函数的机组负荷(准)稳态工况聚类算法 | |
Rehbach et al. | Comparison of parallel surrogate-assisted optimization approaches | |
CN101717817A (zh) | 对基于随机上下文无关文法的rna二级结构预测进行加速的方法 | |
CN105512954A (zh) | 一种针对大规模柔性作业车间调度的集成搜索方法 | |
CN102663514A (zh) | 一种基于可行均衡机制的约束优化进化算法 | |
CN108510050A (zh) | 一种基于混洗蛙跳的特征选择方法 | |
CN109726858A (zh) | 基于动态时间规整的热负荷预测方法及装置 | |
CN102073311A (zh) | 基于离散量子微粒群算法的机器零件加工流水线调度方法 | |
CN107831740A (zh) | 一种应用于笔记本零件的分布式生产制造过程中的优化调度方法 | |
CN101957760A (zh) | 一种过程执行时间的测定方法 | |
CN110059261A (zh) | 内容推荐方法及装置 | |
CN104317244A (zh) | 一种可重构制造系统零件族构建方法 | |
CN102622334A (zh) | 多线程环境下并行xslt转换方法和装置 | |
CN103353895A (zh) | 一种配电网线损数据的预处理方法 | |
CN105302624A (zh) | 一种可重构编译器中循环流水迭代间启动间距自动分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111019 |