DM871: Linear and Integer Programming

Study Board for Natural Scientific IT Programmes

Teaching language: Danish or English depending on the teacher, but English if international students are enrolled
EKA: N340030102
Assessment: Second examiner: Internal
Grading: 7-point grading scale
Offered in: Odense
Offered in: Autumn
Level: Master

STADS ID (UVA): N340030101
ECTS value: 5

Date of Approval: 05-03-2026


Duration: 1 semester

Version: Approved - active

Internal Course Code

DM871

Comment

The course is offered as required and is not necessarily offered every year. Exam attempts for DM871 are offered in accordance to the following plan, when the course is offered: Spring (course Start February): ordinary Exam (June), first reexamination (August) and 2nd reexamination (January or March). 

The course is co-read with: DM545: Linear and integer programming (5 ECTS)
The course is optional for the following curricula: Computer Science, Applied Mathematics, Mathematics and Data Science.

Entry requirements

The course cannot be followed if you have passed either DM545 or DM559 (archived, offered last time Spring 2018), or if you have either DM545 or DM559 mandatory in your curriculum.

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.  

The aim of the course is to enable the student to use mathematical modeling for solving practical optimization problems and to work with a mathematical software system for finding numerical solutions to the applications proposed. To reach these goals the course will provide to the student knowledge on the basics of linear programming and duality theory and on the main solution techniques for linear and integer programming, such as the simplex method, branch and bound and cutting planes. 

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

The following main topics are contained in the course:
  • 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

See itslearning for literature references.

Examination regulations

Exam element a)

Timing

Autumn

Tests

Portfolio

EKA

N340030102

Assessment

Second examiner: Internal

Grading

7-point grading scale

Identification

Student Identification Card - Full name and SDU username

Language

Normally, the same as teaching language

Duration

Written exam: 3 hours

Examination aids

All common aids allowed

ECTS value

5

Additional information

The portfolio exam consists of:
  1. An assignment during the semester.
  2. A final written exam (180 minutes).
To achieve a passing grade overall, both elements 1 and 2 must individually meet the learning objectives. The assessment of element 1 takes place in conjunction with the completion of element 2. The grade is primarily based on element 2, but element 1 may raise or lower the grade by one grade step.

Indicative number of lessons

44 hours per semester

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

Teacher responsible

Name E-mail Department
Marco Chiarandini marco@imada.sdu.dk Data Science

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period

Transition rules

Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
If a transitional arrangement has been made for a course, it will be stated in the list. 
See transitional arrangements for all courses at the Faculty of Science.