Rok akademicki: 2018/2019 Kod: EAR-1-592-s Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Kierunek: Automatyka i Robotyka Specjalność: ―
Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 5 Strona www: —
Osoba odpowiedzialna: dr hab. inż. Kwiecień Joanna (kwiecien@agh.edu.pl) Osoby prowadzące: dr hab. inż. Kwiecień Joanna (kwiecien@agh.edu.pl)
Kadłuczka Piotr (pkad@agh.edu.pl)
dr hab. inż. Chmiel Wojciech (wch@agh.edu.pl) Krótka charakterystyka modułu
W ramach modułu studenci poznają metody badań operacyjnych i wspomagania decyzji wraz z praktycznymi zagadnieniami.
Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi
Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń) Wiedza
M_W001 Zna tematykę badań operacyjnych i ich zastosowań w optymalizacji
AR1A_W12, AR1A_W03
Egzamin, Kolokwium
M_W002 Zna i rozumie metody pozwalające podejmować optymalne decyzje
AR1A_W12, AR1A_W03, AR1A_W17
Egzamin, Kolokwium
M_W003 Posiada umiejętność implementacji algorytmu przybliżonego w jednym z języków
programowania wraz z interfejsem umożliwiającym testowanie
zaimplementowanego algorytmu dla zbioru instancji testowych.
AR1A_W10 Projekt
M_W004 Potrafi zdefiniować model matematyczny oraz kryterium optymalizacji dla rzeczywistego zagadnienia optymalizacyjnego.
AR1A_W12, AR1A_W13
Egzamin, Kolokwium
M_W005 Posiada umiejętność implantacji algorytmów opartych na paradygmacie uczenia
maszynowego.
AR1A_W17 Projekt
Umiejętności
M_U001 Umie zanalizować i rozwiązać typowe zadania optymalizacji klasycznej i kombinatorycznej.
Potrafi stworzyć model matematyczny
rzeczywistego zagadnienia optymalizacyjnego.
AR1A_U07, AR1A_U08 Egzamin, Kolokwium
M_U002 Umie pracować w zespole AR1A_U02 Projekt
M_U003 Umie wykorzystać właściwe metody do rozwiązania określonych zadań
AR1A_U24 Egzamin, Kolokwium
M_U004 Potrafi zastosować wiedzę teoretyczną (literaturową) do opisu rzeczywistego zagadnienia optymalizacyjnego.
AR1A_U01 Referat
M_U005 Potrafi samodzielnie opracować sprawozdanie przedstawiające teoretyczne podstawy zastosowanej metody do rozwiązania
opracowywanego zagadnienia oraz praktyczną stronę jego realizacji.
AR1A_U03 Referat
M_U006 Potrafi stworzyć prezentację przedstawiającą metodę rozwiązania postawionego zagadnienia.
AR1A_U04 Prezentacja
M_U007 Sprawie posługuję się jednym z języków programowania w celu implementacji
algorytmu realizującego opracowaną metodę optymalizacji rzeczywistego zagadnienia optymalizacyjnego.
AR1A_U21, AR1A_U10 Projekt
Kompetencje społeczne
M_K001 Dostrzega możliwość wykorzystania poznanej wiedzy w praktyce
AR1A_K02 Projekt
M_K002 Dostrzega rolę pracy zespołowej AR1A_K04 Aktywność na zajęciach
M_K003 Potrafi podjąć decyzję uwzgledniającą zarówno oczekiwania wobec uzyskiwanych wyników swojej pracy jak również możliwości obliczeniowe współczesnych komputerów.
AR1A_K03 Referat
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi
Forma zajęć
Wykład Ćwiczenia audytoryjne Ćwiczenia laboratoryjne Ćwiczenia projektowe Konwersatori um Zajęcia seminaryjne Zajęcia praktyczne Zajęcia terenowe Zajęcia warsztatowe Inne E-learning Wiedza
M_W001 Zna tematykę badań operacyjnych i ich
zastosowań w optymalizacji
+ + - - - - - - - - -
M_W002 Zna i rozumie metody pozwalające podejmować optymalne decyzje
+ + + - - - - - - - -
M_W003 Posiada umiejętność implementacji algorytmu przybliżonego w jednym z języków programowania wraz z interfejsem umożliwiającym testowanie
zaimplementowanego
algorytmu dla zbioru instancji testowych.
- - + - - - - - - - -
M_W004 Potrafi zdefiniować model matematyczny oraz kryterium optymalizacji dla
rzeczywistego zagadnienia optymalizacyjnego.
+ + + - - - - - - - -
M_W005 Posiada umiejętność implantacji algorytmów opartych na paradygmacie uczenia maszynowego.
+ + + - - - - - - - -
Umiejętności
M_U001 Umie zanalizować i rozwiązać typowe zadania optymalizacji klasycznej i
kombinatorycznej. Potrafi stworzyć model
matematyczny rzeczywistego zagadnienia
optymalizacyjnego.
+ + + - - - - - - - -
M_U002 Umie pracować w zespole - - - - - - - - - - -
M_U003 Umie wykorzystać właściwe metody do rozwiązania określonych zadań
+ + + - - - - - - - -
M_U004 Potrafi zastosować wiedzę teoretyczną (literaturową) do opisu rzeczywistego zagadnienia
optymalizacyjnego.
+ + + - - - - - - - -
M_U005 Potrafi samodzielnie opracować sprawozdanie przedstawiające teoretyczne podstawy zastosowanej metody do rozwiązania opracowywanego zagadnienia oraz praktyczną stronę jego realizacji.
+ + + - - - - - - - -
M_U006 Potrafi stworzyć prezentację przedstawiającą metodę rozwiązania postawionego zagadnienia.
- - + - - - - - - - -
M_U007 Sprawie posługuję się jednym z języków programowania w celu implementacji
algorytmu realizującego opracowaną metodę optymalizacji rzeczywistego zagadnienia
optymalizacyjnego.
- - + - - - - - - - -
Kompetencje społeczne
M_K001 Dostrzega możliwość wykorzystania poznanej wiedzy w praktyce
+ - + - - - - - - - -
M_K002 Dostrzega rolę pracy zespołowej
- - + - - - - - - - -
M_K003 Potrafi podjąć decyzję uwzgledniającą zarówno oczekiwania wobec
uzyskiwanych wyników swojej pracy jak również możliwości obliczeniowe współczesnych komputerów.
+ + + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład
WYKŁAD
Problematyka badań operacyjnych
rys historyczny, sformułowanie zadań badań operacyjnych, podstawowe pojęcia Zagadnienia optymalnej trasy
algorytmy grafowe i macierzowe
Metody i algorytmy badań operacyjnych: modele liniowe
modele programowania liniowe w wersji prymalnej i dualnej, simpleks, zagadnienie transportowe
Metody i algorytmy badań operacyjnych: planowanie sieciowe
metody amerykańskie, metoda potencjałów MPM, wykres Gantta, praktyczne zastosowanie planowanie sieciowego, graf stochastyczny PERT
Metody i algorytmy badań operacyjnych: programowanie dyskretne metoda podziału i ograniczeń, algorytm Landa i Doiga
Metody i algorytmy badań operacyjnych: przepływ w sieciach transportowych własności przepływów, wyznaczanie maksymalnego i minimalnego przepływu w sieciach transportowych, algorytm Forda-Fulkersona, praktyczne zastosowania Metody i algorytmy badań operacyjnych: problemy przydziału
sformułowanie problemu przydziału przy liniowym i kwadratowym wskaźniku jakości, metoda węgierska, algorytmy stosowane w rozwiązaniu QAP, praktyczne zastosowania Metody i algorytmy badań operacyjnych: problem komiwojażera
sformułowanie problemu, metoda Eastmana, metoda Little’a, metoda kompozycji łacińskiej, praktyczne zastosowanie
Metody i algorytmy badań operacyjnych: szeregowanie zadań
sformułowanie zagadnień, kryteria optymalności uszeregowania zadań, algorytmy dokładne (Johnsona, Browna-Łomnickiego), metody przybliżone (Palmera, Gupty, CDS , NEH)
Programowanie dynamiczne:
zasada optymalności Bellmana, przykłady zastosowań, zagadnienie plecakowe Algorytmy inspirowane przez naturę w optymalizacji kombinatorycznej:
algorytmy stadne (PSO, algorytm pszczeli, algorytm mrówkowy, algorytm świetlika, algorytm karalucha)
Ćwiczenia audytoryjne
ĆWICZENIA AUDYTORYJNE
Metody ścisłe w optymalizacji zagadnień dyskretnych:
metodologia i podział algorytmów stosowanych w badaniach operacyjnych, Metoda programowania dynamicznego:
podstawy teoretyczne, ogólny schemat metody, binarne zagadnienie plecakowe, nieliniowe zagadnienie załadunku, zagadnienie wyznaczania wielkości partii produkcyjnej, zagadnienie alokacji zasobów,
uogólnienie metody dla wielowymiarowego wektora stanu oraz wektora decyzji Metoda podziału i ograniczeń:
podstawy teoretyczne, ogólny schemat algorytmu, kryteria zamykania podproblemów, algorytm Little’a dla zagadnienia komiwojażera,
algorytm węgierski i reguła podziału Bellmore’a dla zagadnienia komiwojażera, algorytm Dijkstry w rozwiązaniu otwartego zagadnienia komiwojażera,
algorytm Horowitz’a dla binarnego zagadnienie plecakowego.
Ćwiczenia laboratoryjne
ĆWICZENIA LABORATORYJNE
Algorytmy dedykowane dla zagadnień dyskretnych.
Implementacja algorytmów dedykowanych dla dyskretnych zagadnień
optymalizacyjnych SST (Dijkstra-Prim), Critical Path, <acronym title="Dijkstra, Kruskal, Floyda-Warshalla, Bellmana-Forda">SP</acronym>, Flow-Shop (Johnsona).
Charakterystyka metod przybliżonych w optymalizacji problemów o dużej złożoności obliczeniowej.
Klasy złożoności obliczeniowej (NEXP, EXP, NP, P, NP-hard). Zagadnienia decyzyjne i optymalizacyjne.
Algorytmy konstrukcyjne (stosowane reguły wyboru, złożoność obliczeniowa).
Złożoność algorytmu konstrukcyjnego. Definiowanie reguł zachłannych.
Implementacja reguł losowych w generacji rozwiązania konstrukcyjnego. Przykłady zastosowań.
Algorytmy poprawy rozwiązań: klasyczne algorytmy optymalizacji lokalnej (m.in. z wieloma rozwiązaniami początkowymi i zmiennym otoczeniem).
Klasyczny algorytm optymalizacji lokalnej. Definicje sąsiedztwa dla algorytmów
popraw (sąsiedztwo deterministycznie i niedeterministyczne). Definicja sąsiedztwa w kontekście kodowania rozwiązań.
Algorytmy poprawy rozwiązań: metaheurystyki (np. symulowanego wyżarzania, poszukiwania z zabronieniami, systemy ewolucyjne, GRASP).
Implementacja algorytmów symulowanego wyżarzania, Taboo Search, ewolucyjnych oraz innych inspirowanych systemami biologicznymi. Metody kodowania i
reprezentacji rozwiązań. Cechy algorytmów przybliżonych w kontekście cech optymalizowanego zagadnienia.
Modelowanie złożonych, rzeczywistych zagadnień optymalizacyjnych i systemów kolejkowych.
Definiowanie modeli matematycznych rzeczywistych zagadnień optymalizacyjnych pojawiających się w nauce i gospodarce. Określenie funkcji kryterialnych oraz ograniczeń nakładanych na poszukiwane rozwiązanie.
Badanie własności przestrzeni rozwiązań zagadnień dyskretnych, problemy implementacji zaawansowanych systemów optymalizacji.
Cechy przestrzeni rozwiązań, które mające wpływ na wydajność (zwodniczość, wielomodalność, epistaza, zaszumienie, neutralność). Metody oceny własności przestrzeni rozwiązań (krajobraz, autokorelacja , wartości dominujące).
Metaheurystyki wielopoziomowe.
Prowadzenie eksperymentów obliczeniowych.
Metodyka prowadzenia eksperymentów obliczeniowych. Metody oceny jakości rozwiązań uzyskiwanych przez algorytmy przybliżone. Prezentacja uzyskanych wyników.
Sposób obliczania oceny końcowej
Ocena końcowa jest średnią ważoną ocen z egzaminu (waga 0,6), ćwiczeń audytoryjnych (waga 0,2) i ćwiczeń laboratoryjnych (waga 0,2), przy czym oceny z egzaminu oraz z ćwiczeń audytoryjnych i laboratoryjnych muszą być pozytywne.
Wymagania wstępne i dodatkowe
Znajomość języka programowania C/C++/C1. , Java lub Matlab
Zalecana literatura i pomoce naukowe
1. Burkard R.E., Çela E., Pardalos P.M., Pitsoulis L., The quadratic assignment problem, Handbook of Combinatorial Optimization, 1998. Kluwer Academic Publishers, Dordrecht.
2. Cormen T.C., Leiserson Ch.E., Rivest R.L., Stein C.: Wprowadzenie do algorytmów. WNT, Warszawa 2007
3. Filipowicz B.: Badania operacyjne. Wybrane metody obliczeniowe i algorytmy. Cz. 1. Wydawnictwo ABART, Kraków 2007.
4. Filipowicz B.: Matematyczne modelowanie zagadnień decyzyjnych. Cz 1. Wydawnictwa AGH, Kraków 1998.
5. Michalewicz Z., Fogel D. B.: How to Solve It: Modern Heuristics, Springer Verlag, 2000, tłum. WNT.
6. Michalewicz Z.: Algorytmy genetyczne + struktury danych = programy ewolucyjne, WNT, Warszawa 1996
7. Goldberg D. E.: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley Publishing Company, 1989; tłum. Algorytmy genetyczne i ich zastosowania. WNT, Warszawa, 1995.
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu
1. Chmiel W., Kadłuczka P., Kwiecień J., Filipowicz B., Pukocz P.: Strategic planning optimisation using tabu search algorithm. Proceedings of VIII international conference on Knowledge, Information and Creativity Support Systems, Kraków 2013.
2. Chmiel W., Kadłuczka P., Packanik G.:Zastosowanie algorytmów rojowych w rozwiązywaniu zagadnień permutacyjnych. Automatyka, 15(2), 2011.
3. Filipowicz B., Kwiecień J.: Algorytmy stadne w optymalizacji problemów przydziału przy kwadratowym wskaźniku jakości (QAP). Automatyka 15(2), 2011.
4. Kwiecień J., Filipowicz B.: Comparison of firefly and cockroach algorithms in selected discrete and combinatorial problems. Bulletin of the Polish Academy of Sciences. Technical Sciences, 62(4), 2014.
5. Szwed P., Chmiel W.: Multi-swarm PSO algorithm for the Quadratic Assignment Problem: a massive parallel implementation on the OpenCL platform. Neural and Evolutionary Computing (cs.NE), http://arxiv.org/abs/1504.05158
6. Szwed P., Chmiel W., Kadłuczka P.: OpenCL implementation of PSO algorithm for the quadratic assignment problem. Artificial Intelligence and Soft Computing : 14th International Conference, ICAISC 2015, Springer, Lecture Notes in Computer Science, Lecture Notes in Artificial Intelligence; LNAI 9120, 223–234, 2015.
Informacje dodatkowe
Brak
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie
studenta
Udział w wykładach 28 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Przygotowanie do zajęć 20 godz
Udział w ćwiczeniach audytoryjnych 14 godz
Samodzielne studiowanie tematyki zajęć 48 godz
Sumaryczne obciążenie pracą studenta 138 godz
Punkty ECTS za moduł 5 ECTS