Förstå de två vanligaste paradigmerna, linjärprogrammering (MILP) och villkorsprogrammering (CP).
Förklara skillnaderna mellan MILP och CP, and kunna konvertera modeller från ett paradigm till ett annat.
Analysera och bestämma vilket paradigm som troligen fungerar bäst i givna situationer.
Vara bekväm med att modellera problem för respektive paradigm.
Använda existerande spjutspetsverktyg för modellering (AMPL, MiniZink) och generella optimeringslösare (CPLEX, Gurobi, GEOCODE).
Förstå och implementera specialanpassade heuristicbaserade algoritmer som A* och Dijkstra's.
Kursinnehåll
Kursen syftar till att ge studenterna förmåga att förstå och vara bekväme med användningen av optimeringsverktyg och tekniker från operationsanalys (OR) och datavetenskap (CS), genom konkreta och verklighetsnära uppgifter. Detta inkluderar teori och praktik för generella optimerinsgmetoder, såsom linjärprogrammering, villkorsprogrammering, "branch and bound" och andra diskreta optimeringsalgoritmer (Dijkstra's, A*).
Förutsättningar
Grundläggande programmering (Python används i kursen).
Litteratur
Martin Fabian, Lecture notes. Därtill kan vetenskapliga artiklar och annat extramaterial komma att delas ut.