Top Banner
1 LESSON 12: INTRODUCTION TO OPERATIONS SCHEDULING Outline Hierarchy of Production Decisions Operations Scheduling Production Systems
252
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Scheduling

1

LESSON 12: INTRODUCTION TO OPERATIONS SCHEDULING

Outline

• Hierarchy of Production Decisions• Operations Scheduling• Production Systems

Page 2: Scheduling

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

Page 3: Scheduling

3

Aggregate Plan

Forecast of demand

Material Requirements Planning System

Master Production Schedule

Detailed Job Shop Schedule

Figure 8-1: Hierarchy of Production Decisions

Page 4: Scheduling

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.

Page 5: Scheduling

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.

Page 6: 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

Page 7: 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

Page 8: 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

Page 9: 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

Page 10: Scheduling

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

Page 11: 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

Page 12: 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.

Page 13: Scheduling

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.

Page 14: Scheduling

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

Page 15: Scheduling

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.

Page 16: Scheduling

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.

Page 17: Scheduling

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.

Page 18: Scheduling

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

Page 19: Scheduling

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.

Page 20: Scheduling

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.

Page 21: Scheduling

21

Production Systems: Batch Production

• Examples:– Books– Pastry– Painting– Automobile gears (the

picture shows a Computer Numerical Control (CNC) machine used to produce gears)

Page 22: Scheduling

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.

Page 23: Scheduling

23

Job Shop

Batch production

ShopFlow C

ust

om

izat

ion

High

LowHighLow

Volume

Project

Production Systems

ContinuousProduction

Page 24: Scheduling

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

Page 25: Scheduling

25

Job Shop

Batch production

ShopFlow C

ust

om

izat

ion

High

LowHighLow

Volume

Project

ContinuousProduction

Labor Intensive

CapitalIntensive

Production Systems

Page 26: Scheduling

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

Page 27: Scheduling

27

LESSON 13: SCHEDULING OBJECTIVES

Outline

• Job Characteristics• Comparison of Schedules• Scheduling Terms• Scheduling Objectives

Page 28: Scheduling

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.

Page 29: Scheduling

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

Page 30: Scheduling

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.

Page 31: Scheduling

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

Page 32: Scheduling

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

Page 33: Scheduling

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

Page 34: Scheduling

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

Page 35: Scheduling

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

Page 36: Scheduling

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

Page 37: Scheduling

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

Page 38: Scheduling

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

Page 39: Scheduling

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.

Page 40: Scheduling

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.

Page 41: Scheduling

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

Page 42: Scheduling

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

Page 43: Scheduling

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

Page 44: Scheduling

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

Page 45: Scheduling

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 ,

Page 46: Scheduling

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 ,

Page 47: Scheduling

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

Page 48: Scheduling

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

Page 49: Scheduling

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

Page 50: Scheduling

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

Page 51: Scheduling

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

Page 52: Scheduling

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.

Page 53: Scheduling

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

Page 54: Scheduling

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

Page 55: Scheduling

LESSON 14: SCHEDULING WITH PRIORITY SEQUENCING RULES

Outline

• Sequencing• Sequencing Rules• Sequencing Rule Example• Remarks

Page 56: Scheduling

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.

Page 57: Scheduling

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.

Page 58: Scheduling

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.

Page 59: Scheduling

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

=

Page 60: Scheduling

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

Page 61: Scheduling

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

Page 62: Scheduling

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

Page 63: Scheduling

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

Page 64: Scheduling

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

Page 65: Scheduling

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

Page 66: Scheduling

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.

Page 67: Scheduling

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

Page 68: Scheduling

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

Page 69: Scheduling

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

Page 70: Scheduling

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

Page 71: Scheduling

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

Page 72: Scheduling

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

Page 73: Scheduling

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

Page 74: Scheduling

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

Page 75: Scheduling

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.

Page 76: Scheduling

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

Page 77: Scheduling

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.

Page 78: Scheduling

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

