134
Spring 2002 IE 514 1 IE 514 Production Scheduling Introduction

Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Embed Size (px)

Citation preview

Page 1: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 1

IE 514 Production Scheduling

Introduction

Page 2: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 2

Contact Information

Siggi Olafsson3018 Black [email protected]://www.public.iastate.edu/

~olafssonOH: MW 10:30-12:00

Page 3: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 3

Administration (Syllabus)

TextPrerequisitesAssignments

Homework 35% Project 40% Final Exam 35%

Computing

Page 4: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 4

What is Scheduling About?

Applied operations research Models Algorithms

Solution using computers Implement algorithms Draw on common databases Integration with other systems

Page 5: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 5

Application Areas

Procurement and production

Transportation and distribution

Information processing and communications

Page 6: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 6

Manufacturing Scheduling

Short product life-cyclesQuick-response manufacturingManufacture-to-order

More complex operations must be scheduled in shorter amount of time with less room for errors!

Page 7: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 7

Scope of Course

Levels of planning and scheduling Long-range planning (several years), middle-range planning (1-2 years), short-range planning (few months), scheduling (few weeks), and reactive scheduling (now)

These functions are now often integrated

Page 8: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 8

Scheduling Systems

Enterprise Resource Planning (ERP) Common for larger businesses

Materials Requirement Planning (MRP) Very common for manufacturing companies

Advanced Planning and Scheduling (APS) Most recent trend Considered “advanced feature” of ERP

Page 9: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 9

Scheduling Problem

Allocate scarce resources to tasksCombinatorial optimization problem

Maximize profitSubject to constraints

Mathematical techniques and heuristics

Page 10: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 10

Our Approach

Scheduling Problem

Model

Conclusions

Problem Formulation

Solve with Computer Algorithms

Page 11: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 11

Scheduling Models

Project schedulingJob shop schedulingFlexible assembly systems

Lot sizing and schedulingInterval scheduling, reservation,

timetablingWorkforce scheduling

Page 12: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 12

General Solution Techniques

Mathematical programming Linear, non-linear, and integer programming

Enumerative methods Branch-and-bound Beam search

Local search Simulated annealing/genetic

algorithms/tabu search/neural networks.

Page 13: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 13

Scheduling System Design

Databases

Schedule generation

User interfaces

Database Management

Automatic Schedule Generator

Schedule EditorPerformance Evaluation

Graphical Interface

User

Order master file

Shop floordata collection

Page 14: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 14

LEKIN

On disk with bookGeneric job shop scheduling systemUser friendly windows environmentC++ object oriented designCan add own routines

Page 15: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 15

Advanced Topics

Uncertainty, robustness, and reactive scheduling

Multiple objectives

Internet scheduling

Page 16: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 16

Topic 1

Setting up the Scheduling Problem

Page 17: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 17

Modeling

Three components to any model: Decision variables

This is what we can change to affect the system, that is, the variables we can decide upon

Objective functionE.g, cost to be minimized, quality measure to be

maximized

ConstraintsWhich values the decision variables can be set

to

Page 18: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 18

Decision “Variables”

Three basic types of solutions:

A sequence: a permutation of the jobs

A schedule: allocation of the jobs in a more

complicated setting of the environment

A scheduling policy: determines the next

job given the current state of the system

Page 19: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 19

Model Characteristics

Multiple factors: Number of machine and resources, configuration and layout, level of automation, etc.

Our terminology:Resource = machine (m)Entity requiring the resource = job (n)

Page 20: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 20

Notation

Static data: Processing time (pij)

Release date (rj)

Due date (dj)

Weight (wj)

Dynamic data: Completion time (Cij)

Page 21: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 21

Machine Configuration

Standard machine configurations: Single machine models Parallel machine models Flow shop models Job shop models

Real world always more complicated.

Page 22: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 22

Constraints

Precedence constraintsRouting constraintsMaterial-handling constraintsStorage/waiting constraintsMachine eligibilityTooling/resource constraintsPersonnel scheduling constraints

Page 23: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 23

Other Characteristics

Sequence dependent setupPreemptions

