robust scheduling: a general view heng-soon gan and andrew wirth when scheduling information is...
TRANSCRIPT
Robust Scheduling: Robust Scheduling: A General ViewA General View
Heng-Soon GANHeng-Soon GAN
and and
Andrew WIRTHAndrew WIRTHWhen scheduling information is When scheduling information is moderately incompletemoderately incomplete and will deviate during the execution phase, a and will deviate during the execution phase, a
proactive-reactive scheduling method, such as robust scheduling is preferred. In this seminar, I will proactive-reactive scheduling method, such as robust scheduling is preferred. In this seminar, I will define and discuss (analytically and empirically) five different robust scheduling performance measures, define and discuss (analytically and empirically) five different robust scheduling performance measures,
namely schedule effectiveness, schedule predictability, heuristic efficiency, heuristic robustness and namely schedule effectiveness, schedule predictability, heuristic efficiency, heuristic robustness and schedule nervousness. If time permits, I will make a comparison between stochastic and robust schedule nervousness. If time permits, I will make a comparison between stochastic and robust
scheduling techniques and empirically justify the use of deterministic, robust and online scheduling scheduling techniques and empirically justify the use of deterministic, robust and online scheduling techniques via the entropy measure. techniques via the entropy measure.
22
OutlineOutline• The scheduling environmentThe scheduling environment• TerminologiesTerminologies• Schedule execution costsSchedule execution costs• Heuristic robustness (Heuristic robustness (or stabilityor stability))• Schedule robustness (Schedule robustness (effectiveness and predictabilityeffectiveness and predictability))• Schedule nervousness (Schedule nervousness (frequent reschedulingfrequent rescheduling))• Integer program formulationInteger program formulation• A more practical robust scheduling approachA more practical robust scheduling approach• Some empirical resultsSome empirical results• Stochastic schedulingStochastic scheduling• Scheduling and uncertainty (Scheduling and uncertainty (the entropy conceptthe entropy concept))• Conclusions and future directionsConclusions and future directions
33
Scheduling EnvironmentScheduling Environment
Schedule Planning Phase
Schedule Planning Phase
Schedule Execution Phase
Schedule Execution Phase
Schedule Deployment TimeSchedule Deployment Time
Local disruption or Local disruption or information update from information update from other dependent sources.other dependent sources.
Information sent to Information sent to other dependent other dependent sources.sources.
44
TerminologiesTerminologies• Initial scheduleInitial schedule
– the schedule generated in the planning phase (off-line) the schedule generated in the planning phase (off-line) • referred to as referred to as initial off-line scheduleinitial off-line schedule
– OROR the schedule prior to a perturbation event the schedule prior to a perturbation event
• Perturbed schedulePerturbed schedule– the schedule produced after a decision is made and executed in the schedule produced after a decision is made and executed in
reaction to a perturbation eventreaction to a perturbation event
• Perturbation eventPerturbation event– may occur during the planning and execution phasesmay occur during the planning and execution phases
– described by the described by the event timeevent time and and disruption magnitudedisruption magnitude
– e.g. machine breakdowns, change in operation processing times, e.g. machine breakdowns, change in operation processing times, arrival and removal of new operationsarrival and removal of new operations
55
Terminologies (cont’d)Terminologies (cont’d)• Perturbation scenarioPerturbation scenario
– a set of perturbation eventsa set of perturbation events
• In-process operations, completed operations and In-process operations, completed operations and operations that have not startedoperations that have not started
current time
completed operationsin-process operationsnot-started operations
66
Terminologies (cont’d)Terminologies (cont’d)• Shift-rescheduling (Sh)Shift-rescheduling (Sh)
– regarded as the simplest possible repair procedureregarded as the simplest possible repair procedure
a b
c d
a’ b
c d
a’
c d
current time0
Processing time of operation a is updated, replaced with a’.
Shift operation b to the left.b
77
b
Terminologies (cont’d)Terminologies (cont’d)• Heuristic-rescheduling (H)Heuristic-rescheduling (H)
– repair/regeneration of schedule using algorithms repair/regeneration of schedule using algorithms oror heuristics heuristics oror local search methods. local search methods.
a b
c d
a’
c d
a’
c
d
current time0
Processing time of operation a updated, replaced with a’.
Use LPT to reschedule.
b
88
Schedule Execution CostsSchedule Execution Costs• Schedule effectivenessSchedule effectiveness
– the degree of optimality of a perturbed schedule, e.g. makespan, flowtime, the degree of optimality of a perturbed schedule, e.g. makespan, flowtime, earliness, tardiness etc.earliness, tardiness etc.
– this is the main cost to be optimised if no disruption occursthis is the main cost to be optimised if no disruption occurs• Schedule predictabilitySchedule predictability
– the closeness of the perturbed schedule performance relative to the initial the closeness of the perturbed schedule performance relative to the initial off-line schedule performanceoff-line schedule performance
– reduces costs of under-utilisation or overtimereduces costs of under-utilisation or overtime• Heuristic efficiencyHeuristic efficiency
– the computational complexity of the schedule generation/repair methodthe computational complexity of the schedule generation/repair method– timeliness of response to perturbation eventstimeliness of response to perturbation events
• Degree of re-arrangement (heuristic robustness or stability)Degree of re-arrangement (heuristic robustness or stability)– the degree of alteration to the operations’ arrangementthe degree of alteration to the operations’ arrangement– reduces costs of replanning and rerouting reduces costs of replanning and rerouting
• Schedule nervousnessSchedule nervousness– the frequency of H-reschedulingthe frequency of H-rescheduling– reduces the number of plan revisions in other parts of the supply chainreduces the number of plan revisions in other parts of the supply chain
99
Schedule Execution Costs (cont’d)Schedule Execution Costs (cont’d)• If no rescheduling is allowed (only perform shift), If no rescheduling is allowed (only perform shift),
we want to minimisewe want to minimise
• If rescheduling is allowed, we want to minimiseIf rescheduling is allowed, we want to minimise
1ii
CostZ~
JCostZ~
GCostTC
1ii
CostZ~
JCostZ~
GCostTC
HT
HT
Sh
i
NCostnECostnECost
CostZ~
JCostZ~
GCostTC
ShH
i
1
HT
HT
Sh
i
NCostnECostnECost
CostZ~
JCostZ~
GCostTC
ShH
i
1
1010
Heuristic RobustnessHeuristic Robustness• A A heuristic heuristic is said to beis said to be robust if the sequences of the robust if the sequences of the
operations do not change drastically when this heuristic is operations do not change drastically when this heuristic is used for rescheduling after a disruption.used for rescheduling after a disruption.
• If local search method is used to generate/repair If local search method is used to generate/repair schedules, this measure can be embedded in the objective schedules, this measure can be embedded in the objective function.function.
• Possible measuresPossible measures– Sum of the absolute changes in start-time and completion times of operationsSum of the absolute changes in start-time and completion times of operations
• Minimal Perturbation (El Sakkout et al.-2000) Minimal Perturbation (El Sakkout et al.-2000) • Neighbourhood-based Robustness (Jensen-1999,2000,2001,2003; Jensen and Neighbourhood-based Robustness (Jensen-1999,2000,2001,2003; Jensen and
Hansen-1999)Hansen-1999)• Predictable Scheduling (O’Donovan et al.-1999)Predictable Scheduling (O’Donovan et al.-1999)• Rescheduling with effectiveness and stability as criteria (Wu et al.-1993)Rescheduling with effectiveness and stability as criteria (Wu et al.-1993)
– Sum of the absolute changes in the precedence of operationSum of the absolute changes in the precedence of operation• Neighbourhood-based Robustness (Jensen-1999,2000,2001,2003; Jensen and Neighbourhood-based Robustness (Jensen-1999,2000,2001,2003; Jensen and
Hansen-1999)Hansen-1999)• Rescheduling under random disruptions (Abumaizar and Svestka-1997)Rescheduling under random disruptions (Abumaizar and Svestka-1997)
1111
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)– Sum of operations reassignedSum of operations reassigned
• Matchup Scheduling (Bean et al.-1991)Matchup Scheduling (Bean et al.-1991)
– Sum of the absolute changes in sequence/positions of operationsSum of the absolute changes in sequence/positions of operations• Spearman’s footrule as measure of disarray (Diaconis and Graham-1977)Spearman’s footrule as measure of disarray (Diaconis and Graham-1977)
• Artificial Immune System (Hart et al.-1997)Artificial Immune System (Hart et al.-1997)
• Most of the work provide definitions, but lack of Most of the work provide definitions, but lack of analyses of the measure provided.analyses of the measure provided.
1212
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)
1 2 3 4Before perturbation 5
3 6 2 5 1
6
4After perturbation and application of some heuristic
Increasing start time
Increasing start time
2 4 1 1 4 2
1313
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)
H H
timetime
(Sh) (H) (H) (H) (Sh) (H) (H) (Sh)(Sh) (H) (H) (H) (Sh) (H) (H) (Sh)
ωωj j ωωj+j+1 1 ωωj+j+2 2 ωωj+j+3 3 ωωj+j+4 4 ωωj+j+5 5 ωωj+j+6 6 ωωj+j+77
SSi
i,ih
k,H
oH
llGR
SSi
i,ih
k,H
oH
llGR
,P
.etc.meanor.max.Gwhere
k
,P
.etc.meanor.max.Gwhere
k
…….…….
…….…….
1414
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)• General boundsGeneral bounds
otherwise,n
evenisnif,n
RUB h)g(P,H proc
2
12
2
2
otherwise,n
evenisnif,n
RUB h)g(P,H proc
2
12
2
2
otherwise,rnn
evenisrnif,rnn
RUB h)r(P,H rem
12
12
otherwise,rnn
evenisrnif,rnn
RUB h)r(P,H rem
12
12
otherwise,ann
evenisnif,ann
RUB h)a(P,H add
12
12
otherwise,ann
evenisnif,ann
RUB h)a(P,H add
12
12
Diaconis and Graham (1977)Diaconis and
Graham (1977)
1515
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)• Longest Processing Time heuristic (P| |CLongest Processing Time heuristic (P| |Cmaxmax))
– change in processing time of one operation (unbounded) change in processing time of one operation (unbounded) oror removal of one operation removal of one operation oror addition of one operation addition of one operation
– change in processing time of k operations (unbounded)change in processing time of k operations (unbounded)
12 nRhP,LPT A
12 nRhP,LPT A
oddisnandn
kifn
evenisnandn
kifn
nkifknk
RhubkPLPT
2,
2
12
,2
2,2
2
2
,,
oddisnandn
kifn
evenisnandn
kifn
nkifknk
RhubkPLPT
2,
2
12
,2
2,2
2
2
,,
1616
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)– change in processing time of one operation (bounded)change in processing time of one operation (bounded)
ii
n
i
hbPLPT xxR
proc,max2
1,1,
ii
n
i
hbPLPT xxR
proc,max2
1,1,
1717
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)– mean analysis mean analysis ((all scenarios are equally likelyall scenarios are equally likely))
• a change in processing timea change in processing time
• addition of one operationaddition of one operation
• removal of one operationremoval of one operation
• addition or removal or change addition or removal or change in processing time of one in processing time of one
operationoperation
• Diaconis and Graham Diaconis and Graham ((19771977))
n
nRh
P,LPT proc 3
2
3
2
n
nRh
P,LPT proc 3
2
3
2
2n
RhP,LPT add
2n
RhP,LPT add
2
1 n
RhP,LPT rem
2
1 n
RhP,LPT rem
213
212
n
nnnRh
P,LPT A
213
212
n
nnnRh
P,LPT A
nOnRh.PermAll,LPT 2
3
1 nOnRh.PermAll,LPT 2
3
1
1818
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)• Abdekhodaee and Wirth equal length algorithm Abdekhodaee and Wirth equal length algorithm
(P2|(P2|ssi i + p+ pii = a|C = a|Cmaxmax))
– the algorithmthe algorithm
Even number of jobsEven number of jobs
Odd number of jobsOdd number of jobs
ss11 ss22 ssk-1k-1 sskk ssk+1k+1 ss2k-12k-1 ss2k2k
ss11 ss22 sskk ssk+1k+1 ssk+2k+2 ss2k2k ss2k+12k+1
SS2k-12k-1 SS2k-22k-2 SS2k-32k-3 SS33 SS22 SS11 SS2k2k
SS2k+12k+1 SS2k2k SS2k-12k-1 SS2k-22k-2 SS33 SS22 SS11
1919
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)– change in processing time of one operation change in processing time of one operation
(unbounded) (unbounded) oror removal of one operation removal of one operation oror addition addition of one operationof one operation
– mean analysismean analysis 12 nRh
P,AWE A 12 nRh
P,AWE A
2020
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)• Johnson’s algorithm (F2| |CJohnson’s algorithm (F2| |Cmaxmax))
– NN refers to jobs (equivalent to n refers to jobs (equivalent to n= 2N= 2Noperations)operations)
1054 22 NNRmaxNN hP,AWE A
1054 22 NNRmaxNN hP,AWE A
2121
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)• Multifit heuristic Multifit heuristic
(P| |C(P| |Cmaxmax))
nn = 10, = 10, mm = 4 = 41 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
J1
J2
J3
J4
J5
J6
J7
J8
J9
J10
J11
Robustness Perturbation type
Job number0-5.5 5.5-11 11-16.5 16.5-22
1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56J1
J2
J3
J4
J5
J6
J7
J8
J9
J10
J11
Robustness Perturbation type
Job Number0-5.5 5.5-11 11-16.5 16.5-22 22-27.5 27.5-33 33-38.5 38.5-44
RLPT,A = 18RLPT,A = 18
RMF7,A = 42RMF7,A = 42
2222
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)
n 10 m 4
Levels 1 2 3 4 5 6 7 8 9 10
So 1 2 3 4 8 5 6 7 9 10
S 2 3 4 5 6 7 8 9 10 1
li-lr() 1 1 1 1 1 1 1 1 1 9 18
Heuristic Name LPT
n 10 m 4
Levels 1 2 3 4 5 6 7 8 9 10
So 1 2 3 4 8 5 6 7 9 10
S 10 1 6 7 9 2 3 4 5 8
li-lr() 9 1 4 4 4 4 4 4 3 5 42
Heuristic Name MF7
2323
Heuristic Robustness (cont’d)Heuristic Robustness (cont’d)
0
50
100
150
200
250
300
350
(5,2) (5,3) (7,2) (7,3) (7,4) (10,2) (10,3) (10,4) (10,5) (15,2) (15,3) (15,4) (15,5) (15,6) (15,8) (25,2) (25,3) (25,5) (25,6) (25,8)
Data set (n, m)
Ro
bu
stn
es
s
LPT FFD UB(R)
2424
Schedule RobustnessSchedule Robustness• In a weaker sense, an initial In a weaker sense, an initial
off-line schedule is said to be off-line schedule is said to be robust ifrobust if
– the perturbed schedule is the perturbed schedule is effectiveeffective
• low costlow cost
– the the absolute deviationabsolute deviation of the of the perturbed schedule perturbed schedule performance relative to that of performance relative to that of the initial off-line schedule is the initial off-line schedule is smallsmall
• predictabilitypredictability
ZZ
timetime
i,
Z
Z
opt
i 1
i,Z
Z
opt
i 1
ZZ
timetime
i,ZZ oi 0 i,ZZ oi 0
2525
Schedule Robustness (cont’d)Schedule Robustness (cont’d)
timetime
ωωj j ωωj+j+1 1 ωωj+j+2 2 ωωj+j+3 3 ωωj+j+4 4 ωωj+j+5 5 ωωj+j+6 6 ωωj+j+77
ZJZGR skH
~,
~, ZJZGR skH
~,
~,
i:ZZ~
where i 1 i:ZZ~
where i 1
i:ZZZ~
oi 1 i:ZZZ~
oi 1
…….…….
2626
Schedule Robustness (cont’d)Schedule Robustness (cont’d)• Suppose that and are quantities to be Suppose that and are quantities to be
minimised, the schedule produced by heuristic minimised, the schedule produced by heuristic AA is more robust than that of heuristic is more robust than that of heuristic BB ( (in a weaker in a weaker sensesense) if,) if,
1
~
~
~
~
,,
A
B
A
Bs
kBA
ZJ
ZJ
ZG
ZGC
1
~
~
~
~
,,
A
B
A
Bs
kBA
ZJ
ZJ
ZG
ZGC
.etc.meanor.max.J,.G
where
1
.etc.meanor.max.J,.G
where
1
Z~Z~
Z~Z~
2727
Schedule NervousnessSchedule Nervousness
iiiH ,i,HHR:N 1 iiiH ,i,HHR:N 1
timetime
(Sh) (H) (H) (H) (Sh) (H) (H) (Sh)(Sh) (H) (H) (H) (Sh) (H) (H) (Sh)
ωωj j ωωj+j+1 1 ωωj+j+2 2 ωωj+j+3 3 ωωj+j+4 4 ωωj+j+5 5 ωωj+j+6 6 ωωj+j+77
…….…….
…….…….
2828
Integer Program FormulationInteger Program Formulation• A robust initial off-line schedule (A robust initial off-line schedule (in a stronger sensein a stronger sense) is a ) is a
schedule whichschedule which– minimises the total schedule execution cost and do not require minimises the total schedule execution cost and do not require
any H-rescheduling when disruption occurs;any H-rescheduling when disruption occurs;– costs consist of effectiveness, predictability and stability (shift costs consist of effectiveness, predictability and stability (shift
robustness)robustness)
• More formally, a robust initial off-line schedule is a More formally, a robust initial off-line schedule is a schedule schedule S*S* which minimises which minimises
and only and only ShSh is performed when disruption occurs. is performed when disruption occurs.
1ii
CostZ~
JCostZ~
GCostTC
1ii
CostZ~
JCostZ~
GCostTC
2929
Integer Program Formulation (cont’d)Integer Program Formulation (cont’d)• Previous integer program formulation attempts Previous integer program formulation attempts
– Daniels and Kouvelis (1995)Daniels and Kouvelis (1995)• single machine problem (SPT is optimal for the deterministic case)single machine problem (SPT is optimal for the deterministic case)
• minimising maximum minimising maximum absolute deviationabsolute deviation of perturbed schedule total of perturbed schedule total flowtime from the optimal scheduleflowtime from the optimal schedule
• suggested solution procedures (for processing time intervals): B&B suggested solution procedures (for processing time intervals): B&B algorithm and 2 heuristics (endpoint sum and endpoint product + algorithm and 2 heuristics (endpoint sum and endpoint product + pairwise interchange)pairwise interchange)
– Book: Kouvelis and Yu (1997)Book: Kouvelis and Yu (1997)• described robust formulation for various problems such as scheduling described robust formulation for various problems such as scheduling
(single machine and flowshop), facility layout etc.(single machine and flowshop), facility layout etc.
• presented 3 variations of objective function formulations:presented 3 variations of objective function formulations:– minimise the maximum perturbed schedule performance over all minimise the maximum perturbed schedule performance over all
perturbation scenariosperturbation scenarios
3030
Integer Program Formulation (cont’d)Integer Program Formulation (cont’d)– minimise the maximum minimise the maximum absolute deviationabsolute deviation of perturbed schedule of perturbed schedule
performance from the optimal schedule over all perturbation scenariosperformance from the optimal schedule over all perturbation scenarios– minimise the maximum minimise the maximum relative deviationrelative deviation of perturbed schedule of perturbed schedule
performance w.r.t the optimal schedule over all perturbation scenariosperformance w.r.t the optimal schedule over all perturbation scenarios
– Kouvelis, Daniels and Vairaktarakis (2000)Kouvelis, Daniels and Vairaktarakis (2000)• two-machine flowshop problem (Johnson’s algorithm provide optimal two-machine flowshop problem (Johnson’s algorithm provide optimal
schedule for the deterministic case)schedule for the deterministic case)• absolute deviation robust schedule (makespan)absolute deviation robust schedule (makespan)• suggested solution procedures: B&B algorithm and a heuristic approachsuggested solution procedures: B&B algorithm and a heuristic approach
– Kuo and Lin (2002)Kuo and Lin (2002)• single machine problem, an extension of Daniels and Kouvelis (1995)single machine problem, an extension of Daniels and Kouvelis (1995)• relative deviation robust schedulerelative deviation robust schedule• solution procedure: B&B algorithmsolution procedure: B&B algorithm
– Yang and Yu (2002)Yang and Yu (2002)• single machine problem, also an extension of Daniels and Kouvelis single machine problem, also an extension of Daniels and Kouvelis
(1995)(1995)
3131
Integer Program Formulation (cont’d)Integer Program Formulation (cont’d)• revealed that three types of robust formulation (absolute, absolute revealed that three types of robust formulation (absolute, absolute
deviation and relative deviation) can be solved using a common solution deviation and relative deviation) can be solved using a common solution procedure - generalisation of Daniels and Kouvelis(1995) and Kuo and procedure - generalisation of Daniels and Kouvelis(1995) and Kuo and Lin(2002)Lin(2002)
• suggested solution procedures (for discrete processing times): dynamic suggested solution procedures (for discrete processing times): dynamic programming, surrogate relaxation procedure and greedy heuristicprogramming, surrogate relaxation procedure and greedy heuristic
• Conclusions from the literatures and some open questionsConclusions from the literatures and some open questions– the problem (single machine and two machine flowshop) is NP-the problem (single machine and two machine flowshop) is NP-
hard.hard.
– most solution procedures use extreme processing time most solution procedures use extreme processing time information (lower and upper bounds) and this has been proven information (lower and upper bounds) and this has been proven to be sufficient.to be sufficient.
• is this sufficient for more complex scheduling problems?is this sufficient for more complex scheduling problems?
3232
Integer Program Formulation (cont’d)Integer Program Formulation (cont’d)– objective function assumes the existence of optimal objective function assumes the existence of optimal
solution to the problemsolution to the problem• challenge: the optimal solution to most (more complex) challenge: the optimal solution to most (more complex)
scheduling problems is unknown, even for identical parallel scheduling problems is unknown, even for identical parallel machines. machines.
• can lower bounds be used?can lower bounds be used?
– only effectiveness is consideredonly effectiveness is considered• need to include other measures such as predictability and need to include other measures such as predictability and
stabilitystability
– perturbation scenarios are not time dependentperturbation scenarios are not time dependent• if only effectiveness and predictability is considered, if only effectiveness and predictability is considered,
perturbation scenarios need not be time dependentperturbation scenarios need not be time dependent• but if stability is to be included, perturbation scenarios has but if stability is to be included, perturbation scenarios has
to be time dependent.to be time dependent.
3333
Practical Robust SchedulingPractical Robust Scheduling• Since finding a robust schedule is NP-hard (even for the Since finding a robust schedule is NP-hard (even for the
simplest scheduling problem), we propose the following simplest scheduling problem), we propose the following scheduling procedure:scheduling procedure:– create a initial off-line schedule using heuristic or local search create a initial off-line schedule using heuristic or local search
(in consideration of an objective)(in consideration of an objective)
– create a rescheduling policy, i.e. decide to use either H or Sh create a rescheduling policy, i.e. decide to use either H or Sh when disruptions occurwhen disruptions occur
– decide the robust scheduling scheme (which initial off-line decide the robust scheduling scheme (which initial off-line schedule and rescheduling policy) to be used, i.e. the scheme schedule and rescheduling policy) to be used, i.e. the scheme which minimises the average which minimises the average oror maximum cost maximum cost
3434
Practical Robust Scheduling (cont’d)Practical Robust Scheduling (cont’d)• cost to be minimisedcost to be minimised
• in real time, to decide whether to shift or to regenerate the in real time, to decide whether to shift or to regenerate the scheduleschedule– map the current state of disruptions (magnitude, time etc.) to the map the current state of disruptions (magnitude, time etc.) to the
database of the robust scheduling scheme chosen database of the robust scheduling scheme chosen OROR
– use the best “heuristic + 0-look-ahead procedure” and apply it use the best “heuristic + 0-look-ahead procedure” and apply it myopically at each disruption myopically at each disruption OROR
– game-theoretic control approach (Leon, Wu and Storer-1994)game-theoretic control approach (Leon, Wu and Storer-1994)
HT
HT
Sh
i
NCostnECostnECost
CostZ~
JCostZ~
GCostTC
ShH
i
1
HT
HT
Sh
i
NCostnECostnECost
CostZ~
JCostZ~
GCostTC
ShH
i
1
3535
Practical Robust Scheduling (cont’d)Practical Robust Scheduling (cont’d)• Other practical scheduling approachesOther practical scheduling approaches
– contingency schedulescontingency schedules• Artificial Immune System (Hart et al.-1997)Artificial Immune System (Hart et al.-1997)• Proactive rescheduling analysis (Guo and Nonaka-1999)Proactive rescheduling analysis (Guo and Nonaka-1999)
– least commitment schedulingleast commitment scheduling• Preprocess-First-Schedule-Later (Byeon et al.-1998; Kutanoglu and Wu-Preprocess-First-Schedule-Later (Byeon et al.-1998; Kutanoglu and Wu-
1998; Wu et al.-1999)1998; Wu et al.-1999)
• Generating initial off-line scheduleGenerating initial off-line schedule– choice of deterministic-(near-)optimal choice of deterministic-(near-)optimal OROR robust-(near-) robust-(near-)
optimal initial off-line scheduleoptimal initial off-line schedule– attempts (mostly for machine breakdowns):attempts (mostly for machine breakdowns):
• ARS, ADRS and RRS (Daniels and Kouvelis etc.) – as discussed earlierARS, ADRS and RRS (Daniels and Kouvelis etc.) – as discussed earlier• capacity hedging method (Yellig and Mackulak-1997)capacity hedging method (Yellig and Mackulak-1997)• schedule sensitivity analysis (Morikawa et al.-1993) schedule sensitivity analysis (Morikawa et al.-1993)
3636
Practical Robust Scheduling (cont’d)Practical Robust Scheduling (cont’d)• neighbourhood-based robustness (Jensen-1999,2000,2001,2003; Jensen neighbourhood-based robustness (Jensen-1999,2000,2001,2003; Jensen
and Hansen-1999) and Hansen-1999) • slack-based techniques (Chiang and Fox-1990; Gao et al.-1995; slack-based techniques (Chiang and Fox-1990; Gao et al.-1995;
Davenport et al.-2001)Davenport et al.-2001)• fuzzy evaluation of expected delay (Dorn et al.-1995; Chen and Muraki-fuzzy evaluation of expected delay (Dorn et al.-1995; Chen and Muraki-
1997) – for uncertain processing times1997) – for uncertain processing times
• Assuming the perturbation scenario is known, Assuming the perturbation scenario is known, rescheduling policies can be constructed via methods such rescheduling policies can be constructed via methods such asas– IP formulation (no attempts yet)IP formulation (no attempts yet)
• the problem is likely to be intractablethe problem is likely to be intractable• B&B algorithm: computationally exhaustiveB&B algorithm: computationally exhaustive
– Genetic AlgorithmGenetic Algorithm• easy coding of chromosomes: …1010… easy coding of chromosomes: …1010… …H,Sh,H,Sh …H,Sh,H,Sh
– The The -look-ahead heuristic-look-ahead heuristic• 22(( + 1) + 1) possibilities possibilities• for for = 0, i.e. 0-look-ahead heuristic can be used in real-time scheduling = 0, i.e. 0-look-ahead heuristic can be used in real-time scheduling
3737
Practical Robust Scheduling (cont’d)Practical Robust Scheduling (cont’d)
1iHR 1iHR
HHR i HHR i
ShHR i ShHR i
HHR i 1 HHR i 1
ShHR i 1 ShHR i 1
HHR i 1 HHR i 1
ShHR i 1 ShHR i 1
HHR i HHR i
ShHR i ShHR i
HHR i HHR i
ShHR i ShHR i
HHR i HHR i
ShHR i ShHR i
HHR i HHR i
ShHR i ShHR i
.
.
.
.
.
.
.
.
.
.
.
.
3838
Practical Robust Scheduling (cont’d)Practical Robust Scheduling (cont’d)• Off-line procedures to create a robust scheduling scheme:Off-line procedures to create a robust scheduling scheme:
– When When heuristicheuristic (e.g. LPT, MF (e.g. LPT, MFkk etc.) is used, etc.) is used,• use heuristic to generate initial off-line schedule and repair schedule use heuristic to generate initial off-line schedule and repair schedule
when disruptions occurwhen disruptions occur• the initial off-line schedule created is myopic.the initial off-line schedule created is myopic.• the rescheduling policy can be constructed via methods described the rescheduling policy can be constructed via methods described
earlier.earlier.• this procedure is this procedure is myopicmyopic if 0-look-ahead is used (but suitable in real- if 0-look-ahead is used (but suitable in real-
time).time).
– When When local search methodlocal search method (e.g. GA, SA etc.) is used, (e.g. GA, SA etc.) is used,• if stability (heuristic robustness) is important, embed this measure into if stability (heuristic robustness) is important, embed this measure into
the objective function.the objective function.• initial off-line schedule created can be “long-sighted”initial off-line schedule created can be “long-sighted”• application of LSM similar to that of a heuristicapplication of LSM similar to that of a heuristic
– It is possible to combine both heuristic and local search It is possible to combine both heuristic and local search methods into the robust scheduling scheme.methods into the robust scheduling scheme.
3939
Some Empirical ResultsSome Empirical Results• Heuristic Heuristic AA is better than heuristic is better than heuristic BB if if C(A,B) C(A,B)
11, where, where
AH
BH
Ai
Bi
A
B
A
B
A
B
N
N
nE
nE
Z~
G
Z~
G
Z~
G
Z~
GB,AC
i
i
1
1
AH
BH
Ai
Bi
A
B
A
B
A
B
N
N
nE
nE
Z~
G
Z~
G
Z~
G
Z~
GB,AC
i
i
1
1
1 where 1 where
4040
Some Empirical Results (cont’d)Some Empirical Results (cont’d)• Use Use -look-ahead heuristic, where -look-ahead heuristic, where = 0. = 0.
• Perform Perform ShSh if if
.etc,
nE
nE
Z
Z
Z
ZH,ShC
where
Sh
H
Sh
H
Shi
Hi
Shi
Hi
i
i
11
.etc,
nE
nE
Z
Z
Z
ZH,ShC
where
Sh
H
Sh
H
Shi
Hi
Shi
Hi
i
i
11
1H,ShC 1H,ShC
4141
Some Empirical Results (cont’d)Some Empirical Results (cont’d)• Compare the use of Compare the use of LPTLPT, , MFMF7 7 and and SPT SPT on identical parallel on identical parallel
machines machines – minimising makespan minimising makespan – subjected to changes in processing times and machine breakdowns.subjected to changes in processing times and machine breakdowns.
• 10 sets of10 sets of n n = 30 operations, where processing times are randomly = 30 operations, where processing times are randomly generated from generated from UU(1,100).(1,100).
• mm = 6 identical parallel machines. = 6 identical parallel machines.• 10 sets of perturbations with 20 events each,10 sets of perturbations with 20 events each,
– change in processing timechange in processing time • probability of 0.5 that an operation will change its processing timeprobability of 0.5 that an operation will change its processing time• range: U(0.1prange: U(0.1pii, 2p, 2pii))• occurrence time ~ U(0, 200)occurrence time ~ U(0, 200)
– machine breakdownmachine breakdown• Time between failure ~ neg-exp(0.005)Time between failure ~ neg-exp(0.005)• Downtime ~ neg-exp(0.08)Downtime ~ neg-exp(0.08)
4242
Some Empirical Results (cont’d)Some Empirical Results (cont’d)• Cost coefficients used:Cost coefficients used:
020
03
1
.
020
03
1
.
AH
BH
Ai
Bi
A
B
A
B
A
B
N
N
nE
nE
Z~
G
Z~
G
Z~
G
Z~
GB,AC
i
i
1
1
AH
BH
Ai
Bi
A
B
A
B
A
B
N
N
nE
nE
Z~
G
Z~
G
Z~
G
Z~
GB,AC
i
i
1
1
4343
Some Empirical Results (cont’d)Some Empirical Results (cont’d)• ResultsResults
0%
10%
20%
30%
40%
50%
60%
LPT is the best MF(7) is thebest
SPT is the best LPT is 2nd best MF(7) is 2ndbest
SPT is 2nd best LPT is the worst MF(7) is theworst
SPT is theworst
Proportion of times when the heuristic attains the rank
MEAN MAXIMUM
0%
10%
20%
30%
40%
50%
60%
LPT is the best MF(7) is thebest
SPT is the best LPT is 2nd best MF(7) is 2ndbest
SPT is 2nd best LPT is the worst MF(7) is theworst
SPT is theworst
Proportion of times when the heuristic attains the rank
MEAN MAXIMUM
4444
Stochastic SchedulingStochastic Scheduling• Stochastic dominanceStochastic dominance
– almost surely largeralmost surely larger• PP((XX11 X X22)) = 1 = 1
– larger in likelihood ratio senselarger in likelihood ratio sense• PP((XX1 1 = = t)/t)/PP((XX2 2 = = t) is nondecreasing in t) is nondecreasing in t, t t, t 0 and 0 and ff11(t) and (t) and ff22(t) (t) are p.d.f.’s.are p.d.f.’s.
– stochastically largerstochastically larger• PP((XX11 > t > t)) PP((XX22 > t > t) for all ) for all tt
– larger in expectation (often used in stochastic scheduling)larger in expectation (often used in stochastic scheduling)• EE((XX11) ) EE((XX22))
• Types of policiesTypes of policies– static list policy static list policy
• puts all operations in a list at time 0 and this list puts all operations in a list at time 0 and this list does not changedoes not change during during schedule execution (perform Sh whenever disruptions occur)schedule execution (perform Sh whenever disruptions occur)
– dynamic list policydynamic list policy• no fixed list; the decision maker allowed to make decisions during schedule no fixed list; the decision maker allowed to make decisions during schedule
execution (perform H whenever disruptions occur)execution (perform H whenever disruptions occur)– could be preemptive or non-preemptivecould be preemptive or non-preemptive
4545
Stochastic Scheduling (cont’d)Stochastic Scheduling (cont’d)• Most results for stochastic scheduling depends on the followingMost results for stochastic scheduling depends on the following
– optimality in expectation (the crudest form of stochastic optimality)optimality in expectation (the crudest form of stochastic optimality)– ““simple” distributionsimple” distribution
• some nice results (extracted from Pinedo’s “Scheduling: Theory, some nice results (extracted from Pinedo’s “Scheduling: Theory, Algorithms and Systems”-1995)Algorithms and Systems”-1995)– 1|p1|pii ~ general| ~ general|wwiiCCii (nonpreemptive static/dynamic list policies) (nonpreemptive static/dynamic list policies)
• WSEPT is optimal in expectation (also optimal for general machine breakdowns WSEPT is optimal in expectation (also optimal for general machine breakdowns on single machines)on single machines)
– 1|p1|pii ~ general|L ~ general|Lmaxmax (dynamic & nonpreemptive static list policies) (dynamic & nonpreemptive static list policies)• EDD is optimal almost surelyEDD is optimal almost surely
– P2| pP2| pii ~ exp( ~ exp(jj)|C)|Cmaxmax (nonpreemptive static list policies) (nonpreemptive static list policies) • LEPT is optimal in expectationLEPT is optimal in expectation
– P|preempt|CP|preempt|Cmaxmax (preemptive dynamic list policies) (preemptive dynamic list policies)• LEPT is optimal in expectationLEPT is optimal in expectation
– P|pP|pii ~ general| ~ general|CCii (preemptive dynamic list policies) (preemptive dynamic list policies)• SEPT is optimal stochasticallySEPT is optimal stochastically
4646
Stochastic Scheduling (cont’d)Stochastic Scheduling (cont’d)• Stochastic vs Robust schedulingStochastic vs Robust scheduling
– robust: hedge against uncertainty in expectation and/or worst case & robust: hedge against uncertainty in expectation and/or worst case & optimisation of other criteria such as efficiency, stability, predictability and optimisation of other criteria such as efficiency, stability, predictability and nervousnessnervousness
– stochastic: hedge against uncertainty in expectation (usually)stochastic: hedge against uncertainty in expectation (usually)– some comments: some comments:
• both stochastic and robust scheduling are addressing the same problem, i.e. both stochastic and robust scheduling are addressing the same problem, i.e. uncertainty in schedulinguncertainty in scheduling
– which is preferable? depends on what is to be optimised and the availability of which is preferable? depends on what is to be optimised and the availability of optimal solutionsoptimal solutions
• the stochastic analysis only provide optimal solutions for simple shop-floor the stochastic analysis only provide optimal solutions for simple shop-floor configurations and restricted uncertainty distributionsconfigurations and restricted uncertainty distributions
– but at least this formulation gives more optimistic results than the robust formulation but at least this formulation gives more optimistic results than the robust formulation
• both stochastic and robust formulations are difficult to solveboth stochastic and robust formulations are difficult to solve– need a more practical approach, e.g. the more practical robust scheduling, need a more practical approach, e.g. the more practical robust scheduling,
contingency schedules etc.contingency schedules etc.– need more flexibility in deciding whether to reschedule or not (from the stochastic need more flexibility in deciding whether to reschedule or not (from the stochastic
scheduling point of view, this is in fact switching between static and dynamic list scheduling point of view, this is in fact switching between static and dynamic list policies)policies)
4747
Scheduling and UncertaintyScheduling and Uncertainty• Certain eventCertain event
– Event happens with no variability Event happens with no variability (I AM (I AM ABSOLUTELY SURE……)ABSOLUTELY SURE……)
• Uncertain eventUncertain event– Some information on the event available, but with Some information on the event available, but with
variability variability (MAYBE…..)(MAYBE…..)
• Unexpected eventUnexpected event– Information on the event revealed at the time it occurs Information on the event revealed at the time it occurs
(I DON’T KNOW…..)(I DON’T KNOW…..)
4848
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)
Deterministic Deterministic SchedulingScheduling
Robust Robust SchedulingScheduling
On-line On-line SchedulingScheduling
Low Low UncertaintyUncertainty
Medium Medium UncertaintyUncertainty
High High UncertaintyUncertainty UnexpectedUnexpected
ProactiveProactive ReactiveReactive
4949
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)• Heuristic applied in a deterministic sense (static list Heuristic applied in a deterministic sense (static list
policy)policy)– all operations committed to the initial off-line scheduleall operations committed to the initial off-line schedule– perform shift when disruption occursperform shift when disruption occurs
• Heuristic applied in a robust senseHeuristic applied in a robust sense– all (or partial) operations are committed to the initial off-line all (or partial) operations are committed to the initial off-line
scheduleschedule– perform shift or H-rescheduling when disruption occursperform shift or H-rescheduling when disruption occurs– perform shift when (0-look-ahead heuristic)perform shift when (0-look-ahead heuristic)
• Heuristic applied in a online sense (dynamic list policy)Heuristic applied in a online sense (dynamic list policy)– operations not committed to the initial off-line scheduleoperations not committed to the initial off-line schedule– operation assigned over time according to a specified ruleoperation assigned over time according to a specified rule
1H,ShC 1H,ShC
5050
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)• We measure the uncertainty associated with scheduling We measure the uncertainty associated with scheduling
information using the information using the entropy conceptentropy concept..– schedule stability radius: Sotskov et al. (1997,1998), Lai et al. schedule stability radius: Sotskov et al. (1997,1998), Lai et al.
(1997)(1997)– empirical testing on static and dynamic applications of optimal empirical testing on static and dynamic applications of optimal
and heuristic solution to job shop problem: Lawrence and and heuristic solution to job shop problem: Lawrence and Sewell (1997)Sewell (1997)
• Recalling the entropy concept:Recalling the entropy concept:– finite scheme with mutually exclusive events, Afinite scheme with mutually exclusive events, A11, A, A22, …, A, …, Ann with with
probabilities pprobabilities p11, p, p22, …,p, …,pnn respectively, where respectively, where ppii = 1 = 1– the amount of uncertainty associated with the finite scheme is the amount of uncertainty associated with the finite scheme is
given bygiven by
and if pand if pkk = 0, p = 0, pkk log p log pkk = 0 = 0
n
kkkn plogpp,,p,pH
121
n
kkkn plogpp,,p,pH
121
5151
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)• Recalling the entropy concept (cont’d):Recalling the entropy concept (cont’d):
– for m mutually independent schemes, M = Sfor m mutually independent schemes, M = S11SS22 … S … Smm, the , the
entropy is given byentropy is given by
• Applying to scheduling problem where operation Applying to scheduling problem where operation processing times are uncertain,processing times are uncertain,– let flet fii(w(wii) be the p.d.f. of the processing time of operation i, such ) be the p.d.f. of the processing time of operation i, such
thatthat
m
iin SHSSSHMH
121
m
iin SHSSSHMH
121
1i
i
b
a iii dwwf 1i
i
b
a iii dwwf
5252
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d) ii wf ii wf
iwiw
iaia ibib
ii ka 1 ii ka 1 ii ka ii ka
ii
Event Event AAiikk
ii
ii
ka
ka iiiki
ki dwwfAPP
1
ii
ii
ka
ka iiiki
ki dwwfAPP
1
i
i
z
k
ki
ki
ziiii
PlogP
A,,A,AHGH
1
21
i
i
z
k
ki
ki
ziiii
PlogP
A,,A,AHGH
1
21
n
iinp GGGGHH
121
n
iinp GGGGHH
121
Assuming independence of Gi,
i
iii
abzwhere
i
iii
abzwhere
5353
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)• Simulation setup:Simulation setup:
– operation processing time uniformly distributed between aoperation processing time uniformly distributed between a ii and b and bii i.e. i.e. ffii((wwii) ) = = 1/(1/(bbii – a – aii)), and hence, and hence
– assume assume ii = = for allfor all ii– two cases investigated: btwo cases investigated: b ii – a – aii = c & b = c & bii – a – aii = c = cii
– initial data randomly chosen within initial data randomly chosen within [[aaii, b, bii]]
n
i ii
in
i
z
k ii
i
ii
in
iip ab
logab
logab
GHHi
11 11
n
i ii
in
i
z
k ii
i
ii
in
iip ab
logab
logab
GHHi
11 11
c
lognH p
c
lognH p
n
,n
Un
Hclog
clogH pi
n
i
ip
1010 where
1
n
,n
Un
Hclog
clogH pi
n
i
ip
1010 where
1
5454
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)
equal ciequal ci
unequal ciunequal ci
5555
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)– compare LPT, SPT and MFcompare LPT, SPT and MF77 applied in both deterministic and applied in both deterministic and
robust sense and LPT in an online sense using normalised costrobust sense and LPT in an online sense using normalised cost
– only consider effectiveness, heuristic robustness and only consider effectiveness, heuristic robustness and nervousness costsnervousness costs
• efficiency and predictability costs omittedefficiency and predictability costs omitted• display results on Nervousness Cost versus Heuristic Robustness Costdisplay results on Nervousness Cost versus Heuristic Robustness Cost
– order of preferenceorder of preference• online, deterministic, robustonline, deterministic, robust
5656
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)
equal c;
n=30
equal c;
n=30
unequal c;
n=30
unequal c;
n=30
5757
Scheduling and Uncertainty (cont’d)Scheduling and Uncertainty (cont’d)
equal c;
n=30
equal c;
n=30
equal c;
n=50
equal c;
n=50
5858
Conclusions and Future DirectionsConclusions and Future Directions• Creating robust schedule is known to be NP-hard (even for single Creating robust schedule is known to be NP-hard (even for single
machine problems)machine problems)– more investigations needed for the parallel machine problemmore investigations needed for the parallel machine problem
• A more “lazy” alternative is to use proactive-reactive scheduling A more “lazy” alternative is to use proactive-reactive scheduling approach (a more practical robust scheduling)approach (a more practical robust scheduling)– account for effectiveness, predictability, efficiency, stability and nervousnessaccount for effectiveness, predictability, efficiency, stability and nervousness– a robust scheduling scheme consists of “robust” initial off-line schedule and a robust scheduling scheme consists of “robust” initial off-line schedule and
rescheduling policiesrescheduling policies– using a more “robust” initial off-line schedule will improve all five measures using a more “robust” initial off-line schedule will improve all five measures
mentioned abovementioned above
• Real-time schedulingReal-time scheduling– based on the robust scheduling scheme based on the robust scheduling scheme
• further investigations neededfurther investigations needed• reaction to disruptions based on what we have simulatedreaction to disruptions based on what we have simulated• Artificial Intelligence: fuzzy systems, neural network etc.Artificial Intelligence: fuzzy systems, neural network etc.
– use the 0-look-ahead heuristic use the 0-look-ahead heuristic OROR game-theoretic control approach game-theoretic control approach
5959
Conclusions and Future DirectionsConclusions and Future Directions• Entropy concept used to justify the use of deterministic, Entropy concept used to justify the use of deterministic,
robust and online scheduling techniquesrobust and online scheduling techniques– conjecture that bconjecture that bii – c – cii = c can be used and the measure is = c can be used and the measure is
scalablescalable• detailed analysis and more simulation neededdetailed analysis and more simulation needed
– added an extra dimension to sensitivity analysisadded an extra dimension to sensitivity analysis• proactive approach to deal with changes in information uncertainty and proactive approach to deal with changes in information uncertainty and
costscosts– extension to other disruptions such as extension to other disruptions such as
• machine breakdowns: described by the mean time between failure and machine breakdowns: described by the mean time between failure and the duration of breakdownthe duration of breakdown
• arrival of new operations: described by the arrival rate, number of arrival of new operations: described by the arrival rate, number of operations at each arrival and the parameters of operations upon arrivaloperations at each arrival and the parameters of operations upon arrival
• removal of operations: described by the probability that an operation removal of operations: described by the probability that an operation will be removedwill be removed