A Mixed Integer Linear Programming Model
A Mixed Integer Linear Programming Model
Abstract This paper addresses the Cyclic Jobshop Problem in a flexible context.
The flexibility feature means that machines are able to perform several kinds of tasks.
Hence, a solution of the scheduling problem does not only concern the starting times of
the elementary tasks, but also the assignment of these tasks to a unique machine. The
objective considered in this paper is the minimisation of the cycle time of a periodic
schedule. We formulate the problem as a Mixed Integer Linear Problem and propose
a Benders decomposition method along with a heuristic procedure to speed up the
solving of large instances. It consists in reducing the number of machines available for
each task. Results of numerical experiments on randomly generated instances show that
the MILP modelling has trouble solving difficult instances, while our decomposition
method is more efficient for solving such instances. Our heuristic procedure provides
good estimates for difficult instances.
1 Introduction
This paper tackles the Flexible Cyclic Jobshop Scheduling Problem (FCJSP). We pro-
pose a Mixed Integer Linear Problem (MILP) formulation for the FCJSP along with a
Benders decomposition algorithm adapted for the FCJSP. We also introduce a heuristic
procedure to ease the solving of large instances.
In scheduling theory, the Jobshop Scheduling Problem (JSP) refers to a scheduling
problem where tasks are grouped in jobs and executed on specific machines. The JSP
is standard problem that have been extensively studied (Błażewicz et al. (1996)), and
proven to be NP-hard (Garey and Johnson (1979)). Numerous metaheuristics have been
proposed to ease the solving of the JSP (Dell’Amico and Trubian (1993), Schutten
(1998)). However, it is inefficient when scheduling infinitely many repetitions of the
This issue can be solved by modelling the problem as a Cyclic Jobshop Schedul-
ing Problem (CJSP), which consist in indefinitely repeating a given set of activities
(Draper et al. (1999), Kim and Lee (2018)). The CJSP has been proven to be NP-
complete (Carlier and Chrétienne (1988)), and can be expressed as a MILP (Brucker
and Kampmeyer (2008b), Hanen (1994), Roundy (1992), and Serafini and Ukovich
(1989)). Two objectives are commonly considered for the CJSP : the minimisation of
the cycle time (Hanen (1994)), noted α, which is defined as the time between two iter-
ations of the same task, and the minimisation of the Work In Process (WIP) (Korbaa
et al. (2002)), which is the number of occurrences of a job processed simultaneously.
In this paper, we will consider the minimisation of the cycle time.
Despite the richness of the literature about CJSP and FJSP, few papers tackle the
FCJSP. Jalilvand-Nejad and Fattahi (2015) proposed a MILP for the FCJSP where the
objective is to minimise the total cost of production in an assembly line environment.
The authors also provide a simulated annealing algorithm and a genetic algorithm to
solve large-scales problems. In Elmi and Topaloglu (2017), the authors proposed an ant
colony algorithm to solve a cyclic jobshop robotic cell scheduling problem (CJRSP).
In this problem, the realisation of a job requires the objects to be moved from one
machine to another by a robot in order to perform the tasks involved in this job.
Bożejko et al. (2016) also provide a solution for the CJRSP with two machines and
one robot. In Bożejko et al. (2017), a parallel algorithm is used to determine the cycle
time of a FJSCP in a graph modelling and the uathors proved several properties on
the relationship between the optimal cycle time and the characteristics of the paths in
the graph. Zhang et al. (2015) proposed a Mixed Integer Problem (MIP) formulation
for the FCJSP with time window constraints and resource capacity constraints.
The Basic Cyclic Scheduling Problem (BCSP) is a generalisation of the basic scheduling
problem where a schedule of elementary tasks i ∈ T = {1, ..., n} is infinitely repeated.
This problem has been studied a lot since it has applications in many fields such
as parallel processing (Hanen and Munier (1995)), staff scheduling (Karp and Orlin
(1981)), or robotic scheduling (Ioachim and Soumis (1995),Kats and Levner (1996)).
Hamaz et al. (2018a) studied the a BCSP where the processing times are affected by
an uncertainty effect.
To specify a BCSP, we are given a set of elementary tasks i ∈ T and their respective
execution time pi . Also, we define ti (k) ≥ 0 the starting time of occurrence k of
task i ∈ T . The order in which the tasks are to be executed is fixed by precedence
constraints. A precedence constraint indicating that task i must be completed before
starting the execution fo task j can be expressed as a quadruplet (i, j, pi , Hi,j ), where
Hi,j is called the height of the precedence constraint and represents the occurrence
shift between tasks i and j. In simple terms, it states that the k + Hi,j -th occurrence
of task j cannot start before the end of the k-th occurrence of task i. Mathematically,
it states that :
tj (k + Hi,j ) ≥ pi + ti (k).
ti (k) = αk + ti ∀i ∈ T .
There are two methods to solve the BCSP. The first is based on graph and consists
in finding the maximum mean cycle in the graph i.e the cycle C maximising
P
(i,j )∈C pi
α (C ) = P .
(i,j )∈C Hij
This cycle is called critical path and an application to BSCP has been proposed by
Levner and Kats (1998). This method has also been used by Chretienne et al. (1991)
to solve a BCSP with deadlines,
The second method consist in using mathematical programming. The BCSP can
be expressed as a linear problem as follows (Kampmeyer (2006)).
min α
s.t.
α ≥ pi , ∀i ∈ T (1a)
tj + αHi,j ≥ ti + pi , ∀(i, j ) ∈ E (1b)
ti ≥ 0 , ∀i ∈ T . (1c)
Example 2 : Table I reports the data of a BCSP instance with 7 elementary tasks. The
graph representing this example is presented in Figure 2. After solving this BCSP, we
find an optimal cycle time of α = 9.5. A Gantt diagram displaying the optimal solution
of the BCSP instance is presented in Figure 3.
s f
(0, 0) (5, 0)
5 6 7
(4, 0) (3, 0)
(0, 2)
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
α = 9.5
In the cyclic jobshop scheduling problem (CJSP), each elementary task i ∈ T is as-
signed to a machine ri ∈ R = {1, ..., R}, with R < n. In the CJSP, elementary tasks
linked by precedence constraints constitute jobs. For instance, in a manufacturing con-
text, a job might represent the manufacturing process of a product as a whole, while
an elementary task represents only one step of the manufacturing process.
Due to its numerous applications in large-scale production scheduling, the CJSP
has received at lot of attention from the research community. Hanen (1994) proposed
a MILP for this problem and proved some of its properties.Brucker et al. (2012) also
proposed a MILP for a CJSP with transportation by a single robotic cell. Draper
et al. (1999) proposed an alternative formulation to solve CJSP problems as constraint
satisfaction problems. Hamaz et al. (2018b) studied the CJSP with uncertain processing
time. Houssin (2011) proposed an exact method to solve a CJSP using (max, plus)
algebra. Also, several methods have been proposed to solve a CJSP with blocking,
such as Petri-net modelling (Song and Lee (1998)), tabu search algorithm (Brucker and
Kampmeyer (2008a)), and an hybrid algorithm based on particle swarm optimisation
and simulated annealing (Jamili et al. (2011)).
The inclusion of machines in the CJSP leads to a lack of resources, since the tasks
are competing for the working time of the machines. This lack of resources is represented
by disjunction constraints, which state that for a pair of tasks (i, j ) ∈ T 2 , i =
6 j, that
must be executed on the same machine, i.e. ri = rj , an occurrence of tasks i and an
occurrence of j, cannot be executed at the same time. In the following of this paper,
we will denote by D = {(i, j )|R(i) ∩ R(j ) =6 ∅} the set of pairs of tasks linked by
disjunction constraints.
Mathematically, the disjunction between two tasks (i, j ) ∈ T 2 , i = 6 j is modelled
with the two following disjunction constraints (2).
(
tj (k + Ki,j ) ≥ ti (k) + pi
(2)
ti (k + Kj,i ) ≥ tj (k) + pj .
Where Kij (resp. Kji ) is the height of the disjunction constraint, i.e. the occurrence
shift between task i and j (resp. j and i). It has been proven by Hanen (1994) that a
feasible schedule for a CJSP must satisfy :
Note that in this problem the variables are the cycle time α, the starting times of
each elementary tasks (t)i∈T , and the heights of the disjunctive constraints, (K )(i,j )∈D .
A feature of the CJSP is the Work In Process (WIP). It corresponds to the max-
imum number of occurrences of a job processed simultaneously. Mathematically, the
role of the WIP can be modelled as the height of the precedence constraint from fictive
task e to fictive task s, and can be explained by the equation :
s(k) ≥ e(k − W IP ).
Some papers focused on the minimisation of the WIP (Hillion and Proth (1989), Korbaa
et al. (2002)). In these papers, the heights of the precedence constraints Hij , (i, j ) ∈ E
are variables and the objective consist in a linear function of those heights. However
in our study, we focus on the minimisation of the cycle time α, so the WIP and the
Hij , (i, j ) ∈ E are given. Modelling of the CJSP for the minimisation of the cycle time
α with know heights as been proposed by Hanen (1994) and is used by Brucker et al.
(2012) to solve a CJSP with transportation.
A CJSP can be solved by writing the problem as a MILP, which can be solved
using mathematical programming, or using a dedicated Branch-and-Bound procedure
(Fink et al. (2012), Hanen (1994)).
To introduce the MILP modelling of the CJSP proposed by Hanen (1994), we first
introduce a Mixed Integer Non Linear Programming (MINLP) modelling also presented
in Hanen (1994):
min α
s.t.
α ≥ pi , ∀i ∈ T (4a)
tj + αHi,j ≥ ti + pi , ∀(i, j ) ∈ E (4b)
tj + αK (i, j ) ≥ ti + pi , ∀(i, j ) ∈ D (4c)
K (i, j ) + K (j, i) = 1, ∀(i, j ) ∈ D (4d)
K (i, j ) ∈ Z, ∀(i, j ) ∈ D (4e)
ti ≥ 0 , ∀i ∈ T . (4f)
In this model, constraints (4a) are the non-reentrance constraints and constraints
(4b) are the precedence constraints. Constraints (4c) express the disjunction constraints
as defined in (2), while constraints (4d) express the disjunctive heights property of the
CJSP enunciated by Hanen (1994) and introduced in (3). Non linearity appears in
constraints (4c) as the product of variables α and K (i, j ), (i, j ) ∈ D.
As integer non linear programming is very unpractical, we want to linearize the
1
model. Hanen (1994) proposes to define the variable τ = α and for all i ∈ T , the
ti
variable ui = α . Then CJSP can then be as a MILP in the following form Hanen
(1994):
max τ
s.t.
1
τ ≤ , ∀i ∈ T (5a)
pi
uj + Hi,j ≥ ui + τ pi , ∀(i, j ) ∈ E (5b)
uj + K (i, j ) ≥ ui + τ pi , ∀(i, j ) ∈ D (5c)
K (i, j ) + K (j, i) = 1, ∀(i, j ) ∈ D (5d)
K (i, j ) ∈ Z, ∀(i, j ) ∈ D (5e)
ui ≥ 0 , ∀i ∈ T . (5f)
(5
,K
73
s e
)
(5
,K
(0, 0) (5, 0)
37
)
5 6 7
(4, 0) (3, 0)
(0, 2)
M1 1 2 1 4 2 1
M2 5 5 5
M3 7 3 7 3
M4 6 6
α = 13
The flexible cyclic jobshop scheduling problem (FCJSP) is a CJSP where the elemen-
tary tasks are flexible. This means that the execution of a task i ∈ T , is assigned to
exactly one machine r in a set of machines that is a subset of the set of machines R
specific to task i. This subset is denoted R(i) ⊂ R. We model the assignement of a
task i ∈ T to a machine r ∈ R(i) as a decision variable mi,r defined as follows :
∀i ∈ T , ∀r ∈ R(i),
(
1 if task i is assigned to machine r
mi,r =
0 otherwise.
Example 4 : In Table 4, we have updated Example 3 so that it fits the FCJSP. Each
task can be assigned to a subset of 3 out of 4 machines. Note that the new possibilities
come with a higher execution time.
Table 3 An example for the FCJSP
Task 1 2 3 4
Robot M1 M2 M4 M1 M2 M3 M2 M3 M4 M1 M2 M3
Time 5 6 6 4 5 6 7 5 6 4 7 5
Task 5 6 7
Robot M1 M2 M3 M1 M3 M4 M1 M2 M3
Time 4 4 5 3 4 2 5 7 5
In this section, we propose a MILP modelling for the FCJSP. A first model was proposed
in Quinton et al. (2018). Let R(i, j ) = R(i) ∩ R(j ), ∀i, j ∈ T the set of machines
available both for tasks i and j. Recall that E denotes the set of precedence constraints
and that D denotes the set of disjunctive constraints.
The MILP for the FCJSP can be formulated as :
max τ
s.t.
X mi,r
τ ≤ , ∀i ∈ T (6a)
pi,r
r∈R(i)
X
uj + Hi,j ≥ ui + pi,r yi,r , ∀(i, j ) ∈ E (6b)
r∈R(i)
M1 2 7 2 7 2
M2 5 5 5
M3 3 4 3 4
M4 1 6 1 6 1 6
α = 10
i to pi,r , we want only the effective execution time to be taken into account in the
precedence constraints. To that end, we introduce the yi,r variables, which are defined
by constraints (6d) to (6f) such that :
∀i ∈ T , ∀r ∈ R(i),
(
τ if task i is assigned to machine r
yi,r =
0 otherwise.
Indeed, let i ∈ T , r ∈ R(i), if mi,r = 0, constraints (6e) and (6f) force yi,r = 0. As
constraints (6g) ensure that for each task i ∈ T , there is exactly one r ∈ R(i) such that
mi,r = 1, constraints (6d) together with constraints (6e) ensure that the corresponding
yi,r has to be equal to τ . Therefore, for any precedence constraint (i, j ) ∈ E, the model
only take into account the execution time pi,r if task i is executed on machine r ∈ R(i).
Constraints (6c) represents the disjunctive constraints, ensuring that two tasks are
not executed at the same time period on the same machine. There is one disjunction
constraint for each couple of tasks (i, j ) ∈ D and machine r ∈ R(i, j ), and we want those
constraints to be activated only when tasks i and j are assigned to the same machine r
as otherwise, the couple of tasks (i, j ) does not generate any lack of resources. The P1
term allows us to deactivate the disjunctive constraints for which tasks i and j are not
executed on the same machine r ∈ R(i, j ) i.e. the constraints for which mi,r + mj,r < 2.
We set :
P1 = max pi,r .
i∈T
r∈R(i)
Constraints (6g) ensure that every task i ∈ T is assigned to exactly one machine
r ∈ R(i). Constraints (6h) state the usual constraints for the CJSP, introduced by
Hanen (1994).
Example 4.1 :We have solved the Example 4 with the proposed MILP (6). We have
obtained a cycle time α = 10. Note that the optimal cycle time has decreased even if
the new assignment possibilities introduced in Example 4 came with a higher execution
time. The solution is displayed as Gantt diagram in Figure 6.
4.2 Benders decomposition
The FCJSP formulated as a MILP (6), can be very hard to solve. Using CPLEX,
difficult instances with a large number of tasks or with few robots might exceed any
reasonable time limit. To tackle this issue, we propose a Benders decomposition for
the FCJSP. In the usual Benders decomposition scheme introduce by Benders (1962),
the Master Problem (MP) corresponding to the MILP (6) we proposed for the FCJSP
consists in an integer linear problem composed of the constraints from (6) involving
only the integer variables, and the optimality cuts generated at each iteration of the
Benders algorithm. This master problem can be written as (7).
max z
s.t.
X
mi,r = 1, ∀i ∈ T (7a)
r∈r (i)
πinr
X
Y2
X X d d
X d
z+ mi,r P1 πi,j,r + πj,i,r − −πi,r − Ki,j πi,j,r ≤
mi,r
i∈T (i,j )∈D (i,j )∈D r∈R(i,j )
r∈R(i) r∈R(i,j )
X p
X d d
Hi,j πi,j + 2 P1 πi,j,r + πj,i,r , ∀π ∈ P (7c)
(i,j )∈E (i,j )∈D
X mi,r
τ ≤ , ∀i ∈ T (9a)
pi,r
r∈R(i)
X
uj + Hij ≥ ui + yi,r pi,r , ∀(i, j ) ∈ E (9b)
r∈R(i)
X X mi,r X
min πinr + d
πi,j,r (P1 (2 − mi,r − mj,r ) + K i,j )
pi,r
i∈T r∈R(i) (i,j )∈D
r∈R(i,j )
p y2
X X
+ πi,j Hi,j + πi,r mi,r
(i,j )∈E i∈T
r∈R(i)
s.t.
πinr − πiy1 ≥ 1
X
(10a)
i∈T
p p
X X X d
X d
πi,j − πj,i + πi,j,r − πj,i,r ≥ 0, ∀i ∈ T (10b)
(i,j )∈E (j,i)∈E (i,j )∈D (j,i)∈D
r∈R(i,j ) r∈R(i,j )
p
X X d
πi,j pi,r + πi,j,r pi,r ≥ 0, ∀i ∈ T , ∀r ∈ R(i)
(i,j )∈E (i,j )∈D
(10c)
πinr ≥ 0, ∀i ∈ T (10d)
p
πi,j ≥ 0, ∀(i, j ) ∈ E (10e)
d
πi,j,r ≥ 0, ∀(i, j ) ∈ D, ∀r ∈ R(i, j )
(10f)
πiy1 ∈ R, ∀i ∈ T (10g)
y2
πi,r ≥ 0, ∀i ∈ T , ∀r ∈ R(i).
(10h)
Where πinr , i ∈ T is the dual variable associated to the non-reentrance constraint for
p
task i, πi,j , (i, j ) ∈ E is the dual variable associated to the precedence constraint from
d
task i to task j, πi,j,r , (i, j ) ∈ D, r ∈ R(i, j ) is the dual variable associated with the
disjunction constraint between tasks i and j for machine r, and π y1 (resp. π y2 ) are the
dual variables associated with the set of constraints (9e) (resp. (9f)).
To further enhance our Benders decomposition algorithm, we use the algorithm
proposed by Magnanti and Wong (1981) to generate Pareto-optimal cuts. To do so, we
need to define the Magnanti-Wong dual sub-problem. Keeping the same notations as
for (10), the Magnanti-Wong dual sub-problem can be written as linear problem (11).
In (11), y = (m, K ) represents a solution of master problem (7), z∗ is the value
of the objective of the dual sub-problem (10), and y 0 = (m0 , K 0 ) is a core point. In
general, generating a core point is not straightforward. However, Papadakos (2008)
showed that given an integer solution y, λy is a core point, for any λ ∈]0, 1[. The
author also showed that any convex combination of core points is a core point. So,
noting yk0 the core point used at iteration k, and y k the integer solution at iteration k,
we propose to use yk0 = 21 yk− 0 1
1 + 2 y k as a core point for stating the Magnanti-Wong
dual sub-problem corresponding to the k-th iteration, k > 0. For the first iteration, we
set y00 = 21 y 0 .
X m0i,r
(P1 (2 − m0i,r − m0j,r ) + Ki,j
0
X X
min πinr + d
πi,j,r )
pi,r
i∈T r∈R(i) (i,j )∈D
r∈R(i,j )
p y2 0
X X
+ πi,j Hi,j + πi,r mi,r
(i,j )∈E i∈T
r∈R(i)
(11)
s.t.
X X mi,r X
πinr + d
πi,j,r (P1 (2 − mi,r − mj,r ) + K i,j )
pi,r
i∈T r∈R(i) (i,j )∈D
r∈R(i,j )
p y2
mi,r = z∗
X X
+ πi,j Hi,j + πi,r (11a)
(i,j )∈E i∈T
r∈R(i)
and
(10a)-(10h).
Having defined the Magnanti-Wong dual sub-problem and an algorithm to generate
core points, we are able to propose the following Magnanti-Wong algorithm for the
FCJSP :
Algorithm 4.2 (Benders algorithm)
P ←− ∅, LB ←− 0
Step 0. Solve the master problem (7).
if infeasible then return infeasible.
Step 1. Solve the dual sub-problem (10). Obtain z∗ .
Step 2. Find a core point yk0 .
Step 3 Solve the Magnanti-Wong problem using yk0 and z∗ .
P ←− P ∪ {u∗ }, U B ←− z, LB ←− max{LB, z∗ }.
if U B − LB > ǫ then go to 0.
return current solution.
Fig. 7 Solution for the FCJSP example solved with the Bender’s algorithm.
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time
M1 1 2 1 2 1 2
M2 7 7
M3 5 5 4 5 4
M4 6 3 6 3 6
α = 10
Where z denotes the current master problem objective value, and u∗ denotes the
solution of the Magnanti-Wong dual sub-problem.
Example 4.2 : We have solved Example 4 using our Benders decomposition algorithm.
We have obtained the optimal cycle time α = 10, with a task to machine assignment
different from the one obtained in Example 4.1. The solution is displayed in Fig.7 as a
Gantt diagram.
The FCJSP is very hard to solve because it is highly combinatorial. For large instances,
the solving time of the MILP presented in Section 5 can be very long. To tackle this
issue, we have developed a heuristic procedure. Our approach consists in reducing the
number of machines able to perform each task, i.e. the number of machines in the
set R(i), ∀i ∈ T . Let us define RH (i) ⊂ R(i) the reduced set of machines on which
task i ∈ T can be assigned in the heuristic procedure. We call this approach "q-Flex",
where q = card(RH (i)). We solve linear program (12a-12d) to build RH (i) such that
the total processing times per machine are equally balanced among all machines.
min Pmax
s.t.
X
Pmax ≥ mi,r pi,r , ∀r ∈ R (12a)
i∈T
X
mi,r = q, ∀i ∈ T (12b)
r∈r (i)
Pmax ∈ R (12c)
mi,r ∈ {0, 1}, ∀i ∈ T , ∀r ∈ R(i). (12d)
For the heuristic to effectively reduce the flexibility of the problem, we must set q
such that q < card(R(i)). We suggest to use q = 2 to guarantee an effective reduction
of the solving time while keeping some flexibility in the problem but notice that this
heuristic is adjustable and a greater value of q could lead to better performance at the
cost of a larger computational time.
Example 4.3 : We have solved Example 4 using this approach. We have obtained a
cycle time α = 10, with a task to machine assignment different from the one obtained
in Example 4.1. The solution is displayed in Fig. 8 as a Gantt diagram.
Fig. 8 Solution given by the "2-Flex" heuristic for the FCJSP example.
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time
M1 1 1 7 1 7
M2 5 2 5 2 5 2
M3 3 4 3 4
M4 6 6 6
α = 10
5 Numerical experimentation
The following numerical experiments have been conduced on randomly generated in-
stances with 10 tasks and 3, 4, or 5 machines. In these instances, each tasks can be
assigned to any of the 3 to 5 machines, with an execution time between 10 and 19.
For each kind of instance, we have generated 10 problems. To solve the MILP, we used
the CLEX 12.7 solver. The computer we used is equipped with a dual-core i5-4210H
processor and 8GB RAM and is running Ubuntu 18.04. We fixed the time limit to 3600
i
seconds. Note that the gap is defined as UB−τ τi
, where UB is the best upper bound
found by the solver and τ i is the value of τ in the considered solution.
In the following, we set q = 2 for the number of machines available for each task
in the "q-Flex" heuristic procedure proposed in Section 4.3. Figure 9 displays the
gaps between the solution found by the "2-Flex" heuristic procedure and the optimal
solution found by the MILP and/or the Benders decomposition algorithm. These gaps
are very measured and do not exceed 10% in average for all type of instances.
As we can see in Table 4, the MILP solving is very efficient for the easiest instances
with 10 tasks and 5 machines. For those easy instances, it is much more efficient than
the Benders decomposition, and there is no benefit to use the heuristic procedure since
the execution times of both the MILP and the heuristic are very close and very fast,
but the MILP gives better solutions. For instances of average difficulty with 10 tasks
and 4 machines, the MILP is still more efficient than the Benders decomposition, but
we can remark that the execution time of the MILP is increasing much faster than
the execution time of the Benders decomposition. For these instances, the heuristic
procedure generates solutions whose throughput is close to the optimal throughput
with execution times that are much faster than the MILP’s execution times. In short,
Table 4 Comparison of the solving times in seconds for the different approaches proposed in
the paper. If the MILP times out, we have indicated the gap from the incumbent to CPLEX’s
best bound in parenthesis. Along with the heuristic’s execution time, we displayed the gap
to optima in parenthesis. Instances where the heuristic found the optimal throughput display
"(-)" instead of the gap to optima value.
for this type of instances, the heuristic is useful to quickly generate good feasible
solutions. Finally, for the hard instances with 10 tasks and 3 machines, our Benders
decomposition is always faster to find the optimal solution than the MILP. The heuristic
procedure is also very efficient for this type of instance, often producing an optimal
solution with fast execution times.
From these results, we learn that it is better to use the MILP for easy problems
with numerous machines such as our instances with 10 tasks and 5 machines. For
instances of average difficulty, there is a trade off between getting an optimal solution
relatively slowly using the MILP or getting a close feasible solution very quickly with
the heuristic procedure. However, for hard instances with a considerable number of
disjunctions, such as the instances with 10 tasks and 3 machines, the execution times
of the MILP rocket up and it is much better to use the heuristic procedure to obtain
a feasible solution, or the Benders decomposition to obtain an optimal solution.
Fig. 9 Gap between the optimal solution found with the Benders decomposition algorithm
and the solution generated by the heuristic procedure.
Gap to optima in %
2-Flex max gap
2-Flex mean gap
12 2-Flex min gap
10
5 4 3
Number of machines
6 Conclusion
We have proposed a MILP modelling for the FCJSP where the objective is the min-
imisation of the cycle time. The problem is highly combinatorial, so we also proposed
a Benders decomposition algorithm and a heuristic procedure that are more efficient
for difficult instances. The Benders decomposition includes specific cuts to ensure the
feasibility of the integer solution and uses the Magnanti-Wong algorithm to find Pareto-
optimal optimality cuts. The heuristic reduces the number of machines available for
each elementary task.
Numerical instances have shown that the MILP become inefficient for difficult in-
stances with many disjunctions. The "q-Flex" heuristic procedure is a good way to
tackle this issue since it is much faster than the MILP for these instances while pro-
ducing solutions very close to the optimum. Also, if an optimal solution is required,
our Benders decomposition is more efficient than the MILP for this type of instances.
References