DM871: Linear and Integer Programming
Internal Course Code
Comment
The course is optional for the following curricula: Computer Science, Applied Mathematics, Mathematics and Data Science.
Entry requirements
Academic preconditions
Students taking the course are expected to:
- Have knowledge of Linear Algebra, eg having attended AI511, DM561, MM505, MM538 or DS827.
- Be able to program, eg having attended DM536, DM594, DM574, DS800 or DS831.
Course introduction
Linear and Integer programming is a field at the intersection between mathematics and computer science that has seen a huge development in the last 60 years. It provides the tools that are at the core of operations research, the discipline that provides analytical methods to aid decision making. The main focus of linear and integer programming is on resource constrained optimization problems that can be described by means of linear inequalities and a linear objective function. These problems may arise in all contexts of decision making, such as manufacturing, logistics, health care, education, finance, energy supply and many others. The subject of the course therefore has an enormous practical relevance.
Expected learning outcome
The learning objective of the course is that the student demonstrates the ability to:
- formulate a mathematical (linear) model from a given problem description in words.
- derive the dual program of a given linear program.
- apply the simplex method to simple linear programs.
- apply the branch and bound technique to small example problems.
- derive Gomory cuts and apply the cutting plane algorithm in small example problems.
- apply the theory from the course to practical optimization problems such as flows in networks, matching problems, packing problems, simple scheduling problems etc.
- use computer software for solving linear and integer programs.
- think innovative by seeing possibilities for applying theoretical knowledge in the industry.
Content
- Linear programming and the simplex method
- Duality theory
- Integer programming: branch and bound and cutting plane algorithms
- Min cost flow problem and its applications
- Software for solving linear and integer programming problems
Literature
Examination regulations
Exam element a)
Timing
Tests
Portfolio
EKA
Assessment
Grading
Identification
Language
Duration
Examination aids
ECTS value
Additional information
- An assignment during the semester.
- A final written exam (180 minutes).
Indicative number of lessons
Teaching Method
Planned lessons:
Total number of planned lessons: 44
Hereof:
Common lessons in classroom: 28
Team lessons in classrooms: 14
In the lectures, concepts, theories and models are introduced and put into perspective. In the training phase, students train their skills through exercises and dig deeper into the subject matter.
Other planned teaching activities:
- Reading from text books
- Solving homeworks
- Applying acquired knowledge to practical tasks