Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada«...

22

Transcript of Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada«...

Page 1: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

Szeregowanie zada«

Wykªad nr 6

dr Hanna Furma«czyk

11 kwietnia 2013

dr Hanna Furma«czyk Szeregowanie zada«

Page 2: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

System otwarty - open shop

O3||CmaxProblem O3||Cmax jest NP-trudny.

Dowód

Redukcja PP → O3||Cmax: bierzemy n zada« o czasach (0, ai , 0)i = 1, . . . , n oraz oraz trzy zadania z czasami (S/2, 1, S/2),(S/2 + 1, 0, 0), (0, 0, S/2 + 1). Pytamy o istnienie uszeregowania zCmax ≤ S + 1.

S/2

… 1 …

S/20

M1 S/2 +1

M2

a1

an

M3 S/2 +1

S+1

S/2 +1 S/2

… 1 …

S/2 S/2 +10

M1

M2a

1an

M3

S+1

dr Hanna Furma«czyk Szeregowanie zada«

Page 3: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

System otwarty - open shop

O3||CmaxProblem O3||Cmax jest NP-trudny.

Dowód

Redukcja PP → O3||Cmax: bierzemy n zada« o czasach (0, ai , 0)i = 1, . . . , n oraz oraz trzy zadania z czasami (S/2, 1, S/2),(S/2 + 1, 0, 0), (0, 0, S/2 + 1). Pytamy o istnienie uszeregowania zCmax ≤ S + 1.

S/2

… 1 …

S/20

M1 S/2 +1

M2

a1

an

M3 S/2 +1

S+1

S/2 +1 S/2

… 1 …

S/2 S/2 +10

M1

M2a

1an

M3

S+1

dr Hanna Furma«czyk Szeregowanie zada«

Page 4: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

System otwarty - open shop

O3||CmaxProblem O3||Cmax jest NP-trudny.

Dowód

Redukcja PP → O3||Cmax: bierzemy n zada« o czasach (0, ai , 0)i = 1, . . . , n oraz oraz trzy zadania z czasami (S/2, 1, S/2),(S/2 + 1, 0, 0), (0, 0, S/2 + 1). Pytamy o istnienie uszeregowania zCmax ≤ S + 1.

S/2

… 1 …

S/20

M1 S/2 +1

M2

a1

an

M3 S/2 +1

S+1

S/2 +1 S/2

… 1 …

S/2 S/2 +10

M1

M2a

1an

M3

S+1

dr Hanna Furma«czyk Szeregowanie zada«

Page 5: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

Minimalizacja∑

Cj

Twierdzenie

Problem O2||∑

Cj jest NP�trudny.

dr Hanna Furma«czyk Szeregowanie zada«

Page 6: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O2||Cmax

Algorytm Gonzalez-Sahni, O(n)

Podziel zadania na zbiory N1 = {Zj : p1j < p2j},N2 = {Zj : p1j ≥ p2j}.Wybierz 2 zadania Zr ,Zl takie, »e: p1r ≥ maxZj∈N2

p2j ;p2l ≥ maxZj∈N1

p1j .

p1 :=∑

i p1i ; p2 :=∑

i p2i ; N′1

:= N1\{Zr ,Zl};N ′2

:= N2\{Zr ,Zl}; Dla N ′1 ∪ {Zl} i N ′2 ∪ {Zr} utwórzharmonogramy (permutacyjne i no�idle) z zadaniem z {Zr ,Zl}umieszczonym �z brzegu� .

0 0

M1Zl

N'1

M1

N'2

Zr

M2

Zl

N'1

M2

N'2

Zr

dr Hanna Furma«czyk Szeregowanie zada«

Page 7: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O2||Cmax

Algorytm Gonzalez-Sahni, O(n)

Podziel zadania na zbiory N1 = {Zj : p1j < p2j},N2 = {Zj : p1j ≥ p2j}.

Wybierz 2 zadania Zr ,Zl takie, »e: p1r ≥ maxZj∈N2p2j ;

p2l ≥ maxZj∈N1p1j .

p1 :=∑

i p1i ; p2 :=∑

i p2i ; N′1

:= N1\{Zr ,Zl};N ′2

