9.9 Algorytmy przeglądu

Podobne dokumenty
9.4 Czasy przygotowania i dostarczenia

Postać Jordana macierzy

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Heurystyki. Strategie poszukiwań

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

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Efektywność algorytmów

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Estymacja parametrów w modelu normalnym

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

Metoda Tablic Semantycznych

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Programowanie liniowe

2 Rodziny zbiorów. 2.1 Algebry i σ - algebry zbiorów. M. Beśka, Wstęp do teorii miary, rozdz. 2 11

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

WYKŁAD 6 KINEMATYKA PRZEPŁYWÓW CZĘŚĆ 2 1/11

Przykładowe zadania z teorii liczb

Zasada indukcji matematycznej

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

PRAWO OHMA DLA PRĄDU PRZEMIENNEGO

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

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

Okręgi na skończonej płaszczyźnie Mateusz Janus

Paradygmaty dowodzenia

Ciągi liczbowe wykład 3

0 + 0 = 0, = 1, = 1, = 0.

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

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

TEORETYCZNE PODSTAWY INFORMATYKI

Dystrybucje, wiadomości wstępne (I)

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Wykłady... b i a i. i=1. m(d k ) inf

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

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

LOGIKA I TEORIA ZBIORÓW

Zależności funkcyjne

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

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

1. Wykład NWD, NWW i algorytm Euklidesa.

Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi

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

Metody numeryczne. Sformułowanie zagadnienia interpolacji

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Podstawy OpenCL część 2

Obóz Naukowy Olimpiady Matematycznej Gimnazjalistów

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Przestrzenie liniowe

zaznaczymy na osi liczbowej w ten sposób:

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Grzegorz Bobiński. Wykład monograficzny Programowanie Liniowe i Całkowitoliczbowe

Spacery losowe generowanie realizacji procesu losowego

Macierze. Rozdział Działania na macierzach

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

Wstęp do Sztucznej Inteligencji

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

WIBROIZOLACJA określanie właściwości wibroizolacyjnych materiałów

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Napędy urządzeń mechatronicznych

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

WIBROIZOLACJA określanie właściwości wibroizolacyjnych materiałów

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Analiza semantyczna. Gramatyka atrybutywna

Rys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A

Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

Dlaczego nie wystarczają liczby wymierne

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

Zaawansowane metody numeryczne

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

Algorytmy i struktury danych. Wykład 4

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZADANIE 1. Ważenie (14 pkt)

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Ciąg monotoniczny. Autorzy: Katarzyna Korbel

1 Równania nieliniowe

Metody Kompilacji Wykład 3

Rozkłady i ich dystrybuanty 16 marca F X (t) = P (X < t) 0, gdy t 0, F X (t) = 1, gdy t > c, 0, gdy t x 1, 1, gdy t > x 2,

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

TEORETYCZNE PODSTAWY INFORMATYKI

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

Sortowanie topologiczne skierowanych grafów acyklicznych

Schematy Piramid Logicznych

Obliczenia naukowe Wykład nr 6

Problemy Decyzyjne dla Systemów Nieskończonych

Ciagi liczbowe wykład 4

Sztuczna Inteligencja Projekt

Haszowanie (adresowanie rozpraszające, mieszające)

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Optymalizacja. Algorytmy dokładne

Definicja pochodnej cząstkowej

Matematyka dyskretna dla informatyków

BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

MODELE MATEMATYCZNE W UBEZPIECZENIACH

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

I. Pochodna i różniczka funkcji jednej zmiennej. 1. Definicja pochodnej funkcji i jej interpretacja fizyczna. Istnienie pochodnej funkcji.

Algorytmy i Struktury Danych, 9. ćwiczenia

Transkrypt:

