Mathematical Programming
Mathematical Programming
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.
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.
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:
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.
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)