:= N2\{Zr ,Zl}; Dla N ′1 ∪ {Zl} i N ′2 ∪ {Zr} utwórzharmonogramy (permutacyjne i no�idle) z zadaniem z {Zr ,Zl}umieszczonym �z brzegu� .

0 0

M1Zl

N'1

M1

N'2

Zr

M2

Zl

N'1

M2

N'2

Zr

dr Hanna Furma«czyk Szeregowanie zada«

Page 8: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O2||Cmax

Algorytm Gonzalez-Sahni, O(n)

Podziel zadania na zbiory N1 = {Zj : p1j < p2j},N2 = {Zj : p1j ≥ p2j}.Wybierz 2 zadania Zr ,Zl takie, »e: p1r ≥ maxZj∈N2

p2j ;p2l ≥ maxZj∈N1

p1j .

p1 :=∑

i p1i ; p2 :=∑

i p2i ; N′1

:= N1\{Zr ,Zl};N ′2

:= N2\{Zr ,Zl}; Dla N ′1 ∪ {Zl} i N ′2 ∪ {Zr} utwórzharmonogramy (permutacyjne i no�idle) z zadaniem z {Zr ,Zl}umieszczonym �z brzegu� .

0 0

M1Zl

N'1

M1

N'2

Zr

M2

Zl

N'1

M2

N'2

Zr

dr Hanna Furma«czyk Szeregowanie zada«

Page 9: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O2||Cmax

Algorytm Gonzalez-Sahni, O(n)

Podziel zadania na zbiory N1 = {Zj : p1j < p2j},N2 = {Zj : p1j ≥ p2j}.Wybierz 2 zadania Zr ,Zl takie, »e: p1r ≥ maxZj∈N2

p2j ;p2l ≥ maxZj∈N1

p1j .

p1 :=∑

i p1i ; p2 :=∑

i p2i ; N′1

:= N1\{Zr ,Zl};N ′2

:= N2\{Zr ,Zl}; Dla N ′1 ∪ {Zl} i N ′2 ∪ {Zr} utwórzharmonogramy (permutacyjne i no�idle) z zadaniem z {Zr ,Zl}umieszczonym �z brzegu� .

0 0

M1Zl

N'1

M1

N'2

Zr

M2

Zl

N'1

M2

N'2

Zr

dr Hanna Furma«czyk Szeregowanie zada«

Page 10: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O2||Cmax

Algorytm Gonzalez-Sahni, O(n)

Podziel zadania na zbiory N1 = {Zj : p1j < p2j},N2 = {Zj : p1j ≥ p2j}.Wybierz 2 zadania Zr ,Zl takie, »e: p1r ≥ maxZj∈N2

p2j ;p2l ≥ maxZj∈N1

p1j .

p1 :=∑

i p1i ; p2 :=∑

i p2i ; N′1

:= N1\{Zr ,Zl};N ′2

:= N2\{Zr ,Zl}; Dla N ′1 ∪ {Zl} i N ′2 ∪ {Zr} utwórzharmonogramy (permutacyjne i no�idle) z zadaniem z {Zr ,Zl}umieszczonym �z brzegu� .

0 0

M1Zl

N'1

M1

N'2

Zr

M2

Zl

N'1

M2

N'2

Zr

dr Hanna Furma«czyk Szeregowanie zada«

Page 11: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

Je»eli p1 − p1l ≥ p2 − p2r (p1 − p1l < p2 − p2r ), to �dosu«�operacje z N ′

1∪ {Zl} na M2 w prawo (z N ′

2∪ {Zr} na M1 w

lewo)

0

M1Zl

N'1

N'2

Zr

M2

Zl

N'1

N'2

Zr

Zmie« kolejno±¢ wykonywania operacji na procesorze M2 tak,aby operacja O2r byªa wykonywana jako pierwsza - mo»emyotrzyma¢ jedn¡ z dwóch sytuacji (p1r ≤ p1 − p2r ;p1r > p1 − p2r )

0 0

M1Zl

N'1

N'2

Zr

M1ZlN'

1N'

2Zr

M2

Zr

ZlN'

1N'

2M2

Zr

Zl

N'1

N'2

Przykªad - slajdy s. 102 [Giaro]

dr Hanna Furma«czyk Szeregowanie zada«

