Upload
leduong
View
218
Download
0
Embed Size (px)
Citation preview
Szeregowanie zada«
Wykªad nr 6
dr Hanna Furma«czyk
11 kwietnia 2013
dr Hanna Furma«czyk Szeregowanie zada«
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«
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«
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«
Minimalizacja∑
Cj
Twierdzenie
Problem O2||∑
Cj jest NP�trudny.
dr Hanna Furma«czyk Szeregowanie zada«
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«
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«
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«
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«
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«
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«
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«
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«
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«
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«
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«
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«
O|pmtn|Cmax
Algorytm Gonzalez Sahni - pseudowielomianowy, wzgl. l. kraw¦dzi
Slajdy dodatkowe.
dr Hanna Furma«czyk Szeregowanie zada«
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«
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«
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«
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«