14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka wersja pochodzi z pracy 51 i jest porównywalna, w sensie efektywności, z nieco bardziej skomplikowanym algorytmem blokowym 129. 9.9.1 Algorytm Carliera Opisywany algorytm jest schematem B&B, który generuje dla każdego węzła w drzewie rozwiązań kompletne rozwiązanie używając do tego celu algorytmu S. Na bazie tego rozwiązanie określana jest zasada podziału, dolne i górne ograniczenia oraz reguły eliminacji, korzystając z pewnych własności π S opisanych poniżej. Podstawowe własności Niech π S będzie permutacją wygenerowaną Algorytmem S z drogą krytyczną (a, b) odpowiednio do definicji podanej w Rozdz. 9.4. Zachodzą dwa wyłączające się wzajemnie przypadki: (1) jeśli π S nie jest optymalna to istnieje zadanie c J oraz zbiór K J takie, że h(k) >C max (π S ) p c oraz w rozwiązaniu optymalnym c jest wykonywane przed lub za wszystkimi zadaniami z K; (2) jeśli π S jest optymalna to istnieje I J taki, że C max (π S )=h(i). Istotnie, w celu dowodu własności, bez straty ogólności możemy założyć, że π S = π gdzie π(i) =i, i =1,...,n. Zatem zgodnie ze wzorem mamy Cmax(π) =r a + p(i)+q b, gdzie I = {a, a +1,...,b}. Wpierw pokażemy, że żadne zadanie nie jest wykonywane w przedziale (r a 1,r a ). Przypuśćmy, że istnieje i rozpoczynające się w S i <r a oraz S i + p i > r a. Stąd S i + p i + p(i) +q b > C max (π) coprzeczytemu,że C max (π) jest maksymalne. Dalej pokażemy, że r a = r(i). Istotnie, ponieważ maszyna jest wolna w przedziale czasu (r a 1,r a ). Stąd w algorytmie gdy szeregujemy a wchwilit = r a mamy t = r a = min j J \U r j oraz r a = min j I r j = r(i) ponieważ I J\U. Wreszcie,jeśliq b = q(i) to długość ścieżki krytycznej jest równa C max (π) =r a +p(i)+q b = r(i)+p(i)+q(i) = h(i) zatem rozwiązanie jest optymalne. Występuje to zawsze gdy spełniona jest zależność jeśli r i r j to q i q j. Przykładowo, jeśli wszystkie r j sa równe lub wszystkie q j są równe. W przypadku przeciwnym do poprzedniego, to znaczy gdy q b >q(i), istnieje zadanie i takie, że i<boraz q i <q b ; oznaczmy przez c największy indeks takiego zadania. Zdefiniujmy zbiór K =

9.9. ALGORYTMY PRZEGLĄDU 15 {c +1,...,b}. Zgodnie z definicją mamy q c <q j, j K. Łatwo zauważyć, że zachodzi S c <r j, j K. Istotnie, gdyby zachodziło S c r i dla pewnego i K, to zadanie i byłoby gotowe do wykonywania w chwili czasowej t = S c, w której podejmowano decyzje o uszeregowaniu zadania c, i zadanie to zostałoby uszeregowane w chwili t zamiast c ze względu na warunek q j >q c. Zatem otrzymujemy nierówność prawdziwą dla każdego j K implikującą oczywistą nierówność c 1 r j >S c = r a + p t (9.54) t=a c 1 r(k) =min r j >S c = r a + p t. (9.55) j K Zgodnie z definicją zbioru K mamy q b =min j K q j = q(k). Zatem ostatecznie h(k) =r(k)+p(k)+q(k) >r a + p(i)+q b p c = C max (π) p c (9.5) co kończy dowód własności. Odpowiednio, zadanie c oraz zbiór K zdefiniowany w Rozdz. 9.4 spełniają warunki podanej własności. W przykładzie opisanym w Tablicy 9..1 mamy c = 1, K = {2, 3, 4}, h(k) = 49, patrz także Rys. 9.3, 9.5. Zasada podziału t=a Z każdym węzłem drzewa rozwiązań kojarzymy: 1. problem 1 r j,q j C max z danymi (r j,p j,q j,j =1,...,n); wartości r j,q j będą ulegały modyfikacji w czasie pracy algorytmu, 2. permutację π S wygenerowaną Algorytmem S wraz z odpowiadającą mu wartością funkcji celu C max (π S ), drogą krytyczną (a, b), zadaniem interferencyjnym c oraz zbiorem krytycznym K, zgodnie z definicjami podanymi w Rozdz. 9.4 3. dolne ograniczenie wartości celu LB dla wszystkich rozwiązań problemu z danymi charakterystycznymi dla tego węzła, 4. górne ograniczenie UB wartości funkcji celu dla wszystkich rozwiązań sprawdzonych przed analizą rozpatrywanego węzła.

