No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and - - PowerPoint PPT Presentation

no idle no wait when shop scheduling meets dominoes
SMART_READER_LITE
LIVE PREVIEW

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and - - PowerPoint PPT Presentation

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and Hamiltonian Paths J.C. Billaut 1 , F.Della Croce 2 , Fabio Salassa 2 , V. Tkindt 1 1 . Universit e Francois-Rabelais, CNRS, Tours, France 2 . Politecnico di Torino, Torino,


slide-1
SLIDE 1

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and Hamiltonian Paths

J.C. Billaut1, F.Della Croce2, Fabio Salassa2, V. T’kindt1

  • 1. Universit´

e Francois-Rabelais, CNRS, Tours, France

  • 2. Politecnico di Torino, Torino, Italy

Monash University

Melbourne, February 19th, 2018

1 / 72

slide-2
SLIDE 2

Flow Shop Scheduling

2 / 72

slide-3
SLIDE 3

Flow Shop Scheduling

◮ There are m machines and n jobs.

3 / 72

slide-4
SLIDE 4

Flow Shop Scheduling

◮ There are m machines and n jobs. ◮ Each job contains exactly m operations.

4 / 72

slide-5
SLIDE 5

Flow Shop Scheduling

◮ There are m machines and n jobs. ◮ Each job contains exactly m operations. ◮ For each operation of each job a processing time is specified.

5 / 72

slide-6
SLIDE 6

Flow Shop Scheduling

◮ There are m machines and n jobs. ◮ Each job contains exactly m operations. ◮ For each operation of each job a processing time is specified. ◮ No machine can perform more than one operation

simultaneously.

6 / 72

slide-7
SLIDE 7

Flow Shop Scheduling

◮ There are m machines and n jobs. ◮ Each job contains exactly m operations. ◮ For each operation of each job a processing time is specified. ◮ No machine can perform more than one operation

simultaneously.

◮ Operations cannot be interrupted (no preemption).

7 / 72

slide-8
SLIDE 8

Flow Shop Scheduling

◮ Operations within one job must be performed in the specified

  • rder.

8 / 72

slide-9
SLIDE 9

Flow Shop Scheduling

◮ Operations within one job must be performed in the specified

  • rder.

◮ The first operation gets executed on the first machine, then

(as the first operation is finished) the second operation on the second machine, and so until the m-th operation.

9 / 72

slide-10
SLIDE 10

Flow Shop Scheduling

◮ Operations within one job must be performed in the specified

  • rder.

◮ The first operation gets executed on the first machine, then

(as the first operation is finished) the second operation on the second machine, and so until the m-th operation.

◮ Jobs can be executed in any order.

10 / 72

slide-11
SLIDE 11

Flow Shop Scheduling

◮ Operations within one job must be performed in the specified

  • rder.

◮ The first operation gets executed on the first machine, then

(as the first operation is finished) the second operation on the second machine, and so until the m-th operation.

◮ Jobs can be executed in any order. ◮ The problem is to determine an optimal arrangement of

jobs.

11 / 72

slide-12
SLIDE 12

Flow Shop Scheduling – Example

j J1 J2 J3 J4 p1,j 2 4 5 1 p2,j 3 4 2 1 p3,j 4 2 1 1 Time Machine Makespan p14 p11 p12 p13 p21 p22 p23 p24 p31 p32 p33 p34 M1 M2 M3

12 / 72

slide-13
SLIDE 13

Problem Description

13 / 72

slide-14
SLIDE 14

Problem Description

◮ We consider flow shop scheduling problems with (machine)

no-idle, (job) no-wait constraints and makespan as objective.

14 / 72

slide-15
SLIDE 15

Problem Description

◮ We consider flow shop scheduling problems with (machine)

no-idle, (job) no-wait constraints and makespan as objective.

◮ Machine no-idle constraint: use of very expensive

equipment with the fee determined by the actual time consumption.

15 / 72

slide-16
SLIDE 16

