Optimering ved hjælp af metaheuristikker
Overordnede kursusmål
At give en grundig introduktion til brugen af metaheuristikker som værktøjer til løsning af praktiske optimeringsproblemer, hvor der foretages en afvejning mellem tid og løsningskvalitet.
See course description in English
Læringsmål
- Løse komplekse og/eller store optimeringsproblemer med metaheuristikker
- Identificere, hvilke metaheuristikker der er velegnede til et konkret optimeringsproblem
- Repræsentere et konkret problem på en måde, så det kan løses med en metaheuristik
- Specialisere en metaheuristik, så den kan anvendes til et konkret optimeringsproblem
- Implementere en metaheuristik, så den kan anvendes til et konkret optimeringsproblem
- Afprøve en metaheuristik, så dens effektivitet kan evalueres pålideligt
- Beskrive skriftligt anvendelsen af en metaheuristik på en specifik problemstilling
- Forstå forskellen mellem diversificerings- og intensiveringsstrategier anvendt af de forskellige metaheuristikker
Kursusindhold
Mange vigtige optimeringsproblemer kan ikke løses ved hjælp af standardløsere, fordi problemerne er for store eller for komplekse.
En pragmatisk tilgang er derfor at benytte specialdesignede algoritmer til at undersøge et stort antal løsninger for at finde en god og brugbar løsning. Denne type algoritmer kaldes heuristikker. Disse garanterer ikke, at den optimale løsning identificeres, men beregner en god løsning. Der eksisterer et antal generelle heuristik-skabeloner, som kan anvendes til en stor mængde forskellige optimeringsproblemer. Disse kaldes metaheuristikker. I dette kursus vil et antal af disse blive præsenteret og gennemgået for de studerende:
– Simuleret nedkøling
– Genetiske algoritmer/evolutionære algoritmer
– TABU søgning
– GRASP
– ALNS
– ILS
Siden dette felt af algoritmer er under konstant udvikling, udvikler indholdet sig løbende. Øvelserne i faget vil bruge computersproget Julia, så kendskab til Julia før kurset vil være en fordel.
Mulige starttidspunkter
- 6 – 20 (man 13-17)
Anbefalede forudsætninger
42101, Introduktion til Operations Analyse og programmerings erfaring. Der kan forventes en høj programmeringsbyrde.
Undervisningsform
Forelæsninger, øvelser og projektarbejde.



