Joint optimization of production scheduling and machine group preventive maintenance

Joint optimization of production scheduling and machine group preventive maintenance

Author’s Accepted Manuscript Joint optimization of production scheduling and machine group preventive maintenance Lei Xiao, Sanling Song, Xiaohui Chen...

1MB Sizes 2 Downloads 119 Views

Author’s Accepted Manuscript Joint optimization of production scheduling and machine group preventive maintenance Lei Xiao, Sanling Song, Xiaohui Chen, David W. Coit www.elsevier.com/locate/ress

PII: DOI: Reference:

S0951-8320(15)00295-1 http://dx.doi.org/10.1016/j.ress.2015.10.013 RESS5431

To appear in: Reliability Engineering and System Safety Received date: 18 March 2015 Revised date: 9 October 2015 Accepted date: 12 October 2015 Cite this article as: Lei Xiao, Sanling Song, Xiaohui Chen and David W. Coit, Joint optimization of production scheduling and machine group preventive m a i n t e n a n c e , Reliability Engineering and System Safety, http://dx.doi.org/10.1016/j.ress.2015.10.013 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting galley proof before it is published in its final citable form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Joint optimization of production scheduling and machine group preventive maintenance Lei Xiao1,2, Sanling Song2, Xiaohui Chen1, David W. Coit2* 1

The State Key Lab of Mechanical Transmission, Chongqing University, Chongqing 400030, China 2

Department of industrial and systems engineering, Rutgers University, New Jersey 08854, USA

Emails: [email protected]; [email protected]; [email protected]; [email protected]

Abstract: Joint optimization models were developed combining group preventive maintenance of a series system and production scheduling. In this paper, we propose a joint optimization model to minimize the total cost including production cost, preventive maintenance cost, minimal repair cost for unexpected failures and tardiness cost. The total cost depends on both the production process flow and the machine maintenance plan associated with reliability. For the problems addressed in this research, any machine unavailability leads to system downtime. Therefore, it is important to optimize the preventive maintenance of machines because their performance impacts the collective production processing associated with all machines. Too lengthy preventive maintenance intervals may be associated with low scheduled machine maintenance cost, but may incur expensive costs for unplanned failure due to low machine reliability. Alternatively, too frequent preventive maintenance activities may achieve the desired high reliability machines, but unacceptably high scheduled maintenance cost. Additionally, product scheduling plans affect tardiness and maintenance cost. Two results are obtained when solving the problem; the optimal group preventive maintenance interval for machines, and the assignment of each job, including the corresponding start time and completion time. To solve this non-deterministic polynomial-time problem, random keys genetic algorithms are used, and a numerical example is solved to illustrate the proposed model. Keywords: Preventive maintenance, scheduling, random keys, Genetic Algorithms. Notation Description i Machine, i=1,2,…,N, where N is the total number of machines *

Corresponding author, email:[email protected], telepnone:1-848-445-2033, fax:1-732-445-5467

j T t Cp,j Cp ai,k-1 Ei,k Si,k tp pi,j Td,N,j LN,j TN,j Ct Ct,k Cm,i Li UPi UPi,k

Job, j=1,2,…,M, where M is the total number of jobs Preventive Maintenance (PM) interval Time Production cost of the jth job Total production cost Age of Machine i before the kth processing Completion time of the kth processing on Machine i Start time of the kth processing on Machine i Time for performing PM Processing time for the jth job on Machine i Due date of the jth job on Machine N Lateness of the jth job on Machine N Tardiness of the jth job on Machine N Total tardiness cost Tardiness cost of the kth processing PM cost of Machine i Total effective number of PM actions on Machine i Number of inapplicable PM actions on Machine i Number of inapplicable PM actions on Machine i just before the kth processing counted from just before the (k-1)th processing hi(t) Hazard rate function of Machine i Ri(t) Reliability at time t of Machine i Processing time on Machine i in the lth PM interval i,l Cr,i Minimal repair cost of Machine i Cm Total cost of maintenance Decision variables xi,j,k 1, if the kth processing on Machine i is the jth job; 0, otherwise yi,k 1, if PM is performed on Machine i before the kth processing; 0, otherwise. zi,k 1, if PM is performed on Machine i during the kth processing; 0, otherwise. 1. Introduction In this paper, we study a series system of machines which are processing different types of jobs. Different production process schedules affect production time and costs, which are also influenced by machine reliability and maintenance. Machine maintenance frequency also influences production scheduling. Therefore, production scheduling and machine maintenance are inter-related decisions,

and together they determine the total cost. This relationship and the practicality of the problem causes this problem to be challenging and interesting. Preventive maintenance (PM) can be effective for maintaining machines at a high level of reliability [1]. However, implementing scheduled maintenance activities can also lead to machine unavailability while PM is being performed [2, 3]. For some series production systems, such as certain types of automated flow processing lines, any machine unavailability can lead to the entire system being down or unavailable. Therefore, minimizing machine unavailability and maintaining the system at a high level of reliability is vital for production to run smoothly. If PM actions are undertaken individually to each machine used in the production system, it may take longer collectively to perform individual PM actions than by group PM where all machines are maintained at the same time during the production horizon. Individual PM means that an individual machine is preventively maintained only if the specific machine PM interval is reached. For the scheduling problems addressed in this research, when PM is being conducted on one machine, the other machines are also not working, even though they are not being maintained at that time. For the jobs which are processed on the system, there are due dates. If jobs are finished after the given due dates, tardiness is accrued and a penalty cost is charged. For the individual PM policy, there may be frequent downtimes, more tardiness and the associated tardiness cost accumulates. To decrease total PM time and frequency, we propose a group maintenance policy for machines and joint optimization of maintenance and production scheduling. Different from the existing research, an effective group maintenance policy is considered, and the maintenance interval is determined based on minimizing the total cost including cost from machine maintenance and production.

