PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

Wielkość: px
Rozpocząć pokaz od strony:

Download "PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory"

Transkrypt

1 PLAN WYKŁADU Specyfika zadania komiwojażera Reprezentacje Operatory OPTYMALIZACJA GLOBALNA Wykład 5 dr inż. Agnieszka Bołtuć ZADANIE KOMIWOJAŻERA Koncepcja: komiwojażer musi odwiedzić każde miasto na swoim terytorium dokładnie raz i wrócić do punktu startowego; należy zaplanować trasę (znając odległości pomiędzy miastami) tak aby zminimalizować cały koszt objazdu Przestrzeń rozwiązań: zbiór permutacji n miast Rozwiązanie: permutacja n miast Rozwiązanie optymalne: permutacja dla której koszt objazdu jest najmniejszy Symetryczny problem komiwojażera (STSP) polega na tym, że odległość pomiędzy miastami A i B jest zawsze taka sama. W asymetrycznym problemie komiwojażera (ATSP) odległość od miasta A do miasta B może być inna, niż odległość od miasta B do miasta A. Jest zadaniem NP-trudnym i pojawia się w licznych zastosowaniach METODY ROZWIĄZYWANIA Algorytm najbliższego sąsiada, Algorytm zachłanny, Algorytm najbliższego i najdalszego wstawiania, Podwajanego najkrótszego drzewa rozpinającego, Oddzielenia powłoki wypukłej, itd. 1

2 WYBÓR REPREZENTACJI I FUNKCJI OCENY Funkcja oceny dla każdego rozwiązania (permutacji miast) można wyliczyć łączną długość trasy odwołując się do tablicy z odległościami pomiędzy miastami, po n-1 dodatkowych operacjach mamy wyliczony koszt przejścia trasy, Reprezentacja: binarna? mało efektywna np. 20 miast każde miasto kodowane na co najmniej 5 bitach każda trasa n*5=100 bitów populacja o liczności m -> m*100 bitów WYBÓR REPREZENTACJI I FUNKCJI OCENY Wymaga specjalnych algorytmów naprawy w związku z mutacją i krzyżowaniem, które mogą powodować wychodzenie chromosomu poza przestrzeń dopuszczalnych rozwiązań : zmiana jednego bitu może prowadzić do trasy niedopuszczalnej np = =23 10 operatory mogą powodować podwójne wystąpienie tego samego miasta lub jego brak np = =18 10 WYBÓR REPREZENTACJI I FUNKCJI OCENY Reprezentacja całkowitoliczbowa v i i,..., 1, 2 i n i i2 1 reprezentuje trasę z 1 do,, z in do in i z powrotem do. i 1 Wyróżnia się trzy reprezentacje wektorowe: reprezentacja przyległościowa reprezentacja porządkowa reprezentacja ścieżkowa REPREZENTACJA PRZYLEGŁOŚCIOWA Miasto j znajduje się na pozycji i wtedy i tylko wtedy, jeżeli trasa wiedzie z miasta i do miasta j reprezentacja ( ) trasa Każda trasa to jedna reprezentacja, Pewne reprezentacje mogą przedstawić trasy niedopuszczalne ( ) trasa częściowa z niepełnym cyklem 2

3 REPREZENTACJA PRZYLEGŁOŚCIOWA Operatory krzyżowania: Z wymianą krawędzi Z wydzielaniem podtras Krzyżowanie heurystyczne KRZYŻOWANIE Z WYMIANĄ KRAWĘDZI Zasada: potomka tworzy się, wybierając losowo krawędź pierwszego rodzica, następnie wybierając odpowiednią krawędź drugiego rodzica itd., trasę tworzy się wybierając krawędzie na zmianę od obu rodziców, Jeżeli nowa krawędź (od jednego z rodziców) wprowadza cykl do bieżącej (nadal częściowej) trasy, to operator wybiera w zamian krawędź z pozostałych krawędzi, taką która nie wprowadza cyklu. KRZYŻOWANIE Z WYMIANĄ KRAWĘDZI Rodzice P1 = ( ) P2 = ( ) Potomek O1 = ( ) Początek to krawędź 1-2 z rodzica P1 Krawędź 7-8 wprowadzałaby niepełny cykl dlatego losowo zamieniamy na 7-6 KRZYŻOWANIE Z WYDZIELANIEM PODTRAS Zasada: potomka tworzy się wybierając podtrasę o losowej długości od jednego z rodziców, a następnie od drugiego itd. - operator rozszerza trasę, wybierając krawędzie na zmianę od rodziców, Stosowana ta sama technika zapobiegania zamknięciu cyklu poprzez zamianę na losowo wybrana krawędź. 3