Problem Description

◮ We consider flow shop scheduling problems with (machine)

no-idle, (job) no-wait constraints and makespan as objective.

◮ Machine no-idle constraint: use of very expensive

equipment with the fee determined by the actual time consumption.

◮ Job no-wait constraint: in metal-processing industries (e.g.,

hot rolling) where delays between operations interfere with the technological process (e.g., cooling down).

16 / 72

slide-17
SLIDE 17

Problem Description

◮ We consider flow shop scheduling problems with (machine)

no-idle, (job) no-wait constraints and makespan as objective.

◮ Machine no-idle constraint: use of very expensive

equipment with the fee determined by the actual time consumption.

◮ Job no-wait constraint: in metal-processing industries (e.g.,

hot rolling) where delays between operations interfere with the technological process (e.g., cooling down).

◮ We focus on problem F2| no-idle, no-wait |Cmax.

17 / 72

slide-18
SLIDE 18

Literature

◮ Problem F2||Cmax (Johnson rule O(nlogn)) ∈ P.

18 / 72

slide-19
SLIDE 19

Literature

◮ Problem F2||Cmax (Johnson rule O(nlogn)) ∈ P. ◮ Problem F2| no-idle |Cmax (trivially packing the jobs on the

second machine to the right from Johnson’s schedule) ∈ P.

19 / 72

slide-20
SLIDE 20

Literature

◮ Problem F2||Cmax (Johnson rule O(nlogn)) ∈ P. ◮ Problem F2| no-idle |Cmax (trivially packing the jobs on the

second machine to the right from Johnson’s schedule) ∈ P.

◮ Problem F2| no-wait |Cmax (special case of Gilmore-Gomory

TSP) ∈ P.

20 / 72

slide-21
SLIDE 21

Literature

◮ Problem F2||Cmax (Johnson rule O(nlogn)) ∈ P. ◮ Problem F2| no-idle |Cmax (trivially packing the jobs on the

second machine to the right from Johnson’s schedule) ∈ P.

◮ Problem F2| no-wait |Cmax (special case of Gilmore-Gomory

TSP) ∈ P.

◮ Problem F3||Cmax is NP-hard.

21 / 72

slide-22
SLIDE 22

Literature

◮ Problem F2| no-wait |G (minimizing the number of

interruptions on the last machine in a 2-machine no-wait flow shop) is solvable in O(n2) time (Hohn et al. 2012).

22 / 72

slide-23
SLIDE 23

Literature

◮ Problem F2| no-wait |G (minimizing the number of

interruptions on the last machine in a 2-machine no-wait flow shop) is solvable in O(n2) time (Hohn et al. 2012).

◮ Problem F3| no-wait |G is NP-hard. (Hohn et al. 2012).

23 / 72

slide-24
SLIDE 24

Literature

◮ Problem F2| no-wait |G (minimizing the number of

interruptions on the last machine in a 2-machine no-wait flow shop) is solvable in O(n2) time (Hohn et al. 2012).

◮ Problem F3| no-wait |G is NP-hard. (Hohn et al. 2012). ◮ Problems F2|| Cj, F2| no-wait | Cj, F2| no-idle | Cj,

F2| no-idle, no-wait | Cj are NP-hard (Adiri and Pohoryles 1982).

24 / 72

slide-25
SLIDE 25

F2| no-idle, no-wait |Cmax

25 / 72

slide-26
SLIDE 26

F2| no-idle, no-wait |Cmax

◮ Two Machines M1, M2.

26 / 72

slide-27
SLIDE 27

F2| no-idle, no-wait |Cmax

◮ Two Machines M1, M2. ◮ Flow Shop environment.

27 / 72

slide-28
SLIDE 28

F2| no-idle, no-wait |Cmax

◮ Two Machines M1, M2. ◮ Flow Shop environment. ◮ n jobs 1, 2, . . . , n with processing times p1j and p2j.

28 / 72

slide-29
SLIDE 29

