Course syllabus
Course-PM
TDA206 / DIT206 TDA206 / DIT206 Discrete optimization lp3 VT23 (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:
- David Bosch (davidbos@chalmers.se)
- Adam Breitholtz (adambre@chalmers.se)
- Course Representatives:
-
erik.00.berg@gmail.com Erik Berg
ida.josephine.dahl@gmail.com Ida Dahl
filip00.nordmark@gmail.com Filip Nordmark
bunk@student.chalmers.se Brage Salhus Bunk
torphage@student.chalmers.se Filip Torphage
-
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: Mon and Wed, 10-12, SB-H3
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 Lectures
Date | Topics | Reading |
16/1 | Introduction | [MG, Chap. 1] |
18/1 | LP Models |
[MG, 2.1 - 2.4] Dantzig Diet |
23/1 | Integer LP | [MG, 3.1-3.2][MG, pp. 144-146] |
25/1 | Integer LP (cont'd) | [MG, 3.2-3.4] |
1/2 | LP Rounding, Branch&Bound | [MG 2.7, 3.1] Branch and Bound |
6/2 | Duality | [MG 6.1,6.2] |
13/2 | Primal-Dual Algorithm | notes |
15/2 | More Duality Examples | [MG 8.1-8.2] notes |
20/2 | Duality examples concluded | |
22/2 | Linear Algebra and Geometry of LP | [MG 4.1-4.4] |
27/2 | Simplex Algorithm | [MG 5.1-5.10] |
1/3 | MAXCUT and SDP | [GM, Ch.1, 2.1-2.4] |
6/3 |
Can LP solve TSP? |
|
8/3 | Guest Lecture: Optimization in Industry, Mattias Grönkvist, Jeppesen |
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.
Due Date | Assignment | Grader |
23/1 | Homework 1: Intro | Not graded |
13/2 | Homework 2: LP rounding, graph.txt | Adam |
27/2 | Homework 3: Duality | Adam & David |
6/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 Studieportal (Chalmers)
If the course is a joint course (Chalmers and Göteborgs Universitet) you should link to both syllabus (Chalmers and Göteborgs Universitet).
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 |
---|---|---|