Kursöversikt

Course-PM

TDA206/DIT370 Discrete optimization HT19 (7,5hp)

Departmen of Computer Science and Engineering.

 

Course purpose

The goal of the course is to introduce basic concepts of optimization, developing both the theory and applications. In roughly the first two-thirds of the course we will cover linear programming and its applications and in the last part we will introduce basic algorithms in convex optimization and their applications.

 

Schedule

Timedit (Länkar till en externa sida.)Länkar till en externa sida.

 

Contact details

Office hours

Office hours will normally take place on Wednesday and Friday afternoons.

  • Friday 01/25 - 1pm-3pm - Simon - Room 5453
  • Wednesdays 13-14, room 6472.

Course literature

For approximately the first two-thirds of the course, we'll use this little gem available from Chalmers library:

  • [MG] Matousek, Jiri, Gärtner, Bernd, Understanding and Using Linear Programming, Springer 2007.

For the last part, we will use the following lecture notes:

and this review article:

  • [BCN] L. Bottou, F. Curtis and J. Nocedal, "Optimization Methods for Large Scale Machine Learning", SIAM Review2018.sirev-2018.pdf

Other good lecture notes covering the same topics are:

The following are good textbooks on convex optimization:

We will use the CVX (Länkar till en externa sida.)Länkar till en externa sida. programming framework.

Course design

Lectures

Date Topic Reading
21/1 Introduction, LP models 1 [MG, Chap. 1, 2.1-2.3]
23/1 LP models 2 [MG, 2.4-2.7]
28/1 Integer LP
30/1 Rounding LPs
11/2 Basics of Convexity
13/2 Simplex
18/2 Branch and Bound
20/2 LP in Industry
25/2 Duality theory
27/2 Duality examples
4/3 Primal-dual algorithms
6/3 Convex Optimization/Gradient Descent
11/3 Projected Gradient Descent and Frank Wolf Conditional Gradient Descent
13/3 Non-convex Opt: Backpropagation

 

Homeworks

  • Homework 1 (deadline  Jan. 28.)
  • Homework 2 (deadline Feb. 11)
  • Homework 3 (deadline March 11)
  • Homework 4 (deadline April 4 )

Assignments should be submitted via Fire (Länkar till en externa sida.)Länkar till en externa sida..

Unfortunately there will be no resubmissions and all deadlines are strict!

Python and CVXOPT

For the homework assignments, you will need to use Python and the package CVXOPT.

Installation

The required software should be installed on machines in the EDIT building. If you wish to install it on your own machine, follow these instructions (Länkar till en externa sida.)Länkar till en externa sida.. Make sure that your installation also includes the extension GLPK, which is needed for integer linear programming.

Using CVXOPT

The documentation provides a quick introduction (Länkar till en externa sida.)Länkar till en externa sida. to CVXOPT for linear programming.

Examination form

Evaluation will be based on

  • Homework assignments (50%)
  • Final written in-class exam (50%) (You may bring class notes and the textbook and notes above to the exam)

 

Learning objectives and syllabus

  • Develop optimization models (linear and convex) for various problems.
  • Solve them using the CVX programming environment.
  • Develop integer constrained optimization models and understand their relation to their LP (and other) relaxations.
  • Understand LP duality and how it can be applied, in particular to develop primal-dual algorithms.

Chalmers course  (Länkar till en externa sida.)Länkar till en externa sida.

GU course (Länkar till en externa sida.)Länkar till en externa sida.

Kurssammanfattning:

Datum Information Sista inlämningsdatum