4 KRZYŻOWANIE HEURYSTYCZNE Zasada: potomka tworzy się, wybierając przypadkowe miasto jako punkt startowy dla trasy potomka, następnie porównuje się dwie krawędzie z obu rodziców wychodzące z tego miasta i wybiera krawędź krótszą, miasto na końcu krawędzi jest nowym punktem startowym, Należy pilnować czy nie ma cykli: np. losowa zamiana, jeśli krótsza tworzy cykl to sprawdzamy dłuższą i jest ona dopuszczalna CHARAKTERYSTYKA DZIAŁANIA OPERATORÓW Słabe działanie wszystkich operatorów w tej reprezentacji, Najlepszym operatorem jest krzyżowanie heurystyczne, Dwa pozostałe są ślepe nie biorą pod uwagę długości ścieżek i mogą rozrywać potencjalnie dobrą trasę. REPREZENTACJA PORZĄDKOWA Trasa to jako ciąg n miast, przy czym i-ty element jest liczbą z zakresu od 1 do n-i+1, Idea: mamy uporządkowany ciąg miast C, który jest punktem odniesienia dla ciągów w reprezentacji porządkowej, ciąg miast C=() trasa reprezentacja ( ) REPREZENTACJA PORZĄDKOWA Interpretacja Pierwsza wartość w reprezentacji to 1, pierwsze miasto z ciągu C będzie pierwszym miastem trasy, 1 zostaje usunięte z C, trasa 1 C=( ) Następna wartość z reprezentacji to też 1, pierwsze miasto z C to 2, więc trasa z 1 do 2 i dwa usuwamy z C, trasa 1-2 C=( ) 4

5 REPREZENTACJA PORZĄDKOWA Następna wartość z reprezentacji to 2, drugie miasto z C to 4, więc trasa z 2 do 4 i 4 usuwamy z C, trasa C=( ) Następna wartość z reprezentacji to 1, pierwsze miasto z C to 3, więc trasa z 4 do 3 i 3 usuwamy z C, trasa C=( ) itd. REPREZENTACJA PORZĄDKOWA - KRZYŻOWANIE Działa klasyczne połączone dwie dowolne trasy dają dwóch potomków dopuszczalnych, p1=( ) p2=( ) o1=( ) o2=( ) Słabe wyniki dla zadania komiwojażera REPREZENTACJA ŚCIEŻKOWA Najbardziej naturalna, trasa reprezentacja ( ) Operatory krzyżowania: krzyżowanie z częściowym odwzorowaniem (PMX), z porządkowaniem (OX) oraz cykliczne (CX). KRZYŻOWANIE PMX tworzy się potomka, wybierając podtrasę od jednego rodzica i pozostawiając porządek i pozycje tak wielu miast drugiego rodzica, jak tylko jest to możliwe, Podtrasę wybiera się przez dwa losowe punkty cięcia, które służą jako granice dla operatorów wymieniających, 5

6 KRZYŻOWANIE PMX P1=() P2=( ) etap 1 wymiana środków O1=(x x x x x) 1<->4, 8<->5, O2=(x x x x x) 7<->6, 6<->7 etap 2 wstawiamy od rodziców początkowych te miasta dla których nie zachodzi konflikt O1=(x x 9) O2=(x x ) KRZYŻOWANIE PMX Etap 3 uzupełniamy resztę wykorzystując odwzorowania ze środków O1=( ) O2=( ) Pierwsza w O1 powinna być 1, ale się powtarza, więc wykorzystujemy zależność 1<->4. Przedostatnia powinna być 8, ale się powtarza, więc wykorzystujemy zależność 8<->5. KRZYŻOWANIE OX tworzy się potomka, wybierając podtrasę od jednego rodzica i pozostawiając wzajemne uporządkowanie miast z drugiego rodzica, P1=() P2=( ) etap 1 odcinki pomiędzy punktami cięć kopiowane są do potomków O1=(x x x x x) O2=(x x x x x) KRZYŻOWANIE OX etap 2 - zaczynając od drugiego punktu cięcia jednego z rodziców, kopiuje się miasta z drugiego rodzica w tym samym porządku, omijając jedynie symbole już obecne w trasie; po osiągnięciu końca łańcucha zaczynamy od pierwszego miejsca łańcucha P2 = (od drugiego punktu cięcia) P2 = (po usunięciu miast które są w O1) O1 =( ) O2 =( ) 6

7 KRZYŻOWANIE OX W krzyżowaniu OX korzysta się z tego, że w reprezentacji ścieżkowej ważne jest uporządkowanie miast (a nie ich pozycja), Oznacza to, że dwie trasy są jednakowe. KRZYŻOWANIE CX tworzy się potomków w taki sposób, że każde miasto (i jego pozycja) pochodzi od jednego z rodziców, P1 =() P2 =( ) O1 =(1 x x x x x x x x) pierwsze miasto z P1 O1 =(1 x x 4 x x x x x) bo w P2 na 1 pozycji mamy 4, zaś 4 w P1 znajduje się na 4 pozycji O1 =(1 x x 4 x x x 8 x) - bo w P2 na pozycji 4 mamy 8, a 8 w P1 jest na pozycji 8, KRZYŻOWANIE CX O1 =( x x x 8 x) dwa kolejne ruchy, jednak 2 wskazuje na 1 w P2, więc tworzy się cykl, O1 =( ) pozostałe miast wstawiamy od rodzica P2, O2= ( ) CX zachowuje bezwzględne pozycje elementów u rodziców. INNE OPERATORY DLA REPREZENTACJI ŚCIEŻKOWEJ Modyfikacja OX nr 1 - krzyżowanie bazujące na porządku wybiera się losowo kilka miejsc w wektorze i porządek miast w wybranych pozycjach jednego rodzica jest narzucany odpowiednim pozycjom u drugiego rodzica P1 = () P2 = ( ) losowe pozycje