As the importance of joint optimization of PM and production scheduling has been realized, this topic has attracted significant research interest for several decades. As the basic foundation for studying more complex systems [4, 5], the joint optimization of a single machine has been extensively researched [6-9]. Wang and Liu [7] used a branch-and-bound algorithm to optimize the joint problem of PM planning and production scheduling. Pan et al. [8] researched the optimization problem considering a single machine system under a perfect PM policy. Fitouhi and Nourelfath [10] integrated noncyclical PM and production planning for a single machine. Liu et al. [11] integrated production, inventory and preventive maintenance models for a multi-product production system. The joint optimization of PM and production scheduling in a multi-machine system is more complex than in a single-machine system. In a single-machine system, the start time to process the next job is only related to the completion time of the current job on this machine and the PM schedule. Alternatively, in a multi-machine system, the start time to process the next job is related to both the completion time of current job on this machine, the completion time of the next job on the prior machine and the PM schedule. The final delivery time is a result of the entire system performance rather than each single machine. Hence, the joint problem in a multi-machine system is more complicated and meaningful. Many joint optimization models are built for multi-machine systems. Fitouhi and Nourelfath [12] integrated noncyclical PM scheduling and production planning for multi-state multi-component systems. Berrichi et al. [13] used an Ant Colony Optimization approach to optimize production and maintenance scheduling in a parallel system. Moradi et. al. [14] integrated fixed time interval PM and production for scheduling in a flexible job-shop problem. Zhou et al. [15] developed a dynamic opportunistic PM model for a multi-component system

considering changes in job shop schedule, in which whenever a job was completed, PM opportunities were exploited and PM performed for all the components in the system. An important consideration for repairable systems is when to maintain machines. Many models suggest that PM should be undertaken when the machine reliability decreases below a certain value or after a given time interval. For example, Jin et al. [16] considered multiple objectives for a single-machine system, where the machine is maintained as long as its reliability achieves a certain value. Similarly, Chen et al. [9] considered an imperfect PM system, in which PM is undertaken when the machine reliability decreases below a preset value, and each PM interval is determined according to a reliability threshold. Ji et al. [17] used a fixed maintenance interval when minimizing makespan. In practice, many companies perform PM at a fixed interval, so it is an important research topic, although there are other methods to determine PM intervals. For example, a PM interval can be determined based on the maximum system availability [6, 18, 19], or based on minimizing system unavailability [20-23]. Wong et al. [24, 25] determined a noncyclic method. If the current machine age plus the next operation time is larger than the maximum machine age, a maintenance task is conducted after the current job completion. In our new model, we developed a joint optimization model connecting group PM with production scheduling applied to a series system where PM on any machine leads to unavailability of all machines. A perfect PM policy is assumed. Two results are obtained by solving this problem to minimize the total cost. The first is the appropriate assignment of jobs to the machines, and the second is the determination of group PM interval. The rest of the paper is organized as follows. Section 2 formulates the joint optimization

problem. Section 3 presents the objective function. Section 4 describes the method to solve the problem. An example is given in Section 5. The paper is concluded in Section 6. 2. Problem formulation We formulate and optimize a challenging scheduling problem with group PM policies. For some applications, other machines can still operate while PM is being performed on a specific machine, but there are also other applications where any machine unavailability can lead to the entire system being unavailable or down due to the nature of an inter-dependent series system, i.e., a flow processing line with inter-dependent processes. These applications are the focus of this paper. Machine downtime may result from unexpected failures or scheduled maintenance. It is important to minimize the unavailability and maintain the system at a high level of reliability. For the jobs to be processed on a production system, there is a due date for each job. If a job is finished after the given due date, tardiness is generated and penalty costs are incurred. Therefore, decisions on the implementation of PM actions and timing of PM impact the performance of the production system directly and/or indirectly. In this study, we develop a joint optimization model combining machine PM plan with production scheduling to minimize total cost. 2.1 Assumptions There are M jobs to be processed in a series system composed of N machines. Each job has a due date. If the job is finished before the given due date, then no tardiness is generated. Alternatively, if the job processing is finished after the given due date, then tardiness and tardiness costs are generated. The complexity of the joint problem has been proven to be NP-hard [26, 27]. Some basic assumptions are as follows. A1. Each machine is preventively maintained at every PM interval (unless zero processing hours

since the previous PM) and PM renews the system, i.e., as-good-as-new. If any machine fails within the PM interval, minimal repair is done, and it restores the system to as-bad-as-old. A2. All machines in the system are new at the beginning of production horizon. A3. Time for minimal repair, machine setup and job transition is negligible. A4. All jobs are available and predetermined at the beginning of the production horizon and pre-empting one job for another is not allowed. 2.2 Maintenance modeling For the problem we are considering, PM on any machine can result in unavailability of the entire series system. If PM is undertaken on individual machines at non-coordinated times, the system is likely to be down more frequently over the whole production horizon compared to a coordinated policy where PM is done on all machines simultaneously. Examples of coordinated PM are automated flow processing lines, manufacturing plants or energy producing facilities that have a coordinated shut-down period to perform multiple PM tasks, or systems operating on ships or in remote locations that have coordinated overhaul periods. For some engineering applications, group PM is a better option compared with individual PM. The problem is how to determine the optimal group PM interval considering that there is a trade-off. If the group PM interval is too small, machines are over-maintained which can lead to expensive costs for maintenance and delayed delivery. If the group PM interval is too large, costs for unexpected machine failure and system unavailability is incurred which may be excessive. Consider a simple example to illustrate the advantage of group PM. A task including three jobs is being processed on three machines. Each job is processed on the machines in an orderly manner. After a job is completed on one machine, it is sent to the next machine immediately, and the next available job is sent to this machine. From Fig. 1, after finishing Job 1 on Machine 1, Job 1 is sent

to Machine 2 immediately, and Job 2 is processed on Machine 1. Similarly, after finishing Job 1 on Machine 2, Job 1 is processed on Machine 3 immediately. The start time of Job 2 on Machine 2 is decided according to the completion time of Job 2 on Machine 1. Machine 1 Machine 2 Machine 3 20

40 60 Job 1

80

100 120 Job 2

140 160 Job 3

180 200 PM

220

time

Fig. 1. Machine completion information under proposed group maintenance policy Details about the processing time for each job on a specific machine are shown in Table 1. For this example, the PM interval is 80 time units, and time to conduct PM for the system is 5 time units. The total for all jobs processed on Machine 1 is 115 time units, on Machine 2 is 165 time units and on Machine 3 is 175 time units. Under the group PM policy, the task is finished at 230 time units, and 10 time units are used to perform PM, as indicated in Fig. 1. The machine completion times are 120, 195 and 230 time units respectively. As a comparison, an individual machine PM case is also studied. Suppose each machine PM interval is 80 time units. For example, PM is performed on Machine 1 when the machine processing time is 80 time units, and other machines are stopped and non-operational while waiting for Machine 1 PM to be completed. The system PM information is depicted in Fig. 2. Machine 1 is finished at 125 time units, Machine 2 completion time is 205 time units, and 245 for Machine 3. For each machine, completion time is longer than the corresponding scenario under the proposed group PM because of extra downtimes. Machine 1 stops two times; once to perform PM for that machine, and for the other time, unavailability results from Machine 2 PM. For Machine 1, it takes 10 total

