基于调度编码的免疫克隆选择作业车间调度方法技术

技术编号:6818643 阅读:348 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于调度编码的免疫克隆选择作业车间调度方法,主要解决现有技术在求解作业车间调度问题时质量差及效率低的缺点。其实现步骤为:运用GT算法对输入的机器、作业以及约束条件进行操作,产生调度矩阵;对调度矩阵进行直接编码作为抗体种群;计算抗体种群的亲和力,将其划分为记忆单元和自由单元;计算每个抗体的克隆规模;依据克隆规模,使用基于邻域搜索的克隆算子对抗体种群进行克隆变异,得到克隆种群;对克隆种群进行克隆选择,得到新的抗体种群,并对记忆单元和自由单元进行更新和死亡;输出抗体种群中的最优抗体,将其映射为机器和作业的调度顺序。本发明专利技术具有质量好、效率高的优点,可用于求解作业车间调度问题。

【技术实现步骤摘要】

本专利技术属于计算机
,涉及一种自然计算技术在调度问题中的应用,具体地说是基于一种调度编码的克隆算子,运用免疫克隆选择算法解决作业车间调度问题。
技术介绍
作业车间调度JSSP是相互竞争的流水线作业对时间上可共享的机器进行分配的问题,是系统制造、工业规划与运筹技术发展的核心。调度方法与优化技术的研究和应用已成为先进制造技术实践的基础和关键,调度问题的应用不仅局限于计算机和制造业上,也包括运输、服务等其他行业。另外,作业车间调度问题是典型的NP-hard问题,寻求较好的解决方案对于实际的车间作业调度具有重要的应用价值。JSSP可以简单的描述为一个加工系统,有m台机器,要求加工η个作业,其中作业ηi包含的工序为Li,令Z = YjL1,则L为作业集的总工序数,各工序加工时间已确定,并且每i=\个作业的工序必须按照提前确定的先后顺序加工。因此,调度的任务是安排所有作业工序的加工顺序,得到满足工艺约束和资源约束并使加工性能指标达到最优的可行调度方案。JSSP是一种典型的组合优化问题,求解该问题的算法有很多,到目前为止,主要形成了三大类精确算法、启发式算法和智能搜索算法。精确算法主要是指数学规划方法,其主要优点是能够求出较为精确的最优解,适应范围比较广,但是计算复杂度很高,这使得其计算规模容易受到问题规模的限制,因此难以得到实际应用。启发式算法是一种根据已有的信息进行推理和计算,从而获得近似最优解的方法,主要有调度规则、启发图搜索算法和拉格朗日松弛算法。这类方法,设计简单、易于实现,但是精确性不高,搜索效率受到问题规模的影响。智能搜索算法是一类模仿自然界的某些演化机制的算法,具有较好的全局搜索能力。其中,使用遗传算法在解决作业车间调度问题时需要考虑编码问题。传统的基于操作编码存在编码冗余现象,即编码空间与调度空间是多对一的映射关系。随着问题规模的增大,冗余性将大大增加。由于种群空间是有限的,而冗余性会导致多样性的丧失,所以会使搜索效率会大大降低,不能快速得到高质量的作业车间调度方案。
技术实现思路
本专利技术的目的在于克服传统的基于操作编码的不足,提出了一种,以提高车间调度的效率和质量,满足复杂度高的大规模作业车间调度要求。本专利技术的技术方案是运用Giffler和Thompson提出的GT算法对机器和作业的加工工序信息进行操作,产生调度矩阵,并对调度矩阵进行编码,然后使用免疫克隆选择算法对其进行求解,得到满足工艺约束和资源约束并使加工性能指标达到最优的可行调度方案。其具体实现步骤如下(1)输入机器和作业的加工工序以及约束条件信息,运用Giffler和Thompson提出的GT算法对以上信息进行操作,产生调度矩阵;(2)对调度矩阵进行直接编码作为初始抗体种群P,抗体种群中的每一个抗体Pi 即为作业工序一种调度顺序,其中抗体种群表示为P(O) = (P1 (O)jP2(O),..., Pn(0)}, η 抗体种群规模;设置最大迭代次数Gmax、克隆规模参数η。、克隆算子中的变异概率Pm、记忆单元的大小¥自由单元的大小Ii2、抗体死亡概率pd,迭代计数器t = 0 ;(3)如果迭代计数器达到预先设置的最大值,跳转至步骤(9),否则执行步骤(4);(4)计算抗体种群P(t)中每一个抗体Pi (t)的“抗体-抗原”亲和力 affinity (Pi⑴)=-Cmax,其中Cmax表示抗体Pi (t)所对应的调度生产周期;根据亲和力 affinity (PiW)的大小,将抗体种群划分为记忆单元MP (t)和自由单元NP (t) MP{t) = [MP1HIMPM…,MPni (0} ,NP{t) =、NPP2(t\…,NPth (t)}其中n1+n2=η ;(5)计算抗体种群P(t)中每一个抗体Pi(t)的克隆规模权利要求1. 一种,包括如下步骤(1)输入机器和作业的加工工序以及约束条件信息,运用Giffler和Thompson提出的 GT算法对以上信息进行操作,产生调度矩阵;(2)对调度矩阵进行直接编码作为初始抗体种群P,抗体种群中的每一个抗体Pi即为作业工序一种调度顺序,其中抗体种群表示为P(O) = (P1(O)J2(O),...,Pn (0)},η为抗体种群规模;设置最大迭代次数Gmax、克隆规模参数η。、克隆算子中的变异概率Pm、记忆单元的大小叫、自由单元的大小ri2、抗体死亡概率pd,迭代计数器t = 0 ;(3)如果迭代计数器达到预先设置的最大值,跳转至步骤(9),否则执行步骤(4);(4)计算抗体种群P(t)中每一个抗体Pi(t)的“抗体-抗原”亲和力affinity(Pi⑴) 表示抗体Pi (t)所对应的调度生产周期;根据亲和力affinity (Pi (t))的大小,将抗体种群划分为记忆单元MP (t)和自由单元NP (t)2.根据权利要求1所述的,其中步骤 (2)所述的对调度矩阵进行直接编码作为初始抗体种群,是将GT算法产生的调度矩阵直接作为抗体的编码,其编码形式为S = (Su)axb,其中a是机器数,b是每台机器上加工工序的最大个数,Sij表示机器i上第j次加工的工序;S是调度矩阵,它表示所有机器的优先顺序,同时也表示所有作业工序的加工调度顺序。3.根据权利要求1所述的基于调度编码的免疫克隆选择的作业车间调度方法,其中步骤(6)所述的设计基于邻域搜索的克隆算子,按如下步骤设计(6a) 一个抗体种群对应一个调度矩阵,找出调度矩阵S中的所有关键块,设这些关键块的个数为c,其中,关键块表示同一机器上拥有最大工序个数的一组工序序列,对所有的关键块在其NS邻域结构下得出k个质量不比S差的子调度矩阵S1, S2,. . .,Sk,0彡k彡2c ;(6b)将上一步中得到的每一个子调度矩阵Si, i = 1,2,. . .,k,分别以概率pm在其VL邻域结构下进行移动,得出Ii个新的调度矩阵,(ζΣ^;-1),·]· = 1,2,...,Ci,;=1其中,Ci为Si中关键块的个数,Clij为关键块中的工序个数,当新产生的调度矩阵的个数满足克隆规模时停止克隆操作。全文摘要本专利技术公开了一种,主要解决现有技术在求解作业车间调度问题时质量差及效率低的缺点。其实现步骤为运用GT算法对输入的机器、作业以及约束条件进行操作,产生调度矩阵;对调度矩阵进行直接编码作为抗体种群;计算抗体种群的亲和力,将其划分为记忆单元和自由单元;计算每个抗体的克隆规模;依据克隆规模,使用基于邻域搜索的克隆算子对抗体种群进行克隆变异,得到克隆种群;对克隆种群进行克隆选择,得到新的抗体种群,并对记忆单元和自由单元进行更新和死亡;输出抗体种群中的最优抗体,将其映射为机器和作业的调度顺序。本专利技术具有质量好、效率高的优点,可用于求解作业车间调度问题。文档编号G06Q10/00GK102222274SQ20111008391公开日2011年10月19日 申请日期2011年4月2日 优先权日2011年4月2日专利技术者公茂果, 刘芳, 尚荣华, 常伟远, 张晓琳, 戚玉涛, 李阳阳, 焦李成, 郝红侠, 马文萍 申请人:西安电子科技大学本文档来自技高网
...

