Kursplan för Kombinatorisk optimering och villkorsprogrammering

Combinatorial Optimisation and Constraint Programming

Kursplan

  • 10 högskolepoäng
  • Kurskod: 1DL442
  • Utbildningsnivå: Avancerad nivå
  • Huvudområde(n) och successiv fördjupning: Datavetenskap A1N, Teknik A1N

    Förklaring av koder

    Koden visar kursens utbildningsnivå och fördjupning i förhållande till andra kurser inom huvudområdet och examensfordringarna för generella examina:

    Grundnivå

    • G1N: har endast gymnasiala förkunskapskrav
    • G1F: har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
    • G1E: innehåller särskilt utformat examensarbete för högskoleexamen
    • G2F: har minst 60 hp kurs/er på grundnivå som förkunskapskrav
    • G2E: har minst 60 hp kurs/er på grundnivå som förkunskapskrav, innehåller examensarbete för kandidatexamen
    • GXX: kursens fördjupning kan inte klassificeras

    Avancerad nivå

    • A1N: har endast kurs/er på grundnivå som förkunskapskrav
    • A1F: har kurs/er på avancerad nivå som förkunskapskrav
    • A1E: innehåller examensarbete för magisterexamen
    • A2E: innehåller examensarbete för masterexamen
    • AXX: kursens fördjupning kan inte klassificeras

  • Betygsskala: Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
  • Inrättad: 2022-03-03
  • Inrättad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Gäller från: HT 2022
  • Behörighet:

    120 hp inklusive Baskurs i matematik, Algebra I samt en fortsättningskurs i programmering eller annan kurskombination innehållande grundläggande koncept i algebra, kombinatorik, logik, graf- och mängdteori samt implementering av enkla sökalgoritmer. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)

  • Ansvarig institution: Institutionen för informationsteknologi

Mål

Efter godkänd kurs ska studenten kunna:

  • definiera begreppet kombinatoriskt (optimerings- eller satisfierbarhets-) problem,
  • förklara begreppet villkor, såsom det används i ett villkorsbaserat modelleringsspråk,
  • modellera ett kombinatoriskt problem i ett villkorsbaserat lösningsteknik-oberoende modelleringsspråk,
  • jämföra (empiriskt) flera modeller,
  • beskriva och jämföra lösningstekniker som kan användas av backends till ett villkorsbaserat modelleringsspråk,
  • välja lämpliga lösningstekniker för ett nytt kombinatoriskt problem och motivera valet,
  • presentera och diskutera material relaterat till kursens innehåll muntligt och skriftligt med en för utbildningsnivån lämplig färdighet,
  • beskriva hur en constraint programming (CP) lösare fungerar, genom att beskriva arkitekturen och de principer den baseras på,
  • utöka en CP-lösare med en propagator för ett nytt villkor, och utvärdera (empiriskt) om propagatorn är snabbare än en definition baserad på lösarens ursprungliga villkor,
  • utforma (empiriskt) en (problemspecifisk) sökstrategi som kan användas av en CP-lösare,
  • designa och (empiriskt) jämföra flera villkorsprogram (modell och sökning) för ett kombinatoriskt problem.

Innehåll

Användning av verktyg för att lösa ett kombinatorisk problem, genom att först modellera problemet i ett lösningsteknik-oberoende villkorsbaserat modelleringsspråk och sedan köra modellen i en befintlig lösare. Jamförelse av modeller, såsom att introducera redundans eller identifiera och ta bort symmetrier. Lösningstekniker som kan användas av backends till ett villkorsbaserat modelleringsspråk, t.ex. villkorsprogrammering, lokal sökning, Boolesk satisfierbarhet (modulo teorier) och heltalsprogrammering.

Villkorskonsistens; villkorspropagering; fixpoint propageringsalgoritmen.

Lösning genom systematisk sökning: konstruera och utforska ett sökträd; branching strategier; hantera en "objective function" för optimering.

Lösning genom (villkorsbaserad) stokastisk lokal sökning: konstruera och utforska en sökrymd; villkors-violation; variabel-violation; undersöka drag; söknings heuristiker; meta-heuristiker.

Undervisning

Föreläsningar, gästföreläsningar, obligatoriska uppgifter, handledning, lektioner, och ett obligatoriskt projekt.

Examination

Muntlig och skriftlig redovisning av modelleringsuppgifter (3 hp).

Muntlig och skriftlig redovisning av programmeringsuppgifter (5 hp).

Muntliga och skriftliga projektredovisningar (2 hp).

Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en enskild student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare för studenter med funktionsnedsättning.

Övriga föreskrifter

Kursen kan ej ingå i samma examen som 1DL441, 1DL451, 1DL448 eller 1DL449.

Litteratur

Litteraturlista

Gäller från: HT 2022

I bibliotekets söktjänst kan du se om en titel finns elektroniskt.

Kursen har ingen obligatorisk kursbok. Kursmaterial och referenser kommer att ges under kursen.