使带权总完工时间为最小的自由作业排序问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1- 常州工学院数学系,常州 213002; 摘 2- 上海第二工业大学管理工程研究所,上海 201209)
要: 本文研究多工序排序中的一类自由作业模式。对于使机器带权总完工时间为最小或者使工件带权 总完工时间为最小的两类问题,本文用组合方法或者数学规划方法分别给出了稠密时间表的算法 或者置换排序的算法,并分析算法的性能比。此方法在理论和应用两方面都是有意义的。 中图分类号: O224 文献标识码: A
m n
Om
i=1
wM i CM i ,
Om
j =1
wj Cj
的稠密时间表性能比,得到定理 1 和定理 2;第 3 节用数学规划方法研究这两类问题,同时假 设工件带有到达时间,提出置换排序算法,并分析算法的性能比,即定理 3 和定理 4;最后 第 4 节总结全文。
2
Om
2.1
m i=1
wM i CM i 和 Om
n n n
wj Cj =
j =1 i=1
wi + ε (m − 1)w1 +
i=2
(i − 1)wi ,
于是有
n j =1 n j =1
wj Cj ˆj wj C −→
n j =1
wj (ε → 0).
min{w1 , w2 , · · · , wn }
3
Om|rj |
m i=1
wM i CM i 和 Om|rj |
m ∗ CM i ≤ i=1 i=1 m m m
CM i ≤ 2
i=1
Li ≤ 2
i=1
∗ CM i.
一般地,有下面的结论。 定理 1 问题 Om
m i=1
wM i CM i 的稠密时间表性能比为
m i=1
wM i
min{wM 1 , wM 2 , · · · , wM m } 且是紧的。 证明 由时间表的稠密性得 CM 1 = L1 + τ1 ≤ L1 + p2,j1 + · · · + pm−1,j1 + pm,j1 , ··· CM m = Lm + τm ≤ Lm + p1,jm + · · · + pm−1,jm ,
j ∈Gi
引理 1 对于问题 Om
m i=1
CM i ,如果任两台机器 Mi , Mk , i, k = 1, 2, · · · , m 在 0, min{CM i , CM k }
i,k
内不同时空闲,则稠密时间表的性能比为 2。 证明 由引理条件,知
m m
τi ≤
i=1 i=1
Li ,
将上式代入 (1) 式并利用性质 1 和性质 3,得到
第4期
陈荣军,唐国春:使带权总完工时间为最小的自由作业排序问题
615
其中 ji ∈ Gi , i = 1, 2, · · · , m,Gi 为机器 Mi 的最后工件组。于是有
m ∗ wM i CM i ≤ i=1 i=1 m m m
wM i CM i ≤
i=1
wM i Li +
k=1 i=k m
wM i Lk
m i=1
n j =1
wj Cj 的 稠 密 时间 表
Om
wM i CM i
m
本节研究 Om i=1 wM i CM i 的稠密时间表性能比,其中 wM i , CM i , i = 1, 2, · · · , m,为 机器 Mi 的权和完工时间。显然,下面几个性质成立。 ∗ ∗ 性质 1 CM i ≥ Li , i = 1, 2, · · · , m,其中 CM i 为最优完工时间,且
学
学
报
第27卷
pj .
性质 4 对于任一稠密时间表,有 CM i = Li + τi ≤ Li + min {pj − pij },
j ∈Gi
i = 1, 2, · · · , m,
其中 Gi 为机器 Mi 的最后工件组,即 Mi 在其最后一个空闲区间后加工的工件集,τi 为机 器 Mi 的空闲长度。显然有
n m
Om
j =1
wj Cj ,
Om
i=1
wM i CM i ,
其中 Cj , CM i 分别表示工件 j 和 Mi 的完工时间,wj , wM i 为工件 j 和机器 Mi 的权,j 表示工 件,i 表示机器。 与自由作业相关的大部分问题是 NP 困难的,只有少数情形是多项式时间可解的。当机器 数为两台时,Achugbue 和 Chin[2] 证明
m
m
=
i=1
wM i
i=1
Li ≤
m i=1
i=1
wM i
m ∗ wM i CM i . i=1
min{wM 1 , wM 2 , · · · , wM m }
wM i CM i ,取机器权满足 wM 1 < wM 2 ≤ · · · ≤ wM m 且 下面再证明紧性。对于问题 Om 取工件为 p1,1 = p, p2,1 = · · · = pm,1 = ε。将工件按照从第一台至最后一台机器的次序加工, 得到稠密时间表 S 的目标函数值为
m ∗ CM i ≤ i=1 i=1 m m m
CM i =
i=1
Li +
i=1
τi .
(1)
证明 由稠密时间表定义,每当机器 Mi 空闲时,在该空闲后机器 Mi 加工的全部工件,在 该空闲时刻一定在其它机器上加工,因此对任意的 j ∈ Gi ,有 τi ≤ pj − pij ,所以 τi ≤ min {pj − pij }.
第4期
陈荣军,唐国春:使带权总完工时间为最小的自由作业排序问题
613
均极小 NP 困难;而下面几个问题为极大多项式时间可解,即这些问题本身是多项式时间可解 的,但略微一般的情况都不是多项式时间可解的[4-6] 。
n n
O | pij = 1, outtree
j =1 n
Cj ,
O2 | pij = 1, tree
wj
i=1
pij
n
n
=
j =1
wj
j =1
pj ≤
j =1
wj
n
min{w1 , w2 , · · · , wn }
wj pj .
j =1
为证明紧性,取 p1 ,1 = 1 , p1,j = ε, pi,1 = ε, pi,j = 0, i = 1, 2, · · · , m, i = 2, · · · , m, j = 2, · · · , n,
关键词: 排序;自由作业;带权总完工时间;性能比 分类号: AMS(2000) 90B35; 90C27
1
引言
在自由作业[1] 问题中,有 m 台机器 M1 , M2 , · · · , Mm ,要加工 n 个工件{1, 2, · · · , n},在机Байду номын сангаас器 Mi 上工件 j 的操作 (工序) 及其加工时间分别记为 Oij 与 pij 。所有的工件都要在每一台机器 上加工一次。在任何时刻,一台机器至多加工一个工件,一个工件至多被一台机器加工,不限 制工件被机器加工的次序,亦不限制机器加工工件的次序。我们要寻找满足这些条件的时间 表 (称为可行时间表),使得工件或机器带权总完工时间最小,用三参数法记为
并取 w1 ≤ w2 ≤ · · · ≤ wn ,且 n ≥ m。先将工件 2, · · · , n 安排完毕后,再安排工件 1,得到排 ˆ,其目标值为 序S
n n
ˆj = w1 + ε w1 (n − 1) + wj C
j =1 i=2
(i − 1)wi ,
若工件 1 首先在第一台机器上加工,再将工件 2, 3, · · · , n 由贪婪算法依次安排加工,得到稠密 时间表 S 的目标函数值为
n
Li =
j =1
pij , pj ,其中
m
i = 1, 2, · · · , m.
性质 2
i=1,2,··· ,m
max
∗ CM i ≥
j =1,2,··· ,n
max
pj =
i=1
pij ,
j = 1, 2, · · · , n.
614 性质 3
m i=1 ∗ CM i ≥ n j =1
工
程
数
m i=1 m i=1
wM i CM i ≥
∗ wM i CM i
m i=1 m i=1
wM i CM i wM i Cˆ Mi
m m
=
i=1 m i=2
wM i (p + (i − 1)ε) −→
i=1
wM i (ε → 0).
(m + 1 − i)wM i ε + wM 1 (p + (m − 1)ε)
wj ,
min{w1 , w2 , · · · , wn }
616 且性能比是紧的。 证明 由式 (2), (3) 知
工
程
数
学
学
报
第27卷
m
Cj ≤ pj +
i=1
(Li − pij ),
于是有
n n n m n m
wj Cj ≤
j =1 j =1
wj pj +
j =1
wj
i=1
Li −
j =1 n
m m
wM i CM i =
i=1 i=1
wM i p + (i − 1)ε .
ˆ 的目标函数值 若将工件按照从最后一台机器至第一台机器的次序加工,得到稠密时间表 S 为
m m
wM i Cˆ Mi =
i=1 i=2
(m + 1 − i)wM i ε + wM 1 p + (m − 1)ε ,
ˆ 其中 Cˆ M i 为机器 Mi 在时间表 S 的完工时间。于是有
第27卷 第4期 2010年08月
工
程
数
学
学
报
CHINESE JOURNAL OF ENGINEERING MATHEMATICS
Vol. 27 No. 4 Aug. 2010
文章编号:1005-3085(2010)04-0612-09
使带权总完工时间为最小的自由作业排序问题∗
陈荣军1 , 唐国春2
wM 1
2.2
Om
n j =1
wj Cj
在本节,wj , Cj , j = 1, 2, · · · , n 分别为工件 j 的权和完工时间。稠密时间表有下面性质。 ∗ ∗ 性质 1 Cj ≥ pj , j = 1, 2, · · · , n,其中 Cj 为最优时间表的工件完工时间。 性质 2
n j =1 ∗ Cj ≥ n j =1
n
O2
j =1
Cj
是极小 NP 困难的,即问题本身是 NP 困难的,但略微特殊一点的情况都是多项式时间可解 的;Timkovsky[3] 在 1998 年证明
n n
O2 | pij = 1, chains
j =1
wj Cj ,
O3 | pij = 1, chains
j =1
wj Cj
∗ 基金项目:
收稿日期: 2008-04-21. 作者简介: 陈荣军 (1971年3月生),男,博士,副教授. 研究方向:排序理论及应用. 国家自然科学基金重大国际 (地区) 合作研究 (70731160015);江苏省教育厅 (yw06037);江苏省“青 篮”工程.
j =1 n
Cj ,
Om | pij = 1, rj
j =1
Cj ,
O pij = 1
j =1
wj Cj .
可以看出,这些结论大都是在单位加工时间的假设条件下得到的。本文将在一般情形下研究问 n 题 Om j =1 wj Cj 的多项式时间近似算法。另外,在日常生活中,人们也常常希望机器尽早 完成加工,以减少机器租金等,这样产生了研究使机器带权总完工时间为最小的自由作业问 m 题,即 Om i=1 wM i CM i ,对这类问题,目前文献少有研究。 对自由作业问题的任一可行时间表 S ,如果机器 Mi 在时间区间 Q = [B, C ) 内空闲 (即机 器 Mi 在这个时间区间 Q = [B, C ) 上不加工任何工件,这个时间区间可以称为机器 Mi 的空闲 区间),在时刻 C 之后在机器 Mi 上加工的所有工件在 Q 中的任何时刻 t 都在其它的机器上加 工,那么这个空闲区间称为是 合理 的。这表示在机器 Mi 的空闲区间以后加工的工件不可能 直接提前到在这个空闲区间上加工,而不改变其它机器在该时间区间的加工情况。如果 S 中 的一切空闲区间都是合理的,则称 S 是一个 稠密时间表 。稠密时间表的概念最早由 Anna Raczmany[7] 在 1982 年提出,关于它的性质研究可以参考文献 [8,9]。 本文余下部分是这样安排的:第 2 节用组合方法研究问题
n j =1
wj Cj 的 置 换 排 序
本节用数学规划方法研究上节两个问题的置换排序,并假设工件带有到达时间。这里,置 换排序指工件在各台机器上的加工次序一致。 3.1 Om|rj |
m i=1
wM i CM i
m
设工件 j 具有到达时间 rj , j = 1, 2, · · · , n,目标是使机器带权总完工时间 i=1 wM i CM i 为 最小,其中 wM i , CM i , i = 1, 2, · · · , m,分别是机器 Mi 的权和机器 Mi 的完工时间。不妨 设 wM 1 ≥ wM 2 ≥ · · · ≥ wM m 。记 Cij 为操作 Oij 的完工时间,[j ] 表示第 j 个被加工的工件。显
pj =
m
i=1
Li .
性质 3 在稠密时间表中,任一工件 j 完工时间满足 Cj = pj + τij , (2)
其中 τij 为操作 Oij 与工件 j 前一个被加工操作的间距,满足 τij ≤ Li − pij . 定理 2 问题 Om
n j =1
(3)
wj Cj 的稠密时间表性能比为
n j =1
要: 本文研究多工序排序中的一类自由作业模式。对于使机器带权总完工时间为最小或者使工件带权 总完工时间为最小的两类问题,本文用组合方法或者数学规划方法分别给出了稠密时间表的算法 或者置换排序的算法,并分析算法的性能比。此方法在理论和应用两方面都是有意义的。 中图分类号: O224 文献标识码: A
m n
Om
i=1
wM i CM i ,
Om
j =1
wj Cj
的稠密时间表性能比,得到定理 1 和定理 2;第 3 节用数学规划方法研究这两类问题,同时假 设工件带有到达时间,提出置换排序算法,并分析算法的性能比,即定理 3 和定理 4;最后 第 4 节总结全文。
2
Om
2.1
m i=1
wM i CM i 和 Om
n n n
wj Cj =
j =1 i=1
wi + ε (m − 1)w1 +
i=2
(i − 1)wi ,
于是有
n j =1 n j =1
wj Cj ˆj wj C −→
n j =1
wj (ε → 0).
min{w1 , w2 , · · · , wn }
3
Om|rj |
m i=1
wM i CM i 和 Om|rj |
m ∗ CM i ≤ i=1 i=1 m m m
CM i ≤ 2
i=1
Li ≤ 2
i=1
∗ CM i.
一般地,有下面的结论。 定理 1 问题 Om
m i=1
wM i CM i 的稠密时间表性能比为
m i=1
wM i
min{wM 1 , wM 2 , · · · , wM m } 且是紧的。 证明 由时间表的稠密性得 CM 1 = L1 + τ1 ≤ L1 + p2,j1 + · · · + pm−1,j1 + pm,j1 , ··· CM m = Lm + τm ≤ Lm + p1,jm + · · · + pm−1,jm ,
j ∈Gi
引理 1 对于问题 Om
m i=1
CM i ,如果任两台机器 Mi , Mk , i, k = 1, 2, · · · , m 在 0, min{CM i , CM k }
i,k
内不同时空闲,则稠密时间表的性能比为 2。 证明 由引理条件,知
m m
τi ≤
i=1 i=1
Li ,
将上式代入 (1) 式并利用性质 1 和性质 3,得到
第4期
陈荣军,唐国春:使带权总完工时间为最小的自由作业排序问题
615
其中 ji ∈ Gi , i = 1, 2, · · · , m,Gi 为机器 Mi 的最后工件组。于是有
m ∗ wM i CM i ≤ i=1 i=1 m m m
wM i CM i ≤
i=1
wM i Li +
k=1 i=k m
wM i Lk
m i=1
n j =1
wj Cj 的 稠 密 时间 表
Om
wM i CM i
m
本节研究 Om i=1 wM i CM i 的稠密时间表性能比,其中 wM i , CM i , i = 1, 2, · · · , m,为 机器 Mi 的权和完工时间。显然,下面几个性质成立。 ∗ ∗ 性质 1 CM i ≥ Li , i = 1, 2, · · · , m,其中 CM i 为最优完工时间,且
学
学
报
第27卷
pj .
性质 4 对于任一稠密时间表,有 CM i = Li + τi ≤ Li + min {pj − pij },
j ∈Gi
i = 1, 2, · · · , m,
其中 Gi 为机器 Mi 的最后工件组,即 Mi 在其最后一个空闲区间后加工的工件集,τi 为机 器 Mi 的空闲长度。显然有
n m
Om
j =1
wj Cj ,
Om
i=1
wM i CM i ,
其中 Cj , CM i 分别表示工件 j 和 Mi 的完工时间,wj , wM i 为工件 j 和机器 Mi 的权,j 表示工 件,i 表示机器。 与自由作业相关的大部分问题是 NP 困难的,只有少数情形是多项式时间可解的。当机器 数为两台时,Achugbue 和 Chin[2] 证明
m
m
=
i=1
wM i
i=1
Li ≤
m i=1
i=1
wM i
m ∗ wM i CM i . i=1
min{wM 1 , wM 2 , · · · , wM m }
wM i CM i ,取机器权满足 wM 1 < wM 2 ≤ · · · ≤ wM m 且 下面再证明紧性。对于问题 Om 取工件为 p1,1 = p, p2,1 = · · · = pm,1 = ε。将工件按照从第一台至最后一台机器的次序加工, 得到稠密时间表 S 的目标函数值为
m ∗ CM i ≤ i=1 i=1 m m m
CM i =
i=1
Li +
i=1
τi .
(1)
证明 由稠密时间表定义,每当机器 Mi 空闲时,在该空闲后机器 Mi 加工的全部工件,在 该空闲时刻一定在其它机器上加工,因此对任意的 j ∈ Gi ,有 τi ≤ pj − pij ,所以 τi ≤ min {pj − pij }.
第4期
陈荣军,唐国春:使带权总完工时间为最小的自由作业排序问题
613
均极小 NP 困难;而下面几个问题为极大多项式时间可解,即这些问题本身是多项式时间可解 的,但略微一般的情况都不是多项式时间可解的[4-6] 。
n n
O | pij = 1, outtree
j =1 n
Cj ,
O2 | pij = 1, tree
wj
i=1
pij
n
n
=
j =1
wj
j =1
pj ≤
j =1
wj
n
min{w1 , w2 , · · · , wn }
wj pj .
j =1
为证明紧性,取 p1 ,1 = 1 , p1,j = ε, pi,1 = ε, pi,j = 0, i = 1, 2, · · · , m, i = 2, · · · , m, j = 2, · · · , n,
关键词: 排序;自由作业;带权总完工时间;性能比 分类号: AMS(2000) 90B35; 90C27
1
引言
在自由作业[1] 问题中,有 m 台机器 M1 , M2 , · · · , Mm ,要加工 n 个工件{1, 2, · · · , n},在机Байду номын сангаас器 Mi 上工件 j 的操作 (工序) 及其加工时间分别记为 Oij 与 pij 。所有的工件都要在每一台机器 上加工一次。在任何时刻,一台机器至多加工一个工件,一个工件至多被一台机器加工,不限 制工件被机器加工的次序,亦不限制机器加工工件的次序。我们要寻找满足这些条件的时间 表 (称为可行时间表),使得工件或机器带权总完工时间最小,用三参数法记为
并取 w1 ≤ w2 ≤ · · · ≤ wn ,且 n ≥ m。先将工件 2, · · · , n 安排完毕后,再安排工件 1,得到排 ˆ,其目标值为 序S
n n
ˆj = w1 + ε w1 (n − 1) + wj C
j =1 i=2
(i − 1)wi ,
若工件 1 首先在第一台机器上加工,再将工件 2, 3, · · · , n 由贪婪算法依次安排加工,得到稠密 时间表 S 的目标函数值为
n
Li =
j =1
pij , pj ,其中
m
i = 1, 2, · · · , m.
性质 2
i=1,2,··· ,m
max
∗ CM i ≥
j =1,2,··· ,n
max
pj =
i=1
pij ,
j = 1, 2, · · · , n.
614 性质 3
m i=1 ∗ CM i ≥ n j =1
工
程
数
m i=1 m i=1
wM i CM i ≥
∗ wM i CM i
m i=1 m i=1
wM i CM i wM i Cˆ Mi
m m
=
i=1 m i=2
wM i (p + (i − 1)ε) −→
i=1
wM i (ε → 0).
(m + 1 − i)wM i ε + wM 1 (p + (m − 1)ε)
wj ,
min{w1 , w2 , · · · , wn }
616 且性能比是紧的。 证明 由式 (2), (3) 知
工
程
数
学
学
报
第27卷
m
Cj ≤ pj +
i=1
(Li − pij ),
于是有
n n n m n m
wj Cj ≤
j =1 j =1
wj pj +
j =1
wj
i=1
Li −
j =1 n
m m
wM i CM i =
i=1 i=1
wM i p + (i − 1)ε .
ˆ 的目标函数值 若将工件按照从最后一台机器至第一台机器的次序加工,得到稠密时间表 S 为
m m
wM i Cˆ Mi =
i=1 i=2
(m + 1 − i)wM i ε + wM 1 p + (m − 1)ε ,
ˆ 其中 Cˆ M i 为机器 Mi 在时间表 S 的完工时间。于是有
第27卷 第4期 2010年08月
工
程
数
学
学
报
CHINESE JOURNAL OF ENGINEERING MATHEMATICS
Vol. 27 No. 4 Aug. 2010
文章编号:1005-3085(2010)04-0612-09
使带权总完工时间为最小的自由作业排序问题∗
陈荣军1 , 唐国春2
wM 1
2.2
Om
n j =1
wj Cj
在本节,wj , Cj , j = 1, 2, · · · , n 分别为工件 j 的权和完工时间。稠密时间表有下面性质。 ∗ ∗ 性质 1 Cj ≥ pj , j = 1, 2, · · · , n,其中 Cj 为最优时间表的工件完工时间。 性质 2
n j =1 ∗ Cj ≥ n j =1
n
O2
j =1
Cj
是极小 NP 困难的,即问题本身是 NP 困难的,但略微特殊一点的情况都是多项式时间可解 的;Timkovsky[3] 在 1998 年证明
n n
O2 | pij = 1, chains
j =1
wj Cj ,
O3 | pij = 1, chains
j =1
wj Cj
∗ 基金项目:
收稿日期: 2008-04-21. 作者简介: 陈荣军 (1971年3月生),男,博士,副教授. 研究方向:排序理论及应用. 国家自然科学基金重大国际 (地区) 合作研究 (70731160015);江苏省教育厅 (yw06037);江苏省“青 篮”工程.
j =1 n
Cj ,
Om | pij = 1, rj
j =1
Cj ,
O pij = 1
j =1
wj Cj .
可以看出,这些结论大都是在单位加工时间的假设条件下得到的。本文将在一般情形下研究问 n 题 Om j =1 wj Cj 的多项式时间近似算法。另外,在日常生活中,人们也常常希望机器尽早 完成加工,以减少机器租金等,这样产生了研究使机器带权总完工时间为最小的自由作业问 m 题,即 Om i=1 wM i CM i ,对这类问题,目前文献少有研究。 对自由作业问题的任一可行时间表 S ,如果机器 Mi 在时间区间 Q = [B, C ) 内空闲 (即机 器 Mi 在这个时间区间 Q = [B, C ) 上不加工任何工件,这个时间区间可以称为机器 Mi 的空闲 区间),在时刻 C 之后在机器 Mi 上加工的所有工件在 Q 中的任何时刻 t 都在其它的机器上加 工,那么这个空闲区间称为是 合理 的。这表示在机器 Mi 的空闲区间以后加工的工件不可能 直接提前到在这个空闲区间上加工,而不改变其它机器在该时间区间的加工情况。如果 S 中 的一切空闲区间都是合理的,则称 S 是一个 稠密时间表 。稠密时间表的概念最早由 Anna Raczmany[7] 在 1982 年提出,关于它的性质研究可以参考文献 [8,9]。 本文余下部分是这样安排的:第 2 节用组合方法研究问题
n j =1
wj Cj 的 置 换 排 序
本节用数学规划方法研究上节两个问题的置换排序,并假设工件带有到达时间。这里,置 换排序指工件在各台机器上的加工次序一致。 3.1 Om|rj |
m i=1
wM i CM i
m
设工件 j 具有到达时间 rj , j = 1, 2, · · · , n,目标是使机器带权总完工时间 i=1 wM i CM i 为 最小,其中 wM i , CM i , i = 1, 2, · · · , m,分别是机器 Mi 的权和机器 Mi 的完工时间。不妨 设 wM 1 ≥ wM 2 ≥ · · · ≥ wM m 。记 Cij 为操作 Oij 的完工时间,[j ] 表示第 j 个被加工的工件。显
pj =
m
i=1
Li .
性质 3 在稠密时间表中,任一工件 j 完工时间满足 Cj = pj + τij , (2)
其中 τij 为操作 Oij 与工件 j 前一个被加工操作的间距,满足 τij ≤ Li − pij . 定理 2 问题 Om
n j =1
(3)
wj Cj 的稠密时间表性能比为
n j =1