time units to perform PM or for unavailability due to maintenance of other machine. In total, it takes 20 additional time units and 25 additional time units for Machine 2 and Machine 3 respectively. Table 1. Jobs processing time on machines for simplified example Job 1

Job 2

Job 3

Machine 1

20

20

75

Machine 2

25

70

70

Machine 3

70

70

35

Machine 1 Machine 2 Machine 3 20 Job 1

40

60 Job 2

80

100

120

Job 3

140 PM

160

180

200

220

240

time

Unavailability

Fig. 2. Machine completion information under individual PM policy of the example By comparing individual and group PM, the proposed group maintenance policy achieves less unavailable downtime and completes the task sooner than with an individual PM policy. Therefore, the proposed maintenance policy can be more practical and reasonable. For our problem formulation and the corresponding applications, there is a series system of related machines which are either functionally or spatially connected so that downtime of any machine means that the entire system is unavailable. In Fig. 1, the PM tasks are coordinated and conducted simultaneously, while in Fig. 2, each machine has an individual PM interval and when one machine is being maintained, the entire system is unavailable. This is not the case for all applications, but this new model is specifically considering those cases where this is appropriate. 2.3 Modelling of joint scheduling Our new model is to minimize the total cost by determining the sequence of assigned jobs and

the optimal group PM interval. The total cost is composed of tardiness cost, maintenance cost and production cost. Tardiness cost is related to job completion times on the machines. Maintenance cost includes PM maintenance cost and expected minimal repair cost. The formulation is as follows with xi,j,k, yi,k, zi,k as decision variables. The cost objectives are functions of xi,j,k, yi,k and zi,k.

min C  Ct  C p  Cm M

s.t.

x j 1

i , j ,k

1

(1)

xi , j ,k  0,1 , yi ,k  0,1 , zi ,k  0,1 1, if the k th processing on the i th machine is the j th job xi , j ,k   0, otherwise yi ,k

1, if PM is performed on the i th machine before the k th processing  0, otherwise

1, if PM is performed on the i th machine during the k th processing zi,k =  0, otherwise

2.3.1 Jobs completion time on machines The completion time of the jth job on the ith machine is related to many factors. It includes (1) completion time of previous jobs on ith machine, (2) processing time of the jth job on ith machine, (3) effective age of the ith machine before processing the jth job, and (4) time for implementing PM. In our model PM is regarded as perfect and renews the machines to an as-good-as-new status. Before processing each job, the machine operation time, i.e., age, should be known. Then according to the age, a determination is made regarding whether PM should be conducted, and the completion time of the current job can be calculated. Denoting ai,k-1 as the age of the ith machine before the kth processing, ai,k-1 can be calculated as follows.

ai ,k 1

   E  E    0, if max  Ei ,k 1   i ,k 1   T  t p  , Ei 1,k   i 1, k   T  t p    T T  t T  t    p  p             Ei ,k 1   Ei 1, k       T  t p  , Ei 1, k     T  t p   , otherwise max  Ei ,k 1      T  t p   T  t p     

(2)

Ei,k-1 is the completion time of the (k-1)th processing on the ith machine, T is the PM interval, and tp is the time for implementing PM, i=2,3,…,N, k=2,3,…,M. When k=1, then a1,0=0, which means that before the first processing job, the machine is new. Consider this scenario, if ai,k-1 is equal to T before the kth processing, then PM is performed precisely at that time, i.e., ai,k-1 is 0. Fig. 3 illustrates the relationship between job completion times and machine age for several possible scenarios. In Scenario 1, the (k-1)th process on Machine 1 takes less time than a PM interval, i.e., Ti ,k 1  T . For the kth processing, the machine age is therefore equal to the processing

 Ei ,k 1  time of the finished job. Since the (k-1)th process is finished within a PM interval,    0,  T  t p   Ei ,k 1  and Ei ,k 1  T  t p     T . Scenario 2 shows a scenario where Machine 1 finishes the  T  t p 





 Ei ,k 1  previous job exactly at the PM interval, i.e., Ei ,k 1  T  t p     T . Since PM can restore  T  t p 





the machine to as-good-as-new status, the machine age for the next processing is equal to 0. In Scenario 3, several PM activities have occurred within the processing time of a job on Machine 1. The age of Machine 1 is just the processing time recorded since the last PM. Scenario 4 and 5 are possible scenarios for other machines (i > 1), in which the finished job does not necessarily start from the beginning of the production horizon. Suppose that for Scenario 4

 Ei ,k 1  or 5, max Ei ,k 1 , Ei 1,k   Ei ,k 1 . In Scenario 4, Ei ,k 1  T  t p     T , and PM is T  t  p  





performed immediately after the finished job. Therefore, before the next processing, the machine age is equal to 0. Scenario 5 is similar to Scenario 3 except that it shows the job processing on other machines rather than Machine 1, and the machine age is the processing time since the last PM.

Machine 1

ai,k-1 The (k-1)th job finished before PM

Scenario 1 ai,k-1=0 Scenario 2

ai,k-1

Machine i (i>1)

Scenario 3

The (k-1)th job finished after PM

... ai,k-1=0

Scenario 4

ai,k-1

Scenario 5

...

The (k-1)th job finished upon PM

The (k-1)th job finished upon PM

The (k-1)th job finished after PM time

Job

PM

Fig. 3. Relationship between job completion times and machine age in possible scenarios. 2.3.1.1 Completion time of the 1st processing on Machine 1 Completion of the 1st processing on Machine 1 provides the basis of the completion time of other jobs on other machines. The expected completion time is as follows. M M   a  p  E1,1    x1, j ,1  p1, j     x1, j ,1  z1,1   1,0 1, j   t p  j 1 j 1   T  

(3)

M  1, if x1, j ,1  p1, j  T   Given  x1, j ,1  1 , z1,1 =  , a1,0 = 0 j 1 j 1 0, otherwise 

M

Eq. (3) contains two parts; the time of the 1st processing, and the time for performing PM if performed. Here, p1,j is the processing time of the jth job on Machine 1. Eq. (3) includes a summation of x1,j,1 over all j which is used to illustrate that for each processing, just one job is processed on a certain machine. Because the machine is new for the 1st processing, a1,0 is 0. Hence, z1,1 can be determined according to the processing time of the current job being processed. A simplified example is given. If one job requires 60 time units for processing, the PM interval

 0  60 

 0 . The completion is 100 time units, and maintenance activity takes 5 time units, then   100  time of the 1st job is at 60 time units, while the first PM is taken at 100 time units. For this current processing, there is no PM before the processing ended, so E1,1=60. Alternatively if the 1st job

 0  260 

 2 , and during the processing the 1st job, PM is implemented requires 260 time units,    100  twice. According to Eq. (3), the completion time E1,1 = 260 + 2×5 = 270 time units. The possible completion times of the 1st job on Machine 1 are given in Fig. 4. Case 1 Case 2