F2| no-idle, no-wait |Cmax

◮ Two Machines M1, M2. ◮ Flow Shop environment. ◮ n jobs 1, 2, . . . , n with processing times p1j and p2j. ◮ No-idle time is allowed (both machines M1, M2 must work

continuously).

29 / 72

slide-30
SLIDE 30

F2| no-idle, no-wait |Cmax

◮ Two Machines M1, M2. ◮ Flow Shop environment. ◮ n jobs 1, 2, . . . , n with processing times p1j and p2j. ◮ No-idle time is allowed (both machines M1, M2 must work

continuously).

◮ No-wait discipline (no buffer — each job must start on M2

right after its completion on M1).

30 / 72

slide-31
SLIDE 31

F2| no-idle, no-wait |Cmax

◮ Two Machines M1, M2. ◮ Flow Shop environment. ◮ n jobs 1, 2, . . . , n with processing times p1j and p2j. ◮ No-idle time is allowed (both machines M1, M2 must work

continuously).

◮ No-wait discipline (no buffer — each job must start on M2

right after its completion on M1).

◮ Makespan (i.e. total time that elapses from the beginning to

the end) objective.

31 / 72

slide-32
SLIDE 32

F2| no-idle, no-wait |Cmax

◮ The no-idle, no-wait constraint is a very strong requirement.

Machine p1[1] p1[2] p1[3] p14 p2[1] p2[2] p2[3] p2[4] M1 M2 C1[1] C1[2] C1[3] C1[4] C2[1] C2[2] C2[3] C2[4]

◮ pi[j] denotes the processing time of the j-th job of a sequence

σ on machine Mi.

◮ Ci[j] denotes the completion time of the j-th job of a sequence

σ on machine Mi.

32 / 72

slide-33
SLIDE 33

F2| no-idle, no-wait |Cmax

Lemma (1)

(C1) A necessary condition to have a feasible solution for problem F2|no − idle, no − wait|Cmax is that there always exists an indexing of the jobs so that p1,2, ...p1,n and p2,1, ..., p2,n−1 constitute different permutations of the same vector of elements.

33 / 72

slide-34
SLIDE 34

F2| no-idle, no-wait |Cmax

Lemma (1)

(C1) A necessary condition to have a feasible solution for problem F2|no − idle, no − wait|Cmax is that there always exists an indexing of the jobs so that p1,2, ...p1,n and p2,1, ..., p2,n−1 constitute different permutations of the same vector of elements. j J1 J2 J3 J4 J5 p1,j 5 8 7 6 7 p2,j 8 5 6 7 7

34 / 72

slide-35
SLIDE 35

F2| no-idle, no-wait |Cmax

Lemma (1)

(C1) A necessary condition to have a feasible solution for problem F2|no − idle, no − wait|Cmax is that there always exists an indexing of the jobs so that p1,2, ...p1,n and p2,1, ..., p2,n−1 constitute different permutations of the same vector of elements.

35 / 72

slide-36
SLIDE 36

F2| no-idle, no-wait |Cmax

Lemma (1)

(C1) A necessary condition to have a feasible solution for problem F2|no − idle, no − wait|Cmax is that there always exists an indexing of the jobs so that p1,2, ...p1,n and p2,1, ..., p2,n−1 constitute different permutations of the same vector of elements. (C2) When the above condition (C1) holds, then

Case 1 if p1,1 = p2,n, every feasible sequence must have a job with processing time p1,1 in first position and a job with processing time p2,n in last position. Case 2 if p1,1 = p2,n and there exists a feasible sequence, then there do exist at least n feasible sequences each starting with a different job by simply rotating the starting sequence as in a cycle.

36 / 72

slide-37
SLIDE 37

F2| no-idle, no-wait |Cmax

Lemma (2)

The makespan of any feasible sequence σ is given by the processing time of the last (first) job on the second (first) machine plus the sum of jobs processing times on the first (second) machine.

