2018-2019 / MATH0461-2

Introduction to numerical optimization


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

Number of credits

 Master in biomedical engineering (120 ECTS)5 crédits 
 Master in data science (120 ECTS)5 crédits 
 Master in electrical engineering (120 ECTS)5 crédits 
 Master in electro-mechanical engineering (120 ECTS)5 crédits 
 Master of science in computer science and engineering (120 ECTS)5 crédits 
 Master in data science and engineering (120 ECTS)5 crédits 
 Master in computer science (120 ECTS)5 crédits 
 Master in physical engineering (120 ECTS)5 crédits 


Quentin Louveaux

Language(s) of instruction

English language

Organisation and examination

Teaching in the first semester, review in January


Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

In a large number of engineering problems, many decisions can be undertaken leading to different solutions, some of them being more interesting than others. A way to decide on the best decision is to come up with a mathematical model in which all decisions are variables and the choice is made by considering a function of the values of all variables.
This formalism modeling many real-life problems is called mathematical programming. In a mathematical program, we define a set of decision variables, constraints linking the variables and defining what is a feasible solution and finally an objective function to optimize. Depending on the properties of all the considered functions, the obtained optimization problem can be more or less difficult to solve. In this course we consider three types of optimization problems: linear problems and their structure (duality), nonlinear problems that keep the nice structure (conic problems) and finally problems without any structure.
The following concepts are studied in the course: - The revised Simplex Algorithm - Duality for linear programming - Post-optimal analysis and the Dual Simplex Algorithm - Introduction to interior point methods - Optimality conditions for nonlinear programs - Conic programming and duality - Numerical methods for nonlinear methods
This course is given in English.

Learning outcomes of the learning unit

At the end of the course, the student will be able to

  • formulate a real problem in terms of a mathematical optimization model
  • determine the complexity of an optimization problem and in particular whether it can be solved in polynomial time
  • write the dual of a linear or a conic problem
  • apply or implement the main optimization algorithms (simplex, dual simplex, interior-point methods, gradient descent, quasi-Newton)

Prerequisite knowledge and skills

Basic course in linear algebra and calculus. Some basic knowledge of a programming language is also required.

Planned learning activities and teaching methods

Traditional tutorials are organized for roughly 20 hours. A larger project consisting in modeling and solving a real-world problem using a linear and convex programming package is also organized.

Mode of delivery (face-to-face ; distance-learning)


Recommended or required readings

D. Bertsimas, J. Tsistsiklis. Introduction to linear optimization, Dynamic Ideas, 1997. M. Bierlaire. Introduction à l'optimisation différentiable. Presses polytechniques et universitaires romandes. 2006

Assessment methods and criteria

The exam is oral and includes a question of theory and a question of exercises. The final grade is obtained as a geometric mean of the grade of the exam and the project grade.
If the project is not submitted in December, it has to be submitted in August (with the same statement).
No project submitted implies a "no show" grade.

Work placement(s)

Organizational remarks

The course is taught in English.