of n
i
operations. The j
th
operation O
i, j
∈ O
i
of a job
i must be performed by one of the machines from the
set of eligible machines M
i, j
⊆ M . Let p
i, j,m
denote
the processing time of operation O
i, j
that is processed
on machine m ∈ M
i, j
. Each machine can process at
most one operation at a time and preemption is not
allowed: once an operation is started, it must be pro-
cessed without any interruption. The objective is to
find an assignment for each operation and a sequence
on each machine that minimize the maximum com-
pletion time or makespan C
max
.
Notations and Definitions.
J Set of jobs
M Set of machines
n
i
Number of operations in job i (i ∈ J )
O
i
Set of operations in job i (i ∈ J )
O
i, j
j
th
operation of job i (i ∈ J , j ∈ {1, . . . , n
i
})
M
i, j
Set of eligible machines for operation
O
i, j
(i ∈ J , O
i, j
∈ O
i
)
p
i, j,m
Processing time of operation O
i, j
on
machine m (i ∈ J , O
i, j
∈ O
i
, m ∈ M
i, j
)
I
m
Set of operations that can be processed by
machine m (m ∈ M )
H Big constant
2.2 Flexible Job-Shop Scheduling
Problem with Uncertain Processing
Times
We consider that the processing times of operations
are uncertain. Each processing time p
i, j,m
of an oper-
ation O
i, j
∈ O
i
, i ∈ J , on machine m ∈ M
i, j
, belongs to
the interval [ ¯p
i, j,m
, ¯p
i, j,m
+ ˆp
i, j,m
], where ¯p
i, j,m
is the
nominal value and ˆp
i, j,m
the maximum deviation of
the processing time from its nominal value.
Example 1. Consider an FJSSP instance with 3 jobs
and 2 machines. The intervals [ ¯p
i, j,m
, ¯p
i, j,m
+ ˆp
i, j,m
]
of processing times p
i, j,m
of operations O
i, j
∈ O
i
, i ∈
J on each eligible machine m ∈ M
i, j
, are given in Ta-
ble 1.
Table 1: Numerical example of an instance of the FJSSP:
operation processing times.
M1 M2
O
1,1
[43; 86] –
J1 O
1,2
[87; 170] [95; 190]
O
2,1
[63; 142] [53; 166]
J2 O
2,2
– [73; 131]
O
3,1
[125; 239] [135; 224]
J3 O
3,2
[43; 73] [61; 174]
2.2.1 Uncertainty Budget
The traditional robust optimization approach (Soys-
ter, 1973) consists in protecting against the case when
all parameters can deviate at the same time, which
makes the solution overly conservative. Indeed, there
is a very low probability that all parameters take their
worst value all together. To overcome this limitation,
(Bertsimas and Sim, 2004) introduce an uncertainty
budget approach that allows a restriction on the num-
ber of deviations that can occur simultaneously to a
given budget. In order to reach a trade-off between
robustness and solution quality, we exploit this ap-
proach to define the uncertainty set.
Let Γ be the budget of uncertainty, the maximum
number of operations whose processing time devia-
tion can occur simultaneously. The worst-case sce-
nario is always an extremum scenario (Ben-Tal et al.,
2009). Thus, for each scenario ξ, the processing time
of operation O
i, j
on machine m is given by:
p
i, j,m
(ξ) = ¯p
i, j,m
+ ξ
i, j
· ˆp
i, j,m
where ξ
i, j
is equal to 1 if the processing time of the
operation deviates, 0 otherwise.
We define the uncertainty set U
Γ
as:
U
Γ
= {(ξ
i, j
)
i∈J ,1≤ j≤n
i
|
∑
i∈J
n
i
∑
j=1
ξ
i, j
≤ Γ}
2.2.2 Multi-Stage Robust Optimization
Multi-stage robust optimization has been introduced
by (Ben-Tal et al., 2004). In some optimization prob-
lems, only part of the decision variables have to be
fixed before uncertainty is revealed, while the other
variables can be chosen after the realization and can
thus be adjusted to the scenario. The authors intro-
duce the adjustable robust counterpart; the set of de-
cision variables is split into “here and now” decisions
and “wait and see” decisions. The objective is to find
a solution for the “here and now” decision variables
such that constraints involving uncertain parameters
remain feasible for all values of the uncertain param-
eters, and minimizing the objective value.
In our problem, we consider that the purpose is
to find the assignment and sequence on the machines
(first stage: here and now), allowing to define a start
time for each operation and each scenario (second
stage: wait and see), minimizing the makespan in the
worst-case scenario considering the budget of uncer-
tainty.
Example 2. Considering Example 1, a feasible solu-
tion is the assignment of operations O
1,1
, O
3,1
, O
3,2
to
machine M
1
, and of operations O
2,1
, O
2,2
, O
1,2
to ma-
chine M
2
, following these sequences. Figure 1 repre-
sents this solution when all processing times take their
ICORES 2023 - 12th International Conference on Operations Research and Enterprise Systems
136