Machine p1[1] p1[2] p1[3] p14 p2[1] p2[2] p2[3] p2[4] M1 M2 C1[1] C1[2] C1[3] C1[4] C2[1] C2[2] C2[3] C2[4]

37 / 72

slide-38
SLIDE 38

F2| no-idle, no-wait |Cmax

Lemma (2)

The makespan of any feasible sequence σ is given by the processing time of the last (first) job on the second (first) machine plus the sum of jobs processing times on the first (second) machine.

Machine p1[1] p1[2] p1[3] p14 p2[1] p2[2] p2[3] p2[4] M1 M2 C1[1] C1[2] C1[3] C1[4] C2[1] C2[2] C2[3] C2[4]

38 / 72

slide-39
SLIDE 39

F2| no-idle, no-wait |Cmax: an example

A 9-job instance of problem F2|no − idle, no − wait|Cmax. j J1 J2 J3 J4 J5 J6 J7 J8 J9 p1,j 5 3 4 6 1 5 3 2 4 p2,j 3 4 6 1 5 3 2 4 5

39 / 72

slide-40
SLIDE 40

F2| no-idle, no-wait |Cmax: an example

A 9-job instance of problem F2|no − idle, no − wait|Cmax. j J1 J2 J3 J4 J5 J6 J7 J8 J9 p1,j 5 3 4 6 1 5 3 2 4 p2,j 3 4 6 1 5 3 2 4 5 and the corresponding optimal solution Cmax = 34

p16 p17 p18 p19 p11 p12 p13 p14 p25 p26 p27 p28 p29 p21 p22 p23 M1 M2

4 8 12 16 20 24 28 32

34 p15 p24

40 / 72

slide-41
SLIDE 41

F2| no-idle, no-wait |Cmax

◮ Due to Lemma 1 and F2|no − idle, no − wait|G problem, the

  • ptimal solution can be calculated in O(n2) time...

41 / 72

slide-42
SLIDE 42

F2| no-idle, no-wait |Cmax

◮ Due to Lemma 1 and F2|no − idle, no − wait|G problem, the

  • ptimal solution can be calculated in O(n2) time...

...but...

42 / 72

slide-43
SLIDE 43

F2| no-idle, no-wait |Cmax

◮ Due to Lemma 1 and F2|no − idle, no − wait|G problem, the

  • ptimal solution can be calculated in O(n2) time...

...but...

◮ ...we decided to link the problem to the game of dominoes

43 / 72

slide-44
SLIDE 44

Dominoes

◮ The Single Player Domino (SPD) problem (where a single

player tries to lay down all dominoes in a chain with the numbers matching at each adjacency) is polynomially solvable: it can be seen as a eulerian path problem on an undirected multigraph.

44 / 72

slide-45
SLIDE 45

Dominoes

◮ The Single Player Domino (SPD) problem (where a single

player tries to lay down all dominoes in a chain with the numbers matching at each adjacency) is polynomially solvable: it can be seen as a eulerian path problem on an undirected multigraph.

◮ Here, we refer to the oriented version of SPD called OSPD

where all dominoes have an orientation (given a tile with numbers i and j, only the orientation i → j is allowed but not viceversa).

45 / 72

slide-46
SLIDE 46

Dominoes

◮ The Single Player Domino (SPD) problem (where a single

player tries to lay down all dominoes in a chain with the numbers matching at each adjacency) is polynomially solvable: it can be seen as a eulerian path problem on an undirected multigraph.

◮ Here, we refer to the oriented version of SPD called OSPD

where all dominoes have an orientation (given a tile with numbers i and j, only the orientation i → j is allowed but not viceversa).

◮ Problem OSPD is polynomially solvable (can be seen as a

eulerian path problem on a directed multigraph).

46 / 72

slide-47
SLIDE 47

Problem F2|no − idle, no − wait|Cmax vs OSPD

Proposition

F2|no − idle, no − wait|Cmax ∝ OSPD.

47 / 72

