20
1 IOE/MFG 543 IOE/MFG 543 Chapter 14: General purpose Chapter 14: General purpose procedures for scheduling in procedures for scheduling in practice practice Sections 14.1-14.3: Sections 14.1-14.3: Dispatching rules and Dispatching rules and filtered beam search filtered beam search

IOE/MFG 543

Embed Size (px)

DESCRIPTION

IOE/MFG 543. Chapter 14: General purpose procedures for scheduling in practice Sections 14.1-14.3: Dispatching rules and filtered beam search. Motivation. So far we have (mostly) discussed algorithms for obtaining an optimal solution for a specific problem - PowerPoint PPT Presentation

Citation preview

Page 1: IOE/MFG 543

11

IOE/MFG 543IOE/MFG 543

Chapter 14: General purpose Chapter 14: General purpose procedures for scheduling in procedures for scheduling in practicepracticeSections 14.1-14.3: Dispatching Sections 14.1-14.3: Dispatching rules and filtered beam searchrules and filtered beam search

Page 2: IOE/MFG 543

22

Motivation Motivation

So far we have (mostly) discussed So far we have (mostly) discussed algorithms for obtaining an optimal algorithms for obtaining an optimal solution for a specific problemsolution for a specific problem

Many scheduling problems are Many scheduling problems are difficult to solve in practicedifficult to solve in practice

Important to have general Important to have general methods that can give good methods that can give good schedules in a relatively short schedules in a relatively short amount of timeamount of time

Page 3: IOE/MFG 543

33

OverviewOverview

Dispatching (or priority) rulesDispatching (or priority) rules– E.g., WSPTE.g., WSPT

Composite dispatching rulesComposite dispatching rules– Try to intelligently combine two or more Try to intelligently combine two or more

dispatching rulesdispatching rules Filtered beam searchFiltered beam search

– Heuristic implementation of branch and Heuristic implementation of branch and boundbound

Local searchLocal search– Try to find a better schedule in a Try to find a better schedule in a

neighborhood of the current best scheduleneighborhood of the current best schedule– Methods: Simulated annealing, tabu Methods: Simulated annealing, tabu

search, genetic algorithmssearch, genetic algorithms

Page 4: IOE/MFG 543

44

Section 14.1Section 14.1Dispatching rulesDispatching rules There are several ways to classify There are several ways to classify

the dispatching rulesthe dispatching rules Static vs. DynamicStatic vs. Dynamic

– WSPT is …WSPT is …– SRPT is …SRPT is …

Global vs. LocalGlobal vs. Local– LAPT and Johnson’s rules are …LAPT and Johnson’s rules are …– WSPT is …WSPT is …

Page 5: IOE/MFG 543

55

Applicability of Applicability of elementary dispatching elementary dispatching rulesrules Dispatching rules can work well Dispatching rules can work well

when there is only a single objectivewhen there is only a single objective– See Table 14.1 page 337 for a list of See Table 14.1 page 337 for a list of

rules and in what environments they rules and in what environments they tend to work well (sometimes optimal)tend to work well (sometimes optimal)

More sophisticated rules can often More sophisticated rules can often do betterdo better– Minimizing a combination of objectivesMinimizing a combination of objectives– The objective can change with time and The objective can change with time and

with the jobs waiting to be processedwith the jobs waiting to be processed

Page 6: IOE/MFG 543

66

Section 14.2 Section 14.2 Composite dispatching Composite dispatching rules (CDR)rules (CDR) A CDR is a ranking expression that A CDR is a ranking expression that

combines two or more elementary combines two or more elementary dispatching rulesdispatching rules

An elementary rule is a function of An elementary rule is a function of attributes of jobs and/or machinesattributes of jobs and/or machines

Each elementary rule has a scaling Each elementary rule has a scaling parameterparameter– Depends on the attributesDepends on the attributes– E.g., compute statistics for the set of jobs E.g., compute statistics for the set of jobs

