Lab. 02: Algorytm Schrage

Podobne dokumenty
Przykªady problemów optymalizacji kombinatorycznej

Szeregowanie zada« Wykªad nr 4. dr Hanna Furma«czyk. 21 marca 2013

Szeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013

Programowanie wspóªbie»ne

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

2 Liczby rzeczywiste - cz. 2

1 Metody iteracyjne rozwi zywania równania f(x)=0

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Listy i operacje pytania

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Szeregowanie zada« Wykªad nr 6. dr Hanna Furma«czyk. 11 kwietnia 2013

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Rekurencyjne struktury danych

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Przekroje Dedekinda 1

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

Programowanie wspóªbie»ne

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, Dawid Rasaªa Metody numeryczne 1 / 9

Modele wielorównaniowe. Problem identykacji

Ekonometria. wiczenia 4 Prognozowanie. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Najkrótsze drogi w grafach z wagami

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ALGORYTMIKA Wprowadzenie do algorytmów

Podstawy matematyki dla informatyków. Funkcje. Funkcje caªkowite i cz ±ciowe. Deniowanie funkcji. Wykªad pa¹dziernika 2012

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Programowanie wspóªbie»ne

Dokªadna arytmetyka liczb rzeczywistych w j zyku Python

Uczenie Wielowarstwowych Sieci Neuronów o

Logika dla matematyków i informatyków Wykªad 1

EDUKARIS - O±rodek Ksztaªcenia

Funkcje wielu zmiennych

ALGORYTMY SORTOWANIA DANYCH

Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2

Interpolacja funkcjami sklejanymi

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Rozwi zania klasycznych problemów w Rendezvous

Interpolacja Lagrange'a, bazy wielomianów

Programowanie i struktury danych

Spis tre±ci. 1 Podstawy termodynamiki - wiczenia 2. 2 Termodynamika - wiczenia 4. 3 Teoria maszyn cieplnych - wiczenia 6

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0,

Programowanie wspóªbie»ne

O pewnym zadaniu olimpijskim

Model obiektu w JavaScript

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Zastosowanie eliptycznych równa«ró»niczkowych

Ukªady równa«liniowych

1 Granice funkcji wielu zmiennych.

Programowanie i struktury danych 1 / 44

Metodydowodzenia twierdzeń

Minimalne drzewa rozpinaj ce

Metody numeryczne i statystyka dla in»ynierów

1 Bª dy i arytmetyka zmiennopozycyjna

Podstawy matematyki dla informatyków

Makroekonomia Zaawansowana

Przetwarzanie sygnaªów

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Najkrótsze drogi w grafach z wagami

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Systemy decyzyjne Wykªad 5: Drzewa decyzyjne

Przykªadowe tematy z JiMP

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

Elementarna statystyka Wnioskowanie o regresji (Inference 2 czerwca for regression) / 13

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

Zbiory i odwzorowania

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

Arytmetyka zmiennopozycyjna

Metody numeryczne i statystyka dla in»ynierów

Ekonometria. wiczenia 13 Metoda ±cie»ki krytycznej. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Matematyka dyskretna dla informatyków

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci

Skrypt do Algorytmów i Struktur Danych

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a).

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Metody dowodzenia twierdze«

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006

1 0 Je»eli wybierzemy baz A = ((1, 1), (2, 1)) to M(f) A A =. 0 2 Daje to znacznie lepszy opis endomorzmu f.

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Aproksymacja funkcji metod najmniejszych kwadratów

Algorytmy zwiazane z gramatykami bezkontekstowymi

Funkcje wielu zmiennych

x y x y x y x + y x y

Szukanie najkrótszych dróg z jednym ródłem

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

Bazy danych, 4. wiczenia

Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1

Ekonometria Bayesowska

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Liczenie podziaªów liczby: algorytm Eulera

Regulamin ustalania wysoko±ci, przyznawania i wypªacania stypendium za wyniki w nauce dla doktorantów MIMUW v4.3

Wykªad 10. Spis tre±ci. 1 Niesko«czona studnia potencjaªu. Fizyka 2 (Informatyka - EEIiA 2006/07) c Mariusz Krasi«ski 2007

1. Wprowadzenie do C/C++

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Wstp. Warto przepływu to

