Hybrid Evolutionary Algorithm for job scheduling under machine ...

4 downloads 1339 Views 619KB Size Report
No machine can deal with more than one type of operation. • The system ..... job-shop scheduling problems, Memetic Computing 1 (1) (2009) 69–83. [3] S.M.K. ...
Hybrid Evolutionary Algorithm for job scheduling under machine maintenance Ruhul Sarker a,∗ , Mohd Omar b , S.M. Kamrul Hasan a , Daryl Essam a a b

School of Engineering and Information Technology, University of New South Wales, ADFA Campus, Canberra 2600, Australia Institute of Mathematical Sciences, University of Malaya, Lembah Pantai, Kuala Lumpur 50603, Malaysia

a r t i c l e

i n f o

Keywords: Job scheduling Machine maintenance Hybrid Evolutionary Algorithm

a b s t r a c t The job scheduling problem (JSP) belongs to the well-known combinatorial optimization domain. After scheduling, if a machine maintenance issue affects the scheduled processing of jobs, the delivery of jobs must be delayed. In this paper, we have first proposed a Hybrid Evolutionary Algorithm (HyEA) for solving JSPs. We have then analyzed the effect of machine maintenance, whether preventive or breakdown, on the job scheduling. For the breakdown maintenance case, it is required to revise the algorithm to incorporate a rescheduling option after the breakdown occurs. The algorithm has been tested by solving a number of benchmark problems and thence comparing them with the existing algorithms. The experimental results provide a better understanding of job scheduling and the necessary rescheduling operations under process interruption.

1. Introduction Job scheduling is a well-known task in the manufacturing industry. In this paper, we consider Job Scheduling Problems (JSPs) with n jobs and m machines that involve active constraints such as machine capacity and precedence requirements. It is considered that a machine can only perform a particular type of operation. Thus, a machine is able to execute just a single operation of a job. The operations are non-preemptive; an operation can neither be paused nor resumed after it is started. The execution time for each operation is known. The setup time or cost is assumed to be negligible. An operation can only be started if the preceding operations of the same job are complete. This description is similar to traditional job-shop scheduling problems [1,2]. Although a considerable amount of research has been carried out on how to develop effective solution approaches for JSPs, no single algorithm is well-accepted for all kinds of JSPs [3]. The deterministic scheduling algorithms that converge to the optimal solution are suitable for small-scale problems. They are, however, incapable of handling complex and large-scale problems. In contrast, the stochastic and heuristic algorithms can handle large-scale problems, and provide near optimal solutions with a small computational effort [4]. As a result, these algorithms are popular when solving complex and large-scale scheduling problems. In almost all research on JSPs, schedules are produced under ideal conditions, assuming there will be no disruptions of any type. However, machine unavailability is a common event on

∗ Corresponding author. Tel.: +61 2 6268 8051. E-mail address: [email protected] (R. Sarker).

the shop floor due to both preventive and breakdown maintenance of machineries and their supporting equipments [4]. The inclusion of such unavailability of processing resources with the JSPs makes the resulting problem not only more practical, but also more complex and challenging. The preventive maintenance schedules, which are usually known in advance, can easily be incorporated in generating a job scheduling. However, in the case of sudden machine failure, the operations scheduled on the broken machine cannot be resumed until the machine is either appropriately repaired or replaced by a new one. During and after the machine repair/replacement, the continued implementation of the schedule generated earlier would delay the completion of some jobs due to active precedence constraints. In order to minimize the delay, it is very important to re-optimize the remaining operations at the time of machine breakdown. Even after re-optimization, it is expected that there will be some delay in the completion of some or all jobs. In this research, we have proposed a Hybrid Evolutionary Algorithm (HyEA) for solving JSPs, that combines a genetic algorithm with a local search heuristic technique. We have considered makespan minimization as the fitness measure, as it is widely used in job scheduling problems. The total time between the starting of the first operation and the ending of the last operation is termed as the makespan. For a candidate solution, the local search heuristic technique identifies any gap left between any two consecutive operations (/jobs) on a machine. A job from the right of the gap can then be placed in it, if the gap is big enough for the operation without violating any precedence constraints. In addition, the job can also be placed in the gap, even if the gap is not big enough, but within a certain tolerance limit of the operation time, if it improves the overall fitness value. In this case it may need to shift other jobs

R. Sarker et al. / Applied Soft Computing 13 (2013) 1440–1447