Case 3

... time

Production

PM

Fig. 4. The possible completion times of the 1st job on Machine 1 2.3.1.2 Completion time of the kth processing on the Machine i The start time of the kth processing on Machine i can be deduced from the completion time of the kth processing on Machine i-1 and the (k-1)th processing on Machine i, etc. Before the kth processing on Machine 1 can begin, the corresponding job must be finished on Machine i-1, the job of the (k-1)th processing has to have already left Machine i, and PM is conducted if scheduled. Therefore, the completion time of the kth processing on the Machine i is given as Eq. (4). M M    a  pi , j  Ei ,k  max Ei ,k 1 , Ei 1,k     xi , j ,k  pi , j     xi , j ,k  zi ,k   i ,k 1  tp  T j 1 j 1    

   xi , j ,k  yi ,k  t p  M

j 1

(4)

M

x j 1

i , j ,k

M  1, if  xi , j ,k   ai ,k 1  pi , j   T 1, if ai ,k 1  0  1 , zi ,k   , yi ,k   , k=2,3,…,M. j 1 0, otherwise  0, otherwise 

Eq. (4) indicates the completion time of the kth processing on Machine i is related to four items; (1) the maximum of the completion time of the kth processing on Machine i-1 and the (k-1)th processing on Machine i, (2) time for the kth processing on Machine i, (3) the possible PM during the kth processing, and (4) the possible PM before the kth processing on Machine i. 2.3.1.3 Completion time of the kth processing on Machine N The completion time of jobs on the last machine (Machine N) is the most important, because it determines the tardiness and tardiness costs. It can be deduced from Eq. (5).

EN ,k  max EN ,k 1 , EN 1,k     xN , j ,k  pN , j  M

j 1

  pN , j   M a    xN , j ,k  z N ,k   N ,k 1  t  p     xN , j , k  y N , k  t p  T j 1     j 1 M

M

x j 1

N , j ,k

 1 , z N ,k

(5)

M  1, if xN , j ,k   aN ,k 1  pN , j   T   1, if aN ,k 1  0  , yN ,k   , k=2,3,…,M. j 1 0, otherwise 0, otherwise 

2.3.2 Tardiness cost and production cost The lateness LN,k and tardiness TN,k for the kth processing on Machine N are given as Eq. (6) and (7). Negative lateness means that the job is finished before the due date. However negative lateness values are not meaningful when we consider the penalty cost for delayed delivery, because they are based on tardiness. Cost associated with tardiness is given by Eq. (8).

LN ,k  EN ,k  Td , N ,k , TN ,k  max 0, LN ,k  M

M

k 1

j 1

Ct   TN ,k  Ct ,k  , C p   C p , j

(6),(7) (8),(9)

Td,N,k is the due date for processing k on Machine N. Ct,k is the tardiness cost of the kth processing, and Ct is the total tardiness cost. The total production cost Cp is the sum of production cost for the each job. Where, j∈[1,M]. Cp,j is the production cost of the jth job. 2.3.3 Maintenance cost The PM cost and expected minimal repair cost are related to the PM interval and the job processing times in each PM interval. For Machine 1, all jobs can be processed sequentially except when there is downtime related to performing PM. Fig. 5 shows the possible completion times of jobs on Machine 1. The number of PM actions on Machine 1 during the entire production horizon is

 E1,M    . The PM cost on Machine 1 is calculated in Eq. (10).  T  t p   E1, M     Cm,1 T  t  p 

(10)

Scenario 1

...

All jobs finished before PM

Scenario 2

...

Jobs finished upon PM

Scenario 3

...

1st job

2nd job

3rd job

the last job

Jobs finished after several PM time PM

Fig. 5. Possible completion time of jobs on Machine 1 Determination of the number of PM actions on the other machines are more detailed and complex. The possible completion time of the jobs on the other machines are given in Fig. 6, which depicts possible scenarios which must be considered to determine the number of PM actions. In Scenario 1, the jobs on Machine i-1 and Machine i are processed sequentially. One job is finished on Machine i-1 and goes to Machine i immediately. Unless both machines are unavailable due to PM, there is no waiting during the entire processing. In Scenario 2, there is idle time on

Machine i, but in each PM interval, there are jobs that are being processed. In Scenario 3, there are not only jobs waiting, but also inapplicable PM actions. An inapplicable PM action is defined as a PM action that is declined (i.e., not performed) because zero time has accrued since the previous PM as indicated in Scenario 3 in Fig. 6. For example, after processing the 1st job, Machine i has to wait for the 2nd job to complete on Machine i-1. There are three PMs during the 2nd job processed on Machine i-1. However for Machine i after the 1st PM action, there is no active processing on that machine before the 2nd and 3rd PM actions on Machine i-1. Therefore, it is inapplicable to implement PM actions on Machine i when performing the 2nd and 3rd PM actions on Machine i-1, because the machine has already been renewed after the previous PM action. Machine i-1

Machine i-1

...

Machine i

Machine i

...

1st job

2nd job

3rd job Scenario 1

... ...

time the last job

1st job

2nd job

3rd job

time the last job

Scenario 2 ...

Machine i-1

...

Machine i 1st job

2nd job

3rd job

the last job

PM

time

Scenario 3

Fig. 6. Possible completion of the jobs on the ith machine The total effective number of PM actions on Machine i is summarized as Eq. (11), where, Si,1 is the start time of the 1st processing on Machine i. UPi is the total number of inapplicable PM actions on Machine i, i.e., PM tasks that are declined. It can be calculated by Eq. (12). UPi,k is defined as the number of inapplicable PM actions on Machine i just before the kth processing, starting from just prior to the (k-1)th processing. It can be calculated by Eq. (13). Therefore, the PM

cost on other machines (i=2,3,…,M) is Li×Cm,i, where Cm,i is the PM cost on Machine i. M  E  Si ,1  UP  UPi ,k Li   i , M  UP ,   i i k 1  T  t p 

(11),(12)

  Ei 1,k 1  Ei ,k   Ei 1,k 1  Ei ,k     1, if  2 UPi ,k    T  t p   T  t p   0, otherwise

(13)

