Job Shop Scheduling with Setup Times Release times and Deadlines

Post on 14-Dec-2014

636 views 0 download

description

 

transcript

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