Job Shop Scheduling
Job Shop Scheduling
Job Shop
A work location in which a number of
general purpose work stations exist and are
used to perform a variety of jobs
Example: Car repair each operator
(mechanic) evaluates plus schedules, gets
material, etc. Traditional machine shop,
with similar machine types located together,
batch or individual production
Arrival Pattern
Number of Machines (work stations)
Work Sequence
Performance Evaluation Criterion
Gantt Chart
Simple graphical display technique suitable for
less complex situations
This does not provide any rules for choosing but
simply presents a graphical technique for
displaying results (and schedule) and for
evaluating results (makespan, idle time, waiting
time, machine utilization, etc.)
Machine 1
Machine 2
13
Machine 2
Machine 1
3 2
10
15
20
25
30
35
Scheduling Solutions
N jobs, 1 machine
N jobs, 2 machines (flow shop)
N jobs, 2 machines (any order)
N jobs, 3 machines (flow shop)
N jobs, M machines
F[ k ] = P[ i ]
i =1
F=
[k ]
k =1
P
k =1 i =1
F=
(n i + 1) P
i =1
[i ]
Fw =
w F
i =1
[i ]
...
w[1] w[ 2 ] w[ 3]
w[ n ]
Scenario 1 - example
Processing Time:
Job
P/w
10
2.0
10
0.6
1.0
4.0
0.67
1.60
Mach 1
Mach 2
Example cont.
Machine 2
2 4
10
15
Makespan = 21
Mach 1 = 0 idle plus 4 end of day
Machine 2 = 2 idle + 1 beginning of day
2 wait units (job 3,1)
20
25
Establish 4 sets:
{A} set of jobs only on machine 1
{B} set of jobs only on machine 2
{AB} set of jobs processing on 1, then 2
{BA} set of jobs processing on 2, then 1
Sequence jobs in {A,B} by Johnsons Rule
Sequence jobs in {B,A} by Johnsons Rule
Sequence jobs in {A} and {B} at random
Combined as follows without changing order in any set:
Machine 1 : Jobs in {A,B} before jobs in {A} before jobs in {B,A}
Machine 2 : Jobs in {B,A} before jobs in {B} before jobs in {A,B}
PA
PB
Order
AB
AB
AB
AB
BA
BA
10
11
BA
12
BA
Machine A
MachineB
Scenario 3 - Example
6
11
10
15
10
12
20
25
30
11
35
40
45
48
2 Jobs, m Machines
Example:
Job 1 Sequence Machine D, B, A, C
Job 2 Sequence Machine A, B, C, D
Processing time for each job on each machine
Job
Machine A
Machine B
Machine C
Machine D
Time Unit
Machine C
Schedule by graph
Machine A
15
Machine B
5
Machine D
Job 2
10
Time Unit
10
5
Machine A
Machine B
Job 1
Machine C
Machine D
N Jobs, M Machines
Number of possible schedules is
extremely large, (n!)m
Almost all solved by heuristics which
are based on sequencing or
dispatching rules.
N Jobs, M Machines
List of Heuristics are as follows:
1. R (Random) Pick any Job in Queue with equal probability. This rule is often used as
benchmark for other rules
2. FCFS (First Come First Serve) Jobs are processed in the order in which they arrived at
the work center (also called earliest release date)
3. SPT (Shortest Processing Time) This rule tends to reduce both work-in-process
inventory, the average job completion (flow) time, and average job lateness.
4. EDD (Earliest Due Date) Choose Job that has earliest due date
5. CR (Critical Ratio) = Processing Time / Time until due (Due Date Current Time).
Take the highest value.
6. LWR (Least Work Remaining) This rule is an extension of SPT variant that considers
the number of successive operations
7. ST (Slack Time) = Time until job is due - (Sum of processing time remaining). Take the
job with the smallest amount of slack time.
8. ST/O (Slack Time per Remaining Operation) = slack time divided by number of
operations remaining. Take the job with the smallest amount of slack time per remaining
operation
When in Doubt, use SPT. Also, use SPT to break ties.