preemptive resume preemptive repeat

Make-to-stock versus make-to-order

Page 24: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 24

Objectives and Performance Measures

Throughput (TP) and makespan (Cmax)

Due date related objectives

Work-in-process (WIP), lead time

(response time), finished inventory

Others

Page 25: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 25

Throughput and Makespan

Throughput Defined by bottleneck machines

Makespan

Minimizing makespan tends to maximize throughput and balance load

niCCCC

CCCC

imiii

n

,...,1,,...,,max

,...,,max

21

21max

Page 26: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 26

Due Date Related Objectives

LatenessMinimize maximum lateness (Lmax)

TardinessMinimize the weighted tardiness

jjj dCL

0,max jjj dCT

n

jjjTw

1

Page 27: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 27

Due Date Penalties

jdjC

jL

jdjC

jT

jdjC

jU1

jdjC

In practice

Tardiness

Late or Not

Lateness

Page 28: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 28

WIP and Lead Time

Work-in-Process (WIP) inventory costMinimizing WIP also minimizes average

lead time (throughput time)Minimizing lead time tends to minimize

the average number of jobs in systemEquivalently, we can minimize sum of

the completion times:

n

ijC

1

n

jjjCw

1

Page 29: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 29

Other Costs

Setup cost

Personnel cost

Robustness

Finished goods inventory cost

Page 30: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 30

Topic 2

Solving Scheduling Problems

Page 31: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 31

Classic Scheduling Theory

Look at a specific machine environment with a specific objective

Analyze to prove an optimal policy or to show that no simple optimal policy exists

Thousands of problems have been studied in detail with mathematical proofs!

Page 32: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 32

Example: single machine

Lets say we have Single machine (1), where the total weighted completion time

should be minimized (wjCj)

We denote this problem as

jjCw||1

Page 33: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 33

Optimal Solution

Theorem: Weighted Shortest Processing time first - called the WSPT rule - is optimal for

Note: The SPT rule starts with the job that has the shortest processing time, moves on the job with the second shortest processing time, etc.

jjCw||1

Page 34: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 34

Proof (by contradiction)

Suppose it is not true and schedule S is optimal

Then there are two adjacent jobs, say job j followed by job k such that

Do a pairwise interchange to get schedule S ’

k

k

j

j

p

w

p

w

j k

k j

kj ppt

kj ppt

t

t

Page 35: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 35

Proof (continued)

The weighted completion time of the two jobs under S is

The weighted completion time of the two jobs under S ‘ is

Now:

Contradicting that S is optimal.

