Optimization costs of the single-machine scheduling problem with maintenance activities by using genetic algorithm

Article history: Received July 22, 2011 Received in Revised form October, 12, 2011 Accepted 15 October 2011 Available online 25 October 2011 This paper deals with a single-machine scheduling problem with maintenance activities. Our purpose is to provide a near optimal solution using metaheuristics approach. In this problem, there are jobs and machines ( > ), each job must be assigned to one and only one machine, where the processing time of job ( ) is ( ). Furthermore there are groups where each group has a fix periodic interval T and for each group, the maximum number of jobs processed in the machines available time interval ( ) is , = . For finding the near optimal solution, we consider optimizing total cost scheduling problem. This problem has two types of costs, group cost and gap cost. In this study, first, proposed problem is formulated in a mathematical model. Next, a heuristic genetic algorithm is used to obtain the proposed problem and on example is presented to verify the efficiency of the algorithm. © 2012 Growing Science Ltd. All rights reserved.


Introduction
The problem of scheduling jobs with maintenance activities is one of the most vital issues in service systems and industrial companies.The primary objective is to obtain cost of periodic maintenance in process industries.In this problem, machines must be stopped for periodical maintenance (Pinedo, 2002, Chen, 2006).Sbihi and Varnier (2008) considered a single-machine scheduling problem with several maintenances periods under two different scenarios.In the first one, maintenance periods were periodically fixed while in the second one, the maintenance was not fixed but the maximum continuous working time of the machine allowed was determined.The objective was to minimize the maximum tardiness, which are known to be strongly NP-hard.They proposed some dominance properties and an efficient heuristic.Chen (2009) considered a single-machine scheduling problem with periodic maintenance where a schedule consists of several maintenance periods and each maintenance period is scheduled after a periodic time interval.He determined a schedule, which minimizes the number of tardy jobs subject to periodic maintenance and nonresumable jobs and solved the resulted problem using a heuristic approach and compared his results with optimal solution achieved from a branch-and-bound algorithm.Change et al. (2009) investigated a new meta-heuristic, which implements a methodology to solve the single machine scheduling problem by using the random-key concept combining with genetic operators in the hybrid algorithm to determine the best schedule for the single machine problems.The approach attempts to achieve the convergence and diversity effects when it is iteratively applied to solve the problem.
They implemented their proposed hybrid algorithm on a set of standard test problems available and reported promising results compared with the standard genetic algorithm.Hsu et al. (2010) introduced a single-machine scheduling problem with periodic maintenance activity under two maintenance stratagems.They introduced a single-machine scheduling problem where the machine ought to be interrupted for maintenance after a fixed periodic interval or after a fixed number of jobs.The paper minimizes the makespan using a two-stage binary integer programming for driving the optimal solution up to 350-job instances.Low et al. (2010) presented a particle swarm optimization (PSO) algorithm to provide solution strategy for the single-machine scheduling problem with periodic maintenance activities.They discussed that the most important problem for PSO implementation is the procedure on developing an effective 'problem mapping' and 'construction of a particle sequence' mechanism.For the problem mapping aspect, they introduced the ''job-to-position" representation for the particles.The objective was to determine a schedule, which minimizes the makespan.The addressed problem is demonstrated to be NP-hard in the strong sense by transforming to the 3-partition problem.
The organization of this paper first introduces the concepts of the single-machine scheduling problem with maintenance activities (SMMA).Next, it introduces the mathematical models of the proposed problem in section 2 and introduces a heuristic genetic algorithm to solve the proposed programming model in Section 3. The implementation of the proposed model is given for an example in section 4 and the remarking conclusion is given in Section 5.

The single -machine scheduling problem with maintenance activities
Consider a set of independent jobs { , , . . .; }, m machines { , , . . .; }, which has to be scheduled without preemptions on a single machine, which could handle at most one job at a time.The machine is assumed to be continuously available from time zero onwards and unforced machine idle time is not allowed.Let j p be the processing time of job j and t be the amount of time to perform each maintenance activity.Let T be the length of the time interval between two consecutive maintenance periods, i ga be the gap ( i.e. the idle time) between the total processing time group and .Let be the maximum number of jobs processed in the machine's available time interval and be the number of the groups.We think of each interval between two consecutive maintenance activities as a group (G) with a capacity of .The minimum number of groups ( ) required for processing jobs and the minimum total gap within the first is − 1 groups (Hsu et al., 2010).The group cost (c ) is related to the maintenance activities for each group.The gap cost (c ) is related to the gaps the single -machine scheduling problem with maintenance activities.Consider decision variable as follows, 1 if job is scheduled to machine , 1,..., 0 otherwise  For ease of convenience, any scheduled can also be denoted by such a vector and costs variables , .Therefore, the cost function of assignment can be expressed as Therefore, the proposed scheduled problem has the following form Stage 1: From now on, we assume that and are costs variables.The objective given in Eq. ( 1) is the minimization of the cost schedule where n jobs are allocated to kth groups.Constraints (2) ensure that each job must be assigned just to one group.Constraints (3) restrict the processing time for each group.Constraints (4) restrict the number of jobs assignment problem in each group.Moreover, Constraint (5) set up the binary restrictions for .

Heuristic genetic algorithm
In this section, a heuristic genetic algorithm is considered for solving the single -machine scheduling problem with maintenance activities.

Representation
Representation is one of the most important stages for the genetic algorithm.There are many ways to represent a solution of optimization problem.In this research, a chromosome is a set of integer value and the length of the chromosome can be exactly defined as a number , which denotes the maximum number of the available processing jobs.A chromosome is represented as an array = { , , . . ., }, where the value of is equal to the index of the job to which the machine is received, where belongs kth group ( ∈ ) with ( > ).Here, N denotes the population size and the number of chromosomes is equal N. Therefore, we have,

