Lecture No 24

 

Held on : Monday, October 30, 2000

 

Notes by:  Priti Duggal (1997258)  &    Vipin Goyal (1997286)

                                                                                                         

 

 


FLOW SHOP SCHEDULING

 

Flow-Shop: It is a typical example of an assembly line. In a flow-shop, each of the n jobs must be processed through m machines in the same order, and each job is processed exactly once on each machine. Processing machines are placed in a sequence and the jobs move in sequentially across the processing machines. We will consider flow shop scheduling for two machines.

Example

 

Job                   Processing time on m/c-I                       Processing time on m/c-II

1                                  4                                                          7

2                                  6                                                          3

3                                  2                                                          3

4                                  7                                                          7         

5                                  8                                                          6

Makespan:   It is the time required to complete all n jobs.

 

To minimize makespan we use  JOHNSON’S PROCEDURE :

 

Step 1)             Determine the minimum processing time on either machine – eg. In the given example, it is 2 for Job-3 on m/c-I

 

Step 2 (a)         If the minimum processing time occurs on m/c-I, place the associated job in the first available position in the sequence. In our example Job-3 is placed in the first position. Proceed to Step-3.

 

Step 2 (b)         If the minimum processing time occurs on m/c-II, place the associated job in the last available position in the sequence. Proceed to Step-3.

 

Step 3)             Job sequenced in the step-2 is removed from consideration and the process of scheduling is repeated until all jobs are scheduled. Break ties arbitrarily.

 

In our example when the Johnson’s procedure is applied step by step, we get

< 3, _, _, _, _ >

< 3, _, _, _, 2 >

< 3, 1, _, _, 2 >

< 3, 1, _, 5, 2 >

< 3, 1, 4, 5, 2 >

Makespan = 30

 

Verification: This is the best possible solution. This can be proved by assuming any other scheduling. If there is any discrepancy, then we reach closer to the optimum solution by  switching the schedule plan at that point. The makespan will either get better or will remain the same each time. Therefore finally the scheduling given by this procedure will be the most optimum one.

 

Extension of Johnson’s method to three m/c s (A, B, C) :

If either            

                        min Ai >=  max Bi

Or                    min Ci >=  max Bi

Then                 define

                                    Ai’ = Ai + Bi

and       Bi’ = Bi + Ci

Solve the problem for two machines (A’ & B’) case.                

 

General Job Shop Scheduling:

There are no optimal rules or procedures for job shops with more than two machines and two jobs.

Consider the following example with 3 machines (A, B, C) and 6 jobs:

 

JOB                 Sequence & Processing times               Due Date

1                                  A (3), B (3), C (2)                                10

2                                  A (5), C (2)                                          13

3                                  B (4), A (4), C (3)                                12

4                                  B (3), C (5), A (2)                                18

5                                  C (5), B (4)                                          14

6                                  C (2), A (5), B (5)                                15

 

Scheduling may be based on simple rules such as:

 

a)  Earliest Due Date first (EDD):          priority is given to the job with the earliest due date. This ensures minimum delay.

 

b)  First Come First Served (FCFS):     priority is given to the processing of the job that arrived at the machine first. This minimizes largest waiting time.

 

c)  Least Slack First (LSF):       priority is given to the processing of the job with the least slack. Slack is the difference between due date and the work remaining on the job.

At time zero (0), the slack for Job-I is 10-(3+3+2) = 2

This minimizes the number of jobs that are tardy.

 

d)  Shortest Processing Time (SPT):      priority is given to the job with the shortest processing time on the machine under consideration.

 

e)  Least Work Remaining:        priority is given to the job with the least amount of total processing remaining to be done. This minimizes the total processing time of the remaining jobs.

 

GANTT CHARTS show the schedules developed using such rules.

Gantt Chart is prepared by determining the set of jobs waiting for each machine. If more than one job is waiting for a machine, a rule is used to process the next job. When the processing of a job on one machine is completed, the job is added to the waiting list for that m/c where it needs to be processed next.

 

Example:

EDD

 

 

 

 

5

 

 

 

 

10

 

 

 

 

15

 

 

 

 

20

 

 

 

 

25

m/c-A

1

1

1

2

2

2

2

2

3

3

3

3

6

