Skip to main content
Log in

Scheduling jobs and maintenance activities on parallel machines

  • Original Paper
  • Published:
Operational Research Aims and scope Submit manuscript

Abstract

In this article, we deal with the problem of scheduling N production jobs on M parallel machines. Each machine should be maintained once during the planning horizon. We consider the case where the maintenance of the machines should start at time zero and the resources that ensure the maintenance are not sufficient. For such a reason, the maintenance tasks must be continuously run during the planning horizon. We aim to find a schedule composed of the production jobs and the maintenance tasks for which the total sum of the jobs’ weighted completion times and the preventive maintenance cost are minimized. We optimally solve the problem by an integer linear programming method. We also propose a heuristic method computed in two phases. Computational experiments are performed on randomly generated instances and the results show that the proposed methods produce satisfactory solutions for the problem.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  • Aghezzaf EH, Jamali MA, Ait-Kadi D (2007) An integrated production and preventive maintenance planning model. Eur J Operat Res 181:679–685

    Article  Google Scholar 

  • Eastman WL, Even S, Isaacs IM (1964) Bounds for optimal scheduling of n jobs on m processors. Manag Sci 11:268–279

    Article  Google Scholar 

  • Graves HG, Lee C-Y (1999) Scheduling maintenance and semiresumable jobs on a single machine. Naval Res Logist 46:845–863

    Article  Google Scholar 

  • Kacem I (2009) Approximation algorithms for the makespan minimization with positive tails on a single machine with a fixed non-availability interval. J Comb Optim 17(2):117–133

    Article  Google Scholar 

  • Kacem I (2008) Approximation algorithm for the weighted flowtime minimization on a single machine with a fixed non-availability interval. Comput Ind Eng 54(3):401–410

    Article  Google Scholar 

  • Kacem I, Chu C (2008) Worst-case analysis of the WSPT and MWSPT rules for single machine scheduling with one planned setup period. Eur J Operat Res 187(3):1080-1089

    Article  Google Scholar 

  • Kacem I, Mahjoub RA (2009) Fully polynomial time approximation scheme for the weighted flow-time minimization on a single machine with a fixed non-availability interval. Comput Ind Eng 56(4):1708–1712

    Article  Google Scholar 

  • Kacem I, Chu C, Souissi A (2008) Single-machine scheduling with an availability constraint to minimize the weighted sum of the completion times. Comput Operat Res 35:827–844

    Article  Google Scholar 

  • Kacem I, Haouari M (2009) Approximation algorithms for single machine scheduling with one unavailability period. 4OR Quart J Operat Res 7(1):79–92

    Article  Google Scholar 

  • Kacem I, Kellerer H (2011) Fast approximation algorithms to minimize a special weighted flow-time criterion on a single machine with a non-availability interval and release dates. J Sched 14(3):257–265

    Article  Google Scholar 

  • Kacem I, Lanuel Y, Sahnoune M (2011) Strongly Fully Polynomial Time Approximation Scheme for the Two-Parallel Capacitated Machines Scheduling Problem. International Journal of Planning and Sched 1(1/2):32–41

    Article  Google Scholar 

  • Kellerer H, Kubzin MA, Strusevich VA (2009) Two simple constant ratio approximation algorithms for minimizing the total weighted completion time on a single machine with a fixed non-availability interval. Eur J Operat Res 199:111–116

    Article  Google Scholar 

  • Kubiak W, Blazewicz J, Formanowicz P, Breit J, (2002) Schmidt G Two-machine flow shops with limited machine availability. Eur J Operat Res 136:528–540

    Article  Google Scholar 

  • Lee C-Y (2000) Minimizing the makespan in the two machine scheduling scheduling problem with an availability constraint. Operat Res Lett 20:129–139

    Article  Google Scholar 

  • Lee C-Y, Chen Z-L (2000) Scheduling jobs and maintenance activities on parallel machines. Naval Res Logist 47:145–165

    Article  Google Scholar 

  • Li G (1997) Single machine earliness and tardiness scheduling. Eur J Operat Res 26:546–558

    Google Scholar 

  • Mellouli R, Cherif S, Chu C, Kacem I (2009) Identical parallel-machine scheduling under availability constraints to minimize the sum of completion times. Eur J Operat Res 197:1150–1167

    Article  Google Scholar 

  • Potts CN, van Wassenhove LN (1985) A branch and bound algorithm for the total weighted tardiness problem. Operat Res 33(2):363–377

    Article  Google Scholar 

  • Rebai M, Kacem I, Adjallah KH (2012) Earliness–tardiness minimization on a single machine to schedule preventive maintenance tasks: metaheuristic and exact methods. J Intell Manuf 23(4):1207–1224

    Article  Google Scholar 

  • Sadfi C, Penz B, Rapine C, Blazewicz J, Formanowicz P (2005) An improved approximation algorithm for the single machine total completion time scheduling problem with availability constraints. Eur J Operat Res 161:3–10

    Article  Google Scholar 

  • Schmidt G (2000) Scheduling with limited machine availability. Eur J Operat Res 121:1–15

    Article  Google Scholar 

  • Smith WE (1956) Various optimizers for single-stage production. Naval Res Logist Quart 3:59–66

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Imed Kacem.