Initialization process
The initialization process of this problem can be described as follows: Let = 1, randomly select machine from interval [1, ].Assume that ∈ , if ≠ , … , and the total of processing time kth group's jobs are less than , in the chromosome , then job assigns machine and let = + 1, otherwise select another machine, repeat this process until all jobs are assigned.We consider N as the population size.Therefore, the number of chromosomes is equal to N. We initialize chromosomes , , . . ., by repeating the following algorithm N times.
Obviously, all the chromosomes generated by above algorithm are feasible.

Crossover operation
Let p ∈ (0,1) be the crossover probability.In order to determine the parents for crossover operation, we repeat the following process from i = 1 to N: randomly generating a real number r from the interval (0,1), the chromosome S is selected as a parent if r < p .Let chromosomes S ′ , S ′ is selected from the chromosomes S , S , . . ., S for the crossover process.We use uniform crossover with a random mask chromosome P .
For i = 1 to m, randomly select a integer p from the set {0,1} then let S [i] = p .For i = 1 to m, Let S [i] is equal 0, and S ′ [i] = j , assume that i ∈ G if j ≠ j , … , j and the total of processing time kth group's jobs are lesser than T, in the chromosome S ′′ , then S ′′ [i] = S ′ [i] = j , otherwise randomly generate a positive integer j from the interval [1, n] and consider all constrain problem then let S ′′ [i] = j , otherwise randomly select another job.But, if S [j] = 1, similarly repeat the upper method, S ′′ [i] = S ′ [i] = j , see, e.g., the researches see, e.g., the researches of Shasavari Pour et al. (2010).The crossover operation can be described as the following algorithm:  Crossover algorithm: Step 1. Step 8.For i ′ = 1 to m, repeat Step 9, m times, Step 10.If P + p ≤ T and j ≠ j , … , j then assign job j to machine i: Otherwise go to Step 7, Step 11.Randomly generate a positive integer j from the interval [1, n] go to Step10.

Mutation operation
Let ∈ (0,1) be the mutation probability.We use the following operator to select the chromosome to be mutated: for = 1 to N, randomly generate a real number r from interval (0,1); if ≤ , then the chromosome S is selected to be mutated.Let be the chromosomes S , S , . . ., S for the mutation process.Randomly select two jobs , assigned to the machines , in the chromosome , respectively, so [ ] = , [ ] = , then exchange the jobs j and j .In the Fig. 2, the workers 2 and 7 are selected.

 Mutation algorithm
Step 1.For = 1 to N, repeat Steps 2-8 times, Step 2. randomly generate a real number r from interval (0,1); if ≤ , then go to Step 3, Otherwise, go to Step 1, Step 4. For ′ = 1 to m, repeat Step 5, m times, Step 5.If i ′ ∈ G then let P = p [ ′ ] + P and i ′ ∈ G then let P = p [ ′ ] + P , Step 6.If P + p − p ≤ T and P + p − p ≤ T then go to Step 7, Step 7. Exchange the jobs j and j in the chromosome S, respectively, by the operation j = S[i ], S[i ] = S[i ], S[i ] = j.

Selection process
For selection process, we determine the fitness function z ′ to evaluate the i th chromosome i = 1,2, . .., N. Let z be the value of the objective function in the Stage 1.Therefore, we have: Then we use the spanning roulette wheel to prefer the chromosomes: randomly generate a number p ∈ (0, 100), if p ∈ [p , p ), then the chromosome P is selected.see, e.g., the researches N.Shahsavari pour, M. Esmaeili and R.Esmaeili (2011).This process can be described as the following algorithm:  Selection algorithm: Step 1.Let j = 1, repeat Step 2 until N.

Genetic algorithm
Step 1. Randomly initialize N chromosomes, Step 1.Let k = 1, repeat Step 2 to Step 7 until k = TC (until a given number times (TC)), Step 2. Calculate the fitness of each chromosome according to the objective values, Step 3. Select the chromosomes by spanning the roulette wheel, Step 4. Perform crossover process and mutation process on the chromosomes, Step 5.If k = T report the best chromosome as the optimal solution, Step 6. Arrange the chromosomes in decreasing order of processing times to form a sequencing priority list, Step 7. Select 50% from the best chromosome and another 50% Randomly select from the remain chromosomes and let k = k + 1.
Let the crossover probability is = 0.93 and the mutation probability is = 0.35.All the evolution parameters are obtained by the statistic and analyze of the experiment results of a numerical example with 100 machines and 60 jobs.This example has multi optimal schedule and the optimal value of the objective function is equal to 2600.It is well known that the evolution process and the absolute errors or the relative errors can mainly characterize the efficiency of the genetic algorithm.For the given example, first, we considered 200 generations, with the given evolution parameters = 0.93 and = 0.35 then the optimal solution is obtained at the 1000th generation.If we consider 300 generations then the optimal solution obtain the 500th generation.

Conclusion
In this paper, one important scheduling problem is studied.There have been many algorithms for this problem and its extending problems, see, e.g., the studies Chang, Chen and Fan, (2009) and Low, Hsu and Su (2010).For solving the given problem SMMA, we designed a heuristic genetic algorithm.And using this algorithm the optimal solution (optimal scheduling) the proposed problem is obtained.
By considering the number of jobs, machines, groups and type assignment each job to each group and machine, this problem can be extended to the scheduling problem which for solving it should be used a different genetic algorithm or another algorithm.Furthermore, in the real world possible all of the single-machine cost, (SMMA) aren't crisp.Some costs of problem are characterized by uncertain information such as fuzzy variables.So, for solving those problems we need new studies and researches.