一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

考虑切换时间的两班倒多任务调度优化方法与流程

2022-03-16 13:32:11 来源:中国专利 TAG:


1.本发明涉及多任务调度决策优化问题,具体为一种考虑切换时间的两班倒多任务调度优化方法。


背景技术:

2.多任务调度(multitasking scheduling)将单一任务的处理方式拓展到多个任务的处理方式,突破了机器只能专注安排单一工件的限制,考虑所有工件加工方式的多样性及加工过程的复杂需求。两班倒(two shift pattern)指工作时间可以分为白班和夜班,工人可以选择在白班加工工件或者是夜班加工工件。生产调度(scheduling)是保障生产过程有序、平稳、均衡、高效运转的神经中枢,是制约生产系统性能的关键环节。传统生产调度研究侧重于寻求优化方案,但是生产车间工艺复杂、约束条件多,导致优化空间小、优化难度大。
3.在实际生产和服务系统中,两班倒工作制普遍存在频繁应用。通常情况,白班的工人处理白班的任务,夜班的工人处理夜班的任务。特别地,任务需要连续加工尽早完工,存在以下加工场景:在零部件装配过程中,每个班次工人需要记录任务处理情况,下一个班次处理同一任务时,需要一个准备时间确认工件的状态,清洗工具,再进行下一步加工,定义这一时间为工件的切换时间。


技术实现要素:

4.要解决的技术问题
5.两班倒多任务调度问题旨在优化两班倒工作制下多任务调度方案以最小化其调度目标,考虑多任务的不同加工方式,分析任务切换与切换时间的影响关系,得到多任务调度方案,为车间两班倒工作制多任务调度优化提供理论支撑,也是本发明要解决的问题。
6.本发明的技术方案为:
7.一种考虑切换时间的两班倒多任务调度优化方法,包括以下步骤:
8.步骤1:针对考虑切换时间的两班倒的多任务调度问题,构建任务在奇偶加工区间切换一次的多任务调度模型:模型的优化目标为最小化完工时间和;
9.步骤2:采用基于最优解性质的动态规划算法对步骤1中考虑切换时间的两班倒的多任务调度问题进行求解,得到最优调度。
10.进一步的,所述考虑切换时间的两班倒的多任务调度问题为:
11.给定包含n个工件的工件集合j={j1,j2,

,jn ,工件jj的加工时间为pj,工期为dj,记
12.将单台机器的时间分为奇数区间和偶数区间;定义[0,τo],[τo τe,2τo τe],[2(τo τe),2(τo τe) τo],

记作[a(τo τe),a(τo τe) τo],a={0,1,2,

为奇数区间;定义[τo,τo τe],[2τo τe,2(τo τe)],[3τo 2τe,3(τo τe)],

记作[b(τo τe)-τe,b(τo τe)],b={1,2,

为偶数区间;
[0013]
安排工件在机器上加工,工件有三种加工方式:1、工件仅在奇数区间加工;2、工件仅在偶数区间加工;3、工件在奇数和偶数区间切换并加工完成;前两种加工方式的工件称为非切换工件,第三种加工方式的工件称为切换工件;
[0014]
工件在0时刻到达,机器在0时刻开始加工,工件在每个区间开始加工没有准备时间,工件加工过程可中断,工件可选择在相邻的时间区间切换一次,切换过程不允许其他工件打断,工件从当前区间切换到相邻区间时,在相邻区间产生一个切换时间s,s为正实数,工件切换至多一次,记pj≤min{τo,τe}。
[0015]
进一步的,所述考虑切换时间的两班倒的多任务调度问题是np难的,问题的最优调度具有的性质如下:
[0016]
性质1:每个仅在奇数或偶数加工完成的非切换工件满足spt规则,且机器无空闲;
[0017]
性质2:每个在奇数和偶数区间连续加工切换工件满足spt规则,且机器无空闲。
[0018]
进一步的,步骤2中基于最优解性质的动态规划算法为:
[0019]
令(j,to,ko,ke)为可行的部分调度集合{j1,j2,

,jj}的状态向量,其中,参数to表示在奇数区间的工件初始加工时间和;参数ko表示在奇数区间的切换时间的数量和;参数ke表示在偶数区间的切换时间的数量和;f(j,to,ko,ke)表示最小化对应部分调度的总完工时间和,其中,j,ko,ke=0,1,

,n,此外,标记τ
j,o
为工件jj在奇数区间完工,当前区间的空闲时间;τ
j,e
为工件jj在偶数区间完工,当前区间的空闲时间,j=0,1,

,n;
[0020]
具体动态规划算法步骤为:
[0021]
步骤2.1:将工件集j中所有工件按照spt规则进行排序,且重新标号,可得到初始序列:p1≤p2≤

≤pn;
[0022]
步骤2.2:确定边界条件:
[0023][0024]
步骤2.3:算法迭代:
[0025]
对于j=ko,ke=0,1,

,n;0《∈
j,o
《τo,o《∈
j,e
《τe。
[0026][0027]
其中,
[0028][0029]
条件1:s《∈o《pj且
[0030][0031]
条件2:s《∈e《pj且
[0032]
步骤2.4:得到最优目标z
*
=min{f(j,to,ko,ke)|0≤to≤p,ko=0,1,

n,ke=0,1,

,n},且通过逆向回溯得到最优排序。
[0033]
1.根据权利要求4所述一种考虑切换时间的两班倒多任务调度优化方法,其特征在于:采用动态规划算法对考虑切换时间的两班倒的多任务调度问题进行求解,得到最优调度的时间复杂度为o(n3p),其中状态变量to最多有p种可能,ko最多有n种可能,ke最多有n种可能。
[0034]
有益效果
[0035]
本发明以两班倒多任务加工为研究对象,考虑工件在不同班次之间切换对生产目标影响的实际问题。通过建立工件切换的模型,分析工件切换的切换时间与班次的关系,设计伪多项式时间的动态规划算法,得到多任务调度决策方案。本发明面向生产实际,旨在为企业协调两班倒工作制的多任务调度优化决策提供理论依据,也为三班倒等工作模式提供可借鉴的研究模式。
[0036]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0037]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0038]
图1:算法最优性质情形1示意图;
[0039]
图2:算法最优性质情形3中示意图;
[0040]
图3:算法最优性质情形3中示意图;
[0041]
图4:实例1的工件排序示意图。
具体实施方式
[0042]
本发明提出了两班倒的多任务调度问题,考虑任务在不同班次之间切换需要切换时间的两班倒多任务调度模型,通过设计伪多项式时间的动态规划算法给出多任务决策方
案。并通过实例给出验证,进一步验证了本发明方法的合理性。
[0043]
考虑切换时间的两班倒的多任务调度问题可以描述为:给定包含n个工件的工件集合j={j1,j2,

,jn},工件jj的加工时间为pj,工期为dj,记将单台机器的时间分为奇数时间区间(odd periods)和偶数时间区间(even periods),定义[0,τo],[τo τe,2τo τe],[2(τo τe),2(τo τe) τo],

记作[a(τo τe),a(τo τe) τo],a={0,1,2,

}为奇数区间;定义[τo,τo τe],[2τo τe,2(τo τe)],[3τo 2τe,3(τo τe)],

记作[b(τo τe)-τe,b(τo τe)],b={1,2,

}为偶数区间。安排工件在机器上加工,工件有三种加工方式:1、工件仅在奇数区间加工;2、工件仅在偶数区间加工;3、工件在奇数和偶数区间切换并加工完成。前两种加工方式的工件称为非切换工件(non-switch job),第三种加工方式的工件称为切换工件(switch job)。工件在0时刻到达,机器在0时刻开始加工,工件在每个区间开始加工没有准备时间,工件加工过程可中断。工件可选择在相邻的时间区间(odd-even period或者even-odd period)切换一次,切换过程不允许其他工件打断,工件从当前区间切换到相邻区间时,在相邻区间产生一个切换时间(switching time)s,s为正实数,我们假设工件切换至多一次,记pj≤min{τo,τe}。综上,我们将工件切换一次模型记作“alt-switch-once”(alternate switch-once)。
[0044]
步骤1:考虑任务在奇偶加工区间切换一次的多任务调度模型与证明最优解性质。
[0045]
优化目标为最小化完工时间和,即所研究的考虑任务在奇偶加工区间切换一次的多任务调度问题表示为:1|alt-switch-once|∑cj。经证明问题是np难的。问题最优解所具有的性质如下:
[0046]
在问题1|alt-switch-once|∑cj中,任意最优调度满足以下两点性质:
[0047]
性质1:每个仅在奇数(或偶数)加工完成的非切换工件满足spt规则,且机器无空闲。
[0048]
性质2:每个在奇数和偶数区间连续加工切换工件满足spt规则,且机器无空闲。
[0049]
以下仅证明性质2成立:由问题定义易证在连续的加工过程中机器无空闲。对于任意的两个相邻的切换工件ji和工件jj,存在三种情形:
[0050]
情形1:工件ji和工件jj均从奇数区间切换到偶数区间。
[0051]
情形2:工件ji和工件jj均从偶数区间切换到奇数区间。
[0052]
情形3:工件ji从奇数区间切换到偶数区间,工件jj从偶数区间切换到奇数区间,反之亦然。
[0053]
我们假设存在一个序列σ=(π1,jj,π,ji,π2),其中π1,π,π2分别表示排序σ中的三个子序列且工件ji和工件jj的加工时间满足:pi《pj。因为工件ji和工件jj为相邻的两个切换工件,所以,子序列π中仅包括非切换工件且非空。现将工件ji和工件jj交换位置得到新的序列σ

=(π1,ji,π,jj,π2),其中工件ji和工件jj均为切换工件,否则,工件ji为非切换工件情形已在性质1中考虑。
[0054]
情形1:观察可得ci(σ

)《cj(σ),其中,ci(σ

)和cj(σ)分别表示在序列σ

中工件ji的完工时间和在序列σ中工件jj的完工时间,且均包括一个切换时间s。定义cj(σ)-ci(σ

)=∈为工件ji在序列σ

中相对于工件jj在序列σ中的提前量,可得到cj(σ

)=ci(σ) ∈。因为工件ji和工件jj均从奇数区间切换到偶数区间加工的工件,所以,π非空。在序列σ

的子序列π
中,假设非切换工件在偶数区间完工,由于工件ji和工件jj交换位置,所以在新的序列σ

中,非切换工件提前完工的量为∈,所以可得到∑c
π


)《∑c
π
(σ);如果没有非切换工件在偶数区间完成,那么在序列π2中存在第一个工件jk将要在工件jj之前,工件ji之后加工部分,在这种情况下,∑c
π


)=∑c
π
(σ),如图1所示。综上可得:(σ),如图1所示。综上可得:可推断序列σ

