Module 1.1 Scheduling 2
Module 1.1 Scheduling 2
1
Loading, Sequencing and Scheduling
2
Loading, Sequencing and Scheduling (continued)
Loading: Which department is going to do what work?
Scheduling: What are the start and finish times of each job?
3
Loading
Loading, also called shop loading assigns the work to various facilities like divisions,
departments, work centers, load centers, stations, machines and people.
We will often use the term “machines” in this presentation when we refer to a facility.
4
Loading vs. Aggregate Planning
However, the loading function loads the real jobs and not the forecast.
If the aggregate scheduling job was done well, then the appropriate kinds and amounts
of resources will be available for loading.
5
Scheduling
A production schedule is the time table that specifies the times at which the jobs in a
production department will be processed on various machines.
The schedule gives the starting and ending times of each job on the machines on which
the job has to be processed.
6
Scheduling Example
Suppose there are three jobs in a production department that are to be processed
on four categories (types) of machines. We designate the jobs as A, B, and C; and
the machine types are designated as M1, M2, M3, and M4.
The three jobs consist of 4, 3, and 4 operations respectively; and there are four
machines - one machine of each type. We designate them as M1, M2, M3, and M4
based on their categories.
The operations for job A are designated as A1, A2, A3, and A4. The operations of
job B are designated as B1, B2, and B3. Similarly the four operations of job C are
designated as C1, C2, C3, and C4.
7
Scheduling Example (continued)
Each job is characterized by its routing that specifies the information about the
number of operations to be performed, the sequence of these operations, and the
machines required for processing these operations.
The times required for processing these operations are also required for
developing a production schedule.
8
Scheduling Example - Data
The table on right hand side (RHS) gives the data for this
example. Job Operation Number
Machine Processing Time
Number (Days)
A A1 M1 5
The table gives the machine required for each operation
A2 M3 3
of each job. For example, the first operation of job A, A1, A3 M4 7
is processed on machine M1; second operation, A2, is A4 M2 4
this table.
9
Scheduling Example – Objective Function
The objective is to schedule these jobs so as to minimize the time to complete all
jobs. This time is called make-span or the schedule time. We will use the term
make-span in this presentation.
10
Scheduling Example Solution – Gantt Chart
One of the schedules for this example is presented below in the form of a Gantt
Chart.
The Gantt chart, for each machine, shows the start and finish times of all operations
scheduled on that machine.
11
Scheduling Example - Alternative schedules
o The first schedule orders jobs as: A first, then B and then C (A-B-C).
o The second schedule orders jobs as: B first, then A, and then C (B-A-C).
o The third schedule orders jobs as: C first, then A, and then B (C-A-B).
The Gantt charts for these schedules are shown in next slide.
The values of make-span for these three schedules are 25, 27 and 30 days respectively.
Schedule A-B-C is the best of these three schedules.
12
Scheduling Example - Alternative Schedules (continued)
Time (Days)
Sequence A-B-C
M1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
A1 A1 A1 A1 A1 C1 C1 C1 C1 (Make-span = 25
M2 B1 B1 C2 C2 C2 C2 C2 C2 A4 A4 A4 A4 days)
M3 A2 A2 A2 B2 B2 B2 B2 B2 B2 C3 C3 C3 C3 C3 C3 C3 C3
M4 A3 A3 A3 A3 A3 A3 A3 B3 B3 B3 B3 B3 B3 B3 B3 C4 C4
Sequence B-A-C
(Make-span = 27
days)
Time (Days)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Sequence C-A-B
M1 C1 C1 C1 C1 A1 A1 A1 A1 A1
(Make-span = 30
M2 B1 B1 C2 C2 C2 C2 C2 C2 A4 A4 A4 A4
days)
M3 B2 B2 B2 B2 B2 B2 A2 A2 A2 C3 C3 C3 C3 C3 C3 C3 C3
M4 A3 A3 A3 A3 A3 A3 A3 C4 C4 B3 B3 B3 B3 B3 B3 B3 B3 13
Scheduling Example - Alternative Schedules (continued)
Is sequence A-B-C the global optimal? Can we find a better sequence than this?
The scheduling techniques attempt to answer these questions.
14
Scheduling Example - Assumptions
Once a job is started on a machine, its processing can not be interrupted, that is,
preemption is not allowed.
The machines are continuously available and will not break down during the
planning horizon. This assumption is rather unrealistic but we make this
assumption to avoid complexity in discussing scheduling concepts.
15
Classification of Scheduling Problems
The scheduling problems can be classified based on the following criteria:
• Sequence of machines
• Number of machines
• Processing times
• Job arrival time
• Objective functions
16
Sequence of Machines
The sequencing problems, based on the sequence of machines, are classified as:
➢ Flow Shops
➢ Job Shops
17
Flow Shop
In a flow-shop , processing of all jobs require machines in the same order.
The following table gives an example of a flow-shop in which three jobs, A, B, and C are processed
on four machines, M1, M2, M3, and M4.
A A1 A2 A3 A4 M1 M2 M3 M4
B B1 B2 B3 B4 M1 M2 M3 M4
C C1 C2 C3 C4 M1 M2 M3 M4
18
Job Shop
In a job shop the sequence of machines will be mixed, that is, the jobs
may require machines in different sequences.
A A1 A2 A3 A4 M1 M3 M4 M2
B B1 B2 B3 M2 M3 M4
C C1 C2 C3 C4 M1 M2 M3 M4
19
Number of Machines
Based on the number of machines, the scheduling problems are classified as:
20
Processing Times
➢ Deterministic: If processing times of all jobs are known and constant the scheduling
problem is called a deterministic problem.
21
Job Arrival Times
Based on this criterion, scheduling problems are classified as static
and dynamic problems.
➢ Static: In the case of static problems the number of jobs is fixed and
will not change until the current set of jobs has been processed.
22
Objective Functions
Scheduling researchers have studied a large variety of objective functions. In this
presentation, we will focus on the following objectives.
➢ Minimize make-span
➢ Minimize average flow time (or job completion time)
➢ Average number of jobs in the system
➢ Minimize average tardiness
➢ Minimize maximum tardiness
➢ Minimize number of tardy jobs
23
Objective Functions (continued)
Minimizing make span is relevant for two or more machines.
In this presentation we will discuss the scheduling rule for static and deterministic flow shop
problems consisting of two machines where the objective is to minimize make-span.
The other five objectives can be used for any number of machines, both deterministic and
probabilistic processing times, and for static as well as dynamic problems.
However, we will study these objective functions for a single machine, deterministic and static
problems.
The scheduling rule for job shops and for more than three machines are complex and beyond the
scope of this presentation. 24
Example: 2-Machines Flow Shop
Consider a problem with five jobs (A, B, C, D, and E); and two machines
designated as M1 and M2.
All five jobs consist of two operations each. The first operation of each job is
processed on machine M1; and the second operation is processed on machine M2.
The next slide gives the machines required for each job; and the processing times
for each operation of each job.
25
Data for a 2-Machine Flow Shop
26
Scheduling Objective
The scheduling objective is to find an optimal sequence that gives the order in which the five
jobs will be processed on the two machines.
Once we know a sequence, the time to complete all jobs can be determined. This time is called
the schedule time, or the make-span. The optimal sequence is the one that minimizes make-
span.
For example, A-B-C-D-E is a sequence order that tells us that A is the first job to be processed; B
is the second job and so on. E is the last job to be processed. Is it optimal?
27
Number of Sequences
For this 5-job problem there are 120 (5!) different sequences. For a six-job problem, the
number of sequences will be 720 (6!).
Let us find the make-span for one of these sequences, say A-B-C-D-E. We will draw a
Gantt chart to find make-span.
28
Gantt Chart
Sequence A-B-C-D-E
The Gantt chart for the sequence A-B-C-D-E is given below. We are assuming that the
sequence is the same on both machines.
Our objective is to identify the sequence that minimizes the value of make-span.
Time (Days)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
M1 A1 A1 A1 A1 A1 A1 A1 A1 B1 B1 B1 B1 B1 C1 C1 C1 C1 C1 C1 D1 D1 D1 D1 D1 D1 D1 E1 E1 E1 E1
M2 A2 A2 A2 B2 B2 B2 B2 B2 B2 B2 C2 C2 C2 C2 C2 C2 C2 C2 C2 D2 E2 E2 E2 E2 E2 E2
29
Identifying the best sequence
There may be multiple optimal sequences.
We will study Johnson’s rule that identifies one of these optimal sequence.
30
Johnson’s Rule
to Minimize Make-span
We use the following four step process to find the optimal sequence.
Step 1: Find the minimum processing time considering times on both machines.
Step 2: Identify the corresponding job and the corresponding machine for the
minimum time identified at Step 1.
31
Johnson’s Rule (continued)
Step 3: Scheduling Rule
(a) If the machine identified in Step 2 is machine M1 then the job identified in
Step 2 will be scheduled in the first available schedule position.
(b) If the machine identified in Step 2 is machine M2 then the job identified in
Step 2 will be scheduled in the last available schedule position.
Step 4: Remove the job from consideration whose position has been fixed in Step 3; and go
to Step 1.
Continue this process until all jobs have been scheduled.
32
Johnson’s Rule (continued)
Johnson’s rule makes the following assumptions:
➢ Preemption is not allowed, that is, once a job is started it is not interrupted.
33
Iteration 1
Operation # 2
Operation # 1
Operation # 2
Machine for
Machine for
Step 2: The job is D and the machine is M2.
# 1 (Days)
# 2 (Days)
Job
Step 3: Since the machine identified at Step 2
is machine M2, job D will be assigned to the
last available sequence position which is
A A1 A2 M1 M2 8 3
position 5; and the resulting partial sequence
B B1 B2 M1 M2 5 7
is given below.
C C1 C2 M1 M2 6 9
Position 1 Position 2 Position 3 Position 4 D D D1 D2 M1 M2 7 1
E E1 E2 M1 M2 4 6
Step 4: Delete job D from consideration.
34
Iteration 2
Step 1: The next minimum time is 3.
Operation # 1
Operation # 2
Operation # 1
Operation # 2
Machine for
Machine for
Step 3: The job A will be assigned to the last
1 (Days)
2 (Days)
Job
available schedule position, which is position 4.
After assigning job A to position 4, the partial
sequence is given below.
A A1 A2 M1 M2 8 3
Position 1 Position 2 Position 3 A D
B B1 B2 M1 M2 5 7
Schedul
D D1 D2 M1 M2 7 1
ed
E E1 E2 M1 M2 4 6
35
Iteration 3
Step 1: The minimum time is 4.
Operation # 2
Operation # 1
available schedule position, which is position 1.
(Days)
(Days)
Job
The partial sequence after assigning job E to
position 1 is given below.
Position Position
E A D
2 3 Schedule
A A1 A2 M1 M2 8 3
Step 4: Delete job E from consideration d
B B1 B2 M1 M2 5 7
C C1 C2 M1 M2 6 9
Schedule
D D1 D2 M1 M2 7 1
d
E E1 E2 M1 M2 4 6
36
Iteration 4
Step 1: The minimum time is 5.
Operation # 1
Operation # 2
Operation # 1
Operation # 2
Machine for
Machine for
# 1 (Days)
# 2 (Days)
Step 3: The job B will be assigned to the
Job
first available schedule position, which is
position 2. The partial sequence after
assigning job B to position 2 is given below.
Schedul
Position A A1 A2 M1 M2 8 3
E B A D ed
3
B B1 B2 M1 M2 5 7
Step 4: Delete job B from consideration
C C1 C2 M1 M2 6 9
Schedul
D D1 D2 M1 M2 7 1
ed
Schedul
E E1 E2 M1 M2 4 6
ed
37
Iteration 5
The only unscheduled job at this stage is C and;
Operation # 2
Operation # 1
Operation # 2
it will be assigned to the remaining unassigned
Machine for
Machine for
# 1 (Days)
# 2 (Days)
position 3.
Job
The final sequence is given below.
The value of make-span for this sequence will
be determined by drawing the Gantt chart. Schedul
A A1 A2 M1 M2 8 3
ed
Schedul
B B1 B2 M1 M2 5 7
ed
E B C A D C C1 C2 M1 M2 6 9
Schedul
D D1 D2 M1 M2 7 1
ed
Schedul
E E1 E2 M1 M2 4 6
ed
38
Finding Make-span
The sequence E-B-C-A-D identified by Johnson’s rule guarantees the minimum
value of make-span.
However, Johnson’s rule does not give the value of make-span. It only identifies
the best sequence.
The value of make-span is obtained either by drawing the Gantt chart or a
computerized algorithm can be developed.
The Gantt chart for this optimal sequence is given in the next slide.
39
Sequence E-B-C-A-D
The Gantt chart for the sequence E-B-C-A-D is given below. The value of make-
span is 31 days.
The optimal (minimum) value of make-span for this problem is therefore, 31 days.
Time (Days)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
M1 E1 E1 E1 E1 B1 B1 B1 B1 B1 C1 C1 C1 C1 C1 C1 A1 A1 A1 A1 A1 A1 A1 A1 D1 D1 D1 D1 D1 D1 D1
M2 E2 E2 E2 E2 E2 E2 B2 B2 B2 B2 B2 B2 B2 C2 C2 C2 C2 C2 C2 C2 C2 C2 A2 A2 A2 D2
40
Multiple Sequences
It may be noted that multiple optimal sequences are possible for a
given problem. It means that several sequences can have the same
minimum value of make-span.
For example, for the problem studied in previous slides, the
sequence E-C-B-A-D also gives a make-span of 31 days. TRY IT.
However, Johnson’s rule identifies only one of these sequences.
41
Breaking Ties
It might happen at Step 1, that there are more than one minimum times. In such a
situation, which job should be picked up for assignment.
We will discuss three different cases of these ties.
Case 1: Minimum time is on both machines but for different jobs.
Case2: Minimum time is on the same machine but for different jobs.
Case 3: Minimum time is on both machines but for the same job.
42
Ties: Case 1 - Data
Consider the problem given below. The minimum time is 1 but occurs at two places
– Job A at M1 and Job D at M2.
A A1 A2 M1 M2 1 3
B B1 B2 M1 M2 5 7
C C1 C2 M1 M2 6 9
D D1 D2 M1 M2 7 1
E E1 E2 M1 M2 4 6
43
.
In either case, the resulting partial sequence after both A and D are scheduled, is given below.
The scheduling algorithm continues until all jobs are scheduled. The final sequence is also shown below.
44
Ties: Case 2 - Data
Consider the problem given below. The minimum time is 1 but occurs at two places – Job B at M2 and Job D at
M2.
A A1 A2 M1 M2 8 3
B B1 B2 M1 M2 5 1
C C1 C2 M1 M2 6 9
D D1 D2 M1 M2 7 1
E E1 E2 M1 M2 4 6
45
Ties: Case 2 – Solution
The ties are broken at random.
In this case, two different partial sequences will result based on which job is selected first. These partial
sequences are shown below.
A A1 A2 M1 M2 8 3
B B1 B2 M1 M2 5 7
C C1 C2 M1 M2 2 2
D D1 D2 M1 M2 7 9
E E1 E2 M1 M2 4 6
47
Ties: Case 3 - Solution
The ties are broken at random.
In this case, two different partial sequences will result based on which combination is selected
first. These partial sequences are shown below.
Note: C can be the first job or the last job in the optimal sequence
Partial Sequence if C on M1 is selected first
C Position 2 Position 3 Position 4 Position 5
Final sequence if C on M1 is selected first
C E B D A
The general rule is to break the ties at random. However, we will break the ties in the alpha
order, that is A before B etc. For case 3, the ties will be broken by the rule machine M1
before machine M2.
All resulting sequences, irrespective of the tie breaking rule, will give the same minimum
value of the make-span.
49
Single Machine Scheduling
50 50
Scheduling Rules
There are several rules that can be used to find the order of processing.
We will study the following three rules.
51 51
Objective Functions
There are several objective functions that can be minimized in a single machine problem.
We will study the following objective functions.
52 52
Example
E 26 47
53 53
First Come First Served (FCFS)
The table on RHS gives answers by using the
FCFS rule. The order of processing is A, B, C, D, First Come First Served
and E. Completion
Job Time Due Date Tardiness
Time
A is the first job to be processed and will be
completed at time 17. Its due date is 45. So job A A 17 45 17 0
is not late (tardy); tardiness is zero. B 12 35 29 0
C 22 27 51 24
Job B starts after job A, and is completed at
time 29 (17+12). This is also not tardy. D 18 54 69 15
E 26 47 95 48
In this way the completion time and tardiness
of all jobs are completed. Tardiness = Completion Time – Due Date
54
FCFS: Calculation of Objective
Functions
Average Completion Time: Add completion times of all
jobs and divide by the number of jobs (261/5). It is 52.5.
56
Earliest Due Date (EDD)
Earliest Due Date
The jobs are processed in the Job Time Due Date
Completion
Tardiness
increasing order of their due dates. Time
C 22 27 22 0
B 12 35 34 0
The job with the minimum due date A 17 45 51 6
(C) is processed first; and is followed by E 26 47 77 30
B, A, E, and D. D 18 54 95 41
Total 279 77
The calculations of the objective
functions follow the same procedure as Average Completion Time 55.8
Average Number of Jobs in System 2.94
for the FCFS rule
Average Tardiness 15.4
Maximum Tardiness 41
Number of Tardy Jobs 3
57 57
Thank you.
58