Scheduling and Timetabling, Lecture 14 Han Hoogeveen, Utrecht - - PowerPoint PPT Presentation

scheduling and timetabling lecture 14 han hoogeveen
SMART_READER_LITE
LIVE PREVIEW

Scheduling and Timetabling, Lecture 14 Han Hoogeveen, Utrecht - - PowerPoint PPT Presentation

Scheduling and Timetabling, Lecture 14 Han Hoogeveen, Utrecht University 1 Description Parallel machine scheduling: each job is executed by exactly one machine, and you can choose which one. Shop scheduling: each job is divided in several


slide-1
SLIDE 1

Scheduling and Timetabling, Lecture 14 Han Hoogeveen, Utrecht University

1

slide-2
SLIDE 2

Description

Parallel machine scheduling: each job is executed by exactly

  • ne machine, and you can choose which one.

Shop scheduling: each job is divided in several operations. Each operation must be executed by a prespecified machine (conveyor belt). The operations are never allowed to overlap in their execution. Depending on the type of model, the order in which the

  • perations are executed can be either fixed (job shop, flow

shop) or free to choose (open shop).

2

slide-3
SLIDE 3

Open shop

Notation in the α|β|γ notation: O in the α field. There are n jobs to be scheduled. Each job consists of a number of operations (usually one operation per machine); the ith operation of job j is denoted by Oij and its processing time by pij. Each operation must be executed by a prespecified machine, which is assumed to be continuously available from time zero

  • nwards.

You can choose in which order to process the operations, but the operations are not allowed to overlap in their execution. All non-preemptive open shop problems are NP-hard, except for O2||Cmax.

3

slide-4
SLIDE 4

Gonzalez & Sahni’s algorithm for O2||Cmax

Lower bounds: ?? Gonzalez-Sahni’s algorithm constructs a schedule with makespan equal to the lower bound in O(n) time.

4

slide-5
SLIDE 5

Gonzalez & Sahni’s algorithm for O2||Cmax

Lower bounds: total processing time on machine 1, total processing time on machine 2, length of the longest job. Main problem to find a schedule with makespan equal to the lower bound: the two operations of the same job should not

  • verlap.

Trivial if the length of the longest job equals the makespan. Suppose that this is not the case.

5

slide-6
SLIDE 6

Gonzalez & Sahni’s algorithm for O2||Cmax

Partition the jobs in two classes:

Class A contains the jobs with p1j ≥ p2j. Class B contains the jobs with p1j < p2j.

Choose any two distinct jobs Jl and Jr such that p1r ≥ max

Jj∈A p2j

and p2l ≥ max

Jj∈B p1j

Define A′ = A \ {Jl, Jr} and B′ = B \ {Jl, Jr}.

6

slide-7
SLIDE 7

Gonzalez & Sahni’s algorithm for O2||Cmax

Assume (the other case is comparable) that

n

  • j=1

p1j − p1l ≥

n

  • j=1

p2j − p2r Construct a feasible schedule as follows:

M1 first executes Jl, then all jobs from B′ in any order, then all jobs from A′ in any order, and finally job Jr. M2 executes Jr, Jl, then the jobs from B′ and finally the jobs from A′

The execution intervals are as follows:

If p1r + p2r ≤ p2j, then both machines process the jobs contiguously (not necessarily starting at time zero) such that

  • n both machines the last operation ends at time

max{ p1j, p2j}. If p1r + p2r > p2j, then M1 and M2 execute the jobs in the interval [0, p1j] and [ p1j − p1r − p2r, p1j].

7

slide-8
SLIDE 8

Flow shop

Notation in the α|β|γ notation: F in the α field. There are n jobs, and each job consists of m operations. The ith (i = 1, . . . , m) operation of job j (j = 1, . . . , n) must be executed by machine Mi (i = 1, . . . , m). The order in which the operations must be executed is given. Hence, the jobs flow through the machines in the same order (conveyor belt). All problems with general processing times pij are NP-hard in the strong sense, except for F2||Cmax, which was solved in 1954 by Johnson. In case of the proportionate flow shop problem pij = pj for all j = 1, . . . , n. The problems become polynomially solvable then.

