问题陈述如下。让
N
=
{
1
,
…
,
n
}表示一组单个机器上要处理的工作。我们使用
p
j表示工作的处理时间
j,
j
=
1
,
…
,
n。这台机器可以处理在同一时间只有一个工作没有抢占和处理工作。一旦处理工作的开始,这台机器是占领,直到完成过程。这台机器随机故障。主要的目标是最小化总完工时间。在这个模型中,我们不仅要优化的主要目标,但也总完工时间偏差之间的预测计划,实现计划。表示
年代
p预测计划和
年代
r为实现计划。让
C
j
(
年代
p
)表示工作的完成时间
j在预测的时间表
年代
p,让
C
j
(
年代
r
)表示工作的完成时间
j在实现的时间表
年代
r。我们定义
∑
j
=
1
n
C
j
(
年代
p
)总完工时间的预测计划
年代
p和
∑
j
=
1
n
C
j
(
年代
r
)总完工时间的安排实现的
年代
r。让
年代
p
0是一个预测安排尽量减少没有机器故障,让主要目标
年代
p
p被插入一个预测安排空闲时间。
3所示。预赛
在本节中,我们发展一个代理的可预测性,这将在后面的部分。
让工作被索引的顺序出现在预测计划。我们评估预测计划的可预测性
年代
p总完工时间的预测计划,实现计划之间的偏差。这是计算的
(1)
∑
j
=
1
n
(
E
j
(
年代
r
)
+
D
j
(
年代
r
)
)
,在哪里
E
j
(
年代
r
)
=
马克斯
{
C
j
(
年代
p
)
- - - - - -
C
j
(
年代
r
)
,
0
}和
D
j
(
年代
r
)
=
马克斯
{
C
j
(
年代
r
)
- - - - - -
C
j
(
年代
p
)
,
0
}(
9]。低价值的总时间偏差意味着安排具有更好的预测性能。因此,它可以生成预测计划和更好的预测性能最小化总完工时间偏差。然而,很难优化可预测性的性能,因为随机机器故障。梅塔和Uzsoy
9)提出了五个代理可预测性评估完成时间偏差的措施。根据计算的实验中,他们显示代理措施
米
5提供相关的预计完成时间偏差显著高于其他措施。因此,我们选择
米
5作为替代措施的可预测性。代理措施
米
5定义如下:
(2)
米
5
j
(
年代
p
)
=
马克斯
{
C
j
(
年代
p
*
)
- - - - - -
C
j
(
年代
p
)
,
0
}
,在哪里
年代
p
*安排由增加处理时间的工作吗
j通过
p
j
(
R
米
/
λ
h
)在保持相同的序列
年代
p,
λ
h是平均速度机器故障发生,然后呢
R
米平均修复时间。
Adiri et al。
3和李和河口
14]证明了单机调度问题最小化总完工时间与一个非完全多项式分解在一个确定的环境。因此,预测调度优化的总完工时间和可预测性与随机机器故障是相当难以解决。
一步
1。生成预测计划
年代
p
0最小化
∑
j
=
1
n
C
j使用最短处理时间优先(SPT)规则假设没有机器故障。
一步
2。计算完成时间的线性规划(LP),同时保持相同的序列
年代
p
0。预测的时间表
年代
p
p是获得。
一步
3所示。使用右移位重排方法机器故障发生时:
(3)
LP:
最小值
∑
j
=
1
n
马克斯
{
C
j
(
H
1
)
- - - - - -
C
j
(
年代
p
p
)
,
0
}
,
LP
:
年代
。
t
。
l
l
l
l
l
C
j
(
年代
p
p
)
- - - - - -
C
j
- - - - - -
1
(
年代
p
p
)
≥
p
j
,
j
=
1、2
,
…
,
n
(4)
C
0
(
年代
p
p
)
=
0
,
年代
。
t
。
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
(5)
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
∑
j
=
1
n
C
j
(
年代
p
p
)
l
l
l
l
l
l
l
l
l
l
我
我
我
我
我
l
l
l
l
l
l
≤
∑
j
=
1
n
C
j
(
年代
p
0
)
+
α
(
∑
j
=
1
n
C
j
(
H
1
)
- - - - - -
∑
j
=
1
n
C
j
(
年代
p
0
)
)
。
让
C
j
(
H
1
)表示工作的完成时间
j在调度算法获得的H1。约束(
3)保证优先级关系。约束(
5)在实现进度控制降解。我们定义
α作为控制参数。
一步
1。生成预测计划
年代
p
0最小化
∑
j
=
1
n
C
j使用最短处理时间优先(SPT)规则假设没有机器故障。
一步
2。计算空闲时间
r
e
_
我
d
j的工作
j,
j
=
1、2
,
…
,
nH2的LP优化算法。
一步
3所示。插入
r
e
_
我
d
j在时间表
年代
p
0。在不减少的顺序安排工作
p
j
+
r
e
_
我
d
j并生成新的预测计划
年代
p
p。
一步
4所示。使用右移位机故障发生时重新安排方法。
在下一节中,计算实验进行的预测调度问题。
5。实验结果
为了检查的性能预测时间表,一系列的计算实验使用随机生成的测试问题。这些算法在Matlab编写,运行在2.66 GHz的英特尔核心四个人电脑CPU和4.0 GB RAM。测试实例生成的(
4]。有六个层次的就业数据;
n
=
10、30、50、70、90110。处理时间从两个离散均匀分布,在那里
P
1=(11)和制服
P
2=制服(4、8)。因此,我们一共有12个问题参数组合。对于每个问题参数组合,生成20个实例。总共有240实例问题集(见表
1)。
参数的问题。
参数
价值
值的数量
就业人数
n
=
10、30、50、70、90110。
6
处理时间
P
1=制服(11)
2
P
2=制服(4、8)
总组合
12
问题的组合
20.
总问题
240年
的机器故障间隔时间服从指数分布的意思
θ
E
(
p
j
],在那里
E
(
p
j
]处理时间和预计的工作
θ
=
10、5
,
3。更高的价值
θ表示不太常见的机器故障。机器故障持续时间之间产生一个均匀分布
β
1
E
(
p
j
]和
β
2
E
(
p
j
]。6种类型的机器故障参数组合生成(见下表
2)。让控制参数
α是0.5。因此,我们有240个实例主题6类型的机器故障和1440的组合问题和故障类型。
类型的机器崩溃。
类型的机器故障
故障间隔时间指数
θ
E
(
p
j
]
故障持续时间一致(
β
1
E
(
p
j
]
,
β
2
E
(
p
j
]]
B1
θ
=
10
(
β
1
,
β
2
)
=
(
0.1,0.5
)
B2
θ
=
5
(
β
1
,
β
2
)
=
(
0.1,0.5
)
B3
θ
=
3
(
β
1
,
β
2
)
=
(
0.1,0.5
)
B4
θ
=
10
(
β
1
,
β
2
)
=
(
1、2
)
B5
θ
=
5
(
β
1
,
β
2
)
=
(
1、2
)
B6
θ
=
3
(
β
1
,
β
2
)
=
(
1、2
)
对于每个实例,预测计划是由算法生成的H1, H2, H3。我们模拟执行每个预测计划30倍来计算平均完成时间偏差和平均实现进度总完成时间使用右移位发生机器故障时重新安排方法。让
一个
C
D
(
H
,
问
)和
一个
C
(
H
,
问
)表示平均完成时间偏差和平均实现计划
∑
j
C
j使用预测算法对问题问H。表示
一个
C
D
(
P
R
年代
,
问
)和
一个
C
(
P
R
年代
,
问
)的平均完成时间偏差和平均实现计划
∑
j
C
j使用predictive-reactive算法(即对问题问。,年代chedule the jobs in SPT order without inserting idle times) and right-shift rescheduling method. We define
一个
C
我
(
H
,
δ
)的平均百分比总完工时间偏差的改进为同一类问题
δ和
一个
C
D
(
H
,
δ
)的平均百分比总完成时间的改善同样的问题类
δ(正值表示改进而负值意味着退化)。问题类
δ被定义为一组实例,其中一些参数有一个固定值。让
(
B
,
n
,
P
)表示问题类的地方
B代表了故障类型,
n代表的工作,
P代表了处理时间。让
*表示参数的所有可能的值。例如,
(
*
,
*
,
P
1
)显示与处理时间所有实例的集合
P
1:
(6)
一个
C
我
(
H
,
δ
)
=
∑
问
∈
δ
一个
C
D
(
P
R
年代
,
问
)
- - - - - -
∑
问
∈
δ
一个
C
D
(
H
,
问
)
∑
问
∈
δ
一个
C
D
(
P
R
年代
,
问
)
,
一个
C
D
(
H
,
δ
)
=
∑
问
∈
δ
一个
C
(
P
R
年代
,
问
)
- - - - - -
∑
问
∈
δ
一个
C
(
H
,
问
)
∑
问
∈
δ
一个
C
(
P
R
年代
,
问
)
。
表
3和
4分别显示
一个
C
我
(
H
,
δ
)和
一个
C
D
(
H
,
δ
)值为各种问题类。算法的运行时间没有报告以来的大多数实例在几秒钟内完成。根据表
3和
4,我们可以得出的结论如下。