Developing Multistage Heuristic Algorithm to Minimize Idle Time and Make Span in Job Shop Scheduling

The behavior and pe rformance of job shops have been the fo cus a nd attention in both ope rations research and operations ma nagement literature. Job shop sc heduling has r eceived this larg e amo unt of a ttention, be cause i t has t he p otential to dramatically decrease costs and increase throughput, thereby, profits. Moreover, the i ncreasing of prod uct customization creates m ore job shop environment in ma nufacturing w orld. No doubt, a wide variety of approaches to the modeling and solution of job shop scheduling problems hav e been reported in the literature. But, the research in this area is continuous. In this paper, Multistage Heuristic A lgorithm ba sed on pr iority dispatching rules is developed. This algorithm has been i mplemented to solve three cases. Schedules generated have been compared with those obtained by means of the basic algorithm. As a result, Multistage Heuristic Algorithm s hows the abilit y of m inimizing: machines idle time, total time of machines and makespan.


Introduction
When we call a factory a "job shop", it means that this factory processes several jobs using shared recourses and the flow of raw and unfinished goods through it is completely random [1].The increasing of product customization creates more job shop environment in manufacturing world.Over the years, the behavior and performance of job shops have been the focus and attention in literature.Recently, research papers on topics such as factory layout, inventory control, process control, production scheduling, and resource utilization can be found in almost every issue of every related journal.The most popular of these topics is production scheduling.It is often referred to as job shop scheduling.Obviously, job shop scheduling has received this large amount of attention, due to its potential to dramatically decrease costs and increase throughput, increase machines utilization, and increase profits as a result.No doubt, a large number of approaches to the modeling and solution of these job shop scheduling problems have been reported in the literature, with varying degrees of success [1].The main problem is to schedule the jobs so that the makespan, the time when all jobs have been completed, is minimized Obviously, various other objectives such as; minimizing total tardiness, minimizing total completion time, minimizing total flow time, etc., can be considered [3].Generally, in job-shop we have a set of jobs that must be processed on a set of machines.A job consists of a sequence of operations, each of which is to be processed on a specific machine for a specified integral amount of time.Any job can have more than one operation on a given machine.The operations of a job must be processed in the given sequence, and a machine can process at most one operation at any given time.Therefore, routings in job shop environment is very complicated.Practically, the numerous variables and constraints involved in job shop scheduling, complexity of its large solution space and its multi-criteria objective function make the problem difficult.The complexity of the problem can be seen from the fact that when n jobs go through m machines there are ( n !) m possible schedules, hence if ( n=20 and m=10) then the number of schedules is 7.2651x10 183 [4].This problem is a class of NP-Hard (Nondeterministic Polynomial time) ones that cannot be optimally solved for large-scale problems in a reasonable amount of computational time [5].For this reason, great deals of researches develop and work on heuristic methods to find near-optimal solutions.In general to solve such problems, typical methods are introduced as: priority dispatching rules [6], branch and bound method [7], local searching algorithm [5], PDF created with pdfFactory Pro trial version www.pdffactory.comdynamic programming [8], expert systems [9], genetic algorithms [10], simulation models [11], rolling horizon procedure [10], simulated annealing [13], tabu search, fuzzy logic, and neural network [1].In addition to the above methods, hybrid methods can be also proposed such as, local search and simulated annealing algorithms [14] and fuzzy and priority dispatching rules algorithms [15].No doubt, many other methods have been reported in literature.

Types of Schedules
Practically, for any job shop problem, there is infinite number of possible feasible schedules, because one can insert arbitrary amount of idle time at any machine between adjacent pairs of operations.This type of schedule is called the total possible schedules [16].When the start time of a particular operation is constrained either by processing a different job on the same machine or by processing the directly preceding operation on different machines, this called semiactive schedule.The set of active schedules dominates the set of semiactive schedules in terms of optimizing any regular measure of performance.In the case, no machine is kept idle at a time when it could begin processing some operation then it is called a non-delay schedule [17].The different types of schedules and relative sizes between them are illustrated in the Venn diagram shown in figure (1).

Heuristic Dispatching Rules
Although, a large number of approaches to the modeling and solution of job shop scheduling problems have been reported in the literature, but practically heuristic dispatching rules has been extensively applied to the scheduling problems in job shop manufacturing comparing with the other approaches.These rules have strong advantages in that these are easy to understand, easy to apply, and require relatively little computing time.But, the primary disadvantage is that these cannot hope for an optimal solution [9].Obviously, the terms dispatching rules, scheduling rules, sequencing rules, or heuristics are often used synonymously in literature [19].There are enormous heuristic dispatching rules that have appeared in literature and practice, each can be used in scheduling jobs [20] [21].The most popular rules are listed and described in table (1).No doubt, there are many other rules in practice.The most well known and comprehensive survey of scheduling heuristics is carried out by Panwalker and Iskander [19], where 113 rules are presented, reviewed and classified.

