availability approach to joint production

0 downloads 0 Views 426KB Size Report
10 Jan 2012 - Faculty of Engineering, Department of Industrial Engineering, Tarbiat ...... MATLAB 7.6.0 and run on a PC with 2.8GHz Intel and 1 GB of RAM memory. .... S22. (10. В. 3. В. 2). 0.6188. 1.3656. 1.9597. 0.6462. 7.9551. 0.0691.
This article was downloaded by: [Tarbiat Modares University] On: 07 October 2012, At: 02:49 Publisher: Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK

International Journal of Production Research Publication details, including instructions for authors and subscription information: http://www.tandfonline.com/loi/tprs20

A reliability/availability approach to joint production and maintenance scheduling with multiple preventive maintenance services a

b

Hadi Mokhtari , Ashkan Mozdgir & Isa Nakhai Kamal Abadi

a

a

Faculty of Engineering, Department of Industrial Engineering, Tarbiat Modares University, Tehran, Iran b

Payame Noor University, 19395–4697 Tehran, Iran

Version of record first published: 10 Jan 2012.

To cite this article: Hadi Mokhtari, Ashkan Mozdgir & Isa Nakhai Kamal Abadi (2012): A reliability/availability approach to joint production and maintenance scheduling with multiple preventive maintenance services, International Journal of Production Research, 50:20, 5906-5925 To link to this article: http://dx.doi.org/10.1080/00207543.2011.637092

PLEASE SCROLL DOWN FOR ARTICLE Full terms and conditions of use: http://www.tandfonline.com/page/terms-and-conditions This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. The publisher does not give any warranty express or implied or make any representation that the contents will be complete or accurate or up to date. The accuracy of any instructions, formulae, and drug doses should be independently verified with primary sources. The publisher shall not be liable for any loss, actions, claims, proceedings, demand, or costs or damages whatsoever or howsoever caused arising directly or indirectly in connection with or arising out of the use of this material.

International Journal of Production Research Vol. 50, No. 20, 15 October 2012, 5906–5925

A reliability/availability approach to joint production and maintenance scheduling with multiple preventive maintenance services Hadi Mokhtaria, Ashkan Mozdgirb and Isa Nakhai Kamal Abadia* a Faculty of Engineering, Department of Industrial Engineering, Tarbiat Modares University, Tehran, Iran; bPayame Noor University, 19395–4697 Tehran, Iran

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

(Received 14 June 2011; final version received 27 October 2011) In classical scheduling problems, it is often assumed that the machines are available during the whole planning horizon, while in realistic environments, machines need to be maintained and therefore may become unavailable within production periods. Hence, in this paper we suggest a joint production and maintenance scheduling (JPMS) with multiple preventive maintenance services, in which the reliability/availability approach is employed to model the maintenance aspects of a problem. To cope with the suggested JPMS, a mixed integer nonlinear programming model is developed and then a population-based variable neighbourhood search (PVNS) algorithm is devised for a solution method. In order to enhance the search diversification of basic variable neighbourhood search (VNS), our PVNS uses an epitome-based mechanism in each iteration to transform a group of initial individuals into a new solution, and then multiple trial solutions are generated in the shaking stage for a given solution. At the end of the local search stage, the best obtained solution by all of the trial solutions is recorded and the worst solution in population is replaced with this new solution. The evolution procedure is continued until a predefined number of iterations is violated. To validate the effectiveness and robustness of PVNS, an extensive computational study is implemented and the simulation results reveal that our PVNS performs better than traditional algorithms, especially in large size problems. Keywords: production scheduling; preventive maintenance; multiple repair rates; reliability/availability approach; population-based variable neighbourhood search

1. Introduction Most production scheduling literature assumes that the machines are available for processing jobs at all periods during the planning horizon. However, this assumption is not reasonable in many real world manufacturing industries due to preventive maintenance (PM), tool changes, machine breakdowns, etc. For example, a drilling machine is one of the most important devices in the making of printed circuit boards (PCB) and manufacturing should stop to change the micro-drill after a fixed period of processing time. It is not uncommon to observe in practice that some machines are awaiting maintenance while there are jobs waiting to be processed by these machines (Xu et al. 2008). Therefore, simultaneously scheduling the received orders and the maintenance activities has become a common practice in many companies. The PM actions help to keep production tools in good operating conditions (they increase the availability of a system) and allow decreasing the costs by avoiding unexpected failures (Berrichi et al. 2008). However, the production scheduling and maintenance activities are handled separately in most real manufacturing systems. The majority of studies in scheduling taking into account maintenance adopt the approach called ‘machine scheduling with availability constraints’ where the time interval of PM actions as well as their number are known and fixed in advance and a few researches dealt with the joint production and maintenance scheduling (Berrichi et al. 2010). For many years the relationship between production and maintenance has been considered as a conflict in management decisions and this conflict may result in an unsatisfied demand or machine breakdowns if the production and maintenance services do not respect the requirements of each other (Berrichi et al. 2010). Therefore it is necessary to collaborate the production scheduling and the maintenance services in order to achieve a common goal, that of maximising system productivity and improving the manufacturing efficiency. Production scheduling deals with finding the appropriate assignment of jobs on machines in order to optimise especial objectives by considering the technological constrains. *Corresponding author. Email: [email protected] ISSN 0020–7543 print/ISSN 1366–588X online ß 2012 Taylor & Francis http://dx.doi.org/10.1080/00207543.2011.637092 http://www.tandfonline.com

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

International Journal of Production Research

5907

The basic studies in production scheduling with the maintenance activities were presented based on the ‘machine unavailability’ concept in which both the time interval of PM activities and the number of PMs are pre-known and fixed in advance. This type of problem has been extensively treated by Lee (1996 and 1999), and more recently by Blazewicz et al. (2001) and Kubiak et al. (2002). Moreover, a comprehensive literature survey on existing methods for solving scheduling problems under machine unavailability and the complexity results was presented by Schmidt (2000). In another study Yang et al. (2002) studied a single machine scheduling problem with a single flexible maintenance action in order to minimise the system makespan. They proved the problem NP-hardness and then developed an efficient heuristic algorithm for solving the addressed problem. Additionally, the two-machine flow-shop problem with machine availability constraint has also been investigated in a no-wait environment by Cheng and Liu (2003) and Espinouse et al. (2001). Liao and Chen (2003) considered a single machine scheduling problem where the machine needs periodical PMs with the objective of minimising the maximum tardiness. In order to derive the optimal schedule, they designed a branch-and-bound algorithm and a heuristic algorithm for largesized problems. Aggoune (2003) dealt with a flow shop with availability constraints where two variants of the nonpre-emptive problem were considered and a heuristic approach based on a genetic algorithm and a tabu search was proposed to approximately solve the makespan minimisation problem. A two-stage problem with resumable case is studied by Xie and Wang (2005) where there is only one unavailability period on the single machine of the first stage and no unavailability periods on the m machines of the second stage. To schedule a two-parallel-machine problem with the makespan objective, Liao et al. (2005) considered a situation where one machine is not available during a time period due to preventive maintenance or periodical repair. For a solution approach, they partitioned the problem into four sub-problems, each of which was solved optimally by an algorithm. In another work Ji et al. (2007) considered the same machine environment with the objective of minimising makespan and showed that the worst-case ratio of the classical LPT algorithm is 2. A dynamic programming approach is suggested by Allaoui et al. (2006) to deal with the non-resumable case when there is a single unavailability period on the first machine. In the study presented by Aggoune and Portmann (2006), the authors first propose a special case of two jobs scheduling with PM periods and then a polynomial algorithm based greedy heuristic to solve the problem with more than two jobs. More recently, Low et al. (2010) a single-machine scheduling problem with periodic maintenance was devised and then a modified particle swarm optimisation algorithm with the largest position value (LPV) rule was developed to effectively solve the problem. In order to minimise the makespan criterion Mati (2010) dealt with a job-shop environment where the machines are not available during the planning horizon and a taboo thresholding heuristic with a block-based neighbourhood function was derived to solve the problem considered. In a recent literature survey presented in Ma et al. (2010), the complexity results, exact algorithms and approximation algorithms in single machine, parallel machine, flow shop, open shop, job shop scheduling environment with machine availability constraint are surveyed. As it can be seen, the majority of studies in scheduling with the maintenance activities are concentrated on the fixed period of maintenance activities with the known intervals where the flexibility of decision making process are very low. Hence in this paper we aim to develop a joint production and maintenance scheduling (JPMS) in which not only the assignment of jobs on machines are considered but also both PM intervals and PM activity numbers should be determined in the model as variable. In order to simultaneously determine the best sequence of jobs on machines as well as PM periods of the production system, the reliability approach is employed. As a new PM modelling approach, reliability has been recently applied to cope with the availability of processing machines in a JPMS system. To our knowledge, there are a few studies related to JPMS that use the reliability/availability concepts to handle the maintenance aspects in production systems. The paper published by Ruiz et al. (2007) is the first application of reliability concept to model the maintenance actions in a production environment. They proposed an integrated method for permutation flow shop problem to minimise the makespan. The authors have used reliability models keeping a minimum level of reliability during the scheduling horizon. Afterwards, Berrichi et al. (2008) have proposed an integrated model for parallel machine problem using reliability concepts to take into consideration the maintenance aspect. In their work, two objectives were considered: the minimisation of the makespan and the minimisation of the system unavailability. Moreover, two evolutionary genetic algorithms are compared to find an approximation of the Pareto-optimal front of the problem. More recently, Moradi et al. (2011) investigates an integrated flexible job shop problem with preventive maintenance where the reliability approach was applied for modelling maintenance aspects of the problem where both the maintenance activity numbers and maintenance intervals are not fixed in advance. The same approach is presented for the parallel machine scheduling case by Moradi and Zandieh (2010). Furthermore, Ben Ali et al. (2011) developed an elitist multi-objective genetic

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

