This is a four-day course about optimisation topics for artificial intelligence. We focus here on gradient descent methods, optimisation in machine learning, linear and mixed integer linear programming, constraint programming and stochastic methods.
Classes consist of simple text on this website and of interactive Jupyter notebooks designed to illustrate studied concepts.
Intermediate Python literacy is required. You are expected to be able to install Visual Studio Code and an Anaconda distribution, be aware of Python versions, create an environment based on a list of requirements, run Jupyter notebooks and ensure a standalone Python file runs without error.
The evaluation is based on:
- a set of multiple choice questions (online) about key take-away elements for this class;
- a modelling exercice, written in natural language (code is a no-go here, but there should be enough to get a peer write a correct implementation), and submitted as a PDF file;
- a programming exercice, submitted as a function in a standalone Python file. The code is evaluated by a program for its correctness and performance.
All materials here are licensed under the CC-BY-SA 4.0 license.
This class is based on materials created by or with the help of:
- Christophe Garion
- Alain Haït
- Cédric Pralet
- Emmanuel Rachelson