Sei sulla pagina 1di 11

10

10.1 10.10
10.2 10.11
10.3 10.12
10.4 10.13
10.5 10.14
10.6 10.15
10.7
10.8
10.9

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. Thejob 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.

The basic single machine scheduling problem is characterized by the following conditions:
1. A set of independent, single-operation jobs is available for processing at time zero.
2. 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.
3. Job descriptors are known in advance.
4. One machine is continuously available and is never kept idle when work is waiting.
5. Each job is processed till its completion without break.
Under these conditions, one can see one-to-one correspondence between a sequence of the n
jobs and a permutation of the job indices 1, 2, ... n. The total number of sequences in the basic single
machine problem is n! which is the number of different permutation of n elements. The following
three basic data are necessary to describe jobs in a deterministic single machine-scheduling problem.
Processing time (tj ): It is the time required to process job j. The processing time, tj will
normally include both actual processing time and set-up time.
Ready time (rj ): It is the time at which job j is available for processing. The ready time of a job
is the difference between the arrival time of that job and the time at which that job is taken for
processing. In the basic model, as per condition I, rj = 0 for all jobs.
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. Performance
measures for evaluating schedules are usually function of job completion time. Some, sample
performance measures are Flow time, Lateness, Tardiness, etc.
Flow time (Fj ): It is the amount of time job j spends in the system. Flow time is a measure,
which indicates the waiting time of jobs in a system. This in turn gives some idea about in-process
inventory due to a schedule. It is the difference between the completion time and the ready time of
the job j. i.e. Fj = Cj – rj.
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 is a measure which gives an idea about conformity of the jobs in a
schedule to a given set of due dates of the jobs. 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. The positive lateness is a
measure of poor service. The negative lateness is a measure of better service. In many situations,
distinct penalties and other costs are associated with positive lateness, but generally, no benefits are
associated with negative lateness. Therefore, it is often desirable to optimize only positive lateness.
Tardiness (Tj ): Tardiness is the lateness of job j if it fails to meet its due date, or zero, otherwise
T j = max {O, Cj – dj}
= Max {O, Lj }.

The different measures of performance which are used in the single machine scheduling are listed
below with their formulas.
n
1
Mean flow time: F = n Fj
j 1
n
1
Mean tardiness: T = n Tj
j 1

Max{F j }
Maximum flow time: Fmax = 1 j n

Max{T j }
Maximum tardiness: Tmax = 1 j n
n

Number of tardy jobs: NT = f (T j )


j 1
where
f (Tj) = I, if Tj > 0, and f (Tj) = 0, otherwise.

In single machine scheduling problem, sequencing the jobs in increasing order ofprocessing 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 flowtime, and the ‘rapid turnaround time’
is its mean flow time (F). Shortest processing time (SPT) rule minimizes the mean flow time.
I LLUSTRATION 1: Consider the following single machine-scheduling problem.

Job (j) 1 2 3 4 5

Processing time (t) (hrs) 15 4 5 14 8

Find the optimal sequence, which will minimize the mean flow time and also obtain the
minimum mean flow time.
SOLUTION
No. of jobs = 5
Arrange the jobs as per the SPT ordering

Job (j) 2 3 5 4 1

Processing time (t) (hrs) 4 5 8 14 15

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

Job (j) 2 3 5 4 1

Processing time (t) (hrs) 4 5 8 14 15

Completion time (Cj) (Fj) 4 9 17 31 46

Since, the ready time rj = 0 for all j, the flow time (Fj) is equal to Cj for all j.
n
1 1 1
F = n 5
Fj
(4 9 17 31 46)
5
(107) 21.4 hours
j 1

Therefore, the optimal mean flow time = 21.4 hours.


Sometimes, the jobs in a single machine-scheduling problem will not have equal importance. Under
such situation, each job is assigned a weight, wj . The mean flow time, which is computed after
considering wj is called, weighted mean flow time, which is shown below:
n
w j Fj
j 1
Fw = n
wj
j 1

