Anda di halaman 1dari 9




In flow shop scheduling problem there are n jobs; each requires

processing on m different machine. The order in which the m/c is required to process a job is call
process sequence of that job. The process sequences of all the job are the same. But the processing
times for various jobs on a ma/c may differ. If an operation is absent in a job, and then the
processing time of the operation of that job is zero.

The flow- shop scheduling problem can be problem can be characterized.

1. A set of multiple-operation jobs is available for processing at time zero.

2. Set –up time for the operation are sequence independent, and are included in processing
3. Job descriptors are known in advance.
4. m different m/c are continuously available.
5. Each individual operation of jobs is processed till its completion without break.

The main difference of the flow shop scheduling from the basic single
scheduling is that the inserted idle time may be advantageous in flow shop scheduling. Though the
current machine is free, if the job from the previous m/c is not released to be idle for some time.
Hence inserted idle time on some machine would lead to optimality.

For example consider the following flow-shop problem.

Machine number-1 Machine number-2

1 5 4
2 3 1
3 6 2
4 7 8

If the sequence of the job is 2-1-4-3, then the corresponding makespan is computed as
shown in fig.

In fig. , the makespan 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 fig.


The makespan for the schedule in fig. is 26. The m/c 2 has idle time
from 0 to 6 and from 8 to 13.

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.

In the above two sequences, 2-1-4-3 and 3-4-1-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 efficult heuristic.

As mention in the earlier section, time complexity function for a

general flow shop problem is exponential in nature. This means, the function grows
exponentially with an increase in the problem size. But for a problem with 2 machines and
n jobs. Johnson had developed had a polynomial algorithm to get optimal solution in a
definite time one can get the optimal solution.
Consider the following flow shop problem.


i 1 2
1 t11 t12
2 t21 t22
3 t31 t32
: : :
I ti1 ti2
: : :
N tn1 tn2

In the above table, tij represents the processing time of the job I on m/c j.


STEP 1. Find the the minimum among various ti1, and ti2.

STEP 2. If the minimum processing time requires m/c 2, place the associated job in the
last available position in sequence. Go to step3.

STEP 2B. If the minimum processing time requires m/c 2, place the associated job in the
last available position in sequence. Go to step3.

STEP3. Remove the assigned job from consideration and return to step 1 until all positions
in sequence are fill.

The above algorithm is illustrated using the following problem.


Consider the following two m/c and six job flow shop
scheduling problem. Using Johnson’s algorithm, obtain the optimal which will minimize
the makespana


I 1 2
1 5 4
2 2 3
3 13 14
4 10 1
5 8 9
6 12 11


The workings of the algorithm are summarized in the form of a table

which is shown below.

Stage Unscheduled job Minimum Assignment Partial

tik Sequence
1 1,2,3,4,5,6 t42 4=[6] xxxxx4
2 1,2,3,5,6 t21 2=[1] 2xxxx4
3 1,3,5,6 t12 1=[5] 2xxx14
4 3,5,6 t51 5=[2] 25xx14
5 3,6 t62 6=[4] 25x614
6 3 t31 3=[3] 253614

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

M/C-1 M/C-2
Job time-in time-out time-in time-out idle time on m/c
2 o 2 2 5 2
5 2 10 10 19 5
3 10 23 23 37 4
6 23 35 37 48 0
1 35 40 48 52 0
4 40 50 52 53 0

The makespan for this schedule is 53. The makespan can aloes be
obtained using Gantt chart which is shown in fig.


Consider a three m/c and n jobs flow shop scheduling problem as

One can extend John son’s algorithm to the problem shown in
table if any one the following two condition is satisfied.

If min ti1 > max ti2

If min ti3 > max ti2

If any one of the above condition is satisfied then we can extend

the Johnson’s algorithm in the following way.

Create a hypothetical problem with two m/c and n jobs as shown in


The objective is to obtain optimal sequence for the data given in the
table the makespan is to be determined for the optimal sequence by using the data of the
original problem shown in table

This concept of extending Johnson’s algorithm to this type of problem is demonstrated

using an example problem.


1 t11+t12 t12+t13
2 t21+t22 t22+t23
3 t31+t32 t32+t33
; ; ;
I ti1+ti2 ti2+ti3
; ; ;
N tn1+tn2 tn2+tn2

The basic branch and bound procedure was developed by

Ignall and Schrage and indecently by lomnicki. The underlying branching tree has the same
structure as the tree shown in the single machine scheduling problem except that δ
represents a partial permutation occurring at the beginning of the sequence instead of at the
end. In other words the job sequence is constructed in a forward direction while proceeding
down the branching tree. For each node on the tree a lower bound on the makespan
associated whit the completion of the corresponding partial sequence δ is obtained by
considering the work remaining on each machine. To illustrate the procedure for m=3, the
required terminologies are presented below.


δ be a partial permutation occurring at the beginning of the sequence,

