# SCHEDULING

Presented by: Vishakha Jain PG-11-082 Harish Mordani PG-11Vikram

INTRODUCTION
• Scheduling is the allocation of starts and finish time to each particular order. Therefore scheduling can bring productivity in shop floor by providing a calendar for processing a set of jobs. • The single machine-scheduling problem consists of n jobs with the same single operation on each of the jobs, • while the flow shop-scheduling problem consists of n jobs with m operations on each of the jobs. In this problem, all the jobs will have the same process sequences. • The job shop scheduling problem contains n jobs with m operations on each of the jobs; but, in this case, the process sequences of the jobs will be different from each other.

Basic data necessary to describe job
• Processing time (tj ): It is the time required to process job j. • Ready time (rj ): It is the time at which job j is available for processing. • Due date (dj ): It is the time at which the job j is to be completed. • Completion time (Cj ): It is the time at which the job j is completed in a sequence. • Flow time (Fj ): It is the amount of time job j spends in the system. It is the difference between the completion time and the ready time of the job j. i.e. Fj = Cj – rj. • Makespan : total time to completely process all jobs. • Lateness (Lj): It is the amount of time by which the completion time of job j differs from the due date (Lj = Cj – d). Lateness can be either positive lateness or negative lateness. Positive lateness of a job means that the job is completed after its due date. Negative lateness of a job means that the job is completed before its due date.

Scheduling Solutions
• In Order to begin to attempt to develop • solution, break the problem in categories: 1. N jobs, 1 machine 2. N jobs, 2 machines (flow shop) 3. N jobs, 2 machines (any order) 4. N jobs, 3 machines (flow shop) 5. N jobs, M machines

• Some more types of Operations Scheduling are:
– 1. Forward operations scheduling – 2. Backward operations scheduling –

• Forward operations scheduling – a. Classified on the basis of the time. b. All the activities are scheduled from the date of the planned order release. c. First task of the job is scheduled. d. Its subsequent task is scheduled on the scheduled completion of the first task. e. Like this, accordingly all the tasks of the job are scheduled.

• Backward operations scheduling – a. Also classified on the basis of the time. b. Activities are scheduled from the date or the planned receipt date. c. The last activity is scheduled first. d. Time of the start of the last task is considered as the time for the start of the previous activity.

CONCEPT OF SINGLE MACHINE SCHEDULING
The basic single machine scheduling problem is characterized by the following conditions: • A set of independent, single-operation jobs is available for processing at time zero. • Set-up time of each job is independent of its position in jobs sequence. So, the set-up time of each job can be included in its processing time. • Job descriptors are known in advance. • One machine is continuously available and is never kept idle when work is waiting. • Each job is processed till its completion without break.

SHORTEST PROCESSING TIME (SPT) RULE
• In single machine scheduling problem, sequencing the jobs in increasing order of processing time is known as the shortest processing time (SPT) sequencing. • Sometimes we may be interested in minimizing the time spent by jobs in the system. This, in turn, will minimize the in-process inventory. Also, we may be interested in rapid turnaround/throughput times of the jobs. The time spent by a job in the system is nothing but its flow time, and the ‘rapid turnaround time’ is its mean flow time (F). • Shortest processing time (SPT) rule minimizes the mean flow time.

• ILLUSTRATION 1: Consider the following single machinescheduling problem.

Find the optimal sequence, which will minimize the mean flow time and also obtain the minimum mean flow time.

• •

No. of jobs = 5 Arrange the jobs as per the SPT ordering
Job ( j ) Processing time ( t ) 2 4 3 5 5 8 4 14 1 15

• •

Therefore, the job sequence, which will minimize the mean flow time, is 2-3-5-4-1. Computation of Fmin

Since, the ready time rj = 0 for all j, the flow time (Fj) is equal to Cj for all j. = ∑ F j = (4 + 9 + 17 + 31 + 46)/5 = (107/5) = 21.4 hours Therefore, the optimal mean flow time = 21.4 hours.

EARLIEST DUE DATE (EDD) RULE
• The lateness (Lj) of a job is defined as the difference between the completion time and the due date of that job. Lj can be either positive or negative values. L j = C j – dj • The maximum job lateness (Lmax) and the maximum job tardiness (Tmax) are minimized by Earliest Due Date sequencing. In a single machining scheduling problem, sequencing of jobs in increasing order of due date is known as ‘Earliest Due Date Rule’.