(are the due dates tight?)(are the due dates tight?)

Page 7: IOE/MFG 543

77

Composite rule for Composite rule for 1||1|| wwjjTTjj

Recall: Problem Recall: Problem 1||1|| w wjjTTj j is NP-hardis NP-hard– We developed a pseudopolynomial We developed a pseudopolynomial

DP algorithm for DP algorithm for 1||1|| T Tjj What rules could produce good What rules could produce good

schedules?schedules?– If all due dates (and release dates) If all due dates (and release dates)

are zero?are zero?– If due dates are loose and spread If due dates are loose and spread

out?out?

Page 8: IOE/MFG 543

88

Apparant Tardiness Cost Apparant Tardiness Cost (ATC) rule for (ATC) rule for 1||1|| w wjjTTjj

Combines WSPT and minimum slack Combines WSPT and minimum slack (MS)(MS)– Slack of job j is max(dSlack of job j is max(djj-p-pjj-t, 0)-t, 0)

Ranking index for job jRanking index for job j

K is the scaling parameterK is the scaling parameter p is the average of the processing time p is the average of the processing time

of the remaining jobsof the remaining jobs

IIjj(t)=(t)=

wwjj

expexp((--

max(dmax(djj-p-pjj-t, -t, 0)0)

))ppjj K pK p

Page 9: IOE/MFG 543

99

Apparant Tardiness Cost Apparant Tardiness Cost (ATC) rule for (ATC) rule for 1||1|| w wjjTTj j (2)(2)

How do we determine the value of K?How do we determine the value of K? Due date tightness factorDue date tightness factor

Due date range factorDue date range factorR = (dR = (dmaxmax-d-dminmin)/C)/Cmaxmax

Empirical studiesEmpirical studiesK = 4.5 + R if RK = 4.5 + R if R≤0.5≤0.5K = 6 - 2R if RK = 6 - 2R if R>0.5>0.5

= = 1-1-

((ddjj)/n)/n

CCmaxmax

Page 10: IOE/MFG 543

1010

Apparant Tardiness Apparant Tardiness Cost with setups Cost with setups (ATCS)(ATCS) Generalization of the ATC rule to take Generalization of the ATC rule to take

sequence dependent setup times into sequence dependent setup times into accountaccount– ssjk jk is the setup time of job k if it comes after is the setup time of job k if it comes after

job j on the machinejob j on the machine– ss0k 0k is the setup time if job k is scheduled first is the setup time if job k is scheduled first

on the machineon the machine SST rule (Chapter 4)SST rule (Chapter 4)

– The job with the smallest setup time goes The job with the smallest setup time goes first first

ATCS combines WSPT, MS and SSTATCS combines WSPT, MS and SST

Page 11: IOE/MFG 543

1111

Apparant Tardiness Apparant Tardiness Cost with Setups Cost with Setups (ATCS) (2)(ATCS) (2) Ranking index for job j when job l Ranking index for job j when job l

has just completed its processinghas just completed its processing

s is the average of the setup s is the average of the setup times of the jobs remaining to be times of the jobs remaining to be scheduledscheduled

IIjj(t, (t, l)=l)=

wwjj

expexp((--

max(dmax(djj-p-pjj-t, -t, 0)0) ))

expexp((--

ssljlj

))ppjj KK11 p p KK22 ss

Page 12: IOE/MFG 543

1212

Apparant Tardiness Apparant Tardiness Cost with Setups Cost with Setups (ATCS) (3)(ATCS) (3) Choosing the scaling parametersChoosing the scaling parameters Function of Function of , R and , R and = s/p = s/p is a function of Cis a function of Cmaxmax

– CCmaxmax is now schedule dependent is now schedule dependent

– Estimate CEstimate Cmaxmax as as

CCmaxmax = = ppjj + ns + ns

KK11 is computed the same way as K in is computed the same way as K in ATCATC

