9.4 Czasy przygotowania i dostarczenia

Podobne dokumenty
9.9 Algorytmy przeglądu

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Metody numeryczne. Sformułowanie zagadnienia interpolacji

5. Rozwiązywanie układów równań liniowych

Zaawansowane algorytmy i struktury danych

Układy równań i nierówności liniowych

1 Problemyprzepływowe

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Wstęp do Techniki Cyfrowej... Teoria automatów

Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 1

domykanie relacji, relacja równoważności, rozkłady zbiorów

Programowanie dynamiczne i algorytmy zachłanne

Planowanie przedsięwzięć

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

LOGIKA I TEORIA ZBIORÓW

Zagadnienie transportowe

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Sortowanie topologiczne skierowanych grafów acyklicznych

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Marek Dębczyński

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

ZAGADNIENIE TRANSPORTOWE

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Notatki z Analizy Matematycznej 2. Jacek M. Jędrzejewski

Programowanie liniowe całkowitoliczbowe

Wielokryteriowa optymalizacja liniowa cz.2

Programowanie liniowe

Elementy Modelowania Matematycznego

Macierze. Rozdział Działania na macierzach

jest ciągiem elementów z przestrzeni B(R, R)

Rozdział 1 PROGRAMOWANIE LINIOWE

1 Określenie pierścienia

Złożoność obliczeniowa wybranych problemów szeregowania zadań jednostkowych na równoległych procesorach

INTERPOLACJA I APROKSYMACJA FUNKCJI

Szeregowanie zadań. Wykład nr 2. dr Hanna Furmańczyk. 12 października 2014

TEORETYCZNE PODSTAWY INFORMATYKI

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

FUNKCJE. (odwzorowania) Funkcje 1

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Zarządzanie zasobami w harmonogramowaniu wieloobiektowych przedsięwzięć budowlanych z wykorzystaniem teorii szeregowania zadań

Informacja o przestrzeniach Sobolewa

Sortowanie - wybrane algorytmy

Matematyka dyskretna. 1. Relacje

a) 7 b) 19 c) 21 d) 34

Schemat programowania dynamicznego (ang. dynamic programming)

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Algorytm simplex i dualność

Wykład z równań różnicowych

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

O ISTOTNYCH OGRANICZENIACH METODY

Dystrybucje, wiadomości wstępne (I)

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

AiSD zadanie trzecie

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

Digraf. 13 maja 2017

Obliczenia inspirowane Naturą

Temat: Algorytmy zachłanne

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Harmonogramowanie przedsięwzięć

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Algorytmy i Struktury Danych, 9. ćwiczenia

O MACIERZACH I UKŁADACH RÓWNAŃ

Techniki optymalizacji

Układy równań liniowych. Krzysztof Patan

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

TEORETYCZNE PODSTAWY INFORMATYKI

Zajęcia nr. 3 notatki

Liczby zespolone. x + 2 = 0.

Programowanie liniowe. Tadeusz Trzaskalik

Kolorowanie wierzchołków grafu

Logika i teoria mnogości Wykład 14

Lista zadań - Relacje

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Wielokryteriowa optymalizacja liniowa

Metoda eliminacji Gaussa

Rozwiązaniem jest zbiór (, ] (5, )

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Analiza semantyczna. Gramatyka atrybutywna

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją.

PROBLEM PRZEPŁYWOWY Z PRZEZBROJENIAMI ORAZ CIĄGŁĄ PRACĄ MASZYN Wojciech BOŻEJKO, Radosław IDZIKOWSKI, Mieczysław WODECKI

Podstawy Informatyki. Sprawność algorytmów

Algorytmika Problemów Trudnych

Efektywność Procedur Obliczeniowych. wykład 5

F t+ := s>t. F s = F t.

MNRP r. 1 Aksjomatyczna definicja prawdopodobieństwa (wykład) Grzegorz Kowalczyk

1 Działania na zbiorach

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Transkrypt:

140 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE dla każdej pary (i, j) R. Odpowiednie problemy posiadają oznaczenie 1 r j,prec C max,1 prec L max oraz 1 q j,prec C max. Właściwe algorytmy rozwiązywania, o złożoności O(n 2 ), można otrzymać tworząc uporządkowanie topologiczne odpowiednich wielkości r j, d j lub q j. (Przez uporządkowanie topologiczne liczb r j, j J,zrelacjąR rozumiemy permutację π taką, że dla każdej pary (π(i),π(j)), i<j, dla której nie istnieje droga w grafie (J, R) zachodzi r π(i) r π(j).) W praktyce korzysta się jednak z innego podejścia. Relacja R w sposób naturalny implikuje zależności pomiędzy wartościami r j, d j, q j pozwalające dokonać modyfikacji danych wejściowych dla każdej pary (i, j) R, w najprostszym przypadku według poniższych zasad r j := max{r j,r i + p i }, (9.5) q i := max{q i,q j + p j }, (9.6) d j := min{d j,d i p i }. (9.7) bez utraty rozwiązania optymalnego. Modyfikacja ma charakter progresywny, bowiem dokonane zmiany wartości danych mają wpływ na wynik zmian następnych. Zatem jest wykonywana zgodnie z uporządkowaniem liniowym R) od początku dla (9.5) oraz od końca dla (9.6) i (9.7), można ją wykonać w czasie rzędu O(max{n, R }). W konsekwencji, każdy z algorytmów opisanych w rozdz. 2.2 zachowuje swą ważność, to znaczy dostarcza rozwiązanie dopuszczalne w sensie R i optymalne, dla odpowiednich przypadków uwzględniających zadania zależne. 9.4 Czasy przygotowania i dostarczenia Problem został otrzymany z problemu podstawowego (Rozdz. 9.1) poprzez wprowadzenie niezerowych czasów przygotowawczych r j implikujących ograniczenie r j S j oraz czasów dostarczenia zadania q j 0. Dostarczenie rozpoczyna się bezpośrednio po zakończeniu wykonywania zadania, przy czym wszystkie zadania mogą byś równocześnie dostarczane. Celem jest wyznaczenie harmonogramu pracy maszyny, który minimalizuje czas w jakim wszystkie zadania zostaną dostarczone. Problem ten jest oznaczany przez 1 r j,q j C max. Problem 1 r j,q j C max jest równoważny problemowi z czasami przygotowawczymi, żądanymi terminami zakończenia oraz kryterium minimalizacji maksymalnego spóźnienia L max oznaczonego 1 r j L max używając notacji z pracy 139.Istotnie,niechD =min 1 j n d j. Stąd mamy q j = D d j 0

9.4. CZASY PRZYGOTOWANIA I DOSTARCZENIA 141 1 2 3 Rysunek 9.1: Struktura systemu wytwarzania dla problemu 1 r j,q j C max. oraz L max = max 1 j n (C j d j ) = max 1 j n (C j + q j ) D = C max D (9.8) Problem 1 r j,q j C max jest równoważny problemowi szeregowania zadań na trzech maszynach, z których maszyna 2 jest maszyną o ograniczonej jednostkowej przepustowości z czasami wykonywania zadań p j, zaś maszyny 1 i 3 są maszynami o nieograniczonej przepustowości z czasami wykonywania r j oraz q j odpowiednio. Przyjmujemy, że maszyny o nieograniczonej przepustowości mogą wykonywać dowolnie dużo zadań jednocześnie, zatem zadania na tych maszynach nie muszą być szeregowane (kolejkowane) 224, patrz także Rys. 9.1. Logiczne pojęcie maszyny o nieograniczonej przepustowości może modelować m.in.: (a) fizyczne urządzenia o nieograniczonych możliwościach wykonawczych (np. piec grzewczy), (b) fizyczne urządzenia o ograniczonych możliwościach wykonawczych jednakże nie wymagające szeregowania (np. dzięki znikomo krótkim czasom wykonywaniu zadań na tym urządzeniu, brakowi kolejki, niewystępowaniu konfliktów w dostępie zadań do urządzenia), (c) proces wymagający upływu czasu lecz nie angażujący urządzenia fizycznego (np. dojrzewanie, stygnięcie), (d) zagregowany zbiór maszyn o nieograniczonej przepustowości. Chociaż wszystkie powyższe sformułowania problemu są wzajemnie równoważne, model 1 r j,q j C max jest używany najczęściej ze względu na autosymetrię. Oznacza ona, w tym przypadku, że problem otrzymany przez za-