δ1 denote the set of jobs that are not contained in the partial permutation δ.
For a given partial sequence δ, let.
q1 be the latest completion time on m/c 1 among jobs in δ.
q2 the latest completion time on m/c 2 among jobs in δ, and
q3 the latest completion time on m/c 3 among jobs in δ.

The amount of processing yet required on machine 1 is

Σ1 tj1

Moreover suppose that a particular job K is the last job in the sequence.
Under this situation, after the job K is process on m/c 1, it will take atleast time units on m/c
2 and m/c 3 before the whole schedule is completed.
In the most favorable situation the last job.

(a) encounters no delay between the completion of an the start of its diredt successor
(b) has the minimum sum (tj2 + tj3) among jobs j € δ1.

Hence, one lower bound on the makespan is

b1 = q1 + Σ1 tj1 +min { tj2 + tj3}

j€δ j€δ

Similar reasoning applied to the processing on the processing, yet required on m/c 2 yields a
second lower bound.

b2 = q1 + Σ1 tj1 +min { tj3}

j€δ j€δ
Finally, a lower bound based on the processing yet required on m/c 3 is

b3 = q3 + Σ1 tj3

The final lower bound for δ is:

B = MAX (b1, b2,b3)

The fine lower bound using an example problem.


For large size problems, it would be difficult to get optimum

solution in finite time, since the flow shop scheduling is a combinatorial problem. This
means the time complexity function of flow shop problem is exponential in nature.
CDS(Campbell, Dudek and Smith) heuristic is one such heuristic used for flow shop

The CDS heuristic corresponds to multistage use of johnson’s rule to a new problem formed
from the original with processing time.

At stage 1,
t1j1 = tj1 and t1j2 = tjm
in other words, jonson’s rule is applied to the first and m th opetion
and intermediate operation are ignored.

At stage 2,
t2j1 = tj1 + tj2, t2j2 = tjm + tjm-1,
that is Johnson’s rule is applied to the sum of the first two and the last
two operation processing times. In general at stage i.

At stage 2,

i i
2 i
t j1 = ∑ tjk, and t j2 = ∑ tj m-1
k=1 k=1
for each stage I (I = 1,2,…., m-1), the job order obtained is used to
calculate a makeswpan for the original problem. After m-1, stages the best makerpan among
the m-1 schedules is identified.

n job shop problem, we assume that each job has m different

operations. If some of the jobs are having less than m operation, number of dummy
operation with zero process time are assumed. By this assumption the condition of equal
number of operations for all the jobs is ensured. In job shop scheduling problem the process
sequence of the job . hence the flow of each job in job shop scheduling is not unidirectional.

The time complexity function of the job shop problem is combination

in nature. Hence heuristic approaches are popular in this area.

Unlike the flow shop model, there is initial m/c that performs only the
first operation of a job, nor is there a terminal m/c that performs only the last operation of a
In the flow shop an operation number in the operation sequence of a
job may be same as the position number of the required m/c. hence there is no need to
distinguish between them. But in the in the job shop case different jobs will have different
operation sequences. So we cannot assume a straight flow for the job shop problem will be
described with triplet where k is the required m/c for processing the jth operation of the ith
Consider the following data of a job shop scheduling involving four
jobs three operation and hence three machines.
The first table consists of operation processing times and the second table consist of
operation sequences of the jobs. The set of machines required for a given job constitute a
For example, job 4 has routing of 1-2-3.


• Types of schedules:-

In general, infinite number of feasible schedules are possible for any

job shop problem one can insert any arbitrary amount of idle time at any machine between
adjacent pairs of operation. There idle time are not useful in any sense. In fact these will
lead to non-optimal solution while minimizing makespan measure.
The number of semi-active schedules is finite and is less than the
total number of possible schedules.

In a semi-active schedule the start time of a particular operation is

constrained either by (a)processing a different job on the same machine or (b) by processing
the directly preceding operation on n different m/c. in the former case where the completion
of an earlier operation on the same m/c is constrained it may still be possible to find
obvious means of improvement . even when no local-sheriffs are possible a better
scheduled on some machine. This type of adjustment in which some operation is begun
earlier without delaying any other operation is called a global left-shift or simply a left-

The set of active schedules dominates the set of semi active schedule
in terms of optimizing any regular measure of performance. So it is sufficientto consider
only active schedules.

All non-delay schedules are active schedules since no left-shift is

possible. There is on guarantee that the non-delay subset will contain an optimum. The
Venn diagram showing the relative sizes between sdifferent types of schedules is shown in
the following fig. there will be at least one optimal schedule in the set of active schedules.


In job shop scheduling schedule is generated by taking the various aspect which we
discussed earlier such that the final schedule has a better value for an assumed measure of
performance. So the process of schedule generation is considered to be very important
phase in job shop scheduling. A generation procedure can be classified as a single-pass
mechanism or an adjusting mechanism.
fixed. Therefore a full shedder can be generated with a single-pass through the list of
operation are added to the scheduling.
In these procedures an operation will be considered only when all of
its predecessors have been schedule. The number of stages for a one-pass procedure is equal
to the number of operations or nm(no. of jobs x no. of operation)