to the right. We have extended this algorithm to study JSPs under sudden machine breakdowns. In the case of machine breakdown, the breakdown information is known after the actual breakdown, in fact, when the schedule is under implementation. In such a case, it is necessary to re-optimize the remaining operations by taking into account the machine downtime. We have solved 40 benchmark test problems using HyEA and have experimented by varying the tolerance limit for the local search heuristic. We have shown that the inclusion of the heuristic not only improves the performance of the EAs, but also reduces the overall computational requirements. To study JSPs with machine maintenance, we have chosen a manufacturing shop with ten machines. For experimentation, we have used probability distributions to generate the breakdown scenarios. We have found that the revised solution is able to recover from most of the breakdowns, regardless of when they occur. The novelties of our research presented in this paper can be summarized as follows. Although there exist a number of approaches for solving JSPs, no single algorithm is well-accepted for all kinds of JSPs. So there is a scope to develop new efficient algorithms. So our first goal was to develop a new Hybrid Evolutionary Algorithm (HyEA) that provides effective solutions for JSPs. Secondly almost all researches in JSPs dealt with the problem under ideal condition. However the real life situation faces many different disruptions. So we extended our study to deal with the disruption cases when the job processing is underway according to the job scheduling solution. This is a novel concept that would improve the efficiency in many manufacturing industry. Finally, the solution approach proposed in this research does not solve the corresponding mathematical model of the problem. Instead it considers the solution vector and the constraints from the problem description directly. The paper is organized as follows. After the introduction, a brief outline of a standard job scheduling problem with and without disruption is given. The evolutionary algorithm to solve JSPs is discussed in Section 3. Section 4 provides an experimental study for JSPs with and without random machine breakdowns. Finally, conclusions are given in Section 5. 2. Job scheduling with machine maintenance The standard job scheduling problem is defined with the following assumptions: • Each job consists of a finite number of operations. • The processing time for each operation in a particular machine is defined. • There is a pre-defined sequence of operations that has to be maintained to complete each job. • Delivery times of the products are not defined. • There is no setup cost or tardiness cost. • A machine can process only one job at a time. • Each job visits each machine only once. • No machine can deal with more than one type of operation. • The system cannot be interrupted until each operation of each job is finished. • No machine can halt a job and start another job before finishing the previous one. • Each and every machine has full efficiency. The objective of the problem is to minimize the maximum time taken to complete each and every job while satisfying the required operational sequence and the start time of each job. The objective value is calculated as follows. Let Cij be the completion time of operation Oij of job j on machine i. Note that tij is the

1441

processing time of operation Oij . The objective is to find a schedule that minimizes the maximum completion time, Cmax = maxij Cij . The value of Cmax is also called makespan or the length of the schedule. In practice, the operations may be interrupted and delayed for many reasons, such as machine breakdown (including cutting tools and fixtures), unexpected machine setting up costs, arrival of a new priority job, process time variation, change of job priorities, defective materials, delay in transfer line between machines, and order cancellation [5,6]. Machine breakdown is considered as one of the most challenging issues in production scheduling. The unavailability of machines, due to planned preventive maintenance, can be incorporated as a constraint when solving for an optimal schedule. In the case of sudden breakdowns, the easiest solution is to apply some dispatching rules which help to select an operation immediately after the breakdown occurs [7]. Recently, reactive scheduling has been introduced to deal with the unexpected interruptions. Liu et al. [8] have proposed to divide the scheduling process into two non-overlapping parts: predictive before the breakdown occurs, and reactive when the machine is recovered after the breakdown. Fahmy et al. [5] have suggested inserting dummy operations to remove the affected operations from the schedule and to later reschedule them. The duration of the dummy operation being equal to the recovery time of the broken machine. Abumaizar and Svestka [9] have proposed to repair the reactive schedules using a right shifting process. Their process shifts each and every operation to its right after the machine breakdown. Wu et al. [10] developed a genetic algorithm with a pairwise-swapping heuristic and proposed using the right shifting technique to re-optimize. The drawback in this technique is the presence of uniform shifting for every operation, which increases the machine idle times between consecutive operations.

