Vous êtes sur la page 1sur 27

Sequencing Problem

Introduction
The selection of an appropriate order for a series of jobs to be done on a finite number of service facilities, in some pre-assigned order, is called sequencing. A practical situation may corresponds to an industry producing a number of products, each of which is to be processed through different machines, of course, finite in number. The general sequencing problem may be defined as: Let there be n jobs to be performed one at a time on

Introduction
on each of m machines. The sequence (order) of the machines in which each job should be performed is given. The actual or expected time required by the jobs on each of the machines is also given. The general sequencing problem, therefore, is to find the sequence out of (n!)m possible sequences which minimize the total elapsed time between the start of the job in the first machine and the completion of the job on the last machine.

Assumptions
Each job once started on a machine, is to be performed up to completion on that machine. The processing time on each machine is known. Such a time is independent of the order of the jobs in which they are to be processed. The time taken by each job in changing over from one machine to another is negligible.

Assumptions
A job starts on he machine as soon as the job and the machine both are idle and job is next to the machine and the machine is also next to the job. No machine may process more than one job simultaneously. The order of completion of job has no significance, i.e. no job is to be given priority. The order of completion of jobs is independent of sequence of jobs.

Basic Terms
Number of Machines: It refers to the no. of service facilities through which a job must pass before it is assumed to be completed. Processing Order: It refers to the order (sequence) in which given machines are required for completing the job. Processing Time: It indicates the time required by a job on each machine.

Basic Terms
Total Elapsed Time: It is the time interval between starting the 1st job and completing the last job including the idle time in a particular order by the given set of machines. Idle time on a machine: It is the time for which a machine does not have a job to process, i.e. idle time from the end of job (i-1) to the start of job i.

Basic Terms
Processing Time: It indicates the time required by a job on each machine. No passing rule: It refers to the rule of maintaining the order in which jobs are to be processed on given machines.

Processing n jobs through 2 machines


Let there be n jobs, each of which is to be processed through 2 machines, say M1 & M2 in the order M1M2. That is, each job has to pass through the same sequence of operations. Or, a job is assigned on M1first and after it has been completely machine M1, it is assigned to machine M2. If the machine M2 is not free at the moment for processing the same job, then the job has to wait in a waiting line for its turn on machine M2 (no passing).

Processing n jobs through 2 machines


Let tij (i=1,2 and j=1,2,,n) be the time required for processing jth job on the ith machine. Since passing is not allowed, therefore machine M1will remain busy in processing all the n jobs one by one while machine M2 may remain idle after completion of one job and before starting of another job. Thus the objective is to minimize the idle time od the 2nd machine.

Processing n jobs through 2 machines


Let X2j be the time for which machine M2 remains idle after finishing (j-1)th job and before starting processing jth job (j=1,2,,n). Total Elapsed Time (T) is
n n 2

t
!1


!1

The problem is to minimize T. However, since t 2 !1 is the total time for which machine M2has to work and is thus fixed, it does not form a part of the optimization problem.

Processing n jobs through 2 machines


n

Thus the problem reduces to that of minimize


!1

A convenient procedure for obtaining a sequence of performing jobs to minimize is well illustrated by the following Gantt Chart:
n 2
!1

t11

t12

t13

t14

t15

t1n

M1 M2
X21 t21 X22 t22 X23 t23 X24 t24 X25 X2n t2n

Time taken in hours

From the chart, it is clear that


21

! t 11 t 11  t 12  ! 0 !
21

X 22

 t 21 may be
21

t 11  t 12 " other ise

21

 t 21

Thus expression
22

or

22

ritten as :  t 21 , 0a ! t 11
22

ax. _ 11  t 12  t !

Thus
21


23

22

ax. _ 11  t 12  t 21 , t 11 a since t ,
21 2 3 ax. t 1  t 2 !1 !1 2 3 ax. t 1  t 2 !1 !1

21

imilarly,
21

! 

ax. _ 11  t 12  t 13  t 21  t 22  t
23


2

, 0a

22

2 , !1

, t 11

1 2 , t 1  t 2 !1 !1

In General,
n

!1

