DM871: Lineær og heltalsprogrammering

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N340030102
Censur: Intern prøve, to eller flere bedømmere
Bedømmelse: 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Forår
Niveau: Kandidat

STADS ID (UVA): N340030101
ECTS-point: 5

Godkendelsesdato: 26-10-2022


Varighed: 1 semester

Version: Godkendt - aktiv

Kommentar

Kurset udbydes efter behov og udbydes ikke nødvendigvis hvert år. Eksamensforsøg for DM871 udbydes efter følgende plan, når kurset udbydes:  Forår (kursusstart februar): ordinær eksamen (juni), første reeksamen (august) og 2. reeksamen i (januar eller marts).

Kurset samlæses med: DM545: Lineær og heltalsprogrammering (5 ECTS).
Kurset er valgfrit for følgende studieordninger: Datalogi, Anvendt matematik, Matematik og Data science.

Indgangskrav

Kurset kan ikke følges hvis enten DM545: Lineær og heltalsprogrammering (5 ECTS) eller DM559 (arkiveret, udbudt sidste gang F18) er bestået, eller hvis enten DM545 eller DM559 indgår obligatorisk i din studieordning.

Faglige forudsætninger

Studerende, der følger kurset, forventes at:

  • Have kendskab til Lineær Algebra, fx ved at have fulgt DM561, MM505, MM538 eller DS827
  • Kunne programmere, fx ved at have fulgt DM536, DM550, DM574, DS800 eller DS831

Formål

Kursets formål er at give deltagerne evnen til at formulere, modellere og udtænke løsningstilgang til problemer der opstår indenfor planlægning, skemalægning og ruteplanlægning. Lineær og heltalsprogrammering er et felt i skæringspunktet mellem matematik og datalogi, der har set en stor udvikling i de sidste 60 år. Det giver de værktøjer, der er kernen i operationsanalyse, den disciplin, der giver analysemetoder til at hjælpe at træffe bedre beslutninger. Det primære fokus for lineær og heltalsprogrammering er på ressource begrænset optimeringsproblemer, der kan beskrives ved hjælp af lineære uligheder og en lineær objektivfunktion. Disse problemer kan opstå i beslutningsprocessen i flere sammenhænge, såsom produktionsindustri, logistik, sundhedssektor, uddannelse, finans, energiforsyning og med flere. Indholdet af kurset har derfor en høj praktisk relevans.  

Kurset har til formål at sætte den studerende i stand til at anvende matematisk modellering til at løse praktiske optimeringsproblemer og at arbejde med en matematisk softwaresystem til at finde numeriske løsninger på disse problemer. For at nå disse mål vil kurset give til den studerende viden om de grundlæggende principper for lineær programmering og dualitet teori og om de vigtigste løsning teknikker til lineær og heltalsprogrammering, såsom simplex metoden, branch and bound og cutting planes.

Kurset bygger oven på den viden, der er erhvervet i kurset DM507 "Algoritmer og datastrukturer", og giver et fagligt grundlag for at lave et master thesis projekt og andre både teoretiske og praktiske studie-aktiviteter så vel som at studere emnerne for andre valgfri kurser, der kan vælges i Datalogi, Anvendt Matematik eller andre uddannelsen.

I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på at:

  • Give kompetence til at håndtere komplekse og udviklingsorienterede situationer i studie- og arbejdssammenhænge
  • Give færdigheder i at beskrive, analysere og løse matematiske problemstillinger ved anvendelsen af metoder og modelleringsformalismer fra områder af matematik og datalogi 
  • Give færdigheder i at træffe og begrunde fagligt relaterede beslutninger
  • Give færdigheder i at beskrive, formulere og formidle problemstillinger og resultater til enten fagfæller og ikke-specialister eller samarbejdspartnere og brugere
  • Give viden om hvordan visse optimeringsproblemer kan løses ved hjælp af lineær- og heltaltsprogrammering
  • Give viden om at kunne forstå og reflektere over teorier, metoder og praksis inden for det matematiske fagområde

