Why this course?
Mathematical optimisation is one of the cornerstones of fields such as Machine Learning, Artificial Intelligence, and Operations Research. Most decision support methods have, at some level, a mathematical optimisation method at its core, and it is precisely these methods that we will learn in this course.
Mathematical optimisation (Nonlinear optimisation, in its most general form) is a powerful framework in which one seeks to find variable values within a domain that maximise (or minimise) the value of a given function. Using the analogy that variables represent decisions or parameters to be defined and the function is a measure of performance, one can use that framework to support decision making in a wide range of applications, from planning industrial chemical plants to training models that learn from data.
In this course, the student will learn the basic optimisation theory behind the main numerical algorithms available and how they can be applied to solve optimisation problems. At the end of the course, it is expected that the student will be capable of analysing the main characteristics of an optimisation problem and decide what is the most suitable method to be employed for its solution.
- Teaching: lectures (24h) and exercise sessions (24h)
- Assessment methods: Project assignments and homework assignments.
- Grading scale: 0-5
- Study material: Lecture notes, lecture slides and exercises. Book (Nonlinear Programming, Theory and Algorithms by Bazaraa, Sherali and Shetty).
- Language of instruction: English
- Programming language: Julia http://www.julialang.org. Detailed information here.
- Recommended platform: Aalto CS Jyputer Notebooks https://jupyter.cs.aalto.fi. Detailed information here.