1 / 25

Problem-Solving Examples (Preemptive Case)

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 }

tuvya
Download Presentation

Problem-Solving Examples (Preemptive Case)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Problem-Solving Examples(Preemptive Case)

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

  3. P-JSSP: Problem definition • Set of machines {M1 ... Mm} • Set of jobs {J1 ... Jn} • List of operations Oi1 ... Oim(i) for each job Ji • Processing time pij for each operation Oij • Machine Mij for each operation Oij

  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) = mintÎset(O)(t) end(O) = maxtÎset(O)(t + 1) • Optimization criterion makespan = maxi(end(Oim(i)))

  5. P-JSSP: Problem constraints • Temporal constraints 0 £ start(Oij) end(Oij) £ start(Oij+1) • Duration constraints |set(Oij)| = pij • Exclusion constraints Mij= Mkl implies "tÎset(Oij), tÏset(Okl)

  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

  7. P-JSSP: Basic search procedure Notations • WO(t) = 1 when tÎset(O), 0 otherwise • ops(M) = {Oij such that Mij= M} • final-ops(M) = {Oim(i) such that Mim(i)= M} • pre(Oij) = {Oi1 ... Oij-1} • candidates(M, t) = {OÎops(M) such that WO(t) is unknown}

  8. P-JSSP: Basic search procedure • Select (M, t) such that: • $OÎops(M), WO(t) is unknown • "OÎops(M), "t' < t, WO(t') is known • "OÎcandidates(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)

  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)

  10. P-JSSP: Makespan minimization • Example • start with makespanmin obtained by propagation • until a solution has been found, increment the tested value by min(2i-1, (makespanmax- makespanmin) / 2) (after the ith iteration) • after a solution has been found, set the tested value to (makespanmax- makespanmin) / 2

  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, "AÎops(M), "BÎops(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)

  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

  13. P-JSSP: Dominance properties • There exists an optimal schedule such that "M, "A = Oim(i)Îops(M), "BÎops(M)-{A} such that either BÏfinal-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

  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

  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

  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)

  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

  18. Benchmarks (Applegate & Cook) 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) 215 210 25

  19. Heuristic variants (1) Constraint propagation • Costly edge-finding algorithm • Less costly but less effective timetable algorithm

  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

  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

  22. Heuristic variants (4) Overall search strategy • Use standard chronological backtracking • Use limited discrepancy search

  23. Benchmarks (Applegate & Cook)

  24. Benchmarks (Vaessens et al.)

  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)

More Related