【技术保护点】
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):(math)??(mrow)?(mi)MP(/mi)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo)=(/mo)?(mo){(/mo)?(msub)?(mi)MP(/mi)?(mn)1(/mn)?(/msub)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo),(/mo)?(msub)?(mi)MP(/mi)?(mn)2(/mn)?(/msub)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo),(/mo)?(mo).(/mo)?(mo).(/mo)?(mo).(/mo)?(mo),(/mo)?(msub)?(mi)MP(/mi)?(msub)?(mi)n(/mi)?(mn)1(/mn)?(/msub)?(/msub)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo)}(/mo)?(mo),(/mo)?(/mrow)?(/math)(math)??(mrow)?(mi)NP(/mi)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo)=(/mo)?(mo){(/mo)?(msub)?(mi)NP(/mi)?(mn)1(/mn)?(/msub)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo),(/mo)?(msub)?(mi)NP(/mi)?(mn)2(/mn)?(/msub)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo),(/mo)?(mo).(/mo)?(mo).(/mo)?(mo).(/mo)?(mo),(/mo)?(msub)?(mi)NP(/mi)?(msub)?(mi)n(/mi)?(mn)2(/mn)?(/msub)?(/msub)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo)}(/mo)?(/mrow)?(/math)其中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)输出当前抗体种群的最优抗体,将最优抗体的编码映射为机器和作业,得到所有作业加工工序在不同机器上的分配顺序,按照该分配顺序对流水车间进行有效的安排调度。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘芳戚玉涛焦李成张晓琳公茂果郝红侠李阳阳尚荣华马文萍常伟远
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:87

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

1