8 INNE OPERATORY DLA REPREZENTACJI ŚCIEŻKOWEJ Miasta na tych pozycjach (w zadanym porządku) w P2 to 2, 8, 6 i 5 P2 = ( ) Te miasta w P1 mamy na pozycjach P1 = () Pierwszy potomek będzie kopią P1 na wszystkich pozycjach wyjątkiem pozycji 2, 5, 6 i 8 O1 = (1 x 3 4 x x 7 x 9) Pozostałe elementy wstawia się zgodnie z uporządkowaniem u rodzica P2 (2, 8, 6, 5) O1 = ( ) INNE OPERATORY DLA REPREZENTACJI ŚCIEŻKOWEJ Miasta na tych pozycjach (w zadanym porządku) w P1 to 3, 4, 6 i 9 P1 = () Te miasta w P2 mamy na pozycjach 8, 1, 6, 7 P2 = ( ) Drugi potomek będzie kopią P2 na wszystkich pozycjach wyjątkiem pozycji 8, 1, 6 i 7 O2 = (x x x x 5) Pozostałe elementy wstawia się zgodnie z uporządkowaniem u rodzica P1 (3, 4, 6, 9) O2 = ( ) INNE OPERATORY DLA REPREZENTACJI ŚCIEŻKOWEJ Modyfikacja OX nr 2 - krzyżowanie bazujące na pozycjach PORÓWNANIE OX, PMX, CX wyniki obliczeń podane w artykule Olivera mówią, że podobna do oryginalnego krzyżowania z uporządkowaniem, OX jest o 11% lepszy niż PMX i o 15% lepszy niż CX. różnicą polega na tym, że w krzyżowaniu bazującym na pozycjach, zamiast wybierać jedną podtrasę miast do skopiowania, wybiera się losowo kilka miast. 8

9 KLASA OPERATORÓW Z NACISKIEM NA KRAWĘDZIE SCHEMAT DZIAŁANIA: 60% krawędzi od rodziców 40% losowych wybierz losowo bieżące miasto potomka, wybierz cztery krawędzie związane z bieżącym miastem, określ rozkład prawdopodobieństwa dla wybranych krawędzi, biorąc pod uwagę związany z nimi koszt; prawdopodobieństwo dla krawędzi związanej z poprzednio odwiedzonym miastem = 0, wybierz krawędź; jeżeli przynajmniej jedna krawędź ma niezerowe prawdopodobieństwo, to wybieramy na podstawie rozkładu prawdopodobieństwa; jeżeli nie, to wybór następuje losowo z jeszcze nie odwiedzonych miast, miasto po drugiej stronie" wybranej krawędzi staje się miastem bieżącym, jeżeli trasa jest zakończona, to koniec; jeżeli nie, to idziemy do kroku numer dwa. KRZYŻOWANIE Z REKOMBINACJĄ KRAWĘDZI Główna idea polega na budowaniu potomka wyłącznie z krawędzi obecnych u obu rodziców, Tworzona jest lista krawędzi z tras obu rodziców, Lista krawędzi podaje dla każdego miasta wszystkie inne miasta połączone z nim przynajmniej u jednego z rodziców. Dla każdego miasta, na liście znajdują się przynajmniej dwa i najwyżej cztery miasta. KRZYŻOWANIE Z REKOMBINACJĄ KRAWĘDZI P1 =() P2 =( ) m 1: krawędzie do innych miast: m 2: krawędzie do innych miast: m 3: krawędzie do innych miast: m 4: krawędzie do innych miast: m 5: krawędzie do innych miast: m 6: krawędzie do innych miast: m 7: krawędzie do innych miast: 6 8 m 8: krawędzie do innych miast: m 9: krawędzie do innych miast: KRZYŻOWANIE Z REKOMBINACJĄ KRAWĘDZI Etapy: wybór początkowego miasta u jednego z rodziców, z listy krawędzi wybiera się miasto z najmniejszą liczbą krawędzi (jeżeli jest ich więcej to wybiera się losowo), wybrane miasto staje się początkowym do kolejnego kroku. 9

10 KRZYŻOWANIE Z REKOMBINACJĄ KRAWĘDZI Przykład: pierwsze miasto to 1 z 1 mamy krawędzie do 9 (4), 2 (3) i 4 (3), wybieram losowo z 2 i 4 4, wybrane miasto 4, 4 prowadzi do 3 (4) i 5 (3), wybieramy 5, Aktualny stan potomka (1 4 5 x x x x x x) Ostatecznie potomek ( ) 95% krawędzi od rodziców dla zadań z 30, 50 i 75 miastami daje lepsze wyniki niż dotychczas znane MODYFIKACJA KRZYŻOWANIA Z REKOMBINACJĄ KRAWĘDZI Przyczyna modyfikacji: wspólne podtrasy (występujące u obu rodziców) w krzyżowaniu z rekombinacją krawędzi nie zachowywały się, Idea polega na oznaczaniu krawędzi, które znajdują się u obu rodziców, Algorytm budowy nowego potomka daje priorytet zaznaczonym miastom, Ważne jedynie gdy na liście są trzy miasta, zaś w pozostałych przypadkach albo nie ma zaznaczonych miast, albo oba miasta są zaznaczone, Poprawia wyniki działania. MODYFIKACJA KRZYŻOWANIA Z REKOMBINACJĄ KRAWĘDZI P1 =() P2 =( ) m 1: krawędzie do innych miast: m 2: krawędzie do innych miast: m 3: krawędzie do innych miast: m 4: krawędzie do innych miast: m 5: krawędzie do innych miast: m 6: krawędzie do innych miast: m 7: krawędzie do innych miast: -6-8 m 8: krawędzie do innych miast: m 9: krawędzie do innych miast: INNE REPREZENTACJE - REPREZENTACJA MACIERZOWA Odmiana nr 1 - Fox i McMahon Element macierzy m ij w wierszu i oraz kolumnie j jest w niej jedynką wtedy i tylko wtedy, gdy miasto i znajduje się na trasie przed miastem j, trasa ( ) reprezentacja