Transkrypt:

Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z poprzednich zada«problemu 1 r i, q i C max. Dodatkowo pokazany b dzie pokrewny problem 1 r i, q i, pmtn C max i sposób na jego rozwi zanie w czasie wielomianowym. 2 Algorytm Schrage (S) Algorytm Schrage to algorytm 2-aproksymacyjny dla problemu 1 r i, q i C max. Oznacza to,»e warto± funkcji oceniaj cej dla kolejno±ci wykonywania π S zwróconej przez algorytm, jest co najwy»ej dwukrotnie wi ksza od tej dla kolejno±ci optymalnej π : C max (π S ) 2C max (π ). (1) Zasad dziaªania algorytmu obja±nia pseudokod 1. W linii 2 nast puje inicjalizacja algorytmu. N G to zbiór zada«gotowych do uszeregowania, N N to zbiór zada«nieuszeregowanych, σ oznacza cz ±ciow kolejno± skªadaj c si z uszeregowanych zada«, i oznacza numer kolejno±ci zadania dodawanego do σ, a t to zmienna pomocnicza (czas). P tla z linii 4 do 7 sªu»y do budowania zbioru zada«gotowych do uszeregowania N G. S to jeszcze nieuszeregowane zadania, których czasy przygotowania r j pozwalaj im na rozpocz cie wykonywania do czasu t, czyli: r j t. (2) Warunek z linii 8 aktualizuje chwil czasow t w przypadku gdy nie ma zada«gotowych do uszeregowania. Je±li zbiór N G nie jest pusty, do cz ±ciowego uszeregowania σ dodawane jest zadanie z tego zbioru o najdªu»szym czasie dostarczenia q j. Nast pnie aktualizowana jest chwila czasowa t i numer zadania w kolejno±ci i. W linii 17 cz ±ciowa kolejno± σ zawiera wszystkie zadania ze zbioru N, st d mamy gotow kolejno± zada«π S b d c wynikiem algorytmu. andrzej.gnatowski@pwr.edu.pl 1

Algorytm 1 Pseudokod dla algorytmu Schrage. 1: procedure Schrage(N ) 2: Podstaw i 1, σ (), N G, N N N, t min r j 3: while N G N N do 4: while N N min r j t do 5: j arg min r j 6: N G N G {j }, N N N N \ {j } 7: end while 8: if N G = then 9: t min r j 10: else 11: j arg max q j 12: N G N G \ {j } 13: σ(i) j 14: i i + 1, t t + p j 15: end if 16: end while 17: π S σ 18: return π S 19: end procedure 3 Model matematyczny problemu 1 r i, q i, pmtn C max Problem 1 r i, q i, pmtn C max ró»ni si od omawianego wcze±niej problemu 1 r i, q i C max dopuszczeniem mo»liwo±ci przerywania wykonywania zadania przed jego zako«- czeniem. Taka relaksacja problemu pozwala na stworzenie algorytmu wielomianowego rozwi zuj cego go optymalnie. Ze wzgl du na mo»liwo± przerywania zada«, reprezentacja w postaci kolejno±ci wykonywania zada«π nie jest u»yteczna. St d operuje si bardziej zªo»on wersj harmonogramu S. Wektor S deniuje si w nast puj cy sposób: S = (S 1,..., S j,..., S n ) (3) S j = ((S 1 j, C 1 j ), (S 2 j, C 2 j ),..., (S i j, C i j),..., (S lj j, Clj j )). (4) Ka»da para liczb (Sj i, Ci j ) oznacza przedziaª czasu, w którym zadanie j jest wykonywane. Elementy wektora S musz oczywi±cie speªnia ograniczenia: j N l j i=1 (C i j S i j) = p j (5) 2