Page 79: Scheduling

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:

Page 80: Scheduling

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

Page 81: Scheduling

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.

Page 82: Scheduling

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

Page 83: Scheduling

83

LESSON 15: SINGLE MACHINE SCHEDULING

Outline

• Total Completion time• Maximum Lateness• Number of Tardy Jobs• Forward and Backward Scheduling• Precedence Constraints

Page 84: Scheduling

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.

Page 85: Scheduling

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.

Page 86: Scheduling

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.

Page 87: Scheduling

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.

Page 88: Scheduling

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.

Page 89: Scheduling

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.

Page 90: Scheduling

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.

Page 91: Scheduling

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.

Page 92: Scheduling

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.

Page 93: Scheduling

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.

Page 94: Scheduling

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.

Page 95: Scheduling

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

Page 96: Scheduling

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

Page 97: Scheduling

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

Page 98: Scheduling

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

Page 99: Scheduling

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

Page 100: Scheduling

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

Page 101: Scheduling

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

Page 102: Scheduling

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

Page 103: Scheduling

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

Page 104: Scheduling

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

Page 105: 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

Page 106: Scheduling

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

Page 107: Scheduling

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

Page 108: Scheduling

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

Page 109: Scheduling

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

Page 110: Scheduling

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

Page 111: Scheduling

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

Page 112: Scheduling

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

Page 113: Scheduling

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

Page 114: Scheduling

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”

Page 115: Scheduling

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

Page 116: Scheduling

LESSON 16: MULTIPLE MACHINE SCHEDULING

Outline

• Planning and Monitoring with Gantt Chart• Two-Machine Flow Shop• Extension To A Three-Machine Flow Shop

Page 117: Scheduling

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

Page 118: Scheduling

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

Page 119: Scheduling

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

Page 120: Scheduling

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)

Page 121: Scheduling

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)

Page 122: Scheduling

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

Page 123: Scheduling

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

Page 124: Scheduling

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.

Page 125: Scheduling

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

Page 126: Scheduling

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

Page 127: Scheduling

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

Page 128: Scheduling

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

Page 129: Scheduling

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

Page 130: Scheduling

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

Page 131: Scheduling

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

Page 132: Scheduling

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.

Page 133: Scheduling

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.

Page 134: Scheduling

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.

Page 135: Scheduling

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.

Page 136: Scheduling

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.

Page 137: Scheduling

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.

Page 138: Scheduling

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

Page 139: Scheduling

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

Page 140: Scheduling

• 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

Page 141: Scheduling

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

Page 142: Scheduling

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

Page 143: Scheduling

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

Page 144: Scheduling

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

Page 145: Scheduling

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

Page 146: Scheduling

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

Page 147: Scheduling

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

Page 148: Scheduling

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

Page 149: Scheduling

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

Page 150: Scheduling

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

Page 151: Scheduling

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

Page 152: Scheduling

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

Page 153: Scheduling

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

Page 154: Scheduling

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.

Page 155: Scheduling

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.

Page 156: Scheduling

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

Page 157: Scheduling

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

Page 158: Scheduling

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.

Page 159: Scheduling

159

10

20

30

10 20 30 40 50

Step 1: Set Up A Cartesian Coordinate System

Page 160: Scheduling

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.

Page 161: Scheduling

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.

Page 162: Scheduling

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

Page 163: Scheduling

163

10

20

30

10 20 30 40 50Peter's Time

Pat

ricia

's T

ime

Step 4: Draw Rectangles

Page 164: Scheduling

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

Page 165: Scheduling

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

Page 166: Scheduling

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)

Page 167: Scheduling

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)

Page 168: Scheduling

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.

Page 169: Scheduling

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

Page 170: Scheduling

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

Page 171: Scheduling

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)

Page 172: Scheduling

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

Page 173: Scheduling

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.

Page 174: Scheduling

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.

Page 175: Scheduling

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

Page 176: Scheduling

176

Step 9: The Gantt Chart