Målbeskrivelse

For at opnå kursets formål er det læringsmålet for kurset, at den studerende demonstrerer evnen til at: 

  • opstille en matematisk (lineær) model ud fra en problemskrivelse i ord.
  • opskrive det duale program for et givet lineært program.
  • anvende Simplex algoritmen på simple lineære programmer.
  • anvende branch and bound til at løse små problemeksempler.
  • udlede Gomory cuts og anvende cutting plane algoritme i små problemeksempler.
  • anvende teorien fra kurset til at løse praktiske optimeringsproblemer, som for eksempel strømningsproblemer, matching problemer, pakningsproblemer, simple skeduleringsproblemer etc.
  • anvende et computerværktøj til løsning af lineær og heltals programmeringsproblemer.
  • tænke nyt med at se muligheder for anvendelsesorienteret brug af teoretisk viden i industriverden.

Indhold

Kurset indeholder følgende faglige hovedområder:
  • Linær programmering og Simplexmetoden
  • Dualitetsætningen
  • Heltals programmering: branch and bound og cutting plane algoritmer
  • Min cost flow problem og dets anveldenser
  • Programpakker til at løse lineær- og heltals programmeringsproblemer.

    Litteratur

    Se itslearning for pensumlister og yderligere litteraturhenvisninger.

    Eksamensbestemmelser

    Eksamenselement a)

    Tidsmæssig placering

    Forår

    Udprøvninger

    Obligatoriske opgaver

    EKA

    N340030102

    Censur

    Intern prøve, to eller flere bedømmere

    Bedømmelse

    7-trinsskala

    Identifikation

    Fulde navn og SDU brugernavn

    Sprog

    Følger, som udgangspunkt, undervisningssprog

    Hjælpemidler

    Tilladt, nærmere beskrivelse af eksamensreglerne vil blive offentliggjort i itslearning.

    ECTS-point

    5

    Uddybende information

    Obligatoriske opgaver i form af short-answer tests, der laves i løbet af undervisningen.
    Der skal deltages i alle test som forgår løbende i undervisningen. Tests i løbet af undervisningen kan eksempelvis være i form af 24 timers hjemmeopgaver eller eksamenstimer i undervisningslokalet. Tidspunkterne bliver aftalt med kursusdeltagerne.
    Reeksamen foregår med en enkelt, kortfristet hjemmeopgave i form af short-answer test tilsvarende til de oblikatoriske opgaver for den ordinære eksamen.

    Vejledende antal undervisningstimer

    50 timer per semester

    Undervisningsform

    På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
    Undervisningsaktiviteter udmønter sig i en anslået vejledende fordeling af arbejdsindsatsen hos en gennemsnitsstuderende på følgende måde:

    • Introfase (forelæsning) - 32 timer
    • Træningsfase: 18 timer 

    I introfasen introduceres og perspektiveres begreber, teorier og modeller. I træningsfasen træner de studerende færdigheder og trænger dybere ned i det stof.

    Aktiviteter i studiefasen:

    • Læse den tildelte litteratur
    • Løse hjemmeopgaver
    • Anvende det tilegnede viden i praktiske projekter

    Ansvarlig underviser

    Navn E-mail Institut
    Marco Chiarandini marco@imada.sdu.dk Data Science

    Skemaoplysninger

    Administrationsenhed

    Institut for Matematik og Datalogi (datalogi)

    Team hos Uddannelsesjura & Registratur

    NAT

    Udbudssteder

    Odense

    Anbefalede studieforløb

    Profil Uddannelse Semester Udbuds periode

    Overgangsordninger

    Overgangsordninger beskriver, hvordan et kursus erstatter et andet kursus, når der ændres i et studieforløb.
    Hvis der er lavet en overgangsordning for et kursus vil den fremgå af oversigten.
    Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.