3. A new Hybrid Evolutionary Algorithm According to the problem definition, the sequence of machines used (which is also the sequence of operations) by each job is given. That means, each operation is linked to one particular machine. In this case, if we know either the starting or finishing time of each operation, then we can calculate the makespan for each job and generate the whole schedule. In JSPs, the main problem is to find the order of jobs to be operated on each machine that minimizes the overall makespan. As indicated earlier, we have proposed a new Hybrid Evolutionary Algorithm in this paper. The details of the algorithm are discussed below. Evolutionary Algorithms (EAs) are a population based stochastic global search algorithm. Over the last few decades, these algorithms have shown tremendous success in solving simple as well as complex optimization problems [11]. EAs use crossover and/or mutation as their basic search mechanism. However, for some complex problem scenarios, EAs are found to be slow in convergence and even trapped in local optima. The addition of a local search method to EAs helps to accelerate the convergence and escaping from the local optima. The incorporation of a local search method with EAs is recognized as either hybrid EAs or memetic algorithm. EAs and hybrid EAs are widely used in solving combinatorial optimization problems including job scheduling problems [12–14]. Interestingly, in most job scheduling cases, EAs use a special type of chromosome representation that allows mapping the problem instead of dealing with its detailed mathematical formulation. Such representation can also be applied in other combinatorial optimization problems [15]. The chromosome representation and the local search applied in this research are described in the next two sections.

1442

R. Sarker et al. / Applied Soft Computing 13 (2013) 1440–1447

Table 1 Chromosome representation.

Table 3 Order of machines and jobs.

1

0

1

1

0

0

0

1

1

m1

m3 j1 –j2

m2

m2

m1 J2 –j3

m3

m2

m3 J3 –j1

m1

3.1. Chromosome representation In solving JSPs using EAs, the chromosome of each individual usually comprises the schedule. Some popular representations for solving JSPs are: operation based, job based, preference-list based, priority-rule based, and job pair-relation based representations [16]. The main advantage of this representation lies with the organization of the genes. In this representation, two consecutive genes represent the relationship between two job pairs in two different machines. When a simple exchange crossover or swap mutation is applied, it affects multiple machines. So this representation helps to generate diverse solutions [17,18,12,13]. In this representation, a chromosome is symbolized by a binary string, where each bit stands for the order of a job pair (u,v) for a particular machine m [18,2]. For a chromosome p, we define:



CPuvm =

1 if the job u leads the job v on machine m 0

Otherwise

A value of 1 means that, for the individual p, the job u must lead the job v on machine m. An example of the chromosome representation (for a 3 jobs and 3 machines problem), is shown in Table 1, where each bit represents the preference of one job with respect to another job in the corresponding machine. The third row shows the job pairs in a given order. The second row indicates the order of the machines for the first job of the pair shown in the third row. The first bit is 1, which means that job j1 will appear before job j2 for machine m1 . From the above chromosome, we determine the job sequence (/order of operations) on each machine using the job pair based relationship as shown in Table 2. In Table 2(a), the ‘1’ in cell j1 –j2 indicates that job j1 will appear before job j2 in machine m1 . Similarly, the ‘0’ in cell j1 -j3 indicates that job j1 will not appear before job j3 in machine m1 . In the same Table 2(a), column S represents the priority of each job, which is the row sum of all the 1 s for the job presented in each row. A higher number represents a higher priority because it is preceding many other jobs. So for machine m1 , job j3 has the highest priority. Table 3(a) shows the pre-defined (/given) operational sequence of each job. As shown in this table, the first, second and third operation of job j1 will be processed on machine m1 , m3 and m2 respectively. According to the priorities found from Table 2, Table 3(b) shows the phenotype or schedule. For example, the Table 2 Job pair based relationship for each machine.

(a): m1 j1 j2 j3 (b): m2 j1 j2 j3 (c): m3 j1 j2 j3

j1

j2

j3

S

* 0 1

1 * 1

0 0 *

1 0 2

* 0 0

1 * 0

1 1 *

2 1 0

* 1 1

0 * 1

0 0 *

0 1 2

(a) j1 j2 j3

m1 → m3 → m2 m2 → m1 → m3 m2 → m3 → m1

(b) m1 m2 m3

j3 → j1 → j2 j1 → j2 → j3 j3 → j2 → j1

