Przykªady problemów optymalizacji kombinatorycznej

Podobne dokumenty
Lab. 02: Algorytm Schrage

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Problemy optymalizacyjne - zastosowania

Ewolucja Ró»nicowa - Wprowadzenie

Przykłady problemów optymalizacyjnych

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

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

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

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

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

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

1 Stos: Stack i Stack<T>

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

Matematyka dyskretna dla informatyków

Rachunek ró»niczkowy funkcji jednej zmiennej

Listy i operacje pytania

Optymalizacja. Wybrane algorytmy

ALGORYTMY SORTOWANIA DANYCH

Wnioskowanie Boolowskie i teoria zbiorów przybli»onych

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

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Analiza Matematyczna MAT1317

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

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

METODY SZTUCZNEJ INTELIGENCJI

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

1 Granice funkcji wielu zmiennych.

Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ

Programowanie wspóªbie»ne

2 Liczby rzeczywiste - cz. 2

Metody numeryczne i statystyka dla in»ynierów

Materiaªy do Repetytorium z matematyki

Rozdziaª 13. Przykªadowe projekty zaliczeniowe

Metody numeryczne i statystyka dla in»ynierów

Podstawy modelowania w j zyku UML

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

Dokªadna arytmetyka liczb rzeczywistych w j zyku Python

Algorytmy metaheurystyczne podsumowanie

Ukªady równa«liniowych

Notatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne.

Metodydowodzenia twierdzeń

Podstawy Informatyki. Sprawność algorytmów

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

Wykªad 4. Droga i cykl Eulera i Hamiltona

ALGORYTMIKA Wprowadzenie do algorytmów

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

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

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

Macierze i Wyznaczniki

Metody optymalizacji dyskretnej. Metody przybliżone

Wstęp do programowania

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Programowanie wspóªbie»ne

Model obiektu w JavaScript

SZTUCZNA INTELIGENCJA

Metody Optymalizacji: Przeszukiwanie z listą tabu

x y x y x y x + y x y

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

Wprowadzenie do złożoności obliczeniowej

1 Bª dy i arytmetyka zmiennopozycyjna

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Algorytmika Problemów Trudnych

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Arytmetyka zmiennopozycyjna

Przekroje Dedekinda 1

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

2004 Goodrich, Tamassia

Proste modele o zªo»onej dynamice

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

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

Funkcje wielu zmiennych

Funkcje wielu zmiennych

9. Schematy aproksymacyjne

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

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

Rys.2 N = H (N cos = N) : (1) H y = q x2. y = q x2 2 H : (3) Warto± siªy H, która mo»e by uto»samiana z siª naci gu kabla, jest równa: z (3) przy

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Skrypt do Algorytmów i Struktur Danych

Bazy danych. Andrzej Łachwa, UJ, /15

det A := a 11, ( 1) 1+j a 1j det A 1j, a 11 a 12 a 21 a 22 Wn. 1 (Wyznacznik macierzy stopnia 2:). = a 11a 22 a 33 +a 12 a 23 a 31 +a 13 a 21 a 32

*** Teoria popytu konsumenta *** I. Pole preferencji konsumenta 1. Przestrze«towarów 2. Relacja preferencji konsumenta 3. Optymalny koszyk towarów

MODEL HAHNFELDTA I IN. ANGIOGENEZY NOWOTWOROWEJ Z UWZGL DNIENIEM LEKOOPORNO CI KOMÓREK NOWOTWOROWYCH

COLT - Obliczeniowa teoria uczenia si

O seminarium Algorytmika

Informatyka 1. Złożoność obliczeniowa

Funkcje, wielomiany. Informacje pomocnicze

Techniki optymalizacji

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

Macierze. Dziaªania na macierzach. 1. Niech b d dane macierze , D = , C = , B = 4 12 A = , F = , G = , H = E = a) Obliczy A + B, 2A 3B,

2004 Goodrich, Tamassia

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

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

Optymalizacja. Algorytmy dokładne

INFORMATOR TECHNICZNY WONDERWARE

Transkrypt:

Przykªady problemów optymalizacji kombinatorycznej Problem Komiwoja»era (PK) Dane: n liczba miast, n Z +, c ji, i, j {1,..., n}, i j odlegªo± mi dzy miastem i a miastem j, c ji = c ij, c ji R +. Zadanie: Znale¹ permutacj miast π, dla której T C(π ) = n 1 j=1 c π (j)π (j+1) + c π (n)π (1) min. n, c ij (i, j {1,..., n}) parametry PK; permutacja π rozwi zanie PK (π rozwi zanie optymalne); T C funkcja celu.

Przykładowa instancja PK n = 5 2 c 12 (= c 21 ) = 9 1 c 13 = 7 c 34 = 6 c 14 = 6 c 23 = 4 c 25 = 10 3 c 35 = 8 4 c 45 = 10 5