In single machine scheduling problem, sequencing the jobs in increasing order of weighted
processing time is known as Weighted Shortest Processing Time (WSPT) sequencing. The weighted
processing time of a job is obtained by dividing its processing time by its weight.
I LLUSTRATION 2: Consider the following single machine-scheduling problem with weights:

Job (j) 1 2 3 4 6

Processing time (t j) 15 4 5 14 8

Weight (w) 1 2 1 2 3

Determine the sequence, which will minimize the weighted mean flow time of the above
problem. Also find the weighted mean flow time.
SOLUTION
Job (j) 1 2 3 4 5

Processing time (t) (hrs) 15 4 5 14 8

Weight (wj) 1 2 1 2 3

T/wj 15 2 5 7 2.67

Arrange the jobs in the increasing order of tj / wj (i.e. WSPT ordering). From the above table,
we get the following relation.
t2/w2 t5/w5 t3/w3 t4/w4 t1/w1
Therefore optimal sequence, which will minimize the weighted mean flow time, is,
2 – 5 – 3 – 4 – 1.
Fw Calculation:
Job (j) 2 3 5 4 1

Tj 4 5 8 14 15

Cj (Fj) 4 9 17 31 46

Fj* Wj 4 9 17 31 46
n
wj .F j
j 1 (8 36 17 62 46) 169
Fw = n
18.78 hours.
(2 3 1 2 1) 9
wj
j 1

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 3: Consider the following single machining scheduling problem:

Job (j) 1 2 3 4 5 6

Processing time (t j) 10 8 8 7 12 15

Due date (dj) 15 10 12 11 18 25

Determine the sequence which will minimize the maximum lateness (Lmax). Also, determine Lmax
with respect to the optimal sequence.
SOLUTION: 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.

Job (j) (EDD Sequence) 2 4 3 1 5 6

Processing time (t j) 8 7 8 10 12 15

Completion Time (C j) 8 15 23 33 45 60

Due Date (dj) 10 11 12 15 18 25

Lateness (Lj) –2 4 11 18 27 35

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

If a job is completed beyond its due date, then it is called tardy job; otherwise it is called non-tardy
job. In many organizations, the objective may be to minimize the total number of tardy jobs.
If the EDD sequence yields zero tardy, or it yields exactly one tardy job, then it is an optimal
sequence for minimizing the total number of tardy jobs (NT), If it yields more than one tardy job, the
EDD sequence may not yield the optimal solution. An exact algorithm for the general case is given
below. The final sequence consists of two streams of jobs as given below:
(a) First, a set (E) of early jobs, in EDD order.
(b) Then, a set (L) of late jobs, in any order.
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.
ILLUSTRATION 4 A computer systems consulting company is under contract to carry out
seven projects, all with deadliness assured in days from now. The consultants are a small
group and they work together on each project, so that the project will be started and completed
sequentially. Under the terms of contract, the consultants will receive Rs. 24,000 for each
project completed on time, but they will incur Rs. 40,000 in penalties for each project completed
late. Each project has an, associated duration, which is the anticipated number of days
required to carry out the project as shown below.
How should the projects be sequenced in order to maximize net revenues?
Project ID 1 2 3 4 5 6 7

Duration (Dj) 2 4 6 8 10 12 14

Deadlines (d) 6 12 30 19 12 18 24

SOLUTION: From the statement of the problem, one can identify that the objective is to maximize
net revenues. This can be achieved by simply obtaining a sequence, which will minimize the number
of tardy jobs (NT), Hence, we apply Hodgson’s algorithm to minimize NT.
Step 1: The earliest due date order is shown below:
a ij 2 12 12 18 19 24 30

Project (j) 1 2 5 6 4 7 3

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).
Step 2: The lateness of the projects are checked as shown below:
Project (j) 1 2 5 6 4 7 3

Duration (tj) 2 4 10 12 8 14 6

Completion time (C j) 2 6 16 28 36 50 56

Due date (d) 6 12 12 18 19 24 30

