30h Th, 20h Pr, 25h Proj.
Number of credits
Language(s) of instruction
Organisation and examination
Teaching in the first semester, review in January
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.
The course is taught in English.