The Basic Algorithm for Job Shop Scheduling
Practically, in all above heuristic rules the basic algorithm for dispatching is as below: Assume that machine m * become idle, and denote J * as set of jobs in the system that require to use of m * .J * may contain jobs that are waiting in the line at m * .Jobs elsewhere in the system in line or being processed that eventually use m * , and jobs that will soon be released to the jobs that use

4792
Step 1: Compute the set J * of jobs that will be under consideration for processing next on m * .
Step 2: For each job j J * , compute a priority index (according to the rules that mentioned in the previous section).
Step 3: The next job on J * is the job with best priority index value.
If that job is immediately available, than start processing, otherwise keep m * idle until the job arrives.
In the other hand, Panneerselvam [16] recommended five steps to generate active or non-delay schedule.These steps are as follows: Let. P i be a partial schedule containing i scheduled operations S i the set of schedulable operations at stage i, corresponding to a given P i p j the earliest time at which operation j S i could be started, and q j the earliest time at which operation j S i could be completed p j is determined by the completion time of the direct predecessor of operation j and the latest completion time on the machine required by operation j.The larger of these two quantities is p j .The potential finish time q j is simply p j + t j , where t j is the processing time of operation j.Hence, for a given priority rule R, a heuristic schedule generation is as in the following five steps: Step 1: Let t = 0 and assume p t = { }.
S t = {all operations with no predecessors}.
Step 2: determine q * = min j Si { q j } and the corresponding machine m * on which q * could be realized.
Step 3 : For each operation which belongs to S t that requires machine m * and satisfies the condition p j ‹ q * identify an operation according to a specific priority and add this operation to p t as early as possible, thus creating only one partial schedule, p t+1 for the next stage.
Step 4: For each new partial schedule, p t +1 created in step 3, update the data set as follows: a. Remove operation j from S t. b.Form S t +1 by adding the direct successor operation j to S t. .c. Increment t by one.
Step 5: repeat from step 2 to step 4 for each p t +1 created in step 3 and continue in this manner until all active schedules are generated.Similarly, another heuristic can be devised for the non-delay schedule generation by replacing p j ‹ q * with p j = q * in step 3.

The Developed Algorithm
In practice, whenever there is a conflict (tie) in selecting an operation among competing operations, we will have to use a new priority rule as (tie breaker).Sometimes, priority rules are needed as tie breakers in more than one level.Neglecting resolving such conflicts is the main drawback of Askin and Goldberg algorithm.
PDF created with pdfFactory Pro trial version www.pdffactory.comFurthermore, the idea of keeping a machine idle while waiting for job, which is followed in both algorithms, may seem a bit odd.Practically, both predecessor algorithms may lead to make one machine or more idle.Hence, a loss in machines utilization will be resulted.These machines can be loaded with other jobs by adjusting the start time of some operations towards left without affecting the sequence of operations to fill the non loaded times or in other words, filling the spaces on the Gantt chart.In order to treat these weaknesses, the researcher developed a new algorithm.This algorithm is called Multistage Heuristic Algorithm.It aims to minimize makespan, and machines idle time.As a result it will maximize machines utilization.Moreover, this algorithm aims to resolve ties in any job shop problem.The developed algorithm is based on a set of assumptions similar to that of the previous two algorithms but it uses three priority rules ( R 1 , R 2 , and R 3 ).The first is the basic priority rule while the other two as tie breakers, to resolve any conflict in selecting an operation among competing operations whenever it exist.Scheduling by Multistage Heuristic Algorithm passes through the following steps: Step 1 : Enter data which contain number of jobs j, number of machines m, total number of operations to be scheduled n, process time for each operation t ij , and operations sequence of each job.
Step 2: For each job, select the first operation depending on operations sequence.
Step 3 : Group and list the first operations with their corresponding machines.
Step Step 7 : For all none scheduled operations repeat the steps from step 2 to step 6 until all operations are scheduled.The flow chart in Figure ( 2) illustrates the logic of Multistage Heuristic Algorithm.