1 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 5 1 0 1 10 2 13 2 o 3 11 24 * 30 30 20 4 5 3 4 21 8 0 2 Rysunek 9.5: Interpretacja zadania c oraz zbioru K na grafie.

9.9. ALGORYTMY PRZEGLĄDU 1 Przyjmujemy początkowo UB =. Wyznaczamy π S poprzez zastosowanie Algorytmu S, a w dalszej kolejności odpowiadającą mu wartość funkcji celu C max (π S ), drogę krytyczną (a, b), zadanie interferencyjne c oraz zbiór krytyczny K, zgodnie z definicjami podanymi w Rozdz. 9.4. Jeśli c nie istnieje to otrzymane rozwiązanie jest optymalne dla rozważanego problemu. W przeciwnym przypadku kreowane są 2+1 problemy potomne (następniki w drzewie rozwiązań), z których 2 podlegają sprawdzeniu zaś jeden jest zawsze eliminowany. Dwa podstawowe problemy potomne są określone następująco: (A) zadanie c jest wykonywane przed wszystkimi zadaniami ze zbioru K. Warunek ten jest uwzględniany poprzez modyfikację danych problemu według zasady q c := max{q c,p(k)+q b }. (9.5) (B) zadanie c jest wykonywane za wszystkimi zadaniami ze zbioru K. Warunek ten jest uwzględniany poprzez modyfikację danych problemu według zasady r c := max{r c,r(k)+p(k)}. (9.58) Zauważmy, że p(k) =C π S (b) C c czyli może być wyznaczony w czasie O(1). Górne ograniczenie Jako górne ograniczenie przyjmuje się UB := min{ub,c max (π S )} każdorazowo po wygenerowaniu π S dla wszystkich analizowanych problemów potomnych. Eliminacja Dla rozpatrywanej permutacji π S tworzony jest zbiór L = {i J \K : p i >UB h(k)}. (9.59) Jeśli i L to i musi być wykonywane przed lub za K. Odpowiednio budowane są dwa dodatkowe testy eliminacyjne 1. Jeśli i L oraz r i + p i + p(k)+q b UB (9.0) to i musi być wykonywane za wszystkimi zadaniami z K co pozwala na wykonanie modyfikacji r i := max{r i,r(k)+p(k)} (9.1)

18 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 2. Jeśli i L oraz r(k)+p i + p(k)+q i UB (9.2) to i musi być wykonywane przed wszystkimi zadaniami z K co pozwala na wykonanie modyfikacji Dolne ograniczenie Proponuje się zastosować q i := max{q i,q(k)+p(k)} (9.3) LB = max{c max,pmtn,h(k),h(k {c})} (9.4) gdzie Cmax,pmtn jest optymalną wartością funkcji celu problemu postaci 1 r j,q j,pmtn C max dla danych r j, q j, j = 1,...,n skojarzonych z analizowanym węzłem. Strategia przeglądania Realizowana jest strategia w głąb. Z bieżącego węzła drzewa rozwiązań generowane są co najwyżej dwa węzły potomne w kolejności wynikającej z pomocniczego dolnego ograniczenia. Wybrany węzeł staje się bieżącym, zaś ten drugi staje się chwilowo odłożonym. Po zamknięciu (sprawdzeniu lub wyeliminowaniu) bieżącego węzła kontynuowany jest proces analizy węzłów poczynając od ostatnio odłożonego węzła. Poszukiwania kończą się gdy wszystkie odłożone węzły zostaną przeanalizowane. 9.9.2 Algorytm blokowy Bezpośrednie wykorzystanie grafowego modelu problemu oraz wzoru (9.12) pozwala na otrzymanie pewnych teoretycznych własności użytecznych, między innymi, przy konstrukcji algorytmów dokładnych opartych na schemacie B&B. Własności te stanowią podstawę podejścia blokowego, oryginalnego kierunku badawczego opracowanego pierwotnie w ICT PWr, a następnie stosowanego z powodzeniem w wielu innych ośrodkach zagranicznych. Uniwersalność proponowanego podejścia czyni je przydatnym zarówno w algorytmach dokładnych jak i metodach przybliżonych. Podstawowe własności Niech π będzie pewną permutacją z drogą krytyczną (a, b), patrz Rozdz. 9.4. Ciąg zadań B =(π(a),...,π(b)) będziemy nazywać blokiem zadań w π.