11 REPREZENTACJA MACIERZOWA W tej reprezentacji macierz M o wymiarze n x n reprezentująca trasę ma następujące właściwości: jest w niej dokładnie n(n 1) / 2 jedynek, m ii = 0 dla wszystkich 1 i, n jeżeli m ij = 1 i m jk = 1, to m ik = 1. Jeżeli liczba jedynek w macierzy jest mniejsza niż n(n 1) / 2 i są spełnione dwa pozostałe warunki, to miasta są częściowo uporządkowane. Oznacza to, że można uzupełnić taką macierz (przynajmniej na jeden sposób), tak aby dostać dopuszczalną trasę (pełne uporządkowanie). REPREZENTACJA MACIERZOWA - OPERATORY Opracowano dwa nowe operatory: przecięcie i zespolenie, Oba są dwuargumentowe, Przecięcie Operator przecięcia korzysta z tego, że wyodrębnienie części wspólnej bitów w obu macierzach prowadzi do macierzy, w której: liczba jedynek jest nie większa niż n(n 1) / 2, pozostałe dwa warunki są spełnione; możemy więc uzupełnić taką macierz, aby uzyskać dopuszczalną trasę. OPERATOR PRZECIĘCIA P1 = () P2 = ( ) pierwsza faza operatora przecięcia OPERATOR PRZECIĘCIA Kolejny etap polega na wyborze jednego rodzica i dodaniu" jedynek (które występują tylko u tego rodzica), uzupełniając macierz do ciągu przez analizę sum wierszy i kolumn, trasa ( ) 11

12 OPERATOR ZESPOLENIA Bazuje na fakcie, że podzbiór bitów jednej macierzy można bezpiecznie połączyć z podzbiorem bitów drugiej macierzy, jeżeli mają one puste przecięcie, Dokonuje się podziału zbioru miast na dwie rozłączne grupy, Dla pierwszej grupy miast kopiuje się bity z pierwszej macierzy, a dla drugiej grupy z drugiej macierzy. Wreszcie uzupełnia się macierz będącą reprezentacją ciągu przez analizę sumy wierszy i kolumn. OPERATOR ZESPOLENIA P1 = (1, 2, 3,4) P2 = (5, 6, 7, 8,9) x x x x x x x x x x x x x x x x x x x x 5 x x x x x x x x x x x x x x x x x x x x INNE REPREZENTACJE - REPREZENTACJA MACIERZOWA Odmiana nr 2 Seniw REPREZENTACJA MACIERZOWA trasa P =(1, 2, 4, 3, 8, 6, 5, 7, 9) Element macierzy m ij na przecięciu wiersza i oraz kolumny j jest jedynką wtedy i tylko wtedy, gdy trasa wiedzie z miasta i bezpośrednio do miasta j, W każdym wierszu i kolumnie macierzy jest tylko jeden niezerowy element. reprezentacja ale także trasy P2 = (2, 4, 3, 8, 6, 5, 7, 9, 1), P3 = (4, 3, 8, 6, 5, 7, 9, 1, 2) 12

13 REPREZENTACJA MACIERZOWA Chromosomy z macierzy binarnych mogą reprezentować wielokrotne podtrasy; każda z nich może być odrębnym cyklem, bez połączenia z inną podtrasą w chromosomie, REPREZENTACJA MACIERZOWA Podtrasy są dopuszczane, Po zakończeniu AE są one łączone w trasę (przez kolejne łączenie par podtras za pomocą algorytmu deterministycznego), Niedozwolone są jedynie trasy z jednym miastem, Na podstawie badań wybrano najniższą granicę q = 3 (q - parametr metody) miast w podtrasie, aby algorytm genetyczny nie sprowadził zadania komiwojażera do dużej liczby podtras obejmujących bardzo mało miast. podtrasy (1, 2, 4, 5, 7) i (3, 8, 6, 9) REPREZENTACJA MACIERZOWA REPREZENTACJA MACIERZOWA - MUTACJA losowo wybiera kilka wierszy i kolumn w chromosomie, usuwa zbiór bitów na przecięciach tych wierszy i kolumn, a następnie zamienia je w możliwie innych konfiguracjach źródło: Z. Michalewicz Algorytmy genetyczne + struktury danych = programy ewolucyjne P =(1, 2, 4, 3, 8, 6, 5, 7, 9) losowo wybrane wiersze: 4, 6, 7, 9 oraz kolumny 1, 3, 5, 8 i otrzymane podtrasy (1, 2, 4, 5, 7) i (3, 8, 6, 9) 13