Appendix: Description of the genetic algorithm

Appendix: Description of the genetic algorithm

Initial population. The initial population consists of a set of Np initial solutions called individuals or chromosomes. The chromosomes of a population are generally generated in a random way. Generally, the population size should not be too large in order to avoid to increase the computational time spent for obtaining the final solution. However, it should not be too small in order to ensure a satisfactory quality of the final solution. For our proposed genetic algorithm, we generate an initial population of 100 chromosomes (Np = 100). Every chromosome is randomly generated.

Chromosome representation. Two types of chromosome representation are tested. Each representation consists in a table of N genes. In the first representation, a gene is a production job and the gene index is the order of the corresponding job. In the second representation it corresponds to a machine on which is performed the production job having as number the index of the gene. The two chromosome representations are shown in Figs. 2 and 3.

Fig. 2
figure 2

First chromosome representation

Fig. 3
figure 3

Second chromosome representation

The first chromosome representation is translated into a feasible solution for the problem as follows. First, we test if the first production job in the chromosome can be assigned to a machine before its maintenance task. If the assignment is not possible, we find the machine with the earliest completion time after its maintenance task and we assign the production job to this machine. If the assignment is possible, then we assign the production job and we consider the assignement of the next job. We repeat the same procedure until all the production jobs in the chromosome are assigned. Before the evaluation of the chromosome, we check if the WSPT order is respected in all the partial sequences before and after the maintenance tasks.

For the second chromosome representation we use the following rule. First, we establish the WSPT sequence. Then, we test if the first production job of the WSPT sequence (job 1) can be assigned before the maintenance task of the machine determined by the first gene in the chromosome. If the assignement is possible, then we assign the production job. If it is not possible, then we assign it on the same machine, determined by the gene, after the maintenance task. We repeat the same procedure until all the N production jobs of the WSPT sequence are assigned.

Crossover operator. In the crossover operator, two parents should be selected from the population of the current generation to generate at least one child. In our genetic algorithm, 90 % of the best chromosomes participate in the crossover operation. At each crossover operation, two children are produced. The principle of the selection is as follows. First, the 1st parent and the 45th parent are selected. Then, the 2nd and the 46th parents, etc \(\ldots\). until the 44th parent and the 90th parent. For every two selected parents, we randomly generate an integer v from {1, 2, \(\ldots\), N}. The next steps differ according to the type of the chromosome representation.

For the first representation type, the first child C1 inherits the subsequence of the first v genes from the first parent and the second child C2 inherits the subsequence of the first v genes from the second parent. Then, we fill the remaining empty genes of child C1 according to their order of appearance in the second parent. Finally we fill the remaining empty genes of child C2 according to their order of appearance in the first parent.

For the second representation, the first child C1 inherits the subsequence of the first v genes from the first parent and the last (N − v) genes from the second parent. The second child C2 inherits the subsequence of the first v genes from the second parent and the last (N − v) genes from the first parent. The crossover operator used to generate the children in our genetic algorithm is called the standard ONE-OPT crossover operator.

Mutation operator. In the mutation operation, an individual is randomly chosen from the population to undergo a small modification. Generally, the main purposes of using the mutation are the possibility to leave a local optimum and to diversify the next population. In our algorithm, we apply the mutation to 10 individuals randomly chosen from the population. The slight modification consists in exchanging two genes randomly selected. The procedure is the same for the two types of representation.

Replacement strategy. In a genetic algorithm the number of new solutions increases from a generation to another. Keeping all generated solutions of the iterations will amplify the population size. This fact may increase the computational time for obtaining the final solution and also the algorithm may be memory consuming. A replacement strategy that consists in replacing the individuals (solutions) in the population of the worst fitness by the new children with better evaluations may be a good solution for obtaining a better performance. In our implementation, we have taken at each generation all the best 100 chromosomes.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rebai, M., Kacem, I. & Adjallah, K.H. Scheduling jobs and maintenance activities on parallel machines. Oper Res Int J 13, 363–383 (2013). https://doi.org/10.1007/s12351-012-0130-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12351-012-0130-1

Keywords

Navigation