j N, j N r j S 1 j, (6) Cj i S i+1 j, (7) 1 i<l j oraz podobnie jak dla problemu 1 r i, q i C max, maszyna mo»e w danym momencie przetwarza tylko jedno zadanie. Warunek z równania 5 mówi o tym,»e suma przedziaªów czasowych w których wykonywane jest zadanie j musi wynosi jego czas wykonywania p j. Warunek 6 wymusza rozpocz cie wykonywania zadania po momencie czasowym r j, warunek 7 mówi o kolejno±ci zapisywania przedziaªów czasowych w S j - od najwcze±niejszego do najpó¹niejszego. 4 Algorytm Schrage dla problemu z podziaªem zada«(schrage pmtn) Algorytm Schrage pmtn podaje dla problemu 1 r i, q i, pmtn C max rozwi zanie optymalne, dostarczaj c dobrego dolnego oszacowania dla algorytmów B&B sªu-» cych do rozwi zywania problemu 1 r i, q i C max. Wªa±nie w taki sposób b dzie on wykorzystywany na tym kursie. St d zrezygnowano z wyznaczania harmonogramu S, poprzestaj c na obliczaniu warto±ci funkcji celu dla harmonogramu optymalnego. Pseudokod 2 pokazuje zasad dziaªania algorytmu Schrage pmtn. Podstawow ró»nic pomi dzy pseudokodami 1 i 2 jest dodanie w tym drugim linii od 7 do 13 odpowiadaj cych za przerywanie zada«. Linie 7 do 13 odpowiadaj za przerywanie obecnie wykonywanego zadania l, gdy gotowe do wykonania zadanie j ma dªu»szy czas dostarczenia q j. Wtedy, je±li zadanie l nie jest jeszcze wykonane (sprawdzane w linii 10), zadanie odkªadane jest do zbioru zada«gotowych do wykonywania (z odpowiednio zredukowanym czasem wytwarzania p j ). Nale»y pami ta,»e algorytm Schrage pmtn zapisany w taki sposób modykuje warto±ci p j i nie wyznacza wektora S. 5 Wymagania i sposób oceny Zadanie nale»y odda w podobnej formie co zadanie pierwsze. Czas realizacji zadania to 2 tygodnie (nale»y odda najpó¹niej w trakcie zaj ). Ka»dy rozpocz ty tydzie«spó¹nienia obni»a ocen o 0.5. Przykªady testowe takie same jak dla zadania 1, prawidªowe wyniki dla algorytmów zamieszczono w tabeli 1. Kryteria oceny: 3 - dziaªaj cy algorytm Schrage podaj cy kolejno± wykonywania zada«π S oraz C max. 4 - dziaªaj cy algorytm Schrage podaj cy kolejno± wykonywania zada«π S oraz C max ; oraz Schrage dla problemu z podziaªem zada«podaj cy C max. 3

Algorytm 2 Pseudokod dla algorytmu Schrage pmtn. 1: procedure SchragePmtn(N ) 2: Podstaw C max 0, N G, N N N, t 0, l 0, q 0 3: while N G N N do 4: while N N min r j t do 5: j arg min r j 6: N G N G {j }, N N N N \ {j } 7: if q j > q l then 8: p l t r j 9: t r j 10: if p l > 0 then 11: N G N G {j } 12: end if 13: end if 14: end while 15: if N G = then 16: t min r j 17: else 18: j arg max q j 19: N G N G \ {j } 20: l j, t t + p j, C max max {C max, t + q j } 21: end if 22: end while 23: return C max 24: end procedure 5 - dziaªaj cy algorytm Schrage podaj cy kolejno± wykonywania zada«π S oraz C max ; oraz Schrage dla problemu z podziaªem zada«podaj - cy C max. Oba w dwóch wersjach, o zªo»ono±ciach obliczeniowych caªego algorytmu: O(n log n) oraz O(n 2 ). St d odda nale»y cztery algorytmy. Podczas sprawdzania programu krótka rozmowa o ró»nicy pomi dzy implementacjami o ró»nej zªo»ono±ci obliczeniowej. Wskazówka: w celu uzyskania zªo»ono±ci O(n log n) mo»na zastosowa struktury danych przechowuj ce uporz dkowany zbiór o czasie budowy/ dost pu O(log n). Tak struktur mo»e by na przykªad kopiec lub kolejka priorytetowa. Uwaga! Je±li kto± jest zainteresowany materiaªami dotycz cymi kursu, ksi»ka prowadz cego wykªad prof. Smutnickiego wydaje si by dobrym pomysªem. Mo»na j znale¹ w internecie pod adresem: http://www.kierunkizamawiane. pwr.wroc.pl/materialy/smut.pdf. 4

Tabela 1: Prawidªowe wyniki dla alg. Schrage i Schrage Pmtn. algorytm instancje 50 100 200 suma Schrage 1513 3076 6416 11005 Schrage Pmtn 1492 3070 6398 10960 W przypadku znalezienia bª du w niniejszym dokumencie, prosz o kontakt mailowy. 5