sequence of m1 is j3 j1 j2 , because in Table 2(a), j3 is the highest priority and j2 is the lowest priority job. It is well-known that randomly generated solutions may not be feasible in JSPs. If more than one job has equal priority in a given machine, a repairing technique modifies the order of these jobs to introduce different priorities. Let us consider a chromosome that is slightly different from the one presented in Table 1. The chromosome 101110011 indicates that the order of jobs on machine m1 is that j1 will appear before j2 , j2 will appear before j3 , and j3 will appear before j1 . Such an order is infeasible. This will also provide S = 1 for all jobs on machine m1 (see Table 4(a)). By swapping the content of cells j1 –j3 and j3 –j1 , it would provide S = 2, 1 and 0 for jobs j1 , j2 and j3 respectively (see Table 4(b)). Nakano and Yamada [17] have referred to such repair processes as harmonization. We apply similar repair mechanisms in this research. We have proposed a heuristic in this paper, introduced as the local search heuristic (LSH), for improving the performance of EAs. The LSH process is applied to the phenotypes to improve a solution, and thus ensure feasibility. This heuristic can also be applied as a part of the reactive scheduling. 3.2. Local search heuristic (LSH) It is widely known that some gaps (i.e., machine idle time) usually remain between the consecutive operations scheduled on a machine. In some cases, these are absolutely necessary to satisfy the precedence constraints. In other cases, this is due to the generation of sub-optimal solutions for implementation. For the later cases, it is possible to improve the solution by filling in the gaps with suitable operations. In our proposed LSH, a gap will be filled in with an operation, if the gap is good enough to accommodate it without creating infeasibility. In addition, a gap can also be filled in if it is smaller than the operation duration by a certain tolerance limit by shifting the operations to the right of the gap. Here, let us assume that gap(time) is a gap where we wish to fit an operation with time tij . By (i,j), we mean the operation of job j that will be processed in machine i. We further assume that ␣ is the tolerance limit which varies between 0 and 1. The necessary condition of applying LSH can be defined as: if gap(time) ≥ (1 − ˛)tij the job is placed in the gap. Further, a gap may be removed or reduced by simply moving a job to its adjacent gap at the left (left-shifting). The left-shifting process is illustrated with a simple example, as shown in Fig. 1. In this 3-job 3-machine problem, we assume figure (A) represents a Table 4 Job pair based relationship for machine m1 .

(a) j1 j2 j3 (b) j1 j2 j3

j1

j2

j3

S

* 0 1

1 * 0

0 1 *

1 1 1

* 0 0

1 * 0

1 1 *

2 1 0

R. Sarker et al. / Applied Soft Computing 13 (2013) 1440–1447

1443

v. Rank the individuals according to the fitness values. vi. Apply elitism. Assume P (t − 1) are the non-elite individuals. C. Apply LSH to all individuals in P (t − 1). D. Go to Step 3 if the stopping criteria is met. E. Generate P (t − 1) individuals (from P (t − 1) + elite individuals) using the following steps: i. Select individuals for reproduction ii. Apply crossover iii. Apply mutation iv. Assign P(t) = P (t − 1) + the preserved elite individuals. [End of Step 2 Loop] 3. Save the best solution among all of the feasible solutions. [End of Algorithm]

Fig. 1. Illustration of left-shifting with a 3 × 3 job-shop scheduling problem. The x axis represents the execution time and the y axis represents the machines.

candidate solution generated by our approach. We further assume that this is a feasible solution where all the jobs are in the right order in each machine and no job will be processed on more than one machine at the same time. However, in machine m2 , there is a gap between job j2 and j3 . Similarly, in machine m1 , there is a gap between job j3 and j1 . Now, the job j3 in machine m2 and the job j1 in machine m1 can be shifted to the left without violating any given job sequence that reduces the makespan (see figure B). This process can be used to develop a compact schedule, starting from the left, and continuing up to the last job for each machine. If we assume ˛ = 0, the LSH would be similar to the Gap Reduction (GR) technique used in the memetic algorithm reported by Hasan et al. [2]. For convenience of applying LSH, it is done on the phenotype, just after the evaluation of individuals (see below step 2C). 3.3. The proposed algorithm The Hybrid Evolutionary Algorithm (HyEA) can be described as follows. 1. Initialize P(t) as a random population P(t = 0) of size K 2. Repeat until the stopping criteria is met A. Set t: = t + 1. B. Evaluate P(t − 1) as follows: i. Decode each individual p ii. Repair if the individual is infeasible iii. Generate schedule and calculate makespan (fitness value) iv. Go to step i, if every individual is not evaluated