slide-48
SLIDE 48

Problem F2|no − idle, no − wait|Cmax vs OSPD

Proposition

F2|no − idle, no − wait|Cmax ∝ OSPD.

Proof.

By generating for each job Jj a related domino tile {p1,j, p2,j}, any complete sequence of oriented dominoes in OSPD corresponds to a feasible sequence for F2|no − idle, no − wait|Cmax. Then, due to Lemma 1, the jobs processing times either respect case 1 or case 2

  • f condition C2.

48 / 72

slide-49
SLIDE 49

An example

A 9-job instance of problem F2|no − idle, no − wait|Cmax. i J1 J2 J3 J4 J5 J6 J7 J8 J9 p1,j 5 3 4 6 1 5 3 2 4 p2,j 3 4 6 1 5 3 2 4 5 and the corresponding dominoes of the related OSPD problem

J9 J8 J7 J6 J5 J4 J3 J2 J1

49 / 72

slide-50
SLIDE 50

An example

A 9-job instance of problem F2|no − idle, no − wait|Cmax. j J1 J2 J3 J4 J5 J6 J7 J8 J9 p1,j 5 3 4 6 1 5 3 2 4 p2,j 3 4 6 1 5 3 2 4 5 and the corresponding OSPD solution

J8 J7 J6 J2 J3 J4 J9 J1 J5

50 / 72

slide-51
SLIDE 51

An example

A 9-job instance of problem F2|no − idle, no − wait|Cmax. i J1 J2 J3 J4 J5 J6 J7 J8 J9 p1,i 5 3 4 6 1 5 3 2 4 p2,i 3 4 6 1 5 3 2 4 5 and the corresponding oriented multigraph

1 2 3 4 5 6 J1 J2 J3 J4 J5 J6 J7 J8 J9

51 / 72

slide-52
SLIDE 52

Complexity of F2| no-idle, no-wait |Cmax

Proposition

Problem F2|no − idle, no − wait|Cmax can be solved in O(n) time.

52 / 72

slide-53
SLIDE 53

Complexity of F2| no-idle, no-wait |Cmax

Proposition

Problem F2|no − idle, no − wait|Cmax can be solved in O(n) time.

Proof.

[Sketch]: The generation of the oriented multigraph can be done in linear time and the graph has O(n) arcs. Besides, it is known (Fleischner 1991) that computing an Eulerian path in an oriented graph with n arcs can be done in O(n) time.

53 / 72

slide-54
SLIDE 54

F2| no-idle, no-wait |Cmax vs the Hamiltonian Path problem

◮ Problem F2|no − idle, no − wait|Cmax is also linked to a

special case of the Hamiltonian Path problem on a connected digraph.

54 / 72

slide-55
SLIDE 55

F2| no-idle, no-wait |Cmax vs the Hamiltonian Path problem

◮ Problem F2|no − idle, no − wait|Cmax is also linked to a

special case of the Hamiltonian Path problem on a connected digraph.

◮ Consider a digraph G(V , A) that has the following property:

∀vi, vj ∈ V , either Si ∩ Sj = ∅, or Si = Sj where we denote by Si the set of successors of vertex vi.

55 / 72

slide-56
SLIDE 56

F2| no-idle, no-wait |Cmax vs the Hamiltonian Path problem

◮ Problem F2|no − idle, no − wait|Cmax is also linked to a

special case of the Hamiltonian Path problem on a connected digraph.

◮ Consider a digraph G(V , A) that has the following property:

∀vi, vj ∈ V , either Si ∩ Sj = ∅, or Si = Sj where we denote by Si the set of successors of vertex vi.

◮ In other words, each pair of vertices either has no common

successors or has all successors in common.

56 / 72

slide-57
SLIDE 57

F2| no-idle, no-wait |Cmax vs the Hamiltonian Path problem

◮ Problem F2|no − idle, no − wait|Cmax is also linked to a

special case of the Hamiltonian Path problem on a connected digraph.

