一种新的布谷鸟搜索算法解决作业车间调度问题制造技术

技术编号:15283480 阅读:84 留言:0更新日期:2017-05-06 10:09
本发明专利技术提出了一种新的布谷鸟搜索算法解决作业车间调度问题,该发明专利技术涉及作业车间调度技术领域,突破了布谷鸟搜索算法假设条件多,搜索速度不够快,计算精度不够高,算法应用范围也不够大,以及没有一种算法能够直观地给出作业车间调度方案的算法,本发明专利技术通过把布谷鸟飞向鸟窝的运动转化为鸟窝向布谷鸟移动的视角,确定了鸟窝从四面八方向布谷鸟移动的运动方式,加快了布谷鸟搜索算法的搜索速度,在更新鸟窝位置作了改进,并考虑了紧急订单的处理操作。

A new cuckoo search algorithm for job shop scheduling problem

The invention provides a new cuckoo search algorithm to solve job shop scheduling problem, the present invention relates to the field of job shop scheduling, break the assumption of cuckoo search algorithm, the search speed is not fast enough, the calculation accuracy is not high enough. The application scope of the algorithm is not large enough, and no one algorithm can intuitively plan workshop given the job scheduling algorithm, with the cuckoo fly the nest movement into the nest to move the cuckoo's point of view, to determine the motion of moving from from all sides to the cuckoo nest, accelerate the cuckoo search algorithm in the update has been improved and the nest location, considering the emergency order processing operation the.

【技术实现步骤摘要】
所属领域本专利技术涉及作业车间调度