8

slide-9
SLIDE 9

Permutation flow shop

There exists an optimal schedule in which the first two machines execute the jobs in the same order, irrespective of the objective function. If you want to minimize the makespan, then there exists an

  • ptimal schedule in which the first three machines execute the

jobs in the same order. Special case: the permutation flow shop, in which all machines execute the jobs in the same order. Adding the constraint that the jobs must be executed in the same order on all machines generally leads to a worse solution. In case of for example the proportionate flow shop problem the optimal solution is a permutation flow shop.

9

slide-10
SLIDE 10

Bad instance for a permutation flow shop

There are 4 machines and two jobs J1 has processing times (1, 3, 3, 1); J2 has (3, 1, 1, 3) Optimum solution: J1 → J2 on machines M1 and M2; J2 → J1 on machines M3 and M4. This schedule has makespan 10: J2 is processed without idle time, with the first and fourth operation of J1 around it. The permutation schedule J1 → J2 has makespan 11: job J1 is processed without idle time, but after that the fourth

  • peration of J2 has to be processed.

The same holds for the permutation schedule J2 → J1: here J1 must wait for the first operation of J2 to get started.

10

slide-11
SLIDE 11

Johnson’s algorithm for F2||Cmax

Characteristic:

The machines execute the jobs in the same order. There is no idle time on the first machine. You can shift back all jobs on the second machine, such that these are processed contiguously. The (last) job for which C1j = S2j is called the pivot.

If you renumber the jobs according to the order in which they appear in the schedule, and if job q is the pivot, then Cmax =

q

  • j=1

p1j +

n

  • j=q

p2j What would you do with a job j with p1j = 0? And what with a job j with p2j = 0?

11

slide-12
SLIDE 12

Johnson’s algorithm for F2||Cmax

Partition the jobs in two classes:

Class 1 contains the jobs with p1j ≤ p2j. Class 2 contains the jobs with p1j > p2j.

The optimal schedule executes first all jobs from Class 1 in

  • rder of non-decreasing p1j value and then all jobs from Class

2 in order of non-increasing p2j. Running time: O(n log n) time. Argument why this solution is optimal:

A job with p1j = 0 is best put first A job with p2j = 0 is best put last If there is no such job, then reduce all processing times by pmin; this changes the objective value by a constant.

12

slide-13
SLIDE 13

Definition job shop problem

We are given: m machines M1, . . . , Mm; n jobs J1, . . . , Jn with l operations O1, . . . , Ol. For each operation Ov we are given: its processing time pv; the machine that executes Ov; the job Ov belongs to. The order of the operations in job j is given.

13

slide-14
SLIDE 14

Definition continued

Machine assumptions: Continuously available from time 0; At most one operation at a time. Goal: minimize completion time last job (maximize machine utilization)

14

slide-15
SLIDE 15

Example instance

✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞

7 8 5 6 1 2 3 4

✲ ✲ ✲ ✲ ✲

J3 J2 J1 Ov 1 2 3 4 5 6 7 8 pv 6 4 2 3 7 5 5 8 Mv 1 2 3 2 3 2 3 1

15

slide-16
SLIDE 16

Example schedule

M3 M2 M1 5 3 7 2 4 6 1 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

16

slide-17
SLIDE 17

Disjunctive graph

Construct a graph with vertices O1, . . . , Ol; arcs (Oi, Oj) if Oi − → Oj in some job; edges (Oi, Oj) if Oi and Oj are executed by the same machine.

✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞

7 8 5 6 1 2 3 4

✲ ✲ ✲ ✲ ✲ ❅ ❅ ❅ ❅ ❅ ❅ ❅ ✘✘✘✘✘✘✘✘✘✘✘✘✘ ✘ ✘✘✘✘✘✘✘✘✘✘✘✘✘ ✘

J3 J2 J1

17

slide-18
SLIDE 18

Example continued

✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞

7 8 5 6 1 2 3 4

✲ ✲ ✲ ✲ ✲ ❅ ❅ ❅ ❅ ❅ ❅ ❅ ✘✘✘✘✘✘✘✘✘✘✘✘✘ ✘ ✘✘✘✘✘✘✘✘✘✘✘✘✘ ✘

