problem-solving examples (preemptive case)

25
8-1 Problem-Solving Examples (Preemptive Case)

Upload: tuvya

Post on 09-Jan-2016

45 views

Category:

Documents


3 download

DESCRIPTION

Problem-Solving Examples (Preemptive Case). Outline. Preemptive job-shop scheduling problem (P-JSSP) Problem definition Basic search procedure Dominance properties Heuristics Results. P-JSSP: Problem definition. Set of machines {M 1 ... M m } Set of jobs {J 1 ... J n } - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Problem-Solving Examples (Preemptive Case)

8-1

Problem-Solving Examples(Preemptive Case)

Page 2: Problem-Solving Examples (Preemptive Case)

8-2

Outline

• Preemptive job-shop scheduling problem (P-JSSP)– Problem definition– Basic search procedure– Dominance properties– Heuristics– Results

Page 3: Problem-Solving Examples (Preemptive Case)

8-3

P-JSSP: Problem definition

• Set of machines {M1 ... Mm}

• Set of jobs {J1 ... Jn}

• List of operations Oi1 ... Oi

m(i) for each job Ji

• Processing time pij for each operation Oi

j

• Machine Mij for each operation Oi

j

Page 4: Problem-Solving Examples (Preemptive Case)

8-4

P-JSSP: Problem variables

• Set variable set(O):set[integer] for each operation O

• Integer variables start(O) and end(O) for each operation O

start(O) mintset(O)(t)

end(O) maxtset(O)(t + 1)

• Optimization criterionmakespan maxi(end(Oi

m(i)))

Page 5: Problem-Solving Examples (Preemptive Case)

8-5

P-JSSP: Problem constraints

• Temporal constraints0 start(Oi

j)

end(Oij) start(Oi

j1)

• Duration constraints|set(Oi

j)| = pij

• Exclusion constraintsMi

j Mkl implies tset(Oi

j), tset(Okl)

Page 6: Problem-Solving Examples (Preemptive Case)

8-6

P-JSSP: Decision var. complexity

• NP-complete in the strong sense when m 3 and m(i) 3 for all i

• Solvable in polynomial time if m 2 and m(i) 2 for all i

• NP-complete in the ordinary sense when m 2 and m(i) 3 for all i, or when m 3 and m(i) 2 for all i

• Preemptive flow-shop scheduling: NP-complete in the strong sense for m 3

Page 7: Problem-Solving Examples (Preemptive Case)

8-7

P-JSSP: Basic search procedure

Notations• WO(t) 1 when tset(O), 0 otherwise

• ops(M) {Oij such that Mi

j M}

• final-ops(M) {Oim(i) such that Mi

m(i) M}

• pre(Oij) {Oi

1 ... Oij1}

• candidates(M, t) {Oops(M) such that WO(t) is unknown}

Page 8: Problem-Solving Examples (Preemptive Case)

8-8

P-JSSP: Basic search procedure

• Select (M, t) such that: Oops(M), WO(t) is unknown

Oops(M), t' t, WO(t') is known

Ocandidates(M, t), O'pre(O), t', WO'(t') is known

• For each O in candidates(M, t), create a branch where O is set to execute at time t

• Select a branch, propagate the decision, and iterate (until a solution is found or no branch remains)

Page 9: Problem-Solving Examples (Preemptive Case)

8-9

P-JSSP: Makespan minimization

• Set makespanmin to an obvious lower bound

• Set makespanmax to an obvious upper bound

• Iterate until makespanmin makespanmax

– Select a value in [makespanmin makespanmax)

– Constrain the makespan to be smaller than (or equal to) the chosen value

– Run the search procedure: when a solution is found, set makespanmax to the makespan of the solution; if there is no solution, set makespanmin to (value 1)

Page 10: Problem-Solving Examples (Preemptive Case)

8-10

P-JSSP: Makespan minimization

• Example– start with makespanmin obtained by propagation

– until a solution has been found, increment the tested value by min(2i1, (makespanmax makespanmin) 2) (after the ith iteration)

– after a solution has been found, set the tested value to (makespanmax makespanmin) 2

Page 11: Problem-Solving Examples (Preemptive Case)

8-11

P-JSSP: Dominance properties

• Given an optimal schedule S, the "due-date" of an operation O in S is defined as:– the makespan of S if O is the last operation of its job– the start time of the following operation otherwise

• There exists an optimal schedule J(S) such that

M, Aops(M)Bops(M){A}, t, if A executes at t while B is available, then the due-date of A in S is smaller than or equal to the due-date of B in S

• Proof (by construction)

Page 12: Problem-Solving Examples (Preemptive Case)

8-12

P-JSSP: Dominance properties

• Applications– The set candidates(M, t) is reduced