Tardy/non-tardy (1/0) 0 0 1 1 1 1 1

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:

Project (j) 1 2 6 4 7 3

Duration (t) 2 4 12 8 14 6

Completion time (C j) 2 6 18 26 40 46

Due date (d) 6 12 18 19 24 30

Tardy/non-tardy 0 0 0 1 1 1

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 first-four 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:

Project (j) 1 2 4 7 3

Duration (tj) 2 4 8 14 6

Completion time (C j) 2 6 14 28 34

Due date (dj) 6 12 19 24 30

Tardy/non-tardy 0 0 0 1 1
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 first-four projects in the setE 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:

Project (j) 1 2 4 3

Duration (t) 2 4 8 6

Completion time (C j) 2 6 14 20

Due date (dj) 6 12 19 30

Tardy/non-tardy 0 0 0 0

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.

In flow shop scheduling problem, there are n jobs; each require processing on m different machines.
The order in which the machines are required to process a job is called process sequence of that job.
The process sequences of all the jobs are the same. But the processing times for various jobs on a
machine may differ. If an operation is absent in a job, then the processing time of the operation of
that job is assumed as zero.
The flow-shop scheduling problem can be characterized as given below:
1. A set of multiple-operation jobs is available for processing at time zero (Each job requires m
operations and each operation requires a different machine).
2. Set-up times for the operations are sequence independent, and are included in processing
times.
3. Job descriptors are known in advance.
4. m different machines 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 machine 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 machine is not released to the current machine, we cannot start
processing on that job. So, the current machine has to be idle for sometime. Hence, inserted idle
time on some machines would lead to optimality.
For example, consider the following flow-shop problem:
Job Machine 1 Machine 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.10.1. Here 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.

Machine 2

Machine 1

JFJ

Fig. 10.1 Gantt chart for sequence 2-1-4-3

Machine 2

Machine 1

Fig. 10.2 Gantt chart for sequence 3-4-1-2


Consider another sequence say 3-4-1-2. The Gantt chart for this sequence is shown in Fig 10.2.
The makespan for the schedule in Fig. 10.2 is 26. The machine 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 efficient heuristic.

As mentioned in the earlier section, the 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 a polynomial algorithm
to get optimal solution, i.e., in a definite time, one can get the optimal solution.
Consider the following flow shop problem:
Job Machine 1 Machine 2
1 t11 t12
2 t21 t22
3 t31 t32
n tn1 tn2

In the above table, tij represents the processing time of the job i on the machine j.

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.)
The above algorithm is illustrated using the following problem:
ILLUSTRATION 5: Consider the following two machines and six jobs flow shop-scheduling
problem. Using Johnson’s algorithm, obtain the optimal sequence, which will minimize the
makespan.

Job Machine 1 Machine 2


1 5 4
2 2 3
3 13 14
4 10 1
5 8 9
6 12 11
SOLUTION: The workings of the algorithm are summarized in the form of a table, which is shown
below:
Stage Unscheduled jobs Minimum tik Assignment Partialsequence
1 1, 2, 3, 4, 5, 6 T42 4 = [6] ×××××4
2 1, 2, 3, 5, 6 T21 2 = [1] 2 ××××4
3 1, 3, 5, 6 T12 1 = [5] 2×××14
4 3, 5, 6 T51 5 = [2] 25××14
5 3, 6 T62 6 = [4] 25×614
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 job]
Processing time Idle time
Job Machine 1 Machine 2 on machine
Time-in Time-out Time-in Time-out
2 0 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.

Consider a ‘three machines and n jobs’ flow shop scheduling problem as shown in Table 10.1.
Table 10.1
Processing time
Job Machine 1 Machine 2 Machine 3
1 t11 t12 t11
2 t21 t22 t11
3 t31 t32 t11
4 t41 t42 t11
5 t51 t52 t11
. . . .
i ti1 ti2 ti3
. . . .
. . . .
n 1 tn2 tn3

Potrebbero piacerti anche