Rješavanje optimizacijskih problema algoritmima evolucijskog računanja u Javi

Prikazani su podaci za akademsku godinu: 2023./2024.

Opis predmeta

U svakodnevnom životu susrećemo različite vrste NP-teških optimizacijskih problema, čijim se približnim rješavanjem omogućava efikasnije i ekonomičnije vođenje raznorodnih procesa. U okviru ove vještine studenti će se upoznati s pojmovima jednokriterijske i višekriterijske optimizacije, s kontinuiranim i kombinatoričkim optimizacijskim problemima te s podskupom algoritama evolucijskog računanja koji će biti iskorišteni za dobivanje zadovoljavajućih rješenja. U okviru vještine obradit će se genetski algoritam, algoritam mravlje kolonije, algoritam roja čestica, imunološki algoritam te algoritam diferencijske evolucije, s primjerima jednokriterijske i višekriterijske optimizacije kontinuiranih i kombinatoričkih problema. Razmotrit će se paralelizacija odabranih algoritama, a primjeri će biti u programskom jeziku Java.

Studijski programi

Sveučilišni preddiplomski
[FER2-HR] Elektrotehnika i informacijska tehnologija - studij
Vještine - 3. semestra (3. semestar)
[FER2-HR] Obradba informacija - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Programsko inženjerstvo i informacijski sustavi - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Računalno inženjerstvo - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Računarska znanost - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Računarstvo - studij
Vještine - 3. semestra (3. semestar)
[FER2-HR] Telekomunikacije i informatika - modul
Vještine - 5. semestra (5. semestar)
Sveučilišni diplomski
Vještine - dipl.studij_FER3 - 1. semestar (1. semestar)
Vještine - dipl.studij_FER3 - 3. semestar (3. semestar)
Vještine - dipl.studij_FER3 - 1. semestar (1. semestar)
Vještine - dipl.studij_FER3 - 3. semestar (3. semestar)
Vještine - dipl.studij_FER3 - 1. semestar (1. semestar)
Vještine - dipl.studij_FER3 - 3. semestar (3. semestar)
[FER2-HR] Automatika - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Bežične komunikacijske tehnologije - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Elektroenergetika - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Elektroničko i računalno inženjerstvo - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Elektronika - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Elektrotehnički sustavi i tehnologija - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Obradba informacija - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Programsko inženjerstvo i informacijski sustavi - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Računalno inženjerstvo - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Računarska znanost - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Telekomunikacije i informatika - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)

Opće kompetencije

Studenti će tijekom savladavanja vještine implementirati svaki od navedenih algoritama. Temeljem toga steći će predodžbu o načinu rada i ponašanju algoritama (brzina rada, utjecaj osnovnih parametara i sl.). Savladat će više načina kodiranja rješenja prikladnih za navedene algoritme te će time znati principe primijeniti i na druge probleme. Razumjet će razliku između jednokriterijske i višekriterijske optimizacije. Napisat će i paralelnu verziju odabranog algoritma čime će steći dodatno iskustvo.

Ishodi učenja

  1. definirati pojam optimizacijski problem
  2. navesti algoritme evolucijskog računanja
  3. primijeniti algoritme evolucijskog računanja na jednokriterijske optimizacijske probleme
  4. primijeniti algoritme evolucijskog računanja na višekriterijske optimizacijske probleme
  5. dizajnirati paralelne algoritme evolucijskog računanja
  6. procijeniti prikladnost pojedinih algoritama za određene optimizacijske probleme

Oblici nastave

Predavanja

Nastava će se provoditi u predavaoni, pri čemu će se koristiti prezentacije (PowerPoint), ploča za detaljnija pojašnjenja algoritama i za rješavanje primjera te niz pripremljenih edukacijskih programa koji na jednostavnim primjerima uživo ilustriraju rad pojedinih algoritama.

Laboratorijske vježbe

U okviru laboratorijskih vježbi sa studentima će se pregledati njihove implementacije algoritama te dati kritički osvrt kao i savjeti za poboljšanja. Zadatci se rješavaju kod kuće te se nastavniku prezentiraju u terminu vježbe.

Tjedni plan nastave

  1. Uvod
  2. Vrste optimizacijskih problema.
  3. Genetski algoritam primjenjen na problem optimizacije kontinuirane funkcije.
  4. Genetski algoritam primjenjen na problem kombinatoričke optimizacije.
  5. Naprednije vrste genetskog algoritma
  6. Algoritam mravlje kolonije
  7. Algoritam roja čestica
  8. Imunološki algoritmi
  9. Višekriterijska optimizacija
  10. Genetski algoritmi za višekriterijsku optimizaciju
  11. Imunološki algoritmi za višekriterijsku optimizaciju
  12. Paralelizacija kod evolucijskih algoritama (1)
  13. Paralelizacija kod evolucijskih algoritama (2)

Literatura

Marko Čupić (2012.), Prirodom inspirirani optimizacijski algoritmi. Metaheuristike.,
Michael Affenzeller, Stefan Wagner, Stephan Winkler, Andreas Beham (2009.), Genetic Algorithms and Genetic Programming. Modern Concepts and Practical Applications, CRC Press
Kenneth V.Price, Rainer M. Storn, Jouni A. Lampinen (2005.), Differential Evolution. A Practical Approach to Global Optimization, Springer
Kalyanmoy Deb (2009.), Multi-Objective Optimization using Evolutionary Algorithms, Wiley
Marco Dorigo, Thomas Stützle (2004.), Ant Colony Optimization, MIT Press

Za studente

Izvedba

ID 79087
  Zimski semestar
4 ECTS
R0 Engleski jezik
R1 E-učenje
30 Predavanja
0 Seminar
0 Auditorne vježbe
0 Laboratorijske vježbe
0 Konstrukcijske vježbe
0 Vježbe tjelesnog odgoja

Ocjenjivanje

izvrstan
vrlo dobar
dobar
dovoljan