Kombinatorisk optimering och villkorsprogrammering

10 hp

Kursplan, Avancerad nivå, 1DL442

Kod
1DL442
Utbildningsnivå
Avancerad nivå
Huvudområde(n) med fördjupning
Datavetenskap A1N, Teknik A1N
Betygsskala
Med beröm godkänd, icke utan beröm godkänd, godkänd, underkänd
Fastställd av
Teknisk-naturvetenskapliga fakultetsnämnden, 3 mars 2022
Ansvarig institution
Institutionen för informationsteknologi

Behörighetskrav

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.)

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.

FÖLJ UPPSALA UNIVERSITET PÅ

facebook
instagram
twitter
youtube
linkedin