14 REPREZENTACJA MACIERZOWA - KRZYŻOWANIE Krok pierwszy macierz potomka wypełniona zerami, Krok drugi - bada się dwa chromosomy rodziców i kiedy odkryje się te same zbiory bitów (to znaczy 1) u obu rodziców (jednakowe wiersze i kolumny), to wstawia się ten bit u dziecka, Krok trzeci - kopiuje się zbiory bitów od rodziców (na zmianę) tak długo, aż nie pozostaną u żadnego rodzica bity, które można skopiować bez naruszenia podstawowych ograniczeń wynikających z konstrukcji chromosomu, Krok czwarty - jeżeli jakiś wiersz chromosomu dziecka nadal nie zawiera zbioru bitów, wypełnia się je losowo. REPREZENTACJA MACIERZOWA - KRZYŻOWANIE (1,5,3,7,8) i (2,4,9,6) (1,5,6,2,7,8,3,4,9) REPREZENTACJA MACIERZOWA - KRZYŻOWANIE Etap 2 Etap potomek (1, 5, 6, 2, 3, 4, 9, 7, 8) INNE REPREZENTACJE - REPREZENTACJA MACIERZOWA Odmiana nr 3 Homaifar i Guan element m ij macierzy binarnej jest równy 1 wtedy i tylko wtedy, gdy miasta i oraz j są połączone krawędzią, nowe operatory: dwa macierzowe operatory krzyżowania (MX) oraz operator heurystycznej inwersji, 14

15 KRZYŻOWANIE krzyżowanie jednopunktowe - wymienia wszystkie elementy macierzy rodziców znajdujące się po jednym punkcie cięcia, krzyżowanie dwupunktowe - wymienia wszystkie elementy macierzy rodziców znajdujące się między dwoma punktami cięcia, dodatkowo uruchamia się algorytm naprawy", aby: usunąć powtórzenia - każdy wiersz i każda kolumna posiadają dokładnie jedną jedynkę, rozciąć i połączyć cykle (jeżeli są), aby utworzyć trasę dopuszczalną. KRZYŻOWANIE DWUPUNKTOWE ETAP 1 P1 = ( ) P2 = ( ) NIEDOPUSZCZALNY NIEDOPUSZCZALNY KRZYŻOWANIE DWUPUNKTOWE ETAP 2 Algorytm naprawy - krok 1 - przesuwa się niektóre jedynki w macierzy w taki sposób, aby każdy wiersz i każda kolumna zawierała dokładnie jedną 1, przykład: m 14 =1 m 84 =1 dla 1 potomka m 38 =1 m 28 =1 m 24 =1 m 24 =1 m 86 =1 m 16 =1 dla 2 potomka O1 = ( ) - dopuszczalna O2 = ( ) oraz (3 4) - niedopuszczalna KRZYŻOWANIE DWUPUNKTOWE ETAP 2 Algorytm naprawy - krok 2 jedynie do drugiego potomka, algorytm rozcina i łączy podtrasy w celu otrzymania trasy dopuszczalnej, bierze się pod uwagę krawędzie istniejące w początkowych rodzicach, przykład: O2 = ( ) oraz (3 4) krawędź 2-4 O2 = ( ) - dopuszczalna 15

16 INWERSJA HEURYSTYCZNA odwraca uporządkowanie miast między dwoma punktami cięcia, Udoskonalenia w stosunku do klasycznej inwersji: potomek jest akceptowany tylko wtedy, kiedy nowa trasa jest lepsza niż poprzednia, procedura inwersji wybiera jedno miasto z trasy i szuka poprawy przez inwersje (najniższego możliwego) rzędu 2 (odległość pomiędzy cięciami), pierwsza inwersja powodująca poprawę kończy procedurę inwersji, jeśli poprawy nie ma, to wykonuje się inwersje rzędu 3, itd. PROBLEM KOMIWOJAŻERA - PRZYKŁADY /TSPStart.html WYKŁAD PRZYGOTOWANO NA PODSTAWIE Z. Michalewicz Algorytmy genetyczne + struktury danych = programy ewolucyjne, WNT,

Algorytmy stochastyczne laboratorium 03

Algorytmy stochastyczne laboratorium 03 Algorytmy stochastyczne laboratorium 03 Jarosław Piersa 10 marca 2014 1 Projekty 1.1 Problem plecakowy (1p) Oznaczenia: dany zbiór przedmiotów x 1,.., x N, każdy przedmiot ma określoną wagę w(x i ) i wartość

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana

Bardziej szczegółowo

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB...

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB... MIO - LABORATORIUM Temat ćwiczenia: TSP - Problem komiwojażera Imię i nazwisko Rok ak. Gr. Sem. Komputer Data Podpis prowadzącego... 20 / EC3 VIII LAB...... Zadanie Zapoznać się z problemem komiwojażera

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne 9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Algorytm kolonii mrówek Idea Smuga feromonowa 1 Sztuczne mrówki w TSP Sztuczna mrówka agent, który porusza się z miasta do miasta Mrówki preferują miasta połączone łukami z dużą

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

