lated to the scheduling problems, widely studied in
the literature (see (Brucker, 2007)). The work team
(group of workers that have to work together) can-
not perform more than one maintenance order at the
same time. Moreover, each machine cannot have
more than one preventive maintenance being execu-
ted at the same time. Each preventive maintenance
also have a time window limit that must be obeyed.
Besides above mentioned constraints, each preventive
maintenance has to be performed by a team that has
the ability to perform it. Furthermore, there exists
usually more than one team that is able to execute the
same preventive maintenance.
At the studied company, the long-term mainte-
nance programming is made by the engineering team
using a specific maintenance software. It is a gene-
ral maintenance software that manages all preventive
and corrective maintenance activities such as work
order, inventory, and material management. It also
has the data of all maintenance procedures performed
and all the maintenance plans. The maintenance plan
for each machine includes all the preventive mainte-
nance that have to be performed, the frequency that
each preventive maintenance has to be performed,
the expected time to complete the preventive mainte-
nance, the team which is able to perform the preven-
tive maintenance and the materials and tools that are
necessary. From this database it is built a 52-weeks
preventive maintenance plan, which consists of assig-
ning the preventive maintenance to the teams. The
problem is that the maintenance plan is unfeasible and
it has to be rescheduled. To do it, the maintenance
team works in extra hours, but even so, some preven-
tive maintenance are not allocated.
For solving this problem, we developed a general
mixed integer programming model and also a heuris-
tic approach, based on the Variable Neighborhood Se-
arch meta-heuristic (Mladenovi
´
c and Hansen, 1997).
The main difference of our problem from the
ones that we found on the literature is the objective
function. Here we want to maximize the number of
orders executed and try to minimize the number of
teams necessary to execute them. The greatest chal-
lenge is the huge size of it. In our problem we have
more than 30,000 maintenance orders to be executed.
The remaining of this paper is organized as fol-
lows. Section 2 shows the mathematical formulation,
which formally describes the problem. Section 3 pre-
sents a heuristic approach, based on VNS, for solving
the problem. The results are discussed in Section 4
and the conclusions are presented in Section 5.
2 PROBLEM DEFINITION AND
MATHEMATICAL MODEL
The Long-term Preventive Maintenance Scheduling
Problem (LTPMSP) can be formally described as fol-
lows. Let E = {1, 2, ··· , Q} be the set of Q indus-
trial machines which must be submitted to preventive
maintenance. Let also T = {1, 2, · ·· , N} be the set of
N preventive maintenance, and let W = {1, 2, · ·· , M}
be the set of M available work teams and responsible
to realize them. The processing time of the preven-
tive maintenance i is denoted by P
i
. Each preventive
maintenance i ∈ T must be realized in a single ma-
chine E
i
and just one work team is sufficiently capable
to perform it, but two or more different maintenance
may be associated with the same machine. However,
only one preventive maintenance can be performed at
a time on a specific machine.
In addition, each preventive maintenance has a
time window, i.e, an interval [ e
i
, l
i
], where e
i
and l
i
correspond, respectively, to the earliest and the latest
time available to perform the preventive maintenance
i. Each preventive maintenance i ∈ T requires a work
team with a specific ability, being that W
i
⊆ W indi-
cates the set of work teams with ability to perform
it. If the preventive maintenance i is not performed,
there is a penalty cost C
i
that must be paid. Each work
team k ∈ W can process at most one preventive main-
tenance at a time, and has availability to work by h
k
continuous hours. The set T
k
⊆ T indicates the pre-
ventive maintenance that can be executed by the work
team k.
The aim of the LTPMSP is to determine a schedu-
ling plan to perform as many preventive maintenance
as possible in order to minimize the number of work
teams. In order to formulate the problem, we define
five sets of decision variables, which are described as
follows:
• x
k
i j
: binary variable that gets 1 if maintenance i is
performed immediately before maintenance j by
the work team k; 0, otherwise;
• y
ik
: binary variable that gets 1 if maintenance i is
performed by the work team k; 0, otherwise;
• z
k
: binary variable that gets 1 if work team k is
used; 0, otherwise;
• c
ik
: completion time of the maintenance i when it
is performed by the work team k;
• r
i j
: binary variable that gets 1 if maintenance i is
performed before maintenance j and 0, otherwise.
With these variables we can describe the LTPMSP
by the Mixed-Integer Linear Programming (MILP)
formulation expressed by Equations (1)-(17):
ICEIS 2018 - 20th International Conference on Enterprise Information Systems
304