42114 Heltalsprogrammering

2022/2023

Kursusinformation
Integer Programming
Engelsk
5
Kandidat
Kurset udbydes som enkeltfag
E7 (tirs 18-22)
Forelæsninger fra 15 til 17 og efterfølgende øvelser fra 17 til 19.
Campus Lyngby
Forelæsninger, øvelser og projektarbejde
13-uger
E7, F7
Skriftlig eksamen
Kurset evalueres ved en skriftlig eksamen. For at deltage i den skriftllige eksamen skal man bestå en projektopgave. Projektet kan løses i grupper på op til tre studerende. Projektet bestås hvis man scorer mindst 50 ud af 100.
Skriftlig eksamen: 4 timer
Alle hjælpemidler er tilladt
7-trins skala , ekstern censur
42101 , Et indledende kursus i operationsanalyse er en nødvendig faglig forudsætning.
42101 , Et indledende kursus i operationsanalyse er en nødvendig faglig forudsætning.
Jesper Larsen , Lyngby Campus, Bygning 358, Tlf. (+45) 4525 3385 , jesla@dtu.dk
David Pisinger , Lyngby Campus, Bygning 358, Tlf. (+45) 4525 4555 , dapi@dtu.dk
42 Institut for Teknologi, Ledelse og Økonomi
I studieplanlæggeren
Dette kursus giver den studerende en mulighed for at lave eller forberede et projekt som kan deltage i DTUs studenterkonference om bæredygtighed, klimateknologi og miljø (GRØN DYST). Se mere på http://www.groendyst.dtu.dk
Overordnede kursusmål
Matematisk optimering er en essentiel og kompleks del af data science. Som en del af optimering giver heltalsprogrammering mulighed for at få det fulde udbytte ud af ens data. I planlægning af f.eks. transport-, energi eller produktionssystemer kan heltalsprogrammering give afgørende fordele. Dette kursus giver deltagerne en grundig indtroduktion til problemformulering og løsningsmetodik for heltalsprogrammeringsproblemer som disse opstår i en lang række komplekse situationer. Deltagerne bliver i stand til såvel af formulere heltalsprogrammeringer som at anvende det til at etablere optimale løsninger for såvel simple som komplekse planlægnings- og beslutningsproblemer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • define et "mixed integer" program, et heltalsprogram og et binært program i forhold til et lineært program.
  • gennemføre simpel identifikation af løsningsmetoder for et heltalsprogrammerings (IP) problem.
  • opstille en heltalsprogrammering model med målfunktion, begrænsninger og variabeldefinition ud fra en simpel tekst.
  • definere en relaksering og beskrive eksempler på relaksering fra pensum
  • beskrive konstruktionen af en branch-and-bound (B&B) algoritme for et standard IP problem.
  • gengive betydningen af og indholdet af de centrale beviser indenfor heltalsprogrammering som angivet i kurset.
  • definere og beskrive brugen af gyldige uligheder og snit generelt og specifikt i forbindelse med et givet simpelt IP problem.
  • beskrive problemstillingerne ved udvidelsen fra uligheder og snit til en branch-and-cut (B&C) algoritme.
  • overordnet beskrive brugen af B&B, B&C, øvre og nedre grænse ifm. en implementering af effektive løsningsmetoder for simple IP problemer (herunder specielt TSP).
  • opstille en dynamisk programmerings algoritme bestående af "princple of optimality", "stage" og "state" for et simpelt problem.
  • definere Lagrange relaxering for et heltalsprogram og beskrive brugen af Lagrange relaxering på et simpelt IP problem.
Kursusindhold
Relaxation, duality, Branch & Bound, snitplaner, Branch & Cut, Lagrange relaksering, dynamisk programmering. Eksempler på anvendelser: Projektplanlægning, rutelægning og produktionsplanlægning.
Litteraturhenvisninger
L. Wolsey: Integer Programming, Wiley. Kursusnoter
Sidst opdateret
20. juli, 2022