5908

H. Mokhtari et al.

algorithm and some lower bounds that provide a set of Pareto optimal solutions to minimise the makespan and the total maintenance cost in a job shop environment. Another major shortcoming in previous studies on JPMS is that they only consider one kind of PM activities to be performed on machines, while in practice there are different kinds of PM services that are needed corresponding to the different situation of machines. Some machines need to be fully repaired while others just require to be partially serviced. To make the problem more realistic, we consider different kinds of PM activities called multiple preventive maintenance services (MPMS). To our knowledge, no paper has ever attempted to consider the case of MPMS in a JPMS problem. Hence, in this paper an integrated model of parallel machine scheduling with the system availability for MPMS is considered. The aim of this problem is to find the best assignment of jobs to the machines in order to satisfy a predefined value of makespan as well as the appropriate MPMS policies in order to minimise the system unavailability. The MPMS policy consists of deciding which PM service is selected among possible services of PM and then execute the selected PM on machines. The rest of the paper is structured as follows. Section 2 describes the reliability approach for handling the maintenance issues in JPMS suggested in this paper. In Section 3, the joint production and maintenance scheduling problem is formulated in a parallel machine system. In Section 4, the solution approach which is based on population-based VNS is described in detail. The simulation results on random benchmark problems and comparative study are presented in Section 5, and Section 6 reports the concluding remarks.

