Kako zahteven je naš algoritem? Kateri algoritmi so praktično uporabni? Ali naj za to, da bo naš program deloval sprejemljivo hitro, kupimo dvakrat (petkrat?) hitrejši računalnik ali pa bo potrebna drugačna zasnova programa?

Pri predmetu Analiza algoritmov in hevristično reševanje problemov se bomo na podlagi teoretičnih spoznanj o izračunljivosti in kompleksnosti algoritmov najprej naučili analizirati algoritme in odgovarjati na zgornja vprašanja.

Spoznali bomo, da so nekateri praktično zanimivi problemi v splošnem pretežki za vse današnje računalnike. Seveda jih želimo kljub temu reševati. Vsaj nekatere in vsaj približno. »Heureka (našel sem)!« je zavpil Arhimed, ko je med kopanjem v kadi odkril, da je dvig gladine vode enak prostornini v vodo potoplejnega telesa (in v navdušenju kar gol stekel na ulico). Hevristične metode (verjetno zato) imenujemo tiste pristope, ki nam, marsikdaj brez natančne teoretične podlage, omogočajo približne rešitve težkih problemov. Številne metode, npr. orodja operacijskih raziskav, lokalno in stohastično preiskovanje so se uveljavile kot standardni optimizacijski pristopi za številne probleme v znanosti, tehniki in poslovnem okolju. Namen predmeta je podati uporabno znanje o analizi algoritmov in spoznati uveljavljene hevristične metode do te mere, da se pri soočenju s težkim praktičnim problemom znate odločiti, katero od tehnik uporabiti, in se je lotiti s pomočjo knjižnic optimizacijskih pristopov.

Vaje pri predmetu potekajo v obliki reševanja nekaterih nalog in posvetovanj z asistentom o petih seminarskih nalogah, ki so enakomerno razporejene skozi semester. Oceno vaj predstavlja skupna ocena seminarskih nalog, pri vseh pa je potrebno doseči več kot polovico točk. Pogoj za pozitivno oceno vaj je tudi doseženih polovica vseh točk na kvizih.

Ocena pri predmetu je sestavljena kot povprečje ocene vaj in ocene pisnega izpita, pri katerem je potrebno doseči več kot polovico točk. Oceno je mogoče izboljšati z ustnim izpitom.