You are on page 1of 14

Maintenance

Mathematical programming planning and


approaches for the scheduling

management of maintenance
163
planning and scheduling
S.O. Duffuaa and K.S. Al-Sultan
Department of Systems Engineering,
King Fahd University of Petroleum and Minerals, Dhahran,
Saudi Arabia

Introduction
In today’s competitive environment for business, companies strive for quality
and cost-effectiveness. Efforts have been directed towards optimization of
production systems in order to have better utilization of resources and become
cost-effective. Production and service systems are heavily affected by their
respective maintenance systems. Maintenance systems operate in parallel to the
production systems to keep them serviceable and safe to operate at minimum
cost. One way to reduce the cost of operation and production is to optimize
utilization of maintenance resources.
A key function which influences utilization of maintenance resources is the
planning and scheduling function of the maintenance system. The role of this
function is to plan the resources for the maintenance jobs; which include
manpower, equipment and tools and spare parts. A schedule is then developed
based on available resources and job priorities. The planning and scheduling
function controls the utilization of the maintenance resources.
A major factor which affects the utilization of resources is the maintenance
load. Generally speaking, the maintenance load consists of two categories:
scheduled maintenance and emergency maintenance. The first category is
deterministic and can be planned for, while the second category is stochastic
which makes it difficult to plan for. The second category is the major source of
uncertainty in maintenance scheduling and adds to the complexity of the
maintenance scheduling problem. A realistic schedule must reflect both
categories.
Traditionally in maintenance systems, the planning and scheduling
functions are coupled together. The planning function consists of the
following:

The authors would like to acknowledge the support provided by the Department of Systems Journal of Quality in Maintenance
Engineering, Vol. 3 No. 3, 1997,
Engineering, King Fahd University of Petroleum and Minerals, Dhahran, Saudi Arabia when pp. 163-176. © MCB University
conducting this research. Press, 1355-2511
JQME (1) Identification of work to be planned.
3,3 (2) Determination of work complexity and composition.
(3) Estimation of manpower requirements.
(4) Identification of spare parts and material requirements and their
availability.
164 (5) Identification of special tools required.
The scheduling function develops a schedule for all planned jobs.
One of the essential characteristics of the maintenance scheduling
problem is the stochastic dynamic nature of the schedule. As soon as a high
priority emergency job arrives, it necessitates an update to the schedule. This
update disrupts the schedule and creates a backlog. In a broader sense, the
maintenance scheduling problem is not limited to preparation of a schedule,
but also includes forecasting future loads, developing methods for
controlling backlog, and dynamic decision rules for updating the schedule
when need arises. Figure 1 shows the dynamic nature of the maintenance
scheduling problem. An effective planning function is a prerequisite for the
scheduling function. In this paper the focus is on the scheduling aspects of
maintenance.

Demand for maintenance work


(generation of work orders)

Emergency Scheduled

Plan jobs
Develop procedures
Establish priorities
Check resources

Develop schedule

Schedule is ready

Schedule in execution

Revise schedule
Figure 1.
Adaptive nature of the
maintenance schedule Updated schedule
Jarvis[1] has developed a computerized maintenance system for planning and Maintenance
scheduling. The system includes a heuristic scheduling criterion that planning and
allocates manpower to jobs on a FIFO (first in first out) basis within job scheduling
priority. Roberts and Escudero[2] proposed an integer linear programming
model for scheduling maintenance work. Their model assumes that the
maintenance work load is known in terms of a list of available jobs. All jobs
are broken down into finite time intervals and the personnel availability is 165
given. Their model is deterministic in nature and does not address the
stochastic component of the workload. Roberts and Escudero[3] reformulated
the same problem to obtain a minimum size model. Worrall and Mert[4]
proposed a set of dynamic rules for maintenance planning and scheduling.
Their rules are heuristic in nature. Duffuaa and Al-Sultan[5] proposed a
stochastic programming model with resource for the maintenance scheduling
problem. Their work extends that of Roberts and Escudero[2] by adding the
stochastic component in the formulation. While there is a vast literature on
scheduling in general[6,7], it is apparent from the literature review that there
has been little work on maintenance scheduling.
The purpose of the paper is to address the problem of maintenance
scheduling and present its characteristics, with emphasis on the stochastic
nature of the problem. The mathematical programming approaches for
modelling and managing the scheduling problem are then presented. The
maintenance information system is then expanded in order to apply the
mathematical programming approaches and to have better control over the
scheduling problem. The rest of the paper is organized as follows. First the
details and the characteristics of the problem are presented. Then
mathematical programming approaches to the problem are presented in
general, followed by the integer and stochastic programming approaches. An
illustrative example demonstrating the utility of these approaches is given.
Ways to expand the state-of-the-art maintenance management information
system, so as to apply the mathematical programming approaches and to
have decision-making capabilities for the management of the maintenance
scheduling problem, are then presented. Such expansion is expected to render
better control over the maintenance scheduling problem.