For Machine 1, all jobs can be processed sequentially, except for during PM activities. For Machine i (i=2,3,…,N), the machine may not always be active because it is waiting for a job to be completed on previous machines. However, the processing time in each PM interval is known. Denoting i,l as the processing time in the lth PM interval on Machine i, the ith machine reliability at the end of the lth PM interval is given as Eq. (14).   i ,l    t  Ri  i ,l   exp    hi (t )dt  , hi (t )  i   i  i   0 

i 1

(14)

For a machine with Weibull distributed failure times and instantaneous bad-as-old maintenance, the arrivals of failures is a nonhomogeneous Poisson process (NHPP) and Hi(i,l) is the expected number of minimal repair events between PM actions and is given by H i  i ,l  

 i ,l

 h (t )dt . The total i

0

maintenance cost including PM cost and expected minimal repair cost on each machine can be obtained by Eq. (15). Cm,i is the expected minimal repair cost on Machine i. N N  E   Li  Cm   1, M   Cm,1   Li  Cm,i     H i  i ,l   Cr ,i  for i  1, 2,, N i 2 i 1  l 1   T  t p 

(15)

3. Optimization methodology based on random-key genetic algorithm Scheduling problems are complex combinatorial problems which are NP-hard for multi-machine systems. When PM planning and production activities are optimized simultaneously,

the problem becomes even more difficult because there are more variables and more constraints. In this paper, the models are challenging because both the allocation of jobs to machines and the optimal group maintenance periods are to be jointly determined. The problem is a combinatorial nonlinear problem, which is also non-differentiable because of the “or” conditions in the variable definitions. Therefore, an efficient optimization methodology is required. Genetic algorithms (GA) are a stochastic search approach and efficient for combinatorial optimization problems based on the mechanism of natural selection [28]. GA applications can be found in many papers [18, 24, 28-30]. Due to characteristics of feasible schedules (i.e., every job must be scheduled once and only once), GAs and other meta-heuristics can often not be applied directly because the crossover operation (or equivalent) can result in infeasible schedules. Traditional 0-1 binary encoding are inefficient for most scheduling or sequencing problems. Furthermore, integer encoding may generate infeasible offspring after crossover for sequencing problems. Random-keys representation is an effective way to guarantee feasibility of all offspring for sequencing problems. Feasible solutions can be obtained because of the uniqueness of ranks among [0,1]n. This approach is proposed by Bean [31], and the random-key method is used here. keys 0.1020 0.5856 0.2894 0.7256 0.2910 0.7835 0.4674 0.0983 chromosome

8

1

3

5

7

2

4

6

155

Fig. 7. Keys and a chromosome 3.1 Encoding and Selection For our encoding, a chromosome is composed of two parts, the first part is the assignment of jobs on machines; hence, it can be regarded as a sequencing problem solution. The other part is the PM interval. It is the last gene of a chromosome. Since a PM interval can be a much greater

numerical value, it is not necessary to assign a key to the PM interval. Keys are generated only for jobs. Fig. 7 presents a simple example to illustrate the relationship between keys and a chromosome. In Fig. 7, keys are random decimals in the range [0, 1]. Sorting keys by increasing order, 0.0983 is the smallest, its key position is 8, so the associated allele is 8 in the chromosome. 0.1020 is the second smallest key, its key position is 1, and the associate allele is 1 in the chromosome. 0.7835 is the largest key, its key position is 6, and the associate allele is 6 in the chromosome, etc. After encoding, the fitness of each chromosome is calculated, and the selection operator is followed. To avoid loss of the best solution during selection, crossover and mutation, and to keep the evolution monotonically non-decreasing, an elitist strategy is adopted. The best solution in each generation is recorded and put back into the mating pool for the next evolution. The elitist solution is the best solution in each iteration. The elitist solution can be used to perform selection, crossover and mutation, and after these operations, the last chromosome in the chromosome pool is assigned by elitist selection. In addition, its corresponding keys are restored as the elitist keys. 3.2 Crossover Crossover for random keys GA is performed using the keys. All the chromosomes and their corresponding keys are numbered and separated into two equal parts. One parent is selected from the former part, the other is chosen from later part. Crossover is operated using the keys, and the job sequence can be obtained by rearranging the keys. One-point crossover is adopted, and an example is given as Fig. 8. 3.3 Mutation After mating, the mutation operation is performed based on a defined mutation probability. If a

uniform(0,1) random number for a chromosome is less than the given mutation probability, then mutation is performed to the chromosome keys. During each mutation, one position for mutation is generated randomly. Either a job sequence position or the PM interval position could be randomly selected. If the mutation position is a job sequence, a random value replaces the key of the mutation position. Then rearranging keys, the mutated job sequence is determined accordingly and is feasible. The other situation is when mutation is applied to the PM interval. Then a positive integer is generated randomly to replace the former PM interval. keys 0.1020 0.5856 0.2894 0.7256 0.2910 0.7835 0.4674 0.0983

Parent 1

chromosome Parent 2

keys

chromosome Offspring 1

1

3

5

7

2

4

6

155

0.1252 0.7545 0.0113 0.0444 0.7036 0.0752 0.2075 0.1412 3

4

6

1

8

7

5

2

230

keys 0.1252 0.7545 0.0113 0.0444 0.2910 0.7835 0.4674 0.0983

Offspring 1 Offspring 2

8

3

4

8

1

5

7

2

6

155

keys 0.1020 0.5856 0.2894 0.7256 0.7036 0.0752 0.2075 0.1412

Offspring 2

6

1

8

7

3

2

5

4

230

Fig. 8. Mating in random-key GA based on one-point crossover 4. Numerical example To demonstrate and test the proposed model, a numerical example is solved. By comparison, an individual PM plan is determined and comparisons made. In the example, there are eight jobs that are required to be processed on five machines in a series system. Each machine failure time is a random variable distributed as Weibull distributions. Job operation information is listed in Table 2. Additional information for each job, such as delivery time, production cost and delay cost is given in Table 3. The machine information for Weibull failure time distribution parameters and

maintenance cost is given in Table 4. In the example, 5 time units are the PM time for each machine. 50 time units (10×tp) is selected as the lower bound for the PM interval due to practical considerations. Random-keys GA is used to solve the problem, with basic parameters are as follows; Popsize which is the number of total chromosomes equals 200. Pc is 0.7 which is the given crossover probability. Pm is 0.05 which is the given mutation probability, Max_gen which is the maximum generation number equals 1000. Formal GA parameter tuning was not done. Our initial testing revealed that the GA was robust and mostly insensitive to small shifts in GA parameters. For the crossover probability, several papers and texts recommend that Pc should be in the interval of (0.6, 1), and we set it as 0.7. Similarly, Pm is usually in the interval of (0, 0.1), and we set it as 0.05. Originally we set Popsize=100, Max_gen=500, but to be more confident that we approached the global optimum, it was increased to Popsize=200, Max_gen=1000. In all instances, the GA performed well. Table 2. Job operation times on each machine (time units) J1