– When O is set to execute at time t, O is set to execute up to, either endmin(O), or startmin(O') for an operation O' not available at time t

– A redundant constraint (cut) is added for each operation O' available at time t:

• [end(O) remaining-duration(O') end(O')]

• [end(O) start(O')] if O' is not started at time t

Page 13: Problem-Solving Examples (Preemptive Case)

8-13

P-JSSP: Dominance properties

• There exists an optimal schedule such that

M, A Oim(i)ops(M)Bops(M){A}

such that either Bfinal-ops(M) or B Ojm(j)

with j i, t, A does not execute at t if B is available

• Proof

Direct consequence of the previous result

Page 14: Problem-Solving Examples (Preemptive Case)

8-14

P-JSSP: Dominance properties

• Applications– If candidates(M, t) contains at least a non-final

operation, final operations are removed from candidates(M, t)

– Otherwise, candidates(M, t) is reduced to a unique final operation

Page 15: Problem-Solving Examples (Preemptive Case)

8-15

P-JSSP: Dominance properties

• Combination of the dominance rules– Use the "final operations" dominance rules– Among non-final operations, use "Jackson's

preemptive schedule" dominance rules

Page 16: Problem-Solving Examples (Preemptive Case)

8-16

P-JSSP: Heuristics

• Selection of the pair (M, t)– Chronological scheduling– Select a machine on which non-final operations

remain

• Branch exploration ordering– Select the branch on which the operation with

the smallest endmax is scheduled (EDD)

Page 17: Problem-Solving Examples (Preemptive Case)

8-17

P-JSSP: Benchmark results

Instance BT CPU BT(PR) CPU(PR)

MT10 140903 2105.6 41255 624.0

ABZ5 1192553 15628.0 338597 4430.9

ABZ6 17699 307.8 8157 134.3

LA19 34637 564.3 10928 176.4

LA20 2779 59.4 998 22.7

ORB1 347647 5182.4 85085 1278.3

ORB2 53127 709.4 16189 220.9

ORB3 6804127 96917.7 1947325 27884.2

ORB4 97654 1201.8 37122 461.3

ORB5 10380 158.6 4151 61.6

Page 18: Problem-Solving Examples (Preemptive Case)

8-18

MT10 ABZ5 ABZ6 LA19 LA20 ORB1 ORB2 ORB3 ORB4 ORB5

Network flow (GUTB) [Baptiste 95] Number of fails CPU time (RS6000)

Edge finding [Le Pape & Baptiste 96] Number of fails CPU time (PC-200MHz)

Benchmarks (Applegate & Cook)

25

210

215

Page 19: Problem-Solving Examples (Preemptive Case)

8-19

Heuristic variants (1)

Constraint propagation

• Costly edge-finding algorithm

• Less costly but less effective timetable algorithm

Page 20: Problem-Solving Examples (Preemptive Case)

8-20

Heuristic variants (2)

Branch exploration ordering heuristic

• EDD as in the exact algorithm

• Use the previous schedule S to guide the search, i.e., use the due-date of O in S rather than the current latest end time of O

Page 21: Problem-Solving Examples (Preemptive Case)

8-21

Heuristic variants (3)

Local optimization

• Restart the search with a new bound on the makespan each time a solution is found

• Each time a new solution is found, use the operator J and its symmetric counterpart K to improve the schedule; restart the search with a new bound on the makespan when J and K become ineffective

Page 22: Problem-Solving Examples (Preemptive Case)

8-22

Heuristic variants (4)

Overall search strategy

• Use standard chronological backtracking

• Use limited discrepancy search

Page 23: Problem-Solving Examples (Preemptive Case)

8-23

Benchmarks (Applegate & Cook)

0,00%

2,00%

4,00%

6,00%

8,00%

10,00%

12,00%

14,00%

16,00%

18,00%

1 2 3 4 5 6 7 8 9 10

TT-DFS-CE

TT-DFS-RE

TT-DFS-RE- J K

TT-DFS-RC

TT-DFS-RC- J K

TT-LDS-CE

TT-LDS-RE

TT-LDS-RE- J K

TT-LDS-RC

TT-LDS-RC- J K

EF-DFS-CE

EF-DFS-RE

EF-DFS-RE- J K

EF-DFS-RC

EF-DFS-RC- J K

EF-LDS-CE

EF-LDS-RE

EF-LDS-RE- J K

EF-LDS-RC

EF-LDS-RC- J K

Page 24: Problem-Solving Examples (Preemptive Case)

8-24

Benchmarks (Vaessens et al.)

0,00%

2,00%

4,00%

6,00%

8,00%

10,00%

12,00%

14,00%

16,00%

18,00%

1 2 3 4 5 6 7 8 9 10

TT-DFS-CE

TT-DFS-RE

TT-DFS-RE- J K

TT-DFS-RC

TT-DFS-RC- J K

TT-LDS-CE

TT-LDS-RE

TT-LDS-RE- J K

TT-LDS-RC

TT-LDS-RC- J K

EF-DFS-CE

EF-DFS-RE

EF-DFS-RE- J K

EF-DFS-RC

EF-DFS-RC- J K

EF-LDS-CE

EF-LDS-RE

EF-LDS-RE- J K

EF-LDS-RC

EF-LDS-RC- J K

Page 25: Problem-Solving Examples (Preemptive Case)

8-25

Conclusions

• The edge-finding constraint propagation technique is crucial

• Limited discrepancy search appears to help the weaker algorithms to a greater extent than the stronger algorithms (see [Beck et al 97] in the non-preemptive case)

• The use of the previous solution to guide the search also helps in finding good solutions in a limited amount of time (see “shuffle” algorithms in the non-preemptive case)