Course syllabus

Course-PM

TDA206 / DIT206 TDA206 / DIT206 Discrete optimization lp3 VT24 (7.5 hp)

Course is offered by the department of Computer Science and Engineering

Contact details

  • Examiner and Lecturer: Devdatt Dubhashi (dubhashi@chalmers.se)
  • Course Assistants:
  • Course Representatives:
    • MPALG talhaahmad@gmx.com      Talha Ahmad
      MPALG william.berg2@protonmail.com  William Berg
      MPPHS Alfredjo00@gmail.com    Alfred Juhlin Onbeck
      MPCSN oscsjo99@gmail.com      Oscar Sjöcrona
      MPALG janek.stoppkotte@gmail.com    Janek Stoppkotte

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 discuss extensions to convex optimization and their applications.

Schedule

Lectures Monday and Wednesday, 10-12, SBH3.

TimeEdit

Course literature

We'll use this little gem available from Chalmers library:

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

The last part of the course will use a bit from:

  • [GM]  Gärtner, Bernd and Matousek, Jiri, Approximation Algorithms and Semidefinite Programming

Both are available electronically from the Chalmers library.

Course design

Date Topic Reading
15/1 Introduction [MG, Ch. 1] Lecture 1
17/1 LP models {MG 2.1-2.4] Lecture 2
22/1 Integer LP [MG, 3.1-3.2, pp. 144-146] Lecture 3
24/1 LP in industry: Mattias Grönqvist, Boeing
31/1 Integer LP (cont'd) [MG, 3.2-3.4] Lecture 4, TUM
5/2 LP Rounding, Branch and Bound [MG, 2.7, 3.1] Branch-and-Bound
12/2 Duality [MG 6.1-6.2]
14/2 Primal Dual Algorithm primal-dual algorithm
19/2 More Duality Examples [MG, 8.1-8.2]
21/2 Duality concluded MaxFlowMinCut, Proof via Duality
26/2 Linear Algebra and Geometry of LP [MG 4.1-4.4]
28/2 Simplex Algorithm [MG 5.1-5.10]
4/3 MAX CUT and SDP [GM, Ch. 1, 2.1-2.4]
6/3

Can LP solve TSP?

Bill Cook Talk

Another Bill Cook Talk

David Williamson's Google Tech talk

New breakthrough in ILP.

Homework

  • Homework 1 won't be graded but is mandatory. You need to do it to form groups and get used to CVXPY.
  • Everyone *must* form groups of 2 unless there are very exceptional circumstances. You should find a partner yourself. If you don't find a partner, we'll match you up with somebody.
  • Discussions page is for you to organize each other within groups and to ask doubts between yourselves regarding the assignments. Do not post the solution to them ! Also, these are unmonitored by the TAs, and you have to meet them at the usual allocated times to ask your doubts.
  • The assignments have the following point distribution: HW1:0p, HW2: 33p, HW3: 30p, HW4: 20p. 
Due Date Assignment Grader
22/1 Homework 1: Intro Not graded
12/2 Homework 2: LP rounding, graph.txt Adam
26/2 Homework 3: Duality  Adam & David
11/3 Homework 4: SDP  David

Submissions in the Assignments Section.

Python and CVXPY

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 . Make sure that your installation also includes the extension GLPK, which is needed for integer linear programming.

Using CVXPY

We will use CVXPY for programming exercises. The documentation provides a Tutorial and many Examples that can help you understand its API.

Demo Jupyter notebook: link

Use MathJax for Formatting your solutions in the Jupyter notebook itself: click here

Learning objectives and syllabus

Learning objectives:

- identify optimization problems in various application domains,

- formulate them in exact mathematical models that capture the essentials of the real problems but are still manageable by computational methods,

- assess which problem class a given problem belongs to,

- apply linear programming, related generic methods, and additional heuristics, to computational problems,

- explain the geometry of linear programming,

- dualize optimization problems and use the dual forms to obtain bounds,

- work with the scientific literature in the field.

Link to Chalmers studieportal.

Link to GU portal

Examination form

Evaluation will be based on a score computed by the formula max(E, (E + H)/2) where

  • E is the score on the written exam at the end of the course normalized to 60 points.
  • H is the total score on all homeworks normalized to 60.

Finally grade is based on usual thresholds: for Chalmers 28 (3), 36 (4), 48 (5) and for GU 28 (G) and 48 (VG).

Homework is not compulsory but highly recommended for better learning experience and a better grade.

Sample exams: 

Course summary:

Date Details Due