Page 12: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

Je»eli p1 − p1l ≥ p2 − p2r (p1 − p1l < p2 − p2r ), to �dosu«�operacje z N ′

1∪ {Zl} na M2 w prawo (z N ′

2∪ {Zr} na M1 w

lewo)

0

M1Zl

N'1

N'2

Zr

M2

Zl

N'1

N'2

Zr

Zmie« kolejno±¢ wykonywania operacji na procesorze M2 tak,aby operacja O2r byªa wykonywana jako pierwsza - mo»emyotrzyma¢ jedn¡ z dwóch sytuacji (p1r ≤ p1 − p2r ;p1r > p1 − p2r )

0 0

M1Zl

N'1

N'2

Zr

M1ZlN'

1N'

2Zr

M2

Zr

ZlN'

1N'

2M2

Zr

Zl

N'1

N'2

Przykªad - slajdy s. 102 [Giaro]

dr Hanna Furma«czyk Szeregowanie zada«

Page 13: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

Je»eli p1 − p1l ≥ p2 − p2r (p1 − p1l < p2 − p2r ), to �dosu«�operacje z N ′

1∪ {Zl} na M2 w prawo (z N ′

2∪ {Zr} na M1 w

lewo)

0

M1Zl

N'1

N'2

Zr

M2

Zl

N'1

N'2

Zr

Zmie« kolejno±¢ wykonywania operacji na procesorze M2 tak,aby operacja O2r byªa wykonywana jako pierwsza - mo»emyotrzyma¢ jedn¡ z dwóch sytuacji (p1r ≤ p1 − p2r ;p1r > p1 − p2r )

0 0

M1Zl

N'1

N'2

Zr

M1ZlN'

1N'

2Zr

M2

Zr

ZlN'

1N'

2M2

Zr

Zl

N'1

N'2

Przykªad - slajdy s. 102 [Giaro]

dr Hanna Furma«czyk Szeregowanie zada«

Page 14: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

Je»eli p1 − p1l ≥ p2 − p2r (p1 − p1l < p2 − p2r ), to �dosu«�operacje z N ′

1∪ {Zl} na M2 w prawo (z N ′

2∪ {Zr} na M1 w

lewo)

0

M1Zl

N'1

N'2

Zr

M2

Zl

N'1

N'2

Zr

Zmie« kolejno±¢ wykonywania operacji na procesorze M2 tak,aby operacja O2r byªa wykonywana jako pierwsza - mo»emyotrzyma¢ jedn¡ z dwóch sytuacji (p1r ≤ p1 − p2r ;p1r > p1 − p2r )

0 0

M1Zl

N'1

N'2

Zr

M1ZlN'

1N'

2Zr

M2

Zr

ZlN'

1N'

2M2

Zr

Zl

N'1

N'2

Przykªad - slajdy s. 102 [Giaro]

dr Hanna Furma«czyk Szeregowanie zada«

Page 15: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O|ZUET |Cmax

Algorytm wielomianowy

1 Budujemy graf dwudzielny G (V1,V2,E ) = G (Z ,M,E ):wierzchoªki jednej partycji to zadania, a drugiej to procesory;ka»dej niepustej operacji Oij odpowiada kraw¦d¹ {Zj ,Mi}.

2 Kolorujemy kraw¦dzie ∆(G ) kolorami - kolory to jednostkiczasu przydzielone operacjom (poprawny harmonogram ≡poprawne pokolorowanie)

3 C ∗max = ∆(G ) = max{maxi∑n

j=1 pij ,maxj∑m

i=1 pij}

dr Hanna Furma«czyk Szeregowanie zada«

Page 16: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O|ZUET |Cmax

Algorytm wielomianowy

1 Budujemy graf dwudzielny G (V1,V2,E ) = G (Z ,M,E ):wierzchoªki jednej partycji to zadania, a drugiej to procesory;ka»dej niepustej operacji Oij odpowiada kraw¦d¹ {Zj ,Mi}.

2 Kolorujemy kraw¦dzie ∆(G ) kolorami - kolory to jednostkiczasu przydzielone operacjom (poprawny harmonogram ≡poprawne pokolorowanie)