jkjkk wpptwpt )()(

kkjjj wpptwpt )()(

jjkkk

kkjkjj

kkkjjjkkjjj

wpptwpt

wptwpwpt

wptwpwptwpptwpt

)()(

)()(

)()()()(

Page 36: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 36

Complexity Theory

Classic scheduling theory draws heavily on complexity theory

The complexity of an algorithm is its running time in terms of the input parameters (e.g., number of jobs and number of machines)

Big-Oh notation, e.g., O(n2m)

Page 37: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 37

Polynomial versus NP-Hard

)(log nO

)(nO)( 2nO)2( nO

)( size Problem n

Time

Page 38: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 38

Scheduling in Practice

Practical scheduling problems cannot be solved this easily!

Need: Heuristic algorithms Knowledge-based systems Integration with other enterprise functions

However, classic scheduling results are useful as a building block

Page 39: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 39

General Purpose Scheduling Procedures

Some scheduling problems are easy Simple priority rules Complexity: polynomial time

However, most scheduling problems are hard Complexity: NP-hard, strongly NP-hard Finding an optimal solution is infeasible

in practice heuristic methods

Page 40: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 40

Types of Heuristics

Simple Dispatching RulesComposite Dispatching RulesBranch and BoundBeam SearchSimulated AnnealingTabu SearchGenetic Algorithms

ConstructionMethods

ImprovementMethods

Page 41: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 41

Topic 3

Dispatching Rules

Page 42: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 42

Dispatching Rules

Prioritize all waiting jobs job attributes machine attributes current time

Whenever a machine becomes free: select the job with the highest priority

Static or dynamic

Page 43: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 43

Release/Due Date Related

Earliest release date first (ERD) rule variance in throughput times

Earliest due date first (EDD) rule maximum lateness

Minimum slack first (MS) rule

maximum lateness 0,max tpd jj

CurrentTime

ProcessingTime

Deadline

Page 44: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 44

Processing Time Related

Longest Processing Time first (LPT) rule balance load on parallel machines makespan

Shortest Processing Time first (SPT) rule sum of completion times WIP

Weighted Shortest Processing Time first (WSPT) rule

Page 45: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 45

Processing Time Related

Critical Path (CP) rule precedence constraints makespan

Largest Number of Successors (LNS) rule precedence constraints makespan

Page 46: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 46

Other Dispatching Rules

Service in Random Order (SIRO) ruleShortest Setup Time first (SST) rule

makespan and throughputLeast Flexible Job first (LFJ) rule

makespan and throughputShortest Queue at the Next

Operation (SQNO) rule machine idleness

Page 47: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 47

Discussion

Very simple to implementOptimal for special casesOnly focus on one objectiveLimited use in practiceCombine several dispatching rules

Composite Dispatching Rules

Page 48: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 48

Example

Single Machine with Weighted Total Tardiness

Page 49: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 49

Setup

Problem: No efficient algorithm (NP-Hard)Branch and bound can only solve

very small problems (<30 jobs)

Are there any special cases we can solve?

jjTw||1

Page 50: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 50

Case 1: Tight Deadlines

Assume dj=0 Then

We know that WSPT is optimal for this problem!

jjjj

jj

jjj

CwTw

CC

dCT

,0max

,0max

Page 51: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 51

Conclusion

The WSPT is optimal in the extreme case and should be a good heuristic whenever due dates are tight

Now lets look at the opposite

Page 52: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 52

Case 2: “Easy” Deadlines

Theorem: If the deadlines are sufficiently spread out then the MS rule

is optimal (proof a bit harder)Conclusion: The MS rule should be a

good heuristic whenever deadlines are widely spread out

0,maxarg tpdj jjselect

Page 53: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 53

Composite Rule

Two good heuristics Weighted Shorted Processing Time (WSPT )

optimal with due dates zero

Minimum Slack (MS)Optimal when due dates are “spread out”

Any real problem is somewhere in betweenCombine the characteristics of these

rules into one composite dispatching rule

Page 54: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 54

Apparent Tardiness Cost (ATC) Dispatching RuleNew ranking index

When machine becomes free: Compute index for all remaining jobs Select job with highest value

Scaling constant

)(

0,maxexp)(

tpK

tpd

p

wtI jj

j

jj

Page 55: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 55

Special Cases (Check)If K is very large:

ATC reduces to WSPT

If K is very small and no overdue jobs: ATC reduces to MS

If K is very small and overdue jobs: ATC reduces to WSPT applied to overdue jobs

Page 56: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 56

Choosing K

Value of K determined empiricallyRelated to the due date tightness

factor

and the due date range factor

max

1C

d

max

minmax

C

ddR

Page 57: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 57

Choosing K

Usually 1.5 K 4.5Rules of thumb:

Fix K=2 for single machine or flow shop. Fix K=3 for dynamic job shops.

Adjusted to reduce weighted tardiness cost in extremely slack or congested job shops

Statistical analysis/empirical experience

Page 58: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 58

Topic 4

Branch-and-Bound& Beam Search

Page 59: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 59

Branch and Bound

Enumerative methodGuarantees finding the best scheduleBasic idea:

Look at a set of schedules Develop a bound on the performance Discard (fathom) if bound worse than

best schedule found before

Page 60: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 60

Example

Single Machine with Maximum Lateness Objective

Page 61: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 61

Classic Results

The EDD rule is optimal forIf jobs have different release dates,

which we denote

then the problem is NP-HardWhat makes it so much more

difficult?

max||1 L

max||1 Lrj

Page 62: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 62

max||1 Lrj

Jobs 1 2 3

jp 4 2 5

jr 0 3 5

jd 8 14 10

1 2 3

1r 2r 3r

0 5 10 15

1d 3d 2d

55,4,4max1015,1410,84max

,,max,,max 332211321max

dCdCdCLLLL

EDD

Can weimprove?

Page 63: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 63

Delay Schedule

1 23

1r 2r 3r

0 5 10 15

1d 3d 2d

30,2,4max1010,1416,84max

,,max,,max 332211321max

dCdCdCLLLL

Add a delay

What makes this problem hard is thatthe optimal schedule is not necessarilya non-delay schedule

Page 64: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 64

Final Classic Result

The preemptive EDD rule is optimal for the preemptive (prmp) version of the problem

Note that in the previous example, the preemptive EDD rule gives us the optimal schedule

max|,|1 Lprmprj

Page 65: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 65

Branch and Bound

The problem

cannot be solved using a simple dispatching rule so we will try to solve it using branch and bound

To develop a branch and bound procedure: Determine how to branch Determine how to bound

max||1 Lrj

Page 66: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 66

Data

Jobs 1 2 3 4

jp 4 2 6 5

jr 0 1 3 5

jd 8 12 11 10

Page 67: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 67

Branching

(•,•,•,•)

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

Page 68: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 68

Branching

(•,•,•,•)

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

Discard immediately because

5

3

4

3

r

r

Page 69: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 69

Branching

(•,•,•,•)

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

Need to develop lower bounds onthese nodes and do further branching.

Page 70: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 70

Bounding (in general)

Typical way to develop bounds is to relax the original problem to an easily solvable problem

Three cases: If there is no solution to the relaxed problem there

is no solution to the original problem If the optimal solution to the relaxed problem is

feasible for the original problem then it is also optimal for the original problem

If the optimal solution to the relaxed problem is not feasible for the original problem it provides a bound on its performance

Page 71: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 71

Relaxing the Problem

The problem

is a relaxation to the problem

Not allowing preemption is a constraint in the original problem but not the relaxed problem

We know how to solve the relaxed problem (preemptive EDD rule)

max||1 Lrj

max|,|1 Lprmprj

Page 72: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 72

Bounding

Preemptive EDD rule optimal for the preemptive version of the problem

Thus, solution obtained is a lower bound on the maximum delay

If preemptive EDD results in a non-preemptive schedule all nodes with higher lower bounds can be discarded.

Page 73: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 73

Lower Bounds

Start with (1,•,•,•): Job with EDD is Job 4 but Second earliest due date is for Job 3

54 r

Job 1

Job 2

Job 3

Job 4

0 10 20

5max L

Page 74: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 74

Branching

(•,•,•,•)

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

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

5max L

7max L

6max L5max L(1,3,4,2)

Page 75: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 75

Beam Search

Branch and Bound: Considers every node Guarantees optimum Usually too slow

Beam search Considers only most promising nodes (beam width) Does not guarantee convergence Much faster

Page 76: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 76

Single Machine Example

(Total Weighted Tardiness)

Jobs 1 2 3 4

jp 10 10 13 4

jd 4 2 1 12

jw 14 12 1 12

Page 77: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 77

Branching(Beam width = 2)

(•,•,•,•)

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

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

ATC Rule

408 436 814 440

Page 78: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 78

Beam Search

(•,•,•,•)

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

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

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

Page 79: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 79

Discussion

Implementation tradeoff: Careful evaluation of nodes

(accuracy) Crude evaluation of nodes (speed)

Two-stage procedure Filtering

crude evaluationfilter width > beam width

Careful evaluation of remaining nodes

Page 80: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 80

Topic 5

Random Search

Page 81: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 81

Construction versus Improvement Heuristics

Construction Heuristics Start without a schedule Add one job at a time Dispatching rules and beam search

Improvement Heuristics Start with a schedule Try to find a better ‘similar’ schedule

Can be combined

Page 82: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 82

Local Search

0. Start with a schedule s0 and set k = 0.

1. Select a candidate schedule

from the neighborhood of sk

2. If acceptance criterion is met, let

Otherwise let3. Let k = k+1 and go back to Step 1.

ksNs

.1 ssk

.1 kk ss

Page 83: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 83

Defining a Local Search Procedure

Determine how to represent a schedule.

Define a neighborhood structure.

Determine a candidate selection

procedure.

Determine an acceptance/rejection

criterion.

Page 84: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 84

Neighborhood Structure

Single machine A pairwise interchange of adjacent jobs

(n-1 jobs in a neighborhood) Inserting an arbitrary job in an arbitrary

position( n(n-1) jobs in a neighborhood)

Allow more than one interchange

Page 85: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 85

Neighborhood Structure

Job shops with makespan objective Neighborhood based on critical paths Set of operations start at t=0 and end at

t=Cmax

Machine 1

Machine 2

Machine 3

Machine 4

Page 86: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 86

Neighborhood Structure

The critical path(s) define the neighborhood Interchange jobs on a critical path Too few better schedules in the

neighborhood Too simple to be useful

Page 87: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 87

One-Step Look-Back Interchange

Machine h

Machine i

Machine h

Machine i

Jobs on critical path

Interchange jobson critical path

Machine h

Machine i

One-step look-backinterchange

Page 88: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 88

Neighborhood Search

Find a candidate schedule from the neighborhood: Random Appear most promising

(most improvement in objective)

Page 89: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 89

Acceptance/Rejection

Major difference between most methods Always accept a better schedule? Sometimes accept an inferior schedule?

Two popular methods: Simulated annealing Tabu search

Same except the acceptance criterion!

Page 90: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 90

Topic 6

Simulated Annealing

Page 91: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 91

Simulated Annealing (SA)

Notation S0 is the best schedule found so far

Sk is the current schedule

G(Sk) it the performance of a schedule

Note that)()( 0SGSG k

Aspiration Criterion

Page 92: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 92

Acceptance Criterion

Let Sc be the candidate schedule

If G(Sc) < G(Sk) accept Sc and let

If G(Sc) G(Sk) move to Sc with probability

ck SS 1

k

ck SGSG

ck eSSP )()(

1 ),(

Temperature > 0

Always 0

Page 93: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 93

Cooling Schedule

The temperature should satisfy

Normally we let

but we sometimes stop when some predetermined final temperature is reached

If temperature is decreased slowly convergence is guaranteed

0...321

0k

Page 94: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 94

SA AlgorithmStep 1:

Set k = 1 and select the initial temperature 1.

Select an initial schedule S1 and set S0 = S1.

Step 2:Select a candidate schedule Sc from N(Sk).

If G(S0) < G(Sc) < G(Sk), set Sk+1 = Sc and go to Step 3.

If G(Sc) < G(S0), set S0 = Sk+1 = Sc and go to Step 3.

If G(Sc) < G(S0), generate Uk Uniform(0,1);

If Uk P(Sk, Sc), set Sk+1 = Sc; otherwise set Sk+1 = Sk; go to Step 3.

Step 3:Select k+1 k.

Let k=k+1. If k=N STOP; otherwise go to Step 2.

Page 95: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 95

Discussion

SA has been applied successfully to many industry problems

Allows us to escape local optimaPerformance depends on

Construction of neighborhood Cooling schedule

Page 96: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 96

Topic 7

Tabu Search

Page 97: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 97

Tabu Search

Similar to SA but uses a deterministic acceptance/rejection criterion

Maintain a tabu list of schedule changes A move made entered at top of tabu list Fixed length (5-9) Neighbors restricted to schedules not

requiring a tabu move

Page 98: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 98

Tabu List

Rational Avoid returning to a local optimum

Disadvantage A tabu move could lead to a better

scheduleLength of list

Too short cycling (“stuck”) Too long search too constrained

Page 99: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 99

Tabu Search AlgorithmStep 1:

Set k = 1. Select an initial schedule S1 and set S0 = S1.

Step 2:Select a candidate schedule Sc from N(Sk).

If Sk Sc on tabu list set Sk+1 = Sk and go to Step 3.

Enter Sc Sk on tabu list.

Push all the other entries down (and delete the last one).If G(Sc) < G(S0), set S0 = Sc.

Go to Step 3.

Step 3:Select k+1 k.

Let k=k+1. If k=N STOP; otherwise go to Step 2.

Page 100: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 100

Single Machine Total Weighted Tardiness Example

Jobs 1 2 3 4

jp 10 10 13 4

jd 4 2 1 12

jw 14 12 1 12

Page 101: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 101

Initialization

Tabu list empty L={}Initial schedule S1 = (2,1,4,3)

0 10 20 30 40

Deadlines

20 - 4 = 16

10 - 2 = 8

37 - 1 = 3624 - 12 = 12

50012123618121614jjTw

Page 102: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 102

Neighborhood

Define the neighborhood as all schedules obtain by adjacent pairwise interchanges

The neighbors of S1 = (2,1,4,3) are

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

Objective values are: 480, 436, 652

Select the bestnon-tabu schedule

Page 103: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 103

Second Iteration

Let S0 =S2 = (2,4,1,3). G(S0)=436.Let L = {(1,4)}New neighborhood

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

Twj 460 500 608

Page 104: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 104

Third Iteration

Let S3 = (4,2,1,3), S0 = (2,4,1,3). Let L = {(2,4),(1,4)}New neighborhood

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

Twj 436 440 632

Tabu!

Page 105: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 105

Fourth Iteration

Let S4 = (4,1,2,3), S0 = (2,4,1,3). Let L = {(1,2),(2,4)}New neighborhood

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

Twj 402 460 586

Page 106: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 106

Fifth Iteration

Let S5 = (1,4,2,3), S0 = (1,4,2,3). Let L = {(1,4),(1,2)}This turns out to be the optimal

scheduleTabu search still continuesNotes:

Optimal schedule only found via tabu list We never know if we have found the optimum!

Page 107: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 107

Topic 8

Genetic Algorithm

Page 108: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 108

Genetic Algorithms

Schedules are individuals that form populations

Each individual has associated fitness

Fit individuals reproduce and have children in the next generation

Very fit individuals survive into the next generation

Some individuals mutate

Page 109: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 109

Individual(sequence)

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

Fitness jjTw 652 814 586

Total Weighted Tardiness Single Machine Example

First Generation Initial populationselected randomly

Page 110: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 110

Mutation Operator

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

Fitness 652 814 586

(4,3,1,2)

Reproductionvia mutation

FittestIndividual

Page 111: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 111

Cross-Over Operator

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

Fitness 652 758 586

(4,1,3,2)

(2,1,3,4)

Reproductionvia cross-over

FittestIndividuals

(2,1,3,2)

(4,1,3,4)

Infeasible!

Page 112: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 112

Representing Schedules

When using GA we often represent individuals using binary strings

(0 1 1 0 1 0 1 0 1 0 1 0 0 )(1 0 0 1 1 0 1 0 1 0 1 1 1 )

(0 1 1 0 1 0 1 0 1 0 1 1 1 )

Page 113: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 113

Discussion

Genetic algorithms have been used very successfully

Advantages: Very generic Easily programmed

Disadvantages: A method that exploits special structure

is usually faster (if it exists)

Page 114: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 114

Topic 9

Nested Partitions Method

Page 115: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 115

The Nested Partitions MethodThe Nested Partitions Method(Shameless self-promotion!)(Shameless self-promotion!)

Partitioning of all schedules Similar to branch-and-bound & beam search

Random sampling & local search used to find which node is most promising Similar to beam search

Retains only one node (beam width = 1)Allows for possible backtracking

Page 116: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 116

Single Machine Total Weighted Tardiness Example

Jobs 1 2 3 4

jp 10 10 13 4

jd 4 2 1 12

jw 14 12 1 12

Page 117: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 117

First Iteration

(•,•,•,•)

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

(1,4,2,3) 402

Random Samples (uniform sampling, ATC rule, genetic algorithm)

(1,2,4,3) 480(1,4,3,2) 554

I(1,•,•,•) = 402Promising Index

Most promising region

Page 118: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 118

Notation

We let(k) be the most promising region in the k-th

iterationj(k) be the subregions, j=1,2,…,M

M+1(k) be the surrounding region

denote all possible regions (fixed set)0 all regions that contain a single schedule

I() be the promising index of

Page 119: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 119

Second Iteration

(•,•,•,•)

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

(1,3,•,•) (1,4,•,•)(1,2,•,•) (4,2,1,3) 460

Random Samples

(2,4,1,3) 436(4,1,3,2) 586

Most promising region (2)

Best Promising IndexI(4(2)) = 436

4(2)

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

s(2))