• ILLUSTRATION : Consider the following single machine scheduling problem:

Determine the sequence which will minimize the maximum lateness (Lmax). Also, determine Lmax with respect to the optimal sequence.

• ILLUSTRATION : • Arrange the jobs as per EDD rule (i.e. in the order of their due dates). The EDD sequence is 2-4-3-1-5-6.This sequence gives a minimum value for Lmax.

• From the table, the maximum is 35. This is the optimal value for Lmax. The Lmax of any other non- EDD sequence will not be less than 35.

MINIMIZING THE NUMBER OF TARDY JOBS
• If a job is completed beyond its due date, then it is called tardy job; otherwise it is called nontardy job. • In many organizations, the objective may be to minimize the total number of tardy jobs. • This algorithm gives optimal sequence, which will result in minimum number of tardy jobs (NT).

HODGSON’S ALGORITHM TO MINIMIZE NT
• Step 1: Arrange the jobs in EDD order and assume this, as set E. Let set L be empty. • Step 2: If no jobs in E are late, then stop. Find the union of E and L (Note: The remaining jobs in E should be in EDD order. But the jobs in L can be in any order); otherwise, identify the first late job in E. Let it be job K. • Step 3: Identify the longest job, among the first K jobs in the sequence. Remove this job from E and place it in L. Revise the completion times of the jobs remaining in E and return, to Step 2. • This algorithm is demonstrated using the following problem.

• How should the projects be sequenced in order to maximize net revenues?

• Step 1: The earliest due date order is shown below:
6

• Place the above sequence of projects which is in EDD order in set E. Therefore, Set E = (1, 2, 5, 6, 4, 7,3) Set L = (Empty).

In the above table, in the last row, 0 means that the project is non tardy and 1 means that the project is tardy. As per the sequence in the set E, there are five tardy projects. The first tardy project is 5, which is in the third position [3]. Step 3: The project with the largest duration among the first-three projects in the sequence is 5. Remove this project and append it to L. Therefore L = {5} E = {1, 2, 6, 4, 7, 3}.

• The completion times of the projects in the set E are revised as shown below:

Step 2: From Step 3, it is clear that there are three tardy projects. The first tardy project is 4, which is in the fourth position of the sequence in the set E. Step 3: The project with the longest duration among the firstfour projects is 6. Remove the project-6 from the set E and append it to the set L. Therefore E = {1, 2, 4, 7, 3} L = {5, 6}.

• The completion times of the projects in the set E are revised as shown:

Step 2: From the table shown in Step 3 it is known that there are two tardy projects. The first tardy project is 7, which is at the fourth position in the set E. Step 3: The project with the longest duration. Among the firstfour projects in the set E are 7. Remove this job from the set E and append it to the set L. E = {1, 2, 4, 3} L = {5, 6, 7}.

• The completion times of the projects are revised as shown below:

Step 2: From the table in the previous step, it is clear that all the projects are non-tardy jobs. Hence, we reached the optimal sequence in E. Now merge E and L to get the complete sequence. Final sequence = E L={1,2,4,3,5,6,7} In the above optimal sequence, total number of tardy projects is 3, which is the minimum value.

Gantt Chart
• Simple graphical display technique – suitable for less complex situations • This does not provide any rules for choosing but simply presents a graphical technique for displaying results (and schedule) and for evaluating results (makespan, idle time, waiting time, machine utilization, etc.)

Example of Gantt Chart (I)
• 5 jobs, 2 machines, each job must first go to machine 1, and then 2 – without changing order. Processing times are:

• Assume order jobs are worked is {3,2,4,5,1}

• Here we assume setup time is included in process time. Makespan = 28 • Machine 1 has no idle time except 3 units at end of day Machine 2 has 3 units of idle time plus 1 unit at beginning of day. Jobs 2, 4 and 5 wait a total of 6 units at machine 2

2 Jobs, m Machines
Step 1: Construct a two dimensional graph in which x-axis represents the job 1, its sequence of operations and their processing times, and y-axis represents the job 2, its sequence of operations and their processing times (use same scale for both x-axis and y-axis). Step 2: Shade each region where a machine would be occupied by the two jobs simultaneously. Step 3: The processing of both jobs can be shown by a continuous line consisting of horizontal, vertical and 45 degree diagonal lines. The line is drawn from the origin and continued to the upper right corner by avoiding the regions. A diagonal line means that both jobs can be performed simultaneously. So, while drawing the line from the origin to the top right corner, we should try to maximize the length of diagonal travel (sum of the lengths of 45 degree lines), which will minimize the makespan of the problem.