3 C ∗max = ∆(G ) = max{maxi∑n

j=1 pij ,maxj∑m

i=1 pij}

dr Hanna Furma«czyk Szeregowanie zada«

Page 17: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O|ZUET |Cmax

Algorytm wielomianowy

1 Budujemy graf dwudzielny G (V1,V2,E ) = G (Z ,M,E ):wierzchoªki jednej partycji to zadania, a drugiej to procesory;ka»dej niepustej operacji Oij odpowiada kraw¦d¹ {Zj ,Mi}.

2 Kolorujemy kraw¦dzie ∆(G ) kolorami - kolory to jednostkiczasu przydzielone operacjom (poprawny harmonogram ≡poprawne pokolorowanie)

3 C ∗max = ∆(G ) = max{maxi∑n

j=1 pij ,maxj∑m

i=1 pij}

dr Hanna Furma«czyk Szeregowanie zada«

Page 18: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

O|pmtn|Cmax

Algorytm Gonzalez Sahni - pseudowielomianowy, wzgl. l. kraw¦dzi

Slajdy dodatkowe.

dr Hanna Furma«czyk Szeregowanie zada«

Page 19: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

System ogólny - ang. job shop

J2||Cmax; O(n log n)

Algorytm oparty na alg. Johnsona.Ji - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji dowykonania na Mi

Jhi - zbiór zada« skªadaj¡cych si¦ z dwóch operacji, z którychpierwsza ma by¢ wykonana na Mh, a druga na Mi (hi = 12, 21)

Uporz¡dkuj zbiory Jhi zgodnie z alg. Johnsona, a zbiory Ji -dowolnie.

Przydziel do procesora M1 zadania w kolejno±ci J12,J1,J21, a doprocesora M2 w kolejno±ci J21, J2, J12.

Przykªad

dr Hanna Furma«czyk Szeregowanie zada«

Page 20: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

System ogólny - ang. job shop

J2||Cmax; O(n log n)

Algorytm oparty na alg. Johnsona.Ji - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji dowykonania na Mi

Jhi - zbiór zada« skªadaj¡cych si¦ z dwóch operacji, z którychpierwsza ma by¢ wykonana na Mh, a druga na Mi (hi = 12, 21)

Uporz¡dkuj zbiory Jhi zgodnie z alg. Johnsona, a zbiory Ji -dowolnie.

Przydziel do procesora M1 zadania w kolejno±ci J12,J1,J21, a doprocesora M2 w kolejno±ci J21, J2, J12.

Przykªad

dr Hanna Furma«czyk Szeregowanie zada«

Page 21: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

System ogólny - ang. job shop

J2||Cmax; O(n log n)

Algorytm oparty na alg. Johnsona.Ji - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji dowykonania na Mi

Jhi - zbiór zada« skªadaj¡cych si¦ z dwóch operacji, z którychpierwsza ma by¢ wykonana na Mh, a druga na Mi (hi = 12, 21)

Uporz¡dkuj zbiory Jhi zgodnie z alg. Johnsona, a zbiory Ji -dowolnie.

Przydziel do procesora M1 zadania w kolejno±ci J12,J1,J21, a doprocesora M2 w kolejno±ci J21, J2, J12.

Przykªad

dr Hanna Furma«czyk Szeregowanie zada«

Page 22: Szeregowanie zadan - Wyk ad nr 6hanna/szeregowanie/w6_11_04.pdf · J i - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji do wykonania na M i J hi - zbiór zada« skªadaj¡cych

System ogólny - ang. job shop

J2||Cmax; O(n log n)

Algorytm oparty na alg. Johnsona.Ji - zbiór zada« skªadaj¡cych si¦ tylko z jednej operacji dowykonania na Mi

Jhi - zbiór zada« skªadaj¡cych si¦ z dwóch operacji, z którychpierwsza ma by¢ wykonana na Mh, a druga na Mi (hi = 12, 21)

Uporz¡dkuj zbiory Jhi zgodnie z alg. Johnsona, a zbiory Ji -dowolnie.

Przydziel do procesora M1 zadania w kolejno±ci J12,J1,J21, a doprocesora M2 w kolejno±ci J21, J2, J12.

Przykªad

dr Hanna Furma«czyk Szeregowanie zada«