Problem definition and characteristics


The maintenance load is broadly divided into two categories: scheduled
maintenance and unscheduled maintenance. Scheduled maintenance consists of
the following types of maintenance:
(1) Routine and preventive maintenance.
(2) Scheduled overhauls which involve closure or shutdown of the plant.
(3) Corrective maintenance which involves determining the cause of
repeated breakdown as a result of design malfunction.
JQME (4) Scheduled overhaul, repair or building of equipment which is not
3,3 covered under (2).
The second category is emergency or breakdown maintenance. This category is
the major source of uncertainty in maintenance scheduling and ideally all
maintenance work should be scheduled to avoid delays and bottlenecks. The
following factors are essential for modelling the maintenance scheduling
166 problem and contribute to its complexity:
(1) Emergency jobs arrival times.
(2) Availability of manpower.
(3) Time to complete a job.
(4) Availability of spare parts.
(5) Delivery times of spare parts.
(6) Availability of equipment and tools.
(7) Reliability of equipment and tools.
It is quite evident that factors (1), (3), (5) and (7) are stochastic in nature and
therefore adopting a deterministic approach is very restrictive.
In order to formulate the maintenance scheduling problem, the following
assumptions are made:
(1) Available manpower is known at the beginning of each horizon.
(2) Spare parts are available.
(3) Delivery time for spare parts is negligible.
(4) Available equipment is known at the beginning of each horizon.
(5) Equipment is 100 per cent reliable.
(6) Job standards are available and taken to be deterministic.
Given the above assumptions we select three horizons. A horizon is a time
span used for planning and scheduling purposes. The selection of a horizon is
a function of the organization size and operation. However, for illustration the
following is presented. The longest horizon could be a month where an
aggregate plan is developed. The longest horizon is then broken into four
weeks and out of the long range schedule a medium range schedule is
developed. The operation schedule or the daily schedule is obtained from the
weekly schedule. Figure 2 shows the different horizons for the scheduling
problem.
In summary the maintenance scheduling problem at a given horizon is
defined as follows: at the beginning of a horizon, a set of maintenance jobs is
on hand. Each job has a certain priority. Availability of manpower, equipment,
tools and spare parts is known at the beginning of the horizon. In addition
during this horizon there is a probability that a set of emergency jobs might
occur. The distributions of jobs arrival are assumed to be known. In case they
are unknown, standard statistical techniques can be employed for distribution
identification to obtain them. The objective is to develop a schedule for jobs on Maintenance
hand and anticipated ones, to minimize delay and maximize utilization of planning and
resources.
scheduling
Mathematical programming approaches for maintenance scheduling
Many approaches are available for the maintenance scheduling problem. Most
of these approaches are operations research/management science techniques. 167
The choice of which approach to use depends on the scheduler’s training and
the scope of the problem – the objective, the constraints on the problem, and
type of data available. Printelon and Goldens[8] summarized these approaches
as: deterministic optimization techniques, Markov decision theory and renewal
theory, queuing, simulation, inventory models, reliability theory, PERT, game
theory and decision theory, and work study. Duffuaa and Al-Sultan[5] have
added stochastic programming approach to this list. It is clear that each
approach is appropriate with a certain objective in mind, and when a set of
constraints is given.
In this paper, we advocate the mathematical programming approaches
because they are the ones that better fit the description of scheduling and
planning of maintenance. Furthermore, these approaches have been applied in
other scheduling problems, such as production scheduling[9,10], and aircraft
and bus crew scheduling[11,12]; therefore by analogy they offer valuable
approaches for maintenance scheduling.
The general form of the mathematical programming formulation is as
follows:
minimize f (x)
subject to x ∈ X
where X is the set of feasible points, defined by the set of constraints. In other
words, find an x that satisfies the constraints (i.e. x ∈ X ) and yet optimizes a
given objective function. The form of the feasible region X can be defined by
linear, quadratic, non-linear, or integer constraints depending on the type of
problem. Moreover, a set of input data is usually needed to represent a specific
certain member of the feasible region that describes a particular instant of the
problem. The above discussion also applies to f (x).