Each individual is represented by the job-pair relation based representation. The algorithm starts with a randomly generated population. It is expected that some individuals will be infeasible. A repair mechanism is applied to change the infeasible individuals to become feasible. The makespan of each individual is then calculated and ranked based on their makespan values. In this algorithm, we apply elitism where we pass the best E% of individuals unaltered from the generation t to t + 1. We use a tournament selection that chooses one from the E individuals and two more from the rest. This selection then plays a tournament between the last two and performs crossover between the winner and the elite one. We use two-point crossovers, and a bit-flip mutation. We rank the individuals on the basis of their fitness values. A high selection pressure on the better individuals may contribute to premature convergence. If the elite class, or most of them, have the same solution, then their offspring will be quite similar after some generations. In such cases, a higher mutation rate would help to diversify the population. After crossover and mutation, the new individuals are mixed with the elite group to form the population for generation t + 1. The genetic algorithm we applied for JSPs in this research is similar to the above HyEA, except that it does not use step 2C. 4. Experimental study We have implemented HyEA for solving JSPs. The parameters used in this study are similar to Hasan et al. [2]: the population size is 2500, the probability of crossover 0.65, the probability of mutation 0.30, and the maximum number of generations is set to 1000. The algorithm will be terminated if it converges before 1000 generations. In JSPs, a large population is usually used as the feasible space is tiny in comparison to the entire search space. To support this argument, we mention here that Pezzella et al. [19] used a population size of 5000 merely to solve a 10 × 10 JSP. The top 15% individuals in any generation are defined as E. We use the tolerance level ˛ = 0.20 for applying LSH. In fact, we have run HyEA by varying the tolerance level ˛ from 0.00 to 0.25 with an increment of 0.05 and decided upon the best ˛ by analyzing the best and the average fitness values, as well as the computational times. To test the performance of our proposed algorithms, we solve all 40 ‘la’ series benchmark problems that were proposed by Lawrence [14]. However we use mainly 10-machine benchmark problems (la16–la35) for our analysis. Based on the number of operations, these problems can be grouped into four different sizes (10, 15, 20 or 30 operations) with five problems in each group. The results for the benchmark problems are obtained by executing the algorithms on a personal computer. The detailed results are provided in Appendix A, and the summary of results is tabulated in Table 5. From the results, it is clear that the performance of HyEA is overwhelmingly better than GA. Out of 20 test problems,

1444

R. Sarker et al. / Applied Soft Computing 13 (2013) 1440–1447

Table 5 Comparing the performance of HyEA with GA. Optimal found

Average deviation (%)

Fitness evaluation (103 )

Average computational time (s)

GA HyEA

3 13

4.161 1.047

664.90 356.41

201.60 105.87

1400 1350 1300 1250 1200 1150 1100 1050 1000

GA HyEA

0 10 20 30 40 50 60 70 80 90 100

Makespan

Algorithm

Generation Number Fig. 2. Convergence plot of best fitness for problem la23.

HyEA obtained optimal solutions for 13 problems compared to 3 for GA. The average percentage deviation of fitness values from the known optimal is much lower for HyEA (1.047 compared to 4.161 for GA). The average percentage deviation is calculated using the best of the best fitness values in each of the 30 independent runs for each problem. We must mention here that la16–la35 test problems are much harder than la01–la15. For the first 15 la series test problems, GA was able to obtain optimal solutions in 13 problems, whereas HyEA successfully achieved optimal solutions in all 15 problems. The average deviation for all 40 la series test problems is only 0.84% with a standard deviation of 1.46. Computationally, HyEA is also more attractive than GA. This means that the proposed hybridization of GA not only improved the quality of solutions, but also reduced the requirements of the number of fitness evaluations and computational time (see Table 5). To show the superior convergence pattern of HyEA over GA, two sample convergence plots for problem la23 and la24 are provided in Figs. 2 and 3. Due to the lack of reported detailed results in the literature, we are unable to appropriately compare our approach with some of the existing algorithms. However we have made comparisons with some of the other closely related algorithms in Table 2. The algorithms are: GRASP [20], shifting bottleneck [21] and local search 1 & 2 [22]. As of Table 6, HyEA outperforms all of the other compared algorithms. 4.1. Rescheduling under machine breakdown

1300 1250 1200 1150 1100 1050 1000 950

GA HyGA

0 10 20 30 40 50 60 70 80 90 100

Makespan

We now consider the effect of machine breakdowns with JSPs. In the case of sudden breakdown, it is required to re-optimize the affected operations for the remaining operations from the time of breakdown. The most obvious issue of a breakdown is that the broken machine cannot be used until it is either repaired or replaced.

Generation Number

Fig. 3. Convergence plot of best fitness for problem la24.