J3 J2 J1 Direct the undirected edges such that: O1 → O8 (defining the order on M1) O2 → O6, O4 → O6 (M2) O5 → O7, O5 → O3, O3 → O7 (M3). = ⇒ previous schedule.

18

slide-19
SLIDE 19

Adjusting the schedule

✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞

7 8 5 6 1 2 3 4

✲ ✲ ✲ ✲ ✲ ❅ ❅ ❅ ❅ ❅ ❅ ❅ ✘✘✘✘✘✘✘✘✘✘✘✘✘ ✘ ✘✘✘✘✘✘✘✘✘✘✘✘✘ ✘

J3 J2 J1 Direct the undirected edges such that: O1 → O8 (defining the order on M1) O2 → O6, O4 → O6 (M2) O5 → O7, O5 → O3, O7 → O3 (M3; the order of operations O3 and O7 has been reversed).

19

slide-20
SLIDE 20

Adjusted schedule

M3 M2 M1 5 3 7 2 4 6 1 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 M3 M2 M1 5 7 3 2 4 6 1 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20

slide-21
SLIDE 21

Next adjustment

✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞ ✍✌ ✎☞

7 8 5 6 1 2 3 4

✲ ✲ ✲ ✲ ✲ ❅ ❅ ❅ ❅ ❅ ❅ ❅ ✘✘✘✘✘✘✘✘✘✘✘✘✘ ✘ ✘✘✘✘✘✘✘✘✘✘✘✘✘ ✘

J3 J2 J1 Direct the undirected edges such that: O1 → O8 (defining the order on M1) O2 → O6, O6 → O4 (M2; the order of operations O4 and O6 has been reversed) O5 → O7, O5 → O3, O7 → O3 (M3).

21

slide-22
SLIDE 22

Adjusted schedule

M3 M2 M1 5 7 3 2 4 6 1 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 M3 M2 M1 5 7 3 2 4 6 1 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 22

slide-23
SLIDE 23

Solution approach

Construct the disjunctive graph Direct the edges such that the graph becomes acyclic = ⇒ feasible schedule Compute the starting times and the longest path Apply local search approach Neighborhood: Reverse the order of two consecutive

  • perations executed by the same machine that are both on

the longest path; the graph remains acyclic then.

23

slide-24
SLIDE 24

More complicated situations

Change-over times Several product routings available.

24

slide-25
SLIDE 25

Branch-and-bound (1)

Branching rule? Lower bound?

25

slide-26
SLIDE 26

Branch-and-bound (2)

Branch on the order of the operations on a given machine. Head-body-tail lower bound based on 1|rj, qj|Dmax: minimize the maximum delivery time in case of release dates. This lower bound becomes stronger after branching!

26

slide-27
SLIDE 27

Example

M3 M2 M1 5 7 3 2 4 6 1 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 M3 M2 M1 5 7 3 2 4 6 1 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27

slide-28
SLIDE 28

Constraint Satisfaction

Constraint Satisfaction works with domains for the start times. Each time a decision problem of the form does there exist a feasible solution with Cmax ≤ y? is solved. Given the domains, you try to reduce the domains by deducting properties that a feasible solution must have or cannot possess. If you reduce a domain, then you try to propagate this knowledge. If you get stuck, then you branch. Here, you can branch on the order of the operations on a given machine.

28

slide-29
SLIDE 29

Notation

Consider a set of operations S ∪ {o} that all must be scheduled on the same machine. rj and ¯ dj denote the release date and deadline of operation j. r(S) denotes the minimum release date of the operations in S. p(S) denotes the total processing time of the operations in S. ¯ d(S) denotes the maximum deadline of the operations in S.

29

slide-30
SLIDE 30

Edge-finding

Suppose that ¯ d(S ∪ o) − r(S) < p(S) + po Or suppose that ¯ d(S) − r(S ∪ o) < p(S) + po Which conclusions can you draw?

30

slide-31
SLIDE 31

NFNL

Suppose that ¯ d(S) − ro < p(S) + po Or suppose that ¯ do − r(S) < p(S) + po Which conclusions can you draw?

31