https://github.com/xoolive/optim4ai
Optimisation for Artificial Intelligence, a 4-day course
https://github.com/xoolive/optim4ai
complexity constraint-programming gradient-descent linear-programming mixed-integer-programming optimisation pytorch stochastic-optimization
Last synced: 3 months ago
JSON representation
Optimisation for Artificial Intelligence, a 4-day course
- Host: GitHub
- URL: https://github.com/xoolive/optim4ai
- Owner: xoolive
- License: cc-by-sa-4.0
- Created: 2021-08-05T20:58:15.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-11-30T10:05:17.000Z (12 months ago)
- Last Synced: 2025-01-22T00:49:43.967Z (10 months ago)
- Topics: complexity, constraint-programming, gradient-descent, linear-programming, mixed-integer-programming, optimisation, pytorch, stochastic-optimization
- Language: Jupyter Notebook
- Homepage: https://www.xoolive.org/optim4ai/
- Size: 5.76 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.txt
Awesome Lists containing this project
README
# Optimisation for AI
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](https://code.visualstudio.com/) and an [Anaconda](https://www.anaconda.com/products/individual) 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.
| # | Agenda |
| --- | -------------------------------------------------- |
| 1 | [An introduction to optimisation](1_introduction) |
| 2 | [Gradient descent methods](2_gradient) |
| 3 | [Optimisation for machine learning](3_pytorch) |
| 4 | [Linear programming](4_linear) |
| 5 | [Mixed integer linear programming](5_milp) |
| 6 | [A quick introduction to complexity](6_complexity) |
| 7 | [Constraint programming](7_constraints) |
| 8 | [Evolutionary methods](8_evolution) |
| 9 | [Further reading](9_further) |
## Credits
[](http://creativecommons.org/licenses/by-sa/4.0/)
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