Bardziej szczegółowo

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny Algorytmy stochastyczne, wykład 01 J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-21 In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) 1 2 3 Różne Orientacyjny

Bardziej szczegółowo

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane podstawowe rodzaje algorytmów Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

Algorytmy ewolucyjne (3)

Algorytmy ewolucyjne (3) Algorytmy ewolucyjne (3) http://zajecia.jakubw.pl/nai KODOWANIE PERMUTACJI W pewnych zastosowaniach kodowanie binarne jest mniej naturalne, niż inne sposoby kodowania. Na przykład, w problemie komiwojażera

Bardziej szczegółowo

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne NAZEWNICTWO Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne

Bardziej szczegółowo

Wyznaczanie optymalnej trasy problem komiwojażera

Wyznaczanie optymalnej trasy problem komiwojażera Wyznaczanie optymalnej trasy problem komiwojażera Optymalizacja w podejmowaniu decyzji Opracowała: mgr inż. Natalia Malinowska Wrocław, dn. 28.03.2017 Wydział Elektroniki Politechnika Wrocławska Plan prezentacji

Bardziej szczegółowo

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009 Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów

Bardziej szczegółowo

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1 2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań

Bardziej szczegółowo

Klasyczne zagadnienie przydziału

Klasyczne zagadnienie przydziału Klasyczne zagadnienie przydziału Można wyodrębnić kilka grup problemów, w których zadaniem jest odpowiednie rozmieszczenie posiadanych zasobów. Najprostszy problem tej grupy nazywamy klasycznym zagadnieniem

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolu4on strategies)

Strategie ewolucyjne (ang. evolu4on strategies) Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje

Bardziej szczegółowo

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP) & Zagadnienie komowojażera 1 Modele całkowitoliczbowe zagadnienia komiwojażera (TSP) Danych jest miast oraz macierz odległości pomiędzy każdą parą miast. Komiwojażer wyjeżdża z miasta o numerze 1 chce

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania

Bardziej szczegółowo

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson) Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson) 1 2 Wprowadzenie Sztandarowy problem optymalizacji kombinatorycznej. Problem NP-trudny. Potrzeba poszukiwania heurystyk. Chętnie

Bardziej szczegółowo

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Jest to technika probabilistyczna rozwiązywania problemów obliczeniowych, które mogą zostać sprowadzone do problemu znalezienie

Bardziej szczegółowo

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,

Bardziej szczegółowo

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17 Spis

Bardziej szczegółowo

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku WYKŁ 3 WYPŁNINI OSZRÓW. Wypełnianie wieloboku Zasada parzystości: Prosta, która nie przechodzi przez wierzchołek przecina wielobok parzystą ilość razy. Plan wykładu: Wypełnianie wieloboku Wypełnianie konturu

Bardziej szczegółowo

Algorytmy zrandomizowane

Algorytmy zrandomizowane Algorytmy zrandomizowane http://zajecia.jakubw.pl/nai ALGORYTMY ZRANDOMIZOWANE Algorytmy, których działanie uzależnione jest od czynników losowych. Algorytmy typu Monte Carlo: dają (po pewnym czasie) wynik

Bardziej szczegółowo

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne w interpolacji wielomianowej Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego

Bardziej szczegółowo

Algorytmy genetyczne w optymalizacji

Algorytmy genetyczne w optymalizacji Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy

Bardziej szczegółowo

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTMY GENETYCZNE ćwiczenia ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację

Bardziej szczegółowo

Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy. Dla dowolnego zbioru B Y określamy jego przeciwobraz:

Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy. Dla dowolnego zbioru B Y określamy jego przeciwobraz: Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy jego obraz: f(a) = {f(x); x A} = {y Y : x A f(x) = y}. Dla dowolnego zbioru B Y określamy jego przeciwobraz: f 1 (B) = {x X; f(x) B}. 1 Zadanie.

Bardziej szczegółowo

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć

Bardziej szczegółowo

5. Algorytm genetyczny przykład zastosowania

5. Algorytm genetyczny przykład zastosowania 5. Algorytm genetyczny przykład zastosowania Zagadnienie magicznych kwadratów Opis działania algorytmu Zagadnienie magicznych kwadratów polega na wygenerowaniu kwadratu n n, w którym elementami są liczby

Bardziej szczegółowo

OPTYMALIZACJA W LOGISTYCE

OPTYMALIZACJA W LOGISTYCE OPTYMALIZACJA W LOGISTYCE Optymalizacja zadań bazy transportowej ( część 1 ) Opracowano na podstawie : Stanisław Krawczyk, Metody ilościowe w logistyce ( przedsiębiorstwa ), Wydawnictwo C. H. Beck, Warszawa

Bardziej szczegółowo

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Wykład z modelowania matematycznego. Zagadnienie transportowe. Wykład z modelowania matematycznego. Zagadnienie transportowe. 1 Zagadnienie transportowe zostało sformułowane w 1941 przez F.L.Hitchcocka. Metoda rozwiązania tego zagadnienia zwana algorytmem transportowymópracowana

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-27 1 Mutacje algorytmu genetycznego 2 Dziedzina niewypukła abstrakcyjna

Bardziej szczegółowo

Algorytmy ewolucyjne Część II