优于序列σ。
[0055]
情形2类似于情形1。
[0056]
情形3:如果可以得到cj(σ

)《ci(σ),由pi《pj可得到ci(σ

)《cj(σ),由此可见如图2所示。如果因为ci(σ

)《cj(σ),那么在序列σ

的自序列π中的非切换工件在偶数加工区间加工将要提前,所以可得∑c
π


)《∑c
π
(σ)。这种情形下,cj(σ

)=ci(σ),如图3所示。综上可推断出序列σ

优于序列σ。
[0057]
证毕。
[0058]
步骤2、采用基于最优解性质的动态规划算法求解。
[0059]
基于最优解性质,我们给出以下的动态规划算法。令(j,to,ko,ke)为可行的部分调度集合{j1,j2,

,jj}的状态向量,其中,参数to表示在奇数区间的工件初始加工时间和;参数ko表示在奇数区间的切换时间的数量和;参数ke表示在偶数区间的切换时间的数量和。f(j,to,ko,ke)表示最小化对应部分调度的总完工时间和,其中,j,ko,ke=0,1,

,n,除此之外,我们标记∈
j,o
为工件jj在奇数区间完工,当前区间的空闲时间;∈
j,e
为工件jj在偶数区间完工,当前区间的空闲时间,j=0,1,

