Course syllabus adopted 2022-02-08 by Head of Programme (or corresponding).
Overview
- Swedish nameVillkorsprogrammering och tillämpad optimering
- CodeEEN025
- Credits7.5 Credits
- OwnerMPSYS
- Education cycleSecond-cycle
- Main field of studyAutomation and Mechatronics Engineering
- DepartmentELECTRICAL ENGINEERING
- GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Course round 1
- Teaching language English
- Application code 35121
- Block schedule
- Open for exchange studentsYes
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0118 Examination 5 c Grading: TH | 5 c |
| |||||
0218 Laboratory 2.5 c Grading: UG | 2.5 c |
In programmes
- MPPEN - PRODUCTION ENGINEERING, MSC PROGR, Year 2 (elective)
- MPSYS - SYSTEMS, CONTROL AND MECHATRONICS, MSC PROGR, Year 1 (compulsory elective)
- MPSYS - SYSTEMS, CONTROL AND MECHATRONICS, MSC PROGR, Year 2 (elective)
Examiner
- Martin Fabian
- Full Professor, Systems and Control, Electrical Engineering
Eligibility
General entry requirements for Master's level (second cycle)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Specific entry requirements
English 6 (or by other approved means with the equivalent proficiency level)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Course specific prerequisites
Basic programming (Python is used in the course).
Aim
The course aims to give advanced knowledge about formal methods in general and constraint programming in particular, and how these methods may be used for reasoning about and analyzing the performance of discrete event systems. Typical applications for using formal methods are verification and synthesis of control functions for embedded systems, control and optimization of automated production systems, and communication systems. The course focuses on modeling, specification, simulation, verification, synthesis, and optimization.
Learning outcomes (after completion of the course the student should be able to)
Understand the two mainstream paradigms of Mixed Integer Linear Programming (MILP), and Constraint Programming (CP).Explain the differences between MILP and CP, and be able to convert models from one paradigm to the other.
Analyze and decide which paradigm is probably the better choice given different situations.
Comfortably model optimization problems using either of the approaches.
Use state-of-the-art modeling languages (AMPL - MiniZink) and general-purpose solvers (CPLEX, Gurobi, GECODE)
Understand and implement special-purpose heuristic algorithms such as A* and Dijkstra's.
Content
The main objective of this course is to give the students the ability to understand and confidently use the optimization tools and techniques from Operations Research (OR) and Computer Science (CS) area, through hands-on tasks. This includes theory and practice of general optimization techniques such as mixed integer-linear programming, constraint programming, branch and bound and other discrete optimization algorithms (Dijkstra's, A*).Organisation
The course comprises lectures, exercises, and a number of assignments that address important parts of the course. These hand-in assignments involve modeling, specification, verification, synthesis, and optimization. The hand-in assignments may be peer-reviewed in a scientific conference type of setting.Literature
Martin Fabian, Lecture notes. Additionally scientific papers and other extra material may be handed out.Examination including compulsory elements
Examination is based on a conventional written exam, as well as passed hand-ins.The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.