2024-2025 / MATH0462-1

Discrete optimization

Duration

30h Th, 20h Pr, 25h Proj.

Number of credits

 Master MSc. in Computer Science, professional focus in computer systems security5 crédits 
 Master MSc. in Data Science, professional focus5 crédits 
 Master MSc. in Electrical Engineering, professional focus in electronic systems and devices5 crédits 
 Master Msc. in electrical engineering, professional focus in "Smart grids"5 crédits 
 Master MSc. in Data Science and Engineering, professional focus5 crédits 
 Master MSc. in Computer Science and Engineering, professional focus in management5 crédits 
 Master Msc. in computer science and engineering, professional focus in intelligent systems5 crédits 
 Master MSc. in Computer Science, professional focus in management5 crédits 
 Master Msc. in Energy Engineering, professional focus in Networks5 crédits 
 Master Msc. in Electrical Engineering, professional focus in Neuromorphic Engineering5 crédits 
 Master MSc. in Computer Science and Engineering, professional focus in computer systems and networks5 crédits 
 Master MSc. in Computer Science, professional focus in intelligent systems5 crédits 
 Bachelor in mathematics6 crédits 
 Master in mathematics, research focus6 crédits 
 Master in mathematics, teaching focus6 crédits 

Lecturer

Quentin Louveaux

Language(s) of instruction

English language

Organisation and examination

Teaching in the second semester

Schedule

Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

Consider a salesman who must visit 20 potential customers in 20 different cities. A natural question he may ask is to know what is the optimal order in which he has to visit all cities so as to minimze the total distance. This famous problem is better known as the traveling salesman problem. It is the typical example of a discrete optimization problem. Indeed, there is a finite number of solutions (the 20! possible permutations of cities) and we may think of testing them all in order to find the optimal one. This approach is however impossible to perform in practice. Even if we were able to test a billion of these solutions per second, it would take us 77 years to test them all.
The traveling salesman problem is one of many discrete optimization problems. Indeed in particular the problems where binary decisions (such as yes or no) have to be taken often arise in practical applications.
Concerning the contents of the course, as a first part, we concentrate on modeling discrete problems as linear integer programs. We discuss some good principles in order to come up with a formulation. We also see what is needed in order to have a good formulation.
Then the last part of the course deals with the solving techniques of integer programs: mainly branch-and-bound, branch-and-cut, lagrangian relaxation, dynamic programming and approximation algorithms. We also consider some classes of important discrete problems that are well solved, namely flow and matching problems.

Learning outcomes of the learning unit

At the end of the course, the student




  • will be able to formulate a real problem as an integer programming model
  • will be able to compare two formulations of a problem
  • will know the main methods to solve integer progamming problems
  • will be able to recognize a tractable discrete optimization problem
This course contributes to the learning outcomes I.1, I.2, II.1, III.1, III.2, III.4, IV.1, VI.1, VI.2, VI.3, VII.3, VII.4, VII.5 of the MSc in biomedical engineering.

This course contributes to the learning outcomes I.1, I.2, I.3, II.1, III.1, III.2, III.4, IV.1, IV.4, VI.1, VI.2, VI.3, VII.3, VII.4, VII.5 of the MSc in data science and engineering.

This course contributes to the learning outcomes I.1, I.2, II.1, III.1, III.2, III.4, IV.1, VI.1, VI.2, VI.3, VII.3, VII.4, VII.5 of the MSc in electrical engineering.

This course contributes to the learning outcomes I.1, I.2, II.1, III.1, III.2, III.4, IV.1, IV.3, VI.1, VI.2, VI.3, VII.3, VII.4, VII.5 of the MSc in computer science and engineering. 

 

Prerequisite knowledge and skills

A basic course in linear programming.

Planned learning activities and teaching methods

Traditional tutorials are organized. A modeling and implementation project must be achieved. The project can only be submitted during the regular term (no retake).

Mode of delivery (face to face, distance learning, hybrid learning)

Face-to-face course

Course materials and recommended or required readings

Platform(s) used for course materials:
- eCampus


Further information:

The main reference is

L. Wolsey, Integer Programming. Wiley, 1998.

Exam(s) in session

Any session

- In-person

written exam ( open-ended questions ) AND oral exam

Written work / report


Further information:

The final exam is written and composed of theory and exercises.

If less than 20 students are registered, the exam will be oral.

The final grade is made of 2/3 of the exam grade and 1/3 of the project.

Possibly, if it is in the student's advantage, the exam may count for 100% of the final mark.

Work placement(s)

Organisational remarks and main changes to the course

The course is given in the second semester.

All documents related to the course are available on ecampus.

Contacts

Association of one or more MOOCs