Méthodes d’optimisation (ULCO, Spring 2023)
Illustrations of (Left) the Simplex Method (on a polyhedron generated by Geogebra) and (Right) gradient descent on a non convex landscape
Although the history of optimisation can be traced back to 16th/17th centuries (Cardano, Pascal), the scope of modern optimisation (as we know it today) only goes back to World War II. Because of the war effort, there was a need to allocate resources optimally and to the various military operations. Two factors played a key role in the rapid development of optimisation during the 19’s. One was the substantial progress that was made in the development of the mathematical techniques. After the war, many of the scientists who had participated in the operations were motivated to pursue research in relation to the field. Another factor was the onslaught of the computer revolution. The advent of the digital computer enabled the resolution of more interesting problems, faster. Since then, mathematical optimisation has found a wide range of applications including in science, engineering, economics, and industry and has led to several Nobel Prizes.
See here as well as here for related sets of open problems
In this course, we will discuss the graphical resolution of linear programs as well as the Simplex Method, the Ellipsoid Method and Interior Point Methods. We will study the resolution and relaxation of integer programs, and introduce cutting plane (including Gomory’s Fractional Cuts) and Branch and bound.
In a second part, we will cover Nonlinear optimization, Optimality conditions and gradient methods as well as Newton’s method.
The assignments will include (but not be limited to) paper readings, pen and paper exercises as well as numerical simulations (Julia or Python).
The class will follow the structure 1. Lectures (=CM) (introduction of the new material that will be needed during the lab sessions and for the assignements) 2. Programming (lab) sessions (=TD, TP), (you have the opportunity to apply what you have learned during the lecture, and you can ask all the questions you want to make sure you understand everything before the assignement) 3. Assignments (=DM) (You are given a new problem and you are evaluated on your ability to use the course material to solve this new problem) Horaire et Salle de cours
Cours et TD/TPs: Mardis: 8h00pm – 10h00, 10h15 – 12h15, 13h15-15h15, 15h30 – 17h30 , Assignments policy Except if explicitly stated otherwise, assignments are due at the beginning of each class. Current (temporary) version of the notes: see below as well as the list of sections for the Final Practice (theory) Questions for each exam can be found by clicking on those exams below Exams:
Enter password:
Partiel
Enter password:
Examen
Partiel : (Matière)) Assignments : 30 % of the grade (Tentative schedule below) The Github page for the class will be hosted at https://github.com/acosse/NumericalAnalysisCalaisFall2022 and will essentially be used to post numerical verifications for the recitations. Tentative schedule: Legend: Lab sessions are in green, Homeworks are in red (right side of the table), dates related to the project are in orange. Additional ressources (Projects)
Salle 21A, Bâtiment Angelier, 34 Grande Rue
(voir horaire détaillé ci-dessous)
Week #
date
Topic
Assignements
Semaine 1
CM/CM03/02
10h00-12h00
General Introduction
Modelling, Standard form, Geometry of Polytopes
Lecture 1, Recitation 01, Solutions,
(HandWritten) Solutions
Semaine 2
CM/TD10/02
10h00-12h00 Graphical resolution, Basic solutions + Simplex (Part I)
Assignment 1
Semaine 3
CM/TD 17/02
10h00-12h00
13h00-15h00
Simplex (Part II)
Lecture ,
Recitation 02,
TD 01
Readings
Semaine 4
CM/TD03/03
10h00-12h00
13h00-15h00Shadow Prices + Sensitivity Analysis
Lecture , Recitation 03,
(Partial) Solutions recitation
Readings
Assign. 2, Assig. 1 due
Semaine 5
CM/TD10/03
15h00-17h00
Duality + Integer Programming (Part I)
Lecture, Recitation 04
Readings
Semaine 6
CM/TD17/03
13h00-15h00
15h30-17h30 Integer Programming (Part II) including Cutting planes and Branch and Bound
Lecture,
Recitation 05,
Solution
Assign. 2 due,
Project choice
MidTerm Revisions
Semaine 7
CM/TD24/03
10h00-12h00
Ellipsoid + Interior Point Methods
Lecture ,
Recitation 06
Readings
Semaine 8
CM/TD/TD31/03
10h00-12h00
Nonlinear optimization, gradient methods, line searches
+ Newton’s/quasi Newton’s method Lecture ,
Recitation
Readings
Semaine 9
CM/TD
07/04
10h00-12h00
Conjugate gradient
project presentations
Readings
Semaine 10
Examen14/04
13h00-15h00
15h30-17h30
Additional ressources (beyond course material)
Lab Sessions and programming policy
The lab sessions will require you to do some programming. It is strongly recommended to use python as it is more flexible and will be useful to you when moving to pytorch later on for more advanced machine learning methods requiring GPU processing.
Downloading and getting started with Julia.