Kursplan för Villkorsprogrammering och tillämpad optimering

Kursplan fastställd 2022-02-08 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnConstraint programming and applied optimization
  • KurskodEEN025
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPSYS
  • UtbildningsnivåAvancerad nivå
  • HuvudområdeAutomation och mekatronik
  • InstitutionELEKTROTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 35111
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0118 Tentamen 5 hp
Betygsskala: TH
5 hp
  • 31 Okt 2024 fm J
  • 07 Jan 2025 fm J
  • 22 Aug 2025 em J
0218 Laboration 2,5 hp
Betygsskala: UG
2,5 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för avancerad nivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Engelska 6
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Grundläggande programmering (Python används i kursen).

Syfte

Kursen syftar till att ge avancerade kunskaper om formella metoder i allmänhet och villkorsprogrammering i synnerhet och hur dessa metoder kan användas för att analysera händelsediskreta system. Typiska applikationer för formella metoder är verifiering och syntes av styrfunktioner för inbyggda system, styrning och optimering av automatiserade produktionssystem och kommunikationssystem. Kursen fokuserar på modellering, specifikation, simulering, verifiering, syntes och optimering.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Förstå de två vanligaste paradigmerna, linjärprogrammering (MILP) och villkorsprogrammering (CP).

Förklara skillnaderna mellan MILP och CP, and kunna konvertera modeller från ett paradigm till ett annat.

Analysera och bestämma vilket paradigm som troligen fungerar bäst i givna situationer.

Vara bekväm med att modellera problem för respektive paradigm.

Använda existerande spjutspetsverktyg för modellering (AMPL, MiniZink) och generella optimeringslösare (CPLEX, Gurobi, GEOCODE).

Förstå och implementera specialanpassade heuristicbaserade algoritmer som A* och Dijkstra's.

Innehåll

Kursen syftar till att ge studenterna förmåga att förstå och vara bekväme med användningen av optimeringsverktyg och tekniker från operationsanalys (OR) och datavetenskap (CS), genom konkreta och verklighetsnära uppgifter. Detta inkluderar teori och praktik för generella optimerinsgmetoder, såsom linjärprogrammering, villkorsprogrammering, "branch and bound" och andra diskreta optimeringsalgoritmer (Dijkstra's, A*).

Organisation

Kursen utgörs av föreläsningar, övningar och ett antal inlämningsuppgifter som tar upp de viktigaste delarna i kursen. Inlämningsuppgifterna inbegriper modellering, specifikation, verifiering, syntes och optimering. Inlämningsuppgifterna kan komma att kollegiegranskas på ett sätt likartat det som används för vetenskapliga konferenser.

Litteratur

Martin Fabian, Lecture notes. Därtill kan vetenskapliga artiklar och annat extramaterial komma att delas ut. 

Examination inklusive obligatoriska moment

Kursen examineras med en konventionell tentamen, men också alla inlämningsuppgifter måste vara godkända för fullgjord kurs.

Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.