Download presentation
Presentation is loading. Please wait.
1
8-1 Problem-Solving Examples (Preemptive Case)
2
8-2 Outline Preemptive job-shop scheduling problem (P-JSSP) –Problem definition –Basic search procedure –Dominance properties –Heuristics –Results
3
8-3 P-JSSP: Problem definition Set of machines {M 1... M m } Set of jobs {J 1... J n } List of operations O i 1... O i m(i) for each job J i Processing time p i j for each operation O i j Machine M i j for each operation O i j
4
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) min t set(O) (t) end(O) max t set(O) (t + 1) Optimization criterion makespan max i (end(O i m(i) ))
5
8-5 P-JSSP: Problem constraints Temporal constraints 0 start(O i j ) end(O i j ) start(O i j 1 ) Duration constraints |set(O i j )| = p i j Exclusion constraints M i j M k l implies t set(O i j ), t set(O k l )
6
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
7
8-7 P-JSSP: Basic search procedure Notations W O (t) 1 when t set(O), 0 otherwise ops(M) {O i j such that M i j M} final-ops(M) {O i m(i) such that M i m(i) M} pre(O i j ) {O i 1... O i j 1 } candidates(M, t) {O ops(M) such that W O (t) is unknown}
8
8-8 P-JSSP: Basic search procedure Select (M, t) such that: O ops(M), W O (t) is unknown O ops(M), t' t, W O (t') is known O candidates(M, t), O' pre(O), t', W O' (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
8-9 P-JSSP: Makespan minimization Set makespan min to an obvious lower bound Set makespan max to an obvious upper bound Iterate until makespan min makespan max –Select a value in [makespan min makespan max ) –Constrain the makespan to be smaller than (or equal to) the chosen value –Run the search procedure: when a solution is found, set makespan max to the makespan of the solution; if there is no solution, set makespan min to (value 1)
10
8-10 P-JSSP: Makespan minimization Example –start with makespan min obtained by propagation –until a solution has been found, increment the tested value by min(2 i 1, (makespan max makespan min ) 2) (after the i th iteration) –after a solution has been found, set the tested value to (makespan max makespan min ) 2
11
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, 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
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 end min (O), or start min (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
8-13 P-JSSP: Dominance properties There exists an optimal schedule such that M, A O i m(i) ops(M) B ops(M) {A} such that either B final-ops(M) or B O j m(j) with j i, t, A does not execute at t if B is available Proof Direct consequence of the previous result
14
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
15
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
16
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 end max is scheduled (EDD)
17
8-17 P-JSSP: Benchmark results Instance BT CPU BT(PR) CPU(PR) MT10 140903 2105.6 41255 624.0 ABZ51192553 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 ORB36804127 96917.7 1947325 27884.2 ORB4 97654 1201.8 37122 461.3 ORB5 10380 158.6 4151 61.6
18
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) 2525 2 10 2 15
19
8-19 Heuristic variants (1) Constraint propagation Costly edge-finding algorithm Less costly but less effective timetable algorithm
20
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
21
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
22
8-22 Heuristic variants (4) Overall search strategy Use standard chronological backtracking Use limited discrepancy search
23
8-23 Benchmarks (Applegate & Cook)
24
8-24 Benchmarks (Vaessens et al.)
25
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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.