Integer Programming: Polyhedral Theory and Algorithms
Topic
Integer programming is concerned with optimization problems where some of the variables are restricted to take only integral values. There are numerous applications of integer programming in various areas such as facility location, network design, vehicle routing and so on.
Topics included in the lecture are:
- Modelling with Integer Programs
- Polyhedra and Polytopes
- Formulations: Good and Ideal
- Complexity
- Optimization and Separation
- Polyhedra and Integer Programming
- Integrality of Polyhedra
- Total Unimodularity and Total Dual Integrality
- (Possible additional topic: Matchings)
Lecture Dates
The lecture takes place on
- Tuesday, 08:15-09:45 in room 48-208
- Thursday, 08:15-09:45 in room 48-208.
Tutorials
The tutorials start on Tuesday, November 2, and Wednesday, November 3 with in-class exercises!
Tutorials are held on
- Tuesday, 11:45-13:15 in room 36-265
- Tuesday, 17:15-18:45 in room 44-380
- Wednesday, 11:45-13:15 in room 13-370
The tutorials are managed by Sabine Büttner. Questions will be answered by mail (buettner(at)mathematik.uni-kl.de) or in room 14-432.
The application for the groups has to be done in the URM-system until Friday, October 29.
Homework Assignments
The Exercise Sheets are available on Thursday and have to be delivered to the boxes in building 48 (next to room 210) on Thursday of the next week before the lecture.
The first sheet will be online on Thursday, October 28, and will contain in-class exercises for the first tutorials as well as the homework which is due next week.
Exercises should be turned in in groups of 2 to 3 students.
Number | Due Date | additional information | |
|---|---|---|---|
1 | November 4 | Exercise 1 corrected | in Exercise 5: '+' for two sets X and Y means here: a in X+Y iff a=x+y for some x in X and y in Y |
2 | November 11 | ||
3 | November 18 | ||
4 | November 25 | ||
5 | December 2 | ||
6 | December 9 | ||
7 | December 16 | ||
8 | January 6 | see below for information concerning the computer exercise | |
9 | January 13 | in Exercise 2 a): the correct (nontrivial) exercise is: Show that the problem always has an optimal solution with at most one fractional entry. | |
10 | January 20 | ||
11 | January 27 | data for the two-dimensional Knapsack in Exercise 4: knapsack.dat Note in Exercise 3: the resources should be nonnegative. | |
12 | February 3 |
Computer Exercises
There will be some Computer Exercises during the second part of the lecture, giving you the opportunity to get to know some basics in solving optimization problems with the help of an LP-solver. You should inform yourself about the basics, but the exercises can be done without a lot of programming experience.You should use the optimization software AMPL to solve the LPs. An introduction to the program can be found e.g. at 'http://www.ampl.com/DOWNLOADS/index.html' where you can download an introductory chapter of a manual. There are also some examples. Another short introduction is available at http://www.unc.edu/~pataki/hhh/ampl/amplhandout.pdf.
You have the following options to be able to use AMPL:
- There is a student version of AMPL on the computers of the Department of Mathematics accessible in rooms 48-419, 48-421 and 48-521.
- If you want to use the program on your personal computer, you can download the free student version (see also 'http://www.ampl.com/DOWNLOADS/index.html').
- If you are only interested in trying some basic things, you can test your models with the web interface at 'http://www.ampl.com/TRYAMPL/'.We will also give a short example of the functioning of AMPL in the first tutorials of the New Year, i.e. on January 11 and January 12 respectively.
Exam Information
In order to get a "Schein" you have to participate actively in the tutorials. This includes at least 50% of the points for the homework assignments, attendance of the tutorial and the presentation of own solutions in class.
Lecture Notes
Lecture notes will be provided here chapterwise during the course.
- Contents
- Chapter 1 - Introduction
- Chapter 2 - Basics
- Chapter 3 (1) - Polyhedra and Integer Programs - NEW and EXTENDED VERSION
- Chapter 3 (2)
- Chapter 4 (1) - Integrality of Polyhedra
- Chapter 4 (2)
- Chapter 5 - Basics about problems and complexity
- Chapter 6 (1) - Relaxations and Bounds
- Chapter 6 (2)
- Chapter 7 - Dynamic Programming
- Chapter 8 - Branch and Bound
- Chapter 9 - Cutting Planes
Be warned that these notes are still under construction and should not be trusted too easily.
Literature
- Alexander Schrijver - Theory of Linear and Integer Programming
- George L. Nemhauser, Laurence A. Wolsey - Integer and Combinatorial Optimization

