Wykªad nr 4 21 marca 2013
Minimalizacja ª cznego czasu zako«czenia zadania C j. Zadania niezale»ne krótkie zadania umieszczamy na pocz tku - reguªa SPT (ang. shortest Processing Time)
Minimalizacja ª cznego czasu zako«czenia zadania C j. Zadania niezale»ne krótkie zadania umieszczamy na pocz tku - reguªa SPT (ang. shortest Processing Time) trzeba jeszcze znale¹ optymalne przypisanie zada«do procesorów
Alg. optymalny - P C j, P pmtn C j (O(n log n)) 1 Przyjmij,»e liczba zada«dzieli si przez m (ew. wprowad¹ zadania puste).
Alg. optymalny - P C j, P pmtn C j (O(n log n)) 1 Przyjmij,»e liczba zada«dzieli si przez m (ew. wprowad¹ zadania puste). 2 Uporz dkuj je wg SPT.
Alg. optymalny - P C j, P pmtn C j (O(n log n)) 1 Przyjmij,»e liczba zada«dzieli si przez m (ew. wprowad¹ zadania puste). 2 Uporz dkuj je wg SPT. 3 Przypisuj kolejne m-ki zada«do maszyn (dowolnie).
Alg. optymalny - P C j, P pmtn C j (O(n log n)) 1 Przyjmij,»e liczba zada«dzieli si przez m (ew. wprowad¹ zadania puste). 2 Uporz dkuj je wg SPT. 3 Przypisuj kolejne m-ki zada«do maszyn (dowolnie). Przykªad: m = 2, n = 5, p = (2, 5, 3, 1, 3)
Alg. optymalny - P C j, P pmtn C j (O(n log n)) 1 Przyjmij,»e liczba zada«dzieli si przez m (ew. wprowad¹ zadania puste). 2 Uporz dkuj je wg SPT. 3 Przypisuj kolejne m-ki zada«do maszyn (dowolnie). Przykªad: m = 2, n = 5, p = (2, 5, 3, 1, 3) SPT : Z 0 Z 4 Z 1 Z 3 Z 5 Z 2 p i 0 1 2 3 3 5
Alg. optymalny - P C j, P pmtn C j (O(n log n)) 1 Przyjmij,»e liczba zada«dzieli si przez m (ew. wprowad¹ zadania puste). 2 Uporz dkuj je wg SPT. 3 Przypisuj kolejne m-ki zada«do maszyn (dowolnie). Przykªad: m = 2, n = 5, p = (2, 5, 3, 1, 3) SPT : Z 0 Z 4 Z 1 Z 3 Z 5 Z 2 p i 0 1 2 3 3 5 M 1 Z 4 Z 1 Z 2 M 2 Z 3 Z 5 0 1 2 3 4 5 6 7 8
Alg. optymalny - P C j, P pmtn C j (O(n log n)) 1 Przyjmij,»e liczba zada«dzieli si przez m (ew. wprowad¹ zadania puste). 2 Uporz dkuj je wg SPT. 3 Przypisuj kolejne m-ki zada«do maszyn (dowolnie). Przykªad: m = 2, n = 5, p = (2, 5, 3, 1, 3) SPT : Z 0 Z 4 Z 1 Z 3 Z 5 Z 2 p i 0 1 2 3 3 5 M 1 Z 4 Z 1 Z 2 M 2 Z 3 Z 5 0 1 2 3 4 5 6 7 8 M 1 Z 4 Z 3 Z 2 M 2 Z 1 Z 5 0 1 2 3 4 5 6 7 8 9
Alg. optymalny - P C j, P pmtn C j (O(n log n)) 1 Przyjmij,»e liczba zada«dzieli si przez m (ew. wprowad¹ zadania puste). 2 Uporz dkuj je wg SPT. 3 Przypisuj kolejne m-ki zada«do maszyn (dowolnie). Przykªad: m = 2, n = 5, p = (2, 5, 3, 1, 3) SPT : Z 0 Z 4 Z 1 Z 3 Z 5 Z 2 p i 0 1 2 3 3 5 M 1 Z 4 Z 1 Z 2 M 2 Z 3 Z 5 0 1 2 3 4 5 6 7 8 M 1 Z 4 Z 3 Z 2 Cj = 21 M 2 Z 1 Z 5 0 1 2 3 4 5 6 7 8 9
Minimalizacja ª cznego wa»onego czasu zako«czenia zadania wj C j. Zadania niezale»ne, niepodzielne Problem P2 w j C j (P2 pmtn w j C j ) jest NP-trudny.
Minimalizacja ª cznego wa»onego czasu zako«czenia zadania wj C j. Zadania niezale»ne, niepodzielne Problem P2 w j C j (P2 pmtn w j C j ) jest NP-trudny. 1 w j C j - alg. optymalny O(n log n) Reguªa Smitha - uogólnienie SPT: ustaw zadania w kolejno±ci niemalej cych p j /w j
Minimalizacja maksymalnego opó¹nienia - maszyny równolegªe Aby opó¹nienie L i = C i d i zadania Z i w harmonogramie byªo okre±lone, zadania musz by wyposa»one w oczekiwane terminy zako«czenia d i.
Minimalizacja maksymalnego opó¹nienia - maszyny równolegªe Aby opó¹nienie L i = C i d i zadania Z i w harmonogramie byªo okre±lone, zadania musz by wyposa»one w oczekiwane terminy zako«czenia d i. Spó¹nienie zadania T i = max{l i, 0} nie bierze pod uwag wykonania si zada«przed terminem.
Minimalizacja maksymalnego opó¹nienia - maszyny równolegªe Aby opó¹nienie L i = C i d i zadania Z i w harmonogramie byªo okre±lone, zadania musz by wyposa»one w oczekiwane terminy zako«czenia d i. Spó¹nienie zadania T i = max{l i, 0} nie bierze pod uwag wykonania si zada«przed terminem. Wniosek: T max = max{l max, 0}. Dlatego kryterium T max nie rozwa»amy osobno harmonogram L max -optymalny jest te» T max -optymalny.
Minimalizacja maksymalnego opó¹nienia - maszyny równolegªe Aby opó¹nienie L i = C i d i zadania Z i w harmonogramie byªo okre±lone, zadania musz by wyposa»one w oczekiwane terminy zako«czenia d i. Spó¹nienie zadania T i = max{l i, 0} nie bierze pod uwag wykonania si zada«przed terminem. Wniosek: T max = max{l max, 0}. Dlatego kryterium T max nie rozwa»amy osobno harmonogram L max -optymalny jest te» T max -optymalny. kryterium L max jest uogólnieniem C max, zagadnienia NPtrudne dla C max pozostan takie w przypadku L max
maj c do wykonania wiele prac z ró»nymi oczekiwanymi terminami zako«czenia spó¹nimy si najmniej zaczynaj c zawsze od najpilniejszej pracy,
maj c do wykonania wiele prac z ró»nymi oczekiwanymi terminami zako«czenia spó¹nimy si najmniej zaczynaj c zawsze od najpilniejszej pracy, inaczej: w ró»nych wariantach stosujemy reguª EDD (ang. Earliest Due Date) wybieraj zadania Z j w kolejno±ci niemalej cych oczekiwanych terminów zako«czenia d j
maj c do wykonania wiele prac z ró»nymi oczekiwanymi terminami zako«czenia spó¹nimy si najmniej zaczynaj c zawsze od najpilniejszej pracy, inaczej: w ró»nych wariantach stosujemy reguª EDD (ang. Earliest Due Date) wybieraj zadania Z j w kolejno±ci niemalej cych oczekiwanych terminów zako«czenia d j problem zada«niepodzielnych na jednej maszynie (1 L max ) rozwi zuje wªa±nie szeregowanie wedªug EDD.
1 r i, pmtn L max Algorytm Liu O(n 2 ) - oparty na regule EDD 1 Spo±ród dost pnych zada«przydziel maszyn temu, które ma najmniejszy wymagany termin zako«czenia. 2 Je±li zadanie zostaªo zako«czone lub przybyªo nowe - wró do punktu 1.
1 r i, pmtn L max Algorytm Liu O(n 2 ) - oparty na regule EDD 1 Spo±ród dost pnych zada«przydziel maszyn temu, które ma najmniejszy wymagany termin zako«czenia. 2 Je±li zadanie zostaªo zako«czone lub przybyªo nowe - wró do punktu 1. Przykªad - osobne slajdy
Minimalizacja L max - zadania niezale»ne, niepodzielne Niektóre przypadki NPtrudne: P2 L max, 1 r j L max Przypadki wielomianowe: zadania jednostkowe: P p j = 1, r j L max, Q p j = 1 L max 1 L max (wg EDD) - rozw. optymalne
Minimalizacja L max - zadania zale»ne, podzielne 1 pmtn, prec, r j L max - zmodykowany alg. Liu O(n 2 ) 1 Okre±l zmodykowane terminy zako«czenia zada«: d j = min{d j : min{d i : Z j Z i }} 2 Szereguj wedªug EDD dla nowych d j z wywªaszczaniem zadania, gdy pojawia si nowe, wolne, z mniejszym zmodykowanym terminem zako«czenia 3 Powtarzaj 2 a» do uszeregowania wszystkich zada«.
Minimalizacja L max - zadania zale»ne, podzielne 1 pmtn, prec, r j L max - zmodykowany alg. Liu O(n 2 ) 1 Okre±l zmodykowane terminy zako«czenia zada«: d j = min{d j : min{d i : Z j Z i }} 2 Szereguj wedªug EDD dla nowych d j z wywªaszczaniem zadania, gdy pojawia si nowe, wolne, z mniejszym zmodykowanym terminem zako«czenia 3 Powtarzaj 2 a» do uszeregowania wszystkich zada«. Przykªad - osobne slajdy.
Minimalizacja L max - zadania zale»ne, niepodzielne Troch faktów Problem P p j = 1, out tree L max jest NP-trudny.
Minimalizacja L max - zadania zale»ne, niepodzielne Troch faktów Problem P p j = 1, out tree L max jest NP-trudny. algorytm wielomianowy dla P2 prec, p j = 1 L max
Minimalizacja L max - zadania zale»ne, niepodzielne Troch faktów Problem P p j = 1, out tree L max jest NP-trudny. algorytm wielomianowy dla P2 prec, p j = 1 L max algorytm Bruckera dla P p j = 1, in tree L max O(n log n)
Algorytm Bruckera - P p j = 1, in tree L max next(j) - bezpo±redni nast pnik zadania Z j 1 wylicz zmodykowane terminy zako«czenia zada«: d root = 1 d root d k = max{1 + d next(k), 1 d k} 2 szereguj zadania dostepne podobnie jak w alg. Hu (tu: lista tworzona jest wg nierosn cych warto±ci d j ) Przykªad - osobne slajdy
na procesorach dedykowanych - kolejne wykªady