◮ Consider a digraph G(V , A) that has the following property:

∀vi, vj ∈ V , either Si ∩ Sj = ∅, or Si = Sj where we denote by Si the set of successors of vertex vi.

◮ In other words, each pair of vertices either has no common

successors or has all successors in common.

◮ We denote the Hamiltonian path problem in that graph as the

Common/Distinct Successors Hamiltonian Oriented Path (CDSHOP∗) problem.

57 / 72

slide-58
SLIDE 58

F2| no-idle, no-wait |Cmax vs the Hamiltonian Path problem

◮ F2|no − idle, no − wait|Cmax ∝ CDSHOP easily holds. ◮ The CDSHOP problem corresponding to the considered F2|

no-idle, no-wait |Cmax instance.

i p1,i p2,i J1 5 3 J2 3 4 J3 4 6 J4 6 1 J5 1 5 J6 5 3 J7 3 2 J8 2 4 J9 4 5

5,3

J1

4,5

J9

3,4 J2 2,4

J8

4,6

J3

3,2

J7

6,1 J4 5,3

J6

1,5

J5

58 / 72

slide-59
SLIDE 59

Complexity of CDSHOP

Proposition

CDSHOP ∝ F2|no − idle, no − wait|Cmax, hence, CDSHOP ∈ P.

59 / 72

slide-60
SLIDE 60

Complexity of CDSHOP

Proposition

CDSHOP ∝ F2|no − idle, no − wait|Cmax, hence, CDSHOP ∈ P.

Proof.

[Sketch]:

◮ For any instance of CDSHOP with n vertices, we generate an

instance of F2|no − idle, no − wait|Cmax with n jobs where, if there is an arc from vi to vj, then, we have p2,i = p1,j.

60 / 72

slide-61
SLIDE 61

Complexity of CDSHOP

Proposition

CDSHOP ∝ F2|no − idle, no − wait|Cmax, hence, CDSHOP ∈ P.

Proof.

[Sketch]:

◮ For any instance of CDSHOP with n vertices, we generate an

instance of F2|no − idle, no − wait|Cmax with n jobs where, if there is an arc from vi to vj, then, we have p2,i = p1,j.

◮ If a feasible sequence of F2|no − idle, no − wait|Cmax exists,

then, for each consecutive jobs Ji, Jj with Ji → Jj, p2,i = p1,j

  • holds. Hence, there is an arc from vi to vj. Thus, the

corresponding sequence of vertices in CDSHOP constitutes an hamiltonian directed path.

61 / 72

slide-62
SLIDE 62

Complexity of CDSHOP

Proposition

CDSHOP ∝ F2|no − idle, no − wait|Cmax, hence, CDSHOP ∈ P.

Proof.

[Sketch]:

◮ For any instance of CDSHOP with n vertices, we generate an

instance of F2|no − idle, no − wait|Cmax with n jobs where, if there is an arc from vi to vj, then, we have p2,i = p1,j.

◮ If a feasible sequence of F2|no − idle, no − wait|Cmax exists,

then, for each consecutive jobs Ji, Jj with Ji → Jj, p2,i = p1,j

  • holds. Hence, there is an arc from vi to vj. Thus, the

corresponding sequence of vertices in CDSHOP constitutes an hamiltonian directed path.

◮ Conversely, if a path exists for CDSHOP, the related sequence

  • f jobs in F2|no − idle, no − wait|Cmax is also feasible.

62 / 72

slide-63
SLIDE 63

Problem F| no-idle, no-wait |Cmax

The no-idle, no-wait constraint on m machines.

63 / 72

slide-64
SLIDE 64

Problem F| no-idle, no-wait |Cmax

Lemma (3)

(C3) A necessary condition to have a feasible solution for problem F|no − idle, no − wait|Cmax is that there always exists an indexing of the jobs so that pj+1,1, ..., pj+1,n−1 and pj,2, ..., pj,n, for j = 1, ...m − 1, constitute different permutations of the same vector of elements.

