一种智能的优化调度方法与流程

文档序号:14187055阅读:705来源:国知局
本发明涉及生产调度领域,具体地,涉及一种智能的优化调度方法。
背景技术
:在工业界的实际生产过程中,许多工作的一个或多个阶段都由多台处理机共同完成。鉴于流水作业特征以及某些工序上存在并行机的特点,多处理机任务混合流水车间调度问题(hybridflow-shopschedulingproblemwithmultiprocessortasks,hfspmt)有着很强的工业背景,广泛存在于机械制造、冶金、精细化工、半导体制造,微处理器系统,机器视觉,物流等多个领域。hfspmt具有较大的复杂性,属于np-hard问题。因此,传统的精确求解算法与启发式算法分别在求解时间与解的精度上无法满足生产要求,不适合用于hfspmt的求解。而智能算法能够兼顾求解时间与解的精度,常用于各种类型的调度问题求解。目前,对hfspmt的求解大多局限于遗传算法、粒子群算法等相对成熟的智能算法,而较少涉及新型的智能算法。另外,在求解复杂问题时,已有的智能算法通常容易陷入局部最优,并且存在收敛速度缓慢、精度不高等缺陷。技术实现要素:为了克服目前求解hfspmt智能算法的不足,丰富新型智能算法在hfspmt中的应用,本发明目的在于提供一种能有效求解hfspmt,生成最优调度方案的新型智能方法。本发明解决其技术问题所采用的技术方案是:一种智能的优化调度方法,该方法应用基于levy飞行的萤火虫算法以及新的解码方式。萤火虫算法作为一种新的群智能方法,在求解复杂优化问题时有着更强的寻优能力。引入levy飞行可在局部最优值持续不变时,扩大搜索范围,跳出局部最优,避免发生过早收敛。新的解码算法则能使算法生成最优的调度方案。具体过程包括以下几个步骤:1)已知一个包含n个工作的集合j={1,2,…,n},在有k个阶段的流水线上被处理,每个阶段i有mi个平行处理机,i=1,2,…,k,将每个工作视作k个任务的一个序列,每个阶段的任务必须在前一阶段的任务完成后才能够被处理。一件工作中的每个任务都需要对应阶段的一个或多个处理机同时连续地处理一段时间。用sizeij与pij表示工作j在阶段i所需的处理机数量与花费的时间;i=1,2,…,k,j∈j。将求解问题需要的size和p矩阵输入系统。2)参数设置,种群个体数n、最大迭代次数tmax、随机参数α、个体吸引力β0、介质吸收率γ,levy随机参数c;其中令n=20,tmax=500,α=0.5,β0=0.2,γ=1,c=1.5。3)种群个体初始化。生成种群x=(x1,x2,…,xn),种群中的第s个个体xs=(xs1,…,xsn),xsj为0~n之间的实数,s∈{1,2,…,n},j∈{1,2,…,n}。由于个体xs的坐标是连续的实数,而工作序列是离散的整数序列,用最小排序方法将连续坐标转化为工作序列,即将个体xs=(xs1,…,xsn)的各个维度从小到大排序,排序的序号构成的整数序列作为初始工作序列π1。4)计算每个个体对应的最大完成时间cmax。萤火虫算法的目标函数为序列对应的最大完成时间cmax。本发明基于先到先得的原则,根据前一阶段各工作的完成时间顺序构造下一阶段的工作序列,然后根据一定规则对生成的工作序列进行适当调整,灵活地进行工作排序,减少加工过程的空闲时间,最终得到最优的调度方案及最大完成时间cmax。4.1)i=1时,根据构造出第1个阶段的调度方案。其中h∈j,π1(h)表示序列π1中第h个元素的值,表示工作π1(h)在第1个阶段所需的处理机数量。4.2)将第i阶段的各工作加工完成时间进行非递减顺序排序,得到第i+1个阶段的调度序列πi+1。对于任意的πi(h)和πi(l),h,l∈j,当且h<l时,进行πi+1排序时假定4.3)令j=1,根据适当规则调整序列πi+1中第j和j+1个工作的次序。对于阶段i中相邻的三个工作a,b,c,即a=πi,p,b=πi,p+1,c=πi,p+2。根据stia与stib的关系,可分别提出以下规则来得到更优的处理序列。a.stia>stib规则1-i,若sizeib+sizeic>mi,sizeia+sizeic>mi,则交换a与b的处理顺序。规则1-ii,若sizeib+sizeic≤mi,sizeia+sizeic>mi,sizeia+sizeib>mi,且max{{stib+pib,stia}+pia,stic}<max{stia+pia+pib,stic+pic},则交换a与b的处理顺序。规则1-iii,若sizeib+sizeic>mi,sizeia+sizeic≤mi,则交换a与b的处理顺序。规则1-iv,若sizeib+sizeic≤mi,sizeia+sizeic≤mi,则交换a与b的处理顺序。b.stia=stib规则2,若sizeia+sizeib>mi,sizeib+sizeic>mi,sizeia+sizeic≤mi,则交换a与b的处理顺序。c.stia<stib规则3,若stia+pia>stib,sizeia+sizeib>mi,sizeib+sizeic>mi,sizeia+sizeic≤mi,则交换a与b的处理顺序。其中,stia、stib、stic分别表示工作a、b、c在阶段i的最早开始时间,sizeia、sizeib、sizeic分别表示工作a、b、c在阶段i所需的处理机数量,pia、pib、pic分别表示工作a、b、c在阶段i的处理时间,mi表示阶段i的处理机总量4.4)若j=n-2计算πi+1中各工作的完成时间,继续;否则j=j+1,转至步骤4.3)。4.5)若i=k-1,πi+1各工作的完成时间中最大值即为目标函数最大完成时间cmax,继续;否则i=i+1,转步骤4.2)。4.6)将该个体cmax与全局最优值gbest进行比较,若cmax<gbest,则令gbest=cmax,同时i=1,2,…,k,用记录该个体在阶段i的调度序列πi。5)对于每个个体,如在种群中有cmax更小的个体,则按照式(4)向该个体移动。其中,v表示个体移动的速度,xl和yl是符合正态分布的随机数,它们的标准差为和c是levy随机参数,和满足:式(4)表示个体xs向更亮个体xb移动。其中γ表示欧拉第二积分伽马函数,α为[0,1]间的值,β0为距离为0时的吸引力,常数γ为介质的吸收率,rsb为个体xs和个体xb的之间的欧几里德距离;c∈[0.3,1.99],决定了levy飞行分布的性质,c越小则levy飞行的特性越显著,c>2时基本等同于正态分布;v∈[-1,1]。随机搜索的方向由v决定,步长由v与随机参数α决定。levy飞行行走步长满足一个重尾的稳定分布,在这种形式的行走中,短距离的探索与偶尔较长距离的行走相间。因此,引入levy飞行能扩大算法搜索范围,增加种群多样性,并且更容易跳出局部最优点。6)迭代次数达到tmax输出gbest和调度方案i=1,2,…,k,否则转至步骤4)。本发明的技术构思为:利用改进的群智能优化方法对多处理机任务混合流水车间调度问题进行求解,在提高算法随机搜索性能的同时,通过levy飞行的自调节步长避免陷入局部最优。本发明的有益效果主要表现在:提出的工序调整规则能加快算法的收敛速度,缩减算法的运行时间,通过引入levy飞行机制来避免算法陷入局部最优解,提升全局搜索的广度,所述的智能的优化调度方法具有更强的随机搜索性能,同时能够避免陷入局部最优,生成最优调度方案。附图说明图1是本发明的流程图。图2是根据技术方案4.3)中规则1-i交换工作a,b的示意图。图3是根据技术方案4.3)中规则1-ii交换工作a,b的示意图。图4是根据技术方案4.3)中规则2交换工作a,b的示意图。图5是根据技术方案4.3)中规则2交换工作a,b的示意图。图6是根据技术方案4.3)中规则3交换工作a,b的示意图。图7是根据技术方案4.3)中规则3调整调度方案的示意图。图8是示例的已知数据图。图9是示例的调度结果甘特图。具体实施方式下面根据附图具体说明本发明。假设2阶段混合流水车间要安排9个工作,每个阶段有5个处理机。操作时间和每个工作需要的处理机参照图8。参照图1。本方法流程包括以下几个步骤:1)矩阵size和p的值根据图8输入。2)参数设置,种群个体数n、最大迭代次数tmax、随机参数α、个体吸引力β0、介质吸收率γ,levy随机参数c;其中令n=20,tmax=500,α=0.5,β0=0.2,γ=1,c=1.5。3)种群个体初始化。生成种群x=(x1,x2,…,xn),种群中的第s个个体xs=(xs1,…,xs9),xsj为0~9之间的实数,s∈{1,2,…,n},j∈{1,2,…,9}。由于个体xs的坐标是连续的实数,而工作序列是离散的整数序列,用最小排序方法将连续坐标转化为工作序列,即将个体xs=(xs1,…,xs9)的各个维度从小到大排序,排序的序号构成的整数序列作为初始工作序列π1。以表1为例,来说明π1:表1:最小排序方法示例j123456789xsj1.890.651.242.435.895.123.957.538.27π1中位置312476589根据表1所示的最小排序方法,得到第1阶段的工作序列π1=(231476589)。4)计算每个个体对应的最大完成时间cmax,整个过程参照图9。萤火虫算法的目标函数为序列对应的最大完成时间cmax。本发明基于先到先得的原则,根据前一阶段各工作的完成时间顺序构造下一阶段的工作序列,然后根据一定规则对生成的工作序列进行适当调整,灵活地进行工作排序,减少加工过程的空闲时间,最终得到最优的调度方案及最大完成时间cmax。4.1)i=1时,根据构造出第1个阶段的调度方案,h∈{1,2,…,9},π1(h)表示序列π1中第h个元素的值,表示工作π1(h)在第1个阶段所需的处理机数量。根据π1=(231476589)和相应的处理机要求从0时刻开始分配任务,整个过程保证调度方案不违背序列π1的先后关系,最后得到阶段1所有工作的调度方案,参照图9。4.2)将第1阶段的各工作加工完成时间进行非递减顺序排序,得到第2个阶段的调度序列π2=(213764859)。4.3)令j=1,根据规则开始调整序列π2中第j和j+1个工作的次序。调整过程中发现,对于任意相邻的三个工作a,b,c,都有stia<stib。对照规则3,只有j=5时满足条件,交换a与b的处理顺序可得到π2=(213746859)。具体过程如图3-7所示。4.4)若j=7计算π2中各工作的完成时间,继续;否则j=j+1,转至步骤4.3)。4.5)i=k-1,因此π2=(213746859)各工作的完成时间中最大值即为目标函数最大完成时间cmax,cmax=20,调度方案参照图9。4.6)将该个体cmax=20与全局最优值gbest进行比较,若cmax<gbest,则令gbest=cmax,同时记录该个体在两个阶段的调度序列π1和π2。5)对于每个个体,如在种群中有cmax更小的个体,则按照式(4)向该个体移动。其中,v表示个体移动的速度,xl和yl是符合正态分布的随机数,它们的标准差为和c是levy随机参数,和满足:式(4)表示个体xs向更亮个体xb移动。其中γ表示欧拉第二积分伽马函数,α为[0,1]间的值,β0为距离为0时的吸引力,常数γ为介质的吸收率,rsb为个体xs和个体xb的之间的欧几里德距离;c∈[0.3,1.99],决定了levy飞行分布的性质,c越小则levy飞行的特性越显著,c>2时基本等同于正态分布;v∈[-1,1]。随机搜索的方向由v决定,步长由v与随机参数α决定。levy飞行行走步长满足一个重尾的稳定分布,在这种形式的行走中,短距离的探索与偶尔较长距离的行走相间。因此,引入levy飞行能扩大算法搜索范围,增加种群多样性,并且更容易跳出局部最优点。6)迭代次数达到tmax输出gbest和调度方案否则转至步骤4)。上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1