Przykładowe rozwiązanie π 1 instancji PK π 1 = < 1, 2, 5, 4, 3 > c 12 = 9 1 c 13 = 7 c 34 = 6 c 14 = 6 2 c 23 = 4 c 25 = 10 3 c 35 = 8 4 c 45 = 10 5 TC(π 1 ) = 9 + 10 + 10 + 6 + 7 = 42

Rozwiązanie π 2 π 2 = < 1, 3, 2, 5, 4 > c 12 = 9 1 c 13 = 7 c 34 = 6 c 14 = 6 2 c 23 = 4 c 25 = 10 3 c 35 = 8 TC(π 2 ) = 37 < TC(π 1 ) = 42 4 c 45 = 10 5

Problem Plecakowy (PP) Dane: A = {a 1, a 2,..., a n } zbiór n przedmiotów, n Z +, s j, j = 1,..., n rozmiar przedmiotu a j, s j Z +, w j, j = 1,..., n warto± przedmiotu a j, w j Z +, B rozmiar plecaka. Zadanie: Znale¹ podzbiór A A zbioru przedmiotów taki,»e T S = T W = j A s j B oraz j A w j max. n, A, s j, w j (j = 1,..., n) parametry PP; podzbiór A rozwi zanie PP; T W funkcja celu (T S dodatkowe ograniczenie).

Przykªadowa instancja PP n = 5, A = {a 1, a 2, a 3, a 4, a 5 }, j 1 2 3 4 5 s j 5 3 2 4 5 w j 3 4 2 6 1 B = 10. Rozwi zanie (dopuszczalne) optymalne: A = {a 2, a 3, a 4 }, j A s j = 9 B = 10, j A w j = 12.

Problem szeregowania zada«1 r j C max Dane: J = {J 1, J 2,..., J n } zbiór n zada«, n Z +, pojedynczy procesor maj cy zrealizowa wszystkie zadania J 1,..., J n, p j, j = 1,..., n czas wykonywania (dªugo± ) zadania J j, p j R +, r j, j = 1,..., n termin dost pno±ci zadania J j, r j R + {0}, Zadanie: Znale¹ permutacj zada«π, dla której C max = max {C π j J (j)} min, gdzie C π (j) = S π (j) + p π (j) jest czasem zako«czenia wykonywania zadania zajmuj cego j-t pozycj w π ; S π (j) = max{c π (j 1), r π (j)} czas rozpocz cia wykonywania zadania π (j), C π (0) = 0, j = 1,..., n.

Na czym polega trudno± rozwi zania problemów optymalizacji kombinatorycznej? Liczno± zbioru rozwi za«x wi kszo±ci realnie istniej cych problemów jest tak du»a,»e: (a) procedura polegaj ca na sprawdzeniu wszystkich mo»liwych rozwi za«problemu (tzw. przegl d zupeªny), i wyznaczenie w±ród nich rozwi zania optymalnego, wymaga nieakceptowalnie dªugiego czasu (np. milionów lat); (b) skonstruowanie algorytmów wyznaczaj cych optymalne (b d¹ chocia» bliskie optymalnym) rozwi zania tych problemów w sensownym czasie jest zadaniem nietrywialnym.

Funkcja zªo»ono±ci obliczeniowej algorytmu A f A (N(I)) = max{t : t ilo± operacji (jednostek czasu) potrzebnych do rozwi zania dowolnej instancji I problemu o rozmiarze N(I) przez algorytm A} (N(I) = n) W praktyce wa»ny jest tylko ksztaªt funkcji f A (N(I)) (tzn. jej zachownie dla rosn cych warto±ci rozmiaru problemu N(I)), a nie konkretny czas (konkretne warto±ci funkcji f A ). Notacja O( ) funkcja f(n) jest rz du O(g(n)) je±li c,n n N 0 f(n) c g(n), czyli f(n) c dla n, g(n) (tzn. dla n funkcje f(n) i g(n) zachowuj si podobnie).

Przykªady: f(n) O(g(n)) n 2 2n + 5 O(n 2 ) 1 2 n π log n 2 O(n log n) 1 2 nπ log n 2 O(n log n ) 2 3n 8 O(2 n ) n! 100n 25 + 0, 3n 0,3 O(n!)

Czasy dziaªania algorytmów o okre±lonych funkcjach zªo»ono±ci obliczeniowej, przy zaªo»eniu,»e jedna operacja matematyczna zajmuje 1µs. f A (n) 10 20 30 40 50 60 n O(n) 0,00001 s 0,00002 s 0,00003 s 0,00004 s 0,00005 s 0,00006 s O(n 2 ) 0,0001 s 0,0004 s 0,0009 s 0,0016 s 0,0025 s 0,0036 s O(n 5 ) 0,1 s 3,2 s 24,3 s 1,7 min 5,2 min 13 min O(n 10 ) 2,7 h 118,5 dni 18,7 lat 3,3 30,9 192 wieków wieków wieki O(2 n ) 0,001 s 1,0 s 17,9 min 12,7 dni 35,7 lat 366 wieków O(3 n ) 0,59 s 58 min 6,5 roku 3855 2 * 10 8 1,3 * 10 13 wieków wieków wieków O(n!) 3,6 s 770 8,4 *10 16 2,5 * 10 32 9,6 * 10 48 2,6 * 19 66 wieków wieków wieków wieków wieków

