Upload
alkis-vazacopoulos
View
639
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Job Shop Scheduling with Setup Times,
Deadlines and Precedence Constraints
Universite Paris-Dauphine
Alkis Vazacopoulos
**Joint work with Egon Balas and Neil Simonetti
The Problem
• Set of Jobs
• Set of Machines
• Each machine can handle at most one job at a time
• Each Job is a set of operations
• Each Operation requires
uninterrupted processing
on a given machine
for a fixed amount of time di
* There are sequence dependent setup times cij
* Objective is to minimize makespan
1
2 3 4
5 6 7
8 9
10
JOB 1
JOB 2
JOB 3
Job Shop Scheduling
Oper
ation
Job Shop Scheduling Problem
1
2 3 4
5 6 7
8 9
10
11
Disjunction
Machines
d2+c2,10
d10+c10,2
Job Shop Scheduling Problem
1
2 3 4
5 6 7
8 9
10
11
d5 + c53
Job Shop Scheduling
1
2 3 4
5 6 7
8 9
10
11
Acyclic
Longest Path
Critical
Path
Shifting Bottleneck Procedure
• Adams Balas and Zawack 1988
• Balas, Lenstra, Vazacopoulos (using delayed
precedence Constraints)
• Balas, Vazacopoulos (Guided Local Search)
• Balas, Lancia, Serafini, Vazacopoulos (Job shop
Scheduling with Deadlines, Release times and
Downtimes)
• Balas, Simonetti, Vazacopoulos (Jobshop with
Setup Times)
Shifting Bottleneck Procedure
• Let M0 be the set of machines already sequenced
• Step 1. Identify a bottleneck machine m among the machines k in M\ M0. Set
M0= M0U{m} and go to 2
• Step 2. Reoptimize the current partial schedule. If M0= M, stop; otherwise goto step 1.
Shifting Bottleneck
1
2 3 4
5 6 7
8 9
10
11
Find Bottleneck
Machine
One Machine Problem
1
2
6 7
10
11
Shifting Bottleneck
1
2 3 4
5 6 7
8 9
10
11
Bottleneck
Shifting Bottleneck
1
2 3 4
5 6 7
8 9
10
11
Bottleneck
Shifting Bottleneck
1
2 3 4
5 6 7
8 9
10
11
Bottleneck
One-Machine Scheduling as a
Traveling Salesman Problem
• Jobs to be scheduled are the nodes of the
Traveling Salesman Problem.
• The cost cij of traveling from node i to node j is
processing time of job i plus the setup time
required for the transition from job i to job j.
• A dummy node is added (with costs of zero)
which is used as the home city, where the
traveling salesman tour will begin and end.
Dynamic Program for the Traveling
Salesman Problem (TSP)
• Designate a home city (1).
• Subproblem:
P(i, A) = length of the shortest path from
the home city to city i, using the cities in set A.
• Relationship:
P(1,{1}) = 0.
P(i, A) = min jA\{i} (P(j, A\{i}) + cji)
• Exponential number of subproblems.
Strong Precedence Constraint
• Given an initial ordering of cities
(1, 2, 3, …, n) and a constant k,
if city i comes k or more places before
city j in the initial ordering, then city i
comes before city j in the final tour.
• This limits the number of subproblems to
O (2kn)
TSP with Time Windows
• Strong precedence constraints of this type
appear in time window problems,
including those generated from single-
machine scheduling problems.
• Narrower time windows require smaller
values of k.
Heuristic Application
• If the required value of k is too large to be
practical (because of time or space), a
smaller k can be used as a heuristic.
• The dynamic program will search an
exponentially large neighborhood of
solutions.
Constructing Time Windows
• Given release times, rj, due dates, qj, and
processing times, pj, for each job j, and a target
makespan M, the time window for job j is:
[rj, M – pj – qj]
• The dynamic program can be used as an oracle
to answer the decision problem:
Is there a feasible one-machine
schedule with makespan M?
Finding the Best Makespan
• In theory, a binary search will find an
optimal makespan M in log(M) steps.
• In practice, it takes fewer than log(M)
steps to find M by stepping down the
target makespan at each step.
• A smaller k can be used to solve the
easier problems during the first few steps.
Delayed Precedence Constraints
• A delayed precedence constraint is a
constraint of the form: Job i must start at
least d time units after job j is completed.
• The states of the dynamic program cannot
distinguish when previous cities have
been visited, so this cannot be strictly
enforced by the algorithm.
Another Heuristic
• Increasing cij to d will enforce the
delayed precedence constraint when jobs
i and j are consecutive, but the solution
may not be optimal if i and j are not
consecutive.
• In practice, the quality of solutions is still
very good.
Test Problems
• Classical job-shop scheduling problems from Ovacik and Uzsoy. (960 problems)
• Semiconductor scheduling problems from Ovacik and Uzsoy. (1920 problems)
• Reentrant Flowshop scheduling problems from Ovacik and Uzsoy. (1800 problems)
• Job-shop scheduling problems from Brucker and Thiele, created by adding setup times to problems from Adams, Balas, and Zawack. (17 problems)
Adding Guided Local Search
• After the reoptimization phase we apply
Guided Local Search procedure (Balas
and Vazacopoulos
• (modified for our problem)
Compare with and without Local
search
• Js305 , k =15
• Avg. of Maximum Lateness (avg. CPU time)
• Jobs - Mach. - With local search - Without Local seacrh
• 10 5 360.20 (1.86) 421.95 (0.31)
• 20 5 91.0 (61.43) 150.75 (14.39)
• 20 15 1531.45 (114.30) 1895.85 (27.26)
• 20 20 2070.50 (109.88) 2702.55 (26.63)
Classical Jobshop Problems
Semiconductor data sets
• Problems from Ovacik and Uzsoy
• Description
• Semiconductor testing facility
• A number of testing workcenter and a
brand workcenter
• (post-burn portion of a large testing facility)
• Processing and setup times were derived
from data in the actual facility
Semiconductor Problems
Reentrant Flowshop Scheduling
Data Sets
• Problems from Ovacik and Uzsoy
• Description
• Semiconductor testing facility
• A number of testing workcenter and a brand
workcenter
• (post-burn portion of a large testing facility)
• Processing and setup times were derived from
data in the actual facility
• Reentrant (jobs reenter the facility)
Reentrant Flowshop Results
Results
• Type of problems Better solution Found
• Classical Problems 958 / 960
• Semiconductor Problems 1311 / 1920
• Reentrant Flowshop Prob. 1785 / 1800
Brucker and Thiele Problems
• We compare with
- Brucker and Thiele’s method: Branch
and bound method
- Focacci, Laborie Nuijten: A method
based on Constrained programming
- Buscaylet and Artigues: A tabu seacrh
method
Brucker and Thiele Problems
• Problem Size Best Known SB-GLS
t2-ps01 10x5 798(opt) 815(1.9)
t2-ps03 10x5 749(opt) 771(1.8)
t2-ps05 10x5 691(opt) 693(1.2)
t2-ps12 20x5 1448 1369(41)
t2-ps13 20x5 1575 1439(68)
t2-pss12 20x5 1359 1305(49)
t2-pss13 20x5 1463 1409(55)
• 360Mhz processor.
Randomized Local Search
• Apply SB-RGLSh: Delete a number of
machines (randomly) and reintroduce
them using the shifting bottleneck
procedure
• Apply this procedure after SB-GLS for h
times (h = 10 In our case)
Randomized Shifting Bottleneck
• Original SBP:
• Step 1. Identify a bottleneck machine m among the machines k in M\ M0. Set
M0= M0U{m} and go to 2
Randomized SBP
Select randomly machine k in M\ M0. Set
M0= M0U{m} and go to 2
Brucker and Thiele Problems
• Randomized Local Search finds better solutions but is computationally expensive.
Problem Size Best Known SB-GLS SB-RGLS t2-ps01 10x5 798(opt) 815(1.9) 798(358) t2-ps03 10x5 749(opt) 771(1.8) 749(834) t2-ps05 10x5 691(opt) 693(1.2) 693(248) t2-ps12 20x5 1448 1369(41) 1305(2173) t2-ps13 20x5 1575 1439(68) 1439(2468) t2-pss12 20x5 1359 1305(49) 1290(2062) t2-pss13 20x5 1463 1409(55) 1398(1875)
• 360Mhz processor.
Brucker and Thiele Problems
Conclusions
• A new Shifting Bottleneck Procedure for
the Jobshop Scheduling problem with
Setup
• Tested in several large sets of problems
and has provided new upper bounds for
several problems