J2

J3

J4

J5

J6

J7

J8

M1

25

17

41

74

37

72

11

31

M2

15

41

155

12

95

34

77

39

M3

12

22

83

24

72

62

31

141

M4

40

36

121

48

52

32

26

56

M5

60

58

160

78

153

162

32

79

Note: J1 is for Job 1, M1 is for Machine 1, etc.

Table 3. Each job delivery time, production cost and delay cost J1

J2

J3

J4

J5

J6

J7

J8

Delivery time

222

186

850

545

621

477

346

788

Production cost

27

40

39

23

21

34

49

29

Delay cost

121

184

193

127

127

128

190

168

Our initial testing revealed that the GA was robust and mostly insensitive to small shifts in GA parameters. For the crossover probability, it is often recommend Pc be in the interval of (0.6, 1), and

we set it as 0.7. Similarly, the mutation probability is usually in the interval of (0, 0.1), and we set it as 0.05. Originally we set Popsize=100, Max_gen=500. In order to be more confident that the solution approaches the global optimum, they were increased to Popsize=200, Max_gen=1000. In all instances, the GA performed well. Table 4. Machine information about degradation and cost M1

M2

M3

M4

M5

Weibull scale parameter (η)

275

225

284

236

318

Weibull shape parameter (β)

2

2.2

1.8

1.8

1.6

PM cost

180

230

170

200

500

Minimal repair cost

3000

2500

5600

4700

7000

4.1 Group PM policy The GA results indicate the best job sequence is {2,1,7,6,4,5,8,3}, the PM interval is 142 time units, the total cost is 1.3330×105, the production cost is 77,936, and the total tardiness is 177 time units. For each job individually, job tardiness is {0 17 0 0 0 70 0 90}, the corresponding tardiness cost is 28,317, PM cost is 5,730, and the expected minimal repair cost is 2.1322×104. Job start times and completion times are given in Table 5. The machine service time and maintenance information under group PM scheme is given in Fig. 9. Table 5. Start time and completion time under group PM scheme J2

J1

J7

J6

J4

J5

J8

J3

ST

ET

ST

ET

ST

ET

ST

ET

ST

ET

ST

ET

ST

ET

ST

ET

M1

0

17

17

42

42

53

53

125

125

204

204

241

241

272

272

318

M2

17

58

58

73

73

155

155

189

204

216

241

341

341

380

380

540

M3

58

80

80

92

155

186

189

251

251

275

341

413

413

559

559

647

M4

80

116

116

161

186

212

251

283

283

336

413

470

559

620

647

773

M5

116

179

179

239

239

271

283

455

455

533

533

691

691

775

775

940

The processing time of each machine in each PM is listed in Table 6. In the table, Interval 1 is the 1st PM interval, etc. At the end of each PM interval, the machine reliability is listed in Table 7

and the expected number of minimal repair actions is given in Table 8. M1 M2 M3 M4 M5 25

0

75

50

125

175

100 150

225

200

275

250

325

300

375

350

425

400

475

450

525

500

575

550

625

600

675

650

Job

725

700

775

750

825

800

875

850

925

900

975

950 time

PM

Fig. 9. Machines service time and maintenance information under group PM Table 6. Machine processing time in each PM interval Interval 1

Interval 2

Interval 3

Interval 4

Interval 5

Interval 6

Interval 7

M1

142

142

24

-

-

-

-

M2

125

102

142

99

-

-

-

M3

34

117

95

142

59

-

-

M4

62

78

65

53

115

38

-

M5

26

130

142

142

142

142

58

Table 7. Machine reliability in each PM interval under group PM scheme Interval 1

Interval 2

Interval 3

Interval 4

Interval 5

Interval 6

Interval 7

M1

0.7660

0.7660

0.9924

-

-

-

-

M2

0.7600

0.8391

0.6954

0.8485

-

-

-

M3

0.9783

0.8166

0.8700

0.7504

0.9426

-

-

M4

0.9138

0.8726

0.9065

0.9343

0.7602

0.9633

-

M5

0.9820

0.7874

0.7594

0.7594

0.7594

0.7594

0.9364

Table 8. Expected number of repairs in each PM interval under group PM scheme Interval 1

Interval 2

Interval 3

Interval 4

Interval 5

Interval 6

M1

0.2666

0.2666

0.0076

M2

0.2744

0.1754

0.3633

0.1643

M3

0.0219

0.2027

0.1393

0.2872

0.0591

M4

0.0902

0.1363

0.0982

0.0680

0.2742

0.0374

M5

0.0182

0.2390

0.2753

0.2753

0.2753

0.2753

Interval 7

0.0657

4.2 Individual machine PM policy To illustrate the effectiveness of group PM, an individual PM scheme is also determined.

Individual PM means that any machine should be maintained as long as its PM interval is reached. For the series system example, each machine downtime leads to the entire system being unavailable. Machine service times / maintenance information for the individual PM scheme is given in Fig. 10. According to Fig. 10, the system is down for more total time compared to the group PM scheme. Some unavailability is due to the machine’s own maintenance, and some downtimes are due to other machine maintenance in the series system. Job completion information is given in Table 9. M1 M2 M3 M4 M5 25

75

50

0

125

175

100 150

225

200

275

250

325

300

375

350

425

400

475

450

525

500

575

550

625

600

Job

675

650

PM

725

700

775

825

750

800

875

850

925

900

975

950 time

unavailable

Fig. 10 Machine service times and maintenance information under individual PM scheme Table 9. Start time and completion time under individual PM scheme J2

J1

J7

ST

ET

ST

ET

ST

M1

0

17

17

42

42

M2

17

58

58

73

73

M3

58

80

80

92

155

M4

80

116

116

161

M5

116

184

184

244

J6 ET

J4

J5

J8

J3

ST

ET

ST

ET

ST

ET

ST

ET

ST

ET

53

53

125

125

209

209

246

246

287

287

338

155

155

194

209

221

246

361

361

405

405

575

191

194

256

256

290

361

438

438

589

589

687

191

217

256

298

298

356

438

495

589

655

687

813

244

286

298

480

480

568

568

736

736

820

820

985

Table 10. Each machine reliability in each PM interval under individual PM scheme Interval 1

Interval 2

Interval 3

Interval 4

Interval 5

Interval 6

M1

0.7760

0.7760