Wpªyw wzrostu szybko±ci komputerów na czasy dziaªania algorytmów o okre±lonych funkcjach zªo»ono±ci obliczeniowej. f A (n) Rozmiar instancji rozwi zywany Rozmiar instancji rozwi zywany w okre±lonym czasie przez w tym samym czasie przez wolny komputer komputer 1000 razy szybszy O(n) n 1 1000 n 1 O(n 2 ) n 2 31, 62 n 2 O(n 5 ) n 3 3, 98 n 3 O(n 10 ) n 4 1, 99 n 4 O(2 n ) n 5 n 5 +10 O(3 n ) n 6 n 6 +6 n 7 +3 dla n 7 10 O(n!) n 7 n 7 +2 dla 10 < n 7 30 n 7 +1 dla 30 < n7 1000

Rodzaje algorytmów ze wzgl du na zªo»ono± obliczeniow : Algorytmy wielomianowe algorytmy, których funkcja zªo»ono±ci obliczeniowej f(n) jest rz du O(p(n)), gdzie p(n) jest pewnym wielomianem zale»nym od rozmiaru problemu n, np. O(n), O(n 2 ), O(n log n) (algorytmy efektywne obliczeniowo). Algorytmy wykªadnicze (ponadwielomianowe) algorytmy, których funkcji zªo»ono±ci obliczeniowej f(n) nie da si ograniczy»adnym wielomianem p(n), np. O(2 n ), O(n log n ), O(n!) (algorytmy nieefektywne obliczeniowo).

Klasy zªo»ono±ci algorytmów: 1. Klasa P zawiera wszystkie problemy, dla których skonstruowano wielomianowe algorytmy optymalne. 2. Klasa NP zawiera wszystkie problemy, dla których skonstruowano wykªadnicze algorytmy optymalne. P NP, poniewa» je±li dla pewnego problemu mamy alg. wielomianowy, zawsze mo»emy skonstruowa alg. mniej efektywny (wykªadniczy), np. przegl d zupeªny. 3. Klasa problemów NP-trudnych podklasa NP problemów wielomianowo ekwiwalentnych, dla których (najprawdopodobniej) nie mo»naskonstruowa algorytmów wielomianowych. NP trudne NP, ale P NP trudne=. 4. Klasa problemów silnie NP-trudnych podklasa problemów NPtrudnych, których nie mo»na rozwi za optymalnie w czasie pseudowielomianowym.

Dokªadne okre±lenie przynale»no±ci danego problemu do klasy zªo»ono±ci pozwala skonstruowa najodpowiedniejsze algorytmy jego rozwi zania. W tym celu: (i) albo szukamy dla danego problemu optymalnego algorytmu wielomianowego (klasa P), (ii) albo udowadniamy jego (siln ) NP-trudno±, przy czym nie ma reguªy, od którego z punktów nale»y zacz analiz. Problemy, dla których nie skonstruowano algorytmów wielomianowych (i) ani nie udowodniono (silnej) NP-trudno±ci (ii), tworz klas tymczasow (tzw. problemów otwartych).

W praktyce: 9% istniej cych problemów nale»y do klasy P, 84% nale»y do klasy problemów NP-trudnych, z czego 79% nale»y do klasy problemów silnie NP-trudnych, 7% to problemy otwarte.

klasa NP klasa P probl. NP-trudne probl. silnie NP-trudne probl. otwarte

Rodzaje algorytmów (metod) optymalnych: Wielomianowe algorytmy dokªadne (dedykowane) tylko dla problemów z klasy P. Programowanie dynamiczne gªównie dla problemów NP-trudnych w zwykªym sensie (tzn. nie silnie NP-trudnych). Programowanie caªkowitoliczbowe. Metoda podziaªu i ogranicze«gªównie dla problemów (silnie) NPtrudnych. Przegl d zupeªny.

Rodzaje algorytmów (metod) przybli»onych: Algorytmy konstrukcyjne i zachªanne gªównie dla problemów NPtrudnych. Algorytmy typu popraw gªównie dla problemów (silnie) NP-trudnych: lokalnego poszukiwania (np. poszukiwanie zst puj ce, poszukiwanie losowe), metaheurystyczne (np. poszukiwanie z zabronieniami (tabu search), symulowane wy»arzanie, poszukiwanie genetyczne (ewolucyjne), poszukiwanie mrówkowe). Wielomianowe i w peªni wielomianowe schematy aproksymacyjne gªównie dla problemów NP-trudnych.