Algorytmy ewolucyjne Część II Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Część II Metaheurystyki Treść wykładu Zastosowania Praktyczne aspekty GA Reprezentacja Funkcja dopasowania Zróżnicowanie dopasowania

Bardziej szczegółowo

Algorytmy genetyczne (AG)

Algorytmy genetyczne (AG) Algorytmy genetyczne (AG) 1. Wprowadzenie do AG a) ewolucja darwinowska b) podstawowe definicje c) operatory genetyczne d) konstruowanie AG e) standardowy AG f) przykład rozwiązania g) naprawdę bardzo,

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego

Bardziej szczegółowo

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

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu

Bardziej szczegółowo

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadanie 5 - Algorytmy genetyczne (optymalizacja) Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania

Bardziej szczegółowo

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują

Bardziej szczegółowo

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Treść wykładu Wprowadzenie Zasada działania Podział EA Cechy EA Algorytm genetyczny 2 EA - wprowadzenie Algorytmy ewolucyjne

Bardziej szczegółowo

Algorytmy ewolucyjne 1

Algorytmy ewolucyjne 1 Algorytmy ewolucyjne 1 2 Zasady zaliczenia przedmiotu Prowadzący (wykład i pracownie specjalistyczną): Wojciech Kwedlo, pokój 205. Konsultacje dla studentów studiów dziennych: poniedziałek,środa, godz

Bardziej szczegółowo

ZAGADNIENIE TRANSPORTOWE

ZAGADNIENIE TRANSPORTOWE ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,

Bardziej szczegółowo

Programowanie sieciowe. Tadeusz Trzaskalik

Programowanie sieciowe. Tadeusz Trzaskalik Programowanie Tadeusz Trzaskalik 8.1. Wprowadzenie Słowa kluczowe Drzewo rozpinające Minimalne drzewo rozpinające Najkrótsza droga w sieci Wierzchołek początkowy Maksymalny przepływ w sieci Źródło Ujście

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

Sortowanie. Bartman Jacek Algorytmy i struktury

Sortowanie. Bartman Jacek Algorytmy i struktury Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39

Bardziej szczegółowo

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69