142 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE mianę miejscami wartości r j z q j posiada dokładnie taką samą optymalną wartość funkcji celu, osiąganą dla permutacji odwrotnej do tej w problemie przed zamianą. Problemowi 1 r j,q j C max poświęcono znaczną uwagę w ostatnim dziesięcioleciu ze względu na liczne zastosowania m.in. w szeregowaniu maszyn krytycznych 224, w algorytmach przybliżonych dla problemu gniazdowego 5), jako dolne ograniczenie dla problemów przepływowych i gniazdowych 43, 52. W pracy 225 pokazano, że problem jest silnie NP-trudny, jednakże dla pewnych przypadków szczególnych istnieją algorytmy wielomianowe. Oznaczmy przez C max (π) czas, w którym wszystkie zadania zostaną dostarczone dla rozwiązania reprezentowanego permutacją π. Terminy rozpoczęcia S j i zakończenia C j wykonywania zadań można znaleźć z zależności rekurencyjnej C π(j) = max{r π(j),c π(j 1) } + p π(j), j =1,...,n, (9.9) gdzie π(0) = 0 oraz C 0 = 0. Dodatkowo S j = C j p j, j =1,...,n. Wartość funkcji kryterialnej wynosi C max (π) = max 1 j n (C π(j) + q π(j) ). (9.10) Przy wyprowadzaniu pewnych własności problemu będziemy się także odwoływać do nierekurencyjnej wersji wzoru (9.9) C π(j) = max (r π(u) + 1 u v j oraz odpowiedniej nierekurencyjnej wersji wzoru (9.10) C max (π) = max (r π(u) + 1 u v n v p π(s) ) (9.11) s=u v p π(s) + q π(v) ) (9.12) s=u Wzory (9.9) (9.12) posiadają wygodną interpretację grafową. Dla permutacji π konstruujemy graf skierowany G(π) =(J {o, },E E(π)), gdzie J jest zbiorem węzłów powiększonym o dwa węzły sztuczne o (początek) oraz (koniec), patrz rys. 9.2. Węzły j J posiadają wagę p j zaś węzły sztuczne wagę zero. Zbiór krawędzi E = j J {(o, j), (j, )} posiada wagi r j dla krawędzi (o, j) oraz q j dla krawędzi (j, ) odpowiednio. Zbiór E(π) = n 1 j=1 {(π(j),π(j + 1))} posiada krawędzie z zerowym obciążeniem. Wartość C j jest długością najdłuższej drogi prowadzącej do węzła j (wraz z

9.4. CZASY PRZYGOTOWANIA I DOSTARCZENIA 143 π(1) p π(1) r π(1) r π(2) r π(3) π(2) p π(2) p π(3) q π(1) q π(2) q π(3) o * r π(n) q π(n) p π(n) π(n) Rysunek 9.2: Graf G(π) dla problemu 1 r j,q j C max.

144 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE obciążeniem tego węzła) zaś C max (π) jest długością najdłuższej drogi w tym grafie. Permutację π, która minimalizuje min π C max (π) nazywamy optymalną. Niech C = C max (π ). Każdą parę liczb całkowitych (u, v), 1 u v n, występujących w prawej stronie wzoru (9.12) będziemy nazywać drogą w π. Para ta całkowicie określa przebieg drogi w odpowiednim grafie G(π). Drogę (a, b), dla której b a =min{u : C max (π) =r π(u) + p π(s) + q π(b) )} (9.13) s=u będziemy nazywać drogą krytyczną w π. Zadanie c = π(k ) takie, że a k <b, q π(k ) <q π(b) oraz q π(k) q π(b), k = k +1,...,b będzie nazywane zadaniem interferencyjnym. Zbiór krytyczny jest definiowany jako K = {π(k +1),...,π(b)} jeśli k istnieje oraz K = {π(a),...,π(b)} wprzeciwnym przypadku. Problem 1 r j,q j,prec C max zawierający zadania zależne poprzez relację R, może być rozwiązywany metodami podobnymi jak 1 r j,q j C max.jednak często, dla prostoty rozważań, relację R eliminuje się z problemu wykonując odpowiednią modyfikację danych wejściowych, analogicznie do opisanej w Rozdz. 9.3. Postępowanie takie nie powoduje utraty rozwiązania optymalnego jednak niesie ze sobą pewne niebezpieczeństwa spowodowane nieszczelnością systemu modyfikacji. Pierwszym z nich jest wprowadzenie do zbioru rozwiązań permutacji niedopuszczalnych z punktu widzenia relacji (dla problemu 1 r j,q j C max wszystkie permutacje są dopuszczalne). Drugim - jako konsekwencja pierwszego wymienionego, jedynie w przypadku istnienia wielu permutacji optymalnych pewna optymalna lecz niedopuszczalna permutacja może zostać zwrócona w wyniku działania algorytmu. O ile pierwszy z wymienionych problemów jest tylko pewną niedogodnością (co najwyżej czas pracy algorytmu zostanie wydłużony), to drugi stanowi już poważny mankament. W niektórych algorytmach (dokładnych i przybliżonych) sposób generacji rozwiązania pozwala automatycznie zapobiec drugiemu problemowi już po spełnieniu warunku (9.5) lub (9.6). Dla przeciwdziałania pierwszemu mankamentowi, to jest w celu eliminacji maksymalnie dużej liczby permutacji niedopuszczalnych, wprowadza się bardziej zaawansowane sposoby modyfikacji takie jak na przykład r j := max{r j, max i B j (r i + p i ),r(b j )+p(b j )}, (9.14) q i := max{q i, max i A j (q j + p j ),p(a j )+q(a j )}, (9.15)