,n。
[0060]
因此,状态向量(j,to,ko,ke)可以由之前的状态向量得到,可能考虑以下四种情形:
[0061]
(1)工件jj作为非切换工件仅在奇数区间完工。在这种情形下,状态向量(j,to,ko,ke)由状态向量(j-1,t
o-pj,ko,ke)得到,且有)得到,且有其中等式右边第二到四项表示工件jj的完工时间。此时,i=1,2,

,j-1。
[0062]
(2)工件jj作为非切换工件仅在偶数区间完工。在这种情形下,状态向量(j,to,ko,ke)由状态向量(j-1,to,ko,ke)得到,且有其中等式右边第二到五项表示工件jj的完工时间。此时,的完工时间。此时,i=1,2,

,j-1。
[0063]
(3)工件jj作为切换工件在奇数-偶数区间完工,工件在奇数区间开始,在偶数区间完成。在这种情形下,状态向量(j,to,ko,ke)由状态向量(j-1,t
o-∈o,ko,k
e-1)得到,且有
f(j,to,ko,ke)=f
o-e
(j,to,ko,ke),其中,),其中,
[0064]
条件1:s《∈o《pj且保证了工件jj可以作为切换工件从奇数切换到偶数区间。其中等式右边第二到四项表示工件jj的完工时间。此时,∈
j,e
=τ
e-(s p
j-∈o),∈
i,o
=0,i=1,2,

,j-1。
[0065]
(4)工件jj作为切换工件在偶数-奇数区间完工,工件在偶数区间开始,在奇数区间完成。在这种情形下,状态向量(j,to,ko,ke)由状态向量(j-1,t
o-(p
j-∈e),k
o-1,ke)得到,且有f(j,to,ko,ke)=f
e-o
(j,to,ko,ke),其中,),其中,
[0066]
条件2:s《∈e《pj且保证了工件jj可以作为切换工件从偶数切换到奇数区间。其中等式右边第二到四项表示工件jj的完工时间。此时,∈
j,o
=τ
o-(s p
j-∈e),∈
i,e
=0,i=1,2,

,j-1。
[0067]
动态规划算法dp-alt c1:
[0068]
步骤a:(初始化)将工件集j中所有工件按照spt(shortest processing time fitst)规则进行排序,且重新标号,可得到初始序列:p1≤p2≤

≤pn。
[0069]
步骤b:(边界条件)
[0070][0071]
步骤c:(迭代过程)
[0072]
对于j=ko,ke=0,1,