Bardziej szczegółowo

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Algorytmy metaheurystyczne Wykład 6. Piotr Syga Algorytmy metaheurystyczne Wykład 6 Piotr Syga 10.04.2017 Wprowadzenie Inspiracje Wprowadzenie ACS idea 1 Zaczynamy z pustym rozwiązaniem początkowym 2 Dzielimy problem na komponenty (przedmiot do zabrania,

Bardziej szczegółowo

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w Metoda Simpleks Jak wiadomo, problem PL z dowolną liczbą zmiennych można rozwiązać wyznaczając wszystkie wierzchołkowe punkty wielościanu wypukłego, a następnie porównując wartości funkcji celu w tych

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Algorytmy na tablicach Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. III Jesień 2013 1 / 23 Dwadzieścia pytań Zasady 1 Osoba 1 wymyśla hasło z ustalonej

Bardziej szczegółowo

Suma dwóch grafów. Zespolenie dwóch grafów

Suma dwóch grafów. Zespolenie dwóch grafów Suma dwóch grafów G 1 = ((G 1 ), E(G 1 )) G 2 = ((G 2 ), E(G 2 )) (G 1 ) i (G 2 ) rozłączne Suma G 1 G 2 graf ze zbiorem wierzchołków (G 1 ) (G 2 ) i rodziną krawędzi E(G 1 ) E(G 2 ) G 1 G 2 G 1 G 2 Zespolenie

Bardziej szczegółowo

Programowanie liniowe

Programowanie liniowe Badania operacyjne Problem Model matematyczny Metoda rozwiązania Znaleźć optymalny program produkcji. Zmaksymalizować 1 +3 2 2 3 (1) Przy ograniczeniach 3 1 2 +2 3 7 (2) 2 1 +4 2 12 (3) 4 1 +3 2 +8 3 10

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1 Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem

Bardziej szczegółowo

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane

Bardziej szczegółowo

3. Macierze i Układy Równań Liniowych

3. Macierze i Układy Równań Liniowych 3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x

Bardziej szczegółowo

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

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA? /9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w

Bardziej szczegółowo

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

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi. Grupy. Permutacje 1 1 Definicja grupy Niech G będzie zbiorem. Działaniem na zbiorze G nazywamy odwzorowanie (oznaczane, jak mnożenie, przez ) przyporządkowujące każdej parze uporządkowanej (a, b) G G element

Bardziej szczegółowo

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Kompresja danych Streszczenie Studia Dzienne Wykład 10, 1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny

Bardziej szczegółowo

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski Podejście memetyczne do problemu DCVRP - wstępne wyniki Adam Żychowski Na podstawie prac X. S. Chen, L. Feng, Y. S. Ong A Self-Adaptive Memeplexes Robust Search Scheme for solving Stochastic Demands Vehicle

Bardziej szczegółowo

Hierarchiczna analiza skupień

Hierarchiczna analiza skupień Hierarchiczna analiza skupień Cel analizy Analiza skupień ma na celu wykrycie w zbiorze obserwacji klastrów, czyli rozłącznych podzbiorów obserwacji, wewnątrz których obserwacje są sobie w jakimś określonym

Bardziej szczegółowo

Wykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym

Wykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym 1 Wykład 6 Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym ELIMINACJA GAUSSA Z WYBOREM CZĘŚCIOWYM ELEMENTÓW PODSTAWOWYCH 2 Przy pomocy klasycznego algorytmu eliminacji

Bardziej szczegółowo

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

Bardziej szczegółowo

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik Programowanie liniowe całkowitoliczbowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Rozwiązanie całkowitoliczbowe Założenie podzielności Warunki całkowitoliczbowości Czyste zadanie programowania

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą

Bardziej szczegółowo

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania

Bardziej szczegółowo

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

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Metody Programowania

Metody Programowania POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Dokładne algorytmy optymalizacji Maciej Hapke maciej.hapke at put.poznan.pl Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem minimalizacji

Bardziej szczegółowo

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

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Macierze. Rozdział Działania na macierzach

Macierze. Rozdział Działania na macierzach Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy

Bardziej szczegółowo

Temat: Algorytm kompresji plików metodą Huffmana

Temat: Algorytm kompresji plików metodą Huffmana Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik

Bardziej szczegółowo

Sortowanie zewnętrzne

Sortowanie zewnętrzne Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często

Bardziej szczegółowo

Luty 2001 Algorytmy (4) 2000/2001

Luty 2001 Algorytmy (4) 2000/2001 Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest

Bardziej szczegółowo

Problemy z ograniczeniami

Problemy z ograniczeniami Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.

Bardziej szczegółowo

det[a 1,..., A i,..., A j,..., A n ] + det[a 1,..., ka j,..., A j,..., A n ] Dowód Udowodniliśmy, że: det[a 1,..., A i + ka j,..., A j,...

det[a 1,..., A i,..., A j,..., A n ] + det[a 1,..., ka j,..., A j,..., A n ] Dowód Udowodniliśmy, że: det[a 1,..., A i + ka j,..., A j,... Wykład 14 Wyznacznik macierzy cd Twierdzenie 1 Niech A będzie macierzą kwadratową i niech A i, A j będą dwiema różnymi jej kolumnami, wtedy dla dowolnego k K: det[a 1,, A i,, A j,, A n ] det[a 1,, A i

Bardziej szczegółowo

Optymalizacja. Wybrane algorytmy

Optymalizacja. Wybrane algorytmy dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3 METODY HEURYSTYCZNE wykład 3 1 Przykład: Znaleźć max { f (x)=x 2 } dla wartości całkowitych x z zakresu 0-31. Populacja w chwili t: P(t)= {x t 1,...x t n} Założenia: - łańcuchy 5-bitowe (x=0,1,...,31);

Bardziej szczegółowo

Algorytmy metaheurystyczne podsumowanie

Algorytmy metaheurystyczne podsumowanie dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

Programowanie liniowe. Tadeusz Trzaskalik

Programowanie liniowe. Tadeusz Trzaskalik Programowanie liniowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Model matematyczny Cel, środki, ograniczenia Funkcja celu funkcja kryterium Zmienne decyzyjne Model optymalizacyjny Układ warunków

Bardziej szczegółowo

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

Rozwiązywanie układów równań liniowych Rozwiązywanie układów równań liniowych Marcin Orchel 1 Wstęp Jeśli znamy macierz odwrotną A 1, to możęmy znaleźć rozwiązanie układu Ax = b w wyniku mnożenia x = A 1 b (1) 1.1 Metoda eliminacji Gaussa Pierwszy

Bardziej szczegółowo

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

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4 Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Nr 4 Algorytmy sortowania zewnętrznego 1 Wstęp Bardzo często przy rozwiązywaniu praktycznych

Bardziej szczegółowo

6. Klasyczny algorytm genetyczny. 1

6. Klasyczny algorytm genetyczny. 1 6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu

Bardziej szczegółowo

Zagadnienie transportowe

Zagadnienie transportowe Zagadnienie transportowe Firma X zawarła kontrakt na dostarczenie trawnika do wykończenia terenów wokół trzech zakładów U, V i W. Trawnik ma być dostarczony z trzech farm A, B i C. Zapotrzebowanie zakładów

Bardziej szczegółowo

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę

Bardziej szczegółowo

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ). Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze

Bardziej szczegółowo

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE 2.2 Ćwiczenia komputerowe Ćwiczenie

Bardziej szczegółowo

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 opracował:

Bardziej szczegółowo

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb

Bardziej szczegółowo

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 0 ALGORYTMY EWOLUCYJNE 2 Dla danego problemu można określić wiele sposobów kodowania i zdefiniować szereg operatorów (np. zadanie komiwojażera). AE to rozwinięcie

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 1 Kody cykliczne: dekodowanie Definicja 1 (Syndrom) Niech K będzie kodem cyklicznym z wielomianem generuja- cym g(x). Resztę z dzielenia słowa

Bardziej szczegółowo

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

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5

Bardziej szczegółowo

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Modyfikacje i ulepszenia standardowego algorytmu genetycznego Modyfikacje i ulepszenia standardowego algorytmu genetycznego 1 2 Przypomnienie: pseudokod SGA t=0; initialize(p 0 ); while(!termination_condition(p t )) { evaluate(p t ); T t =selection(p t ); O t =crossover(t

Bardziej szczegółowo