9.5. ZADANIA PRZERYWALNE 145 gdzie B j = {i J : (i, j) R}jestzbiorem bezpośrednich poprzedników zadania j, zaś A j = {i J : (j, i) R}jestzbiorem bezpośrednich następników zadania j. Pozostałe wielkości występujące we wzorach (9.14) (9.15) są określone następująco: p(i) = s I p s, r(i) =min s I r s, q(i) =min s I q s. Złożoność obliczeniowa wykonania modyfikacji jest rzędu O(max{n, R }) podobnie jak w Rozdz. 9.3 jednak pracochłonność jest praktycznie większa. W różnych konkretnych algorytmach stosowane są także inne specyficzne, mniej i bardziej złożone, sposoby modyfikacji, które jednakże będą przedstawiane łącznie z każdym opisywanym algorytmem. 9.5 Zadania przerywalne Dopuszczenie przerywania wykonywania zadań dla problemów opisanych w Rozdz. 9.1 nie zmienia nic w zakresie możliwości ich rozwiązania; odpowiednie algorytmy rozwiązują również te przypadki. W przypadku NP-trudnego problemu z Rozdz. 9.4 sytuacja jest odmienna. Dopuszczenie przerywania wykonywania zadań jest relaksacją prowadzącą do otrzymania problemu 1 r j,q j,pmtn C max posiadającego algorytm wielomianowy. Możliwość rozwiązania w czasie wielomianowym istnieje już dla zagadnienia nieco ogólniejszego od wymienionego, a mianowicie 1 r j,prec f max 27 bez znaczącej zmiany złożoności obliczeniowej. Ponieważ oba problemy mają istotne znaczenie dla budowy i działania bardziej złożonych algorytmów, metoda rozwiązania zostanie opisana szczegółowo dla drugiego z wymienionych jako ogólniejszego. Specjalizowany algorytm dla problemu 1 r j,q j,pmtn C max podano w Rozdz. 9.7.1. Ze względu na przerywanie wykonywania zadań rozwiązanie nie może być reprezentowane jedynie i jednoznacznie permutacją. Stąd przez uszeregowanie S =(S 1,...,S n ) będziemy rozumieć przyporządkowanie dla każdego zadania ciągu przedziałów czasowych S j =((Sj i,ci j ): i =1,...,l j)w których zadanie to jest wykonywane. Oczywiście dla uzyskania dopuszczalności muszą być spełnione warunki l j i=1 (Ci j Si j )=p j, r j Sj 1, Cl i i Sj 1 dla (i, j) R, oraz maszyna wykonuje co najwyżej jedno zadanie w dowolnej chwili czasowej. Rozpatrzmy wpierw prostszy problem 1 prec f max z relacją poprzedzania R. NiechI J oznacza dowolny podzbiór zadań, zaś niech I I będzie zbiorem zadań nie posiadających następników w I. Oznaczmy przez p(i) = j I p j,przezf max (I; S) = max j I f j (C l j j ) wartość funkcji celu dla zadań ze zbioru I oraz uszeregowania S określonego na tym zbiorze, zaś przez fmax(i) =min S f max (I; S) wartość funkcji celu dla uszeregowania optymal-