Benczmarki

Poniżej przykładowe zestawy funkcji testowych:

  • Wybrane funkcje testowe pogrupowane pod względem ich cech specyficznych,
  • Wybrane funkcje testowe posortowane od najłatwiejszych do najtrudniejszych (kryterium bardzo subiektywne: autor zaimplementował pewien algorytm optymalizacyjny i porównanie odbywało się względem jakości rozwiązań zwracanych przez ten algorytm).

Należy wybrać z tego zestawu 6-8 funkcji o różnych cechach i różnym poziomie trudności i sprawdzić, dla których wyniki są satysfakcjonujące, a dla których nie bardzo..

Dodatkowo należy też porównać wyniki dla dwóch klas przestrzeni poszukiwań: do 5 wymiarów (np. przypadki 3D i 5D) oraz powyżej 5 wymiarów (np. 10D, 15D i 20D).

Część teoretyczna pracy dyplomowej – termin

nieprzekraczalnym terminie do 6 maja oczekuję przesłania mi części teoretycznej pracy dyplomowej, tj.:

  1. Zdefiniowanie problemu badawczego (tutaj w przeglądzie literatury można wspomnieć nie tylko książkę Storma i Price’a czy polskojęzyczną książkę Kusiaka et al., ale również inne książki poświęcone algorytmom ewolucyjnym, np. Arabasa, czy Michalewicza, a także – co najważniejsze – różne rozwinięcia tego algorytmu, które prezentujecie na seminariach; każdemu takiemu rozwinięciu można poświęcić 2-3 zdania).
  2. Przyjęte postępowanie
  3. Metodologia badań

Wskazówki, co powinno znaleźć się w każdym z rozdziałów znajdują się na stronie www: Ramowe wymagania, w tym, w pliku: Szablon pracy dyplomowej
(dobrym terminem nadsyłania mi tych rozdziałów jest okres między świętami Wielkanocy a długim weekendem majowym).

Przed przystąpieniem do pisania proszę też zapoznać się ze wskazówkami adresowanymi do studentów Department of Computer Science, University of York, UK (link dostępny na samym dole strony www: Ramowe wymagania), a zwłaszcza:

  1. slajdy 11-12: żart, demonstrujący sposób interpretowania obserwacji badań eksperymentalnych
  2. slajdy 18-19: przykład, demonstrujący w jaki sposób dobrze konstruować hipotezę badawczą i jak dowodzić jej prawdziwości.

Uwaga: zwracam uwagę, że terminów seminarium jest tylko siedem, dlatego akceptowalna jest co najwyżej jedna nieobecność. Osoby, które nie pojawiły się na ostatnim seminarium, tym samym wyczerpały już swój limit nieobecności na ten semestr.

Szablon do prezentacji i terminarz

Szablon latex przydatny do zrobienia prezentacji na seminarium

Terminarz prezentacji:

  1. 11 marca
  2. 18 marca
  3. 25 marca
  4. 8 kwietnia
  5. 15 kwietnia
  6. 22 kwietnia
  7. 6 maja
  8. 13 maja

Gotowe slajdy (tex i pdf) muszą być do mnie przesłane najpóźniej w ostatni piątek przed środą, kiedy mają być prezentowane – do akceptacji. Dopiero po naniesieniu wszystkich moich uwag można być dopuszczonym do prezentacji.

Najbliższe seminarium licencjackie

Najbliższe seminarium licencjackie odbędzie się w terminie już wg nowego planu, tj. we środę, 18 lutego, od 11:30 do 13:00 w sali 1244, bud. 12. Będzie można pokazać kod programu (niezbędny do zaliczenia), a także zostaną ustalone terminy prezentacji w nadchodzącym semestrze (uwaga: nieobecni nie mają głosu, tj. każdy może wypowiadać się wyłącznie w swoim imieniu).

Literatura obowiązkowa

Nakazuję w najbliższym czasie zapoznać się dokładnie z książką:
Optymalizacja. Wybrane metody z przykładami zastosowań. Jan Kusiak, Anna Danielewska-Tułecka, Piotr Oprocha. Wydawnictwo Naukowe PWN, Warszawa 2009.

Z naszego punktu widzenia do pominięcia są rozdziały: 5, 7, 9, 10 i 11. Pozostałe należy przeczytać z uwagą – zawarty w nich materiał będzie nam potrzebny. Poza tym jest to materiał, który trzeba zaprezentować w pracy dyplomowej przy okazji wprowadzenia pojęcia „optymalizacja”, zanim jeszcze rozpoczniecie opisywać algorytm ewolucji różnicowej.

Prezentacja rozszerzenia funkcjonalności DE – zmiana terminu