n-1 n-2 n n-1 ax. t1  t 2 , t1  t 2 ,...., t11 !1 !1 !1 !1

Optimum sequence Algorithm


List the jobs along with their processing times in a table.
Job umber
1 2

: : :

J1 t 11 t 21

J2 t 12 t 22

J 3 .......... J n t 13 .......... t1n t 23 .......... t 2n

Processing Time on machine

Examine the rows for processing times on machines M1 and M2, and find the smallest processing time in each row, i.e. find out min.(t1j, t2j) for all j.

Optimum sequence Algorithm


If the smallest processing time is for the first machine M1, then place the corresponding job in the 1st available position in the sequence, otherwise place 2nd machine M2. If there is a tie in selecting the minimum of all the processing times, then there may be 3 situations 1. Minimum among all processing times is same for the machines, i.e., min.(t1j, t2j)= t1k = t2r, then process the kth job first and the rth job last.

Optimum sequence Algorithm


2. If the tie for minimum occurs among processing times t1j on machine M1 only, then select arbitrarily the job to process first. 3. If the tie for minimum occurs among processing times t2j on machine M2, then select arbitrarily the job to process last. Cross off the jobs already assigned and repeat steps 1 through 4, placing the remaining jobs next to first or next to last, until all the jobs have been assigned.

Optimum sequence Algorithm


Calculate idle time for machines M1 and M2: Idle time for M1 = Total elapsed time (time when the last job in a sequence finishes on M1. Idle time for M2= Time at which the 1st job in a sequence finishes on M1 + (time when the jth job in a sequence starts on M2) {(time when the (j1)th job in a sequences finishes on M2)}
n j! 2

The total elapsed time to process all jobs through 2 machines as under:

Total elapsed time= Time when the nth job in a sequence finishes on machine M2.
Total elapsed time ! Time when the nth job in a sequence finishes on machine M 2
n j! 2 n j! 2

! t 2j  I 2j Where, t 2j I 2j ! Time required for processing jth job on machine M 2 ! Time for which machine M 2 remains idle after processing (j - 1)th job and before starting work on jth job.

Example
In a factory, there are six jobs to perform, each of which should go through 2 machines A & B, in the order A, B. The processing timings (hrs) for the jobs are given here. You are required to determine the sequence for performing the jobs that would minimize the total elapsed time, T. What is the value of T?
Job : Processing Time on machine : : J1 1 5 J2 3 6 J3 8 3 J4 5 2 J5 6 2 J6 3 10

Solution
The smallest processing time in the given problem is 1 on machine A. So, perform J1 in the beginning. The reduced set of processing times becomes
Job rocessing Time on machine B : A: : J2 3 6 J3 8 3 J4 5 2 J5 6 2 J6 3 10

The min. processing time in this reduced problem is 2 which corresponds to J4 & J5 both on machine B. Since the corresponding processing time of J5 on machine A is larger than the processing time of J4 on machine A, J5 will be processed in the last and J4

Solution
shall be processed next to last. The updated job sequence is
J1 J4 J5

The remaining processing times are:


Job : J2 3 6 J3 8 3 J6 3 10 : Processing Time on machine :

Now, there is a tie among 3 jobs for the smallest processing time in this reduced problem. These corresponds to J2 and J6 on machine A, and to

Solution
J3 on machine B. As the corresponding processing time of J6 on machine B is larger than the corresponding processing time of J2 on machine B, J6 will be processed next to J1 and J2 should be placed next. The updated job sequence is:
J1 J6 J2 J3 J4 J5

The sequence is optimum one. The total elapsed time is calculated below:

Job

Machine A In Out 0 1 4 7 15 20 1 4 7 15 20 26

Machine B In Out 1 6 16 22 25 27 6 16 22 25 27 29

Idle time on B 1 ------

J1 J6 J2 J3 J4 J5

T=29 hrs

Solution
Idle time of machine A is 29-26 = 3 hrs and Idle time of machine B is 1 hr The Gantt chart for the above problem is

Gantt Chart

J1 J6 J2

J3

J4

J5

A B
J1
X21

J6

J2

J3

J4

J5

10

12

14

16

18 20 22 24 26 28 30