2. Reliability/availability approach to JPMS In this section, we are going to develop the integrated production and maintenance scheduling in a parallel machine system. First, we describe the production scheduling in a parallel machine environment and definition of preventive maintenance separately, and then develop the JPMS problem. For production scheduling component, an identical parallel machine scheduling problem is considered in this paper. Parallel machine scheduling has been a popular research area due to its wide range potential application areas. On one hand it is a generalisation of the single machine, and a special case of the flexible flow shop, and on the other hand the occurrence of resources in parallel is common in the real-world (Sar{cicek and Celik 2011). In our study, the production system can be stated as follows. (i) At the beginning of the planning horizon, a manufacturer receives a set of n different jobs fJ1 , J2 , . . . , Jng; each one involves one operation. (ii) There are m identical parallel machines. (iii) No machine can process more than one job at a time. (iv) The number of jobs is fixed and known in advance. (v) All jobs are available at time zero. (vi) The setup times are sequence-independent and hence are embedded in the processing times. (vii) Job pre-emptions are not allowed. There are generally two decisions in a parallel machine problem to be made. One is to determine which jobs are to be allocated to which machines and the other is to determine the sequence of the jobs allocated to each machine. This problem is shown to be NP-hard (Garey and Johnson 1979). Numerous researches have been concentrated to solve this problem either by exact methods for moderate size problems or by developing heuristics methods (Berrichi et al. 2008). Lee and Liman (1993) considered a two parallel-machine problem and suggested a SPT-based heuristic in which they first assign the jobs with SPT order to the machines (starting with M1) until no jobs can be assigned to M1. The remaining jobs are then assigned to M2. The maintenance planning in the scheduling field means that the maintenance activity has to be started and finished in a predetermined maintenance period (Low et al. 2010). For the maintenance component, we consider the systematic preventive maintenance introduced by Berrichi et al. (2008) in this paper. The systematic PM services increase the availability of a system and consequently decrease the unexpected failures as well as unsatisfied customer demands. The maintenance scheduling can be defined as a PM plan in which the PM interval dates should be determined for each machine maximising the system availability. Moreover, the availability (At) is the probability that a system or a component is performing its required function at a given point in time or over a stated period of time (Ebeling 1997) as follows. ðAt Þ ¼ P ðmachine M is operating at a given time tÞ

ð1Þ

International Journal of Production Research

5909

According to the concept of reliability, the availability of machine Mi is related to its repair rate i and its failure rate i . Assuming that failure and repair rate for machine Mi follow an exponential probability distribution (Ebeling 1997), the availability of Mi is computed as follows. Ai ðtÞ ¼

i i þ þ exp½ði þ i Þ i þ i i þ i

ð2Þ

And consequently, machine Mi unavailability at time t is defined as. Ai ðtÞ ¼ 1  Ai ðtÞ While the availability Ai ðtÞ of machine Mi follows a time-decreasing behaviour, the unavailability Ai ðtÞ is a timeincreasing function. That means, if no PM services are performed on a machine, its availability will decrease and hence its unavailability will increase. Since PM actions are used to restore the machine to ‘as good as new’ condition, the availability of machine Mi after the last PM action performed at timeTi is reformulated as follows.

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

Ai ðtÞ ¼

i i þ EðtÞ, i þ i i þ i

ð3Þ

in which EðtÞ ¼ exp½ði þ i Þðt  Ti Þ As mentioned before, in all the previous studies the failure and repair rate are assumed to be constant for all machines while in practice it is possible to perform many different PM services on machines resulting in different repair rates in the model. The use of several PM services makes the problem more realistic and, at the same time, more complicated to formulate and solve. By taking into account the multiple PM services in the JPMS problem, the availability of machine Mi when kth service of PM service is selected, can be corrected as follows. Aki ðtÞ ¼

ki ðtÞ i þ k EðtÞ, k i ðtÞ þ i i ðtÞ þ i

ð4Þ

where EðtÞ ¼ exp½ðki ðtÞ þ i Þ ðt  Ti Þ, and ki ðtÞ represents the repair rate of machine Mi if the kth service of PM service ki is performed on machine as last PM. Hence the new repair rate for Mi at given time t is as below. ki ðtÞ ¼

p X 

 zki ðtÞki ,

ð5Þ

k¼1

where zki ðtÞ is a binary variable that indicates whether the last PM service performed on machine Mi is ki . ( 1 if the last PM performed on Mi at given time t is ki k zi ðtÞ ¼ 0 otherwise

ð6Þ

It is also assumed that at the beginning of the planning horizon (when the machines have not been serviced yet), the machines unavailability is zero and the availability is deteriorated with the maximum repair rate available for each machine. Considering the new repair rate, the availability Ai ðtÞ for machine Mi with MPMS can be rewritten as follows.  Pp  k k i EðtÞ k¼1 zi ðtÞi   Ai ðtÞ ¼ Pp  k , ð7Þ þ Pp  k k k k¼1 zi ðtÞi þ 1 k¼1 zi ðtÞi þ i in which

"

# ! p X  k  k zi ðtÞi þ i ðt  Ti Þ EðtÞ ¼ exp  k¼1

Now, we are going to determine the total system availability for m parallel machine production system. According to the reliability concept, for m independent parallel parts of a system, each having an availability Ai ðtÞ , the total system availability As ðtÞ at given time t is given as below. As ðtÞ ¼ 1 

m Y i¼1

½1  Ai ðtÞ

ð8Þ

5910

H. Mokhtari et al.

Therefore, the system unavailability As ðtÞ at time t is: As ðtÞ ¼ 1 

m Y

½1  Ai ðtÞ

ð9Þ

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

i¼1

An illustrative example with eight jobs, two machines, and two potential PM services for each machine is shown in Table 1. The failure rate for machines are assumed to be 1 ¼ 0:5 and 2 ¼ 0:8 while the multiple repair rate for M1 and M2 are f11 ¼ 0:2, 21 ¼ 0:4g and f12 ¼ 0:2, 22 ¼ 0:4g respectively. Moreover, the processing time of kth service of PM action on machine Mi is assumed to be an increasing function of preventive actions with repair rate ki . A feasible solution of integrated model of preventive maintenance and production scheduling is depicted in Figure 1. As shown in Figure 1, the first PM on M1 is based on 21 , starts at t ¼ 5 and its second PM is based on 11 , starts at t ¼ 40 while the first PM on M2 is based on 12 , starts at t ¼ 15 and its second PM is based on 22 starts at t ¼ 32:5. From production point of view, the sequence of jobs on machine M1 and M2 are calculated fJ1 , J4 , J8 , J6 , J2 g and fJ7 , J3 , J5 g respectively. As mentioned above, the maintenance activities are performed at times T ¼ {5, 15, 32.5, 40}. Therefore in order to compute the total unavailability, Equations (8)–(10) are executed just at these times. The results attained for machines availability Ai ðtÞ are shown in Table 2. According to the results presented in the last column of Table 2, the total unavailability from t ¼ 0 to t ¼ 45 is F ¼ max{0.365, 0.475, 0.370, 0.524} ¼ 0.524.

Table 1. Illustrative example. Jobs

J1

J2

J3

J4

J5

J6

J7

J8

Processing times on M1 Processing times on M2

5 10

10 5

10 15

5 10

5 5

10 15

5 15

5 10

Figure 1. Gant chart for JPMS.

Table 2. Results of machines availability and system unavailability. ðz11 ðtÞ, z21 ðtÞÞ

ðz12 ðtÞ, z22 ðtÞÞ

A1(t)

A2(t)

As ðtÞ

5.0

(0, 1)

(0, 1)

z11 ð5Þ11 þ z21 ð5Þ21 þ 1 Eð5Þ ¼ 0:451 z11 ð5Þ11 þ z21 ð5Þ21 þ 1

z12 ð5Þ12 þ z22 ð5Þ22 þ 1 Eð5Þ ¼ 0:334 z12 ð5Þ12 þ z22 ð5Þ22 þ 2

0.365

15.0

(1, 0)

(0, 1)

z11 ð15Þ11 þ z21 ð15Þ21 þ 1 Eð15Þ ¼ 0:286 z11 ð15Þ11 þ z21 ð15Þ21 þ 1

z12 ð15Þ12 þ z22 ð15Þ22 þ 1 Eð15Þ ¼ 0:334 z12 ð15Þ12 þ z22 ð15Þ22 þ 2

0.475

32.5

(1, 0)

(0, 1)

z11 ð32:5Þ11 þ z21 ð32:5Þ21 þ 1 Eð32:5Þ ¼ 0:444 z11 ð32:5Þ11 þ z21 ð32:5Þ21 þ 1

z12 ð32:5Þ12 þ z22 ð32:5Þ22 þ 1 Eð32:5Þ ¼ 0:334 z12 ð32:5Þ12 þ z22 ð32:5Þ22 þ 2

0.370

40.0

(1, 0)

(1, 0)

z11 ð40Þ11 þ z21 ð40Þ21 þ 1 Eð40Þ ¼ 0:286 z11 ð40Þ11 þ z21 ð40Þ21 þ 1

z12 ð40Þ12 þ z22 ð40Þ22 þ 1 Eð40Þ ¼ 0:266 z12 ð40Þ12 þ z22 ð40Þ22 þ 2

0.524

t

International Journal of Production Research

5911

To further analyse the reliability technique adapted in this paper, we consider the above example regardless of maintenance actions. In this case, the system makespan can be simply computed as follows.   cmax ¼ max ð p7 þ p3 þ p5 Þ, ð p1 þ p4 þ p8 þ p6 þ p2 Þ ¼ maxf35, 35g ¼ 35: where pi indicates the processing time of Ji. Because of increasing behaviour of unavailability function, the system unavailability for this case is only calculated at time t ¼ Cmax which is based on machines unavailability at this time. Clearly, the total system unavailability of the second case (production system without PM actions) is approximately zero which shows the applicability of reliability in handling joint production and maintenance scheduling system.

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

3. Mathematical model for JPMS As described before, given a joint model of preventive maintenance and production scheduling in a parallel machine environment, the aim is to find the appropriate assignment of job to the machines and simultaneously to determine the best service of PM that should be performed on machines. Two criteria are considered in our model: (i) minimisation of total system unavailability for maintenance part, and (ii) satisfying a predefined value of desirable makespan for production part. For unavailability part, assume that T ¼ f0, t1 , t2 , . . . , ts , Cmax g where t1 , t2 , . . . , ts are the PM starting times on all machines. Due to increasing behaviour of total unavailability in each working interval ½ti , tiþ1 , i ¼ 1, 2, . . . , s with t0 ¼ 0 and ts þ 1 ¼ makesman, and the assumption that the machines become ‘as good as new’ at the end of each PM activity, it is sufficient to just compute the total availability of system at times t1 , t2 , . . . , tsþ1 . Then the higher value of unavailability found is taken as the total unavailability of system all over the time horizon. Therefore the objective function of the suggested JPMS problem which is the total system unavailability is formulated as below.     ð10Þ F ¼ min max As ðtÞ t2T

From a production point of view, a threshold of makespan value should be met in the model. To do this, let Ci denote the completion time of job number i and Cmax indicates the maximum completion times for all jobs. Cmax ¼ maxfCi g i¼1:n

ð11Þ

To ensure that the desirable value of Cmax is not violated, the following restriction should be satisfied. Cmax  C,

ð12Þ

where C represents the makespan threshold. Such constraint (makespan threshold) is useable in production systems where all the jobs should be completed before a common deadline. The system is scheduled to be shut down at a future time for overhaul, or end of a shift. Thus the value of makespan can be fixed by the user (production managers, operational managers, planners, or even workers) upon requirement. The production systems with such situation can be modelled using the framework suggested here. Before developing the suggested JPMS problem mathematically, problem parameters, decision variables and assumptions are introduced. Parameters n m p i, h j k l Ji Mj ki i

Number of jobs Number of machines Number of available PM services Index of jobs, i ¼ 1, 2, . . . , n, h ¼ 1, 2, . . . , n Index of machines, j ¼ 1, 2, . . . , m Index of available PM services, k ¼ 1, 2, . . . , p Index of PM activities performed on machines, l ¼ 1, 2, . . . , nmax Job number i Machine number j Repair rate related to the th PM service of machine Mi Failure rate of Mi

5912

H. Mokhtari et al.

PMjl Gðkj Þ Djl mPM TPM

nmax

M

lth PM activity on machine Mj Duration of PM action executed by using ki Duration of PMjl The mean number of PM activities on each machine Time between two consecutive PM activities Pn mp pi , where p ¼ i¼1 TPM ¼ mPM n Maximum number of possible PM activities that can be executed on each machine Pn pi nmax ¼ i¼1 TPM A large positive number

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

Decision variables Xij

Job assignment variable  Xij ¼

1 0

if Ji is asigned to the machine Mj otherwise

Yjl

PM activity execution variable  1 if PMjl is performed Yjl ¼ 0 otherwise

Zkjl

PM service selection variable  1 if the kth PM service is selected for PMjl Zkjl ¼ 0 otherwise

ti uihj vijl

Starting time of job Ji A binary variable that indicates the precedence relation between jobs i and h on machine Mj A binary variable that indicates the precedence relation between jobs i and PM activity l on machine Mj

Using above parameters and variables, the proposed model for JPMS problem can be formulated as follows. Minimise (

(

F ¼ max As ðtÞ ¼ t2T

m Y

)) ½1  Ai ðtÞ

i¼1

ð13Þ

s:t   ðti  th  ph ÞXij Xih 4 ðMÞ 1  uihj for i ¼ 1, 2, . . . , n, h ¼ 1, 2, . . . , n, j ¼ 1, 2, . . . , m ðth  ti  pi ÞXij Xhj 4 ðMÞuihj

for i ¼ 1, 2, . . . , n, h ¼ 1, 2, . . . , n, j ¼ 1, 2, . . . , m

  ðlTPM  ti  pi ÞXij Xjl 4 ðMÞ 1  vijl   tPM  lTPM  Djl Xij Xjl  ðMÞvijl Djl ¼

p   X zkjl  G kj k¼1

for i ¼ 1, 2, . . . , n, h ¼ 1, 2, . . . , m, l ¼ 1, 2, . . . , nmax for i ¼ 1, 2, . . . , n, j ¼ 1, 2, . . . , m, l ¼ 1, 2, . . . , nmax for i ¼ 1, 2, . . . , m, l ¼ 1, 2, . . . , nmax

ð14Þ ð15Þ ð16Þ ð17Þ

ð18Þ

International Journal of Production Research p X

zkjl ¼ Yjl

5913

for i ¼ 1, 2, . . . , m, l ¼ 1, 2, . . . , nmax

ð19Þ

Xij ¼ 1

for i ¼ 1, 2, . . . , n

ð20Þ

ti þ p  C

for i ¼ 1, 2, . . . , n

ð21Þ

k¼1 m X k¼1

zkjl ¼ 0 or 1, Yjl ¼ 0 or 1,

uihj ¼ 0 or 1,

vijl ¼ 0 or 1, ti  0

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

for i ¼ 1, 2, . . . , n, j ¼ 1, 2, . . . , m, l ¼ 1, 2, . . . , nmax , k ¼ 1, 2, . . . , p

ð22Þ

The total unavailability of system is shown in Equation (13) as objective function. Constraint set in Equations (14) and (15) guarantee that only one job would be processed on each machine at a time. Constraint set in Equations (16) and (17) ensure that there are no overlaps between jobs and PM activities on each machine. Constraints in Equations (18) compute the processing time of lth PM activity on machine Mj. Constraint set in Equation (19) states that the processing time of PM activity should be zero if no PM is executed on machine Mj at lth time interval. It also shows that only one PM service should be selected if PM is executed on lth time interval of Mj. Constraint set in Equation (20) indicate that only one machine should be selected for each job. Constraint set in Equation (21) ensures that the maximum completion time for all jobs does not exceed the makespan threshold. Constraint set in Equation (22) show the non-negativity restriction of ti, and binary limitations of Zkjl , Yjl , uihj , and vijl .

4. A population-based VNS for solving JPMS Since the traditional job scheduling problem in parallel machine environment is known to be NP-Hard, the extended model presented in this paper seems to be strongly NP-Hard and hence is a challenging area for computational techniques such as metaheuristics. Traditional metaheuristics such as genetic algorithm (Hasan et al. 2011, Goncalves and Sousa 2011, Palaniappan and Jawahar 2011), simulated annealing (Jain et al. 2003, Vieira and Ribas 2004), tabu search (Finke et al. 2007, Pitts and Ventura 2009), ant colony optimisation (Seo and Kim 2010, Mokhtari et al. 2011), VNS (Almada-Lobo et al. 2008, Li and Cheng 2010, Driessel and Mo¨nch 2011) and team process algorithm (Mokhtari et al. 2011b) have been previously applied for the scheduling problems. Though the VNS has been successfully applied in many combinatorial scheduling problems (Almada-Lobo et al. 2008, Li and Cheng 2010, Driessel and Mo¨nch 2011), existing research shows a lack of discussion of VNS on the parallel machine scheduling problem with maintenance actions. Therefore, in this paper we present for this problem a populationbased VNS, which is an enhanced version of the basic VNS. The VNS is a recent meta-heuristic technique that was introduced by Mladenovic and Hansen (1997) and has quickly gained widespread popularity. This metaheuristic was successfully applied to solve complex optimisation problems such as routing problem (Polacek et al. 2004) and production scheduling problems (Naderi et al. 2009, Mokhtari et al. 2011). The basic idea in VNS is that it focuses on the mechanism of systematically exploring more than one kind of neighbourhood structure during the searching process. The local optimum in each neighbourhood is found iteratively and hopefully to reach the global optimum at the end. In its basic form, VNS explores a set of neighbourhoods of the current solution, makes a local search from a neighbour solution to a local optimum, and moves to it only if there has been an improvement (Perez et al. 2003). Since almost all the metaheuristics make use of one type of neighbourhood mechanism, there exists a high probability of becoming trapped in a local optimum, while the use of multiple neighbourhoods in VNS overcomes this drawback successfully. The reasons why VNS has obtained its acceptability and popularity among researches are due to the utilisation of several neighbourhood structures, easy to implement and high flexibility and brilliant adaptability of VNS to different problems (Naderi et al. 2009). Despite the good potentials of VNS, it is necessary to devise strong systematic neighbourhood structures and sufficient potential to escape from local optima. Therefore, in this paper we describe a population-based VNS algorithm (PVNS), which is an enhanced version of the basic VNS algorithm. The basic VNS technique and main components of the proposed PVNS algorithm are given below.

5914

H. Mokhtari et al.

4.1 The basic VNS To implement the basic VNS, a set of neighbourhood structures and sequence of their execution should be defined at the initialisation step. Furthermore, a solution encoding scheme and stopping criteria are determined at this stage. The VNS begins with an initial solution x and then uses a two-nested loop. The outer loop is performed as a refresher reiterating the inner loop, while in the inner loop two main functions, namely shake procedure and local search, are implemented respectively. Shake procedure alters the search region to diversify the solution by switching to another local neighbourhood, while local search explores for an improved solution around the current solution x using the local neighbourhood. The improvement procedure continues until all neighbourhoods are examined and no further improvement can be gained with the current solution. Once an inner loop is finished, the outer loop reiterates until the termination condition is met. The basic steps of a VNS are presented below.

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

Procedure 1: Basic VNS algorithm 1. Design a set of neighbourhood structures Nk ðk ¼ 1, 2, . . . , kmax Þ; 2. Select an initial solution x* at random; 3. for i ¼ 1 to imax do /// maximum number of iterations of outer loop 4. set k 1 and x x*; 5. while k  kmax do /// maximum number of iterations of inner loop 6. Execute shake procedure to find a random solution x0 2 Nk ðx Þ; 7. Execute local search on Nk(x0 ) to find new solution x00 ; 8. if fitness (x00 ) 5 fitness (x) then 9. x* x00 ; 10. set k 1; 11. else 12. k k þ 1; 13. end if 14. end while 15. i ¼ i þ 1; 16. end for As shown, after an initial solution x is randomly generated as current solution, a neighbourhood solution x is randomly created based on the first neighbourhood structure in shake procedure. Then a local search is carried out around x to attain the local optimum x00 . If the local optimum x00 is better than current solution x, the local optimum x00 is set as current solution, x is replaced with x00 , and the algorithm starts with the first neighbourhood structure again. Otherwise, the neighbourhood structure is systematically altered to the next neighbourhood and then the shake procedure is implemented to guide the search to another region so as to find the local optimum there.

4.2 Implementation of PVNS Though the variable neighbourhood search has been successfully applied in many combinatorial optimisation problems, the existing research shows a lack of application of VNS to the JPMS problem. As stated before, in this section we present for the JPMS problem a population-based VNS algorithm (PVNS), which is an enhanced version of the basic VNS. The idea of PVNS was first introduced by Wang and Tang (2009). As described above, the basic VNS algorithm uses two important functions, i.e. shake procedure and local search, to enhance the solution quality. The shake function diversifies the search by switching the solution to another neighbourhood structure, while the local search strives to find an improved solution within the current neighbourhood structure. In this section, to further improve the performance of the basic VNS, we adapt a population of solutions in which the solution quality is taken into account. Different form basic VNS, multiple trial solutions are simultaneously generated in the PVNS in order to improve the search diversification and escape being trapped in a local optimum. A subset of population is randomly selected in each iteration of inner loop and the epitome of group is established as the average property of the selected individuals as follows. e¼

m 1X xi m i¼1

ð23Þ

5915

International Journal of Production Research

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

Table 3. Illustration of LOV rule. k

1

2

3

4

ek k yk

2.85 2 4

1.25 4 1

2.14 3 3

3.01 1 2

where xi represent the lth member of subset. Since the new chromosomes obtained as the epitome of the group may represent infeasible solutions, some modifications are needed. For production part, as good performance is reported for the largest order value (LOV) rule (Bean 1994), we suggest it to convert the individuals founded by Equation (23) into the feasible solutions. According to the LOV rule, e ¼ ðe1 , e2 , . . . , en Þ are firstly ranked by descending order to obtain a sequence  ¼ ð1 , 2 , . . . , n Þ. Then, the job permutation y ¼ ð y1 , y2 , . . . , yn Þ is calculated by the formula yk ¼ k. A simple instance with e ¼ (2.85, 1.25, 2.14, 3.01) is shown in Table 3, where the LOV rule is applied to modify the individuals obtained in production part. Moreover, the ‘round down’ operation is used in order to reach feasible solution in maintenance component. After that the shake procedure is implemented and the resulting solution x is transformed to the local optimum x00 , the current solution x* and population p would be updated if x00 dominates x. The procedure of adapted PVNS is illustrated below. Procedure 2: PVNS algorithm 1. Design a set of neighbourhood structures Nk ðk ¼ 1, 2, . . . , kmax Þ; 2. Initialise the first population P with NP solutions; 3. for i ¼ 1 to imax do /// maximum number of iterations of outer loop 4. set k 1; 5. Generate a random number q (1  q  Np); 6. Select q solutions at random from P and calculated the epitome of solutions x*; 7. Rank elements of x* in production part by descending order to reach sequence ð1 , 2 , . . . , n Þ; 8. Calculate the feasible solution y ¼ (y1, y2, . . . , yn) by the formula yk ¼ k and replace the production part of x* with y; 9. Round down the elements of x* in maintenance part; 10. set x x*; 11. while k  kmax do /// maximum number of iterations of inner loop 12. For current solution x*, execute shake procedure r times to find r trial solutions x0 2 Nk ðx Þ; 13. For each trial solution, execute local search on Nk(x0 ) to find best local solution x00 ; 14. if fitness (x00 ) 5 fitness (x) then 15. x* x00 ; 16. set k 1; 17. Update population P by replacing the worst solution in P with x*; 18. else 19. k k þ 1; 20. end if 21. end while 22. i ¼ i þ 1; 23. end for The solution encoding scheme is given in Section 4.3. Then we present in Section 4.4 how the solution quality is evaluated and, in Section 4.5, a description of the neighbourhood structures used in proposed PVNS is given.

4.3 Encoding scheme Encoding schemes are used to represent a candidate solution for algorithm in a recognisable form. As the JPMS problem addressed in this paper includes two separate parts, i.e. production part and maintenance part, the solution in this paper is also composed of two different components. For maintenance part, an integer two dimensional

5916

H. Mokhtari et al.

matrix (ITDM) representing the preventive maintenance service allocated to machine Mj at lth period is devised. An element of ITDM indicates an integer number on interval [0, p]. If no PM activity is executed on machine Mj, ITDM shows zero number, and otherwise, it indicates the number of PM service selected to be executed on machine Mj. From production point of view, a sequence of jobs is established as a list of jobs and then ‘List Scheduling’ method which is an effective scheduling heuristic is employed to assign the jobs to the machines (Berrichi et al. 2008). This method removes the first job from the list and places it in the schedule as early as possible. Next, the first step is repeated without changing the existing partial schedule, each time removing the first job on the list and placing it in the schedule to start at the earliest feasible time. Once some job finishes and its machine becomes free, the first job in the queue is assigned to the free machine.

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

4.4 Fitness evaluation As stated in Section 3, the proposed JPMS aims to determine the best scheduling of jobs as well as appropriate maintenance policy such that the total system unavailability is minimised subject to a predefined value of makespan. According to the mathematical model of the problem developed in Section 3, the makespan threshold has appeared as a constraint in the model. However, this constraint may be violated during the search process. Hence in this section we aim to devise a mechanism to direct the search procedure in such a way that not only is the makespan constraint satisfied but also the high quality solutions are not omitted. Up until now, several different ideas have been proposed in relation to the constraint handling techniques in unconstrained evolutionary algorithms. The most successful technique is the use of penalty function in which infeasible solutions are penalised by reducing their fitness function to the smaller values in proportion to the constraint violation. In order to penalise the constraint violations, a penalty term is incorporated into the objective function (13) as follows. Minimise G ¼ F þ PðCi Þ,

for i ¼ 1, 2, . . . , n

ð24Þ

where F is the original fitness for a given solution (total unavailability), P(Ci) is penalty function and G is penalised fitness function. Therefore the following penalty function is used in handling the makespan constraint.    PðCi Þ ¼   max 0, Cmax  C ð25Þ in which  represents the penalty coefficient and Cmax ¼ max(Ci) for i ¼ 1, 2, . . . , n. Since the values of objective function (F) alter between interval (0, 1), it is necessary to define the penalty function proportional to the values of F. Hence Equation (25) is modified as follows.    PðCi Þ ¼   max 0, Cmax  C =Cmax ð26Þ The quality of the final solution obtained by the algorithm is greatly dependent on the penalty coefficient. A large penalty term discourages the exploration of the infeasible region due to low evaluation. If there are several disjointed feasible regions in the search space the algorithm would tend to move to one of them, and would not be able to move to a different feasible region unless they are very close to each other. In such a situation, some infeasible individuals will disappear rapidly and some valuable information may be lost. This ensures a landing infeasible region, but it may lead to local optimal due to premature convergence. On the contrary, if the coefficient is too low, the subsequent generations have a tendency towards wrong optimums in infeasible regions and also a lot of the search time will be wasted exploring infeasible space. Therefore, designing a penalty term which could make a tradeoff between original objective and constraint violation is necessary. A simple widely used approach is to set the penalty coefficient as a constant value which is called ‘static penalty’ in the literature. In the static method a constant penalty value is assigned to all infeasible solutions which violate feasibility in any way. The best amount of penalty coefficient is determined via a parameter tuning process. To this end, we run the algorithm, with the different trial values of  and its best value (with the higher quality resulting solutions) is recorded and used.

4.5 Neighbourhood search The neighbourhood structure deals with the systematic way of moving from one solution to its neighbourhood such that infeasible solutions are prevented. A variety of neighbourhood structures have been adapted to

International Journal of Production Research

Production part

Swap moves with PM policy swapping

Swap moves with PM policy perturbation

Insertion moves with PM policy swapping

Insertion moves with PM policy perturbation

5917

Maintenance part

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

Figure 2. Neighbourhood structures for PVNS.

scheduling problems. As described previously, the main principle of VNS concerns the use of several neighbourhood structures and systematic switching from one structure to another so as to improve the search intensification as well as its diversification. In this section, we are going to develop an effective neighbourhood mechanism for production and maintenance issues of our JPMS problem. Let Nk ðk ¼ 1, 2, . . . , kmax Þ denote the neighbourhood structures for both shake and local search procedures. The different number of neighbourhood mechanisms is defined for each function in any VNS algorithm which is upon requirements. The higher number of neighbourhood structures leads to the better quality of solutions, at the expense of more computational time and vice versa. To avoid costing too much computational time, the best number of neighbourhood structure is often two (Liao and Cheng 2007) which is followed by our PVNS for each component (production and maintenance). Two types of neighbourhood structures are suggested for production and maintenance parts separately resulting in a total of four neighbourhoods for the suggested PVNS. From a production point of view, the insertion and swap structures which are effective and popular heuristics are applied for the JPMS problem. (1) Insertion moves: Given a list of jobs, randomly identifies two particular jobs and places one job in the position that directly precedes the other job. (2) Swap moves: Given a list of jobs, randomly identifies two particular jobs and places each job in the position previously occupied by the other. Besides from a maintenance point of view, two kinds of moves are adopted as follows. (1) PM policy swapping: Given an ITDM, randomly identifies two particular PM intervals (two columns of ITDM) and swap their elements one to one. (2) PM policy perturbation: Given an ITDM, randomly identifies one particular PM interval of a specific machine (a single position of ITDM) and replace its element with a new random number between zero and p as new PM policy. Note that the swapping structure explores the search space more precisely while the perturbation structure expands the search area to a new space to enhance the diversification. Considering two different neighbourhood structures for each part (production and maintenance) we will have four total neighbourhood structures for the suggested PVNS as depicted in Figure 2.

5. Performance analysis In this section, to investigate the effectiveness and competitiveness of PVNS algorithm, we are going to compare its performance against some other existing methods. At first, the procedure employed to generate standard test problems which were used to evaluate the effectiveness of the proposed PVNS will be described. Then, the results of experiments are reported and a sensitivity analysis is carried out to assess the robustness of methods. The detailed result of experiments is discussed in subsequent subsections.

5918

H. Mokhtari et al.

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

5.1 Test problems and simulation settings Since there is not a paper dealing with the JPMS problem addressed in the current study, it is necessary to use artificial instances to test our PVNS. To analyse the algorithm and model developed for this problem, several classes of instances are defined. In each class there is a change in one of the input parameters. The data required for the JPMS instances can be classified into two main categories: (i) data concern with the production part and (ii) data related to the maintenance part. Generally, a numerical instance of the JPMS studied here consists of the number of jobs (n), number of machines (m), number of PM services available for every machine (p), job processing times (P), machine failure rates ði Þ, machine repair rates ðki Þ, mean number of PM for machines (mTM) in which n, m and P are included in the former category, and p, i , ki , and mTM concern with the latter one. Furthermore, for detailed analysis of results obtained from comparisons, the considered instances have been divided into three classes, i.e. small, medium and large. These classes are different in number of jobs, number of machines, and number of PM services that are denoted by (n  m  p). There are six configurations of (n  m  p) for every class resulting in 18 total configurations. The small class includes instances {(5  5  5), (5  2  3), (5  2  5), (10  2  2), (10  3  2), (10  3  5)} while the medium and large classes are generated from {(15  5  2), (15  5  5), (15  5  8), (20  5  2), (20  5  8), (5  5  5)} and {(30  10  2), (30  10  5), (40  10  2), (40  10  5), (50  10  2), (50  10  5)} respectively. The processing times are uniformly distributed over interval (1, 10). The failure rates are also uniformly distributed from 0.2 to 0.7 while the repair rates follow a uniform distribution between (0.4,1). It is also assumed that the value of mTM is uniformly produced by distribution U [2, 10]. Therefore the problem data can be characterised by seven parameter factors, and each of them have one predefined level.

5.2 Results of experiments In this section we aim to evaluate the proposed PVNS algorithm against the basic VNS and traditional genetic algorithm (GA). We set the parameters population size (Pop_Size), maximum number of generations (Gen_No), crossover rate (Pc), and mutation rate (Pm) to be {Pop_Size ¼ 50, Gen_No ¼ 100, Pc ¼ 0.85, Pm ¼ 0.05} for GA, {imax ¼ 4, Np ¼ 20, q ¼ 5} for PVNS and imax ¼ 4 for VNS. Moreover we run the algorithm, with the different trial values of  and its best value is recorded and used in each problem. All three algorithms are coded in MATLAB 7.6.0 and run on a PC with 2.8 GHz Intel and 1 GB of RAM memory. After four runs of algorithms for each generated instance, the best solutions obtained for each instance by any of the three algorithms is calculated. In order to compare the performances of the algorithms, the relative percentage deviation (RPD) measure is employed. RPD is a common measure frequently used in literature and is obtained by the following equation. RPD ¼

Algsol  Minsol Minsol ,

ð27Þ

in which Algsol represents the total unavailability of system for a given algorithm Alg and instance, and Minsol denotes the best solution obtained for each instance by any of the algorithms. It is obvious that lower values of RPD are preferable for the problems with minimisation objective. The result of the simulation experiments for three sizes of problems are shown in Table 4. The problem names are listed in the first column, while the second column indicates the size of problems. Also the configuration of problems is shown in the third column. As it can be seen, several instances are considered in each configuration in order to reach more reliable results. The next columns illustrate simulation results including best, mean, worst, standard deviation (Std) and RPD for a given problem calculated by GA, basic VNS and PVNS. As the results in Table 4 show, PVNS works better than other algorithms especially in large problems. The average RPD obtained by PVNS on all the considered instances is just 5.67  105, while that of basic VNS and GA are 24.868 and 769.450 respectively. The results obtained by our PVNS algorithm are equal or better than those by the basic VNS and GA approaches for 71 and 72 instances respectively. Indeed, the PVNS could find the better or equal solution than other algorithms for all small, medium and large instances except for S14. In Table 4, we have specified the best obtained solutions by the algorithms with highlighted numbers. Moreover, with regard to the robustness of algorithms, the PVNS show the reliable performance with the lowest standard deviation as opposed to the two other algorithms.

(15  5  2) (15  5  2) (15  5  2) (15  5  2) (15  5  2)

M01 M02 M03 M04 M05

(15  5  5)

(10  3  2) (10  3  2) (10  3  2) (10  3  2) (10  3  2)

S21 S22 S23 S24 S25

M06

(10  2  2) (10  2  2) (10  2  2) (10  2  2) (10  2  2)

S16 S17 S18 S19 S20

Medium

(5  2  5) (5  2  5) (5  2  5) (5  2  5) (5  2  5)

S11 S12 S13 S14 S15

(5  2  2) (5  2  2) (5  2  2) (5  2  2) (5  2  2)

(5  2  3) (5  2  3) (5  2  3) (5  2  3) (5  2  3)

Small

S01 S02 S03 S04 S05

(n  m  p)

S06 S07 S08 S09 S10

Size

Name

2.8062 0.7885 2.3737 1.9048 4.6265

2.7079 1.3656 0.8749 2.4825 2.8665

2.6895 2.8630 2.5805 2.2122 2.7007

0.6187 4.3382 2.1699 3.8055 0.0301

0.5329 3.6401 1.3393 1.2523 2.4093

0.0995 2.4830 0.3154 3.0414 0.2154

Mean

3.3012 1.5259 3.8298 3.2652 6.3362

4.7987 1.9597 2.7835 3.4128 3.2198

3.9113 4.6725 4.0321 2.6705 3.7733

1.0609 6.5570 3.8245 7.8293 0.0307

1.7786 5.7176 1.7916 3.0384 4.4341

0.0995 3.4726 0.9971 4.9491 0.5563

Worst

0.0000 7.9551 0.0000 40.672 124.851

14.317 3.8474 10.501 6.4299 18.862

0.0000 0.0000 15.135 0.0041 0.0000

0.0000 10.255 0.0000 0.0000 0.0064

0.0000 29.706 0.0000 0.0000 0.0000

RPD

0.7990 243.39 0.6628 27.233 1.1869 341.63 0.9443 174.74 1.3920 1396.6

2.1080 0.6462 1.3023 1.0266 0.2503

1.1326 1.5547 1.4898 0.6026 1.1348

0.4321 3.0295 1.2902 3.1623 0.0007

0.8305 1.6727 0.7991 1.3730 1.8236

0.0000 0.9348 0.4545 2.1952 0.2273

Std

3.9483 4.0681 4.2293 0.1292 7895.6

1.6130 0.0847 1.3020 1.2653 2.9350

0.0394 0.6188 0.0425 1.0543 2.6303

1.2147 1.1852 1.1639 1.3411 1.6724

0.0621 0.0936 0.8681 0.1476 0.0291

0.1176 1.9000 0.1463 0.1735 0.1720

0.0995 1.6305 0.0881 0.2124 0.1017

Best

GA

Table 4. Simulation results on small, medium and large problems.

0.0072 0.0030 0.0038 0.0079 0.0021

0.0394 0.0691 0.0425 0.0253 0.0209

0.3391 0.2445 0.1012 0.1805 0.0842

0.1678 0.0936 0.7838 0.1475 0.0310

0.1176 0.1688 0.1463 0.5361 0.5726

0.0995 0.0531 0.4290 0.2124 0.1017

Mean

0.0089 0.0030 0.0038 0.0100 0.0021

0.0394 0.0691 0.0425 0.0253 0.0209

1.1186 0.2445 0.1012 0.1805 0.0842

0.4847 0.0936 1.5773 0.1476 0.0343

0.1176 0.1688 0.1463 1.6237 1.7778

0.0995 0.0531 1.4516 0.2124 0.1017

Worst

0.0012 0.0000 0.0000 0.0014 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.5197 0.0000 0.0000 0.0000 0.000

0.2113 0.0000 0.8446 0.0003 0.0023

0.0000 0.0000 0.0000 0.7251 0.8035

0.0000 0.0000 0.6818 0.0000 0.0000

Std

0.0005 0.0549 0.2176 0.1085

0.0066 0.0030 0.0038 0.0072 0.0021

0.0394 0.0691 0.0425 0.0253 0.0209

0.0793 0.2445 0.1012 0.1805 0.0842

0.0621 0.0936 0.0538 0.1470 0.0291

0.1176 0.1688 0.1463 0.1735 0.1709

0.0995 0.0531 0.0881 0.2124 0.1017

Best

Basic VNS

0.0066 0.0030 0.0038 0.0072 0.0021

0.0394 0.0691 0.0425 0.0253 0.0209

0.0793 0.2445 0.1012 0.1805 0.0842

0.0621 0.0936 0.0538 0.1476 0.0291

0.1176 0.1688 0.1463 0.1735 0.1709

0.0995 0.0531 0.0881 0.2124 0.1017

Best

0.0066 0.0030 0.0038 0.0072 0.0021

0.0394 0.0691 0.0425 0.0253 0.0209

0.0793 0.2445 0.1012 0.1805 0.0842

0.0621 0.0936 0.0538 0.1476 0.0304

0.1176 0.1688 0.1463 0.1735 0.1709

0.0995 0.0531 0.0881 0.2124 0.1017

Mean

0.0066 0.0030 0.0038 0.0072 0.0021

0.0394 0.0691 0.0425 0.0253 0.0209

0.0793 0.2445 0.1012 0.1805 0.0842

0.0621 0.0936 0.0538 0.1476 0.0343

0.1176 0.1688 0.1463 0.1735 0.1709

0.0995 0.0531 0.0881 0.2124 0.1017

Worst

PVNS

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0026

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

Std

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0041 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

RPD

(continued )

0.0000 0.0005 0.0005 0.0005 0.0000 0.000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

RPD

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

International Journal of Production Research 5919

(40  10  2) (40  10  2) (40  10  5) (40  10  5)

(50  10  2) (50  10  2) (50  10  5) (50  10  5)

L10 L11 L12 L13

L14 L15 L16 L17

(20  5  8) (20  5  8) (20  5  8) (20  5  8)

L01 L02 L03 L04

(30  10  2) (30  10  2) (30  10  5) (30  10  5)

(20  5  5) (20  5  5) (20  5  5) (20  5  5) (20  5  5)

M21 M22 M23 M24 M25

L06 L07 L08 L09

(20  5  2) (20  5  2) (20  5  2) (20  5  2) (20  5  2)

M16 M17 M18 M19 M20

Large

(15  5  8) (15  5  8) (15  5  8) (15  5  8) (15  5  8)

M11 M12 M13 M14 M15

(n  m  p)

(15  5  5) (15  5  5) (15  5  5) (15  5  5)

Size

M07 M08 M09 M10

Name

Table 4. Continued.

4.0828 3.3046 5.5367 5.0415

6.0484 5.7824 5.6105 5.6445

4.4366 3.8223 7.2752 7.9235

5.5733 5.1842 7.1666 5.2805

4.1698 4.2889 5.4479 5.3035 4.2491

2.2921 2.7664 3.7099 3.3475 3.4717

4.4301 6.9177 6.5363 6.2921 3.8754

4.4668 4.3640 5.1348 5.0741

Best

4.2620 3.7420 5.6239 5.2425

6.2123 5.9428 5.8705 5.8742

4.6152 4.3413 7.6001 8.1517

5.7662 5.3521 7.3028 5.7543

4.6978 4.8181 5.6508 6.1473 4.6648

3.8255 3.2559 4.5703 4.3281 4.3118

4.8563 7.0140 6.7993 6.5535 4.1761

7.5238 4.8933 5.3017 6.1026

Mean

4.6956 4.0399 5.7019 5.3877

6.5163 6.1640 6.0798 6.0060

4.7877 4.9568 7.8787 8.3310

5.8426 5.6483 7.3846 6.4905

5.0733 5.3669 5.7241 6.6353 5.0881

6.0770 3.7673 5.7162 5.6096 5.3384

5.0232 7.1318 7.0073 6.7341 4.5113

8.8856 5.2587 5.7171 6.6705

Worst

GA RPD

1811.9 1260.4 1512.3 2120.4 320.90

544.73 431.25 740.98 320.87 912.60

1229.5 1607.8 2613.5 4193.7 529.88

0.2923 0.3451 0.0738 0.1450

0.2080 0.1659 0.1939 0.1589

0.1463 0.4802 0.2532 0.1703

360.30 717.39 46.161 47.899

99.640 555.00 130.08 53.747

12.982 10.215 45.695 20.960

0.1289 1265.6 0.2087 594.88 0.0944 1935.9 0.5250 2778.2

0.3811 0.4761 0.1353 0.5929 0.4225

1.6005 0.4901 0.8631 1.0090 0.8424

0.2854 0.0885 0.2174 0.1893 0.2635

2.0653 2029.3 0.3790 1453.7 0.2796 3948.8 0.7305 873.84

Std

0.0574 0.0451 2.9361 0.9018

0.2145 0.1947 1.2621 0.6494

0.3173 0.3408 0.1558 0.4545

0.0044 0.0111 1.0815 0.0019

0.0023 0.0034 0.0036 0.0025 0.0132

0.0042 0.0064 0.0050 0.0104 0.0038

0.4690 0.0043 0.0032 1.1663 0.0119

0.0022 0.0030 0.0013 0.0058

Best

0.3970 0.1625 3.1073 2.1356

0.2145 0.1947 2.1053 1.5226

0.1587 0.3756 0.4802 0.6084

0.1134 1.6719 1.9158 0.2012

0.0067 0.1397 0.3509 0.6257 0.6701

0.0042 0.0068 0.0050 0.0604 0.1861

2.6164 1.4869 0.3596 3.3467 0.0200

0.4192 0.0040 2.3333 0.0060

Mean

1.4159 0.3324 3.3233 3.6047

0.2145 0.1947 3.1997 2.5027

0.3173 0.4244 0.5883 1.0700

0.4389 3.2663 2.7597 0.4787

0.0189 0.5463 0.8723 2.0059 1.9334

0.0042 0.0081 0.0050 0.2104 0.7328

4.0987 4.3419 1.4282 5.0667 0.0414

1.0031 0.0050 4.7451 0.0066

Worst

Std 0.0000 0.0000 0.0000 0.0000

RPD

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.6793 0.1422 0.2010 1.4375

0.0000 0.0000 0.9950 1.0120

0.0000 0.0418 0.2163 0.3077

4.0796 8.8043 24.009 7.7468

2.5691 17.721 28.488 5.2987

0.0000 0.0000 0.0000 0.2597

0.2170 0.0000 1.3652 0.2759 0.8190 291.29 0.2375 0.0000

0.0081 0.2711 0.4254 0.9486 0.8727

0.0000 0.0009 0.0000 0.1000 0.3645

1.6463 129.27 1.9450 0.0000 0.7124 0.2800 1.8994 776.53 0.0143 0.6301

0.5004 0.0008 2.6934 0.0004

Basic VNS

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

0.0113 0.0046 0.1174 0.1031

0.0601 0.0104 0.0428 0.1031

0.3173 0.3408 0.1558 0.3608

0.0044 0.0087 0.0037 0.0019

0.0023 0.0034 0.0036 0.0025 0.0132

0.0042 0.0064 0.0050 0.0104 0.0038

0.0036 0.0043 0.0025 0.0015 0.0073

0.0022 0.0030 0.0013 0.0058

Best

0.0113 0.0046 0.1174 0.1031

0.0601 0.0104 0.0428 0.1031

0.3173 0.3408 0.1558 0.3608

0.0044 0.0087 0.0037 0.0019

0.0023 0.0034 0.0036 0.0025 0.0132

0.0042 0.0064 0.0050 0.0104 0.0038

0.0041 0.0043 0.0025 0.0015 0.0073

0.0022 0.0030 0.0013 0.0058

Mean

0.0113 0.0046 0.1174 0.1031

0.0601 0.0104 0.0428 0.1031

0.3173 0.3408 0.1558 0.3608

0.0044 0.0087 0.0037 0.0019

0.0023 0.0034 0.0036 0.0025 0.0132

0.0042 0.0064 0.0050 0.0104 0.0038

0.0055 0.0043 0.0025 0.0015 0.0073

0.0022 0.0030 0.0013 0.0058

Worst

PVNS

0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0009 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000

Std

0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000

RPD

5920 H. Mokhtari et al.

5921

International Journal of Production Research PVNS

Basic VNS 1.00

0.80

0.80

0.60

0.60

Fitness

Fitness

Basic VNS 1.00

0.40

0.40 0.20

0.20

0.00

0.00 5

10

15 20 30 Number of jobs

40

50

Figure 3. The effect of number of jobs (n) on performance of algorithms.

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

PVNS

2

3 5 Number of machines

10

Figure 4. The effect of number of machines (m) on performance of algorithms.

5.3 Sensitivity analysis In this subsection, we intend to assess the relation between the performance of the algorithms and the factors affecting the characteristics of the problems. To further precise evaluation, the sensitivity of algorithms to the problem size is analysed here. The capability of the algorithms in dealing with different problem sizes is going to be investigated. After that all problem sets are implemented under the considered parameters of GA, VNS and PVNS, the average obtained values are regarded for illustrating the sensitivity analysis. Since most of the traditional GA results are greater than 1 which shows the poor performance of GA in achieving feasible solutions, we eliminate the GA from analysis. Figures 3–5 depict the average of four run values for VNS and PVNS in different number of jobs, machines, and PM services respectively. According to the results depicted in Figures 3–5, PVNS performs much better than VNS. It is notable that the basic VNS could not find any feasible solution of problems with n ¼ 50 as shown in Figure 3. This data show that PVNS and basic VNS are not so different in small values of n, m and p but in the large size of these parameters, PVNS can escape from local optimum better than basic VNS. As the results show, our PVNS not only is capable of finding feasible solutions for all the problem sizes (unavailability values less than 1), but also attained much better solutions than basic VNS.

5.4 Robustness analysis The robust term was defined by Roy (2010) as an adjective referring to the capacity of withstanding vague approximations and/or zones of ignorance in order to prevent undesirable impacts, notably the degradation of the properties to be maintained. The robustness of the evolutionary algorithms is an important measure for assessing the reliability of such random search techniques. A robust algorithm can be defined as a solution searching method providing consistent results in multiple runs performed using different inputs that correspond to the uncertain parameters of the algorithm and form a zone of ignorance. A robustness analysis should not be performed by causing changes in size of problem which are part of the input of the problem. Changing the size would result in the modification of the problem. This is a different type of analysis, known as sensitivity analysis that was performed in Section 5.3. In this section, we evaluate the robustness of the algorithms by standard deviation criterion. After that all problem sets are implemented by the GA, VNS and PVNS in Section 5.2, the standard deviation of four runs are considered to investigate the robustness. Figure 6 shows the results for small, medium and large problems. As Figure 6 shows, our PVNS has the minimum amount of possible standard deviation, i.e. zero variation of results with different amount of initial starting point. To further analyse the robustness, a (5  2  3) problem is considered and 100 times is implemented by three algorithms. Figures 7–9 show the scatter plot of results for GA, VNS, and PVNS respectively. As Figure 9 indicates, the proposed PVNS obtained the best result in all the 100 replications which shows its high robustness (low variation of results), while the lower robustness (higher variation of results) of VNS and GA is revealed by Figures 7 and 8.

5922

H. Mokhtari et al. Basic VNS

GA

PVNS

Basic VNS

PVNS

1.20

1.00

1.00 0.80 Fitness

Fitness

0.80 0.60 0.40

0.60 0.40 0.20

0.20

0.00

0.00

–0.20 2

3 Number of PM services

Mediuml

Large

Problem sizes

5

Figure 5. The effect of number of PM services (p) on performance of algorithms.

Figure 6. The robustness of algorithms in small, medium and large problems.

0.9 0.8 0.7 0.6 Fitness

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

Small

0.5 0.4 0.3 0.2 0.1 0 0

10

20

30

40

50

60

70

80

90

100 Runs

Figure 7. Results of 100 replications of problem (5  2  3) by GA.

6. Conclusions This paper develops a population-based variable neighbourhood search (PVNS) algorithm which is an enhanced version of the basic VNS, for solving a realistic kind of joint production and maintenance scheduling problem with multiple preventive maintenance services. In order to minimise the total unavailability of system, two different decisions should be taken: (i) assignment of jobs to the machines and determining the appropriate sequence of them, and (ii) planning the best preventive maintenance actions on machines at given time intervals. The suggested PVNS differs from the basic VNS. In this method, a number of iterations of the basic VNS are implemented; in each one the search diversification is enhanced by employing a population of solutions to simultaneously generate multiple trial solutions. Moreover, by combining two classes of local search heuristics in production and maintenance parts, four effective neighbourhood structures are designed and employed to further improve the search diversification as well as its intensification. The results of simulation which were implemented on random test problems show the outstanding performance of suggested PVNS with regard to the traditional GA and basic VNS in terms of both effectiveness and robustness. As an opportunity for future research, it would be interesting to consider other objective functions such as earliness and tardiness of jobs, or even makespan subject to minimum availability of system and solve them by other

5923

International Journal of Production Research 2.5

2

Fitness

1.5

1

0 0

10

20

30

40

50

60

70

80

90

60

70

80

90

100 Runs

Figure 8. Results of 100 replications of problem (5  2  3) by basic VNS.

1.5

1

Fitness

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

0.5

0.5

0

–0.5

–1 0

10

20

30

40

50

100 Runs

Figure 9. Results of 100 replications of problem (5  2  3) by proposed PVNS.

optimal seeking algorithms. A direction for future research is to extend the problem to a multi-objective mathematical model with scheduling and reliability measures. Another interesting area is to consider a more realistic model with multiple failure and repair rate for machines and services respectively.

References Aggoune, R. and Portmann, M., 2006. Flow shop scheduling problem with limited machine availability: A heuristic approach. International Journal of Production Economics, 99 (1–2), 4–15. Aggoune, R., 2003. Minimizing the makespan for the flow shop scheduling problem with availability constraints. European Journal of Operational Research, 153 (3), 534–543. Allaoui, A., et al., 2006. Scheduling of a two machine flowshop with availability constraints on the first machine. International Journal of Production Economics, 99 (1–2), 16–27.

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

5924

H. Mokhtari et al.

Almada-Lobo, B., Oliveira, J.F., and Carravilla, M.A., 2008. Production planning and scheduling in the glass container industry: A VNS approach. International Journal of Production Economics, 114 (1), 363–375. Bean, J.C., 1994. Genetic algorithm and random keys for sequencing and optimization. ORSA Journal on Computing, 6 (6), 154–160. Berrichi, A., et al., 2008. Bi-objective optimization algorithms for joint production and maintenance scheduling: Application to the parallel machine problem. Journal of Intelligent Manufacturing, 20 (4), 389–400. Berrichi, A., et al., 2010. Bi-objective ant colony optimisation approach to optimize production and maintenance scheduling. Computers & Operations Research, 37 (9), 1584–1596. Ben Ali, M., et al., 2011. Simultaneous scheduling of production and maintenance tasks in the job shop. International Journal of Production Research, 49 (13), 3891–3918. Blazewicz, J., et al., 2001. Heuristic algorithms for the two-machine flowshop problem with limited machine availability. Omega Journal, 29 (6), 599–608. Cheng, T. and Liu, Z., 2003. Approximability of two-machine no-wait flowshop scheduling with availability constraints. Operations Research Letters, 31 (4), 319–322. Driessel, R. and Mo¨nch, L., 2011. Variable neighborhood search approaches for scheduling jobs on parallel machines with sequence-dependent setup times, precedence constraints, and ready times. Computers and Industrial Engineering, 61 (2), 336–345. Ebeling, C.E., 1997. An introduction to reliability and maintainability engineering. USA: McGraw-Hill. Espinouse, M., Formanowlcz, P., and Penz, B., 2001. Complexity results and approximation algorithms for the two-machine no-wait flow-shop with limited machine availability. Journal of the Operational Research Society, 52 (1), 116–121. Finke, D.A., Medeiros, D.J., and Traband, M.T., 2007. Multiple machine JIT scheduling: A tabu search approach. International Journal of Production Research, 45 (21), 4899–4915. Garey, M.R. and Johnson, D.S., 1979. Computers and intractability: a guide to the theory of NP-completeness. San Francisco, California: W.H. Freeman and Company. Goncalves, J.F. and Sousa, P.S.A., 2011. A genetic algorithm for lot sizing and scheduling under capacity constraints and allowing backorders. International Journal of Production Research, 49 (9), 2683–2703. Hasan, S.M.K., Sarker, R., and Essam, D., 2011. Genetic algorithm for job-shop scheduling with machine unavailability and breakdowns. International Journal of Production Research, 49 (16), 4999–5015. Jain, V., Swarnkar, R., and Tiwari, M.K., 2003. Modelling and analysis of wafer fabrication scheduling via generalised stochastic Petri net and simulated annealing. International Journal of Production Research, 41 (15), 3501–3527. Ji, M., He, Y., and Cheng, T.C.E., 2007. Single-machine scheduling with periodic maintenance to minimize makespan. Computers and Operations Research, 34 (6), 1764–1770. Kubiak, W., et al., 2002. Two-machine flow shops with limited machine availability. European Journal of Operational Research, 136 (3), 528–540. Lee, C.Y. and Liman, S.D., 1993. Capacitated two-parallel machines scheduling to minimize sum of job completion times. Discrete Applied Mathematics, 41 (3), 211–222. Lee, C.Y., 1996. Machine scheduling with an availability constraint. Journal of Global Optimisation, 9 (3–4), 395–416. Lee, C.Y., 1999. Two-machine flowshop scheduling with availability constraints. European Journal of Operational Research, 114 (2), 420–429. Li, K. and Cheng, B.-Y., 2010. Variable neighbourhood search for uniform parallel machine makespan scheduling problem with release dates. Proceedings international symposium on computational intelligence and design, ISCID 2010 2, art. no. 5692729, 43–46. Liao, C.-J. and Chen, W.J., 2003. Single-machine scheduling with periodic maintenance and nonresumable jobs. Computers & Operations Research, 30 (9), 1335–1347. Liao, C.-J. and Cheng, C.-C., 2007. A variable neighborhood search for minimising single machine weighted earliness and tardiness with common due date. Computers & Industrial Engineering, 52 (4), 404–413. Liao, C.-J., Shyur, D.-L., and Lin, C.-H., 2005. Makespan minimisation for two parallel machines with an availability constraint. European Journal of Operational Research, 160 (2), 445–456. Low, C., et al., 2010. Minimising the makespan in a single machine scheduling problems with flexible and periodic maintenance. Applied Mathematical Modeling, 34 (2), 334–342. Ma, Y., Chu, C., and Zuo, C., 2010. A survey of scheduling with deterministic machine availability constraints. Computers & Industrial Engineering, 58 (2), 199–211. Mati, Y., 2010. Minimising the makespan in the non-preemptive job-shop scheduling with limited machine availability. Computers & Industrial Engineering, 59 (4), 537–543. Mladenovic, N. and Hansen, P., 1997. Variable neighborhood search. Computers and Operations Research, 24 (11), 1097–1100. Mokhtari, H., Baradaran Kazemzadeh, R., and Salmasnia, A., 2011. Time-cost tradeoff analysis in project management: An ant system approach. IEEE Transactions on Engineering Management, 58 (1), 36–43.

Downloaded by [Tarbiat Modares University] at 02:49 07 October 2012

International Journal of Production Research

5925

Mokhtari, H., Kamal Abadi, I.N., and Cheraghalikhani, A., 2011a. A multi objective flow shop scheduling with resourcedependent processing times: Tradeoff between makespan and cost of resources. International Journal of Production Research, 49 (19), 5851–5875. Mokhtari, H., Kamal Abadi, I.N. and Amin-Naseri, M.R., 2011b. Production scheduling with outsourcing scenarios: a mixed integer programming and efficient solution procedure. International Journal of Production Research, in press. Moradi, E., Fatemi Ghomi, S.M.T., and Zandieh, M., 2011. Bi-objective optimization research on integrated fixed time interval preventive maintenance and production for scheduling flexible job-shop problem. Expert Systems with Applications, 38 (6), 7169–7178. Moradi, E. and Zandieh, M., 2010. Minimizing the makespan and the system unavailability in parallel machine scheduling problem: a similarity-based genetic algorithm. International Journal of Advanced Manufacturing Technology, 51 (5–8), 829–840. Naderi, B., Zandieh, M., and Fatemi Ghomi, S.M.T., 2009. A study on integrating sequence dependent setup time flexible flow lines and preventive maintenance scheduling. Journal of Intelligent Manufacturing, 20 (6), 683–694. Palaniappan, P.K. and Jawahar, N., 2011. A genetic algorithm for simultaneous optimization of lot sizing and scheduling in a flow line assembly. International Journal of Production Research, 49 (2), 375–400. Perez, J.A.M., Vega, J.M.M., and Martin, I.R., 2003. Variable neighborhood tabu search and its application to the median cycle problem. European Journal of Operational Research, 151 (2), 365–378. Pitts, R.A. and Ventura, J.A., 2009. Scheduling flexible manufacturing cells using Tabu Search. International Journal of Production Research, 47 (24), 6907–6928. Polacek, M., et al., 2004. A variable neighborhood search for the multi depot vehicle routing problem with time windows. Journal of Heuristics, 10 (6), 613–627. Roy, B., 2010. Robustness in operational research and decision aiding: a multi-faceted issue. European Journal of Operational Research, 200 (3), 629–638. Ruiz, R., Garcı´ a-Dı´ az, J.C., and Maroto, C., 2007. Considering scheduling and preventive maintenance in the flowshop sequencing problem. Computers & Operations Research, 34 (11), 3314–3330. Sar{cicek, I. and Celik, C., 2011. Two meta-heuristics for parallel machine scheduling with job splitting to minimise total tardiness. Applied Mathematical Modelling, 35 (8). Seo, M. and Kim, D., 2010. Ant colony optimisation with parameterized search space for the job shop scheduling problem. International Journal of Production Research, 48 (4), 1143–1154. Schmidt, G., 2000. Scheduling with limited machine availability. European Journal of Operational Research, 121 (1), 1–15. Vieira, G.E. and Ribas, P.C., 2004. A new multi-objective optimization method for master production scheduling problems using simulated annealing. International Journal of Production Research, 42 (21), 4609–4622. Wang, X. and Tang, L., 2009. A population-based variable neighborhood search for the single machine total weighted tardiness problem. Computers & Operations Research, 36 (6), 2105–2110. Xie, J. and Wang, X., 2005. Complexity and algorithms for two-stage flexible flowshop scheduling with availability constraints. Computers and Mathematics with Applications, 50 (10–12), 1629–1638. Xu, D., Sun, K., and Li, H., 2008. Parallel machine scheduling with almost periodic maintenance and non-preemptive jobs to minimise makespan. Computers & Operations Research, 35 (4), 1344–1349. Yang, D.L., et al., 2002. Minimizing the makespan in a single machine scheduling problem with a flexible maintenance. Journal of the Chinese Institute of Industrial Engineers, 19 (1), 63–66.