In the JSPs, the operations are inter-related. Thus if any operation is incomplete due to a broken machine, the operation must wait for a certain period of time. In reactive scheduling, the right shifting strategy is normally applied to the affected operations to produce a revised schedule. We instead apply LSH which minimizes the possible gaps left before pushing the operations towards the right. Here we make the following assumptions and definitions. • We classify any operation finished before the breakdown occurrence as completed. The completed operations do not need to be considered in the reactive scheduling or rescheduling. • Any operation that needs to be relocated due to the interruption is classified as affected. The set of affected operations is generated based on the precedence relationships of the operations. For any instance, if the shifting of an operation (because of breakdown) does not affect its successor operation, then the successor operation is not considered as affected. • Reactive schedules consist of the affected operations which begin from a revised starting time of each machine. The starting times are calculated from the finishing time of the completed operations. To analyze the re-schedules under machine breakdown, we first define a machine breakdown scenario by (i, t, r), which indicates that a machine i that breaks at time t needs r units of time to be recovered. In this study, a breakdown instance is generated randomly. More specifically, we use a Uniform distribution to identify the machine i, a Poisson distribution to define the start time of breakdown t, and an exponential distribution for indicating the recovery duration r. As discussed earlier, we first solve the JSPs using HyEA under ideal conditions. We then generate a number of interruption scenarios, , based on the best solution obtained from HyEA, and then apply LSH alone to re-optimize the affected operations. 4.2. Experimental study with machine breakdown scenarios In the experimental study, to generate different scenarios, the following steps are followed: 1. Select a problem instance 2. Select a breakdown frequency 3. Generate 100 different breakdown scenarios. For each scenario: • Choose a machine or machines • Choose start time for breakdown • Choose breakdown duration For a breakdown, we choose the parameter (i, t, r): a machine, a downtime start time, and a repair duration using the distributions discussed earlier. We use these scenarios for two different experiments. First, we assume that these are the preventive machine maintenance scheduling which must be carried out during the job processing. In this case, we identify the maintenance operation as a new job with a fixed starting time on a given machine. Then we run HyEA with the new situation. This situation is referred to as the machine unavailability case in the analysis of results. For the second experimental study, we pick the best solution from HyEA, introduce breakdown and produce the reactive schedule. For the reactive scheduling, we apply LSH to re-optimize the affected

R. Sarker et al. / Applied Soft Computing 13 (2013) 1440–1447

1445

Table 6 Comparing our algorithm with other related algorithms. Authors

Algorithm

Average deviation (%)

Standard deviation of fitness deviation

Our algorithm Hasan et al. Binato et al. Adams et al. Aarts et al. Aarts et al.

HyEA MA GRASP SB GLS1 GLS2

1.0471 1.1290 2.5631 4.7644 2.6245 2.2739

1.6548 1.6659 3.2270 4.1633 2.7781 2.2998

Table 7 Makespans with machine maintenance scenarios. Problems

Optimal

Average break duration

la16 la17 la18 la19 la20 la21 la22 la23 la24 la25 la26 la27 la28 la29 la30 la31 la32 la33 la34 la35

945 784 848 842 902 1046 927 1032 935 977 1218 1235 1216 1157 1355 1784 1850 1719 1721 1888

314 263 285 282 301 274 321 257 319 327 302 316 312 304 270 297 305 287 289 315

Machine breakdown

Machine unavailability

Average fitness

Standard deviation

Average fitness

Standard deviation

1027.35 884.90 961.00 975.75 979.34 1212.91 1111.35 1162.98 1128.6 1124.13 1406.39 1433.55 1420.29 1378.33 1482.68 1874.68 2003.95 1812.67 1863.48 1981.46

35.062 30.776 34.131 36.963 28.804 37.077 23.984 25.556 27.958 25.353 26.364 26.594 32.242 25.824 31.444 30.164 26.221 28.489 32.370 25.162

1030.29 888.78 968.21 984.01 983.66 1209.64 1118.71 1165.12 1127.94 1123.47 1405.78 1433.85 1421.32 1374.38 1480.61 1874.5 2001.96 1808.41 1857.86 1975.27

37.269 38.389 38.987 50.607 34.572 39.058 28.54 34.976 38.112 31.841 30.331 41.115 41.325 30.21 40.398 40.244 33.616 33.066 37.157 32.856

Table 8 Makespans after rescheduling. Test problem number

la20 la25 la30 la35

Makespan under ideal condition

902 977 1355 1888

% Difference = 100 × (A − B)/A

Average makespan

After re-scheduling with the proposed approach (A)

After re-scheduling with the right shifting method (B)