Cases for Implementation and Comparison
This section is devoted to present three cases.The problems of these cases are solved first by means of the basic algorithm.For comparison, these problems are solved by implementing the developed Multistage Heuristic Algorithm next.All schedules which are obtained by means of these algorithms are represented in a form of Gantt charts in order to make the comparison easy and clear.Case 1 This case is an example given and solved in details in reference [21].This solution is done by means of the basic algorithm for job shop scheduling and according to Askin and Goldberg`s three steps for sequencing jobs on machines where LWR rule is used as priority rule.This case and the obtained schedule are shown in table (2) and figure (3) respectively.In fact, any try to solve this example with the same algorithm and steps but with using MWR rule instead of LWR, will lead to a tie (conflict).Hence, the solution can never be continued.A solution try and the tie are shown in table (3).Ties problem has been explained in the predecessor paragraph.

Case 2
This case is an example given in reference [16] and shown in table (4).The solution of this example is given in the same reference and carried out according to the steps that recommended by Panneerselvam for sequencing jobs on machines.The obtained schedule is shown in figure (4).

Case 3
This case is an example given in reference [4] and shown in table (5).This example has been solved by means of both Askin and Goldberg steps, and Panneerselvam`s steps in order to compare the obtained results together with that obtained by the developed Multistage Heuristic Algorithm.The obtained schedule when Askin and Goldberg`s three steps are applied is shown in figure (5).Note that LWR rule is used in solution.Similarly to case 1, any attempt to solve this example with the same steps but with MWR rule, will lead to a tie (conflict).The obtained schedule when Panneerselvam`s steps are applied in solving this example is shown in figure (6).Practically, the examples of the above three cases are solved by means of the developed Multistage Heuristic Algorithm.The obtained schedules for these examples are given as Gantt charts in figure (7), figure (8), and figure (9).Moreover, the detailed steps of calculations are given in table (6), table (7), and table (8).

Results and Discussion
In order to have a detailed and clear discussion, the results of each case will be discussed one by one in the following paragraphs.

Case 1
From figure (3) and figure (7) it is clear that in this case, the total idle time of machines has been reduced from 30 in the original schedule (Askin and Goldberg steps) to 18 when the developed algorithm is applied.Hence, the total time of machines has been reduced from 130 to 118.As result, makespan also reduced from 54 to 44.These results of this case and the details of each machine are summarized in table (9).

Case 2
Referring to figure (4) and figure (8) the total time of machines in this case has been reduced from 36 in the original schedule to 33 when the developed algorithm is applied while makespan is not reduced from its original value 13.In fact makespan not changed because machines 2 and 3 are fully loaded and there is no idle time to be reduced.But, the idle time of machine 1 has been reduced from 4 to 1.The results and its details of this case are summarized in table (10).

Case 3
From figure (5), figure (6) and figure (9) we can be notice that the total idle time in case 3 has been reduced from 19 in the schedule with Askin and Goldberg steps and 16 with Panneerselvam`s steps to 15 when the developed algorithm is applied.Hence, total time of machines has been reduced from 61 in the schedule with Askin and Goldberg steps and 58 with Panneerselvam`s steps to 57 when the developed algorithm is applied.As result, Makespan reduced from 24 in the schedule with Askin and Goldberg steps and 22 with Panneerselvam`s steps to 21 when the developed algorithm is applied.
All results and its details of this case are given and summarized in table (11).

Conclusions
Research in job shop scheduling area doesn't stop yet and still there is a room for improvement.A Multistage Heuristic Algorithm has been developed and presented in this paper.This algorithm aims to minimize machines idle time, makespan, and reducing machines time.The performance of this algorithm has been tested through implementing it in solving three cases and comparing the results with those obtained when basic algorithm is applied.The result of comparison was positive and the test proofs the effectiveness of the Multistage Heuristic Algorithm since it shows ability to; reduce the total idle time of machines, reduce total time of machines, and reduced the makespan.Moreover, this algorithm shows an ability to resolve ties whenever exist in any job shop problem.

Future Work
Further research will focus on designing a computer aided system based on the developed multi stage heuristic algorithm, to provide an ease, fast and accurate tool to help users in solving job shop scheduling problems, especially when these problems are large.

References
m * .Askin and Goldberg [21] listed the following three steps for sequencing jobs on the machines: PDF created with pdfFactory Pro trial version www.pdffactory.comEng.& Tech.Journal, Vol.28, No.14, 2010 Developing Multistage Heuristic Algorithm to Minimize Idle Time and Makespan in Job Shop Scheduling .

Journal, Vol.28, No.14, 2010 Developing Multistage Heuristic Algorithm to Minimize Idle Time and Makespan in Job Shop Scheduling . 4794
PDF created with pdfFactory Pro trial version www.pdffactory.comEng.& Tech.