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

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.

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)

Studijski programi

Automatika -> Elektrotehnika i informacijska tehnologija (Profil)

Automatika -> Elektrotehnika i informacijska tehnologija (Profil)

Elektrotehnički sustavi i tehnologija -> Elektrotehnika i informacijska tehnologija (Profil)

Elektrotehnički sustavi i tehnologija -> Elektrotehnika i informacijska tehnologija (Profil)

Elektrotehnika i informacijska tehnologija -> Elektrotehnika i informacijska tehnologija i Računarstvo (Studij)

Elektroenergetika -> Elektrotehnika i informacijska tehnologija (Profil)

Elektroenergetika -> Elektrotehnika i informacijska tehnologija (Profil)

Računarstvo -> Elektrotehnika i informacijska tehnologija i Računarstvo (Studij)

Elektroničko i računalno inženjerstvo -> Elektrotehnika i informacijska tehnologija (Profil)

Elektroničko i računalno inženjerstvo -> Elektrotehnika i informacijska tehnologija (Profil)

Elektronika -> Elektrotehnika i informacijska tehnologija (Profil)

Elektronika -> Elektrotehnika i informacijska tehnologija (Profil)

Obradba informacija -> Informacijska i komunikacijska tehnologija (Profil)

Obradba informacija -> Informacijska i komunikacijska tehnologija (Profil)

Telekomunikacije i informatika -> Informacijska i komunikacijska tehnologija (Profil)

Telekomunikacije i informatika -> Informacijska i komunikacijska tehnologija (Profil)

Radiokomunikacijske tehnologije -> Informacijska i komunikacijska tehnologija (Profil)

Radiokomunikacijske tehnologije -> Informacijska i komunikacijska tehnologija (Profil)

Obradba informacija -> Računarstvo (Modul)

Programsko inženjerstvo i informacijski sustavi -> Računarstvo (Profil)

Programsko inženjerstvo i informacijski sustavi -> Računarstvo (Profil)

Programsko inženjerstvo i informacijski sustavi -> Računarstvo (Modul)

Računalno inženjerstvo -> Računarstvo (Profil)

Računalno inženjerstvo -> Računarstvo (Profil)

Računalno inženjerstvo -> Računarstvo (Modul)

Računarska znanost -> Računarstvo (Profil)

Računarska znanost -> Računarstvo (Profil)

Računarska znanost -> Računarstvo (Modul)

Telekomunikacije i informatika -> Računarstvo (Modul)

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

Bodovi i izvedba

4 ECTS
R0 Engleski jezik
R1 E-učenje
30 Predavanja
0 Auditorne vježbe
0 Laboratorijske vježbe

Ocjenjivanje

izvrstan
vrlo dobar
dobar
dovoljan