979.34 1124.13 1482.68 1981.46

1087.557 1275.325 1690.848 2318.11

sub-solution. The total length of breakdowns for any re-schedule is designed to be approximately equal (see Table 7) but generated randomly within a specified range. The results for 20 test problems, for both experiments, are presented in Table 7. From the results reported in Table 7, the rescheduled duration is always lower than the sum of known best makespan and breakdown duration. On average for the 20 problems, the increase in makespans for breakdown maintenance is not significantly different from the preventive maintenance scenarios. From our experiments, we have also observed that the location of breakdowns, within the scheduling duration, influences the makespan of the re-optimized schedule. If a breakdown occurs during the early stage of a solution, the effected operations can be rescheduled with only a small increase in makespan. 4.3. Comparing with right shifting method To show the superiority of our proposed algorithm, we have compared our results with the same of the right shifting method. As a sample, we have presented these results for four selected test problems, in terms of the average makespan, as presented in

11.05 13.45 14.04 24.49

Table 8. Although, as expected, the average makespan is higher than the makespan under ideal conditions, they are much lower than the same obtained from the right shifting method. From the last column of Table 8, it is clear that the percentage difference from the right shifting techniques increases with the increase in size of the problems.

5. Conclusions The JSP is a well-known combinatorial optimization problem. A considerable amount of research has already been carried out to improve the algorithms for solving JSPs. Some of these algorithms are designed for specific cases of these problems, but still no algorithm guarantees optimality for all JSPs. In this paper, we have introduced a Hybrid Evolutionary Algorithm (HyEA) that provides better solutions for JSPs than many existing algorithms. As compared to GA alone, we have shown that HyEA not only improves the performance of GA, but also reduces the overall computational requirements. In almost all research on JSPs, the schedules were produced under ideal conditions, assuming that there will be no

1446

R. Sarker et al. / Applied Soft Computing 13 (2013) 1440–1447

interruptions of any type. We have extended our algorithm to study JSPs under sudden machine breakdowns, where the breakdown information is known after the actual breakdown. We have solved and experimented with 20 benchmark test problems. For the condition of machine breakdowns, we have used different distributions to generate a number of breakdown scenarios. The experimental results show, that the re-optimization process carried out by our algorithm, is much more efficient than the existing practices.

Appendix A. Detailed solutions of GA and HyEA (the numbers within the bracket are the best known makespan and the bold faced figures are the best results obtained).

Problem

Algorithm

Best

Average

Standard deviation

Median

Worst

la16 (945) la17 (784) la18 (848) la19 (842) la20 (902) la21 (1046) la22 (927) la23 (1032) la24 (935) la25 (977) la26 (1218) la27 (1235) la28 (1235) la29 (1157) la30 (1335) la31 (1784) la32 (1850) la33 (1719) la34 (1721) la35 (1888)

GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA GA HyEA

994 945 794 784 861 848 890 842 967 902 1098 1079 986 957 1043 1032 984 958 1077 991 1295 1218 1328 1278 1328 1236 1265 1221 1377 1355 1784 1784 1850 1850 1719 1719 1748 1721 1898 1888

1002.83 968.27 822.5 788.93 895.33 859.27 915.73 855.47 979.67 910 1145.07 1097.6 1027.5 981 1077.13 1032 1023.7 996.4 1116.97 1016.67 1324.13 1234.27 1356.87 1306.33 1356.87 1306.33 1294.07 1240.47 1465.43 1362.33 1784 1784 1869.6 1850 1729 1719 1770.9 1721 1947.2 1888

10.05 15.46 10.18 4.18 14.56 4.57 9.04 7.76 12.62 2.54 20.07 12.48 17.59 13.58 17.6 0 24.94 16.21 19.06 19.64 18.52 16.12 17.7 13.17 17.7 13.17 20.01 6.98 35.82 8.23 0 0 19.79 0 11.22 0 13.31 0 30.94 0

994 979 820 792 901 861 914 855 977 912 1145 1096 1031 979 1080 1032 1020.5 1003 1114 1013 1322.5 1228 1355 1301 1355 1301 1291 1240.5 1476 1359.5 1784 1784 1872 1850 1725 1719 1770.5 1721 1942.5 1888

1028 982 839 793 912 861 929 869 1016 912 1185 1124 1055 1000 1108 1032 1080 1011 1154 1076 1369 1266 1389 1333 1389 1333 1334 1249 1555 1380 1784 1784 1916 1850 1765 1719 1814 1721 2018 1888

