# Discrete Optimization (DO)

### Course content

Discrete Optimization is concerned with solving optimization problems with discrete variables. Such variables may represent indivisible commodities or yes/no decisions to buy, invest, hire, build, etc. Discrete optimization problems arise in countless scenarios, e.g., when developing time tables for airplanes, trains or buses, in scheduling problems, in facility location problems and in network design problems.

Many discrete optimization problems can be formulated as integer linear programming (ILP) problems with integer variables, a linear objective function and linear constraints. The advances of ILP have been remarkable over the last 25 years. Many difficult practical ILP problems can today be solved to near-optimality not because of faster computers but because of new theoretical results.

The purpose of this course is to familarized participants with the state-of-the-art ILP techniques. The course will cover such topics as lower bound techniques (e.g., linear and Lagrangian relaxations) and their importance in branch-and-bound algorithms. Cutting planes, column generation and branch-and cut algorithms will also be covered. Since linear programming (with continuous variables) plays a key role in solving ILP problems, this topic will be covered and the SIMPLEX algorithm will be explained in detail.

Not all ILP problems can be solved within reasonable time limits. The course will therefore also cover approximation algorithms and heuristic methods where the optimality requirement is abandoned but where it is possible to either bound the deviation from the optimum or where reasonable solutions can be produced very fast but without any error guarantees.

Education

MSc Programme in Computer Science

Learning outcome

Knowledge:

• Comprehensive knowledge of discrete optimization problems (linear and integer programming in particular).
• Familarity with algorithms and heuristics that can solve discrete optimization problems.

Skills:

• Formulation of (simple) real-life problems as (integer) linear programming problems.
• Selection of appropriate algorithms suitable to solve a particular discrete optimization problem.
• Application of software packages or self-implemented software to solve such problems.

Competences:

• Recognition of real-life problems solvable by methods introduced in this course.
• Identification of suitable algorithms to solve such problems.
• Design of new algorithms and heuristics for existing and new problems.

Lectures and tutorials

See Absalon

algorithms and programming experience

Written
Oral
Individual
Collective
Continuous feedback during the course of the semester
Peer feedback (Students give each other feedback)
ECTS
7,5 ECTS
Type of assessment
Continuous assessment
1. Students will have to write lecture notes on a selected topic covered in the course.
2. Students will have to implement and document two related assignments.
3. Students will have to take an oral examination, 30 min. without preparation. The examination will consist of two parts: questions related to the assignments mentioned in (2) and questions covering the syllabus of the course. (1) and (2) have to be handed in in order to participate in the oral examination.

The grade will be based on the overall evaluation of (1), (2) and (3).
Aid
All aids allowed
Marking scale
Censorship form
No external censorship
Several internal examiners.
##### Criteria for exam assessment

See Learning Outcome.

Single subject courses (day)

• Category
• Hours
• Lectures
• 28
• Exercises
• 14
• Preparation
• 89
• Exam
• 75
• English
• 206