• ILLUSTRATION

• SOLUTION:

Job2

Job 1

Based on Figure and Table one can easily observe that the total idle for job1 is 5 hours (2+3). Hence the total for completing the job 1 is its sum of the processing times plus its idle time, i.e. 17 hrs + 5hrs = 22 hrs. For job 2, there is no idle time. Hence the total time taken to complete the job 2 is its sum of the processing times, i.e. 20 hrs. The makespan is the maximum of these two quantities. Therefore, Max (22,20) = 22 hrs.

N jobs, 2 machines, flow shop
• These jobs must go to machine 1 first and 2 second – The minimum makespan is determined using Johnson’s Algorithm • Let Pij = Processing time for job i on machine j

JOHNSON’S PROBLEM
• For a problem with 2 machines and n jobs, Johnson had developed a polynomial algorithm to get optimal solution, i.e., in a definite time, one can get the optimal solution.

• Johnson’s Algorithm
Step 1: Find the minimum among various ti1 and ti2. Step 2a: If the minimum processing time requires machine 1, place the associated job in the first available position in sequence. Go to Step 3. Step 2b: If the minimum processing time requires machine 2, place the associated job in the last available position in sequence. Go to Step 3.

Step 3: Remove the assigned job from consideration and return to Step 1 until all positions in sequence are filled. (Ties may be broken randomly.)

• Consider the following two machines and six jobs flow shopscheduling problem. Using Johnson’s algorithm, obtain the optimal sequence, which will minimize the makespan.

SOLUTION: The workings of the algorithm are summarized in the form of a table, which is shown below:

• •

The optimal sequence is 2-5-3-6-1-4. The makespan is determined as shown below. In the following table: [Time-in on M/c 2 = max [M!c 1 Time-out of the current job, M/c 2 Time-out of the previous job]

The makespan for this schedule is 53.

• Consider a ‘three machines and n jobs’ flow shop scheduling problem as

Extension of Johnson’s Rule

• In the above table, Min (ti1)=6Max (ti2) = 6 Since the condition min (ti l) ≤ max (ti 2) is satisfied, we can extend the Johnson’s algorithm to this problem. So the modified problem may be given as follows:

• The following is the optimal sequence for the above problem: 3-2-5-1-4 • The make span of the above sequence is determined as shown below:

• The makespan for this problem is 51 units of time.

Scenerio 2
• This problem has 4 jobs. Hence, 4! sequences are possible. Unlike in single machine scheduling, in flow shop scheduling, inserted idle time would minimize the makespan

• If the sequence of the job is 2-1-4-3, then the corresponding make span is computed as shown in above fig. • Here the make span is 25. Also, note the inserted idle times on machine 2 are from 0 to 3, 4 to 8 and 12 to 15.

• Consider another sequence say 3-4-1-2. The Gantt chart for this sequence is shown in above Fig. • The make span for the schedule in Fig. is 26. The machine 2 has idle time from 0 to 6 and from 8 to 13.

• In the above two sequences, 2-1-4-3 and 3-41-2, the first sequence has lesser makespan. Like this, one can enumerate all 4! sequences, then select the sequence with the minimum makespan as the optimal sequence. Since, n! grows exponentially with n, one needs some efficient procedure to solve the problem. For large size of n, it would be difficult to solve the problem. Under such situation we can use some efficient heuristic.

N Jobs, M Machines
• Number of possible schedules is extremely large, (n!)^m. • Almost all solved by heuristics which are based on sequencing or dispatching rules.

N Jobs, M Machines
• R (Random) – Pick any Job in Queue with equal probability. This rule is often used as benchmark for other rules • FCFS (First Come First Serve) – Jobs are processed in the order in which they arrived at the work center (also called earliest release date) • SPT (Shortest Processing Time) –This rule tends to reduce both work-in-process inventory, the average job completion (flow) time, and average job lateness. • EDD (Earliest Due Date) – Choose Job that has earliest due date • CR (Critical Ratio) = Processing Time / Time until due (Due Date – Current Time). Take the highest value. • LWR (Least Work Remaining) – This rule is an extension of SPT variant that considers the number of successive operations • ST (Slack Time) = Time until job is due - (Sum of processing time remaining). Take the job with the smallest amount of slack time.