0.9924

-

-

-

M2

0.6954

0.6954

0.6954

0.9754

-

-

M3

0.7504

0.7504

0.7504

0.9908

-

-

M4

0.6698

0.6698

0.7205

-

-

-

M5

0.7594

0.7594

0.7594

0.7594

0.7594

0.9113

Table 11. Expected number of repairs in each PM interval under individual PM scheme Interval 1

Interval 2

Interval 3

Interval 4

Interval 5

Interval 6

M1

0.2666

0.2666

0.0076

-

-

-

M2

0.3633

0.3633

0.3633

0.0249

-

-

M3

0.2872

0.2872

0.2872

0.0092

-

-

M4

0.4008

0.4008

0.3278

-

-

-

M5

0.2753

0.2753

0.2753

0.2753

0.2753

0.0929

For the individual PM case, job tardiness is {0 22 0 3 23 115 32 135}, the total tardiness is 330 time units, the corresponding tardiness cost is 52,003, PM cost is 4,460, and the expected minimal repair cost is 2.4878×104. As a result, the total cost is 1.59277×105. Machine reliability and expected number of minimal repairs in each PM interval is given in Tables 10 and 11. 4.3 Discussion of results Table 12 summarizes the results of the two schemes. According to total cost, group PM is preferable to individual PM in a series system. The difference is mainly due to tardiness cost, followed by the expected minimal repair cost and PM cost Table 12. Comparison of the performance of two approaches Group PM

Individual PM 5

1.59277×105

Total cost

1.33305×10

Production cost

77,936

77,936

Tardiness cost

28,317

52,003

PM cost

5,730

Expected minimal repair cost

2.1322×10

4,460 4

2.4878×104

In terms of reliability, each machine reliability in each interval in the group PM scheme is no less than in the individual PM scheme (comparing Tables 7 and 10). This means that proposed method can maintain high machine reliability. Similarly, the expected number of minimal repair actions in each PM interval in the group PM scheme is no less than in the individual PM scheme (comparing Tables 8 and 11).

Due to the nature of the series system in the example, a single machine downtime can cause the entire system to be unavailable, and the individual PM scheme has much more unavailability than the group PM scheme, and more tardiness is incurred. The risk of unplanned failure is also higher than that in group PM scheme. Therefore, the group PM should be taken into consideration when making maintenance decision in the series system. 4.4 Evaluation/verification of random-keys GA Thorough validation testing of the random-keys GA was also conducted for this problem. In the testing, results from the random-keys GA were compared to optimal enumeration results for small problems and a competing heuristic for larger problems. The testing was conducted in two phases, and the results indicate that the random-keys GA performed very well. The first phase consisted of a small problem (4 jobs, 3 machines) where the solution space could be enumerated. 10 different problem variations were created by randomizing problem parameters. We enumerated the search space to find the optimal solution and compared the optimal solution to the random-keys GA solution. The total cost objective function results are presented in Table 13 (where bold indicates the better solution). The random keys GA obtained the optimal solution in 5 of 10 cases, and deviated less than 0.06% considering the average of all 10 problems. Table 13. Comparison of random-keys GA and optimal solution for small problem Number

GA

Optimal solution

Number

GA

Optimal solution

1

18697

18697

6

20805

20805

2

23076

23064

7

19202

19189

3

25637

25572

8

33627

33627

4

16404

16393

9

23307

23307

5

23273

23248

10

23180

23180

The second phase consisted of two larger problems; a problem with 8 jobs/5 machines, and a

problem with 50 jobs/5 machines. The problems were then solved using both the random-keys GA and a modified Particle Swarm Optimization (PSO) heuristic. It was necessary to modify a traditional PSO algorithm to ensure feasibility of the job sequences, whereas the random-keys GA is already well-established and tested, with reference [31]. Table 14. Comparison of random-keys GA and modified PSO for larger problems Number

Jobs

Machines

GA

PSO

1

8

5

163590

159050

2

8

5

140380

138010

3

8

5

118890

118220

4

8

5

196180

186050

5

8

5

193890

185450

6

8

5

185700

176370

7

8

5

155840

149130

8

8

5

153790

141560

9

8

5

159420

154500

10

8

5

149560

143880

11

50

5

937970

991480

12

50

5

863700

894280

13

50

5

938460

948090

14

50

5

913730

950080

15

50

5

871250

904660

10 randomly generated problems were solved for the 8 job problem and 5 randomly generated problems were solved for the 50 job problem. The results are presented in Table 14. The two heuristics performance was similar, on average within 2% based on total cost, although the modified-PSO performed consistently better for the 8 job problem, whereas the random-keys GA performed consistently better for the 50 job problem, which is the larger and more difficult problem. Although the modified PSO performed marginally better for the 8 job problem, it is still recommended that the random-keys GA be consistently used. The objective functions were still close, the random-keys GA is a well-documented [31] and tested approach, and its performance on

much bigger problems was superior. 5. Conclusions This paper identifies a new method to jointly optimize machine PM and production scheduling in a series system. Group PM is proposed and solved by random-keys GA. The encoding of chromosomes is based on the random-keys method. The joint approach determines the assignment of jobs on machines, and also the optimal PM interval. To illustrate the effectiveness of the proposed method, individual PM is compared to the group PM scheme. The results indicate better performance of the proposed method. Certain assumptions were made in model development, including (1) all the machines are assumed to be new at the beginning of production horizon, (2) PM can restore a machine to as-good-as-new, (3) minimal repair is taken once a machine fails within a PM interval, i.e., bad-as-old, and (4) minimal repair actions are instantaneous. The assumptions are either valid or a close approximation for many if not most applications. However, there are applications where these assumptions are not appropriate and the models are not applicable. Furthermore, the good-as-new and bad-as-old assumptions are the limits of what the actual responses to maintenance would be, and for some examples, the actual response to maintenance may be between the limits. A particular useful and relevant extension to this model would be to introduce imperfect repair for both preventive and unscheduled maintenance. This potentially could be achieved by introducing parameters that represent the proportion of machine age that is restored by maintenance. Acknowledgements: The authors gratefully acknowledge support by Key Project supported by National Science Foundation of China (51035008) and the Fundamental Research Funds for the State Key Laboratory of Mechanical Transmission, Chongqing University (SKLMT-ZZKT-2012).