Horizon Duration Purpose


(1) Long term Long range
(4 weeks) Week 1 Week 2 Week 3 Week 4 schedule for
aggregate planning
(2) Medium D1 D2 D3 D4 D5
Medium range
(1 week) schedule for
planning/
operation Figure 2.
(3) Short
(day)
D1
A daily schedule for Horizons for the
execution maintenance scheduling
problem
Note: Di – Day i
JQME The term mathematical programming has been coined by Dorfman and refers
3,3 to the following operations research models:
(1) Linear programming.
(2) Integer programming.
(3) Quadratic programming.
168 (4) Non-linear programming.
(5) Stochastic programming.
In maintenance scheduling frame of reference the set X represents the set of
feasible schedules. A schedule is composed of points in X whose co-ordinates
are the time for each job to be accomplished, and different crafts of manpower
allocated for each job. The objective function f (x), could be minimizing
unscheduled jobs, personnel idle time or some sort of cost function.
In maintenance scheduling, constraints usually represent limits on:
(1) Availability of various types of skills.
(2) Equipment and tool availability.
(3) Availability of spare parts.
(4) Arrival times and job requirement of all incoming jobs.
(5) Sequence of job operations.
Moreover the above limits could either be deterministic or stochastic in nature.
The objective of maintenance scheduling could be one of the following:
(1) Minimize equipment and personnel idle time.
(2) Minimize total scheduling time.
(3) Minimize delay of certain jobs.
(4) Maximize equipment availability.
(5) Minimize the shut-down cost.
(6) Minimize plant shut-down time.
With a certain objective in mind and with the above constraints being imposed
on the system, one can formulate a mathematical programming model for the
maintenance problem; depending on the forms of the objective function and
constraints, the resulting model could be a linear, quadratic, non-linear or
integer programming model. Moreover, depending on whether the data are
deterministic (known exactly) or stochastic (only described by a certain
probability distribution), the resulting model would be either a deterministic or
stochastic programming model[2,5].
Two models from mathematical programming offer an adequate formulation
for the maintenance scheduling problem: the integer programming model for
situations with certainty; and the stochastic programming model with recourse
for situations with uncertainty. Both models are presented in the next section
with an illustrative example.
Integer and stochastic programming approaches for maintenance Maintenance
scheduling planning and
The integer programming model can be stated as: scheduling
n1
Min ∑ cjxj (1)
j =1
subject to: 169
Ax ≤ b
xj = 0 or 1
where A is m1 × n1, b is m1 × 1, and C = (cj) is 1 × n1 vector. All A, C and b are
known constants. The matrix A represents the coefficients of the constraints
such as required hours of each skill for jobs, b represents available skills and cj
represents cost values or penalties for unfinished jobs. The xj values provide the
times at which jobs are scheduled.
It is clear that integer programming models are only appropriate if all the
details about the maintenance system are known in advance (i.e. the
maintenance system is deterministic), which in turn, make cjs, A, and b known
constants. However, maintenance systems are stochastic in nature, since they
have many stochastic elements that are not known in advance and can only be
predicted at best. This shows that the maintenance scheduling problem must
have both deterministic and stochastic parameters, and stochastic constraints
that result from uncertain anticipated emergencies.
There are generally two ways of approaching this problem. One is
anticipative: to try to expect what will happen in the future and plan for it. The
other is adaptive: to wait until something is needed and then act accordingly.
Each approach has its advantages and disadvantages.
Stochastic programming with resource models are those which combine both
anticipative and adaptive strategies in one model in an attempt to strike a
balance between the long-term advantage of the anticipative approach and the
short-term advantage of the adaptive approach. This translates into a trade-off
between capital investment and short-term operation, between the cost of
maintaining a slowly varying workforce size to the cost of hiring, lay-off, and
overtime of a fast-changing workforce size[13].
Stochastic programming with recourse (SR) is a formulation that handles
uncertain future events. The stochastic programming model with simple
recourse (SR) is stated as follows:

SR Max cx + E [inf q + y + + q – y – | y + – y – = R – Tx , v + , v – ≥ 0]

subject to:

(2)
JQME where R is a vector of random variables with known distribution function and
3,3 E the expected value operator; A(m1 × m1), b(m1 × 1), c(1 × n1), q+(1 × m2),
q–(1 × m2) and T(m1 × n1) given matrices. Another way of stating the SR model
is as follows:

Max (3)
170
subject to:

The deterministic constraints Ax ≤ b represent the constraints for jobs on hand


as explained in the case of the integer programming model and the second set
of constraints represents the stochastic component of the model. The above
formulation for the integer and stochastic programming are given in general
forms. For more details about both models see [2,3,5].
In order to implement the mathematical programming approaches, the
following steps must be undertaken for preparing the model and solving it:
(1) Decide on an objective to be used; a sample of possible objectives was
given in the previous section. In the example below, the selected objective
is to minimize the number of unfinished jobs. The jobs are prioritized
according to importance. This has been decided by the criticality of the
job to the plant. In the stochastic case we need to estimate probability of
job arrivals at each horizon.
(2) Formulate model constraints. These include constraints on manpower
availability, skill per hour balances and selection constraints. The last set
of constraints deals with which job to select and at which hour for
scheduling. In the stochastic case, we may need to have reserved
manpower for anticipated jobs. This must be reflected in the constraints
and the objective.
(3) If the maintenance manager (co-ordinator) is interested only in
scheduling jobs on hand, his appropriate model is the deterministic
integer programme. In case he has elements of uncertainty, and he would
like to reserve manpower for anticipated jobs, his appropriate approach
is the stochastic model. The complexity of these models depends on the
plant, type, and size.
(4) Depending on the formulated model, packages are available for solving
mathematical programming models. Examples of these are linear
interactive and discrete optimizer (LINDO)[14], general integer and non-
linear optimizer (GINO)[15], and optimization software library (OSL)[16].
(5) Results of the models will yield implementable schedules. However, to Maintenance
investigate the sensitivity of the results to parameters of the model, planning and
techniques such as sensitivity analysis can be utilized. scheduling
In the next section, an example to demonstrate the utility of the mathematical
programming approaches is presented. The example is given for the stochastic
programming model; it can, however, be easily modified to fit the deterministic
integer programming approach by deleting the stochastic variables and the 171
constraints for anticipated jobs.

Illustrative example
To demonstrate the utility of the proposed approaches, the following example is
provided. The horizon taken is an eight-hour shift and the block for each job
shows the skill requirements for that job (see Figure 3). For example, job 1
requires two mechanics in the first hour, one mechanic in the second hour, two
electricians in the third hour and one plumber in the fourth hour. M represents
mechanic, E electrician and P plumber. Jobs 1-4 are the jobs on hand at the
beginning of the horizon. Stochastic components (expected jobs in the horizon)
are shown in Figure 4.

Job 1 2M M 2E P
Job 2 M P P E M Figure 3.
Jobs on hand at
Job 3 P E M beginning of the horizon
(deterministic)
Job 4 E P 2E M

The deterministic part in the example consists of jobs at hand at the beginning
of the horizon. The stochastic part shows the jobs expected to arrive in the
horizon. For example, job 5 is expected to arrive at hour 2 with probability 0.5
and requires two mechanics in the first hour and an electrician in the second
hour. The hour corresponding to the first block is the hour when the job is
expected to arrive. The last column provides the probability with which it will
arrive at that hour. The maintenance department has two mechanics, two
electricians and one plumber. The reward for scheduling jobs 1 and 2 in the
horizon is 100 and for jobs 3 and 4 is 20. The penalty for having excess