Page 120: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 120

Third Iteration

(•,•,•,•)

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

(1,3,•,•) (4,2,3,1) 632

Random Samples

(2,4,1,3) 436(1,4,2,3) 402

(1,3,2,4) (1,3,4,2) I(3(3)) = 402

1(3) 2(3)

3(3)s(3))

(3)

Best Promising Index

Page 121: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 121

Fourth Iteration

(•,•,•,•)

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

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

4(4)

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

s(4))

(4)

Backtracking!

Page 122: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 122

Finding the Optimal Schedule

The sequence

is a Markov chainEventually the singleton region opt

containing the best schedule is visited Absorbing state (never leave opt) Finite state space visited after finitely many iterations.

1)( kk

Page 123: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 123

DiscussionFinds best schedule in finite iterations

Only branch-and-bound can also guarantee

If we can calculate/estimate/guarantee the probability of moving in right direction: Expected number of iterations Probability of having found optimal schedule Stopping rules that guarantee performance

(unique)

Works best if incorporates dispatching rules and local search (genetic algorithms, etc)

Page 124: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 124

Topic 10

Mathematical Programming

Page 125: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 125

Review of Mathematical Programming

Many scheduling problems can be formulated as mathematical programs: Linear Programming (IE 534) Nonlinear Programming (IE 631) Integer Programming (IE 632)

See Appendix A in book.

Page 126: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 126

Linear Programs

Minimizesubject to

nn xcxcxc ...2211

njx

bxaxaxa

bxaxaxa

bxaxaxa

j

nmnmm

nn

nn

,...,1for 0

...

...

...

12211

12222121

11212111

Page 127: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 127

Solving LPs

LPs can be solved efficiently Simplex method (1950s) Interior point methods (1970s)

Polynomial timeHas been used in practice to solve

huge problemsIE 534

Page 128: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 128

Nonlinear Programs

Minimize

subject to),...,,( 21 nxxxf

0),...,(

0),...,(

0),...,(

2,1

2,12

2,11

nm

n

n

xxxg

xxxg

xxxg

Page 129: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 129

Solving Nonlinear Programs

Optimality conditions Karush-Kuhn-Tucker Convex objective, convex constraints

Solution methods Gradient methods (steepest descent,

Newton’s method) Penalty and barrier function methods Lagrangian relaxation

Page 130: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 130

Integer Programming

LP where all variables must be integer

Mixed-integer programming (MIP)Much more difficult than LPMost useful for scheduling

Page 131: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 131

Example: Single Machine

One machine and n jobsMinimize

Define the decision variables

n

j jjCw1

otherwise.0

at time starts job if1 tjx jt

Page 132: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 132

IP Formulation

Minimize

subject to

n

j

C

tjtjj xptw

1

1

0

max

)(

tjx

tx

jx

jt

n

j

t

ptsjs

C

tjt

j

, 1,0

1

1

1

1

}0,max{

1

0

max

Page 133: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 133

Solving IPs

Solution Methods Cutting plane methods

Linear programming relaxationAdditional constraints to ensure integers

Branch-and-bound methodsBranch on the decision variablesLinear programming relaxation provides

bounds

Generally difficult

Page 134: Spring 2002IE 5141 IE 514 Production Scheduling Introduction

Spring 2002 IE 514 134

Disjunctive Programming

Conjuctive All constraints must be satisfied

Disjunctive At least one of the constraints must be

satisfiedZero-one integer programsUse for job-shop scheduling