RÓWNOLEGŁE ALGORYTMY POPULACYJNE DLA TRÓJWYMIAROWEGO PROBLEMU PAKOWANIA
|
|
- Maja Dziedzic
- 9 lat temu
- Przeglądów:
Transkrypt
1 RÓWNOLEGŁE ALGORYTMY POPULACYJNE DLA TRÓJWYMIAROWEGO PROBLEMU PAKOWANIA Wojciech BOŻEJKO, Łukasz KACPRZAK, Mieczysław WODECKI Streszczenie: Praca rozważa wariant problemu trójwymiarowego pakowania (3D-BPP),w którym wewnątrz pojedynczego kontenera należy umieścić ładunek o maksymalnej objętości. Do rozwiązania problemu użyte zostały dwa równoległe algorytmy populacyjne, opierające się na oddzielnej ewolucji współpracujących ze sobą podpopulacji możliwych rozwiązań. Eksperymenty obliczeniowe mają na celu porównanie jakości rozwiązań dostarczonych przez oba algorytmy w określonym czasie oraz zbadanie wpływu zrównoleglenia na ich wartość. Słowa kluczowe: problem pakowania, MPI, algorytm równoległy, algorytm ewolucyjny, lokalne przeszukiwanie 1. Wprowadzenie Trójwymiarowy problem pakowania (ang. three-dimensional Bin packing problem, w skrócie: 3D-BPP) stanowi istotne zagadnienie przemysłowe oraz posiada szereg zastosowań praktycznych. W wariancie maksymalizacji, problem sprowadza się do wypełnienia wolnej przestrzeni wewnątrz pojedynczego prostopadłościanu (ang. bin, dalej nazywanego kontenerem), pudełkami (ang. box) o jak największej objętości. Dzięki właściwemu zarządzaniu dostępną przestrzenią możliwa jest redukcja kosztów, związanych z magazynowaniem towarów oraz ich transportem. Trójwymiarowy problem pakowania jest trudnym zagadnieniem optymalizacyjnym, zaliczającym się do klasy problemów NP-trudnych. Do rozwiązania problemu wykorzystane zostały dwa równoległe algorytmy populacyjne, oparte na strategii ewolucyjnej: algorytm hybrydowy, wykorzystujący metody lokalnego przeszukiwania (ang. local search) oraz algorytm ewolucyjny z dodatkowym operatorem mutacji. Równoległość przedstawionych algorytmów polega na podziale populacji możliwych rozwiązań na oddzielnie ewoluujące podpopulacje. Każda podpopulacja tworzona jest niezależnie od pozostałych i komunikuje się z innymi podpopulacjami w celu wymiany części rozwiązań. Umożliwia to dywersyfikację własnych osobników oraz stopniowe dostosowywanie się do pozostałych podpopulacji. Eksperymenty obliczeniowe mają na celu porównanie jakości rozwiązań dostarczonych przez oba algorytmy w określonym czasie oraz zbadanie wpływu zrównoleglenia na ich wartość. Dalsza część pracy posiada podaną organizację. Rozdział 2 zawiera podstawowe informacje dotyczące algorytmów ewolucyjnych, w Rozdziale 3 przybliżone zostały wybrane pozycje literaturowe. Rozdział 4 zawiera definicję problemu, opisuje przyjęte założenia i uwzględnione ograniczenia. Metoda rozwiązania została przedstawiona w Rozdziale 5. Rozdział 6 zawiera wyniki przeprowadzonych badań eksperymentalnych, w Rozdziale 7 zamieszczono wnioski oraz wskazano kierunek dalszego rozwoju. 494
2 2. Algorytmy ewolucyjne Algorytmy ewolucyjne należą do grupy algorytmów metaheurystycznych, swoje działanie wzorują na zjawisku ewolucji występującym w biologii. Przykładem algorytmu ewolucyjnego jest, przedstawiony po raz pierwszy w pracy Holland [9], algorytm genetyczny. Pracuje on w oparciu o populację, będącą zbiorem możliwych rozwiązań danego problemu. Pojedyncze rozwiązanie nazywane jest osobnikiem. Każdy osobnik posiada chromosom, składający się z genów, które reprezentują konkretne cechy danego rozwiązania i jednoznacznie je określają. Miarą jakości osobnika jest wartość funkcji adaptacji (przystosowania) i najczęściej jest nią wartość funkcji celu. Działanie klasycznego algorytmu genetycznego można podzielić na pięć etapów: Inicjalizację, Selekcję, Wybór rodziców, Krzyżowanie i opcjonalną Mutację. W kroku Inicjalizacji tworzona jest populacja początkowa, stanowiąca pierwszą generację osobników. Następujące po niej etapy wykonywane są do momentu spełnienia warunków stopu. Głównym zadaniem Selekcji jest określenie, które osobniki przetrwają do kolejnej generacji (iteracji). Odbywa się to poprzez ocenę każdego rozwiązania, ustalając wartość jego funkcji adaptacji oraz zastosowanie odpowiedniego sposobu wyboru osobników. Krok Wyboru rodziców, nazywany również Reprodukcją, odpowiada za wyznaczenie określonej ilości osobników (rodziców), które poddane zostaną procesowi Krzyżowania. Podczas Krzyżowania tworzone są nowe rozwiązania. Realizowane jest to poprzez wymianę genów, pomiędzy osobnikami rodzicielskimi. Mutacja zapobiega utkwieniu algorytmu w lokalnym optimum. Etap ten może być realizowany np. poprzez dokonanie pewnych, niewielkich zmian, w strukturze dotychczasowych rozwiązań. Hybrydowe algorytmy ewolucyjne, zwane również memetycznymi, angażują metody lokalnego przeszukiwania do procesu ewolucyjnego. Metody te mają za zadanie poprawić zbieżność algorytmu w kierunku rozwiązań o większej wartości. Ich bazą jest analiza wybranych lub wszystkich rozwiązań leżących w pewnym bliskim otoczeniu N(x) X wybranego rozwiązania x [3]. Ma to na celu zastąpienie rozwiązania aktualnego rozwiązaniem o wyższej wartości funkcji przystosowania. Istnieje wiele technik łączenia metod lokalnego przeszukiwania i algorytmów ewolucyjnych. Odnosząc się do przedstawionego schematu algorytmu genetycznego, przeszukiwanie lokalne może zostać użyte w kroku inicjalizacji, do poprawy jakości populacji początkowej, po krzyżowaniu, dla nowego pokolenia czy do ulepszenia populacji końcowej. 3. Przegląd literatury Algorytmy ewolucyjne znajdują zastosowanie dla poszukiwania przybliżonych rozwiązań problemów, zarówno jedno-, dwu- i trójwymiarowego pakowania. W związku z tym jednak, że są one metodami ogólnymi i nie wykorzystują szczegółowych informacji o problemie, znaczna część badaczy uzupełnia je o dodatkowe heurystyki, odzwierciedlające specyfikę zagadnienia i przyjęte ograniczenia. Heurystyki takie, odpowiadają zazwyczaj za znajdowanie dozwolonych pozycji dla przedmiotów w pojemnikach (pakowanie 2D), bądź pudełek w kontenerach (pakowanie 3D) i są nazywane procedurami dekodującymi (ang. decoding procedure). Sposób działania procedury dekodującej określa strategia pakowania (packing strategy). Rola algorytmu ewolucyjnego, użytego wraz z procedurą dekodującą, może sprowadzać się do odnalezienia jak najlepszej kolejności (sposobu) pakowania, w której przedmioty, bądź pudełka, zostaną wykorzystane przez heurystykę. 495
3 Stawowy [14] opracował algorytm ewolucyjny dla zagadnienia jednowymiarowego pakowania. Celem pracy było stworzenie możliwie prostego algorytmu, rozwiązującego problem na poziomie zbliżonym do bardziej wyspecjalizowanych algorytmów. Potomstwo tworzone jest za pomocą operatorów mutacji, bez użycia krzyżowania. Tan i in. [13] zaproponowali algorytm ewolucyjny dla dwuwymiarowego problemu pakowania. Autorzy reprezentują dopuszczalne rozwiązanie nie jako wektor, ale jako strukturę, nazwaną cząstką, których zbiór tworzy rój (ang. particle swarm). Pojedyncza cząstka zawiera informacje dotyczące ilości użytych pojemników (ang. bin), rozmieszczonych w nich prostokątnych przedmiotach oraz najlepszych wynikach. Praca formułuje model matematyczny dla zagadnienia dwuwymiarowego pakowania wraz z dodatkowymi ograniczeniami. Pod uwagę wzięty został środek ciężkości całkowitego ładunku. W pracach: He i in. [8], Wu i in. [16] oraz Karabulut i Mustafa [12] przedstawiony został problem trójwymiarowego pakowania, w którym pudełka umieszczane są w kontenerze o stałej długości i szerokości, ale o zmiennej wysokości. W wariancie problemu rozważanym przez He i in. [8] i Wu i in. [16] pudełka mogą posiadać różne rozmiary i dowolną rotację. Pojedyncze rozwiązanie reprezentowane jest jako chromosom, zawierający informację o kolejności pakowania pudełek i rodzaju rotacji każdego z nich. Procedura dekodująca wykorzystuje koncepcję punktów odniesienia (ang. extreme points, reference points). Autorzy [8] rozwinęli ideę przedstawionego w [16] współczynnika, nazwanego indeksem, służącego do wyboru pozycji na której pudełko zostanie umieszczone w kontenerze. Dodatkowo stworzony został framework (global search framework, - GSF), wykorzystujący koncepcję gradientu ewolucyjnego (ang. evolutionary gradient). Karabulut i Mustafa [12] zaproponowali metodę znajdowania pozycji dla pudełek w kontenerze, nazwaną Deepest Bottom Left with Fill Method (DBLF), będącą rozszerzeniem procedury przedstawionej przez Hopper a [10], dla dwuwymiarowego problemu pakowania. Metoda wstawia pudełko na pierwszej dozwolonej pozycji, znajdującej się możliwie najgłębiej (deepest), najniżej (bottom) i najbliżej lewej strony kontenera (left). Pudełka nie posiadają możliwości rotacji. W pracach Goncalves i Resende [7], Bortfeld i Gehring [2], Kang i in. [11] autorzy rozważają problem załadunku pojedynczego kontenera o stałych wymiarach. Kang i in. [11] rozwijają strategię pakowania przedstawioną przez Karabulut a i Mustafę [12]. Wprowadzone zostało pojęcie prostopadłościennego obiektu przestrzennego (ang. cuboid space object). Obiekt ten reprezentuje przestrzeń wewnątrz kontenera, w której możliwe jest zapakowanie pudełek. Wykorzystanie obiektów ma na celu, m.in. skrócenie czasu obliczeń. Pudełka o objętości i wymiarach nie pasujących do przestrzeni zajmowanej przez obiekt są pomijane na danym etapie pracy algorytmu. Goncalves i Resende [7] opracowali równoległy algorytm, w którym chromosom zawiera informacje dotyczące kolejności pakowania pudełek do kontenera oraz warstwy w której dane pudełko może zostać umieszczone. Warstwa (ang. layer) jest prostokątną strukturą (pionową lub poziomą), składającą się z pudełek tego samego typu, wykorzystywaną do uzupełniania pustych przestrzeni wewnątrz kontenera (ang. maximal spaces). Autorzy przedstawili procedurę, służącą do łączenia wolnych przestrzeni (MaxJoin). Bortfeld i Gehring [2] przedstawili algorytm genetyczny, którego strategia pakowania opiera się na technice warstwowej. Praca rozważa wiele praktycznych ograniczeń problemu, tj. określona ilość rotacji pudełek, ograniczenia dotyczące stabilności ładunku, jego wagi czy balansu. Bischoff i Ratcliff [1] przeprowadzili dyskusję dotyczącą ówczesnej metodologii rozwiązywania problemu kontenerowego (ang. Container loading problem). Omówiono szereg ograniczeń praktycznych zagadnienia oraz zaprojektowano procedurę generującą różnorodne instancje problemu, co umożliwiło lepszą ocenę jakości algorytmów 496
4 opracowanych przez późniejszych badaczy. Sudholt [15] dokonał teoretycznej analizy algorytmów memetycznych. Podjęty został temat wpływu częstotliwości i głębokości (ilości iteracji) lokalnego przeszukiwania na efektywność i czas działania algorytmu. Przedstawione zostały klasy funkcji, dla których nawet niewielka zmiana parametrów, może mieć znaczący wpływ na wydajność. Ceschia, Schaerf i in. [5] przedstawione zostały techniki lokalnego przeszukiwania dla problemu pakowania połączonego z problemem wyznaczaniem tras (ang. routing). Zaproponowane podejście oparte zostało na strategii łączącej symulowane wyżarzanie z przeszukiwaniem sąsiedztwa o dużym rozmiarze. 4. Definicja problemu Problem trójwymiarowego pakowania (3D-BPP), w rozważanym wariancie, polega na zapakowaniu takiej liczby pudełek do pojedynczego kontenera, aby przy spełnieniu wszystkich przyjętych ograniczeń, całkowita objętość ładunku była jak największa. Rys. 1. Kontener Kontener K (patrz Rys. 1.), ma postać prostopadłościanu o stałych wymiarach: długości L, szerokości W, wysokości H i objętości V. Dostępny jest zbiór pudełek P = {p, p,, p }, typów T = {t, t,, t } i rotacji R = {0,1,2,3,4,5}, reprezentujących możliwe obroty pudełek. Każde pudełko p P posiada określony typ u, definiujący jego wymiary i możliwe rotacje, tj. u = t, dla k {0,1,, m 1}, i = 0,1,, n 1, u U = {u, u,, u }. Dany typ t T można zapisać w postaci: t = (l, w, h, MR ), gdzie MR R a także określa dostępne rotacje, natomiast l, w, h oznaczają odpowiednio: długość, szerokość i wysokość pudełka. W zbiorze MR może znajdować się od jednej do sześciu rotacji. Rozwiązanie e = (PZ, q ) rozważanego problemu pakowania definiuje zbiór zapakowanych pudełek PZ P, PZ = c, c,, c, gdzie q jest liczbą pudełek w zbiorze PZ. Należy znaleźć takie rozwiązanie e aby suma objętości zapakowanych pudełek: 497
5 max v (1) była maksymalna i spełnione były ograniczenia: pudełko c musi znajdować się całkowicie wewnątrz kontenera, równolegle do jego ścian bocznych, w jednej z dostępnych dla danego typu rotacji, pudełko c nie może zajmować przestrzeni zajętej przez wcześniej zapakowane pudełka, pudełko c musi zostać umiejscowione na spodzie kontenera, bądź na górnej części innego pudełka. Do określania pozycji pudełek wykorzystywane są współrzędne w kartezjańskim układzie odniesienia. Zbiór pudełek P może mieć dowolny charakter, począwszy od słabo heterogenicznego (ang. weakly heterogeneous) aż do silnie heterogenicznego (ang. strongly heterogeneous). Jeżeli zbiór jest słabo heterogeniczny oznacza to, że w instancji problemu zawiera się niewiele typów, z dużą ilością pudełek dla każdego z nich. Na zbiór silnie heterogeniczny składa się wiele typów pudełek, z niewielką ich ilością dla każdego typu. 5. Opis użytych algorytmów Zaproponowane algorytmy łączą w sobie cechy algorytmu ewolucyjnego oraz heurystyki, użytej jako procedura dekodująca. Rozdział opisuje przyjętą dla rozwiązania reprezentację (5.1), sposób ustalania pozycji pudełek w kontenerze (5.2) oraz schemat działania opracowanych algorytmów (5.3) Sposób reprezentacji rozwiązania Osobnik reprezentowany jest jako chromosom, składający się z dwóch części: Kolejności i Rotacji (zobacz Rys. 2.). Pierwsza z nich zawiera sekwencję pudełek, druga odpowiadający każdemu z nich numer rotacji, użytej do zapakowania pudełka do kontenera. Każda część chromosomu posiada długość równą ilości pudełek w zbiorze P, niezależnie od tego, ile z nich zostanie wykorzystanych w rozwiązaniu. Dla liczby pudełek równej n, długość chromosomu wynosi 2n. Numer rotacji zapisany na pozycji d odpowiada pudełku o numerze zapisanym w miejscu a chromosomu. Podział chromosomu na dwie części został wykorzystany również w pracach [8, 16]. Na podstawie chromosomu, przy użyciu procedury dekodującej, ustalana jest rzeczywista postać rozwiązania e (wraz ze współrzędnymi pudełek w przestrzeni i ich rotacją). W związku z tym że n q, co oznacza, że nie wszystkie pudełka zakodowane w chromosomie muszą znaleźć się zbiorze PZ, osobnik reprezentuje rozwiązanie e w sposób przybliżony. Przypadek, w którym q = n oznacza, że rozwiązanie e jest optymalne. W dalszej części pracy pojęcia rozwiązanie, chromosom i osobnik będą tożsame. 498
6 Rys. 2. Chromosom 5.2. Procedura dekodująca Zadaniem procedury dekodującej jest znalezienie dozwolonych pozycji w kontenerze, dla jak największej ilości pudełek, których sekwencja zakodowana jest za pomocą chromosomu. W praktyce, dla rozwiązania e, oznacza to odnalezienie q elementów tworzących zbiór PZ. Użyta do tego celu heurystyka bazuje na wersji metody przedstawionej w pracy [12], dla problemu pakowania ze zmienną wysokością kontenera (ang. strip packing). Użyta została ona również przez Kang a i in. w pracy [11]. Procedura, w postaci pseudokodu, przedstawiona została na Rysunku 3. Podczas Obliczeń wstępnych pudełka są obracane, w zależności od zapisanego w chromosomie sposobu rotacji. Następnie procedura dąży do umieszczenia pudełek w kontenerze, według podanej sekwencji. Pętla znajdująca się w linii 4 jest wykonywana do momentu wykorzystania wszystkich dostępnych pudełek, bądź braku możliwości wstawienia. Istotnym elementem jest lista pozycji, służąca do przetrzymywania aktualnie dostępnych współrzędnych, które są rozważane przy poszukiwaniu miejsca, w którym pudełko b może zostać zapakowane. Jeżeli w kontenerze nie znajduje się jeszcze żadne pudełko, lista pozycji zawiera jedynie współrzędne (0,0,0), stanowiące początek kontenera. Współrzędne znajdujące się na liście pozycji są sortowane według porządku: głębokość (deep, jak najmniejsza wartość na osi y), spód (bottom, jak najmniejsza wartość na osi z), lewo (left, jak najmniejsza wartość na osi x). W celu określenia, czy możliwe jest wstawienie rozważanego pudełka b na wybranej pozycji j, heurystyka sprawdza, czy będzie się ono całkowicie mieścić w kontenerze i czy nie narusza przestrzeni zajmowanej przez wcześniej zapakowane pudełka. Jeżeli wstawienie jest możliwe, pozycja j zostaje usunięta z listy (Aktualizacja), a na jej miejsce dodawane są trzy nowe, powstałe dzięki umiejscowieniu pudełka b. Pozycje te posiadają współrzędne: x + l, y, z, x, y + w, z, x, y, z + h i są nazywane punktami referencyjnymi bądź skrajnymi (ang. reference points, extreme points) [6, 8, 16]. Następnie, gdy pozostały jeszcze pudełka, procedura rozważa kolejne z nich, sortując zaktualizowaną listę dostępnych pozycji i sprawdzając możliwość wstawienia, w przeciwnym przypadku, kończy swoje działanie. Jeżeli wstawienie pudełka b na pozycji j nie jest możliwe, heurystyka próbuje umieścić je na kolejnych pozycjach z listy, aż do jej skończenia. Spełnienie warunku lista pozycji (Rys. 3. linia 9) oznacza, że na liście pozycji pozostały jeszcze współrzędne nierozważone w kontekście pudełka b. Gdy nie jest możliwe wstawienie pudełka na żadną z dostępnych pozycji, procedura przerywa działanie (warunek w linii 21). W momencie zakończenia pracy przez procedurę dekodującą, obliczana jest wartość funkcji adaptacji dla danego rozwiązania e: 499
7 F(e) = 100% (2) dla: e = (PZ, q ) gdzie: v jest objętością każdego kolejnego zapakowanego pudełka c PZ, PZ = q, V jest objętością kontenera K. Informacje dotyczące wartości funkcji adaptacji oraz zapakowanych pudełek (ich wymiary, współrzędne w kontenerze, rodzaj rotacji) są zapamiętywane i bezpośrednio powiązane z danym osobnikiem, w związku z czym, procedura zostaje ponownie uruchomiona dla chromosomu tylko w przypadku jego modyfikacji. 1 Obliczenia wstępne: 2 n:= ilość pudełek; s:= 0; koniec = false; 3 4 While ( s n && koniec = false ) 5 { 6 Dla pudełka b sortuj lista_pozycji; j:=0; 7 wstawienie = false; 8 9 While (lista_pozycji && wstawienie = false) 10 { 11 If (b pasuje na pozycję j) 12 { 13 Aktualizacja; s:= s + 1; wstawienie := true; 14 } 15 Else 16 { 17 j := j+1; 18 } } 21 If ( lista pozycji = ) 22 koniec = true; } 25 Oblicz F(e); Rys. 3. Procedura dekodująca Schemat działania opracowanych algorytmów Opracowane algorytmy są wielościeżkowymi algorytmami równoległymi, bazującymi na migracyjnym modelu wyspowym. Badają one przestrzeń rozwiązań, za pomocą równolegle działających wątków poszukiwań. Procesy wymieniają pomiędzy sobą informacje uzyskane w trakcie eksploracji własnych trajektorii, w związku z czym algorytmy zaliczają się do podklasy algorytmów kooperujących [4]. Schemat działania algorytmu hybrydowego, dla pojedynczego procesu, został przedstawiony w postaci pseudokodu na Rysunku 4, natomiast algorytmu ewolucyjnego na 500
8 Rysunku 5. Wszystkie etapy ich pracy, poza krokiem Wymiany, realizowane są przez dany wątek niezależnie od pozostałych. Algorytmy mogą zostać również uruchomione w postaci sekwencyjnej, w takim wypadku są one traktowane jako algorytm równoległy z jednym procesem (Wymiana jest pomijana). Poniżej omówione zostaną poszczególne kroki wspólne obu algorytmom. Istotną różnicą w ich działaniu jest, znajdujący się w linii 16 (Rys. 4. i Rys. 5.), operator mutacji dla algorytmu ewolucyjnego i lokalnego przeszukiwania dla algorytmu hybrydowego. Poprzez Inicjalizację wczytywane są dane problemu oraz zostają nadane początkowe wartości niezbędnym zmiennym. Następnie każdy proces tworzy własną, startową podpopulację losowych osobników. Dla wszystkich chromosomów, poszczególnych podpopulacji początkowych, wywoływana jest procedura dekodująca (Dekodowanie, Rozdział 5.2). W kolejnym kroku możliwe są dwie sytuacje: licznik f, co oznacza, że nie nastąpił moment wymiany osobników pomiędzy procesami i wykonywane dalsze operacje po których nowe, bądź zmodyfikowane osobniki zostają poddane Dekodowaniu. licznik = f, w związku z czym dochodzi do migracji osobników pomiędzy poszczególnymi wątkami. W kroku Selekcji, każdy proces bada średnią jakoś rozwiązań własnej podpopulacji i odrzuca wszystkie posiadające wartość funkcji adaptacji poniżej przeciętnej. Krzyżowanie odbywa się za pomocą dwupunktowej metody PMX. W większości przypadków rodzice wybierani są z puli osobników, które przetrwały proces selekcji, możliwy jest jednak, z pewnym prawdopodobieństwem, wybór rodzica z grona rozwiązań odrzuconych, co ma stanowić jedną z metod zapobiegania stagnacji. Mutacja jest operatorem wykorzystanym jedynie w algorytmie ewolucyjnym (Rys 5. linia 16), mogącym przebiegać na dwa sposoby. Ponieważ kolejność pudełek zakodowanych w chromosomie ma znaczenie dla procedury dekodującej, pierwszy z nich polega na losowej zamianie miejscami dwóch pól z numerami pudełek i odpowiadających im rotacji. Druga metoda zmienia wartość pola rotacji w pojedynczym chromosomie, w związku z czym związane z nim pudełko posiada zmienioną rotację podczas próby umieszczenia go w kontenerze. Nowa wartość rotacji nie może być zabroniona przez typ do którego należy pudełko. Przeszukiwanie lokalne, będące cechą algorytmu hybrydowego (Rys. 4. linia 16) wywoływane jest w każdej iteracji głównej pętli algorytmu, w celu poprawienia jakości nowopowstałych 501
9 1 Inicjalizacja: 2 Dane; licznik := 0; f; 3 4 Twórz podpopulacje; 5 Dekodowanie podpopulacji; 6 7 While ( warunek_stopu = false ) 8 { 9 If (licznik = f) 10 { 11 Wymiana osobników pomiędzy procesami; 12 licznik := 0; 13 } 14 Else 15 { 16 Selekcja; Krzyżowanie; Przeszukiwanie lokalne; 17 Dekodowanie nowych osobników; 18 licznik := licznik + 1; 19 } 20 } Rys. 4. Algorytm hybrydowy z lokalnym przeszukiwaniem 1 Inicjalizacja: 2 Dane; licznik := 0; f; 3 4 Twórz podpopulacje; 5 Dekodowanie podpopulacji; 6 7 While ( warunek_stopu = false ) 8 { 9 If (licznik = f) 10 { 11 Wymiana osobników pomiędzy procesami; 12 licznik := 0; 13 } 14 Else 15 { 16 Selekcja; Krzyżowanie; Mutacja; 17 Dekodowanie nowych osobników; 18 licznik := licznik + 1; 19 } 20 } Rys. 5. Algorytm ewolucyjny z operatorem mutacji osobników. Dla każdego rozwiązania generowane jest jego otoczenie, poprzez tworzenie rozwiązań do niego podobnych i obliczanie wartości ich funkcji adaptacji. Ponieważ sprawdzenie jakości każdego nowego osobnika jest operacją kosztowną obliczeniowo, otoczenie generowane jest metodą krok po kroku. Oznacza to, że wartość każdego sąsiada rozwiązania bieżącego ustalana jest zaraz po jego stworzeniu. Jeżeli reprezentuje on 502
10 rozwiązania o wyższej jakości, zastępuje aktualne rozwiązanie, kończąc przeszukiwanie. Przeszukiwanie lokalne dla danego osobnika może zostać przeprowadzone wielokrotnie w danej iteracji. Wymiana jest kluczowym elementem obu algorytmów. Została ona zaimplementowana za pomocą biblioteki MPI. Procesy łączone są w pary, w ramach których zachodzi komunikacja. Każdy z dwójki procesorów wydziela część swojej podpopulacji i przesyła ją do drugiego wątku. Wysłane rozwiązania zastępowane są nowo przybyłymi. Komunikacja pomiędzy procesorami ma charakter nieblokujący (funkcje: MPI_Isend(),MPI_Irecv()), a grupy osobników przesyłane są pomiędzy nimi w postaci spakowanych pakietów danych (funkcje: MPI_Pack(),MPI_Unpack())). Głównym zadaniem Wymiany, jest dywersyfikacja poszczególnych podpopulacji. 6. Eksperymenty obliczeniowe Obliczenia wykonano na komputerze wyposażonym w 6-rdzeniowy procesor Intel Core i7 CPU X980 (3.33GHz) i system operacyjny Linux Ubuntu LTS. Jako dane testowe użyto instancje problemu, uzyskane za pomocą procedury przedstawionej w pracy [BIR]. Do eksperymentów obliczeniowych wybrano siedem przykładów, różniących się rodzajem heterogeniczności. Ilość możliwych typów pudełek dla każdej instancji wyniosła od trzech do dwudziestu. Kontener posiadał stałe wymiary, niezależnie od rozważanego przykładu. Badane algorytmy uruchomione zostały w następujący sposób: sekwencyjnie, z użyciem jednego wątku (procesu), równolegle, z użyciem dwóch wątków (procesów), równolegle, z użyciem sześciu wątków (procesów). Do badań przyjęto następujące założenia. W kroku Selekcji odrzucane są wszystkie osobniki, których wartość funkcji adaptacji jest niższa niż wartość średnia dla podpopulacji danego wątku. Wymiana następuje tylko w momencie, gdy algorytm uruchomiony jest w wersji równoległej. Podczas Wymiany wątki dobierane są w pary i przesyłają między sobą dziesięć procent własnych osobników. Osobniki wysłane są całkowicie zastępowane osobnikami otrzymanymi. Warunkiem stopu jest czas obliczeń równy 120 minut. Wielkość podpopulacji jest zmniejszana wraz ze wzrostem ilości użytych do obliczeń wątków. Wyniki obliczeń przedstawiono w poniższej tabeli (patrz Tab. 1.). Nazwy przykładów testowych zostały zakodowane w formie bench x_xx, gdzie x zmienia się wraz ze wzrostem ilości typów, a xx jest numerem porządkowym danego przykładu. Tabela przedstawia informacje dotyczące objętości upakowanych w kontenerze pudełek, w zależności od liczby wątków, rodzaju instancji i użytego algorytmu. Algorytm LP oznacza algorytm hybrydowy wykorzystujący lokalne przeszukiwanie, algorytm M algorytm ewolucyjny z operatorem mutacji. 503
11 Tab. 1. Wyniki obliczeń przeprowadzonych z użyciem jednego procesora problem algorytm LP algorytm M ilość ilość objętość ilość objętość typów wątków [%] wątków [%] bench1_ ,0 1 71,2 bench2_ ,2 1 83,4 bench3_ ,5 1 86,8 bench4_ ,3 1 78,9 bench5_ ,4 1 79,8 bench6_ ,2 1 74,9 bench7_ ,0 1 75,8 bench1_ ,2 2 74,6 bench2_ ,8 2 85,9 bench3_ ,1 2 84,4 bench4_ ,4 2 81,4 bench5_ ,5 2 81,5 bench6_ ,2 2 78,3 bench7_ ,8 2 79,9 bench1_ ,0 6 75,6 bench2_ ,7 6 85,3 bench3_ ,4 6 85,6 bench4_ ,0 6 81,6 bench5_ ,5 6 81,6 bench6_ ,7 6 79,2 bench7_ ,9 6 78,8 Algorytm hybrydowy (LP) uzyskał gorszy wynik od algorytmu M dla każdej instancji problemu i każdej ilości wątków obliczeniowych. Objętość zapakowanych pudełek była w tym przypadku średnio o 6,0% niższa, przy czym najmniejsza różnica wyniosła 2,2% (bench1_03, jeden wątek) a największa 9,2% (bench3_01, sześć wątków). Upakowanie kontenera, uzyskane za pomocą algorytmu M, dla poszczególnych instancji problemu, było lepsze średnio o: 4,9% dla uruchomienia sekwencyjnego, 5,9% przy użyciu dwóch wątków, i 7,2% dla sześciu. Użycie dwóch wątków obliczeniowych sześciokrotnie pozwoliło znaleźć rozwiązanie lepsze niż przy wykorzystaniu jednego procesu, w przypadku obu algorytmów. Rozwiązanie gorsze uzyskano tylko dla problemu bench3_01. Obliczenia z wykorzystaniem sześciu procesów, przy użyciu algorytmu M, zwiększyły wartość upakowania w sześciu przypadkach, względem wyników uzyskanych dla jednego wątku (gorzej bench3_01) i w pięciu przypadkach względem wyników dla dwóch wątków (gorzej bench2_01 i bench7_02). W przypadku algorytmu LP, dla czterech instancji problemu objętość zapakowanych pudełek była większa przy użyciu sześciu wątków niż przy użyciu jednego 504
12 procesu (bench1_03, bench4_02, bench6_01, bench7_02) i tylko raz niż dla dwóch wątków (bench7_02). 7. Wnioski i dalsze badania W pracy przedstawiono dwa, oparte na modelu wyspowym, równoległe algorytmy populacyjne dla trójwymiarowego problemu pakowania. Badania przeprowadzono dla instancji problemu o różnym poziomie heterogeniczności. Lepsze wyniki (o większym zajęciu przestrzeni wewnątrz kontenera) uzyskano przy pomocy algorytmu wykorzystującego operator mutacji, niż przy użyciu algorytmu angażującego lokalne przeszukiwanie. Prawdopodobnie jest to spowodowane dużą ilością czasu potrzebną do ustalenia wartości każdego nowego rozwiązania (konieczność znalezienia pozycji w kontenerze dla poszczególnych pudełek). Aby zwiększyć efektywność algorytmu hybrydowego, niezbędne jest wprowadzenie, wykorzystującej odpowiednie własności zagadnienia, akceleracji bądź dalsze zrównoleglenie obliczeń, np. z wykorzystaniem GPU. Zwiększenie ilości wątków obliczeniowych, w większości przypadków, pozwalało znaleźć lepsze upakowania. Pogorszenie, dla większości instancji problemu, nastąpiło jedynie przy zwiększeniu liczby procesów z dwóch do sześciu, dla algorytmu hybrydowego, co może być związane ze zmniejszeniem ilości osobników w poszczególnych podpopulacjach. Literatura 1. Bischoff E. E., Ratcliff M.S.W.: Issues in the Development of Approaches to Container Loading. Omega, Int. J. Mgmt Sci. Vol. 23, No. 4/1995, Bortfeld A., Gehring H.: A hybryd genetic algorithm for the container loading problem. European Journal of Operational Research 131/2001, Bożejko W., Pempera J. (red.), Optymalizacja dyskretna w informatyce, automatyce i robotyce, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 2012, ISBN Bożejko W.: A New Class of Parallel Scheduling Algorithms. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław Ceschia S., Schaerf A., Stützle T.: Local search techniques for a routing-packing problem. Computers & Industrial Engineering 66/2013, Crainic TG, Perboli G, Tadei R.: Extreme point-based heuristics for three- dimensional bin packing. INFORMS Journalon Computing 20 /2008, Goncalves J. F., Resende M. G.C.: A parallel multi-population biased random-key genetic algorithm for a container loading problem. Computers & Operations Research 39 /2012, He Y., Wu Y., de Souza R.: A global search framework for practical three-dimensional packing with variable carton orientations. Computers & Operations Research 39/2012, Holland J.H.: Adaptation in natural and artificial systems: An introductory analysis with applications to biology, control, and artificial intelligence. University of Michigan Press 8/1975), Hopper E.: Two-dimensional Packing Utilising Evolutionary Algorithms and other 505
13 Meta- Heuristic Methods. Ph.D.Thesis, University of Wales Kang K., Moon I., Wang H.: A hybrid genetic algorithm with a new packing strategy for the three-dimensional bin packing problem. Appl. Math. Comput. (2012), Karabulut K., Mustafa M.M.: A hybrid genetic algorithm for packing in 3D with deepest bottom left with fill method. ADVIS 2004: Advances in Information Systems 2004, Liu D.S., Tan * K.C., Huang S.Y., Goh C.K., Ho W.K.: On solving multiobjective bin packing problems using evolutionary particle swarm optimization. European Journal of Operational Research 190/2008, Stawowy A.: Evolutionary based heuristic for bin packing problem. Computers & Industrial Engineering 55/2008, Sudholt D.: The impact of parametrization in memetic evolutionary algorithms. Theoretical Computer Science 410 /2009, Wu Y., Li W., Goh M., de Souza R.: Three-dimensional bin packing problem with variable bin height. European Journal of Operational Research 202 /2010, Prof. nadzw. dr hab. Wojciech BOŻEJKO Mgr inż. Łukasz KACPRZAK Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Janiszewskiego 11-17, Wrocław, Polska wojciech.bozejko@pwr.wroc.pl lukasz.kacprzak@pwr.wroc.pl Prof. nadzw. dr hab. Mieczysław WODECKI Instytut Informatyki, Uniwersytet Wrocławski Joliot-Curie 15, Wrocaw, Polska mwd@ii.uni.wroc.pl 506
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
Zadania laboratoryjne i projektowe - wersja β
Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki
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
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
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
ALGORYTMY GENETYCZNE (wykład + ćwiczenia)
ALGORYTMY GENETYCZNE (wykład + ćwiczenia) Prof. dr hab. Krzysztof Dems Treści programowe: 1. Metody rozwiązywania problemów matematycznych i informatycznych.. Elementarny algorytm genetyczny: definicja
Dobór parametrów algorytmu ewolucyjnego
Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.
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ęć
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ń
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,
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
PROBLEM HARMONOGRAMOWANIA ZADAŃ WIELOMASZYNOWYCH
PROBLEM HARMONOGRAMOWANIA ZADAŃ WIELOMASZYNOWYCH Karolina BOROWICKA, Wojciech BOŻEJKO, Łukasz KACPRZAK, Mieczysław WODECKI Streszczenie: W pracy rozpatrujemy problem harmonogramowania zadań wykonywanych
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
HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA
HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA Wojciech BOśEJKO, Zdzisław HEJDUCKI, Michał PODOLSKI, Mariusz UCHROŃSKI Streszczenie: w pracy proponujemy zastosowanie
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
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ę
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
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
Generowanie i optymalizacja harmonogramu za pomoca
Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska
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
RÓWNOLEGŁY ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI UKŁADANIA PLANU ZAJĘĆ
RÓWNOLEGŁY ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI UKŁADANIA PLANU ZAJĘĆ Wojciech BOŻEJKO, Łukasz GNIEWKOWSKI Streszczenie: Praca dotyczy zastosowania równoległego algorytmu poszukiwania z zabronieniami
Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS
Algorytmy ewolucyjne Łukasz Przybyłek Studenckie Koło Naukowe BRAINS 1 Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami,
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Metody Optymalizacji: Przeszukiwanie z listą tabu
Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek
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
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
Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP
Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Łukasz Strąk lukasz.strak@gmail.com Uniwersytet Śląski, Instytut Informatyki, Będzińska 39, 41-205 Sosnowiec 9 grudnia
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 17. ALGORYTMY EWOLUCYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska KODOWANIE BINARNE Problem różnych struktur przestrzeni
Równoważność algorytmów optymalizacji
Równoważność algorytmów optymalizacji Reguła nie ma nic za darmo (ang. no free lunch theory): efektywność różnych typowych algorytmów szukania uśredniona po wszystkich możliwych problemach optymalizacyjnych
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
SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH
SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH Wojciech BOŻEJKO, Zdzisław HEJDUCKI, Mariusz UCHROŃSKI, Mieczysław WODECKI Streszczenie: W pracy przedstawiamy system wspomagający harmonogramowanie
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.
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
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
Wstęp do Sztucznej Inteligencji
Wstęp do Sztucznej Inteligencji Algorytmy Genetyczne Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Metody heurystyczne Algorytm efektywny: koszt zastosowania (mierzony
ALGORYTM EWOLUCYJNY DLA PROBLEMU SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM
ALGORYTM EWOLUCYJNY DLA PROBLEMU SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM Adam STAWOWY, Marek ŚWIĘCHOWICZ Streszczenie: W pracy zaprezentowano algorytm strategii ewolucyjnej do problemu szeregowania
Obliczenia ewolucyjne - plan wykładu
Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja
Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła
Problemy 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga 3 Ocena
Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania
Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Autor: Łukasz Patyra indeks: 133325 Prowadzący zajęcia: dr inż. Marek Piasecki Ocena pracy: Wrocław 2007 Spis treści 1 Wstęp
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
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
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
Optymalizacja. Przeszukiwanie lokalne
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Idea sąsiedztwa Definicja sąsiedztwa x S zbiór N(x) S rozwiązań, które leżą blisko rozwiązania x
przetworzonego sygnału
Synteza falek ortogonalnych na podstawie oceny przetworzonego sygnału Instytut Informatyki Politechnika Łódzka 28 lutego 2012 Plan prezentacji 1 Sformułowanie problemu 2 3 4 Historia przekształcenia falkowego
Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A
Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z
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żą
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
LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność
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,
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
Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów
Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów Andrzej Jaszkiewicz, Przemysław Wesołek 3 grudnia 2013 Kontekst problemu Firma dystrybucyjna Kilka statystyk (wiedza z danych miesięcznych)
Uczenie sieci typu MLP
Uczenie sieci typu MLP Przypomnienie budowa sieci typu MLP Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji - współczynnik
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
Problem Komiwojażera - algorytmy metaheurystyczne
Problem Komiwojażera - algorytmy metaheurystyczne algorytm mrówkowy algorytm genetyczny by Bartosz Tomeczko. All rights reserved. 2010. TSP dlaczego metaheurystyki i heurystyki? TSP Travelling Salesman
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.
Algorytmy heurystyczne w UCB dla DVRP
Algorytmy heurystyczne w UCB dla DVRP Seminarium IO na MiNI 24.03.2015 Michał Okulewicz based on the decision DEC-2012/07/B/ST6/01527 Plan prezentacji Definicja problemu DVRP UCB na potrzeby DVRP Algorytmy
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy
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
Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach
Adam Stawowy Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Summary: We present a meta-heuristic to combine Monte Carlo simulation with genetic algorithm for Capital
ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ
ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ Zalety: nie wprowadzają żadnych ograniczeń na sformułowanie problemu optymalizacyjnego. Funkcja celu może być wielowartościowa i nieciągła, obszar
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
Standardowy algorytm genetyczny
Standardowy algorytm genetyczny 1 Szybki przegląd 2 Opracowany w USA w latach 70. Wcześni badacze: John H. Holland. Autor monografii Adaptation in Natural and Artificial Systems, wydanej w 1975 r., (teoria
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,
Algorytmy ewolucyjne. wprowadzenie
Algorytmy ewolucyjne wprowadzenie Gracjan Wilczewski, www.mat.uni.torun.pl/~gracjan Toruń, 2005 Historia Podstawowy algorytm genetyczny został wprowadzony przez Johna Hollanda (Uniwersytet Michigan) i
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żą
Seminarium Zakładowe IDSS. Równoległe obliczenia metaheurystyczne z wykorzystaniem klastra obliczeniowego
Seminarium Zakładowe IDSS Równoległe obliczenia metaheurystyczne z wykorzystaniem klastra obliczeniowego Krzysztof Kowalczykiewicz Marek Kubiak Dawid Weiss Przemysław Wesołek Motywacje raz jeszcze... Zagospodarowanie
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
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
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
Teoria algorytmów ewolucyjnych
Teoria algorytmów ewolucyjnych 1 2 Dlaczego teoria Wynik analiza teoretycznej może pokazać jakie warunki należy spełnić, aby osiągnąć zbieżność do minimum globalnego. Np. sukcesja elitarystyczna. Może
Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych
inż. Marek Duczkowski Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych słowa kluczowe: algorytm gradientowy, optymalizacja, określanie wodnicy W artykule
ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Gospodarcze zastosowania algorytmów genetycznych
Marta Woźniak Gospodarcze zastosowania algorytmów genetycznych 1. Wstęp Ekonometria jako nauka zajmująca się ustalaniem za pomocą metod statystycznych ilościowych prawidłowości zachodzących w życiu gospodarczym
Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności
Przeszukiwanie lokalne
Przeszukiwanie lokalne 1. Klasyfikacja algorytmów 2. Przeszukiwanie lokalne 1. Klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne, 1. Klasyfikacja algorytmów Algorytmy dokładne znajdują
Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633
Grupowanie Grupowanie 7 6 5 4 y 3 2 1 0-3 -2-1 0 1 2 3 4 5-1 -2-3 -4 x Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633 Wprowadzenie Celem procesu grupowania jest podział zbioru
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
WEKTOROWE KODOWANIE PERMUTACJI. NOWE OPERATORY GENETYCZNE
WEKTOROWE KODOWANIE PERMUTACJI. NOWE OPERATORY GENETYCZNE Mariusz MAKUCHOWSKI Streszczenie: W pracy proponuje się alternatywny sposób kodowania permutacji. Prezentuje się szereg jego własności niewystępujących
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ę
NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM
NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM Mariusz MAKUCHOWSKI Streszczenie: W pracy analizuje się własności sumacyjnego kryterium w permutacyjnym problemie przepływowym.
OBLICZENIA RÓWNOLEGŁE W ZAGADNIENIACH POLA TEMPERATURY W NANOUKŁADACH ELEKTRONICZNYCH
OBLICZENIA RÓWNOLEGŁE W ZAGADNIENIACH POLA TEMPERATURY W NANOUKŁADACH ELEKTRONICZNYCH Anna GRYKO-NIKITIN Streszczenie: W artykule omówiono możliwość zastosowania obliczeń równoległych w zagadnieniach optymalizacji
Programowanie genetyczne, gra SNAKE
STUDENCKA PRACOWNIA ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne, gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................
Zaawansowane programowanie
Zaawansowane programowanie wykład 3: inne heurystyki prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Heurystyką nazywamy algorytm (metodę) zwracający rozwiązanie przybliżone.
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
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski
Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów Adam Żychowski Definicja problemu dwóch graczy: P 1 (minimalizator) oraz P 2 (maksymalizator) S 1, S 2 zbiory strategii graczy
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 13. PROBLEMY OPTYMALIZACYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska PROBLEMY OPTYMALIZACYJNE Optymalizacja poszukiwanie
Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych
Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych mgr inż. Robert Nowotniak Politechnika Łódzka 1 października 2008 Robert Nowotniak 1 października 2008 1 / 18 Plan referatu 1 Informatyka
Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu
Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego
Rój cząsteczek Particle Swarm Optimization Adam Grycner Instytut Informatyki Uniwersytetu Wrocławskiego 18 maja 2011 Adam Grycner Rój cząsteczek 1 / 38 Praca Kennedy ego i Eberhart a Praca Kennedy ego
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
ALHE. prof. Jarosław Arabas semestr 15Z
ALHE prof. Jarosław Arabas semestr 15Z Wykład 5 Błądzenie przypadkowe, Algorytm wspinaczkowy, Przeszukiwanie ze zmiennym sąsiedztwem, Tabu, Symulowane wyżarzanie 1. Błądzenie przypadkowe: Pierwszym krokiem
WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego
WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego Algorytm ewolucyjny algorytm ewolucyjny inicjuj P 0 {P 0 1, P 0 2... P 0 μ } t 0 H P 0 while! stop for (i 1: λ) if (a< p c ) O t i mutation(crossover
PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH
CZESŁAW KULIK PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH Duże systemy przemysłowe, jak kopalnie, kombinaty metalurgiczne, chemiczne itp., mają złożoną
SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska
SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska DRZEWO REGRESYJNE Sposób konstrukcji i przycinania
Metody optymalizacji dyskretnej
Metody optymalizacji dyskretnej Spis treści Spis treści Metody optymalizacji dyskretnej...1 1 Wstęp...5 2 Metody optymalizacji dyskretnej...6 2.1 Metody dokładne...6 2.2 Metody przybliżone...6 2.2.1 Poszukiwanie
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
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,
Automatyczny dobór parametrów algorytmu genetycznego
Automatyczny dobór parametrów algorytmu genetycznego Remigiusz Modrzejewski 22 grudnia 2008 Plan prezentacji Wstęp Atrakcyjność Pułapki Klasyfikacja Wstęp Atrakcyjność Pułapki Klasyfikacja Konstrukcja
Wielokryterialne harmonogramowanie portfela projektów. Bogumiła Krzeszowska Katedra Badań Operacyjnych
Wielokryterialne harmonogramowanie portfela projektów Bogumiła Krzeszowska Katedra Badań Operacyjnych Problem Należy utworzyć harmonogram portfela projektów. Poprzez harmonogram portfela projektów będziemy