spring 2002ie 5141 topic 11 basic project scheduling

133
Spring 2002 IE 514 1 Topic 11 Basic Project Scheduling

Post on 22-Dec-2015

226 views

Category:

Documents


4 download

TRANSCRIPT

Spring 2002 IE 514 1

Topic 11

Basic Project Scheduling

Spring 2002 IE 514 2

Project Scheduling

Jobs subject to precedence constraintsJob on arc format (most common)

2 5

1 4

3

6

7 20

Spring 2002 IE 514 3

Overview

ProjectScheduling

No resourceConstraints

ResourceConstraints

Critical PathMethod (CPM)

Program Evaluationand Review Technique

(PERT)

Heuristic ResourceLeveling

Integer ProgrammingFormulations

Spring 2002 IE 514 4

Planning a Concert

Task Predecessors

A Plan concert -

B Advertise A

C Sell tickets A

D Hold concert B, C

Spring 2002 IE 514 5

Job on Arc Network

Not allowed: no two jobs can have the same starting and ending node!

Need to introduce a dummy job.

AB

D

C

AB

DC

Spring 2002 IE 514 6

Changing a Tire

Task Predecessors

A Remove flat tire from wheel -

B Repair puncture on flat tire A

C Remove spare from trunk -

D Put spare on wheel A, C

E Place repaired tire in trunk B, C

Spring 2002 IE 514 7

Job on Arc Network

A B

C D

E

Is this correct?

Spring 2002 IE 514 8

Job on Arc Network

A B

C D

E

Spring 2002 IE 514 9

Job on Node Network

A B E

DC

No need for a dummy node

Less used traditionally

Recently more popular

Spring 2002 IE 514 10

Critical Path Method (CPM)

Think of unlimited machines in parallel… and n jobs with precedence

constraintsProcessing times pj as before

Objective to minimize makespan

Spring 2002 IE 514 11

Critical Path Method

Forward procedure: Starting at time zero, calculate the

earliest each job can be started The completion time of the last job is the

makespanBackward procedure Starting at time equal to the makespan,

calculate the latest each job can be started so that this makespan is realized

Spring 2002 IE 514 12

Forward ProcedureStep 1:

Set at time t = 0 for all jobs j with no predecessors,Sj

’=0 and set Cj’ = pj.

Step 2:Compute for each job j

Cj’ = Sj

’ + pj.

Step 3:The optimal makespan isSTOP

,max '

all

'k

jkj CS

''2

'1max ,...,,max nCCCC

Spring 2002 IE 514 13

Backward ProcedureStep 1:

Set at time t = Cmax for all jobs j with no successors,

Cj’’= Cmax and set Sj

’’ = Cmax - pj.

Step 2:Compute for each job j

Sj’’ = Cj

’’ - pj.

