Advancerede operationsanalytiske metoder
Overordnede kursusmål
Målet med kurset er at give en grundig indføring i dekompositionsalgoritmer. Dette skal gøre det muligt for de studerende at anvende dekompositionsalgoritmer til at løse komplekse optimeringsproblemer. Desuden trænes de studerende i at anvende metoderne og implementere dem i Julia
See course description in English
Læringsmål
- Beskrive motivationen for dekomponering i storskala optimering, herunder blokstruktur, separabilitet og scenarie-baseret modellering
- Forklare de grundlæggende idéer bag de centrale dekomponeringsmetoder: Benders Decomposition, Dantzig–Wolfe Decomposition, Stochastic Dual Dynamic Programming og Progressive Hedging
- Redegøre for de matematiske fundamenter, der ligger til grund for disse metoder, herunder dualitetsteori, konveksitet, recourse-begrebet og value functions
- Formulere master- og delproblemer for deterministiske og stokastiske optimeringsmodeller, der egner sig til dekomponering
- Implementere grundlæggende versioner af Benders Decomposition, Dantzig–Wolfe Decomposition, Stochastic Dual Dynamic Programming og Progressive Hedging ved hjælp af et modelleringsværktøj (f.eks. Julia/JuMP).
- Analysere en matematisk model med henblik på at afgøre, om den besidder strukturelle egenskaber, der gør den egnet til dekomponering
- Anvende dekomponeringsmetoder til at løse repræsentative deterministiske og stokastiske optimeringsproblemer
- Sammenfatte de væsentligste fordele og begrænsninger ved de behandlede metoder
Kursusindhold
Mange vigtige optimeringsproblemer kan formuleres som mixed integer programming-modeller (MIP). Når sådanne modeller ikke kan løses effektivt med standard løsningssoftware, kan dekomponeringsalgoritmer anvendes til iterativt at løse problemet ved at samle løsninger fra mindre delproblemer. De metoder, der behandles i kurset, er Benders Decomposition, Dantzig–Wolfe Decomposition/column generation, Stochastic Dual Dynamic Programming (SDDP) og Progressive Hedging.
Kurset giver de studerende et grundigt overblik over disse metoder og sætter dem i stand til at anvende dem som løsningsmetoder på forskellige typer optimeringsproblemer.
Anbefalede forudsætninger
42112, Programeringssproget Julia, med pakken Jump vil blive benyttet i øvelserne og afleveringsopgaver
Undervisningsform
Forelæsninger, øvelser og projektarbejde.
Fakultet
Bemærkninger
Kurset er kvantitativt orienteret, og en god forståelse af lineær programmering er nødvendig. I øvelserne anvendes programmeringssproget Julia/JuMP (som introduceres i kursus 42112) samt SDDP-pakken til implementering af dekomponeringsalgoritmerne