R. Sarker et al. / Applied Soft Computing 13 (2013) 1440–1447

References [1] M. Ghasem, M. Mehdi, A Pareto approach to multi-objective flexible job-shop scheduling problem using particle swarm optimization and local search, International Journal of Production Economics 129 (1) (2011) 14–22. [2] S.M.K. Hasan, R. Sarker, D. Essam, D. Cornforth, Memetic algorithms for solving job-shop scheduling problems, Memetic Computing 1 (1) (2009) 69–83. [3] S.M.K. Hasan, R. Sarker, D. Essam, Genetic algorithm for job-shop scheduling with machine unavailability and breakdown, International Journal of Production Research 49 (16) (2011) 4999–5015. [4] A.-H. Nasr, T.Y. ElMekkawy, Robust and stable flexible job shop scheduling with random machine breakdowns using a hybrid genetic algorithm, International Journal of Production Economics 132 (2) (2011) 279–291. [5] S.A. Fahmy, S. Balakrishnan, T.Y. ElMekkawy, A generic deadlock-free reactive scheduling approach, International Journal of Production Research 46 (1) (2008) 1–20. [6] V. Subramaniam, A.S. Raheja, K.R.B. Reddy, Reactive repair tool for job shop schedules, International Journal of Production Research 43 (2005) 1–23. [7] J.H. Blackstone Jr., D.T. Phillips, G.L. Hogg, A state-of-the-art survey of dispatching rules for manufacturing job shop operations, International Journal of Production Research 20 (1) (1982) 27–45. [8] S.Q. Liu, H.L. Ong, K.M. Ng, Metaheuristics for minimizing the makespan of the dynamic shop scheduling problem, Advances in Engineering Software 36 (3) (2005) 199–205. [9] R.J. Abumaizar, J.A. Svestka, Rescheduling job shops under random disruptions, International Journal of Production Research 35 (1997) 2065–2082. [10] S.D. Wu, R.H. Storer, C. Pei-Chann, One-machine rescheduling heuristics with efficiency and stability as criteria, Computers and Operations Research 20 (1) (1993) 1–14. [11] R. Sarker, J. Kamruzzaman, C. Newton, Evolutionary optimization (EvOpt): a brief review and analysis, International Journal of Computational Intelligence and Applications 3 (4) (2003) 311–330.

1447

[12] T. Yamada, R. Nakano, Genetic algorithms for job-shop scheduling problems, in: Modern Heuristic for Decision Support, UNICOM Seminar, London, 1997, pp. 67–81. [13] J. Paredis, Exploiting constraints as background knowledge for genetic algorithms: a case-study for scheduling, in: Parallel Problem Solving from Nature 2, North-Holland, Amsterdam, 1992, pp. 229–238. [14] S. Lawrence, Job shop scheduling with genetic algorithms, in: First International Conference on Genetic Algorithms, Lawrence Erlbaum Associates, 1985, pp. 136-140. [15] H. Singh, T. Ray, R. Sarker, Optimum oil production planning using Infeasibility Driven Evolutionary Algorithm, Evolutionary Computation, in press. [16] S.G. Ponnambalam, P. Aravindan, P.S. Rao, Comparative evaluation of genetic algorithms for job-shop scheduling, Production Planning and Control 12 (2001) 560–674. [17] R. Nakano, T. Yamada, Conventional genetic algorithm for job shop problems, in: Fourth International Conference on Genetic Algorithms, Morgan Kaufmann, San Mateo, CA, 1991, pp. 474–479. [18] T. Yamada, Studies on Metaheuristics for Jobshop and Flowshop Scheduling Problems, Department of Applied Mathematics and Physics. Doctor of Informatics, Kyoto University, Japan, 2003, pp. 1–120. [19] F. Pezzella, G. Morganti, G. Ciaschetti, A genetic algorithm for the flexible jobshop scheduling problem, Computers and Operations Research 35 (10) (2008) 3202–3212. [20] S. Binato, W. Hery, D. Loewenstern, M. Resende, A GRASP for job shop scheduling, Kluwer Academic Publishers, 2000. [21] J. Adams, E. Balas, D. Zawack, The shifting bottleneck procedure for job shop scheduling, Management Science 34 (1988) 391–401. [22] E.H.L. Aarts, P.J.M. Van Laarhoven, J.K. Lenstra, N.L.J. Ulder, A computational study of local search algorithms for job shop scheduling, ORSA Journal on Computing 6 (1994) 118–125.