1 2 3 4 5 6 7 8 Probability
Job 5 2M E 0.5
Job 6 2M E 0.25
2M E Figure 4.
Job 7 0.25
Jobs expected to arrive
Job 8 P 2E 0.3 in the horizon
(stochastic)
Job 9 P 2E 0.7
JQME manpower reserved for anticipated jobs is 20 and for having less manpower
3,3 reserved for anticipated jobs is 100. The complete statement of the model for the
example is given in the Appendix.
The model objective function minimizes the number of unscheduled jobs.
The constraints of the model include skill hour balances, constraints, selection
constraints, and manpower balance constraints. The model is fed to the
172 package linear interactive and discrete optimizer (LINDO)[14]. The results of
the model are summarized below:
Z14 = 1, Z21 = 1, Z31 = 1, and Z45 = 1.
This means that job 1 starts at the beginning of hour 4 and finishes by the end
of hour 7. Job 2 starts at the beginning of hour 1 and completes by the end of
hour 5. Job 3 starts at the beginning of hour 1 and completes by hour 3 and job
4 starts at the beginning of hour 5 and completes by the end of hour 8, at the end
of the horizon. Figure 5 gives a brief schedule for the deterministic jobs.

Horizon
Job 1 2 3 4 5 6 7 8
1 2M M 2E P
2 M P P E M
Figure 5.
Schedule for 3 P E M
deterministic jobs
4 E P 2E M

The solution also provides the manpower reserved for anticipated jobs. All
required manpower has been reserved for jobs 5, 6 and 9 at the times they are
expected. No manpower is reserved for job 7 and only part of the needed
manpower is reserved for job 8. Decisions can be made on how to utilize the
reserved manpower in case the jobs do not arrive.

Evolution of the maintenance management information system for


better maintenance planning and scheduling
In order to utilize the mathematical programming approaches and to have
effective control over the maintenance scheduling problem, which includes
forecasting, scheduling and backlog control, an effective maintenance
management information system is needed. The system must have the
capabilities to forecast, generate mathematical programming formulations, and
manage the backlog. An effective information system must have the following
five subsystems[17]:
(1) Equipment control.
(2) Work order control.
(3) Spare parts and inventory control.
(4) Cost accumulation and reporting. Maintenance
(5) Performance reporting. planning and
The following subsystems of the maintenance management information scheduling
system need to be expanded in order to have a better control over the
maintenance scheduling problem. The subsystems are:
(1) Equipment control. 173
(2) Work order control.
(3) Performance reporting.
The equipment control subsystem should include the pattern of job arrivals
and reliability models in addition to equipment history, routine maintenance
and predictive maintenance routines. Various statistical packages
(STATGRAPH[18] for example) must be an integeral part of the subsystem in
order to develop needed statistical distribution for the stochastic programming
model.
The work order control must be expanded to provide data needed for the
scheduling model. The data include job standards; this is a dynamic process
which requires continuous data collection. The scheduling model is proposed to
be a part of the work order control subsystem. Therefore the work control
subsystem must include matrix and report generators in addition to
optimization subroutines such LINDO, GINO and OSL.
Performance measures could be expanded to include evaluation of
maintenance schedules. Measures such as schedule effectiveness must be
included. This all constitutes the performance reporting subsystem.
The statistical routines will provide forecasting capabilities and distribution
functions estimation which will be used in the stochastic model. The matrix
generator will generate the optimization model and submit it to the optimizer
which provides the optimal schedules. The report generator will then take the
output of the optimizer and develop a schedule understandable to the foremen.
In some situations, the job expected to arrive in the horizon might not
materialize. The information system must have some capability to manage
reserved workforce for future jobs. The management system must be based on
priority rules or accumulated previous experience. It should be co-ordinated
with the status of the backlog, preventive and predictive maintenance
schedules.
If the capabilities suggested above are incorporated in the maintenance
management information system, it becomes more like a decision support
system (DSS), or an expert system (ES).

Conclusion
In this paper we have discussed the problem of scheduling and planning of
maintenance. Complexities of this problem have been summarized, and two
relevant mathematical programming approaches to this problem have been
presented. An example illustrating the utility of the proposed mathematical
JQME programming models has been given. The example shows that these models
3,3 can offer a valuable approach for formulating and obtaining an implementable
solution for the maintenance scheduling problem. Expansion to the state-of-the-
art maintenance management information system has been proposed in order
to utilize the mathematical programming approach and to have effective control
of the maintenance scheduling problem. Structure of the maintenance
174 information system has been proposed in order to have more focus on the
maintenance planning and scheduling issues.