References: [1]. Song, S., Coit, D.W., Feng, Q., Reliability for systems of degrading components with distinct component shock sets. Reliability Engineering and System Safety 2014; 132: 115-124. [2]. Hadidi, L.A., Turki, U.M.A., Rahim, M.A., Joint job scheduling and preventive maintenance on a single machine. International Journal of Operational Research 2012; 13(2): 174-184. [3]. Moghaddam, K.S., Multi-objective preventive maintenance and replacement scheduling in a manufacturing system using goal programming. Int Journal of Prod Economics 2013; 146(2): 704-716. [4]. Wang, H., A survey of maintenance policies of deteriorating systems. European Journal of Operational Research 2002; 139(3): 469-489. [5]. Ma, Y., Chu, C., Zuo, C., A survey of scheduling with deterministic machine availability constraints. Computers & Industrial Engineering 2010; 58(2): 199-211. [6]. Cassady, C.R., Kutanoglu, E., Integrating Preventive Maintenance Planning and Production Scheduling for a Single Machine. IEEE Transactions on Reliability 2005; 54(2): 304-309. [7]. Wang, S., Liu, M., A branch and bound algorithm for single-machine production scheduling integrated with preventive maintenance planning. International Journal of Prod Research 2013; 51(3): 847-868. [8]. Pan, E., Liao, W., Xi, L., Single-machine-based production scheduling model integrated preventive maintenance planning. International Journal of Adv Manufacturing Technology 2010; 50(1-4): 365-375. [9]. Chen, X., Xiao, L., Zhang, X., A production scheduling problem considering random failure and imperfect preventive maintenance. Proceedings of the Institution of Mechanical Engineers, Part O: Journal of Risk and Reliability 2014: 1-10. [10].Fitouhi, M., Nourelfath, M., Integrating noncyclical preventive maintenance scheduling and production planning for a single machine. International Journal of Production Economics 2012; 136(2): 344-351. [11].Liu, X., Wang, W., Peng, R., An integrated production, inventory and preventive maintenance model for a multi-product production system. Reliability Engineering and System Safety 2015; 137: 76-86. [12].Fitouhi, M., Nourelfath, M., Integrating noncyclical preventive maintenance scheduling and production planning for multi-state systems. Reliability Engineering and System Safety 2014; 121: 175-186. [13].Berrichi, A., Yalaoui, F., Amodeo, L., Mezghiche, M., Bi-Objective Ant Colony Optimization approach to optimize production and maintenance scheduling. Computers & OR 2010; 37: 1584–1596. [14].Moradi, E., Ghomi, S.M.T.F., Zandieh, M., Bi-objective optimization research on integrated fixed time interval preventive maintenance and production for scheduling flexible job-shop problem. Expert Systems with Applications 2011; 38(6): 7169-7178. [15].Zhou, X., Lu, Z., Xi, L., Preventive maintenance optimization for a multi-component system under changing job shop schedule. Reliability Engineering and System Safety 2012; 101: 14-20. [16].Yulan, J., Zuhua, J., Wenrui, H., Multi-objective integrated optimization research on preventive maintenance planning and production scheduling for a single machine. The International Journal of Advanced Manufacturing Technology 2008; 39(9): 954 - 964.

[17].Ji, M., He, Y., Cheng, T.C.E., Single-machine scheduling with periodic maintenance to minimize makespan. Computers & Operations Research 2007; 34(6): 1764-1770. [18].Sortrakul, N., Nachtmann, H.L., Cassady, C.R., Genetic algorithms for integrated PM planning and production scheduling for a single machine. Computers in Industry 2005; 56(2): 161-168. [19].Cui, W., Lu, Z., Pan, E., Integrated production scheduling and maintenance policy for robustness in a single machine. Computers & Operations Research 2014; 47: 81-91. [20].Moradi, E., Fatemi Ghomi, S.M.T., Zandieh, M., Bi-objective optimization research on integrated fixed time interval preventive maintenance and production for scheduling flexible job-shop problem. Expert Systems with Applications 2011; 38: 7169–7178. [21].Berrichi, A., Amodeo, L., Yalaoui, F., Chatelet, E., Mezghiche, M., Bi-objective optimization algorithms for joint production and maintenance scheduling: application to the parallel machine problem. Journal of Intelligent Manufacturing 2009; 20(4): 389 - 400. [22].Roux, O., Duvivier, D., Quesnel, G., Ramat, E., Optimization of preventive maintenance through a combined maintenance-production simulation model. Int Journal of Prod Economics 2013; 143(1): 3-12. [23].Berrichi, A., Yalaoui, F., Amodeo, L., Mezghiche, M., Bi-Objective Ant Colony Optimization approach to optimize production and maintenance scheduling. Computers & OR 2010; 37(9): 1584-1596. [24].Wong, C.S., Chan, F.T.S., Chung, S.H., A joint production scheduling approach considering multiple resources and preventive maintenance tasks. Int Journal of Prod Research 2013; 51(3): 883-896. [25].Wong, C.S., Chan, F.T.S., Chung, S.H., Decision-making on multi-mould maintenance in production scheduling. International Journal of Production Research 2014; 52(19): 5640-5655. [26].Zarook, Y., Rezaeian, J., Tavakkoli-Moghaddam, R., Mahdavi, I., Javadian, N., Minimization of makespan for the single batch-processing machine scheduling problem with considering aging effect and multi-maintenance activities. The International Journal of Advanced Manufacturing Technology 2014. [27].Kim, B.S., Ozturkoglu, Y., Scheduling a single machine with multiple preventive maintenance activities and position-based deteriorations using genetic algorithms. The International Journal of Advanced Manufacturing Technology 2013; 67(5-8): 1127-1137. [28].Malve, S., Uzsoy, R., A genetic algorithm for minimizing maximum lateness on parallel identical batch processing machines with dynamic job arrivals and incompatible job families. Computers & Operations Research 2007; 34(10): 3016-3028. [29].Wong, C.S., Chan, F.T.S., Chung, S.H., A genetic algorithm approach for production scheduling with mould maintenance consideration. Int Journal of Production Research 2011; 50(20): 5683-5697. [30].Volkanovski, A., Mavko, B., Bosevski, T., Causevski, A., Cepin, M., Genetic algorithm optimisation of the maintenance scheduling of generating units in a power system. Reliability Engineering and System Safety 2008; 93(6): 779-789. [31].Bean, J.C., Genetic Algorithms and Random Keys for Sequencing and Optimization. ORSA Journal on Computing 1994; 6(2): 154-160.

Highlights 

Group preventive maintenance (PM) planning and production scheduling are jointed.



Maintenance interval and assignment of jobs are decided by minimizing total cost.



Relationships among system age, PM, job processing time are quantified.



Random keys genetic algorithms (GA) are used to solve the NP-hard problem.



Random keys GA and Particle Swarm Optimization (PSO) are compared.