流水车间调度问题的一种启发式算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
, m; j 1, 2, , n ;问题的求解目标是确定 n 个加工任务在每
台机器上的最优加工顺序,使所有加工任务全部完工的时间最短。该问题通常需要作如下假设:每个加工任
, m ;每台机器同时只能进行 1 个加工任务;1 个加工任务不能同时在不同的
机器上进行;各任务在加工完后立即送下一道工序;任务在机器上开始加工,必须一直进行到该工序完工, 中途不允许停下来插入其它任务;所有任务在 0 时刻已准备就绪,机器调整时间包括在加工时间内;允许任
(3)
(2)工件 J n 1 在机器 M 2 上加工前需要等待,此时有 T (1, 2, , n 1) T (1, 2,
n 1 j 1
, n) p2,n1 ,
T (1, 2,
, n 1) p1, j p2, n 1
故也可推出式(3)成立,根据假设即得:
T (1, 2, , n 1) max{ p1, j p2, j , p1, j p2, n 1}
1 s n j 1 j s j 1 s n 1 n 1
(4)
故当 m 为 2 时,引理得证。 再假设式(1)对 m 成立,工件 J j 在机器 M m 上的加工完毕时刻为 T j ,而视 Tj Tj 1 视为工件在 M m 上的加 工时间,且它在机器 M m 1 上的加工时间为 pm 1, j ,则 M m 和 M m 1 可视为两台机器的情况,此时有
下面引入与本文算法相关的一些定义和定理[14]。 定义 1. 将加工时间矩阵 P 的左上角与右下角用一条只能向右水平或向下垂直延伸的折现连接起来,以 这样的方式构成的线称为可行线。 例如, L1 =( p1,1 , p1,2 ,..., p1, n , p2, n ,..., pm, n )即是一条可行线,而 L2 =( p1,1 , p2,1 ,..., pm,1 , pm,2 ,..., pm, n )是另一条可 行线。而本文使用 L( ) 表示加工顺序为 时的所有可行线集合。 定义 2. 假设 L 为一条可行线,则定义 p
1 s n Ls pk ,i j s n
证毕。 引理 2. 设工件序列 (i, 列 ' (i,
, i '', j, i, j ', , i '', i, j, j ', , j '') , ' 为置换工件序列 的 i 和 j 两列之后得到的新的工件序 , j '') , d ( pu ,i , pv , j ) 为连接 pu ,i , pv, j 所有可行线的最大可行和,则有下述不等式成立:
T (1, 2, , n 1) p1, j p2, n 1 ,
j 1 n 1
T (1, 2,
, n 1) T (1, 2,
, n) p2, n 1
n 1 j 1
此时有
T (1, 2, , n 1) max{T (1, 2, , n) p2, n 1 , p1, j p2, n 1}
T (1, 2, , n) max{Ts pm 1, j } ,
j s n
由归纳假设,有
Ts max pk ,i
Ls pk ,i
其中的 Ls 为连接 p1,1 和 pm , s 的一条可行线,将上式代入式(4),可得
T (1, 2, , n) max{max pk ,i pm1, j } 。
p1,1 p2,1 P pm, 1 p1, 2 p2, 2 pm, 2 p1, n p2, n pm, n
, m; j 1, 2,
,而在流水车间中每一个工件需要在每一个机器上进行加工, ,n )
, n } 确定后,所有的加工执行时间 pi , j 可以由一个矩阵来表示,称作加工时间
Scientific Journal of Information Engineering December 2014, Volume 4, Issue 6, PP.152-157
A Heuristic Algorithm for Flowshop Scheduling Problem
Yilin Liu
i , j L ( )
pi , j 为可行线 L 的可行和。
- 153 http://www.sjie.org
引理 1. 使用 T ( ) 表示在工件加工顺序为 时所有工件的加工总时长,则有如下等式成立: T ( ) max pi , j
L pi , j L ( )
(1)
流水车间调度问题的一种启发式算法
刘易麟
中国石油四川销售分公司科研设计所,四川 成都 610000 摘 要:在过去的 20 多年中,NEH 算法一直被认为是解决以最小完工时间为目的的流水车间问题的最好启发式算法,该
算法在实际的工件调度中也得到了广泛的应用。近年来,在对流水车间工件调度问题的研究过程中,也有不少的启发式 算法被提出,但是,这些算法提出的大多是对 NEH 算法的继承和改进,算法性能的提升并不明显。在对流水车间调度问 题充分分析和研究的基础上,提出了一种全新的启发式算法,该算法引入任意两个工件的相对位置对于完工时间的影响 比较机制,有效提高了算法效率和性能。仿真实验表明,新算法的性能和稳定性均优于包括 NEH 算法在内的经典和常见 的构造型启发式算法。 关键字:流水车间;NEH;生产调度;启发式算法
- 152 http://www.sjie.org
务在工序之间等待;允许机器在任务未到达时闲置。而本问题的目标是找到一个所有工件的排列 ,使得 makespan 最小。通常,对以最小 makespan 为目标的流水车间调度问题的分析一般分为两种思路,求的最优 解和取得次优解。求最优解一般使用的是动态规划法、分支定界法等方法,此类方法从某种意义上来说都是 属于穷举法,只是在穷举的过程中根据一些计算结果排除某些明显不必要的计算。但是由于这些算法的搜索 空间会随着工件数的增加呈指数式急剧增长,所以它们在解大规模问题上有着较大的局限性。正是在这种情 况下,就产生了以求可行解或次优解为目的的启发式算法。启发式算法是相对于最优算法提出的,可作如下 定义:一个基于直观或者经验构造的算法,在可接受的花费(时间、空间等)下,给出待解决组合优化问题 的每一个实例的一个可行解, 该可行解与最优解的偏离程度不一定可以事先预计。 启发式算法以其计算量小、 算法简单并且能得到较好的解而吸引了众多的研究者。 启发式算法一般可以划分为元启发式算法[2~4]和构造式 启发式算法[5~9]。通常情况下,元启发式算法获得的调度是优于构造式启发式算法,但却需要更多的机器时间 和空间,在满足制造业生产车间实时性的需求上有一定的困难,因此,本文的研究重点将放在构造式启发式 算法。目前经典的构造式启发式算法有 Palmer[5]、Gupta[6]、CDS[7]、RA[8]和 NEH[9]算法,其中又以 NEH 算 法的性能为最佳。此外,近年来也不断有新的启发式被提出[10~13],而多数是基于 NEH 的算法思想或是对其 的改进。本文在综合考虑了多种影响流水车间 makespan 的因素的同时引入越韩定理[14],提出了一种新的构 造式启发式算法,而仿真实验表明在算法复杂度相当的条件下,新算法的性能优于 NEH 算法。
1 新的启发式算法
本章将提出一种以最小 makespan 为目标的流水车间调度问题的构造式启发式算法,在对算法进行设计 和描述之前,首先给出一些重要的定义和引理。
1.1 相关基本理论
假设有 n 个工件在 m 台机器上加工( m, n 1 ) ,如上一章的描述,使用 pi , j 表示第 j 个工件在第 i 台机器 上的加工执行时间( i 1, 2, 因此当加工顺序 {1 , 2 , 矩阵,记作矩阵 P。
Design department/China Petroleum Sichuan Sales Branch/ Petro China Company Limited, Chengdu 610000, China Email: yilin_liu@foxmail.com
Abstract
In this paper, we propose a new heuristic algorithm based on the analysis and research, the new method of introducing an evaluate mechanism of the relative position of any two jobs at the completion time, and the efficiency and performance has been improved. The result of simulation experiments shows that, our new heuristic algorithm has good performance, and the average quality and stability of scheduling sequences generated by the new method are significantly better than other heuristic algorithm which has the same complexity. Keywords: Flow Shop; NEH; Production Scheduling; Heuristic Algorithm
当 d ( pu ,i , pv, j ) d ( pu , j , pv,i ),1 u v m 成立,则有 T ( ) T ( ') 成立。 证明:
矩阵 P 的第 i 行表示第 i 台机器而第 j 列表示第 j 个工件,而 i 行 j 列对应的值为 pi , j 。而对于一个特定 的排列 ,可将加工时间矩阵在形式上简写为:
p1,1 p2,1 P p m,1 p1,2 p2,2 pm,2 p1, n p2, n pm, n
引言
流水车间调度问题是当前很多以流水线方式生产的制造业车间调度的抽象模型,也被证明是一个典型的 NP 完全问题 [1] ,具有很高的理论研究价值和实践价值。自从 1954 年 Johnson 发表第一篇流水车间调度 (Flowshop Scheduling) 问题的文章以来, 流水车间调度问题一直被很多学者所关注。 总完工时间 (makespan) 是流水车间调度问题中的一个非常重要的性能指标,总完工时间最小可使得资源更加有效利用、任务更迅速 传递及在制品库存最小。对于以最小 makespan 为目标的流水车间调度问题我们可以做如下描述:n 个工件在 m 台机器上加工,每个工件需要经过 m 道工序,每道工序要求不同的机器,这 n 个工件通过 m 台机器的顺 序相同,它们在每台机器上的加工顺序也相同;定义 Oi , j 为第 j 个工件在第 i 台机器上操作, pi , j 为 Oi , j 的执 行时间而 ci , j 表示 Oi , j 的完成时间,其中 i 1, 2, 务在机器上的加工顺序为 1, 2,
证明:首先证明 m=2 的情况,因矩阵 P 仅有两行,故显然有:
max
L pi , j Biblioteka Baidu
pi , j max{ p1, j p2, j }
1 s n j 1 js
s
n
(2)
当 n=1 时,总加工时间为 a11 a12 ,故等式(2)成立。假设等式(2)对 n 成立,现要证明等式(2)对 n+1 成立。 显然,工件 J n 1 在机器 M 2 上经历的过程只有两种: (1)工件 J n 1 在机器 M 2 上不需要等待,可以立即被加工,此时有
台机器上的最优加工顺序,使所有加工任务全部完工的时间最短。该问题通常需要作如下假设:每个加工任
, m ;每台机器同时只能进行 1 个加工任务;1 个加工任务不能同时在不同的
机器上进行;各任务在加工完后立即送下一道工序;任务在机器上开始加工,必须一直进行到该工序完工, 中途不允许停下来插入其它任务;所有任务在 0 时刻已准备就绪,机器调整时间包括在加工时间内;允许任
(3)
(2)工件 J n 1 在机器 M 2 上加工前需要等待,此时有 T (1, 2, , n 1) T (1, 2,
n 1 j 1
, n) p2,n1 ,
T (1, 2,
, n 1) p1, j p2, n 1
故也可推出式(3)成立,根据假设即得:
T (1, 2, , n 1) max{ p1, j p2, j , p1, j p2, n 1}
1 s n j 1 j s j 1 s n 1 n 1
(4)
故当 m 为 2 时,引理得证。 再假设式(1)对 m 成立,工件 J j 在机器 M m 上的加工完毕时刻为 T j ,而视 Tj Tj 1 视为工件在 M m 上的加 工时间,且它在机器 M m 1 上的加工时间为 pm 1, j ,则 M m 和 M m 1 可视为两台机器的情况,此时有
下面引入与本文算法相关的一些定义和定理[14]。 定义 1. 将加工时间矩阵 P 的左上角与右下角用一条只能向右水平或向下垂直延伸的折现连接起来,以 这样的方式构成的线称为可行线。 例如, L1 =( p1,1 , p1,2 ,..., p1, n , p2, n ,..., pm, n )即是一条可行线,而 L2 =( p1,1 , p2,1 ,..., pm,1 , pm,2 ,..., pm, n )是另一条可 行线。而本文使用 L( ) 表示加工顺序为 时的所有可行线集合。 定义 2. 假设 L 为一条可行线,则定义 p
1 s n Ls pk ,i j s n
证毕。 引理 2. 设工件序列 (i, 列 ' (i,
, i '', j, i, j ', , i '', i, j, j ', , j '') , ' 为置换工件序列 的 i 和 j 两列之后得到的新的工件序 , j '') , d ( pu ,i , pv , j ) 为连接 pu ,i , pv, j 所有可行线的最大可行和,则有下述不等式成立:
T (1, 2, , n 1) p1, j p2, n 1 ,
j 1 n 1
T (1, 2,
, n 1) T (1, 2,
, n) p2, n 1
n 1 j 1
此时有
T (1, 2, , n 1) max{T (1, 2, , n) p2, n 1 , p1, j p2, n 1}
T (1, 2, , n) max{Ts pm 1, j } ,
j s n
由归纳假设,有
Ts max pk ,i
Ls pk ,i
其中的 Ls 为连接 p1,1 和 pm , s 的一条可行线,将上式代入式(4),可得
T (1, 2, , n) max{max pk ,i pm1, j } 。
p1,1 p2,1 P pm, 1 p1, 2 p2, 2 pm, 2 p1, n p2, n pm, n
, m; j 1, 2,
,而在流水车间中每一个工件需要在每一个机器上进行加工, ,n )
, n } 确定后,所有的加工执行时间 pi , j 可以由一个矩阵来表示,称作加工时间
Scientific Journal of Information Engineering December 2014, Volume 4, Issue 6, PP.152-157
A Heuristic Algorithm for Flowshop Scheduling Problem
Yilin Liu
i , j L ( )
pi , j 为可行线 L 的可行和。
- 153 http://www.sjie.org
引理 1. 使用 T ( ) 表示在工件加工顺序为 时所有工件的加工总时长,则有如下等式成立: T ( ) max pi , j
L pi , j L ( )
(1)
流水车间调度问题的一种启发式算法
刘易麟
中国石油四川销售分公司科研设计所,四川 成都 610000 摘 要:在过去的 20 多年中,NEH 算法一直被认为是解决以最小完工时间为目的的流水车间问题的最好启发式算法,该
算法在实际的工件调度中也得到了广泛的应用。近年来,在对流水车间工件调度问题的研究过程中,也有不少的启发式 算法被提出,但是,这些算法提出的大多是对 NEH 算法的继承和改进,算法性能的提升并不明显。在对流水车间调度问 题充分分析和研究的基础上,提出了一种全新的启发式算法,该算法引入任意两个工件的相对位置对于完工时间的影响 比较机制,有效提高了算法效率和性能。仿真实验表明,新算法的性能和稳定性均优于包括 NEH 算法在内的经典和常见 的构造型启发式算法。 关键字:流水车间;NEH;生产调度;启发式算法
- 152 http://www.sjie.org
务在工序之间等待;允许机器在任务未到达时闲置。而本问题的目标是找到一个所有工件的排列 ,使得 makespan 最小。通常,对以最小 makespan 为目标的流水车间调度问题的分析一般分为两种思路,求的最优 解和取得次优解。求最优解一般使用的是动态规划法、分支定界法等方法,此类方法从某种意义上来说都是 属于穷举法,只是在穷举的过程中根据一些计算结果排除某些明显不必要的计算。但是由于这些算法的搜索 空间会随着工件数的增加呈指数式急剧增长,所以它们在解大规模问题上有着较大的局限性。正是在这种情 况下,就产生了以求可行解或次优解为目的的启发式算法。启发式算法是相对于最优算法提出的,可作如下 定义:一个基于直观或者经验构造的算法,在可接受的花费(时间、空间等)下,给出待解决组合优化问题 的每一个实例的一个可行解, 该可行解与最优解的偏离程度不一定可以事先预计。 启发式算法以其计算量小、 算法简单并且能得到较好的解而吸引了众多的研究者。 启发式算法一般可以划分为元启发式算法[2~4]和构造式 启发式算法[5~9]。通常情况下,元启发式算法获得的调度是优于构造式启发式算法,但却需要更多的机器时间 和空间,在满足制造业生产车间实时性的需求上有一定的困难,因此,本文的研究重点将放在构造式启发式 算法。目前经典的构造式启发式算法有 Palmer[5]、Gupta[6]、CDS[7]、RA[8]和 NEH[9]算法,其中又以 NEH 算 法的性能为最佳。此外,近年来也不断有新的启发式被提出[10~13],而多数是基于 NEH 的算法思想或是对其 的改进。本文在综合考虑了多种影响流水车间 makespan 的因素的同时引入越韩定理[14],提出了一种新的构 造式启发式算法,而仿真实验表明在算法复杂度相当的条件下,新算法的性能优于 NEH 算法。
1 新的启发式算法
本章将提出一种以最小 makespan 为目标的流水车间调度问题的构造式启发式算法,在对算法进行设计 和描述之前,首先给出一些重要的定义和引理。
1.1 相关基本理论
假设有 n 个工件在 m 台机器上加工( m, n 1 ) ,如上一章的描述,使用 pi , j 表示第 j 个工件在第 i 台机器 上的加工执行时间( i 1, 2, 因此当加工顺序 {1 , 2 , 矩阵,记作矩阵 P。
Design department/China Petroleum Sichuan Sales Branch/ Petro China Company Limited, Chengdu 610000, China Email: yilin_liu@foxmail.com
Abstract
In this paper, we propose a new heuristic algorithm based on the analysis and research, the new method of introducing an evaluate mechanism of the relative position of any two jobs at the completion time, and the efficiency and performance has been improved. The result of simulation experiments shows that, our new heuristic algorithm has good performance, and the average quality and stability of scheduling sequences generated by the new method are significantly better than other heuristic algorithm which has the same complexity. Keywords: Flow Shop; NEH; Production Scheduling; Heuristic Algorithm
当 d ( pu ,i , pv, j ) d ( pu , j , pv,i ),1 u v m 成立,则有 T ( ) T ( ') 成立。 证明:
矩阵 P 的第 i 行表示第 i 台机器而第 j 列表示第 j 个工件,而 i 行 j 列对应的值为 pi , j 。而对于一个特定 的排列 ,可将加工时间矩阵在形式上简写为:
p1,1 p2,1 P p m,1 p1,2 p2,2 pm,2 p1, n p2, n pm, n
引言
流水车间调度问题是当前很多以流水线方式生产的制造业车间调度的抽象模型,也被证明是一个典型的 NP 完全问题 [1] ,具有很高的理论研究价值和实践价值。自从 1954 年 Johnson 发表第一篇流水车间调度 (Flowshop Scheduling) 问题的文章以来, 流水车间调度问题一直被很多学者所关注。 总完工时间 (makespan) 是流水车间调度问题中的一个非常重要的性能指标,总完工时间最小可使得资源更加有效利用、任务更迅速 传递及在制品库存最小。对于以最小 makespan 为目标的流水车间调度问题我们可以做如下描述:n 个工件在 m 台机器上加工,每个工件需要经过 m 道工序,每道工序要求不同的机器,这 n 个工件通过 m 台机器的顺 序相同,它们在每台机器上的加工顺序也相同;定义 Oi , j 为第 j 个工件在第 i 台机器上操作, pi , j 为 Oi , j 的执 行时间而 ci , j 表示 Oi , j 的完成时间,其中 i 1, 2, 务在机器上的加工顺序为 1, 2,
证明:首先证明 m=2 的情况,因矩阵 P 仅有两行,故显然有:
max
L pi , j Biblioteka Baidu
pi , j max{ p1, j p2, j }
1 s n j 1 js
s
n
(2)
当 n=1 时,总加工时间为 a11 a12 ,故等式(2)成立。假设等式(2)对 n 成立,现要证明等式(2)对 n+1 成立。 显然,工件 J n 1 在机器 M 2 上经历的过程只有两种: (1)工件 J n 1 在机器 M 2 上不需要等待,可以立即被加工,此时有