KK22 = = / (2 / (2√√))

Page 13: IOE/MFG 543

1313

ATCS ATCS Example 14.2.1Example 14.2.1

Job data Setup timesJob data Setup times

job jjob j 11 22 33 44

ppjj 1313 99 1313 1010

ddjj 1212 3737 2121 2222

wwjj 22 44 22 55

kk 11 22 33 44

ss0k0k 11 11 33 44

ss1k1k -- 44 11 33

ss2k2k 00 -- 11 00

ss3k3k 11 22 -- 33

ss4k4k 44 33 11 --

Page 14: IOE/MFG 543

1414

Implementing a Implementing a general composite rulegeneral composite rule

1.1. Choose the elementary rulesChoose the elementary rules

2.2. Compute the required job and/or Compute the required job and/or machine statisticsmachine statistics

3.3. Use the statistics to compute Use the statistics to compute the values of the scaling valuesthe values of the scaling values

4.4. Apply the dispatching rule to the Apply the dispatching rule to the set of jobsset of jobs

Page 15: IOE/MFG 543

1515

Section 14.3Section 14.3Filtered beam search Filtered beam search (FBS)(FBS) Enumerative branch and bound is Enumerative branch and bound is

one of the most widely used one of the most widely used procedures for solving NP-hard procedures for solving NP-hard problemsproblems– It can be used to optimally solve any It can be used to optimally solve any

of the scheduling problems that we of the scheduling problems that we have considered so farhave considered so far

Problem:Problem:

Page 16: IOE/MFG 543

1616

Branch and bound Branch and bound (B&B)(B&B) In branch and bound we can eliminate In branch and bound we can eliminate

all nodes such that the lower bound is all nodes such that the lower bound is higher than the cost of the best higher than the cost of the best feasible solution found so farfeasible solution found so far

Consequences:Consequences:– If we can start off with a good solution then If we can start off with a good solution then

many nodes can potentially be eliminatedmany nodes can potentially be eliminated Bad news:Bad news:

– The number of nodes can still be largeThe number of nodes can still be large

Page 17: IOE/MFG 543

1717

Beam widthBeam width

FBS is a B&B-based method in FBS is a B&B-based method in which only some nodes at any which only some nodes at any given level are evaluatedgiven level are evaluated

Nodes that are not evaluated are Nodes that are not evaluated are discarded permanentlydiscarded permanently

The number of nodes that are The number of nodes that are retained is called the retained is called the beam widthbeam width

Page 18: IOE/MFG 543

1818

Filter widthFilter width

Evaluating each node at a given level Evaluating each node at a given level can be computationally expensive can be computationally expensive

Instead, do a “crude prediction” of Instead, do a “crude prediction” of the quality of all nodes at a given the quality of all nodes at a given levellevel

Evaluate a number of nodes Evaluate a number of nodes thoroughlythoroughly– This number is called the This number is called the filter widthfilter width

Page 19: IOE/MFG 543

1919

Crude prediction and Crude prediction and thorough evaluationthorough evaluation Example of a crude predictionExample of a crude prediction

– CombineCombine1.1. The contribution to the objective of the The contribution to the objective of the

jobs already scheduledjobs already scheduled2.2. Some job statistic, e.g., due date factorSome job statistic, e.g., due date factor

Example of a thorough evaluationExample of a thorough evaluation– Schedule the remaining jobs Schedule the remaining jobs

according to a composite according to a composite dispatching ruledispatching rule

– This gives an This gives an upper boundupper bound on the on the value at this nodevalue at this node

Page 20: IOE/MFG 543

2020

Example 14.3.1Example 14.3.1

Solve 1 || Solve 1 || wwjjTTjj using the following using the following datadata

Use beam width = 2 and no filterUse beam width = 2 and no filter

job jjob j 11 22 33 44

ppjj 1010 1010 1313 44

ddjj 44 22 11 1212

wwjj 1414 1212 11 1212