References
1. Jarvis, W.J., Maintenance Planning and Scheduling in Petrochemical Manufacturing
Environment, paper published by National Petroleum Refineries Association, Washington
DC, 1980, MC 80-2, pp. 1-12.
2. Roberts, S.M. and Escudero, L.F., “Scheduling of plant maintenance personnel”, Journal of
Optimization Theory and Applications, Vol. 39 No. 3, 1983, pp. 323-43.
3. Roberts, S.M. and Escudero, L.F., “Minimum problem-size formulation for the scheduling
of plant maintenance personnel”, Journal of Optimization Theory and Applications, Vol. 39
No. 3, 1983, pp. 345-62.
4. Worrall, B.M. and Mert, B., “Applications of dynamic scheduling rules in maintenance
planning and scheduling”, Proceedings of the 5th International Conference on Production
Research (ICPR), 12-16 August 1979, pp. 260-4.
5. Duffuaa, S.O. and Al-Sultan, K.S., “A mathematical model for effective maintenance
planning and scheduling”, Proceedings of the Second Scientific Symposium on
Maintenance, Planning and Operations, Riyadh, 1993, pp. 184-93.
6. Panwalker, S.S. and Iskander, P.W., “A survey of scheduling rules”, Operations Research,
Vol. 25 No. 1, 1977, pp. 25-41.
7. Baker, K.R., Introduction to Sequencing and Scheduling, John Wiley & Sons, New York, NY,
1976.
8. Printelon, L.M. and Goldens, L.F., “Maintenance management decision making”, European
Journal of Operational Research, Vol. 58, 1992, pp. 301-17.
9. Matta, R. and Miller, T., “A note on the growth of production planning system: a case study
in evolution”, Interfaces, Vol. 23 No. 4, 1993, pp. 116-22.
10. Matra, R. and Guignard, M., “Dynamic production scheduling for a process industry”,
Operations Research, Vol. 42 No. 3, 1994, pp. 492-503.
11. Smith, B.M., “IMPACS – a bus crew scheduling system using integer programming”,
Mathematical Programming, Series B, Vol. 42 No. 1, April 1988, pp. 181-8.
12. Marsten, R.E., Muller, M.R. and Killion, C.L., “Crew planning and flying tiger: a successful
application of integer programming”, Management Science, Vol. 25, 1979, pp. 1175-83.
13. Wets, R.J.-B, “Stochastic programming”, in Nemhauser, G.L., Rinnoy Kan, A.H. and Todd,
M.J. (Eds), Handbooks in Operations Research and Management Science, Vol. 1,
Optimization, Elsevier Applied Science, Barking, Essex, 1989, pp. 345-62.
14. Scharge, L., Linear, Integer and Quadratic Programming with LINDO, The Scientific
Press, Palo Alto, CA, 1984.
15. Liebman, J., Lasdon, L., Scharge, L. and Waren, A., Modeling and Optimization with GINO,
The Scientific Press, Palo Alto, CA, 1986.
16. Optimization Subroutine Library Guide and Reference, SC 23-05192, IBM Corporation,
1991.
17. Niebel, B.W., Engineering Maintenance Management, Marcel Dekker, New York, NY, 1985. Maintenance
18. Statistical Graphics Corporation, STAT Graphics, STSC, USA, 1989.
planning and
Appendix scheduling
Prior to stating the model the following notations are defined.
Zij = A zero-one variable which indicates the starting time for job j.
Rijk = Reserved manpower of skill i for anticipated job j in hour k. 175
D+ijk = Excess manpower of skill i reserved for anticipated job j in hour k.
D –ijk = Shortage in manpower of skill i reserved for anticipated job j in hour k.
The stochastic programming formulation for the example given is formulated as:

subject to:

(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
JQME (12)
3,3 (13)
(14)
(15)
(16)
176 (17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(35)
(36)
(37)
(38)

(39)

You might also like