382
R3:
b b
j r J j r ul ul j r
r
j
b b
b
j
r
l ul
∀
b
j j
j
b
∈
≠
J j
r ∈J
,ul j
l ul l ≺
(31)
S p
S
b b M
j r J j
l ul j r
j
j
S p
j
r
S S
j
r
b b b
j
r
ul l
+
p j
p
⋅ ≤
−
( (
) ∀ ∈
j r
j
≠ ul j
l
δ j Δ
:
,
r J j
∈
r
≠ r
≺
(32)
R4:
b b
j r J j
ul ul started
d
r
j
b b
b
j
r
l ul l
j
r
d
∀
b
j j
j
b
≠
J j
=
ul started
:
,
r
j r
∈
≠
J j
, started j
d 1
0
started r
started d =
(33)
R5:
id j
j
d
j J yp
=
∀
4
j J t
j
j J type
∀j j j
=
type j
type
J J
(34)
To realize R6, we introduce binary decision variables ma wm that are 1 if w is assigned to m.
y
x
j
w W m G
jm
jw
wm
j
j
W m G
+
≤
x jw
∀ ∈ ∀ ∈
∀
W j
W
,
j J
1 ma wm
+
∀
ma
j j
wm
∈J
(35)
m G
wm
ma
w W
∑
≤
∀
(36)
w W
wm
ma
m G
∑
≤
∀
(37)
Let ton j be the expected amount of material after processing of job j and ton k
pre be the
predetermined quantity (target value) for production step k. We can determine the lower
deviation from ton k
pre for each production step by the following constraints.
ton
g rad
ton dev
k K
k
pre
j J type kw W m G
jw
d m
j
ton
k
j
j
e kw W
j
G
grad
≤ dev
∈
=
type j
e
J
∈
∈
W m
W
∑ ∑
∑ ∑ ∑ ∑
:
(38)
Our goal is to have a consistent progress so that the following function must be minimized.
dev k
k K
2
∑
If we determine the maximum lower deviation as follows:
dev dev
d
k K
k
max
∀
dev d d
max
,
(39)
we can then approximate the quadratic objective function by the following linear one.
k K
k
max
dev d
k
ev
d d
∑
(40)
After finding a solution for R-Model (Min. (40) s.t. (1)–(39)), the solution is used as an
input for Algorithm 1 to generate a feasible solution for the problem instance at hand. In
Algorithm  1, we first determine the sequence of the processing of jobs for each machine
and each worker. After that, for each machine m, between two consecutive jobs j and r that
are processed by different workers, a first technical service must be inserted before starting r.
Subsequently, start times of all of the jobs that have to be started after the completion of r
must be updated. For each worker w, if w changes his machine and goes from machine m to
m′, we eventually have to consider last technical services if w processed the last task on m. The
worker then goes to the parking location of m′, performs first technical services, and drives
m′ to the location of the next job. Consequently, start times of all of the related jobs must be
updated. Then, we check if there are overlaps between breaks of workers and the activities
that workers have to perform. In this case, we consider the effect of workers’ breaks on start
times or durations of jobs and update the start times of all of the affected jobs. The steps
above are repeated until there are no more changes in start times of jobs.
Précédent

- 403/780

Suivant