W związku z formalnymi obowiązkami nie będę mógł poprowadzić seminarium w dn. 29 stycznia (tzw. czwartkowtorek). Seminarium zostaje przełożone na poniedziałek, 2 lutego, na godz. 15:00, w tej samej pracowni komputerowej, tj. 1242. Program seminarium również bez zmian.
Ponadto, z racji, że to już będzie sesja, po zakończeniu wszystkich prezentacji będzie możliwość pokazania i przedyskutowania prototypu aplikacji realizującej DE (algorytm bazowy wraz z ustalonym rozszerzeniem). Przypominam, że prezentacja tej aplikacji, a w szczególności pokazanie, że zadany algorytm został zaimplementowany prawidłowo, jest warunkiem koniecznym otrzymania oceny pozytywnej z seminarium za semestr zimowy.

Jeszcze jedno spotkanie przed końcem semestru

W związku z ogłoszeniem czwartku, 29 stycznia, że jest wtorkiem, tego dnia odbędzie się seminarium licencjackie (mimo, że zapowiadałem inaczej – nie wiedziałem jeszcze wtedy o tym czwartkowtorku). Tematem seminarium będzie krótka prezentacja rozszerzenia funkcjonalności DE, jakie zostało każdemu przeznaczone do zaimplementowania.

Każdy przygotowuje na ten dzień krótkie wystąpienie, w którym przedstawi pozostałym słuchaczom seminarium, na czym polega przypisane mu rozszerzenie algorytmu – tylko najważniejszą ideę, bez wchodzenia w szczegóły implementacji i problemy ze strojeniem parametrów, bez dyskusji omawiającej szczególne przypadki, wartości brzegowe parametrów etc. Wystąpienie jest zaplanowane na 5-6 minut. Przygotowując wystąpienie należy zakładać, że słuchacze wiedzą jak działa bazowa wersja DE i dlatego należy od razu przechodzić do meritum. Wystąpienie może być oparte na slajdach (najwyżej 3 slajdy), można też wykorzystać tablicę suchościeralną i flamaster.

Po wystapieniu odbędzie się ocena przez głosowanie: podniosą rękę ci, którzy będą przekonani, że zrozumieli prelegenta. Następnie na wybranych osobach, które podniosły rękę, dokonamy sprawdzenia – będą one miały za zadanie powiedzieć, jak zrozumiały najważniejszą ideę rozszerzenia. Im więcej będzie podniesionych rąk, tym wyższa ocena (każdy głos – 1 pkt.). Osoby, które nic nie zrozumiały, ale podniosą rękę, otrzymają na swoje konto punkty ujemne. Każda osoba, która kompletnie źle zrozumie, będzie pomniejszała o jeden punkty zdobyte przez prelegenta. Natomiast ci, którzy zrozumieją tylko częściowo, mogą być wliczani do sumy punktów, jeżeli to, co ogarnęli, jest zgodne z prawdą. Przekroczenie czasu prezentacji również generuje punkty ujemne – po jednym za każdą minutę.

Aby zaliczyć, konieczne jest zdobycie przynajmniej 4 punktów. Na każdą osobę przeznaczone jest 10 minut, łącznie z głosowaniem i weryfikacją. Slajdy (plik pdf, ppt, lub pptx) proszę mi przysłać mailem najpóźniej dzień przed seminarium. Będą prezentowane z mojego notebooka. Porządek prezentacji zgodny z numerami tematów.
Obecność jest obowiązkowa.

Materiały do prac dyplomowych 2014/2015

Dla wszystkich materiałów do pobrania:

Dokument bazowy dla wszystkich:
Rozdział 2.1 (cały)

Temat 1

Rekombinacja (rozdział 2.6): porównanie „exponential crossover” (str. 93) z „arithmetic recombination” (rozdział 2.6.3)

Temat 2

Rekombinacja (rozdział 2.6): porównanie „exponential crossover” (str. 93) z „Three-Vector Recombination” (str. 108)

Temat 3

Samoadaptacja (Self-Adapting Control Parameters in Differential Evolution: A Comparative Study on Numerical Benchmark Problems)

Temat 4

Sąsiedztwo w zbiorze indeksów (Differential Evolution Using a Neighborhood-Based Mutation Operator)

Temat 5

Mutacja zależna od odległości (Enhancing Differential Evolution Utilizing Proximity-Based Mutation Operators)

Temat 6

Mutacja trygonometryczna (A Trigonometric Mutation Operation to Differential Evolution)

Temat 7

Adaptacja parametrów (Differential Evolution Algorithm With Strategy Adaptation for Global Numerical Optimization)

Temat 8

Wektory przeciwne (Opposition-Based Differential Evolution)

Temat 9

Liczność populacji: zewnętrzne archiwum (JADE: Adaptive Differential Evolution with Optional External Archive)

Temat 10

Elementy optymalizacji lokalnej (Enhancing Differential Evolution Performance with Local Search for High Dimensional Function Optimization)