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 35120
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0118 Tentamen 5 hp Betygsskala: TH | 5 hp |
| |||||
0218 Laboration 2,5 hp Betygsskala: UG | 2,5 hp |
I program
- MPPEN - PRODUKTIONSUTVECKLING, MASTERPROGRAM, Årskurs 2 (valbar)
- MPSYS - SYSTEMTEKNIK, REGLERTEKNIK OCH MEKATRONIK, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
- MPSYS - SYSTEMTEKNIK, REGLERTEKNIK OCH MEKATRONIK, MASTERPROGRAM, Årskurs 2 (valbar)
Examinator
- Martin Fabian
- Professor, System- och reglerteknik, Elektroteknik
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 6Sö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.