10 20 30 40 50 60Gantt Chart

A

B

C

D

Page 177: Scheduling

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

Page 178: Scheduling

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

Page 179: Scheduling

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)

Page 180: Scheduling

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

Page 181: Scheduling

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.

Page 182: Scheduling

A Review on Probability Distributions

Probability Distribution

0

0.25

0.5

0.75

2H 1H1T 2T

Event

Pro

bab

ilit

y

Page 183: Scheduling

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.

Page 184: Scheduling

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.

Page 185: Scheduling

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

Page 186: Scheduling

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

Page 187: Scheduling

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.

Page 188: Scheduling

188

A Review on Probability Distributions

0

0.1

0.2

0.3

0.4

-4 -2 0 2 4

z

f(z)

NormalDistribution

Page 189: Scheduling

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.

Page 190: Scheduling

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

Page 191: Scheduling

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.

Page 192: Scheduling

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.

Page 193: Scheduling

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)

Page 194: Scheduling

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)

Page 195: Scheduling

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

Page 196: Scheduling

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.

Page 197: Scheduling

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?

Page 198: Scheduling

198

• If a different grouping is chosen

• Check that

Static Analysis: Parallel Machines Back To Deterministic Scheduling

2

time idletimes processing of SumMakespan

Page 199: Scheduling

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

Page 200: 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?

Page 201: Scheduling

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.

Page 202: Scheduling

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?

Page 203: Scheduling

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

Page 204: Scheduling

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

Page 205: Scheduling

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.

Page 206: Scheduling

206

Static Analysis: Parallel Machines

B

6 12 18 24 36

Time

42 48

A

30 54 60 66

Page 207: Scheduling

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

Page 208: Scheduling

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

Page 209: Scheduling

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

Page 210: Scheduling

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

Page 211: Scheduling

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

Page 212: Scheduling

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

Page 213: Scheduling

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

Page 214: Scheduling

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

Page 215: Scheduling

215

Dynamic Analysis: Selection of Disciplines

Page 216: Scheduling

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.

Page 217: Scheduling

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

Page 218: Scheduling

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?

Page 219: Scheduling

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

Page 220: Scheduling

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

Page 221: Scheduling

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

Page 222: Scheduling

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

Page 223: Scheduling

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

Page 224: Scheduling

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.

Page 225: Scheduling

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.

Page 226: Scheduling

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

Page 227: Scheduling

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.

Page 228: Scheduling

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.

Page 229: Scheduling

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

Page 230: Scheduling

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

Page 231: Scheduling

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

Page 232: Scheduling

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

Page 233: Scheduling

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 =

Page 234: Scheduling

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

Page 235: Scheduling

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.

Page 236: Scheduling

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.

Page 237: Scheduling

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

Page 238: Scheduling

238

The Precedence Diagram

Page 239: Scheduling

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

Page 240: Scheduling

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.

Page 241: Scheduling

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

Page 242: Scheduling

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

Page 243: Scheduling

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

Page 244: Scheduling

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

Page 245: Scheduling

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

Page 246: Scheduling

246

A

B

C E

FD

30

15

5

15

10

10

WorkElement

PositionalWeight Rank

ABCDEF

A Line Balancing HeuristicPositional Weight Method

Page 247: Scheduling

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

Page 248: Scheduling

248

Rank 1: Work element A (30)

Rank 2: Work element B (15)

A Line Balancing HeuristicPositional Weight Method

Page 249: Scheduling

249

Rank 3: Work element D (15)

Rank 4: Work element C (5)

A Line Balancing HeuristicPositional Weight Method

Page 250: Scheduling

250

Rank 5: Work element E (10)

Rank 6: Work element F (10)

A Line Balancing HeuristicPositional Weight Method

Page 251: Scheduling

251

Final Solution:• Station 1: • Station 2: • Station 3: • Actual cycle time =

A Line Balancing HeuristicPositional Weight Method

Page 252: Scheduling

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