Step 3:Verify that STOP }.,...,min{0 ''''

1 nSS

,min ''

all

''k

jkj SC

Spring 2002 IE 514 14

Comments

The forward procedure gives the earliest possible starting time for each job

The backwards procedures gives the latest possible starting time for each job

If these are equal the job is a critical job. If these are different the job is a slack

job, and the difference is the float.A critical path is a chain of jobs starting

at time 0 and ending at Cmax.

Spring 2002 IE 514 15

Example

j 1 2 3 4 5 6 7 8 9 10 11 12 13 14

pj 5 6 9 12 7 12 10 6 10 9 7 8 7 5

1

2

3

6 9

5 8

4 7

11

10

12 14

13

Spring 2002 IE 514 16

Forward Procedure

1

2

3

6 9

5 8

4 7

11

10

12 14

13

5

5+6=11 11+12=23 23+10=33

5+9=14

14+12=26

14+7=21

26+10=36

26+6=32

36+7=4343+7=50

33+9=42

43+8=51 51+5=56

56max C

Spring 2002 IE 514 17

Backwards Procedure

1

2

3

6 9

5 8

4 7

11

10

12 14

13

14-9=5

24-12=12 34-10=24 43-9=34

26-12=14

36-10=26

35-10=26

43-7=36

43-7=36

51-8=4356-5=51

51-8=43

56-5=51 56

Spring 2002 IE 514 18

16 9 12 14

Critical Path

2

3

5 8

4 7

11

10

13

Spring 2002 IE 514 19

Topic 12

Variable Processing Times

Spring 2002 IE 514 20

Time/Cost Trade-Offs

Assumed the processing times were fixed

More money shorter processing time

Start with linear costsProcessing timeMarginal cost

maxminjjj ppp

minmaxjj

bj

aj

j pp

ccc

Spring 2002 IE 514 21

Linear Costs

Resources (money)

Processingtimemax

jp

ajc

bjc

minjp

Spring 2002 IE 514 22

Solution Methods

Objective: minimum cost of projectTime/Cost Trade-Off Heuristic Good schedules Works also for non-linear costs

Linear programming formulation Optimal schedules Non-linear version not easily solved

Spring 2002 IE 514 23

Sources, Sinks, and Cuts

Source (dummy) node

Sink node

Minimal cut set

Cut set

Spring 2002 IE 514 24

Time/Cost Trade-Off Heuristic

Step 1:

Set all processing times at their maximum

Determine all critical paths with these processing times

Construct the graph Gcp of critical paths

Continue to Step 2

maxjj pp

Spring 2002 IE 514 25

Time/Cost Trade-Off Heuristic

Step 2:

Determine all minimum cut sets in Gcp

Consider those sets where all processing times are larger

than their minimum

If no such set STOP; otherwise continue to Step 2

cpjj Gjpp ,min

Spring 2002 IE 514 26

Time/Cost Trade-Off Heuristic

Step 3:

For each minimum cut set:

Compute the cost of reducing all processing times by one

time unit.

Take the minimum cut set with the lowest cost

If this is less than the overhead per time unit go on to Step

4; otherwise STOP

Spring 2002 IE 514 27

Time/Cost Trade-Off Heuristic

Step 4:

Reduce all processing times in the minimum cut set by

one time units

Determine the new set of critical paths

Revise graph Gcp and go back to Step 2

Spring 2002 IE 514 28

Example

j 1 2 3 4 5 6 7 8 9 10 11 12 13 14

pj 5 6 9 12 7 12 10 6 10 9 7 8 7 5

pj 3 5 7 9 5 9 8 3 7 5 6 5 5 2

cja 20 25 20 15 30 40 35 25 30 20 25 35 20 10

cj 7 2 4 3 4 3 4 4 4 5 2 2 4 8

Spring 2002 IE 514 29

Maximum Processing Times

1

2

3

6 9

5 8

4 7

11

10

12 14

13

Spring 2002 IE 514 30

Maximum Processing Times

1

2

3

6 9

5 8

4 7

11

10

12 14

13

56max C

Spring 2002 IE 514 31

Critical Path Subgraph (Gcp)

1

3

6 9

11

12 14

C1=7

C3=4

C6=3 C9=4

C11=2

C12=2 C14=8

Minimum cutset with lowest cost

Cut sets: {1},{3},{6},{9}, {11},{12},{14}.

Spring 2002 IE 514 32

Critical Path Subgraph (Gcp)

1

3

6 9

11

12 14

C1=7

C3=4

C6=3 C9=4

C11=2

C12=2 C14=8

13

Cut sets: {1},{3},{6},{9}, {11},{12,13},{14}.

C13=4

Minimum cutset with lowest cost

Spring 2002 IE 514 33

Critical Path Subgraph (Gcp)

1

3

6 9

11

12 14

C1=7

C3=4

C6=3 C9=4

C11=2

C12=2 C14=8

13

Reduce processing timenext on job 6

C13=14

Reduce processingtime until = 4

Spring 2002 IE 514 34

Critical Path Subgraph (Gcp)

1

3

6 9

11

12 14

C1=7

C3=4

C6=3 C9=4

C11=2

C12=2 C14=8

13

C13=4

2 4 7

10

C2=2 C4=3 C7=4

C10=5

Spring 2002 IE 514 35

Linear Programming Formulation

The heuristic does not guaranteed optimum

Here total cost is linear

Want to minimize

n

jjjj

bj ppccCc

1

maxmax0

n

jjj pcCc

1max0 .

Spring 2002 IE 514 36

Linear Program

Minimize

subject to

jpxC

jx

jpp

jpp

Akjxpx

jj

j

jj

jj

jjk

,0

,0

,

,

,0

max

min

max

n

jjj pcCc

1max0 .

Spring 2002 IE 514 37

Topic 13

PERT

Spring 2002 IE 514 38

Program Evaluation and Review Technique (PERT)Assumed processing times deterministicProcessing time of j random with mean j

and variance j2.

Want to determine the expected makespan

Assume we havepj

a = most optimistic processing time

pjm = most likely processing time (mode)

pjb = most pessimistic processing time

Spring 2002 IE 514 39

Expected Makespan

Estimate expected processing time

Apply CPM with expected processing times

Let Jcp be a critical pathEstimate expected makespan

6

4 bma

jjjj

ppp

cpJj

jCE )(ˆmax

Spring 2002 IE 514 40

Distribution of Makespan

Estimate the variance of processing times

and the variance of the makespan

Assume it is normally distributed

62

ab

jjj

pp

cpJj

jCV 2max )(ˆ

Spring 2002 IE 514 41

Discussion

Potential problems with PERT: Always underestimates project duration

other paths may delay the project

Non-critical paths ignoredcritical path probabilitycritical activity probability

Activities are not always independentsame raw material, weather conditions, etc.

Estimates by be inaccurate

Spring 2002 IE 514 42

Discussion

No resource constraints: Critical Path Method (CPM) Simple deterministic Time/cost trade-offs

Linear cost (heuristic or exact)Non-linear cost (heuristic)

Accounting for randomness (PERT)

Spring 2002 IE 514 43

Topic 14

Adding Resource Constraints

Spring 2002 IE 514 44

Resource Constraints

Renewable resourcesVery hard problemNo LPCan develop an IPLet job n+1 be dummy job (sink) and

otherwise.0

at time completed is job if1 tjx jt

Spring 2002 IE 514 45

Makespan

Let H bound the makespan, e.g.

Completion time of job j isand the makespan

n

jjpH

1

H

tjtxt

1

H

ttnxt

1,1

Spring 2002 IE 514 46

IP Formulation

MinimizeSubject to

H

ttnxt

1,1

1

0

1

1

1

11

H

tjt

j

n

j

pt

tujuij

H

tktk

H

tjt

x

RxR

txpxt

j

Spring 2002 IE 514 47

In Practice

The IP cannot be solved (Almost) always resource constraintsHeuristic:

Resource constraint Precedence constraint

Example: pouring foundation and sidewalk both require same cement mixer delaying foundation delays building precedence constraint: pour foundation first

not a logical constraint

Spring 2002 IE 514 48

Optimality of Heuristic

Say n jobs need the same resourceCould otherwise all be done

simultaneouslyAdd (artificial) precedence constraintsHave n! possibilities

Will we select the optimal sequence?

2 3 4 5 6

2 6 24 120 720

Spring 2002 IE 514 49

Decision Support

Resource leveling Solve with no resource constraints Plot the resource use as a function of

time If infeasible suggest precedence

constraintsLongest jobMinimum slack

User adds constraints Start over

Spring 2002 IE 514 50

Example: One Resource

Uses resource

3

6 11

66

2

9

Time

10 20 30

Resource ProfileCapacity

Spring 2002 IE 514 51

Topic 15

Job Shop Scheduling

Spring 2002 IE 514 52

Job Shop Scheduling

Have m machines and n jobsEach job visits some or all of the

machines

Customer order of small batches Wafer fabrication in semiconductor industry Hospital

Very difficult to solve

Spring 2002 IE 514 53

Job Shop Example

Constraints Job follows a specific route

One job at a time on each machine

(1,1)

(2,3)

(3,1)

(4,3)

(1,2) (1,3)

(2,1) (2,2)

(4,2)

(3,3)

Machine 1

Machine 2

Machine 3

Machine 4

Spring 2002 IE 514 54

Graph Representation

Each job follows a specific route through the job shop ...

(1,1) (2,1) (3,1)

(1,2) (2,2) (4,2)

(2,3) (1,3) (4,3) (3,3)

Sink

Source

(Conjuctive arcs)

Spring 2002 IE 514 55

Graph Representation

Machine constraints must also be satisfied ...

(Disjunctive arcs)

(1,1) (2,1) (3,1)

(1,2) (2,2) (4,2)

(2,3) (1,3) (4,3) (3,3)

Sink

Source

Spring 2002 IE 514 56

Solving the Problem

Select one of each pair of disjunctive arcs

The longest path in this graph G(D) determines the makespan

(1,1) (2,1) (3,1)

(1,2) (2,2) (4,2)

(2,3) (1,3) (4,3) (3,3)

Sink

Source

Spring 2002 IE 514 57

Feasibility of the Schedule

Are all selections feasible?

(1,1) (2,1) (3,1)

(1,2) (2,2) (4,2)

(2,3) (1,3) (4,3) (3,3)

Sink

Source

Spring 2002 IE 514 58

Disjunctive Programming

),( allfor 0

),(),( allfor or

),( allfor

),(),( allfor

max

jiy

jkjipyy

pyy

jipyC

jkjipyy

ij

ijijil

ililij

ijij

ijijkj

Minimize

Subject to

maxC

Spring 2002 IE 514 59

Solution Methods

Exact solution Branch and Bound 20 machines and 20 jobs

Dispatching rules (16+) Shifting Bottleneck

Search heuristics Tabu, SA, GA, etc.

Spring 2002 IE 514 60

Topic 16

Types of Schedules

Spring 2002 IE 514 61

Definitions

A schedule is nondelay if no machine is idled when there is an operation available

A schedule is called active if no operation can be completed earlier by altering the sequence on machines and not delaying other operations

For “regular” objectives the optimal schedule is always active but not necessarily nondelay

Spring 2002 IE 514 62

Schedule Space

Nondelay

Active

Semiactive

All Schedules

Optimum

Spring 2002 IE 514 63

Nonactive Schedule

(3,2)

Machine 2

Machine 1

Machine 3

(1,1)

(2,3) (2,2) (2,1)

0 2 4 6 8

(2,1)

Spring 2002 IE 514 64

Active Schedule, not Nondelay

(3,2)

Machine 2

Machine 1

Machine 3

(1,1)

(2,3) (2,2) (2,1)

0 2 4 6 8

Spring 2002 IE 514 65

Nondelay schedule

(3,2)

Machine 2

Machine 1

Machine 3

(1,1)

(2,3) (2,2)(2,1)

0 2 4 6 8

Spring 2002 IE 514 66

Topic 17

Branch & Bound for Job Shops

Spring 2002 IE 514 67

Branch and Bound

Operation (i,j) with duration pij

Minimize makespanBranch by generating all active schedulesNotation Let denote operations whose predecessors

have been scheduled Let rij be the earliest possible starting time of

(i,j) in .

Spring 2002 IE 514 68

Generating Active Schedules

Step 1. (Initialize)Let contain the first operation of each jobLet rij = 0 for all (i,j).

Step 2. (Machine selection)Compute the current partial schedule

and let i* denote the machine where minimum achieved

ijijji

prt ),(

min)(

Spring 2002 IE 514 69

Generating Active Schedules

Step 3. (Branching)Let ’ denote all operations on machine i such that

For each operation in ’ consider a partial schedule with that operation next on i* For each partial schedule, delete operation from and include immediate follower in . Go back to Step 2.

)(* trji

Spring 2002 IE 514 70

Branching Tree

Selection of (i*,j) Selection of (i*,l)

)},(),,{( **' liji

Spring 2002 IE 514 71

Example

(1,1) (2,1) (3,1)

(2,2) (1,2) (3,2)

(1,3) (2,3) (4,3)

SinkSource (4,2)

0

10 84

8 3 5 6

4 7 30

0

22max C

Spring 2002 IE 514 72

Partitioning Tree

Level 1

)}3,1(),1,1{(

1

4}40,80,100min{)(

)}3,1(),2,2(),1,1{(

'

*

i

t

Spring 2002 IE 514 73

Level 1: select (1,1)

(1,1) (2,1) (3,1)

(2,2) (1,2) (3,2)

(1,3) (2,3) (4,3)

SinkSource (4,2)

0

10 84

8 3 5 6

4 7 30

0

Disjunctive Arcs

1010

24max C

Spring 2002 IE 514 74

Level 1: select (1,3)

(1,1) (2,1) (3,1)

(2,2) (1,2) (3,2)

(1,3) (2,3) (4,3)

SinkSource (4,2)

0

10 84

8 3 5 6

4 7 30

0

Disjunctive Arcs

4

4

26max C

Spring 2002 IE 514 75

Branching Tree

(1,1) scheduled firston machine 1

LB = 24

(1,3) scheduled firston machine 1

LB = 26

No disjunctive arcs

Spring 2002 IE 514 76

Branching Tree

Level 2:

)}2,2{(

2

8}410,810,80min{)(

)}3,1(),1,2(),2,2{(

'

*

i

t

Spring 2002 IE 514 77

Level 2: Select (2,2)

(1,1) (2,1) (3,1)

(2,2) (1,2) (3,2)

(1,3) (2,3) (4,3)

SinkSource (4,2)

0

10 84

8 3 5 6

4 7 30

0

Disjunctive Arcs

1010

Spring 2002 IE 514 78

Branching Tree

(1,1) scheduled firston machine 1

LB = 24(1,3) scheduled firston machine 1

LB = 26

No disjunctive arcs

(1,1) first on M1 and(2,2) first on M2

Spring 2002 IE 514 79

Lower Bounds

Lower bounds The length of the critical path in G(D’)

Quick but not very tight

Linear programming relaxation A maximum lateness problem (see

book)

Spring 2002 IE 514 80

Topic 18

The Shifting Bottleneck Heuristic

Spring 2002 IE 514 81

Shifting Bottleneck

Minimize makespan in a job shopLet M denote the set of machinesLet M0 M be machines for which

disjunctive arcs have been selectedBasic idea: Select a machine in M - M0 to be included in

M0

Sequence the operations on this machine

Spring 2002 IE 514 82

Example

Jobs Sequence Processing Times

1 1,2,3 P11=10, P21=8, P31=4

2 2,1,4,3 P22=8, P12=3, P42=5, P32=6

3 1,2,4 P13=4, P23=7, P43=3

Spring 2002 IE 514 83

Iteration 1

(1,1) (2,1) (3,1)

(2,2) (1,2) (3,2)

(1,3) (2,3) (4,3)

SinkSource (4,2)

0

10 84

8 3 5 6

4 7 30

0

0M

22)( 0max MC

Spring 2002 IE 514 84

Selecting a Machine

Jobs 1 2 3

p1j 10 3 4

r1j 0 8 0

d1j 10 11 12

Set up a nonpreemptive single machine maximum latenessproblem for Machine 1:

Optimum sequence is 1,2,3 with Lmax(1)=5

Spring 2002 IE 514 85

Selecting a Machine

Jobs 1 2 3

p1j 10 3 4

r1j 0 8 0

d1j 10 11 12

Set up a nonpreemptive single machine maximum latenessproblem for Machine 2:

Optimum sequence is 2,3,1 with Lmax(2)=5

Spring 2002 IE 514 86

Selecting a Machine

Similarly,

Either Machine 1 or Machine 2 is the bottleneck

0)4(

4)3(

max

max

L

L

Spring 2002 IE 514 87

Iteration 2

(1,1) (2,1) (3,1)

(2,2) (1,2) (3,2)

(1,3) (2,3) (4,3)

SinkSource (4,2)

0

10 84

8 3 5 6

4 7 30

0

}1{0 M

27522)1()(})1({ maxmaxmax LCC

10

3

Spring 2002 IE 514 88

Selecting a Machine

Jobs 1 2 3

p2j 8 8 7

r2j 10 0 17

d2j 23 10 24

Set up a nonpreemptive single machine maximum latenessproblem for Machine 2:

Optimum sequence is 2,1,3 with Lmax(2)=1

Spring 2002 IE 514 89

Selecting a Machine

Similarly,

Either Machine 2 or Machine 3 is the bottleneck

0)4(

1)3(

max

max

L

L

Spring 2002 IE 514 90

Iteration 3

(1,1) (2,1) (3,1)

(2,2) (1,2) (3,2)

(1,3) (2,3) (4,3)

SinkSource (4,2)

0

10 84

8 3 5 6

4 7 30

0

}2,1{0 M

28127)2(})1({})2,1({ maxmaxmax LCC

10

3

88

Spring 2002 IE 514 91

Discussion

Procedure continues until all the disjunctive arcs have been added

Extremely effective Fast Good solutions

‘Just a heuristic’ No guarantee of optimum

Spring 2002 IE 514 92

Solving the Maximum Lateness Problem

(•,•,•)

(1,•,•) (2,•,•) (3,•,•)

(1,2,3) (1,3,2) (3,1,2) (3,2,1)

5max L 6max L 6max L 7max L

Spring 2002 IE 514 93

Discussion

The solution is actually a little bit more complicated than before

Precedence constraints because of other (already scheduled) machines

Delay precedence constraints(see example in book)

Spring 2002 IE 514 94

Discussion

Shifting bottleneck can be applied generally

Basic idea Solve problem “one variable at a time” Determine the “most important” variable Find the best value of that variable Move on to the “second most important” …. Here we treat each machine as a variable

Spring 2002 IE 514 95

Topic 19

Shifted Bottleneck for Total Weighted Tardiness Objective

Spring 2002 IE 514 96

Total Weighted Tardiness

We now apply a shifted bottleneck procedure to a job shop with total weighted tardiness objective Need n sinks in disjunctive graph Machines scheduled one at a time Given current graph calculate

completion time of each job Some n due dates for each operation Piecewise linear penalty function

Spring 2002 IE 514 97

Cost Function for Operation (i,j)

ijC

functioncost ijh

kijd l

ijd

Spring 2002 IE 514 98

Machine Selection

Machine criticality Solve a single machine problem Piecewise linear cost function May have delayed precedence

constraints Generalizes single-machine with n jobs,

precedence constraints, and total weighted tardiness objective

ATC rule

Spring 2002 IE 514 99

Generalized ATC Rule

n

k

ijijkij

j

jj pK

trpd

p

wtI

1

)(exp)(

Earliest time machine can be used

Scaling constantRanks jobs good schedule

Spring 2002 IE 514 100

Criticality of Machines

Criticality = subproblem objective function Simple

More effective ways, e.g. Add disjunctive arcs for each machine Calculate new completion times

and

''ijC

K

CdCCw kk

n

kkkk

''

1

''' exp

Spring 2002 IE 514 101

Example

(1,1) (2,1) (3,1)

(3,2) (1,2)

(3,3) (2,3) (1,3)

Sink

Source (2,2)

55 10 4

4 5 6

5 3 70

0Sink

Sink

241 d

182 d

163 d

Spring 2002 IE 514 102

Subproblem: Machine 1

J o b s 1 2 3

p 1 j 5 5 7

r 1 j 5 4 8

31

21

11 ,, jjj ddd 1 0 , - , - - , 1 2 , - - , - , 1 6

Spring 2002 IE 514 103

Subproblem: Machine 2

J o b s 1 2 3

p 2 j 1 0 6 3

r 2 j 1 0 9 5

32

22

12 ,, jjj ddd 2 0 , - , - - , 1 8 , - - , - , 9

Spring 2002 IE 514 104

Subproblem: Machine 3

J o b s 1 2 3

p 3 j 4 4 5

r 3 j 2 0 0 0

33

23

13 ,, jjj ddd 2 4 , - , - - , 7 , - - , - , 6

Spring 2002 IE 514 105

Subproblem Solutions

Solve using dispatching rule Use K=0.1 Have t = 4,

For machine 1 this results in

1213

712

611

105.1)4(

103.3)4(

102.1)4(

I

I

I

5p

Schedulefirst

Spring 2002 IE 514 106

Solution to Subproblems

Machine Sequence Value

1 (1,1),(1,2),(1,3) 18

2 (2,3),(2,1),(2,2) 16

3 (3,3),(3,2),(3,1) 4

Schedulefirst

Spring 2002 IE 514 107

First Iteration

(1,1) (2,1) (3,1)

(3,2) (1,2)

(3,3) (2,3) (1,3)

Sink

Source (2,2)

55 10 4

4 5 6

5 3 70

0Sink

Sink

241 d

182 d

163 d

5

5

Spring 2002 IE 514 108

Subproblem: Machine 2

J o b s 1 2 3

p 2 j 1 0 6 3

r 2 j 1 0 1 5 5

32

22

12 ,, jjj ddd 2 0 , - , - - , 2 1 , - - , - , 1 5

Spring 2002 IE 514 109

Subproblem: Machine 3

J o b s 1 2 3

p 3 j 4 4 5

r 3 j 2 0 0 0

33

23

13 ,, jjj ddd 2 4 , - , - - , 1 0 , 1 0 - , - , 1 2

Spring 2002 IE 514 110

Solution to Subproblems

Machine Sequence Value

2 (2,3),(2,1),(2,2) 10

3 (3,2),(3,3),(3,1) 0

Schedulefirst

Spring 2002 IE 514 111

Second Iteration

(1,1) (2,1) (3,1)

(3,2) (1,2)

(3,3) (2,3) (1,3)

Sink

Source (2,2)

55 10 4

4 5 6

5 3 70

0Sink

Sink

241 d

182 d

163 d

5

53

10

Spring 2002 IE 514 112

Subproblem: Machine 3

J o b s 1 2 3

p 3 j 4 4 5

r 3 j 2 0 0 0

33

23

13 ,, jjj ddd 2 4 , - , - - , 1 5 , 1 0 7 , 7 , 1 2

Spring 2002 IE 514 113

Third Iteration

(1,1) (2,1) (3,1)

(3,2) (1,2)

(3,3) (2,3) (1,3)

Sink

Source (2,2)

55 10 4

4 5 6

5 3 70

0Sink

Sink

241 d

182 d

163 d

5

53

10

5

4

Spring 2002 IE 514 114

Final Schedule

0 5 10 15 20 25 30

3,3 3,2

2,3

1,1 1,2

2,1 2,2

3,1

1,3Machine 1

Machine 2

Machine 3

1d

2d3d

Spring 2002 IE 514 115

Performance

Objective function

Try finding a better schedule using LEKIN(optimal value = 18)

28)1622(2)1826(2)2424(13

1

jjjTw

Spring 2002 IE 514 116

Topic 20

Random Search for Job Shop Scheduling

Spring 2002 IE 514 117

Random Search Methods

Popular to use genetic algorithms, simulated annealing, tabu search, etc.

Do not work very well Problems defining the neighborhood Do not exploit special structure

Spring 2002 IE 514 118

Defining the Neighborhood

Approximately nm neighbors! Simply too inefficient

(1,1) (2,1) (3,1)

(3,2) (1,2)

(3,3) (2,3) (1,3)

Sink

Source (2,2)

55 10 4

4 5 6

5 3 70

0Sink

Sink

5

53

10

5

4

Spring 2002 IE 514 119

Job Shop with Makespan

Random search methods can be applied Use ‘critical path’ neighborhood Can eliminate many neighbors immediately

Specialized methods usually better Random search = ‘giving up’ ! Traveling Salesman Problem (TSP)

Very well studiedLin-Kernighan type heuristics (1970) Order of 1000 times faster than random search

Spring 2002 IE 514 120

Comparison of Methods

Method Average Maximum

SimulatedAnnealing

0.42 2.0

Tabu Search 0.18 0.8

GeneticAlgorithm

1.37 4.7

Percentage over known optimum:

Winner

Spring 2002 IE 514 121

The Nested Partitions Method

Partitioning by scheduling the bottleneck machine

firstRandom sampling using randomized dispatching rules

Calculating the promising index incorporating local improvement heuristic

Can incorporate any special structure!

Spring 2002 IE 514 122

Topic 21

Special Case: Flow Shops

Spring 2002 IE 514 123

A Flexible Flow Shop with Setups

Stage 1 Stage 2 Stage 3 Stage 4

Spring 2002 IE 514 124

Applications

Very common in applications: Paper mills Steel lines Bottling lines Food processing lines

Spring 2002 IE 514 125

Classical Literature

Exact solutions

Simple flow shop with makespan

criterion

Two machine case (Johnson’s rule)

Realistic problems require heuristic

approaches

Spring 2002 IE 514 126

Objectives

Multiple objectives usual Meet due dates

Maximize throughput

Minimize work-in-process (WIP)

jjTw

ijikiijk aahs ,

Setting for jobj on Machine i

Spring 2002 IE 514 127

Generating Schedules

Identify bottlenecksCompute time windows at bottleneck

stageCompute machine capacity at

bottleneckSchedule bottleneck stageSchedule non-bottlenecks

Spring 2002 IE 514 128

Identifying Bottlenecks

In practice usually knownSchedule downstream bottleneck firstDetermining the bottleneck loading number of shifts downtime due to setups

Bottleneck assumed fixed

Spring 2002 IE 514 129

Identifying Time Window

Due date Shipping day Multiply remaining processing times

with a safety factorRelease date Status j of job j

Release date if j = l)(lfrbj

Decreasingfunction -determinedempirically

Spring 2002 IE 514 130

Computing Capacity

Capacity of each machine at bottleneck Speed Number of shifts Setups

Two cases: Identical machines Non-identical machines

Spring 2002 IE 514 131

Scheduling Bottleneck

Jobs selected one at a time Setup time Due date Capacity

For example ATCS rule

Spring 2002 IE 514 132

Schedule Remaining Jobs

Determined by sequence at bottleneck stage

Minor adjustments Adjacent pairwise interchanges to

reduce setup

Spring 2002 IE 514 133

Summary: Job ShopsRepresentation: graph w/disjoint arcsSolution methods Branch-and-bound Shifted bottleneck heuristic Beam search

Can incorporate bottleneck idea & dispatching rules

Random search methodsSpecial case: flow shops