技术介绍
制造业的竞争日趋激烈,企业正朝着有不同完工时间和产品要求的多类型、小批量、大批量的生产模式。如何利用现有资源,满足加工任务所需各种约束,使所有任务能尽量按时完成,即如何有效地解决作业车间调度(JSP)问题,成为一个十分现实和紧迫的问题。高效的调度算法不可以大大提高生产效率和资源利用率,从而增强企业的竞争能力,因此对JSP的研究有非常重要的理论和现实意义。传统的,一般都采用最优化方法和近似方法来解决作业车间调度方案的自动生成问题。最优化方法包括枚举法和数学规划法。近似法通常使用分支定界法、优先规则、启发式方法、迭代局部搜索算法和进化算法。具体包括列举法、基于优先规则的构造性启发式方法、移动瓶颈法、神经网络方法、Lagrangian松弛法、遗传算法、模拟退火法、禁忌搜索算法、蚁群算法、粒子群算法、萤火虫算法以及各种混合调度算法等。其中,仿生智能群算优化算法能够在较短时间内获得较高质量的解,因而被广泛应用于求解各种生产调度问题,称为复杂优化问题的有效解决途径和国际研究热点。但是,没有一种能够直接将车间作业的属性作为参数,最终得到一组明了的作业车间中生产调度方案解的算法提出。布谷鸟搜索(CuckooSearch,CS)算法是一种新的现代启发式算法,由剑桥大学Yang和拉曼工程学院Deb于2009年提出的。该算法基于某些布谷鸟种类的巢寄生繁育行为和鸟类、果蝇等的莱维飞行(Levyflight)行为特征提出。布谷鸟搜索算法是模拟布谷鸟为寻找合适的产卵的鸟窝而随机游走的寻窝过程。在这个宿主的选择过程中,布谷鸟在繁殖期寻找与孵化期和育雏其相似的雏鸟食性基本相同、卵形与颜色易仿的宿主。多数情况下,宿主一旦识别出寄生卵,就将寄生卵扔出或弃巢,在其他地方另建新巢。而布谷鸟在下一次选择宿主的时候也会放弃该鸟巢而重新选择。为了便于模拟布谷鸟的寻窝方式,Yang和Deb提出了一下3个假设:(1)布谷鸟一次只产一个蛋,并随机选择鸟窝位置进行孵化;(2)在随机选择的一组鸟窝中,最好的鸟窝位置将被保留到下一代;(3)可利用宿主的鸟窝数量n是固定的,宿主发现一个外来鸟蛋的概率为Pa。Pa可以近似看作n个位置较差的鸟窝被随机产生的几个新鸟窝替换的概率,通常设Pa为一个固定值。但布谷鸟搜索算法仍存在搜索速度不快等难题。
技术实现思路
针对现有技术中存在的上述不足,本专利技术要解决的技术问题是提供一种新的布谷鸟搜索算法,解决搜索速度不快的问题。本专利技术的目的是克服现有技术中存在的:布谷鸟搜索算法假设条件多,搜索速度不够快,计算精度不够高,算法应用范围也不够大,以及没有一种算法能够直观地给出作业车间调度方案的算法。本专利技术要实现的目标是最小化最大完工时间。本专利技术为实现上述目的所采用的技术方案是:一种新的布谷鸟搜索算法解决作业车间调度问题,该算法的具体步骤如下:步骤1:初始化算法基本参数:设置鸟窝个数(工件数量)N,宿主发现外来鸟蛋的概率Pa(作业抢占概率),以及最大迭代次数MaxT或搜索精度ε。步骤2:初始化鸟窝位置(工件加工完成时间):根据订单周期To,订单收益R,工件加工时间长度三个方面来确定鸟窝初始位置。步骤3:确定编码规则:按照编码规则将鸟窝位置(完成时间)转换为工序排列。步骤4:计算目标函数值:计算各鸟窝位置对应的目标函数值,并获得当前最优鸟窝位置。步骤5:更新鸟窝位置:考虑了鸟窝数量变化的情况。增加,减少,以及增加的工件订单是否为紧急订单的情况。步骤6:当到达最大搜索次数或满足搜索精度时转入步骤7,否则,转步骤4进行下一次搜索。步骤7:输出最优调度值和对应的调度方案(染色体序列)。本专利技术的有益效果是:1、确定了布谷鸟算法中外来鸟蛋的计算方式,精确高效,使算法更加适用于实际生产环境中。2、对于布谷鸟搜索算法在车间调度问题中的应用上,确定了鸟窝的初始位置的计算方式,是算法结果更加精确,同时计算方法简单,方便高效,实用性高。3、把布谷鸟飞向鸟窝的运动转化为鸟窝向布谷鸟移动的视角,确定了鸟窝从四面八方向布谷鸟移动的运动方式,加快了布谷鸟搜索算法的搜索速度。4、突破了布谷鸟算法的三个假设条件之一:鸟窝数量不变。本专利技术在上一个专利技术考虑鸟窝数量增加的基础上,考虑了鸟窝数量减少的情况。5、确定了订单估计完成时间的计算方法。附图说明图1表示本专利技术的流程图图2表示鸟窝向布谷鸟移动视角图·具体实施方式:以下,结合图1、图2对本
技术实现思路
进行详细解释。步骤1:初始化算法基本参数:设置鸟窝个数(工件数量)N,宿主发现外来鸟蛋的概率Pa(作业抢占概率),以及最大迭代次数MaxT或搜索精度ε:其中,n为第L优先级的鸟巢(工件)数量;步骤2:初始化鸟窝位置(工件加工完成时间):根据订单周期To,订单收益R,工件加工时间长度三个方面来确定鸟窝初始位置,具体方式如下:其中,R为完成该订单所获收益,no为订单o的工件数量;步骤3:确定编码规则:按照编码规则将鸟窝位置(完成时间)转换为工序排列,采用基于工序的编码规则编码,即染色体由w×n×m个基因组成,他们表示一个工序的排列,在这个工序排列中每个工件号最多出现m次,其染色体是由一个二维空间点(x,y)表示,即第x个订单的第y个工件,例如,3×4×3(订单×阶数×工件×机器)的实例,染色体序列为(1,1)(1,2)(2,1)(1,1)(3,1)(3,1)(3,3)(3,2)(1,2)(1,2)(1,1)(1,4),那么,它对应的工件加工序列为:(J1,1,1,J1,2,1,J2,1,1,J1,1,2,J3,1,1,J3,1,2,J3,3,1,J3,2,1,J1,2,1,J1,2,2,J1,1,3,J1,4,1),其中,Jti,j表示第t个订单的第i个工件的第j道工序,j表示工件i出现的次数。因此,上面例子的染色体序列表达的意思是先加工顺序为:第1个订单的第1个工件的第1道工序,加工第1个订单第2个工件的第1道工序,在加工第2个订单第1个工件的第1道工序,加工第1个订单第1个工件的第2道工序,以此类推,最后加工第1个订单第4个工件的第1道工序,因此在解码时就可以按照工件的出现顺序转化为一个调度方案;步骤4:计算目标函数值:计算各鸟窝位置对应的目标函数值,并获得当前最优鸟窝位置,具体实现为:目标函数:f(T)=minmax1≤。≤w{max1≤k≤m{max1≤i≤nToik本文档来自技高网
...
一种新的布谷鸟搜索算法解决作业车间调度问题

【技术保护点】
一种新的布谷鸟搜索算法解决作业车间调度问题,该算法涉及作业车间调度技术领域,其特征是:该算法的详细实施步骤如下:步骤1:初始化算法基本参数:设置鸟窝个数(工件数量)N,宿主发现外来鸟蛋的概率Pa(作业抢占概率),以及最大迭代次数MaxT或搜索精度:其中,n为第L优先级的鸟巢(工件)数量;步骤2:初始化鸟窝位置(工件加工完成时间):根据订单周期,订单收益R,工件加工时间长度三个方面来确定鸟窝初始位置,具体方式如下:其中,R为完成该订单所获收益,no为订单o的工件数量;步骤3:确定编码规则:按照编码规则将鸟窝位置(完成时间)转换为工序排列,采用基于工序的编码规则编码,即染色体由个基因组成,他们表示一个工序的排列,在这个工序排列中每个工件号最多出现m次,其染色体是由一个二维空间点(x,y)表示,即第x个订单的第y个工件,例如,的实例,染色体序列为(1,1)(1,2)(2,1)(1,1)(3,1)(3,1)(3,3)(3,2)(1,2)(1,2)(1,1)(1,4),那么,它对应的工件加工序列为:其中表示第t个订单的第i个工件的第j道工序,j表示工件i出现的次数,因此,上面例子的染色体序列表达的意思是先加工顺序为:第1个订单的第1个工件的第1道工序,加工第1个订单第2个工件的第1道工序,在加工第2个订单第1个工件的第1道工序,加工第1 个订单第1个工件的第2道工序,以此类推,最后加工第1个订单第4个工件的第1道工序,因此在解码时就可以按照工件的出现顺序转化为一个调度方案;步骤4:计算目标函数值:计算各鸟窝位置对应的目标函数值,并获得当前最优鸟窝位置,具体实现为:目标函数:(1)约束条件:其中,式(1)表示目标函数,即完成时间(Makespan);式(2)表示工艺约束条件决定的每个工件的操作的先后顺序;式(3)表示加工每个工件的每台机器的先后顺序;式(4)表示完工时间变量约束条件;式(5)表示变量可能的取值大小;式(6)表示第o个订单的所有工件最大完成时间小于订单周期的时间约束,上述公式中所涉及的符号定义含义如下:分别为第o个订单(或阶数)中的第i个工件在机器k上的完成时间点和加工时间长度;M是一个足够大的整数;分别为指示系数和指示变量,其含义为:步骤5:更新鸟窝位置:(1)一种情况:如果没有新的鸟窝出现(鸟窝数量没有增加(没有新的订单的出现)):开始迭代,保留上代最优鸟窝位置不变,更新鸟窝位置(即全局搜索),从而随机产生下一代鸟窝,并评估位置更新后每个鸟窝的目标函数值,记录当前最优鸟窝位置,具体实施方案如下数学公式所示:(9)其中,表示第i只布谷鸟在第t代的鸟窝位置(在车间调度问题中用表示),是步长大小参数,是一个概率值,参数S是随机游动的步长,设定的确定方式如下式:(10)其中,为第i只鸟窝与布谷鸟在t时刻的距离,k为有相同距离的鸟窝个数;S的计算方式:把布谷鸟进行飞行搜索鸟窝的过程反过来看成是鸟窝在向布谷鸟移动,此时,把布谷鸟飞向鸟窝的运动转化为鸟窝向布谷鸟移动的视角,具体实现方式为:设立两个服从于正态分布的随机参数:式中d是鸟窝与布谷鸟之间的距离,这时会使鸟窝从四面八方向布谷鸟移动如图2所示, 根据余弦定理,可求得S:在局部搜索时对每一鸟窝位置按条件进行更新:用一个随机数Ra作为鸟窝主人发现外来鸟蛋的概率并与Pa进行比较,若Ra>Pa,则随机改变鸟窝位置,否则保持原来位置不变,并计算位置移动后每个鸟窝的目标函数值,记录当前最优鸟窝位置,用如下0‑1规划模型表示:(13)(2)另一种情况:如果有新的鸟窝出现(有新的订单出现),鸟窝数量增加,即:N+H,H为新增的鸟窝数量,同时,判断是否为紧急订单:是,则做紧急订单处理操作,把该订单的工件设置为所需加工的工序的优先级,不是紧急订单,则不做紧急处理;紧急订单处理操作如下:计算紧急系数,紧急系数越大的订单紧急程度越大,越需要得到优先处理,紧急系数的计算如下:其中,为订单o的估计完成时间,其计算方式为:其中,,实数,R为完成该订单所获收益,no为订单o的工件数量;当有鸟窝数量减少(有订单还没加工完就被迫撤离)的时候,直接定义N=N‑Z,其中,Z为减少的鸟窝数量,算法依旧依照上述算法执行;步骤6:当到达最大搜索次数或满足搜索精度时转入步骤7,否则,转步骤4进行下一次搜索;步骤7:输出最优调度值和对应的调度方案(染色体序列)。...

【技术特征摘要】
1.一种新的布谷鸟搜索算法解决作业车间调度问题,该算法涉及作业车间调度技术领域,其特征是:该算法的详细实施步骤如下:步骤1:初始化算法基本参数:设置鸟窝个数(工件数量)N,宿主发现外来鸟蛋的概率Pa(作业抢占概率),以及最大迭代次数MaxT或搜索精度:其中,n为第L优先级的鸟巢(工件)数量;步骤2:初始化鸟窝位置(工件加工完成时间):根据订单周期,订单收益R,工件加工时间长度三个方面来确定鸟窝初始位置,具体方式如下:其中,R为完成该订单所获收益,no为订单o的工件数量;步骤3:确定编码规则:按照编码规则将鸟窝位置(完成时间)转换为工序排列,采用基于工序的编码规则编码,即染色体由个基因组成,他们表示一个工序的排列,在这个工序排列中每个工件号最多出现m次,其染色体是由一个二维空间点(x,y)表示,即第x个订单的第y个工件,例如,的实例,染色体序列为(1,1)(1,2)(2,1)(1,1)(3,1)(3,1)(3,3)(3,2)(1,2)(1,2)(1,1)(1,4),那么,它对应的工件加工序列为:其中表示第t个订单的第i个工件的第j道工序,j表示工件i出现的次数,因此,上面例子的染色体序列表达的意思是先加工顺序为:第1个订单的第1个工件的第1道工序,加工第1个订单第2个工件的第1道工序,在加工第2个订单第1个工件的第1道工序,加工第1个订单第1个工件的第2道工序,以此类推,最后加工第1个订单第4个工件的第1道工序,因此在解码时就可以按照工件的出现顺序转化为一个调度方案;步骤4:计算目标函数值:计算各鸟窝位置对应的目标函数值,并获得当前最优鸟窝位置,具体实现为:目标函数:(1)约束条件:其中,式(1)表示目标函数,即完成时间(Makespan);式(2)表示工艺约束条件决定的每个工件的操作的先后顺序;式(3)表示加工每个工件的每台机器的先后顺序;式(4)表示完工时间变量约束条件;式(5)表示变量可能的取值大小;式(6)表示第o个订单的所有工件最大完成时间小于订单周期的时间约束,上述公式中所涉及的符号定义含义如下:分别为第o个订单(或阶数)中的第i个工件在机器k上的完成时间点和加工时间长度;M是一个足够大的整数;分别为指示系数和指示变量,其含义为:步骤5:更新鸟窝位置:(1)一种情况:如果没有新...

【专利技术属性】
技术研发人员:姜艾佳胡成华
申请(专利权)人:四川用联信息技术有限公司
类型:发明
国别省市:四川;51

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

1