Szeregowanie zada«Wykªad nr 5
dr Hanna Furma«czyk
4 kwietnia 2013
dr Hanna Furma«czyk Szeregowanie zada«
Procesory dedykowane
Przypomnienie:
zadania s¡ podzielone na operacje (zadanie Zj skªada si¦ z
operacji Oij do wykonania na maszynach Mi , o dªugo±ciach
czasowych pij); zadanie ko«czy si¦ wraz z wykonaniem swej
najpó¹niejszej operacji,
dopuszcza si¦ sytuacje, gdy zadanie nie wykorzystuje
wszystkich maszyn (operacje puste),
»adne dwie operacje tego samego zadania nie mog¡
wykonywa¢ si¦ rownocze±nie,
»aden procesor nie mo»e rownocze±nie pracowa¢ nad ró»nymi
operacjami.
dr Hanna Furma«czyk Szeregowanie zada«
Procesory dedykowane cd.
Trzy gªówne typy systemów obsªugi dla maszyn dedykowanych:
system przepªywowy (ang. �ow shop) - operacje ka»dego
zadania s¡ wykonywane przez procesory w tej samej kolejno±ci
wyznaczonej przez numery maszyn (przykªad 3),
system otwarty (ang. open shop) - kolejno±¢ wykonania
operacji w obr¦bie zada« jest dowolna (przykªad 2),
system gniazdowy (ang. job shop) - dla ka»dego zadania
mamy dane przyporz¡dkowanie maszyn operacjom oraz
wymagan¡ kolejno±¢.
dr Hanna Furma«czyk Szeregowanie zada«
Flow-shop - system przepªywowy
Twierdzenie
Problem F3||Cmax jest NP-trudny.
Dowód
Redukcja Problemu Podziaªu (PP):
Dany jest ci¡g liczb naturalnych a1, a2, . . . , an t». S =∑n
i=1 ai jest
l. parzyst¡.
Pytanie: Czy istnieje jego podci¡g o sumie S/2?
Redukcja: bierzemy n zada« o czasach (0, ai , 0) i = 1, . . . , n oraz
jedno z czasami (S/2, 1, S/2). Pytamy o istnienie uszeregowania z
Cmax ≤ S + 1.
S/2
… 1 …
S/20
M1
M2a1
an
M3
S+1
dr Hanna Furma«czyk Szeregowanie zada«
Flow-shop - system przepªywowy
Twierdzenie
Problem F3||Cmax jest NP-trudny.
Dowód
Redukcja Problemu Podziaªu (PP):
Dany jest ci¡g liczb naturalnych a1, a2, . . . , an t». S =∑n
i=1 ai jest
l. parzyst¡.
Pytanie: Czy istnieje jego podci¡g o sumie S/2?
Redukcja: bierzemy n zada« o czasach (0, ai , 0) i = 1, . . . , n oraz
jedno z czasami (S/2, 1, S/2). Pytamy o istnienie uszeregowania z
Cmax ≤ S + 1.
S/2
… 1 …
S/20
M1
M2a1
an
M3
S+1
dr Hanna Furma«czyk Szeregowanie zada«
Flow-shop - system przepªywowy
Twierdzenie
Problem F3||Cmax jest NP-trudny.
Dowód
Redukcja Problemu Podziaªu (PP):
Dany jest ci¡g liczb naturalnych a1, a2, . . . , an t». S =∑n
i=1 ai jest
l. parzyst¡.
Pytanie: Czy istnieje jego podci¡g o sumie S/2?
Redukcja: bierzemy n zada« o czasach (0, ai , 0) i = 1, . . . , n oraz
jedno z czasami (S/2, 1, S/2). Pytamy o istnienie uszeregowania z
Cmax ≤ S + 1.
S/2
… 1 …
S/20
M1
M2a1
an
M3
S+1
dr Hanna Furma«czyk Szeregowanie zada«
System zwykªy a permutacyjny (PF)
Permutacyjny system przepªywowy (PF)
system przepªywowy + kolejno±¢ podejmowania operacji z
poszczególnych zada« musi by¢ jednakowa na ka»dej maszynie
(permutacja numerów zada«).
Zwykªy system przepªywowy
Operacje w zadaniach wykonuj¡ si¦ w tej samej kolejno±ci
(numeracja procesorów) ale kolejno±¢ podejmowania zada« mo»e
si¦ zmienia¢ pomi¦dzy maszynami. Jest to mo»liwe nawet w
harmonogramie optymalnym.
dr Hanna Furma«czyk Szeregowanie zada«
System zwykªy a permutacyjny (PF)
Permutacyjny system przepªywowy (PF)
system przepªywowy + kolejno±¢ podejmowania operacji z
poszczególnych zada« musi by¢ jednakowa na ka»dej maszynie
(permutacja numerów zada«).
Zwykªy system przepªywowy
Operacje w zadaniach wykonuj¡ si¦ w tej samej kolejno±ci
(numeracja procesorów) ale kolejno±¢ podejmowania zada« mo»e
si¦ zmienia¢ pomi¦dzy maszynami. Jest to mo»liwe nawet w
harmonogramie optymalnym.
dr Hanna Furma«czyk Szeregowanie zada«
Przykªad
m = 4, n = 2. Czasy wykonania (1, 4, 4, 1) dla Z1 i (4, 1, 1, 4) dlaZ2.
Harmonogramy permutacyjne:
14
M1 Z1 Z
2M2 Z
1Z2
M3 Z
1Z2
M4 Z
1Z2
14
M1
Z2
Z1
M2
Z2
Z1
M3
Z2
Z1
M4
Z2
Z1
dr Hanna Furma«czyk Szeregowanie zada«
Przykªad
Harmonogram niepermutacyjny:
12
M1Z1
Z2
M2
Z1
Z2
M3
Z2
Z1
M4
Z2
Z1
dr Hanna Furma«czyk Szeregowanie zada«
Obserwacje
Je»eli pij > 0, to istnieje optymalne uszeregowanie �ow shopu, w
którym kolejno±¢ podejmowania zada« jest jednakowa na
pierwszych dwóch maszynach, oraz jednakowa na ostatnich dwóch.
Harmonogram optymalny dla PFm||Cmax (pij > 0) jest optymalny
dla Fm||Cmax przy m ≤ 3 (sprawdzamy wi¦c tylko harmonogramy
permutacyjne, mniej do przeszukania!).
dr Hanna Furma«czyk Szeregowanie zada«
Obserwacje
Je»eli pij > 0, to istnieje optymalne uszeregowanie �ow shopu, w
którym kolejno±¢ podejmowania zada« jest jednakowa na
pierwszych dwóch maszynach, oraz jednakowa na ostatnich dwóch.
Harmonogram optymalny dla PFm||Cmax (pij > 0) jest optymalny
dla Fm||Cmax przy m ≤ 3 (sprawdzamy wi¦c tylko harmonogramy
permutacyjne, mniej do przeszukania!).
dr Hanna Furma«czyk Szeregowanie zada«
Szukanie Cmax dla zadanej permutacji zada« - skan z ksi¡»ki M.
Pinedo (Scheduling. Theory, Algorithms and Systems; Prentice Hall
2002)
dr Hanna Furma«czyk Szeregowanie zada«
dr Hanna Furma«czyk Szeregowanie zada«
Warto±¢ Cmax si¦ nie zmienia dla problemu dualnego - zadania
wykonujemy w odwrotnej kolejno±ci (permutacja Zn, . . . ,Z1),odwrotna kolejno±¢ maszyn Mm, . . . ,M1 - przykªad.
dr Hanna Furma«czyk Szeregowanie zada«
dr Hanna Furma«czyk Szeregowanie zada«
F2||Cmax, (F2|pmtn|Cmax)
Jedyny problem �ow rozwiazywalny w czasie wielomianowym, kiedy
to zadania s¡ dowolne.
Algorytm Johnsona, O(n log n)
1 Podziel zadania na zbiory N1 = {Zj : p1j < p2j},N2 = {Zj : p1j ≥ p2j}.
2 Porz¡dkuj N1 w kolejno±ci niemalej¡cej p1j a N2 wedªug
nierosn¡cego p2j3 Utwórz harmonogram permutacyjny (maksymalnie �przesuni¦ty
w lewo�) na podstawie kolejno±ci N1,N2.
Przykªad - slajdy Giaro (str. 93)
dr Hanna Furma«czyk Szeregowanie zada«
F3||Cmax
Zmody�kowany algorytm Johnsona
Stosujemy, gdy M2 jest zdominowana przez M1 (∀i ,jp1i ≥ p2j) lubprzez M3 (∀i ,jp3i ≥ p2j) mo»na u»y¢ Johnsona stosuj¡c
zmody�kowane czasy wykonania (p1i + p2i , p2i + p3i ), i = 1, . . . , n.
Przykªad - slajdy dodatkowe
dr Hanna Furma«czyk Szeregowanie zada«
F ||Cmax, n = 2
Algorytm gra�czny
1 Na osi OX odkªadamy kolejne odcinki o dªugo±ci
p11, p21, . . . , pm1 (czasy pracy maszyn nad Z1). Na osi OY
odkªadamy odcinki o dªugo±ci p12, p22, . . . , pm2 (czasy pracy
maszyn nad Z2).
2 Zaznaczamy obszary zakazane � wn¦trza prostok¡tów
b¦d¡cych iloczynami kartezja«skimi odpowiednich odcinków
(ta sama maszyna nie pracuje równocze±nie nad dwoma
zadaniami).
3 Szukamy najkrótszej ªamanej o odcinkach równolegªych do osi
(praca jednej maszyny) lub biegn¡cych pod k¡tem π/4(równoczesna praca obu maszyn), ª¡cz¡cej (0, 0) z(∑
i pi1,∑
i pi2). Jej dªugo±¢ to dªugo±¢ harmonogramu.
(d((x1, x2), (y1, y2)) = max{|x1 − x2|, |y1 − y2|}).
Przykªad - slajdy Giaro (str. 98)
dr Hanna Furma«czyk Szeregowanie zada«
System przepªywowy permutacyjny proporcjonalny,Fm|pmtn, pij = pj |Cmax
Reguªa SPT-LPT
Zbiór zada« podzielony jest na dwie cz¦±ci:
1. cz¦±¢: pj1 ≤ pj2 ≤ · · · ≤ pjk2. cz¦±¢: pjk ≥ pjk+1 ≥ · · · ≥ pjn
Mo»e by¢ kilka takich podziaªów
dr Hanna Furma«czyk Szeregowanie zada«
System przepªywowy permutacyjny proporcjonalny,Fm|pmtn, pij = pj |Cmax
Reguªa SPT-LPT
Zbiór zada« podzielony jest na dwie cz¦±ci:
1. cz¦±¢: pj1 ≤ pj2 ≤ · · · ≤ pjk2. cz¦±¢: pjk ≥ pjk+1 ≥ · · · ≥ pjn
Mo»e by¢ kilka takich podziaªów
dr Hanna Furma«czyk Szeregowanie zada«
System przepªywowy permutacyjny proporcjonalny,Fm|pmtn, pij = pj |Cmax
Twierdzenie
Dla problemu Fm|pmtn, pij = pj |Cmax
Cmax =n∑
j=1
pj + (m − 1)max{p1, . . . , pn}
i nie zale»y od uszeregowania.
Dowód
Do zrobienia na ¢wiczeniach
dr Hanna Furma«czyk Szeregowanie zada«
System przepªywowy permutacyjny proporcjonalny,Fm|pmtn, pij = pj |Cmax
Twierdzenie
Dla problemu Fm|pmtn, pij = pj |Cmax
Cmax =n∑
j=1
pj + (m − 1)max{p1, . . . , pn}
i nie zale»y od uszeregowania.
Dowód
Do zrobienia na ¢wiczeniach
dr Hanna Furma«czyk Szeregowanie zada«
Zªo»ono±¢ �ow shop
Ksi¡»ka P. Brucker - str. 248-249.
dr Hanna Furma«czyk Szeregowanie zada«