Upload
charles-lang
View
17
Download
0
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
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
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
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
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 …
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
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?)
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?
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
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
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
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
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√√))
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 --
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
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:
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
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
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
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
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