38
Job Shop Scheduling with Setup Times, Deadlines and Precedence Constraints Universite Paris-Dauphine Alkis Vazacopoulos **Joint work with Egon Balas and Neil Simonetti

Job Shop Scheduling with Setup Times Release times and Deadlines

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Job Shop Scheduling with Setup Times  Release times and Deadlines

Job Shop Scheduling with Setup Times,

Deadlines and Precedence Constraints

Universite Paris-Dauphine

Alkis Vazacopoulos

**Joint work with Egon Balas and Neil Simonetti

Page 2: Job Shop Scheduling with Setup Times  Release times and Deadlines

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

Page 3: Job Shop Scheduling with Setup Times  Release times and Deadlines

1

2 3 4

5 6 7

8 9

10

JOB 1

JOB 2

JOB 3

Job Shop Scheduling

Oper

ation

Page 4: Job Shop Scheduling with Setup Times  Release times and Deadlines

Job Shop Scheduling Problem

1

2 3 4

5 6 7

8 9

10

11

Disjunction

Machines

d2+c2,10

d10+c10,2

Page 5: Job Shop Scheduling with Setup Times  Release times and Deadlines

Job Shop Scheduling Problem

1

2 3 4

5 6 7

8 9

10

11

d5 + c53

Page 6: Job Shop Scheduling with Setup Times  Release times and Deadlines

Job Shop Scheduling

1

2 3 4

5 6 7

8 9

10

11

Acyclic

Longest Path

Critical

Path

Page 7: Job Shop Scheduling with Setup Times  Release times and Deadlines

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)

Page 8: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 9: Job Shop Scheduling with Setup Times  Release times and Deadlines

Shifting Bottleneck

1

2 3 4

5 6 7

8 9

10

11

Find Bottleneck

Machine

Page 10: Job Shop Scheduling with Setup Times  Release times and Deadlines

One Machine Problem

1

2

6 7

10

11

Page 11: Job Shop Scheduling with Setup Times  Release times and Deadlines

Shifting Bottleneck

1

2 3 4

5 6 7

8 9

10

11

Bottleneck

Page 12: Job Shop Scheduling with Setup Times  Release times and Deadlines

Shifting Bottleneck

1

2 3 4

5 6 7

8 9

10

11

Bottleneck

Page 13: Job Shop Scheduling with Setup Times  Release times and Deadlines

Shifting Bottleneck

1

2 3 4

5 6 7

8 9

10

11

Bottleneck

Page 14: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 15: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 16: Job Shop Scheduling with Setup Times  Release times and Deadlines

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)

Page 17: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 18: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 19: Job Shop Scheduling with Setup Times  Release times and Deadlines

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?

Page 20: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 21: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 22: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 23: Job Shop Scheduling with Setup Times  Release times and Deadlines

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)

Page 24: Job Shop Scheduling with Setup Times  Release times and Deadlines

Adding Guided Local Search

• After the reoptimization phase we apply

Guided Local Search procedure (Balas

and Vazacopoulos

• (modified for our problem)

Page 25: Job Shop Scheduling with Setup Times  Release times and Deadlines

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)

Page 26: Job Shop Scheduling with Setup Times  Release times and Deadlines

Classical Jobshop Problems

Page 27: Job Shop Scheduling with Setup Times  Release times and Deadlines

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

Page 28: Job Shop Scheduling with Setup Times  Release times and Deadlines

Semiconductor Problems

Page 29: Job Shop Scheduling with Setup Times  Release times and Deadlines

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)

Page 30: Job Shop Scheduling with Setup Times  Release times and Deadlines

Reentrant Flowshop Results

Page 31: Job Shop Scheduling with Setup Times  Release times and Deadlines

Results

• Type of problems Better solution Found

• Classical Problems 958 / 960

• Semiconductor Problems 1311 / 1920

• Reentrant Flowshop Prob. 1785 / 1800

Page 32: Job Shop Scheduling with Setup Times  Release times and Deadlines

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

Page 33: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 34: Job Shop Scheduling with Setup Times  Release times and Deadlines

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)

Page 35: Job Shop Scheduling with Setup Times  Release times and Deadlines

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

Page 36: Job Shop Scheduling with Setup Times  Release times and Deadlines

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.

Page 37: Job Shop Scheduling with Setup Times  Release times and Deadlines

Brucker and Thiele Problems

Page 38: Job Shop Scheduling with Setup Times  Release times and Deadlines

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