,n;0《∈
j,o
《τo,o《∈
j,e
《τe。
[0073][0074]
其中,
[0075][0076]
条件1:s《∈o《pj且
[0077][0078]
条件2:s《∈e《pj且
[0079]
步骤d:(最优解):最优目标z
*
=min{f(j,to,ko,ke)|0≤to≤p,ko=0,1,

n,ke=0,1,

,n},且通过逆向回溯得到最优排序。
[0080]
步骤3、时间复杂度分析
[0081]
问题1|alt-switch-once|∑cj可通过动态规划算法dp-alt c1在时间为o(n3p)内求得最优解。由于算法利用最优解结构性质,比较所有可能产生的状态空间,所以它生成一个最优调度。步骤a实现排序过程需要o(nlogn),在步骤c中,对于状态变量to最多有p种可能;ko最多有n种可能;ke最多有n种可能。因此可以在o(n3p)时间内实现,同时也是整个算法的时间复杂度。
[0082]
【实例1】单机环境,奇数时间区间长度为10,偶数区间长度为8,切换时间为1。3个工件的初始加工时间长如表1所示。
[0083]
表1工件的初始加工时间
[0084][0085]
根据动态规划算法dp-alt c1得到最优的调度方案为:j1仅在奇数区间加工;j2在奇数和偶数区间加工并且从奇数区间切换到偶数区间;j3在偶数和奇数区间加工并且从偶数区间切换到奇数区间。最优目标值为z
*
=f(2,12,1,1)=40,具体如图4所示。
[0086]
下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0087]
工件机器信息如下:单机环境,奇数时间区间长度为τo=10;偶数区间长度为τe=8,工件切换时间为s=1。工件初始加工长度(p1,p2,p3)=(6,6,7)。
[0088]
1)由边界条件f(0,0,0,0)=0并且f(j,ko,ke,to)= ∞,对于to≠0,1,

,19,且∈
0,o
=0,∈
0,e
=0。工件spt规则排序j1→
j2→
j3。
[0089]
2)对于j=1,ko=0,1,ke=0,1,to=0,1,

,6,我们可以通过迭代方程计算得到
此状态下∈
1,e
=2。
[0090]
类似地,可以得到所有可能的状态向量:类似地,可以得到所有可能的状态向量:此状态下∈
1,o
=4。
[0091]
3)对于j=2,ko=0,1,2,ke=0,1,2,to=0,1,

,12,我们可以通过迭代方程计算得到f(2,0,0,0)=f(1,0,0,0) 32=48,此时,∈
2,o
=0,∈
2,e
=6。
[0092]
类似地,可以得到所有可能的状态向量:f(2,6,0,0)=min{f(1,0,0,0) 5,f(1,6,0,0) 16}=22,此时,∈
2,o
=4,∈
2,e
=2。
[0093]
对于to=10,ko=0,ke=1,因为s《∈
1,o
=4《p2,且我们可以得到可以得到此时,∈
2,o
=0,∈
2,e
=5。
[0094]
同样地,我们可得到f(2,12,0,0)=f(1,6,0,0) 20=26,此时,∈
2,o
=8,∈
2,e
=0。
[0095]
4)对于j=3,ko=0,1,2,3,ke=0,1,2,3,且to=0,1,

,19,我们可以通过迭代方程计算得到f(3,0,0,0)=f(2,0,0,0) 49=81,同样的,可以得到所有可能的状态向量:
[0096]
f(3,6,0,0)=f(2,6,0,0) 33=55;
[0097]
f(37,0,0)=f(2,0,0,0) 7=55;
[0098]
f(3,10,0,1)=f(2,10,0,1) 30=49;
[0099]
f(3,12,0,0)=f(2,12,0,0) 17=43;
[0100]
f(3,12,1,1)=f(2,10,0,1) 21=40;
[0101]
f(3,13,0,0)=f(2,6,0,0) 21=43;
[0102]
f(3,19,0,0)=f(2,12,0,0) 27=53.
[0103]
5)最优目标值为z
*
=min{f(3,ko,ke,to)|0≤to≤41,ko=0,1,2,3,ke=0,1,2,3,}=f(3,12,1,1)=40,逆向回溯可得到最优排序方案:j1仅在奇数区间加工;j2在奇数和偶数区间加工并且从奇数区间切换到偶数区间;j3在偶数和奇数区间加工并且从偶数区间切换到奇数区间。
[0104]
上实例给出了两班倒工作制中,当不同的班次之间的工作人员连续加工处理任务时,需要切换时间,任务如何分配使得总完工时间最小。为企业协调两班倒工作制的多任务调度优化决策提供理论依据,也为三班倒等其它类型的工作模式提供可借鉴的研究模式。
[0105]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献