Welcome

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

lecture1

02

Lab

Array programming

2 h

Chapter 1

lab01

03

Lecture

Black-box optimization

2 h

Chapter 2

lecture2

04

Lab

Derivative-free methods

4 h

Chapter 2

lab02

05

Assignment

Building a tetris AI

4 h

Chapter 3

lab03

06

Lecture

Differentiable optimization

2 h

Chapter 4

lecture3

07

Lab

Gradient method

4 h

Chapter 4

lab04

08

Lecture

Constrained optimization

2 h

Chapter 5

lecture4

09

Lab

Projected gradient method

4 h

Chapter 5

lab05

10

Assignment

Solving optimization problems

4 h

Chapter 6

lab06

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.