Single Machine Scheduling Techniques
Single Machine Scheduling Techniques
CHAPTER CONTENTS
2.1 Introduction
2.2 Scheduling Mathematics
2.2.1 Gantt chart
2.3 Minimization of maximum Lateness problem (1||Lmax)
2.4 Minimization of Total Weighted completion time problem (1|| ΣωjCj)
2.5 Minimization of Total Weighted completion time problem with Precedence
Relations (1| prec| ΣωjCj)
2.6 Non-Preemptive Scheduling
2.7 Preemptive Scheduling
2.8 Number of Tardy Jobs (1||nt)
2.9 Branch & Bound Method
2.10 Minimization of maximum lateness with ready time Problem (1 | rj | Lmax )
2.11 Minimization of total weighted tardiness Problem (1 || ΣωjTj)
2.12 Minimization of maximum lateness with precedence problem (1 | prec | Lmax)
Chap. 2 / Single Machine Scheduling
2.1 INTRODUCTION
The scheduling parameters for a typical job, say job j, are defined as follows:
• pj = the processing time Job j
• Sj = the start time of job j
• Wj = the waiting time of job j
• Wj = the waiting time of job j
• Dj = the due date of job j
• Ej = the earliness job j
• rj = the release time job j
• Cj = the completion time of job j
• Fj = the flow time of job j
• Lj = the lateness of job j
• Tj = the tardiness of job j
rj pj
M1 1 2 3 j n-1 n
Cj
time
From the Gantt chart, waiting time for job j will be: Wj = Cj – rj Similarly, the
lateness (Lj) of the job j will be; Lj = Cj – dj. Job tardiness Tj is defined as positive
lateness. In mathematical terms, tardiness (Tj) is expressed as follows:
=Tj L j, if L j > 0
= 0, otherwise .
Tj = max(L j,0)
Similarly, job earliness is negative lateness. In mathematical terms, Ej is expressed as
=E j L j, if L j < 0
= 0, otherwise .
E j = max(-L j, 0)
Job Flow time (Fj ) can be expressed in two ways:
Fj = Cj – rj
= Wj + pj
From the relationship between rj, Wj and pj, expression for Cj can be deduced;
Cj = rj + Wj + pj
= Sj + pj
From the above relationship, Sj = rj + Wj. Clearly, if Wj = 0 then Sj = rj.
Start time for generating a schedule is;
Example 2.1
The following table contains data pertaining to 1|| F problem.
Job (j) 1 2 3 4
pj 4 2 6 5
Note that the release time r j = 0 for all jobs. Hence, it is a static shop environment.
Use the following sequences and find average waiting time W and the average flow
time F .
i) Numerical (natural) Job order sequence ( 1-2-3-4)
ii) Shortest Process Time (SPT) Sequence ( 2-1-4-3)
iii) Random Sequence (1-3-4-2)
Solution:
i) Numerical Order Sequence (1-2-3-4)
Using the numerical or natural order sequence, the schedule is shown
using Gantt chart below.
M1 1 2 3 4
C1=4 C3=12
C4=17
C2=6
The waiting times for all the jobs is computed as shown in the following table
Job (j) pj Sj Cj Wj Fj
1 4 0 4 0 4
2 2 4 6 4 6
3 6 6 12 6 12
4 5 12 17 12 17
4
∑ Wj
j=1 0 + 4 + 6 + 12 22 ∑ Fj 39
W = = = = 5.5, F= = = 9.75
4 4 4 4 4
Job (j) pj Sj Cj Wj Fj
2 2 0 2 0 2
1 4 2 6 2 6
4 5 6 11 6 11
3 6 11 17 11 17
4
∑ Wj
j=1 0 + 2 + 6 + 11 19 ∑ Fj 36
W = = = = 4.75, F= = = 9,
4 4 4 4 4
Job (j) pj Sj Cj Wj Fj
1 4 0 4 0 4
3 6 4 10 4 10
4 5 10 15 10 15
2 2 15 17 15 17
4
∑ Wj
j=1 0 + 4 + 10 + 15 29 ∑ Fj 46
W= = = = 7.25, F= = = 11.50
4 4 4 4 4
Note that the average values obtained by the SPT sequence are
minimum for both W and F .
Example 2.2
Consider a single machine sequencing problem with data as shown below:
Job(j) 1 2 3 4
pj 4 2 6 5
dj 8 12 11 10
Use the following sequences to find Makespen or maximum completion time Cmax,
Average waiting time W , Average tardiness T , and maximum lateness Lmax.
i) SPT sequence, ii) EDD sequence
Solution:
i) Job sequence based on SPT is (2-1-4-3). The computations for SPT
sequence are presented in the following table
Job(j) pj Sj Cj dj Wj Lj Tj
2 2 0 2 12 0 -10 0
1 4 2 6 8 2 -2 0
4 5 6 11 10 6 1 1
3 6 11 17 11 11 6 6
4 4
∑ Wj ∑ Tj
j= 4 j=1 j=1
Cmax = ∑ p j = 17, W= = 4.75, T= = 1.75, Lmax = 6
j=1 4 4
ii) Job sequence based on earliest due date (EDD) is (1-4-3-2). The
computations for EDD sequence are presented in table below
Job(j) pj Sj Cj dj Wj Lj Tj
1 4 0 4 8 0 -4 0
4 5 4 9 10 4 -1 0
3 6 9 15 11 9 4 4
2 2 15 17 12 15 5 5
4 4
∑ Wj ∑ Tj
j= 4 j=1 j=1
Cmax = ∑ p j = 17, W = = 7, T= = 2.25, Lmax = 5
j=1 4 4
It should be noted that the value of Cmax remains the same for both sequences. Also,
the value for Lmax for EDD sequence is smaller than the value of Lmax for SPT
sequence. In addition, the average waiting time and the average tardiness for the SPT
sequence are very small when compared the values obtained by the EDD sequence.
What can you infer about these results?
For single machine problems, if due dates (dj) are specified, then earliest due
date (EDD) sequence yields an optimal solution to the maximum lateness Lmax and the
maximum tardiness Tmax. This rule applies to the class of problems specified by
1||Lmax or 1||Tmax terminology. In such class of problems, it is implicitly assumed that
release time of all jobs; rj ≡ 0 (static shop)
Example 2.3
Find an optimal sequence for 1 || Lmax problem. The data is given in the table below.
Release time of all jobs is zero; i.e., rj = 0 (1 ≤ j ≤ 6). Compute the maximum
lateness Lmax and the average lateness L .
Job (j) 1 2 3 4 5 6
pj 10 3 4 8 10 6
dj 15 6 9 23 20 30
Solution:
The EDD sequence of the 6-job problem from table is;
Job (j) 2 3 1 5 4 6
pj 3 4 10 10 8 6
Dj 6 9 15 20 23 30
The calculations of Completion times (Cj) and Lateness (Lj) are shown
below:
Job (j) 2 3 1 5 4 6
Cj 3 7 17 27 35 41
Lj -3 -2 2 7 12 11
Often the jobs in a shop have priorities attached on their tags which are
specified by the term ωj. To schedule such jobs, Weighted Shortest Processing Time
(WSPT) sequence is applied. As a first step to perform WSPT sequence, calculate
process time to weight ratio for each job, and, then rank jobs in increasing order of
processes time to weight ratio values.
Job(j) pj ωj pj/ωj dj
1 4 8 0.5 8
2 2 7 0.285 12
3 6 3 2 11
4 5 15 0.333 10
Job(j) pj ωj Sj Cj dj Wj Lj Tj ωjCj
2 2 7 0 2 12 0 -10 0 14
4 5 15 2 7 10 2 -3 0 105
1 4 8 7 11 8 7 3 3 88
3 6 3 11 17 11 11 6 6 51
Hence, from the above table, the total weighted completion ΣωjCj can
be found which is 388.
1 2 3
In the following example, a single machine problem is presented where jobs have
precedence relationship. The objective function is the minimization of total weighted
n
completion time (
∑ ω jC j ). The solution methodology is based on Chain method
j=1
∑ω j
3. Select the jobs from the chain having overall minimum value of ρ -factor.
4. Include these jobs in the partial schedule, and delete them from the network
diagram.
5. Repeat steps (1) to (4) until all jobs are scheduled.
1 2 3 4
5 6 7
The weights and process times of the jobs are given in the following table.
Jobs 1 2 3 4 5 6 7
pj 3 6 6 5 4 8 10
ωj 6 18 12 8 8 17 18
Solve the problem to minimize total weighted completion times using chain-method.
Solution:
Apply Chain method as follows:
Then, ρ-factor =
∑ p j = ∑ p1 + p 2 + p 3 + p 4 = 3 + 6 + 6 + 5 = 20 = 0.455
∑ ω j ∑ ω1 + ω 2 + ω 3 + ω 4 6 + 18 + 12 + 8 44
The ρ-Factor for chain 1
Job Set 1 1 2 1 2 3 1 2 3 4
ρ-Factor 3 9 15 20
6 24 36 44
0.5 0.375 0.416 0.455
Minimum value for ρ-Factor is 0.375 for the job set {1 2}.
Overall minimum value of ρ-Factor is 0.375 for Chain-1 and job set {1 2}. Thus,
the following partial sequence is obtained: {1-2-X-X-X-X-X-X-X}. Then, jobs 1 and
2 should be marked on the network diagram.
1 2 3 4
5 6 7
The unscheduled jobs in Chain-1 are now; 3 and 4. The corresponding two job sets
are; {3} and {3 4}.
Then, the revised ρ-Factor values for these 2 jobs are calculated as follows:
Job Set 3 3 4
ρ-Factor 6 11
12 20
0.5 0.55
Overall minimum value of ρ-Factor is 0.48 which belong to Chain-2 for Job Set:
{5 6}. Thus, the Partial Sequence is {1-2-5-6-X-X-X}. Mark jobs 5 and 6 on
the network diagram.
1 2 3 4
5 6 7
Minimum value of ρ-Factor is 0.5 which belong to Chain-1 for Job Set: {3}. Thus,
the Update for the Partial Sequence is as follows: {1-2-5-6-3-X-X}. Next, mark job 3
on the network diagram as shown below.
1 2 3 4
5 6 7
For the remaining jobs in Chain-1 and Chain-2 are Job 4 and job 7 respectively.
Thus, the Maximum value of ρ-Factor can be computed as shown below.
The minimum value of ρ-Factor is 0.55 which belong to Chain-2 for Job Set: {7}.
The partial sequence can be updated as follows: {1-2-5-6-3-7-X}. Next, mark job 7
on the network diagram as shown below.
1 2 3 4
5 6 7
There is only one unscheduled job which is job 4. Thus, this job can be attached to
the end of the partial sequence which means the final sequence is being developed
and it is {1-2-5-6-3-7-4}. Using this final sequence the total weighted completion
can be computed as follows:
Job(j) pj ωj Sj Cj ωj C j
1 3 6 0 3 18
2 6 18 3 9 162
5 4 8 9 13 104
6 8 17 13 21 357
3 6 12 21 27 324
7 10 18 27 37 666
4 5 8 37 42 336
Σωj Cj 1967
This type of scheduling is considered when release time of all jobs in the shop
is same. Sequence of jobs is decided by scheduling policy. Once, the sequence is
determined, the jobs are loaded on the machine accordingly. The jobs are
continuously processed over the machine in the sequencing order. No change in
sequencing order is made once machine starts processing the jobs. Every job is
processed on the machine on its turn. No job is removed from the machine during its
stay on the machine even if a high priority job arrives on that machine. Hence, no
interruption is allowed during processing of the jobs and, all jobs complete their
processing according to pre-defined sequence.
Example 2.6
Data pertaining to 4-job single machine problem is given in the following table.
Job(j) pj rj dj
1 4 0 8
2 2 3 12
3 6 3 11
4 5 5 10
Generate a non-preemptive schedule using EDD sequence, and then compute the Cmax
and the Lmax.
Solution:
Since, jobs have distinct rj values, the problem data presents a dynamic environment.
EDD Sequence for the 4-jobs based on due dates is {1-4-3-2}. The following Gantt
chart gives complete information on the EDD sequence.
j1 j4 j3 j2
Cj 4 5 10 16 18
Idle time
dj 8 10 11 12
Job 4 arrives at time 5, where as the machine is free at time 4. Hence, there is an idle
time from time 4 to time 5. The makespan for the sequence is 18 unit of time. The
Lmax = max {-4, 0, 5, 6} = 6. If the release time of all jobs would have been rj = 0,
then, the makespan is 17 unit of time (Σpj = 17). Also, in this case, the maximum
lateness Lmax would have been 5.
This type of scheduling is considered when jobs arrive in the shop at different
times; i.e., the values of rj is greater zero and it could be different for each job. In this
case, jobs are scheduled according to a pre-determined sequence. However, flexibility
is built in the sequencing. This means a job can be removed from the machine if a
high priority job is to be processed ahead of currently scheduled job. Then, the low
priority jobs or preempted jobs are processed later on.
Example 2.7
Consider example 2.6 once again. If preemption of scheduled jobs is allowed in
which the priority is given for jobs with earliest due date (EDD). What will be the
new schedule? Is it a better schedule (Why or why not?)
Solution:
The EDD Sequence is {1-4-3-2}
Time, t=0.
Job arrived at time zero is job 1. Job 1 is scheduled at time zero. Then, the machine
will complete job1 by time 4.
Time, t=3.
Jobs 2 and 3 arrived in the shop. The machine is busy and can not process any job.
Time, t=4.
Processing of job 1 is completed and the machine becomes free and ready to process
any of the waiting jobs. Referring to the EDD sequence, the next job in EDD
sequence is job 4, however, it has not arrived yet because its arrival time is at time 5.
Thus, the next job in the EDD sequence is picked up which is job 3. Since job3 has
arrived already then it is assigned to the machine.
Time, t=5.
Job j4 has arrived in the shop. Currently the machine is processing job 3. From the
EDD sequence, it is clear that job 3 has lower priority than job 4. Thus, preempt job
3 from being processed on the machine. Then, assign job 4 to the machine. Job j4 has
a process time of 5 unit of time which means it will be completed at time 10.
Time, t=10
Processing on job 4 is completed. Then, the next job in the EDD sequence is job 3.
This job has already been partially processed from time t=4 to t=5. Its remaining
process time is 5 unit of time. Thus, assign job 3 to the machine and will be
completed at time 15.
Time, t=15
Processing on job j3 is completed. Then, the next job in the EDD sequence is job 2. Its
process time is 2 unit of time. Next, assign job 2 to the machine and be completed at
time 17.
Time, t=17.
Processing on job 2 is completed. There is no other job to be processed, hence the
procedure is STOP.
The following Gantt chart presents the schedule of the jobs
j1 j3 j4 j3 j2
Cj 4 5 10 15 17
dj 8 10 11 12
From the Gantt chart above, it should be clear that the values of makespan and
maximum lateness are as follows: makespan =17 and Lmax=5.
It should be clear that for this problem data, the preemptive scheduling provides a
better solution than non-preemptive schedule.
Example 2.8
Solve the following 1 || nt problem in which the following data is given:
Job (j) 1 2 3 4 5 6
pj 10 3 4 8 10 6
dj 15 6 9 23 20 30
Solution:
Job (j) 2 3 1 5 4 6
pj 3 4 10 10 8 6
dj 6 9 15 20 23 30
The calculations of completion times (Cj) and tardiness (Tj ) are shown in the table
below. The number of tardy jobs; nt is equal to 4.
Job (j) 2 3 1 5 4 6
pj 3 4 10 10 8 6
Cj 3 7 17 27 35 41
Lj -3 -2 2 7 12 11
Tj 0 0 2 7 12 11
From Step 4, the first tardy job in the sequence is job 1. According to Step 5, jobs 2,
3, and 1 are candidates to be removed to the set of the tardy jobs. Since job 1 has the
largest processing time pj. Then, remove job 1 from the current scheduled and put it
in the set of tardy jobs which means job 1 will be attached to the end or in the last
position in the sequence.
Job (j) 2 3 1 5 4 6
pj 3 4 10 10 8 6
Job (j) 2 3 5 4 6 1
pj 3 4 10 8 6 10
dj 6 9 20 23 30 15
Cj 3 7 17 25 31 41
Lj -3 -2 -3 2 1 26
Tj 0 0 0 2 1 26
The first tardy job in new schedule is job 4 (k = 4). From the scheduled job set {2 – 3
– 5 – 4}, job 5 has largest processing time pj. Thus, shift job 5 to last position in the
sequence as shown below.
Job (j) 2 3 5 4 6 1
pj 3 4 10 8 6 10
After shifting job 5 to last sequence position, recalculate Tj and Cj as shown in Table
below.
Job (j) 2 3 4 6 1 5
pj 3 4 8 6 10 10
Dj 6 9 23 30 6 20
Cj 3 7 15 21 31 41
Lj -3 -2 -8 -9 25 21
Tj 0 0 0 0 25 21
It should be clear that there is no tardy job in the scheduled job set. Hence, there are
only two tardy jobs; namely, jobs 1 and 5. Therefore, the total number of tardy jobs;
nt is equal to 2. The following are the two optimal sequences for this problem: {2 – 3
– 4 – 6 – 1 – 5} and {2 – 3 – 4 – 6 – 5 – 1}
The branch and bound method uses a sequence tree. Each node in the tree
contains a partial sequence of jobs. For n job problem, there are n-1 numbers of levels
for a tree. At level zero, root node will be placed with all n empty sequence positions.
At level 1, there will be n number of nodes. Each node will contain a partial sequence
of jobs. The first position in the sequence will be occupied by a job in numerical
order. Similarly, each node at (n-1)th level will be branched to (n-2) number of nodes.
The process will continue till each node has exactly one leaf. The construction of a
tree for generating all sequences for a 3-job problem is presented in the Figure 11.
Generation of all sequences is combinatorial in nature and, will result in
enormous number of sequences even for a small number of jobs. For example, for a
10-job problem there will be 10! Sequences. To reduce the computational effort,
lower bounds are calculated at every level for each node. The formula used to
compute the lower bound is pertinent to objective function of the scheduling problem.
Branching is carried out only from those nodes with the minimum lower bound. By
doing so, only small proportion of the nodes is explored resulting in fewer amounts of
computations. The branch and bound (B&B) method is applied in almost every
scheduling problem. In the following paragraph, this methodology is applied to solve
single machine problems where jobs have distinct release times (rj) and objective
function is to minimize Lmax. As scheduling terminology implies, these types of
problems as termed as 1 | rj | Lmax problem.
0
*,*,*
1
1, *, * 2, *, * 3, *, *
2
1, 2, * 1, 3, * 2, 1, * 2, 3, * 3, 1, * 3, 2, *
3
1, 2, 3 1, 3, 2 2, 1, 3 2, 3, 1 3, 1, 2 3, 2, 1
In this section, the branch and bound (B&B) method is used to solve the
following scheduling problem: 1 | rj | Lmax. The following guidelines should be
followed when developing the scheduling generating tree for the branch and bound
for the problem under consideration:
1. At any level of the tree, generate only those child nodes for the selected parent
node which satisfies the following relationship:
Example 2.9
The following Table presents an instance of 1 | rj | Lmax problem. Find an optimal
solution for this problem using the branch and bound method.
Job (j) 1 2 3 4
pj 4 2 6 5
dj 8 12 11 10
rj 0 1 3 5
Solution:
At the start, there are four possible nodes at Level 1 as shown in the figure below.
Root node
*,*,*,*
Since r3 is not less than 3. Then, do not include this node (3-*-*-*) in the tree.
Since r4 is not less than 3. Then, do not include this node (4-*-*-*) in the tree.
M1 1 3 4 3 2
Cj 4 10 15 17
dj 8 10 11 12
Lj -4 0 4 5
Figure 2. Gantt chart for the partial
L max = 5, Cmax = 17
sequence (1-*-*-*).
M1 j2 j1 j4 j1
Cj 3 7 13 18
dj 12 8 10 11
Lj -9 -1 3 7
From Figure 13, it should be clear that the machine has been idle during the time
interval [0, 1] because the first job in sequence is job 2 and its ready time is 1. The
lower bound (LB) for node (1-*-*-*) is lower than the LB for node (2-*-*-*). This
means, branching should be continued from node (1-*-*-*). The following figure
shows the branch from node (1-*-*-*).
*,*,*,*
Lmax = 5 Lmax = 7
root node
1-*-*-* 2-*-*-*
It should be clear from the figure above, there are three nodes emanating from node
(1-*-*-*). Next, verify the following condition in order to determine which node(s) to
consider:
r j < min {max( t, rk ) + pk }
k∈J
Iteration 2 – Step (1)
a) Partial Sequence: (1-2-*-*)
r2 = 1 t=4
Unscheduled jobs are (3-4). The minimum completion time for all
these jobs can be computed as follows:
K rk Sk=max(t,rk) pk Sk + pk
3 3 4 6 10
4 5 5 5 10
Min 10
Since r2 < 10, then, include this node (1-2-*-*) in the tree.
job (j) pj rj Sj Cj dj Lj
1 4 0 0 4 8 -4
2 2 1 4 6 12 -6
4 5 5 6 11 10 1
3 6 3 11 17 11 6
Hence, from the table above the Lmax is equal to 6.
In sequence (1-3-*-*), the first and the second positions are already assigned to jobs 1
and 3 respectively. For the remaining two positions, based on the EDD sequence, job
4 will be assigned to position three and job 2 will be assigned to position four. The
computation for the lower bound is as follows:
job (j) pj rj Sj Cj dj Lj
1 4 0 0 4 8 -4
3 6 3 4 10 11 -1
4 5 5 10 15 10 5
2 2 1 15 17 12 5
Hence, from the table above the Lmax is equal to 5.
In sequence (1-4-*-*), the first and the second positions are already assigned to jobs 1
and 4 respectively. For the remaining two positions, based on the EDD sequence, job
3 will be assigned to position three and job 2 will be assigned to position four. The
computation for the lower bound is as follows:
job (j) pj rj Sj Cj dj Lj
1 4 0 0 4 8 -4
4 5 5 5 10 10 0
3 6 3 10 16 11 5
2 2 1 16 18 12 6
Hence, from the table above the Lmax is equal to 6. When the lower bound values for
the three nodes are compared, it should be clear that node (1-3-*-*) has the minimum
value. Thus, from this node branching should continue as shown in the Figure below.
*,*,*,*
Lmax = 5 Lmax = 7
root node
1,*,*,* 2,*,*,*
1,3,2,* 1,3,4,*
Next, verify the following condition in order to determine which node(s) to consider:
r j < min {max( t, rk ) + pk }
k∈J
Unscheduled job is {4}. The minimum completion time for this job
can be computed as follows:
K rk Sk=max(t,rk) pk Sk + pk
4 5 10 5 15
Min 15
Since r2 < 15, then, include this node (1-3-2-*) in the tree.
b) Partial Sequence : (1,3,4,*)
r2 = 5 t=10
Unscheduled job is {2}. The minimum completion time for this job
can be computed as follows:
K rk Sk=max(t,rk) pk Sk + pk
2 1 10 2 12
Min 12
Since r4 < 12, then, include this node (1-3-4-*) in the tree.
Hence, from the table above the Lmax is equal to 5. When the lower bound values for
the two nodes are compared, it should be clear that node (1-3-4-2) has the minimum
value. This concluded the procedure of the branch and bound and also means the
optimal sequence has been obtained. The optimal sequence is {1-3-4-2}.
Method:
Step 1: For the given problem data, identify job’s sequence position.
Step 2: Construct a branch and bound tree with only nodes which contains
possible jobs to be in the last position in the sequence. Use the
Lemma mentioned above to construct those nodes at level one of the
tree.
Step 3: Find the lower bound for each node developed. This means compute
the ΣωjTj as the lower bound for each node.
Step 4: Branch from the node(s) which has (have) the minimum value(s) of
Lower bound.
Step 5: When branching to a lower level node, include only those jobs which
satisfy the Lemma mentioned above.
Step 6: Continue branching to lowest level of the tree till all the jobs are
included in the schedule.
Example 2.10
Find an optimal sequence for 1 || ΣωjTj problem given the data in the following table:
Job(j) 1 2 3 4
wj 4 5 3 5
pj 12 8 15 9
dj 16 26 25 27
Solution:
The first step is to determine the set of jobs that satisfy the relationship condition in
the lemma mentioned earlier in which the conditions for any jobs are as follows:
p j ≤ p k and d j ≤ dk and, ω j ≥ ωk
By the applying this relationship, it can be found that in an optimal sequence job 1
will appear before job 3. Similarly, job 2 will appear before job 4. Consequently, for
the B&B tree, only two nodes can be constructed which represent the partial
sequences as shown in the following figure.
Root node
*,*,*,*
*-*-*-3 *-*-*-4
For the node with partial sequence (*-*-*-4), the lower bound (LB) which is ΣωjTj
can be computed as follows:
Σ ωjTj = 0 + 6 + 45 + 85 = 136
Similarly, the lower bound (LB) for node with partial sequence (*-*-*-3) can be
computed as follows:
Σ ωjTj = 0 + 0 + 10 + 57 = 67
Thus, since the node with partial sequence (*-*-*-3) has a smaller lower bound value,
then, branching should be continued with this node. This means, the node with partial
sequence (*-*-*-4) should be fathomed. Only two nodes can be investigated with the
two partial sequences (*-*-4-3) and (*-*-1-3) as shown in the figure below.
*,*,*,*
LB = 136
LB = 67
*-*-*-3 *-*-*-4
*-*-4-3 *-*-1-3
The lower bound for the partial sequence (*-*-4-3) which is ΣωjTj can be computed
as follows:
Σ ωjTj = 0 + 0 + 10 + 57 = 67
The lower bound for the partial sequence (*-*-1-3) which is ΣωjTj can be computed
as follows:
Σ ωjTj = 0 + 0 + 52 + 57 = 109
Therefore, since the node with partial sequence (*-*-4-3) has lower bound value,
then, branching should be continued from this node. This means the node with partial
sequence (*-*-1-3) should be fathomed. Only two nodes can be investigated with the
two partial sequences (*-1-4-3) and (*-2-1-3) as shown in the figure below.
*,*,*,*
LB = 136
LB = 67
*-*-*-3 *-*-*-4
LB = 67 LB = 109
*-*-4-3 *-*-1-3
*-1-4-3 *-2-4-3
The lower bound for the partial sequence (*-1-4-3) which is ΣωjTj can be computed
as follows:
Σ ωjTj = 0 + 16 + 10 + 57 = 83
The lower bound for the partial sequence (*-2-4-3) ) which is ΣωjTj can be computed
as follows
Σ ωjTj = 0 + 0 + 10 + 57 = 67
Thus, since the node with partial sequence (*-2-4-3) has lower bound value, then, an
optimal sequence has been found which is (1-2-4-3) because no more branching can
be done all jobs have been scheduled. The complete computation for the schedule is
given in the following table:
Job(j) Pj wj Cj dj Tj ωjTj
1 12 4 12 16 0 0
2 8 5 20 26 0 0
4 9 5 29 27 2 10
3 15 3 44 25 19 57
Total weighted Tardiness, ΣωjTj = 67. The same approach can be used to solve the
following scheduling problem: 1 || Σ Tj. This means, the problem is solved with given
that all jobs have equal weight (ωj=1).
In this section, the scheduling problem has jobs that have precedence
relationship among them. While scheduling jobs on the single machine, the objective
is to minimize the maximum lateness (Lmax). One of the well known solution
methodology to solve this problem is based on the least remaining slack (RS) rule.
This rule is applied to solve 1 | prec | Lmax problem.
The RSj can be computed as follows:
RSj = dj – pj – t.
where,
RSj = the remaining slack of job j.
pj = processing time of job j.
dj = due date for job j.
t = time of the schedule,
Example 2.11
Consider 1| prec | Lmax problem with the data given in the following table:
Job (j) 1 2 3 4 5 6 7 8
pj 2 3 2 1 4 3 2 2
Dj 5 4 13 6 12 10 15 19
Also, the precedence network for the jobs is given in the following figure:
1 4
2 6 3 8
5 7
Job(j) dj Pj t RSj
1 5 2 0 3
2 4 3 0 1
5 12 4 0 8
MIN(RSj) 1
Job 2 has the minimum RS value. Then, Job 2 is scheduled first on the
machine at time 0 and it will be completed at time 3. Thus, updated the value of t to
be = 3. The set S = {2}.
Next, job 6 is added to the Set of schedulable jobs. This means the set
contains the following jobs: {1-5-6}. The computation for the RS values for these
jobs in the set is given in the following table:
Job(j) dj pj t RSj
1 5 2 3 0
5 12 4 3 5
6 10 3 3 4
MIN(RSj) 0
Since job 1 has the minimum RS value, then, it is scheduled second on time 3
the machine. The job will be completed ate time 5. Therefore, the updated value for t
is = 5. The set S = {2-1}.
Next, job 4 is added to the schedulable jobs list. The set of schedulable jobs is
{5-6-4}. Out of the three jobs in the set, job 4 has the minimum RS value as shown
in the following table:
Job(j) dj Pj t RSj
4 6 1 5 0
5 12 4 5 3
6 10 3 5 2
MIN(RSj) 0
Thus, job 4 is scheduled at time 5 and it will be completed at time 6. The set
S = {2-1-4}. This will update the t value to be = 6. At this time, only two jobs are in
the schedulable set. These jobs are {5-6}. Out of these two jobs, job 6 has the
minimum RS value as shown in the following table:
Job(j) dj pj t RSj
5 12 4 6 2
6 10 3 6 1
MIN(RSj) 1
Then, job 6 is scheduled at time 6 and it will be completed at time 9. The set
S = {2-1-4-6}. This will updated the t value to be = 9. At this time, job 3 is added to
the schedulable set. The jobs in the schedulable set are {5-3}. Out of these two jobs,
job 5 has the minimum value of RS as shown in the following table:
Job(j) dj pj t RSj
3 13 2 9 2
5 12 4 9 -1
MIN(RSj) -1
Therefore, job 5 is scheduled at time 9 and completed at time 13. The set S =
{2-1-4-6-5}. This will updated the value of t to be = 13. At this time, job 7 is added
to the schedulable set of jobs. The set of schedulable jobs contains the following
jobs: {3-7}. Out of these two jobs, job 3 has the minimum value of RS as shown in
the following table.
Job(j) dj pj t RSj
3 13 2 13 -2
7 15 2 13 0
MIN(RSj) -2
Next, job 3 is scheduled at time 13 and it will be completed at time 15. The
set S = {2-1-4-6-5-3}. The value of t is = 15. At this time, job 8 is added to the
schedulable set. The set of schedulable jobs is {7-8}. Out of these two jobs, job 7 has
the minimum value of RS as shown in the following table:
Job(j) dj pj t RSj
7 15 2 15 -2
8 19 2 15 2
MIN(RSj) -2
Thus, Job 7 is scheduled at time 15 and it will be completed at time 17. The
set S = {2-1-4-6-5-3-7}. The value of t is = 17. The only unscheduled job is job 8
with RS value of 0 as shown in the following table:
Job(j) dj Pj t RSj
8 19 2 17 0
MIN(RSj) 0
Then, job 8 is scheduled at time 17 and it will be completed at time 19. The
schedulable job set is empty. Thus, STOP. The final sequence of jobs on the
machine is as follows: {2-1-4-6-5-3-7-8}. The Gantt chart for this sequence is shown
below:
M/C 2 1 4 6 5 3 7 8
Cj 3 5 6 9 13 15 17 19
dj → 4 5 6 10 12 13 15 19
Lj → -1 0 0 -1 1 2 2 0
EXERCISES
2.1 A single machine facility faces problem of sequencing the production work for six
customer orders described in table below.
Order 1 2 3 4 5 6
Processing time 18 26 14 8 17 22
a. What sequence will minimize the mean flow time of these orders? What is
the mean flow time in this schedule?
b. Suppose that customer orders 1 and 5 are considered twice important as
the rest what sequence would you propose.
1 4
2 6 3 8
5 7
The weights and process times of the jobs are given in the following table.
Job 1 2 3 4 5 6 7 8
Pj 3 6 6 5 4 8 10 4
wj 6 18 12 8 8 17 18 15
Solve the problem to minimize total weighted completion times using chain-
method.
2.7 Solve the following 1║nt problem in which the following data is given:
Job 1 2 3 4 5 6 7
Pj 9 4 3 7 10 6 8
dj 15 7 5 12 20 23 30
Job 1 2 3 4 5 6 7 8 9 10
Pj 15 11 10 5 25 4 8 3 20 11
dj 71 76 73 88 47 59 24 55 23 47
Find the sequence that minimizes the number of jobs tardy and compute nt
2.9 Bin-laden contracting company has orders for five houses to be built. Bin-laden is
well known company and has good reputation for excellence, thus, the customers
will wait as long as necessary for their house to be built. The revenue in Saudi
Riyals to Bin-laden for each house respectively is as follows: 145000, 290000,
910000, 1150000, and 200000. Also, the times needed in days to build each house
respectively are as follows: 150, 200, 400, 450, and 1000. Assuming that Bin-
laden, can only work on one house at time, what would be an appropriate
measures to schedule building the houses? Using this measure, what schedule
should Bin-laden?
2.10 At Toyota (Fast service) repair shop there are six cars in for repair. The car's
owners will wait in the waiting and will leave when their cars are finished. At
night shift, there is only one mechanic available to do the repairs whose name is
Mohammed. Mohammed estimates the times needed for repair for each cars
respectively as follows: 115, 145, 40, 25, 70, and 30 minutes. What schedule
would you recommend for Mohammed? How would you help Mohammed to
justify having another mechanic with him? (Show all of your work and show all
assumptions you make)
Job 1 2 3 4
pj 3 4 6 10
rj 6 0 7 6
dj 3 10 17 18
Find optimal sequence and show complete schedule.
Job 1 2 3 4 5
pj 6 3 2 4 5
wj 3 2 1 5 3
dj 11 4 12 7 9
Find optimal sequence and compute ΣwjTj.
2.13 Consider the following data as an instance of the 1| prec | Lmax problem.
Job 1 2 3 4 5 6 7 8
pj 2 3 2 2 4 3 2 2
dj 5 4 13 6 12 10 15 19
The precedence network for the problem is shown below:
2 6 3
4 7 8
1
5 7
Find the best efficient sequence this problem and compute Lmax ?
2.14 Consider 1| prec | ΣωjCj problem in which the data and precedence network
are given below:
Job 1 2 3 4 5 6 7 8 9
Process time 2 3 2 1 4 3 2 2 4
Weight 5 4 6 6 12 11 12 10 13
1 4 3
2 6 9
5 7 8
Solve the problem to minimize total weighted completion times using chain-
method. Then, constructing the Gantt chart for the solution obtained. Next,
compute Average flow time, Average completion time, Maximum flow time,
and Average waiting time.
2.15 Consider 1 | prec | Lmax problem with the problem data and precedence
network given below:
Job 1 2 3 4 5 6 7 8 9 10 11 12
Process time 2 3 2 1 4 3 2 2 5 4 6 4
Due dates 5 4 13 6 12 10 15 19 20 11 14 18
1 4 8
2 6 10 9
5 7 3
11 12
Solve the problem to minimize maximum lateness using remaining slack rule.
Then, constructing the Gantt chart for the solution obtained. Next, compute
maximum lateness, maximum tardiness, maximum earliness, total lateness,
total tardiness, and total earliness.
Job 1 2 3 4 5
Pi 7 8 4 6 6
di 9 17 18 19 21
Find optimal sequences and compute nt, Tmax, and T .
2.17 A company has a cell that can produce three parts: A, B and C. The time
required to produce each part is 25, 80, and 10 minutes for each part respectively.
The value to produce the parts is 5 riyals, 20 riyals, and 1 riyal respectively. How
would you schedule the parts through the cell to minimize the value of work in
process?
2.18 Consider the following problem: 1/ rj / Σ Fj and find the best schedule using
the appropriate dispatching rule (not optimal) which will give the minimum total
flow time with release time using the following data:
Job 1 2 3 4 5 6 7 8 9 10
Pi 16 11 6 18 2 20 19 20 8 16
ri 22 6 0 6 21 7 29 121 64 48
2.19 Use the weighted shortest processing time to find the optimal solution for the
data under consideration. Then, compute total weighted completion time. Also,
compute flow time for each job in the shop
Job 1 2 3 4 5 6
pj 8 4 9 12 11 4
wj 3 2 1 6 5 7
2.20 Consider 1 | | Lmax problem with the following the processing times and due
dates
Job 1 2 3 4 5 6 7
Pj 6 18 12 10 10 17 16
dj 8 42 44 24 90 85 68
Find the optimal sequence and compute Lmax and L .
Job 1 2 3 4 5
Pj 6 18 12 10 10
rj 0 18 12 8 8
dj 8 42 44 24 90
Find the optimal sequence using the branch and bound with the preemptive
due date as the lower bound and compute Lmax
Job 1 2 3 4 5
pj 3 9 6 5 12
dj 13 10 7 3 5
Find optimal sequence and show complete schedule
Job 1 2 3 4
pj 6 3 2 4
wj 3 2 1 5
Dj 11 9 12 7
Check for the following relationship from the given data to make initial
sequence
d j ≤ dk , p j ≤ p k,and, ω j ≥ ωk .
Use Branch and Bound method to find optimal solution.
2.28 A manufacturer of charm bracelets has five jobs to schedule for a leading
customer. Each job requires a stamping operation followed by a finishing
operation. The finishing operation can begin immediately after its stamping is
complete for any item. The table below shows operation times per item in
minutes for each job. At the stamping operation, each job requires set-up before
processing begins, as described in the table. Find a schedule that completes all
five jobs as soon as possible.