64 / 72

slide-65
SLIDE 65

Problem F| no-idle, no-wait |Cmax

Lemma (3)

(C3) A necessary condition to have a feasible solution for problem F|no − idle, no − wait|Cmax is that there always exists an indexing of the jobs so that pj+1,1, ..., pj+1,n−1 and pj,2, ..., pj,n, for j = 1, ...m − 1, constitute different permutations of the same vector of elements. (C4) When the above condition (C3) holds, then

Case 1 if (p1,1 = p2,n or p2,1 = p3,n or ... or pm−1,1 = pm,n), every feasible sequence must have a job with processing times (p1,1, ..., pm−1,1) on machines 1 to (m − 1) in first position and a job with processing time (p2,n, ..., pm,n) on machines 2 to m in last position. Case 2 if (p1,1 = p2,n and p2,1 = p3,n and ... and pm−1,1 = pm,n) and there exists a feasible sequence, then there do exist at least n feasible sequences each starting with a different job by simply rotating the starting sequence as in a cycle.

65 / 72

slide-66
SLIDE 66

Problem F| no-idle, no-wait |Cmax

◮ We can evince that in an optimal sequence, if job Ji

immediately precedes job Jk, we have that pj+1,i = pj,k, ∀j = 1, ..., m − 1 holds.

◮ Then, for a feasible 3-job subsequence (ℓ, i, k) we must have:

  • 1. [p2,ℓ; ...; pm,ℓ] = [p1,i; ...; pm−1,i] and,
  • 2. [p2,i; ...; pm,i] = [p1,k; ...; pm−1,k].

This can be represented in terms of vectorial dominoes as follows.

66 / 72

slide-67
SLIDE 67

Problem F| no-idle, no-wait |Cmax: an example

As an example, a 3-job instance on 4 machines of problem F|no − idle, no − wait|Cmax. i J1 J2 J3 p1,i 5 3 4 p2,i 3 4 9 p3,i 4 9 7 p4,i 9 7 2 induces the following vectorial dominoes domino 1 → 5 3 4 3 4 9 domino 2 → 3 4 9 4 9 7 domino 3 → 4 9 7 9 7 2

67 / 72

slide-68
SLIDE 68

Problem F| no-idle, no-wait |Cmax

Proposition

Problem F|no − idle, no − wait|Cmax can be solved to optimality in O(mnlog(n)) time.

68 / 72

slide-69
SLIDE 69

Problem F| no-idle, no-wait |Cmax

Proposition

Problem F|no − idle, no − wait|Cmax can be solved to optimality in O(mnlog(n)) time.

Proof.

[Sketch]: The result can be proved by showing that any instance of the F|no − idle, no − wait|Cmax problem can be reduced in polynomial time to a vectorial OSPD that is always solved by computing an Eulerian path in an oriented graph with n arcs.

69 / 72

slide-70
SLIDE 70

Complexity of problems (J2, O2)| no-idle, no-wait |Cmax

◮ Job-shop (J) problem: operations of a job totally ordered ◮ Open-shop (O) problem: no ordering constraints on operations

Proposition

Problems J2|no − idle, no − wait|Cmax and O2|no − idle, no − wait|Cmax are NP-hard in the strong sense.

70 / 72

slide-71
SLIDE 71

Complexity of problems (J2, O2)| no-idle, no-wait |Cmax

◮ Job-shop (J) problem: operations of a job totally ordered ◮ Open-shop (O) problem: no ordering constraints on operations

Proposition

Problems J2|no − idle, no − wait|Cmax and O2|no − idle, no − wait|Cmax are NP-hard in the strong sense.

Proof.

[Sketch of proof for problem J2|no − idle, no − wait|Cmax]: We show that NMTS (Numerical Matching with Target Sums) reduces to J2|no − idle, no − wait|Cmax.

71 / 72

slide-72
SLIDE 72

Thank You.

72 / 72