Download - Scheduling
1
LESSON 12: INTRODUCTION TO OPERATIONS SCHEDULING
Outline
• Hierarchy of Production Decisions• Operations Scheduling• Production Systems
2
Hierarchy of Production Decisions
• After a production facility and processes are set up, a series of production planning decisions are required. The entire decision making process may be viewed as a hierarchical process. A conceptual view of the hierarchical process is given in Text Figure 8-1 (see the next slide).
• First, one would like to know how much demand may be expected and when the demand may be expected. This question is addressed by forecasting.
• An aggregate plan determines the aggregate production levels and resource capacities over the planning horizon. The production levels are often different from the
3
Aggregate Plan
Forecast of demand
Material Requirements Planning System
Master Production Schedule
Detailed Job Shop Schedule
Figure 8-1: Hierarchy of Production Decisions
4
Hierarchy of Production Decisions
forecasted demand levels because of seasonality associated with the demand, constraints on the availability of production resources, etc. The resource capacities such as workforce levels are determined assuming one aggregate unit of production.
• Master production schedule (MPS) translates the aggregate plan in terms of specific units of production and time period. For example, an aggregate plan may require 550 units of chairs in April. MPS then translates the requirement into 200 units of desk chair in Week 1, 150 units of ladder-back chair in Week 2 and 200 units of Kitchen chair in Week 3.
5
Hierarchy of Production Decisions
• The MPS generates the production plan in terms of finished products which often require components or subassemblies. The materials requirements planning (MRP) computes the changes in the inventory levels of components and subassemblies over the planning horizon and determines the size and timing of ordering the components and subassemblies.
• Next comes operations scheduling. After generating demand forecast, workforce capacities, production plan, and purchasing plan, it’s logical to ask which worker or machine will be used to produce which product and when the products will be produced. This is answered by operations scheduling.
6
• An operations scheduling question is given in the previous slide. In more general terms, operations scheduling is the allocation of resources over time to perform a collection of tasks.
• Examples of resources:– Workers, Machines, Tools
• Examples of tasks:– Operations that bring some physical changes to material in
order to eventually manufacture products– Setups such as walking to reach the workplace, obtaining
and returning tools, setting the required jigs and fixtures, positioning and inspecting material, cleaning etc.
Operations Scheduling
7
• Operations and Jobs– The above definition of scheduling uses the more general
term of task that includes both operations and setup. – We shall most often use the terms operation and job.– A collection of operations on a single product is a job.
• The planning horizon– The planning horizon of a scheduling decision is very short
say days, weeks or months.• Schedule
– A schedule is the final outcome of operations scheduling and gives a detail chart of what activities will be done using various resources over the planning horizon.
Operations Scheduling
8
• Sequencing– Sequencing and scheduling are similar terms. But
sequencing does not refer to time. For example, if a bank teller processes 5 customers, the bank teller may just process the customers on a first come first served basis without any planning about exact start and end times for each customer. That’s sequencing. Scheduling, in contrast, produces a detail plan of various activities over time.
• A Gantt chart representation of a schedule– A Gantt chart representation of a schedule is shown on the
next slide. Suppose that there are two machines: one lathe machine and one grinding machine. Two jobs Job A12 and Job B23 are to be produced over the next 14 days.
Operations Scheduling
9
Operations Scheduling
G rinding m achine
2 4 6 8 10 12
D ays
14
Lathe m achine Job A12
Job A12
Job B23
Job B23
10
– The schedule shown on the Gantt chart gives a detail plan:• The lathe machine will be used by Job A12 on days 1-4,
and Job B23 on days 5-8• The grinding machine will be used by Job A12 on days
5-10 and Job B23 on days 11-14.– Notice that
• No job uses more than one machine simultaneously• No machine processes more than one job
simultaneously. • The above are some standard assumptions/
requirements which will be maintained throughout this chapter/ course.
Operations Scheduling
11
– As it is in the example Gantt chart, it is customary to show:• resources such as machines on the y-axis • time on the x-axis and • each job (or operation) by a rectangle proportional to
the length of the time required to process the job (or operation).
– The Gantt chart is used not only for planning but also for monitoring. For example, on Day 8, one can check if Job B23 is completed by the lathe machine.
– There will be more exercises on Gantt chart in Lessons 2, 5, 6 and 9.
Operations Scheduling
12
Operations Scheduling
• Generalization of scheduling models, job and machine– The scheduling models use the terms like job and
machine. However, the models actually apply to many processes that has nothing to do with jobs and machine at all!
– For example, suppose that Mary and Marcia require advising in three subjects: business, computer science and mathematics. Each of Mary and Marcia will see the advisors separately. They would like to complete discussions as soon as possible. One can view the situation a 3-machine, 2-job problem where the machines represent the advisors and jobs represent Mary and Marcia.
13
Production Systems
• Product characteristics differ. • Some products are standard and require minimal or no
variation from one item to another. These products are produced in large volume on the basis of demand forecast. Examples of standard products include staple products, economy cars, etc.
• Some other products are produced only on the basis of customer order and there exist significant differences among the items. These products are produced in low volumes. Examples of custom products include luxury cars, fashion clothes, etc.
14
Production Systems
• Different product characteristic requires a different production system.
• Standard products require a– make-to-stock or assemble-to-stock production system
• Custom products require a– make-to-order or assemble-to-order production system
15
Production Systems: Flow Shop
• A make-to-stock/assemble-to-stock production system is associated with– High volume of production: so, it’s feasible to make a
high capital investment– Less variation: so, there is less uncertainty– Standard products: so, there is a predictable pattern of
flow of jobs through the machines. – The above characteristics of products encourages the
use of a flow shop: the machines are arranged in the order in which every job visits the machines. The production system is not flexible; it cannot produce items if design changes significantly.
16
IN
OUT
Production Systems: Flow Shop
The above picture is a conceptual view of a flow shop. The boxes represent machines and the arrows show the job flow. Every job visits the machines in the same order.
17
Production Systems: Job Shop
• A make-to-order/assemble-to-order production system is associated with– Low volume of production: so, it’s not feasible to make a
high capital investment– More variation: so, there is more uncertainty– Custom products: so, there is no predictable pattern of
flow of jobs through the machines. – The above characteristics of products encourages the
use of a job shop: the machines are arranged functionally. So, the production system is flexible; it can produce items of a wide variety of designs.
18
L
L
L
L
L
L
L
L
L
L M
M
M
M
D
D
D
D
D
D
D
D
G
G
G
G
G
G
P
P
A A AReceiving andShipping Assembly
Painting Department
Lathe DepartmentMilling
Department Drilling Department
Grinding Department
Production Systems: Job Shop
A conceptual view of a job shop
19
Production Systems: Batch Production
• In between flow shop and job shop, there is batch production that gives best of both shops (flow shop and job shop) to some extent.
• A batch production system is flexible like a job shop, but capable of producing a moderately high volume like a flow shop.
• Similar but different products are produced using the same facility, machine or workforce. However, the system is associated with setups. Whenever the facility, machine or worker switches from producing one product to another, a setup time or cost is needed.
20
Production Systems: Batch Production
• Between two successive setups a batch of the same product is produced.
• Now, look at the problem: – If the batch size is too high, all the other products
requiring the facility, worker or machine will have to wait for a very long time.
– If the batch size is too small, most of the time will be spent on setups and there will be nothing to sell.
• So, the batch size must be neither too large, nor too small. Similarly, the volume of production must be moderate.
21
Production Systems: Batch Production
• Examples:– Books– Pastry– Painting– Automobile gears (the
picture shows a Computer Numerical Control (CNC) machine used to produce gears)
22
Production SystemsProject and Continuous Production
• Flow shop is not the extreme case with respect to the high volume of production. The continuous production system is used in process industry e.g., oil refinery is set up to produce products with little or no variety 24 hours/day and 7 days/week.
• Job shop is not the extreme case with respect to flexibility or customization. Huge projects are managed to produce a bridge, a sky-scraper, an aeroplane, a submarine, etc.
23
Job Shop
Batch production
ShopFlow C
ust
om
izat
ion
High
LowHighLow
Volume
Project
Production Systems
ContinuousProduction
24
Job Shop
Batch production
ShopFlow C
ust
om
izat
ion
High
LowHighLow
Volume
Project
ContinuousProduction
Aircraft
Custom-madeMachine and Parts
Books
Automobile
Oil refinery
Production Systems
25
Job Shop
Batch production
ShopFlow C
ust
om
izat
ion
High
LowHighLow
Volume
Project
ContinuousProduction
Labor Intensive
CapitalIntensive
Production Systems
26
READING AND EXERCISES
Lesson 12
Reading:
Section 8.1, pp. 413-416 (4th Ed.), pp. 404-405 (5th Ed.)
Exercises:
8.3a, 8.3b, p. 425 (4th Ed.), p. 413 (5th Ed.)
8.31 (identify the job and machine) p. 464 (4th Ed.), p. 450 (5th Ed.)
27
LESSON 13: SCHEDULING OBJECTIVES
Outline
• Job Characteristics• Comparison of Schedules• Scheduling Terms• Scheduling Objectives
28
Job Characteristics
• Lesson 1 provides a brief discussion on production systems. We have discussed some alternative ways of arranging machines. In this lesson, we shall first discuss some job characteristics and scheduling objectives.
• Generally, every job is different (an exception is an assembly line where the jobs are identical). For example, in case of a make-to-order or an assemble-to-order production system, every order – is placed at a different time, – requires a different amount of processing time and – is delivered at a different time.
29
Job Characteristics
• Job characteristics are important inputs to job shop, batch production and flow shop scheduling. Every job has a– ready time: the time when the job arrives at the shop floor– processing time: the time required to process the job– due date: the time when the job must be completed
• Notation:
jd
jt
jr
j
j
j
job for date Due
job for time Processing
job for timeReady
30
Job Characteristics
• Assumptions: – A machine can process one job at a time– A job can be processed by one machine at a time– We usually assume an equal importance and the same
arrival time for all jobs (Example 1 is an exception, where jobs arrive at different times). Further, we assume that preemption is not allowed. So, once a job is started on a machine, the job must be completed before another job can be processed by that machine.
31
Comparison of Schedules
• First, we shall see an example where no schedule is best in every criteria.
• Example 1: Suppose that a production facility starts at 8:30 am. Two jobs will be processed. Job 1 can be started right away, will require 2 hours to process and the customer wants the job done by 12:30 pm. Job 2 can be started not until 9:30 am, will require 1 hour to process and the customer wants the job done by 10:30 am.
• It’s customary to set start time, and express all other times with a suitable unit.
• So, set at 8:30 am and express all other times in hours.
0t
0t
32
Comparison of Schedules
• So, Job 1 has a ready time of 0 hour (can be started right away), processing time of 2 hours and due date of 4 hours (due at 12:30 pm, 4 hours after the start of the process)
• Similarly, Job 2 has a ready time of 1 hour (can be started not until 9:30 am), processing time of 1 hour and due date of 2 hours (due at 10:30 am, 2 hours after the start of the process)
• The job characteristics so obtained are shown below:
JobR eady
T im e (hr)P rocess ingT im e (hr)
D ueD ate (hr)
1 0 2 42 1 1 2
j jr jt jd
33
Comparison of Schedules
• There are two alternative schedules (sequences)
Schedule 1: process Job 1 first, then Job 2.
Schedule 2: process Job 2 first, then Job 1.• Schedule 1 (see the next slide):
– Only 3 hours will be needed to complete the jobs. – However, Job 2 can be completed at time 3 which is
late by 1 hour.• Schedule 2 (see the next slide):
– Both the jobs are completed right when they are needed.
– However, a total of 4 hours will be needed
34
Comparison of Schedules
• Schedule 1 requires the facility to be open for fewer hours (3 hours only in contrast to 4 hours required by Schedule 2)
• Schedule 2 meets the due dates (Schedule 1 does not)
T im e,
Job 1
t1 2 3 40
Schedule 1
Job 2
2d 1d
T im e, t
Job 1
1 2 3 40
Schedule 2
Job 2
2d 1d
35
Comparison of Schedules
• Next, we shall see a similar example with a different pair of criteria.
• Example 2: An auto repair shop has a space problem and requires parking fees for all cars waiting for service. The shop starts at 8:30 am and two cars are waiting to be repaired. Car 1 will require 1 hour and the customer wants the job done by 12:30 pm. Job 2 will require 3 hours and the customer wants the job done by 11:30 am.
C arR eady
T im e (hr)P rocess ingT im e (hr)
D ueD ate (hr)
1 0 1 42 0 3 3
j jr jt jd
36
Comparison of Schedules
• Schedule 3 requires less parking fees (1 hour only in contrast to 3 hours required by Schedule 4)
• Schedule 4 meets the due dates (Schedule 3 does not)
T im e,
C ar 2
t1 2 3 40
Schedule 3
C ar 1
2d 1d
T im e,
C ar 2
t1 2 3 40
Schedule 4
C ar 1
2d 1d
37
Scheduling Terms
• Static versus dynamic scheduling– In static scheduling, jobs are all available for
processing right at time when the processing starts. An example is a grocery store that collects orders online. When the manager comes to the store at 8:30 am, the manager finds orders collected throughout the night and must be delivered on that day.
– In dynamic scheduling, jobs are not available all at time . An example is a bank where customers arrive throughout its service hours.
0t
0t
38
Scheduling Terms
• Deterministic versus stochastic scheduling– In deterministic scheduling, the job characteristics such
as ready time, processing time, and due date, are all known with certainty. Processing times required by machines may be predicted precisely.
– In stochastic scheduling, the job characteristics are uncertain. Some parameters such as mean and variance are assumed to be known from historical observation. The service times required by workers are often assumed to be uncertain.
jr jdjt
39
Scheduling Terms
• Feasible versus Infeasible schedule– A feasible schedule meets all the constraints and an
infeasible schedule does not. Precedence constraints often associate with the scheduling process. A precedence constraint puts restriction on the sequence of operations. For example, a painting process may have three stages: cleaning the product, surface activation for paint adhesion, and select and application of paint. These stages must be performed in the stated sequence. A schedule is not feasible if the jobs are not processed in that sequence.
40
Scheduling Terms
M 1 M 2 M 3
E nter
E x it
Jobs
M a ch ines
• Parallel versus sequential processing– In parallel processing, there
are multiple identical machines and a job can be processed by any machine. An example is a computer with multiple processors. Another example is a bank with multiple tellers. On the right, see a conceptual view with 3 parallel machines, M1, M2 and M3.
41
Scheduling Terms
• Parallel versus sequential processing– In a sequential processing, jobs are sequentially
processed through the machines. An example is McDonald’s drive through that has three stages: place order, pay and pick-up. Below, see a conceptual view with 3 sequential machines M1, M2 and M3.
M 1 M 2 M 3E nter E x it
Jobs
M a ch ines
42
Scheduling Terms
• Completion time versus flow time– Completion time of Job is the epoch when a job
is completed. The length of time is computed from the start of operations.
– Flow time is a similar term. However, the length of time is computed from the arrival of the job. Flow time of Job is the length of time between arrival and completion of the job. So,
– Between arrival and completion, a job is either in queue for a machine or processed by a machine. So, where is the waiting time of Job
jCj ,
jFj ,
jjj rCF
jjj tWF jW j
43
Scheduling Terms
• Completion time versus flow time
Example 3: Consider Example 1, Schedule 1 on slides 5-8. The facility starts at 8:30 am, Job 2 arrives at 9:30 am, waits for an hour before its processing starts at 10:30 am, and the job is completed at 11:30 am. The completion time and flow time are shown below:
• Set at 8:30 am and the unit of time = hour • Job 2 is completed at 11:30 am, 3 hours after the
start of operation, so completion time, = 3 hours.• Job 2 arrives at 9:30 am, 1 hour after the start of
operation, so
0t
2C
hours
and hour
213
1
222
2
rCF
r
44
Scheduling Terms
• Completion time versus flow time
– Important note: if all the jobs are ready for processing at , as they are in static scheduling, then completion time is just the same as flow time.
0t
0 jjj rCF if
T im e,
Job 1
t1 2 3 40
Schedule 1
Job 2
2r
2C2F
45
Scheduling Terms
• Lateness versus tardiness– Lateness of job – So, lateness of a job may be
• negative, if the job is early• zero, if the job is completed right when it’s due• positive, if the job is late
– Often, earliness is not rewarded but lateness is penalized. So, another term, tardiness is used which is a non-negative quantity. Tardiness is zero or the same as lateness. If the job is early or completed when it’s due, tardiness is set to zero. Otherwise, the job is late, and tardiness is set to its lateness.
jjj dCLj ,
46
Scheduling Terms
• Lateness versus tardiness– Tardiness of job – In other words, tardiness of job
• 0, if it’s completed on or before its due date, • , if it’s completed after its due date,
Example 4: Consider Example 1, Schedule 1 on slides 5-8. . The lateness and tardiness of Jobs 1 and 2 are computed on the next slide.
jj LTj ,0max,
0jL 0jL jL
2,4,3,2 2121 ddCC
jTj ,
47
Scheduling Terms
• Lateness versus tardiness
– Job 1 is early. So, its lateness is negative and its tardiness is 0.
– Job 2 is late (or tardy). So, its lateness is positive and its tardiness is the same as its lateness.
11,0max,0max
02,0max,0max
123
242
22
11
222
111
LT
LT
dCL
dCL
22
1 0
LT
T
48
Scheduling Terms
• Makespan, maximum lateness, total completion time– These are three important criteria (scheduling
objective) which are often used to choose a best schedule because of their important practical implications.
– Makespan is the completion time of the last job processed. Although makespan is defined as a completion time of a job, it actually measures how long the production facility should remain open.
– Makespan is denoted by ,
nCCCCC ,,,,max 321max maxC
49
Scheduling Terms
• Makespan, maximum lateness, total completion time– In Example 1, Schedule 1, Slide 8, Job 2 is the last
processed job. So, makespan is the completion time of Job 2.
– In Example 1, Schedule 2, Slide 8, Job 1 is the last processed job. So, makespan is the completion time of Job 1.
– Observe that makespan is completion time of Job 1 or Job 2 depending on which job is processed last.
221max 33,2max,max CCCC
121max 42,4max,max CCCC
50
Scheduling Terms
• Makespan, maximum lateness, total completion time– For a single machine static scheduling problem (i.e.,
jobs are all available for processing in the beginning), makespan is the sum of all processing times. However, for a multi-machine problem, makespan may be different from the sum of all processing times.
– Maximum lateness is denoted by
– In Example 1, Schedule 1, Slide 7,
nLLLLL ,,,,max 321max maxL
11,2max,max
123,242
21max
222111
LLL
dCLdCL
51
Scheduling Terms
• Makespan, maximum lateness, total completion time– In Example 1, Slides 5-8, Schedule 1 minimizes makespan and Schedule 2
minimizes maximum lateness.– Total completion time is the sum of all completion times. Notice that total
completion time is not the same as makespan. Total completion time is denoted by
– In Example 2, Slides 9-10, Schedule 3 minimizes not only parking fees but also total completion time. In general, if a schedule frees up space fast, the schedule minimizes total completion time. Schedule 4 minimizes maximum lateness.
nj CCCCC 321
jC
52
Scheduling Objectives
• As it may be observed from Examples 1 and 2, different schedule may be better with respect to different criterion (scheduling objective).
• So, it’s very important to set up a suitable scheduling objective in order to get a suitable schedule.
• There are many scheduling objectives and different situation calls for a different objective.
• The next slide provides a brief list of scheduling objectives divided into four groups.
• See Section 8.5, pp. 423-424 for a discussion on how different situation requires a different schedule.
53
Scheduling Objectives
• Conformance to prescribed deadlines– Meet customer due dates, minimize job lateness,
minimize maximum lateness, minimize number of tardy jobs
• Response time or lead time– Minimize mean completion time, minimize average
time in the system• Efficient utilization of resources
– Maximize machine or labor utilization, minimize idle time, maximize throughput, minimize the length of time the shop is open, minimize utilities and wages
• Costs– Minimize work-in-process inventory, minimize overtime
READING AND EXERCISES
Lesson 13
Reading: – Sections 8.2-8.3, pp. 416-419 (4th Ed.), pp. 406-
409 (5th Ed.)– Section 8.5, pp. 423-424 (4th Ed.), pp. 412-414 (5th
Ed.)
Exercises: – 8.1, 8.2, 8.3 (parts c, d, e) pp. 424-425 (4th Ed.), p.
413 (5th Ed.)
LESSON 14: SCHEDULING WITH PRIORITY SEQUENCING RULES
Outline
• Sequencing• Sequencing Rules• Sequencing Rule Example• Remarks
Sequencing
• As it is discussed in Lesson 1, scheduling and sequencing are similar terms. Scheduling provides a detail plan over time. Sequencing does not refer to time at all.
• Sometimes, a unique schedule follows from a given sequence. In such a case, it’s enough to solve the sequencing problem and not worry about the detail scheduling problem. For example, in Lesson 2, Example 1, Schedule 1 follows from sequencing Job 1 before Job 2 and Schedule 2 follows from sequencing Job 2 before Job 1.
Sequencing Rules
• The first sequencing rule, that comes naturally to everyone’s mind is the first-come first-served (FCFS) rule. We observe this rule several times a day when we visit a bank for a teller’s service, wait in a grocery store check-out, or cross the Ambassador bridge. The rule is simple, but not always the best.
• It’s certainly not desirable that a customer who has to pay for just one bag of bread must wait in a queue behind another customer with a cart full of groceries. So, the express lines are established. This is some sort of implementation of the shortest processing time (SPT) rule.
Sequencing Rules
• You get the most value of money if you pay the bills on the due dates. The simplest rule that comes to mind in presence of due dates is the earliest due date (EDD) rule which requires that the jobs be done in the order in which the jobs are due.
• Often in manufacturing, items are put in a stack. The last item arriving is put on the top and processed first. The last-come first-served (LCFS) rule is also observed in elevators. The person arriving last must step out first.
• The critical ratio (CR) rule combines SPT and EDD rule. The CR rule is explained on the next slide.
Sequencing Rules: Critical Ratio
• CR = time remaining / work remaining
• Each time a job is scheduled, CR is recalculated for every unscheduled job.
• CR selection criteria– Jobs with the smallest CR are run first.– Jobs with negative CR are scheduled first.– If there is more than one job with negative CR,
then those jobs are sequenced in SPT order.
due date - today’s date remaining processing time
=
Sequencing Rule Example
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8
Processing DueJob Time Date
Suppose that 5 jobs will be processed on a single machine. The jobs are ready for processing at time . The other job characteristics are as shown in the table on left.
0t
61
• First, see how many alternatives are there. If there is one job, there is just 1 (=1!) alternative sequence.
• If there are two jobs 1 and 2, there are 2 (=2!) alternative sequences,
1, 2 and
2, 1• If there are three jobs 1, 2 and 3, there are 6 (=3!)
alternative sequences,
1,2,3 1,3,2
2,1,3 2,3,1
3,1,2 3,2,1
Sequencing Rule Example
62
• In general, if there are n jobs, then there are n! sequences.
• So, for example, for 5 jobs, there are 5! = 120 sequences.
• The sequencing rules such as FCFS, SPT, EDD, LCFS and CR provide a specific sequence. Often, these simple rules provide good and useful results.
• The sequencing rules FCFS, SPT, EDD, LCFS and CR will now be applied and various measures will be computed.
Sequencing Rule Example
First-Come First-Served
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8
Average
Start Processing Completion DueSequenceTime Time Time Date Tardiness
64
Shortest Processing Time
C 2 5
A 5 10
E 6 8
D 8 12
B 10 15
Average
Start Processing Completion DueSequenceTime Time Time Date Tardiness
Earliest Due Date
C 2 5
E 6 8
A 5 10
D 8 12
B 10 15
Average
Start Processing Completion DueSequenceTime Time Time Date Tardiness
Last-Come First-Served
E 0 6 6 8 0
D 6 8 14 12 2
C 14 2 16 5 11
B 16 10 26 15 11
A 26 5 31 10 21
Average 18.60 9
Start Processing Completion DueSequence Time Time Time Date Tardiness
LCFS rule: The jobs are arranged in last-come first-served order.
67
• Unlike FCFS, SPT, EDD and LCFS, the CR sequence is obtained by using an iterative procedure. Then, various measures are computed using the CR sequence.
• The CR rule is applied in two phases– Phase I:
• Find the CR sequence using an iterative procedure. In each iteration, one job is assigned to a position. First a job is assigned to the first position, then to the second position, and so on.
Critical Ratio
68
• Initially, the current time is set to zero. In each iteration the current time is augmented by the processing time of the job assigned in the previous iteration.
• Then, CR is computed for every unassigned job. See Slide 5 for the CR formula.
• The CR rule is applied to select the job that will be assigned. See Slide 5 the CR selection criteria.
– Phase II:• Various performance measures are computed using
the CR sequence obtained in Phase I.
Critical Ratio
69
Critical Ratio
Iteration 1
Phase I
Current Time
Job Processing Time
Due Date
Critical Ratio
Assign?
A 5 10 B 10 15 C 2 5 D 8 12 E 6 8
70
Critical Ratio
Iteration 2
Phase I
Current Time
Job Processing Time
Due Date
Critical Ratio
Assign?
A 5 10 B 10 15 C 2 5 D 8 12 E 6 8
71
Critical Ratio
Iteration 3
Phase I
Current Time
Job Processing Time
Due Date
Critical Ratio
Assign?
A 5 10 B 10 15 C 2 5 D 8 12 E 6 8
72
Critical Ratio
Iteration 4
Phase I
Current Time
Job Processing Time
Due Date
Critical Ratio
Assign?
A 5 10 B 10 15 C 2 5 D 8 12 E 6 8
Critical Ratio
E 6 8
C 2 5
A 5 10
D 8 12
B 10 15
Average
Start Processing Completion DueSequenceTime Time Time Date Tardiness
CR rule: The jobs are arranged in order obtained by the iterative procedure shown on Slides 27-32.
Phase II
Summary
FCFS 18.60 9.6 3* 23
SPT 14.80* 6.0 3* 16*
EDD 15.00 5.6* 3* 16*
LCFS 18.60 9.0 4 21
CR 15.80 6.2 4 16*
* Best values
Guaranteed best values are shown in bold
Average Average No. of MaximumRule Completion Time Tardiness Jobs Tardy Tardiness
Remarks
• Observe that the makespan is the same for every schedule. This is expected for a single machine problem if ready times are all zero (static scheduling). For a multi-machine problem, makespan may be different from one schedule to another.
• Total completion time and mean completion time are equivalent objectives. Since mean completion time is obtained from the total completion time by dividing the total completion time by the number of jobs,– if a schedule minimizes total completion time, it
also minimizes mean completion time.
Remarks
• Similarly, total flow time and mean flow time are equivalent objectives. If a schedule minimizes total flow time, it also minimizes mean flow time.
• In case of static scheduling, completion time of a job is the same as its flow time. So, the following objectives are equivalent (if a schedule minimizes one, it also minimizes all other)– Total completion time– Mean completion time– Total flow time– Mean flow time
Remarks
• The objective of minimizing inventory carrying costs such as parking fees in Lesson 2, Example 2, is equivalent to minimizing total completion time. At this point, revisit this example on slides 9-10 of Lesson 2. Check that the total completion time is 1+4=5 for Schedule 3 and 3+4=7 for Schedule 4. Thus, Schedule 3 minimizes not only parking fees, but also total completion time. This holds in general. Minimizing inventory carrying costs is equivalent to minimizing total completion time, mean completion time, total flow time and mean flow time.
Remarks
• Lateness and tardiness are closely related terms. If a schedule minimizes maximum lateness, the schedule also minimizes maximum tardiness. However, the converse is not true. If a schedule minimizes maximum tardiness, the schedule does not necessarily minimize maximum lateness. Thus, maximum lateness and maximum tardiness are not equivalent. Plus, it’s more interesting to minimize maximum lateness because if maximum lateness is minimized, maximum tardiness is also minimized.
• The Earliest Due Date (EDD) rule minimizes maximum lateness and maximum tardiness (for the single machine static scheduling problem).
Remarks
• Total tardiness and mean tardiness are equivalent objectives. • Total lateness and mean lateness are equivalent objectives.• However, total lateness and total tardiness are different.• Total lateness is total completion time minus the sum of the
due dates. Since sum of the due dates is a constant (same for all schedules), minimizing total lateness is equivalent to minimizing total completion time.
• So, the equivalence list grows:
Remarks
• The following objectives are equivalent:– Total completion time– Mean completion time– Total flow time (if ready times are all zero)– Mean flow time (if ready times are all zero)– Total lateness– Mean lateness– Inventory carrying costs
• Shortest processing time (SPT) rule minimizes all of the above objectives (for the single machine static scheduling problem).
Remarks
• Priority rules are not available for minimizing number of tardy jobs. The next lesson will discuss a procedure for minimizing number of tardy jobs.
• Minimizing total tardiness is difficult and not covered.
82
READING AND EXERCISES
Lesson 14
Reading: – Section 8.4, pp. 419-423 (4th Ed.), pp. 409-412 (5th
Ed.)
Exercises: – 8.4, 8.5, pp. 424-425 (4th Ed.), pp. 413-414 (5th
Ed.)
83
LESSON 15: SINGLE MACHINE SCHEDULING
Outline
• Total Completion time• Maximum Lateness• Number of Tardy Jobs• Forward and Backward Scheduling• Precedence Constraints
84
Single Machine Scheduling
• This lesson discusses the single machine scheduling problem. We assume that several jobs must be processed by a single machine. The jobs are all available for processing when the facility starts operation (static scheduling)
• We discuss the problem of minimizing various objective functions such as total completion time, maximum lateness and number of tardy jobs.
85
Single Machine Scheduling
• Minimizing makespan is not included in this lesson. Because in case of our single machine problem, the makespan is constant over all sequences. However, minimizing makespan is important and will be discussed for two or more machines. Because, various costs are directly proportional to makespan. This includes worker’s wages, utilities, overheads etc.
• The last topic of the lesson is a procedure which is applied when there are some precedence constraints.
86
Total Completion Time
• Different schedule provides different values of total completion time. Minimizing total completion time means finding a schedule that provides minimum total completion time.
• Why is it important to minimize total completion time?– See Lesson 3, Slide 40 for some equivalences– Less total completion time means a job stays in
the system (waiting time + processing time) for a shorter duration.
87
Total Completion Time
– So, manufacturing lead time (the time between order placement and order delivery) is less.
– If the system minimizes total flow time (a related objective), the individual customers are likely to experience a faster service (waiting time + service time).
– Since the jobs stay in the system for a shorter duration, the inventory carrying costs are less. To see an example, revisit Example 2, Lesson 2, Slides 9-10.
88
Total Completion Time
• Sequence the jobs in the Shortest Processing Time (SPT) order if there is a single machine and the objective is to minimize– Total (or, mean) completion time (or, flow time)– Total (or, mean) waiting time– Total (or, mean) lateness– Inventory carrying costs
• Revisit Example 2, Lesson 2, Slides 9-10. There are two cars. Car 1 has a processing time of 1 hour and Car 2 has a processing time of 3 hours.
89
Total Completion Time
• Since Car 1 has a smaller processing time than Car 2, the SPT rule requires that Car 1 be processed before Car 2. This is done by Schedule 3.
• So, Schedule 3 is a SPT schedule and it has a total completion time = 1+4 = 5 hours.
• Schedule 4 is a non-SPT schedule and it has a total completion time = 3+4 = 7.
• Thus, the SPT schedule, Schedule 3 minimizes total completion time.
90
Maximum Lateness
• Different schedule provides different values of maximum lateness. Minimizing maximum lateness means finding a schedule that provides minimum maximum lateness.
• Why is it important to minimize maximum lateness?– It’s a balanced approach. The production
department likes to minimize costs which are related to minimizing makespan and total completion time. However, the marketing department likes to provide faster service and set earlier due dates. Minimizing maximum lateness provides a balance.
91
Maximum Lateness
– By minimizing maximum lateness one gets some insight if the due dates are realistic (if the due dates can be met using the given resources).
• If the minimum maximum lateness is positive, the due dates are not realistic. So, the marketing department should promise longer lead times and the production department should be allocated more resources.
• If the minimum maximum lateness is negative, the marketing department can promise shorter lead times and carry out some promotional activities to generate more demand.
92
Maximum Lateness
• Sequence the jobs in the Earliest Due Date (EDD) order if there is a single machine and the objective is to minimize – maximum lateness– maximum tardiness
• Revisit Example 1, Lesson 2, Slides 5-8. There are two jobs. Job 1 is a due after 4 hours and Job 2 is due after 2 hours.
93
Maximum Lateness
• Since Job 2 is due before Job 1, the EDD rule requires that Job 2 is done before Job 1. This is done by Schedule 2.
• So, Schedule 2 is an EDD schedule and it has a maximum lateness of zero (both job is completed right when it’s due).
• Schedule 1 is a non-EDD schedule and it has a maximum lateness of 2 hours (Job 1 has a lateness of 2 hours and Job 1 has a lateness of –1 hour I.e., Job 1 is early by 1 hour).
• Thus, the EDD schedule, Schedule 2 minimizes maximum lateness.
94
Number of Tardy Jobs
• Different schedule provides different number of tardy jobs (jobs with a positive lateness). Minimizing number of tardy jobs means finding a schedule that meets as many due dates as possible.
• Why is it important to minimize number of tardy jobs?– Sometimes, a product is useless if it’s completed
after its due date. For example, convocation gowns, wedding dresses and birthday cakes must be delivered before their due dates. Space shuttles must leave on-time, else the mission will not be successful.
95
Number of Tardy Jobs
Steps
1. Arrange the jobs in the Earliest Due Date (EDD) order.
2. Repeat the following as long as there is any tardy job:
If the job is the first tardy job, consider the first jobs and remove the one with the largest processing time.
3. Append all the tardy jobs, if any, in the end in any order.
thi i
96
A 7 9 B 8 17 C 4 18 D 6 19 E 6 21
Number of Tardy Jobs: Example
Processing Completion Due Job Time Time Date
97
Number of Tardy Jobs: Example
Step 1
Processing Completion Due Job Time Time Date
Arrange the jobs in the EDD order and find if any is tardy
A 7 9 B 8 17 C 4 18 D 6 19 E 6 21
98
Number of Tardy Jobs: Example
Processing Completion Due Job Time Time Date
Step 2-1
Eliminate the longest job before the first one tardy and arrange the others in the EDD order.
A 7 9 B 8 17 C 4 18 D 6 19 E 6 21
99
Number of Tardy Jobs: Example
Processing Completion Due Job Time Time Date
Step 2-2
Eliminate the longest job before the first one tardy and arrange the others in the EDD order.
A 7 9 B 8 17 C 4 18 D 6 19 E 6 21
100
Number of Tardy Jobs: Example
Processing Completion Due Job Time Time Date
Step 2-3
Eliminate the longest job before the first one tardy and arrange the others in the EDD order.
A 7 9 B 8 17 C 4 18 D 6 19 E 6 21
101
Number of Tardy Jobs: Example
Processing Completion Due Job Time Time Date
Step 2-4
Eliminate the longest job before the first one tardy and arrange the others in the EDD order.
A 7 9 B 8 17 C 4 18 D 6 19 E 6 21
102
Number of Tardy Jobs: Example
Processing Completion Due Job Time Time Date
Append the previously eliminated A, B in the end and stop.
Step 3
103
• Note: The optimal schedule may change if all the processing times increase by the same amount.
• Preprocessing: if every job requires some setup/delivery time, add the set setup/delivery time to all jobs before applying the algorithm.
• Such preprocessing is not necessary for scheduling jobs if the objective is to minimizing makespan, mean flow time, maximum lateness, etc.
Number of Tardy Jobs: A Note
104
• The procedure discussed for minimizing the number of tardy jobs assigns jobs to position 1 first, then to position 2, and so on. In a forward scheduling procedure the assignment starts from position 1 and continues in the forward direction
• The procedure which will be discussed next, schedules in the opposite direction starting from the last position. In a backward scheduling procedure the assignment starts from the last position and continues in the backward direction.
Forward and Backward Scheduling
105
Lawler’s Algorithm for Precedence Constraints
• The algorithm is applicable for single machine problems with the objective of minimizing– Makespan– Maximum lateness– Maximum tardiness
106
• Consider a single machine problem with precedence constraints and minimizing maximum lateness objective (other objectives previously stated may be minimized similarly)
Lawler’s Algorithm for Precedence Constraints
107
• General scheme: The algorithm first assigns a job to the last position, then a job to the position next to last, and so on.
• Candidate job for a position: Due to precedence constraints, not all the jobs are candidates for a position. For example, if a job has a successor, the job cannot be assigned to the last position. Hence, candidates for the last position are the ones without any successor.
Lawler’s Algorithm for Precedence Constraints
108
• Which job to assign?
1. Eliminate all the jobs which are previously assigned (to later positions)
2. Identify the candidates - jobs that have no successor or have successors all previously assigned (to later positions)
3. Among all the candidates, schedule the one with the minimum lateness.
Lawler’s Algorithm for Precedence Constraints
109
A 7 9 B 8 17 C 4 18 D 6 19 E 6 21
Processing Due Lateness Job Time Date Candidate? If scheduled
A B D
C
E
Completion time if scheduled = 7+8+4+6+6=31
110
A B D
C
A 7 9 B 8 17 C 4 18 D 6 19
Processing Due Lateness Job Time Date Candidate? If scheduled
Completion time if scheduled = 7+8+4+6=25 E
111
A 7 9 B 8 17
D 6 19
Processing Due Lateness Job Time Date Candidate? If scheduled
Completion time if scheduled = 7+8+6=21 EC
A B D
112
A 7 9 B 8 17
Processing Due Lateness Job Time Date Candidate? If scheduled
Completion time if scheduled = 7+8=15 ECD
A B
113
A 7 9 Yes 7-9=-2
Processing Due Lateness Job Time Date Candidate? If scheduled
Completion time if scheduled = 7 ECD
A
B
114
Lawler’s Algorithm for Precedence Constraints
• The algorithm is described in the context of minimizing maximum lateness. To get the algorithm for minimizing – maximum tardiness, replace “lateness” by
“tardiness”
115
READING AND EXERCISES
Lesson 15
Reading: – Section 8.6, pp. 425-431 (4th Ed.), pp. 414-419 (5th
Ed.)
Exercises: – 8.6, 8.7, p. 431 (4th Ed.), pp. 419-420 (5th Ed.)
LESSON 16: MULTIPLE MACHINE SCHEDULING
Outline
• Planning and Monitoring with Gantt Chart• Two-Machine Flow Shop• Extension To A Three-Machine Flow Shop
117
• Planning and Monitoring with Gantt chart– Gantt chart is introduced in Lesson 1 in Slides 11-14. – Recall that the facilities are shown on the y-axis, time on
the x-axis and operations by rectangles proportional to the processing time.
– Gantt chart is an excellent tool used not only to represent a planned schedule but also to monitor the schedules. For example, see the next slide. For each job, the black color represents completed part and the white color incomplete. Suppose that today is day 7. The chart shows that Job A12 is completed less than scheduled, Job B23 more and Job C34 just as scheduled.
Planning and Monitoring with Gantt Chart
Planning and Monitoring with Gantt Chart
Gantt Chart shows both scheduled and completed activities against a time scale
G rinding m achine
M illing m achine Job A12
Job B23
2 4 6 8 10 12
D ays
14
T urning m achine Job C 34
T oday's date
C om pletedActivity
ScheduledActivity
Behind schedule
Ahead of schedule
O n schedule
119
Two Machine Flow Shop
• Flow shop is introduced in Lesson 1, in Slides 18-19.• Recall that a flow shop is suitable for a make-to-stock
or assemble-to-stock production system where standard products are produced in high volume.
• Here, we discuss the special cases of two-and three-machine systems.
M 1 M 2Enter Exit
A C onceptual V iew ofA T wo-M achine F low Shop
120
Two Machine Flow Shop
• The main characteristic of a two-machine flow shop system is that every job first visits Machine 1 and then Machine 2.
• Examples:– Customizing and painting – Machining and polishing– Moulding and baking– Repair and testing – Typing and proofing (of chapters of a book)– Review and data entry (of claims)– Checkups by a nurse and a doctor (of patients)
121
Two Machine Flow Shop
• We continue to assume that – every machine can process one job at a time. – every job can be processed by one machine at a
time and• So, in terms of a Gantt chart every job will appear
twice: once on Machine 1 and again on Machine 2– No two rectangles can overlap (every machine
processes one job at a time)– If a vertical line is drawn, the line must not
intersect two rectangles corresponding to the same job (every job can be processed by one machine at a time)
122
Two Machine Flow Shop
– See the example on the next slide• If a vertical line is drawn through the rectangle
representing Job B23 on the Lathe machine, the line must not intersect the rectangle representing Job B23 on the Grinding machine
– Since, every job visits Machine 1 before Machine 2, a rectangle corresponding to a job on Machine 1 must be on the left side of the rectangle corresponding to that job on Machine 2
• The rectangle representing Job A12 on the Lathe machine is on the left side of that of Job A12 on the Grinding machine (same for Job B23).
123
Two Machine Flow Shop
G rinding m achine
2 4 6 8 10 12
D ays
14
Lathe m achine Job A12
Job A12
Job B23
Job B23
16
124
Two Machine Flow Shop
• For most objectives listed in Lesson 2, the same order on both machines is optimal. So, if Machine 1 processes Job 1 before Job 2, then Machine 2 will also process Job 1 before Job 2. When the job-order is the same on all machines, the schedule is called a permutation schedule
• See the Gantt chart on the previous slide:– Lathe machine processes Job A12 before Job
B23. Grinding machine also processes Job A12 before Job B23. That’s a permutation schedule.
– If Job A12 were started at time 16 on Grinding machine (instead of time 4), it would still be a flow shop but not a permutation schedule.
125
Two Machine Flow Shop
• It’s better to keep track of starting, processing and finishing times of every job on every machine. Consider an example.
• Example 1: Each of the two jobs A and B must be processed on Machine 1 before Machine 2. The processing times are shown below:
A 16 5B 9 17
Machine Machine Job Center 1 Center 2
126
• Schedule1: Suppose that each machine processes Job A before Job B. Then, the starting, processing, and finishing times are as follows:
• Processing starts at time 0 (Job A on Machine 1). Finishing time = Starting time + Processing time. So, Job A finishes at time 0+16 = 16 on Machine 1.
• Job A can start on Machine 2 only after time 16, when it’s completed on Machine 1.
Two Machine Flow Shop
Job Start Process Finish Start Process FinishAB
Machine 1 Machine 2
169
517
127
• Job B can start on Machine 1 only after time 16, when Machine 1 becomes idle.
• The starting time of Job B on Machine 2 is the maximum of finishing times of Job A on Machine 2 (Machine 2 becomes idle) and Job B on Machine 1 (Job becomes free).
• So, Starting time of Job B on Machine 2 = max (finishing time of Job A on Machine 2, finishing time of Job B on Machine 1) = max (21, 25) = 25.
• Starting time of every job, except the first one, on Machine 2 is a maximum of two numbers.
Two Machine Flow Shop
128
• The finishing time of the last job (Job B) on the last machine (Machine 2) is the makespan. So, here makespan = 42.
• We shall discuss Johnson’s rule, which can minimize makespan (repetitive application of the rule yields a schedule with least makespan)
• First, observe that a different sequence provides a different makespan.
Two Machine Flow Shop
129
• Schedule 2: Suppose that each machine processes Job B before Job A.
• The process starts at time 0 (Job B on Machine 1). • Starting time of Job A on Machine 2 = max (26, 25) =
26.• Makespan = Finishing time of Job A (the last job) on
Machine 2 (the last machine) = 31 (improved!!!)
Two Machine Flow Shop
Job Start Process Finish Start Process FinishB 9 17A 16 5
Machine 1 Machine 2
130
• Johnson’s rule explains why makespan is improved by Schedule 2. Notice that the minimum processing time = 5 is given by Job A on Machine 2.
• The main idea of Johnson’s rule: If the minimum processing time is on Machine 1 (or Machine 2), then schedule the job with the minimum time in the beginning (or end). Apply the rule repeatedly until all jobs are scheduled. Break ties arbitrarily.
• Here, the minimum processing time = min (9, 17, 16, 5) = 5 is given by Job A on Machine 2. So, Job A is scheduled in the end. The details of Johnson’s rule and an example will now follow.
Two Machine Flow Shop
131
1. List time required to process each job at each machine. Set up a one-dimensional matrix to represent desired sequence with # of slots equal to # of jobs.
2. Select smallest processing time at either machine. – If that time is on machine 1, put the job as near to
beginning of sequence as possible.– If smallest time occurs on machine 2, put the job as
near to the end of the sequence as possible.
3. Remove the job from the list.
4. Repeat steps 2-3 until all slots in matrix are filled & all jobs are sequenced.
Two-Machine Flow ShopJohnson’s Rule
Two-Machine Flow ShopJohnson’s Rule Example
A 5 6B 16 5C 8 2D 9 17E 4 6
Machine Machine Job Center 1 Center 2
The minimum processing time, 2, is given by Job C on Machine 2. So, Schedule Job C in the end.
133
A 5 6B 16 5
D 9 17E 4 6
Machine Machine Job Center 1 Center 2
Two-Machine Flow ShopJohnson’s Rule Example
C
After removing job C, the minimum processing time, 4, is given by Job E on Machine 1. So, Schedule Job E in the beginning.
134
A 5 6B 16 5
D 9 17
Machine Machine Job Center 1 Center 2
Two-Machine Flow ShopJohnson’s Rule Example
CE
Job E is removed. Now, there is a tie. Minimum processing time is given by Jobs A and B. Break ties arbitrarily. Schedule one of Job A or Job B.
135
B 16 5
D 9 17
Machine Machine Job Center 1 Center 2
Two-Machine Flow ShopJohnson’s Rule Example
CAE
Job A is chosen arbitrarily. Job A is scheduled in the beginning, because its minimum time is given on Machine 1. Beginning means position 2 because position 1 is taken.
136
D 9 17
Machine Machine Job Center 1 Center 2
Two-Machine Flow ShopJohnson’s Rule Example
CBAE
Next, Job B is scheduled. It’s scheduled in the end, because its minimum processing time is given on Machine 2.
137
Machine Machine Job Center 1 Center 2
Two-Machine Flow ShopJohnson’s Rule Example
CBDAE
The sequencing is complete after assigning the remaining Job D to the remaining position. Next, the makespan is computed.
138
EA DB C
CBDAE
Each triplet above shows the starting, processing, and finishing times of an operation. Johnson’s rule guarantees that the above schedule gives the best value (44) of makespan.
Two-Machine Flow ShopJohnson’s Rule Example
Machine Machine Job Center 1 Center 2
139
Two-Machine Flow ShopJohnson’s Rule Example
M2
6 12 18 24 36
Time
42 48
M1
30
The Gantt chart corresponding to the optimal sequence, E-A-D-B-C obtained using the Johnson’s rule
• An extension of Johnson’s rule minimizes makespan in some three machine flow shops (repetitive application of the rule yields a schedule with least makespan)
• First, recall that in a three machine flow shop, every job is processed first on Machine 1, then on Machine 2 and then on Machine 3.
Extension of Johnson’s Rule To A Three Machine Flow Shop
M 1 M 2Enter Exit
A C onceptual V iew ofA T hree-M achine F low Shop
M 3
141
• The extension of Johnson’s rule does not guarantee an optimal makespan for all three-machine flow shop cases. However, the extension guarantees an optimal makespan • if the largest processing time on the second machine is
not larger than the smallest processing times on
1. Machine 1 or
2. Machine 3 or
3. Both• In Case 1 Machine 1 dominates Machine 2, • In Case 2 Machine 3 dominates Machine 2 and • In Case 3 both Machines 1 and 3 dominate Machine 2
Extension of Johnson’s Rule To A Three Machine Flow Shop
142
• Some examples when the rule applies are given in the next slide:• Example (a): The largest processing time on Machine 2
= max (5, 3, 4, 2, 3) = 5 5 = min (6, 9, 5, 8, 7) = smallest processing time on Machine 1. So, Machine 1 dominates Machine 2 and the extension of Johnson’s rule applies.
• Example (b): The largest processing time on Machine 2 = max (6, 3, 2, 4, 5) = 6 6 = min (7, 8, 6, 9, 8) = smallest processing time on Machine 3. So, Machine 3 dominates Machine 2 and the extension of Johnson’s rule applies.
Extension of Johnson’s Rule To A Three Machine Flow Shop
143Johnson’s rule applies in each of the above cases
Job 1 2 3 Job 1 2 3 Job 1 2 31 6 5 7 1 6 6 7 1 9 5 62 9 3 3 2 9 3 8 2 5 3 53 5 4 8 3 4 2 6 3 7 4 84 8 2 4 4 5 4 9 4 6 2 75 7 3 5 5 3 5 8 5 7 3 5
Machine
(c)
Machine
(a)
Machine
(b)
Extension of Johnson’s Rule To A Three Machine Flow Shop
144
• Example (c): The extension of Johnson’s rule applies because both Machine 1 and 3 dominate Machine 2 (check).
• Whenever the rule applies, the following is done:• Step 1: Create a fictitious two-machine flow shop problem
with two fictitious machines M1’ and M2’. Every job is assigned processing times on these two fictitious machines in the following way:• M1’: Processing time of a job on fictitious machine M1’
is the sum of the processing times of that job on the original machines M1 and M2.
Extension of Johnson’s Rule To A Three Machine Flow Shop
145
• M2’: Processing time of a job on fictitious machine M2’ is the sum of the processing times of that job on the original machines M2 and M3.
• Step 2: Apply Johnson’s rule on the fictitious two-machine problem with machines M1’ and M2’.
• Step 3: Sequence the jobs on the original three machines using the optimal sequence obtained from Step 2.
Extension of Johnson’s Rule To A Three Machine Flow Shop
146
An optimal (not unique) sequence is Next, compute makespan using the original 3 machines.
Job 1 2 31 6 5 72 9 3 33 5 4 84 8 2 45 7 3 5
Three-Machine Problem
Machine
Job 1 212345
Machine
Fictitious Two-Machine Problem
Extension of Johnson’s Rule To A Three Machine Flow Shop
147
Each triplet above shows the starting, processing, and finishing times of an operation. Johnson’s rule guarantees that the above schedule gives the best value (41) of makespan.
Machine Machine MachineJob Center 1 Center 2 Center 3
Extension of Johnson’s Rule To A Three Machine Flow Shop
148
• More on the previous slide:• Starting time of every job, except the first one, on
Machine 2 is a maximum of two numbers.• Example: Starting time of Job 1 on Machine 2 = max
(finishing time of Job 3 on Machine 2, finishing time of Job 1 on Machine 1) = max (9, 11) = 11.
• Starting time of every job, except the first one, on Machine 3 is a maximum of two numbers.• Example: Starting time of Job 1 on Machine 3 = max
(finishing time of Job 3 on Machine 3, finishing time of Job 1 on Machine 2) = max (17, 16) = 17.
Extension of Johnson’s Rule To A Three Machine Flow Shop
149
• Using the starting and finishing times of each operation, we can draw a Gantt chart. Recall that time is shown on the x-axis, facilities such as machines are shown on the y-axis and each operation is shown by a rectangle proportional to the processing time f the operation.
• For example, since Job 3 starts on M1 at time 0 and finishes at time 5, the Gantt chart on the next slide contains a box labelled “3” from time 0 to time 5.
• Similarly, since Job 3 starts on M2 at time 5 and finishes at time 9, the Gantt chart contains another box labelled “3” from time 5 to time 9.
Gantt Chart
150
The Gantt chart corresponding to the optimal sequence, obtained using the extension of Johnson’s rule.
M3
6 12 18 24 36
Time
42
M2
30
M1
Gantt Chart
151
• Note that since a job cannot be processed on more than one machine at the same time, a vertical line (indicating a time) must not cut through more than one box corresponding to the same job. For example, there are three boxes corresponding to Job 3 one for M1, one for M2 and the other for M3. However, these 3 boxes represent 3 operations which are processed in 3 distinct time periods. As a result, the boxes do not share any vertical line
• Similarly, since a machine cannot process more than on job at the same time, the boxes do not overlap.
Gantt Chart
152
READING AND EXERCISES
Lesson 16
Reading: – Section 8.7, pp. 432-437 (4th Ed.), pp. 421-425 (5th
Ed.)
Exercise: – 8.13, 8.14, p. 441 (4th Ed.), p. 428 (5th Ed.)
153
LESSON 17: TWO-JOB JOB SHOP AND FLOW SHOP SCHEDULING
Outline
• Two-Job Job Shop and Flow Shop Problem• Steps of the Solution Procedure• Interpretation• Gantt Chart
154
Two-Job Job Shop and Flow shop Problem
• So far, we have discussed scheduling problems with a limited number of machines. In this lesson, we discuss a solution procedure for a scheduling problem with an unlimited number of machines.
• We assume that two jobs requires processing by some m machines. For each job, the sequence of machines is known. It’s not assumed that each job must visit the machines in the same order. So, the procedure is applicable to job shop. However, the procedure is same for the flow shop when each job must visit the machines in the same order.
155
Two-Job Job Shop and Flow shop Problem
• The procedure is best described by an Example:• Example 1: A engineering faculty requires a
refundable deposit from each student. To get the deposit back at the end of the term, every student must obtain a clearance from each lab used. Peter and Patricia needs clearance from Machine lab (A) and Computer lab (B). Peter wants to visit Machine lab first and Patricia Computer lab. After getting certificates, each will visit an administrative assistant (C) who will issue a “no claim” certificate. Then, each will visit the cashier (D) who will return the deposit.
156
Two-Job Job Shop and Flow shop Problem
• Peter and Patricia estimate the following processing times
Peter Patricia
Activity Time Activity Time
A 10 B 5
B 5 A 5
C 25 C 20
D 10 D 5
157
Two-Job Job Shop and Flow shop Problem
• We shall solve this problem using a graphical procedure, that has the following steps:
• Step 1: Set up a cartesian coordiante system with Peter’s time on one axis and Patricia’s on the other. Each process A, B, C and D will be shown on the graph by a rectangle.
• Step 2: Find Peter’s and Patricia’s start and end times for each activity
• Step 3: Identify coordinates of corners of rectangles A, B, C and D. Each rectangle represents an activity.
• Step 4: Draw rectangles A, B, C and D
158
Two-Job Job Shop and Flow shop Problem
• Step 5: Using only three special types of line segments, and not crossing the rectangles, identify a path from (0,0) to the upper right corner (a, b), where a = total time on x-axis and b = total time on y-axis.
• Step 6: Compute clock times along the path. The length of the path is the clock time at the upper right corner (a, b).
• Step 7: Repeat Steps 4 and 5 for other paths• Step 8: Find out the shortest path, interpret the
shortest path and list activities over time.• Step 9: Draw a Gantt chart.
159
10
20
30
10 20 30 40 50
Step 1: Set Up A Cartesian Coordinate System
160
Step 2: Find Peter’s and Patricia’s Start and End Times
• The start and end times are computed below separately for Peter and Patricia. Each starts at time zero. Notice that the times are not clock times, but Peter’s and Patricia’s cumulative times. The clock times will be computed later.
Peter’s Time Patricia’s Time
Activity Start Process End Activity Start Process End
A B
B A
C C
D D
Note a = 50, b = 35 according to the notations on slide 6.
161
Step 3: Identify Coordinates of Corners of Rectangles Representing Activities
• For each activity, a rectangle will be drawn on the graph shown in Step 1. For each rectangle, the lower, left corner represents start of the activity and the upper right corner end of the activity. So, one corner is obtained from Peter and Patricia’s start time of that activity and another corner is obtained from Peter and Patricia’s end times of that activity.
• For example, lower left corner of rectangle C is (15,10) because Peter starts activity C at time 15 and Patricia starts activity C at time 10. Upper left corner of rectangle C is (40,30) because Peter ends C at time 40 and Patricia ends C at time 30.
162
Step 3: Identify Coordinates of Corners of Rectangles Representing Activities
• Using the same reasoning, we find the following coordinates of the corners of A, B, C and D.
Rectangle Lower Left Corner Upper Right Corner
A
B
C
D
163
10
20
30
10 20 30 40 50Peter's Time
Pat
ricia
's T
ime
Step 4: Draw Rectangles
164
Step 5: Using only Three Special Types of Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
• Use only the following three types of line segments• Horizontal line: representing a time interval when only
Peter is busy, Patricia is idle• Vertical line: representing a time interval when only
Patricia is busy, Peter is idle• 45-degree line (same rise as run): representing a time
interval when both Peter and Patricia are busy
H orizontalLine
VerticalLine
45-D egreeLine
165
Step 5: Using only Three Special Types of Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
• a = total time on the x-axis = Peter’s total time = 50• b = total time on the y-axis = Patricia’s total time = 35• Find a path from (0,0) to (a,b) = (50,35)
• Using horizontal, vertical and 45-degree lines and • Not crossing the rectangles
166
Step 5: Using only Three Special Types of Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
• Such a path is shown on the next slide. The path • starts from (0,0) in the 45-degree direction (it could also
start horizontally or vertically; 45-degree lines are preferred as they keep the length shorter)
• starts moving horizontally when blocked by rectangle A, changes to 45 degree at (10,5)
• starts moving horizontally when blocked by rectangle C (could also start vertically at (10,5)), changes to 45 degree at (40,10)
• Starts vertically when reaches a boundary at x=a=50 (the other boundary is (y=b=35)
167
Step 5: Using only Three Special Types of Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
10
20
30
10 20 30 40 50Peter's Time
Pat
ricia
's T
ime
A
B
C
D(a,b)
(0,0)
168
Step 6: Compute Clock Times Along the Path
• The length of the path is the clock time at (a,b)=(50,35).• The clock time is set to 0 at (0,0).• Clock times are computed at other break points as follows:
• For a 45-degree line, advance clock time by the line’s projection on the x-axis (or, equivalently, the projection on the y-axis).
• For example, there is a 45-degree line between (0,0) and (5,5). Its projection on the horizontal axis is 5 units and the same is its projection on the vertical axis.
169
Step 6: Compute Clock Times Along the Path
• The line represents that both Peter and Patricia are busy for 5 units of time. So, it moves 5 units horizontally and 5 units vertically. So, clock time advances by 5 units.
• Thus, the clock time at (5,5)
= clock time at (0,0)+5
= 0 + 5
= 5
170
Step 6: Compute Clock Times Along the Path
• For each horizontal or vertical line, advance clock time by the length of the line segment. For example, there is a horizontal line between (5,5) and (10,5). The length of the line is 5. So, the clock time at (10,5)
= clock time at (5,5)+5
= 5 + 5
= 10• The next few slides shows clock times at all break
points till (a,b) = (50, 35). The length of the path is the clock time at (a,b).
171
Step 6: Compute Clock Times Along the Path
Length of the vertical line = 5, clock time = 60 + 5 = 65
10
20
30
10 20 30 40 50Peter's Time
Pat
ricia
's T
ime
A
B
C
D(a,b)
(0,0)
172
10
20
30
10 20 30 40 50Peter's Time
Pat
ricia
's T
ime
A
B
C
D (a,b)
(0,0)5 10
15
3540
70
Check the clock times and length of the path.
Step 7: Another Path
173
Step 8: Interpretation
• The shortest path is the one shown on Slide 25 as its length is 65, less than 70 which is the length of the other path shown on Slide 26.
• The interpretation of a line segment is done as follows:• Horizontal line segment: Only Peter is busy and
Patricia idle. Peter’s activity is the one on the above or below the line segment.
• Vertical line segment: Only Patricia is busy and Peter idle. Patricia’s activity is the one on the left or right of the line segment.
174
Step 8: Interpretation
• 45-degree line segment: Both are busy. • Peter’s activity is one on the above or below the
line segment. • Patricia’s activity is the one on the left or right of
the line segment.• Using the above guidelines, the shortest path shown
on Slide 25 is interpreted on the next slide. Observe that every line segment is interpreted separately.
175
Step 8: Interpretation
Start End Line Segment Peter’s Patricia’s
Clock Time Clock Time Type ActivityActivity
0 5
5 10
10 15
15 40
40 50
50 60
60 65
176
Step 9: The Gantt Chart
10 20 30 40 50 60Gantt Chart
A
B
C
D
177
READING AND EXERCISES
Lesson 17
Reading: – Section 8.7, pp. 437-440 (4th Ed.), pp. 425-427 (5th
Ed.)
Exercise: – 8.15, 8.16, pp. 441-442 (4th Ed.), pp. 428-429 (5th
Ed.)
LESSON 18: STOCHASTIC SCHEDULING
Outline
• A Review on Probability Distributions• Stochastic Scheduling• Static Analysis: Single Machine• Static Analysis: Parallel Machines• Static Analysis: Two-Machine Flow Shop• Dynamic Analysis: Selection of Disciplines• Dynamic Analysis: The c rule
A Review on Probability Distributions
• First, we shall review what is meant by a probability distribution. It’s easier to understand probability distributions when there is a finite number of events. For example, when a coin is tossed, there are only two possible events a head or a tail. When a coin is tossed twice, there can be following events– both heads (2H)– one head and one tail (1H1T)
– the first one head and the second one tail or – the first one tail and the second one head
– two tails (2T)
A Review on Probability Distributions
• A discrete probability distribution is a table, a formula, or a graph that lists all possible events and probabilities a discrete random variable can assume.
• If a coin is tossed twice, the events and corresponding probabilities are as follows:
Event Probability
Two heads 1/4
First one head, second one tail 1/4
First one tail, second one head 1/4
Two tails 1/4
A Review on Probability Distributions
• So, we get the following probability values:
Event Probability
2H 1/4 = 0.25
1H1T 1/4+1/4=0.50
2T 1/4 = 0.25• The above probability values are shown on a graph in the
next slide. This graph is a discrete probability distribution.
A Review on Probability Distributions
Probability Distribution
0
0.25
0.5
0.75
2H 1H1T 2T
Event
Pro
bab
ilit
y
A Review on Probability Distributions
• The probability distribution in case of a coin tossing example is discrete. The number of events is finite. Some random numbers such as the ones for processing times, arrival times, etc. assume an infinite number of values. The probability distributions of such random numbers are continuous.
• A continuous probability distribution is similar to a discrete probability distribution. In the following, some differences are discussed. Coin tossing will be used as an example of a discrete distribution and processing time of a continuous distribution.
A Review on Probability Distributions
• While the number of heads in the coin tossing example may assume a finite number of values, a processing time may assume an infinite number of values. So, it’s not possible to list all the values that the processing time may assume.
• While the number of heads in the coin tossing example may assume a particular value, the probability that a processing time will assume a particular value is zero. For example, there is almost zero probability that a job will be done in exactly 3 minutes, not a fraction of a second more or less than 3 minutes. However, probability that a processing time will lie in a given range may be non-zero.
A Review on Probability Distributions
• A graphical description of a probability distribution of processing time gives the probability values in terms of the area under the curve.
Area = probability
• For example, The probability that the processing time will lie between 2 and 8 minutes is the area under the curve from processing time = 2 to processing time = 8 (see the next slide).
• The total area under the curve = 1.00
186
A Review on Probability Distributions
f(t)
P rocess ing T im e, t
20 4 6 8 10
Probability(2 t8)= Shaded area
A Review on Probability Distributions
• The processing times, arrival times, etc. are often assumed to follow either a normal distribution or an exponential distribution.
• Normal Distribution: Consider the time required by Harvey’s to serve a customer. A customer visits Harvey’s during lunch hours. On each visit, he measures the length of the time between order placement and delivery. He observes that the time is more or less 3 minutes. Sometimes, it’s more than 3 minutes. Almost the same number of times it’s less than 3 minutes. Sometimes, it’s more than 4 minutes. Almost the same number of times it’s less than 2 minutes, and so on.
188
A Review on Probability Distributions
0
0.1
0.2
0.3
0.4
-4 -2 0 2 4
z
f(z)
NormalDistribution
A Review on Probability Distributions
• Exponential Distribution: Consider the time required to get a taxi cab. A hotel manager calls a taxi cab for the guests. She measures the length of time between phone call and arrival of the taxi cab. She is impressed with the service. Most of the times it’s very quick, within a minute or two, because the cab is parked near the hotel. Often, it’s between two to four minutes, because the cab arrives from a distance. Occasionally, however, it takes 10, 20 or 30 minutes because of a high demand, traffic congestion, etc. The manager computes the average, which turns out to be 3 minutes.
A Review on Probability Distributions
0
0.1
0.2
0.3
0.4
0 5 10 15 20
Time, t
f(t)
Exponential distribution with mean = 3
Stochastic Scheduling
• Up to Lesson 6, we have assumed that all arrival times, processing times and due dates are known with certainty. However, often processing times may be unknown or uncertain.
• In this lesson, we shall assume that the processing times follow some probability distributions which are known. The probability distributions may be obtained from historical data. We shall assume that the jobs are different from one another. So, the processing times are independent of one another.
Stochastic Scheduling
• The arrival times may also be uncertain. We discuss two cases with two different assumptions regarding arrival times:– Static Analysis: All jobs are available from the
beginning. An example is the delivery problem for which orders are taken 24 hours on-line and delivered once in the morning. So, the orders are available before the delivery process starts.
– Dynamic Analysis: Jobs arrive randomly over time, and sequencing decisions are made as the jobs arrive. An example is the customers arriving to a bank.
193
Static Analysis: Single Machine
• Assume that there is a single machine that must process some n jobs. The exact processing times of jobs are not known. Each job processing time is a random variable with a known distribution function.
• Two objectives are easy to minimize with rules extended from deterministic scheduling – To minimize the expected mean flow time, apply
the shortest expected processing time rule (As discussed in Lesson 4, Slides 4-7, the total completion time or mean flow time is minimized by the shortest processing time rule)
194
Static Analysis: Single Machine
– To minimize the maximum probability that a job is late, apply the earliest expected due date rule (As discussed in Lesson 4, Slides 8-11, the maximum lateness is minimized by the earliest due date rule)
195
Static Analysis: Parallel Machines
• Consider two identical parallel machines. The jobs are assigned to the first available machine. As soon as a machine is free, a job is assigned to that machine. The jobs must be sequenced.
• Assume that the processing times are exponentially distributed.
M 1 M 2
E nter
E x it
Jobs
M a ch ines
196
Static Analysis: Parallel Machines
• Consider the problem of minimizing the expected makespan, the expected completion time of the last job processed. A counter-intuitive rule works. The expected makespan is minimized by processing the jobs with the Longest Expected Processing Time (LEPT) rule.
• The deterministic scheduling problems often provide insight into the stochastic scheduling problems. For example, to understand why the LEPT rule may minimize the expected makespan, it may be helpful to review the deterministic version of the problem first.
197
Static Analysis: Parallel Machines Back To Deterministic Scheduling
Example 1: Consider two identical machines and four jobs with the deterministic processing times: 4, 8, 2, 6 minutes for Jobs 1, 2, 3 and 4 respectively. Group the jobs on two machines in order to minimize makespan. What is makespan? What is the idle time of the machine that is stopped first?
198
• If a different grouping is chosen
• Check that
Static Analysis: Parallel Machines Back To Deterministic Scheduling
2
time idletimes processing of SumMakespan
199
• From the relationship between makespan and idle time, makepsan is minimized by minimizing the idle time of the first stopped machine (the other quantities on the right hand side of the equation (sum of processing times and the number 2) are constants over all schedules).
• Example 2 demonstrates that it’s not always possible to find a grouping that provides the same work-load to every machine. So, often the best solution will have some non-zero idle time on the first stopped machine.
Static Analysis: Parallel Machines Back To Deterministic Scheduling
200
Static Analysis: Parallel Machines Back To Deterministic Scheduling
Example 2: Consider two identical machines and four jobs with the deterministic processing times: 4, 8, 4, 6 minutes for Jobs 1, 2, 3 and 4 respectively. Group the jobs on two machines in order to minimize makespan. What is makepsan? What is the idle time of the machine that is stopped first?
201
Static Analysis: Parallel Machines
• Minimizing expected makespan on two parallel machines is equivalent to (see last 4 slides)– minimizing expected idle time of the first stopped
machine which is equivalent to• minimizing the expected processing time of the last
job completed• The above arguments provide an intuitive reasoning why
the expected makespan is minimized by the– Longest Expected Processing Time (LEPT) rule, which
assigns the longest expected jobs in the beginning and the shortest expected jobs in the end.
202
Static Analysis: Parallel Machines
Example 3: A computer center has two identical computers for batch processing. Job times are exponentially distributed with the following expected values (expressed in minutes):
Job 1 2 3 4 5 6 7 8
Expected time 4 8 1 50 1 30 20 6
a. In what sequence should the jobs be processed in order to minimize the expected makespan?
203
Static Analysis: Parallel Machines
b. Assume that computer A is occupied with a job that has exactly two minutes of processing time remaining and computer B is idle. If job times are deterministic, show the start and end times of each job on each computer using the sequence derived in Part a.
The answer is shown next. At time 0, B is available. So, the longest job, Job 4 is assigned to B. At time 2, A is available. So, the next longest job, Job 6 is assigned to A. At time 32, A is available again. So, Job 7 is assigned to A. At time 50, B is available. So, Job 2 is
204
assigned to B. At time 52, A is available. So, Job 8 is assigned to A. At time 58, there is a tie, both A and B are available. Computer A is chosen arbitrarily. Job 1 is assigned to A and Job 3 to B. Notice that Job 5 could be assigned before Job 3. All ties are broken arbitrarily. Job 5 is assigned to B at time 59.
The makespan is 62 minutes. Computer B is idle in the last two minutes.
Static Analysis: Parallel Machines
205
Static Analysis: Parallel Machines
Job Computer A Job Computer B
Start End Start End
The rows are arranged in the ascending order of start times.
206
Static Analysis: Parallel Machines
B
6 12 18 24 36
Time
42 48
A
30 54 60 66
207
• We are back to two-machine flow shop. However, this time we shall discuss the stochastic version. Recall from Lesson 5, Slides 18-26, that Johnson’s rule minimizes makespan for the deterministic two-machine flow shop problem. The stochastic version is solved by a different procedure which will be discussed in this lesson.
Static Analysis: Two Machine Flow Shop
M 1 M 2Enter Exit
A C onceptual V iew ofA T wo-M achine F low Shop
208
• Suppose that the processing times are exponentially distributed.
• Let
– = the processing rate of job j on machine 1
– = the processing rate of job j on machine 2
• Expected makespan is minimized by processing the jobs
in the descending (high to low) order of
Static Analysis: Two Machine Flow Shop
ja
jb
jj ba
209
• Notice that the rule is described in terms of rates which must be computed first from the given processing times.
• Where,
– = the processing time of job j on machine 1
– = the processing time of job j on machine 2
Static Analysis: Two Machine Flow Shop
jj Aa /1
jj Bb /1
jA
jB
210
Static Analysis: Two Machine Flow Shop
Example 4: Joe has now been released from his government job. Based on his excellent performance, he was able to land a job as a production scheduler in a brand-new custom refinishing auto service shop located near the border. The sequence is customizing first, followed by repainting. The processing times are independent exponentially distributed random variables with the mean times as stated below. Find a schedule that minimizes expected makespan.
Car Customizing Time (Hours) Painting (Hours) 1 4.0 2.0 2 2.5 1.0 3 3.5 1.5
211
First, computes the rates and their differences:Car Customizing Rate Painting RateDifferences (Number/Hour) (Number/Hour) j aj bj aj-bj
1 2 3
Sequence the jobs in the descending (high to low) order of the differences aj-bj i.e., to minimize the expected makespan.
Be careful not to use Johnson’s rule!The processing times are exponentially distributed!!
Static Analysis: Two Machine Flow Shop
212
Dynamic Analysis: Selection of Disciplines
• Next, we consider the dynamic scheduling problem, We assume that the jobs arrive randomly over time and the job processing times are known as soon as the jobs arrive.
• The objective is to determine a good sequencing rule.• When compared to FCFS, SPT rule can significantly
reduce the size of the queue.• As the traffic intensity increases, the advantage of the
SPT rule at reducing the mean flow time improves (but the variance of flow time increases). This is shown in the next figure (Text, 8-13, p. 451).
213
Dynamic Analysis: Selection of Disciplines
• The next figure (Text, 8-13, p. 451):– Assumes an M/M/1 queue i.e., a single machine
environment in which inter-arrival times and service times are exponentially distributed.
– Assumes that job processing times are realized when a job joins the queue.
– Shows traffic intensity,
on the horizontal axis
rate Service
rate Arrival
r
214
• The next figure (Text, 8-13, p. 451):– Shows the relative flow time
on the vertical axis– Demonstrates that the SPT schedule improves the
expected flow time (or, the expected number in the system) over the FCFS schedule and that the improvement and rate of improvement increase more when the traffic intensity increases.
Dynamic Analysis: Selection of Disciplines
Time) (Flow
Time) (Flow
FCFS
SPT
E
E
215
Dynamic Analysis: Selection of Disciplines
216
Dynamic Analysis: Selection of Disciplines
• However, the SPT variance is much worse than the FCFS variance when the traffic intensity is high, although the SPT variance is slightly better than the FCFS variance when the traffic intensity is low.
• Hence, it may be concluded that SPT achieves efficiency in the expected flow time at the cost of variance.
217
Dynamic Analysis: The Rule
Suppose that• Jobs arrive randomly with exponential service rates.• Job j has a service rate . The service rate
where, = processing time of job j. • A job-dependent return is available if job j is
completed by some pre-specified due date which is the same for all jobs.
• The best scheduling policy that maximizes total earnings is to choose the job with the largest value of
c
tjc
j
jjc
jj t/1jt
218
Dynamic Analysis: The Rulec
Example 5: Suppose that there are two types jobs, Type I has a return of $0.25 per job and Type II $0.75 per job. Type I service rate is 60 jobs per hour Type II 10 jobs per hour. The service rates are exponentially distributed. All the jobs must be completed before the end of week. Which type of job will have priority? Within a given type of job, which one will have priority?
219
• Example 5 is simple, because it considers only two types of jobs, the rule is applicable to any number of types of jobs.
• If the returns are all the same, i.e., if all the jobs are equally important, then the rule is equivalent to the SPT rule.
Dynamic Analysis: The Rulec
220
READING AND EXERCISES
Lesson 18
Reading:
Section 8.8 pp. 442-446 (4th Ed.), pp. 429- 432 (5th Ed.)
Section 8.9 (partial) pp. 450-452 (4th Ed.), pp. 436-438 (5th Ed.)
Exercises:
8.18, 8.19 (done in the note), 8.21, p. 446 (4th Ed.), pp. 432-433 (5th Ed.) and 8.25a p. 453 (4th Ed.), p. 439 (5th Ed.)
221
LESSON 19: ASSEMBLY LINE BALANCING
Outline
• Assembly Line• Assembly Line Balancing• The Precedence Diagram• Assignment of Work Elements to Workstations• A Line Balancing Heuristic
222
Assembly Line
• Moving assembly line was introduced by Ford automobiles in 1913– The time required to produce an auto chassis was
reduced from 12 hours and 28 minutes to 1 hour and 33 minutes
– The result was • mass production and • A drastically reduced price which the common
people could afford
223
Assembly Line
• If the demand of a standard product is sufficiently high and stable over a long period of time (as it is in a make-to-stock or assemble-to-stock production system), it’s usually cost effective to rearrange resources in the order in which the resources are used. Such a layout is called a product layout.
• Two types of product layouts are fabrication lines and assembly lines – The fabrication line builds components such as
automobile tires, metal parts, etc. (make-to-stock production system).
224
Assembly Line
– The assembly line puts the fabricated parts together (assemble-to-stock production system).
• The range of products produced by assembly lines includes toys, autos appliances, electronic items, garden equipment, etc.
• Assembly line activities ranges from hammering, wrenching, parts insertion, soldering, welding, painting, testing, packaging, etc.
• Both workers and machines may be (some lines use both) employed in an assembly line.
225
Assembly Line
• Both the fabrication line and assembly line are repetitive processes.
• The job is split into many work elements. The work elements are so small that each element or a group of elements can be performed by one workstation (an workstation is an area along the line that requires at least one worker or one machine).
• The line balancing problem is to equalize work at each workstation. So, the solution procedure attempts to evenly distribute the work elements to the workstations.
226
Assembly Line Balancing
• Some definitions:– Throughput time: The overall time it takes to complete
an individual product from start to finish is called the throughput time (a.k.a. product duration time)
– Cycle time: The interval between two successive products produced at a workstation is called the cycle time (a.k.a. product interval time and takt time (takt is a Swedish word meaning cycle))
– Example 1: Suppose that a product requires a total of 50 minutes. The job is split into 25 workstations of 2 minutes each.
The throughput time is The cycle time is
227
Assembly Line Balancing
• The line balancing problem is difficult. The large number of work elements partly contributes to the difficulty. The problem gets more complicated because of the precedence constraints. – The precedence constraints are physical restrictions on
the order in which the work elements must be done on the line. For example, welding must precede painting, testing must be done before packaging, etc.
• The precedence diagram is a network with work elements represented by circles or nodes and the precedence relationships represented by arcs (lines with arrows showing directions) connecting the nodes.
228
Assembly Line Balancing
• The precedence diagram is demonstrated with an example later in this lesson. The Activity-on-Node (AON) method (work elements represented by nodes and precedences by arcs) is used throughout this lesson. In Chapter 9, Lessons 9-11, Activity-on-Arc (AOA) method is used.
• The assembly lines are often flexible. When the demand is high, the job is split into more workstations achieving a shorter cycle time (although the throughput time does not change). When the demand is low, a longer longer cycle time is maintained using fewer workstations.
229
Assembly Line Balancing
• The required cycle time and demand are related as follows:
• Example 2: Suppose that a single shift of 8 hours is used and the demand is 32 units per day, then
• Note that in such a case, every work element must require less than 15 minutes and workload distributed to every workstation must be less than 15 minutes.
day per Demand
day per time Productiontime cycle Required
time cycle Required
230
Assembly Line Balancing
• Once we know the total time required by all elements and the required cycle time, we may be tempted to compute the required number of workstations as
• However, the above ratio does not always provide the correct number of workstations. One reason is that the above ratio may not be an integer. To eliminate this problem we can round up the result (e.g., if the ratio is 2.1 convert it to 3). Still, it may not be correct.
time cycle Required
elements allby required time Total
231
Assembly Line Balancing
• Example 3: Suppose that work elements 1, 2 and 3 require 12, 10 and 8 minutes respectively and the required cycle time is 15 minutes.
• But, there is no way to distribute the elements to 2 workstations such that the workload to each workstation is less than 15 minutes. If a workstation is assigned
– elements 1 and 2, the total time = 12+10 = 22>15. – elements 1 and 3, the total time = 12+8 = 20>15. – elements 2 and 3, the total time = 10+8 = 18>15.
time cycle Required
elements allby required time Total
232
Assembly Line Balancing
• In Example 3, three elements must be assigned to three separate workstations to keep the cycle time less than 15 minutes.
• The ratio, however, is important because when it’s rounded up, we get a minimum number of workstations. The theoretical minimum number of workstations
• The notation implies rounding up. For example,
time cycle Required
elements allby required time Total
31.2
233
Assembly Line Balancing
• So, in Example 3, the theoretical minimum number of workstations is 2. But, the actual required number of workstations is 3.
• The actual cycle time can be different from the required cycle time.
The actual cycle time is the maximum workload assigned to
a workstation.
• Example 4: Suppose that the workloads assigned to three workstations are 12, 10 and 8 minutes. The actual cycle time =
234
Assembly Line Balancing
• Recall from Lesson 2 that one of the scheduling goals is the efficient utilization of resources. An uneven distribution of workloads causes idle time in some workstations and results in an inefficient utilization of resources. Efficiency of an assembly line
• Example 5: Efficiency =
• Note: in case of an even distribution, efficiency=100% (no idle time)
100
time cycle Actual ons workstatiof Number
elements allby required time Total
235
Assembly Line Balancing
• The line balancing problem is difficult. Optimization procedure is not available. The problem is solved by heuristic procedures that do not guarantee optimality.
• The line balancing steps:Step 1: Split the job into work elementsStep 2: Establish precedence relationshipsStep 3: Determine the required cycle timeStep 4: Using a heuristic procedure, assign work
elements to workstations so that – workload of no workstation is more than the
required cycle time and – all precedence relationships are maintained.
236
Assembly Line Balancing
Step 5: Compare the heuristic solution to the theoretical minimum number of workstations and compute efficiency.– If the heuristic procedure provides number of
workstations exactly equal to the theoretical minimum number of workstations, then the solution is optimal.
– If the optimality of the solution cannot be so determined, and the efficiency of the solution is unsatisfactory, a different heuristic procedure may be applied.
237
Example 6: Real Fruit Snack Strips are made from a mixture of dried fruit, food coloring, preservatives, and glucose. The mixture is pressed out into a thin sheet, imprinted with various shapes, rolled, and packaged. Draw a precedence diagram from the information given below:
Work Time ImmediateElement Description (Sec) Predecessor(s)
A Press out sheet of fruit 6 -B Cut into Strips 12 AC Outline fun shapes 24 AD Roll up and package 18 B,C
The Precedence Diagram
238
The Precedence Diagram
239
A
B
C
D6
12
24
18
Workstation 1
Workstation 2
Workstation 3
Assignment of Work Elements to Workstations
Find a feasible line balancing solution if the required cycle time is 24 sec
240
Assignment of Work Elements to Workstations
• If a solution violates a precedence constraint, the solution is infeasible.
• For example, if A and D are assigned to one station and B and C to another, then precedence constraint is violated. So, the following solution is infeasible:– Station 1: {A,D}, Station 2: {B,C}
• The following solution is feasible: – Station 1: {A,C}, Station 2: {B,D}
• Check: If the required cycle time is 30 sec, the theoretical minimum number of workstations is 2 and the solution {A,C}, {B,D} is optimum.
241
A Line Balancing HeuristicPositional Weight Method
• Step 1– For each work element, determine
the positional weight = the time required to perform the work element and all its successors
• Step 2– Rank the work elements in order of decreasing
positional weights• Step 3
– Assign the work elements sequentially to workstations in the order of the ranking
242
Example 7: Professional Image Briefcases is an exclusive producer of handcrafted, stylish cases. Priding itself on its earlier reputation, the company assembles each case with care and attention to detail. This laborious process requires the completion of six primary work elements listed next.
A Line Balancing HeuristicPositional Weight Method
243
If the demand is 60 cases per 40-hour week, compute the required cycle time. How would you balance the the assembly line?
Work Time ImmediateElement Description (min) Predecessor(s)
A Tan leather 30 -B Dye leather 15 AC Shape case 5 BD Mold hinges and fixtures 15 -E Install hinges and fixtures 10 C,DF Assemble case 10 E
A Line Balancing HeuristicPositional Weight Method
244
First, compute the required cycle time.
Next, apply the heuristic.
weekper Demand
weekper time Production
time cycle Required
A Line Balancing HeuristicPositional Weight Method
245
Step 1: The positional weights are shown on the next slide. Sample computation follow:
• Positional weight of D
= Sum of times of D and its successors E and F
= 15+10+10 = 35• Positional weight of B
= Sum of times of B and its successors C, E, and F (not D)
= 15+5+10+10 = 40
Step 2: A has the highest weight. So. Its rank is 1. Next, B has a rank of 2. D has more weight than C. So, rank of D is 3 and that of C is 4, etc.
A Line Balancing HeuristicPositional Weight Method
246
A
B
C E
FD
30
15
5
15
10
10
WorkElement
PositionalWeight Rank
ABCDEF
A Line Balancing HeuristicPositional Weight Method
247
• Step 3 is to assign work elements to workstations. For this step, both the ranks and precedence diagram shown on the last slide are useful.
• The assignment starts from the lowest rank. First A is assigned to a workstation, then B, then D, then C, etc.
• The first assignment is made to workstation 1. So, A is assigned to workstation 1.
• For each of the other work elements, first an attempt is made to assign the element to workstation 1. If the total workload exceeds the required cycle time, or a precedence constraint is violated, next attempt is to assign the element to workstation 2, and so on.
A Line Balancing HeuristicPositional Weight Method
248
Rank 1: Work element A (30)
Rank 2: Work element B (15)
A Line Balancing HeuristicPositional Weight Method
249
Rank 3: Work element D (15)
Rank 4: Work element C (5)
A Line Balancing HeuristicPositional Weight Method
250
Rank 5: Work element E (10)
Rank 6: Work element F (10)
A Line Balancing HeuristicPositional Weight Method
251
Final Solution:• Station 1: • Station 2: • Station 3: • Actual cycle time =
A Line Balancing HeuristicPositional Weight Method
252
READING AND EXERCISES
Lesson 19
Reading: – Section 8.10 pp. 453-458 (4th Ed.), pp. 439-443 (5th
Ed.)
Exercises: – 8.27, 8.29 p. 458-460 (4th Ed.), pp. 443-446