Welcome#
This course will introduce the basic concepts of mathematical optimization from a modeling perspective. The aim is to teach students to recognize and solve optimization problems that arise in industry and research applications. Examples will be drawn from a variety of disciplines, including computer science, operations research, control and mechanical engineering, machine learning, artificial intelligence, and business/finance.
The lectures present concepts from three complementary perspectives.
Intuition to describe an idea with pictures.
Theory to express an idea through a mathematical model.
Practice to implement a model in a programming language.
The prerequisite for this course is to be familiar with algebra, calculus, and Python. If you would like to refresh your memory, take a look at the algebra course, at the calculus course, and at the Python tutorial.
Schedule#
Nr |
Type |
Topic |
Duration |
Reading |
Support |
---|---|---|---|---|---|
01 |
Lecture |
Introduction |
2 h |
Chapter 1 |
|
02 |
Lab |
Array programming |
2 h |
Chapter 1 |
|
03 |
Lecture |
Black-box optimization |
2 h |
Chapter 2 |
|
04 |
Lab |
Derivative-free methods |
4 h |
Chapter 2 |
|
05 |
Assignment |
Building a tetris AI |
4 h |
Chapter 3 |
|
06 |
Lecture |
Differentiable optimization |
2 h |
Chapter 4 |
|
07 |
Lab |
Gradient method |
4 h |
Chapter 4 |
|
08 |
Lecture |
Constrained optimization |
2 h |
Chapter 5 |
|
09 |
Lab |
Projected gradient method |
4 h |
Chapter 5 |
|
10 |
Assignment |
Solving optimization problems |
4 h |
Chapter 6 |
|
License information#
Except as otherwise noted, the content of this course is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License, and code samples are licensed under the Apache Licence 2.0.