6

6

6

6

-

-

-

4

4

 

 

 

m/c-B

3

3

3

3

1

1

1

5

5

5

5

4

4

4

-

-

-

6

6

6

6

6

 

 

 

m/c-C

5

5

5

5

5

6

6

1

1

2

2

-

3

3

3

4

4

4

4

4

-

-

 

 

 

 

 

SPT

 

 

 

 

5

 

 

 

 

10

 

 

 

 

15

 

 

 

 

20

 

 

 

 

25

m/c-A

1

1

1

2

2

2

2

2

6

6

6

6

6

3

3

3

3

4

4

 

 

 

 

 

 

m/c-B

4

4

4

1

1

1

3

3

3

3

5

5

5

5

6

6

6

6

6

 

 

 

 

 

 

m/c-C

6

6

5

5

5

5

5

1

1

2

2

4

4

4

4

4

-

3

3

3

 

 

 

 

 

 

Similarly other rules can be applied & then finally compared to look for the final optimum solution.

 

THE ASSIGNMENT PROBLEM :

Assigning n jobs to n machines in an optimal manner. These are a special case of transportation LP problems that have more efficient solution procedures.

Example:

A machine company has four machines and four jobs to be completed each m/c unit must be assigned to complete one job. The time required to set-up each machine for completing each job is as follows:

 

                                    Job I                Job II               Job III              Job IV

            M/C-I              14                    5                      8                      7

            M/C-II             2                      12                    6                      5

            M/C-III            7                      8                      3                      9

            M/C-IV           2                      4                      6                      10

 

Machine company wants to minimize total set-up time needed to complete the four jobs.           

Solution:

Define  Xij = 1   if machine ‘i’ is assigned to meet the demand of job ‘j’

                             = 0    otherwise

                                                   n      n

Objective function : å  å Cij * Xij

                                                  i=1   i=1

 n   

å  Xij = 1   " i

j=1

 n

å  Xij = 1   " j

i=1

An assignment problem is a balanced transportation problem ( if 0–1 constraint is ignored ) where all supplies and demands equal 1.

 

Solution via Hungarian Method :

Step 1) Find the minimum element in each row of (m x m)          cost matrix. Construct a new matrix by subtracting from each cost the minimum cost in its row. For this new matrix find the minimum cost in each column. Construct a new matrix by subtracting from each cost the minimum cost in its column.

 

 

 

 

 

Min

14

5

8

7

5

2

12

6

5

2

7

8

3

9

3

2

4

6

10

2

 

 

9

0

3

2

 

0

10

4

3

 

4

5

0

6

 

0

2

4

8

 

0

0

0

2

Min

 

 

9

0

3

0

0

10

4

1

4

5

0

4

0

2

4

6

 

Step (2):           Draw the minimum no. of lines (horizontal and/or vertical) that are need to cover all the zeroes in the reduced cost matrix. If m lines are required, an optimal solution is available amongst the covered zeroes in the matrix. If fewer than m lines are required, proceed to step(3).

 

Step (3):           Find the smallest non-zero element (call it k) in the reduced cost matrix that if uncovered by lines drawn in step (2). Now subtract k from each uncovered element of the reduced cost matrix and add k to each element that is covered by 2 lines. Return to step(2).

 


9

0

3

0

0

10

4

1

4

5

0

4

0

2

4

6

 

3 lines < 4

Smallest uncovered element equals 1

Subtract 1 from each uncovered element and add 1 to twice covered elements.

The resulting matrix is

 


10

0

3

0

0

9

3

0

5

5

0

4

0

1

3

5

 

4 lines are now needed

Only covered 0 in row 3 is x33 ie. x33 = 1

Similarly x12 = 1 Þ x14 = 0 Þ x24 = 1 Þ x21 = 0 Þ x41 = 1

 

Intuitive Justification:

If a constant is added to each cost in a row, or column, of a balanced transportation problem, the optimum solution to the problem remains unchanged.

New objective function = old objective function + k *(x11 + x12 + x13 + x14)

                                      = old objective function + k

Step(3) is equivalent to adding k to each cost that lies in a covered row and subtracting k from each cost that lies in an uncovered column.

 

 

 

 

 

Hosted by www.Geocities.ws

1