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: Ekstern prøve
Bedømmelse: 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Forår
Niveau: Kandidat

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

Godkendelsesdato: 29-10-2018


Varighed: 1 semester

Version: Godkendt - aktiv

Kommentar

Kurset samlæses med: DM545: Lineær og heltalsprogrammering (5 ECTS).
Kurset kan ikke følges af studerende, der har bestået DM559: Lineær og heltalsprogrammering (7,5 ECTS)

Kurset er valgfrit for følgende studieordninger: Computer Science, Applied Mathematics, Mathematics

 

Indgangskrav

Kurset kan ikke følges hvis enten DM545: Lineær og heltalsprogrammering eller DM559 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 indholdet af kurset: DM507 "Algoritmer og datastrukturer " eller have opnået kendskab til indholdet af DM507 "Algoritmer og datastrukturer” samtidig med at dette kursus undervises
  • Have kendskab til Lineær Algebra
  • Kunne programmere

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 BlackBoard for pensumlister og yderligere litteraturhenvisninger.

    Eksamensbestemmelser

    Eksamenselement a)

    Tidsmæssig placering

    Forår

    Udprøvninger

    Obligatoriske opgaver i form af short-answer tests, der laves i løbet af undervisningen.

    EKA

    N340030102

    Censur

    Ekstern prøve

    Bedømmelse

    7-trinsskala

    Identifikation

    Studiekort

    Sprog

    Følger, som udgangspunkt, undervisningssprog

    Hjælpemidler

    Tilladt, nærmere beskrivelse af eksamensreglerne vil blive offentliggjort under 'Course Information' på kursets side i BlackBoard’.

    ECTS-point

    5

    Uddybende information

    Der skal deltages i alle test som forgår løbende i undervisningen. Tidspunkterne bliver aftalt med kursusdeltagerne.

    Eksamensformen ved reeksamen kan være en anden end eksamensformen ved den ordinære eksamen.

    Vejledende antal undervisningstimer

    52 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, holdtimer) - 52 timer
    • Træningsfase: 26 timer, heraf 22 timer eksamiinatorie og 4 timer laboratorie

    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

    Skemaoplysninger

    Administrationsenhed

    Institut for Matematik og Datalogi (datalogi, fiktiv)

    Team hos Registrering & Legalitet

    NAT

    Anbefalede studieforløb

    Profil Program Semester Periode