printlogo
ETH Zuerich - Homepage
 
print
  

Integer Programming

IFOR Mitteilungen

This booklet informs about ongoing projects and future events at the IFOR and appears once at the end of the year.

› read more

Lecturer Prof. Komei Fukuda
Dr. Jan Foniok
Time V: Tu 15–17
U: Tu 17–18
Assistants Lorenz Klaus
Place V + U: HG E1.1

Description

(Mixed) Integer programming deals with problems of minimizing or maximizing a linear function of many variables subject to linear inequality constraints and integrality restrictions on (some of) the variables.

The main objective is to learn the basic theory and algorithms for integer programming and mixed integer programming.

The following topics will be covered in the lecture:

  1. IP/MIP modeling of combinatorial optimization problems,
  2. Optimality, relaxation and bounds,
  3. Well-solved IP problems,
  4. Euclidean algorithm and Hermite normal form,
  5. basis reduction in lattices,
  6. complexity and problem reductions,
  7. branch-and-bound review,
  8. cutting plane algorithms,
  9. Lagrangian duality,
  10. further techniques and applications.

Prerequisites and Remarks

This course assumes the basic knowledge of linear programming, which is taught in courses such as "Optimization Techniques" (401-3901-00L) and "Introduction to Optimization" (401-2903-00L).

The former title of this course unit was "Topics in Discrete Optimization". If you already got credits for "Topics in Discrete Optimization" (401-3902-00L), you cannot get credits for "Integer Programming" (401-3902-00L).

Evaluation

Solving at least 50% of exercise problems is required for a student to qualify for the exam. In order (for both a masters and doctorate student) to obtain credits, one has to pass the oral exam during an ordinary exam period. The duration is thirty minutes.

Lecture notes

An updated version of the lecture notes (1 June 2010). Please email us if you find any further errors.

Schedule

Date Topic Notes Exercises Solutions Other material
23.02.2010 Introduction to IP/MIP. Modeling. Chapter 1 Assignment 1    
02.03.2010 Euclidean Algorithm, Hermite Normal Form Chapter 2 Assignment 2    
09.03.2010 Lattices, Fourier-Motzkin elimination Chapter 3 Assignment 3    
16.03.2010 Polyhedra, Convexity Chapter 3 & 4 Assignment 4    
23.03.2010 Complexity of IP, Hilbert Basis   Assignment 5    
30.03.2010 Complexity of IP, Well Solved Problems Chapter 4 & 5 None    
06.04.2010 Easter break        
13.04.2010 Diophatine Approximation, Lattice Reduction Chapter 6 (2nd update) Assignment 6 Mathematica notebook:
Shortest Vector
Mathematica notebooks:
Simultaneous Diophantine Approximation
Approximate Closest Vector
20.04.2010 Integer Programming, Lenstra's algorithm Chapter 7 (1st update) Assignment 7    
27.04.2010 Integral Polyhedra, Totally Unimodular Matrices Chapter 8 Assignment 8    
04.05.2010 Valid Inequalities Chapter 9 (1st update) Assignment 9    
11.05.2010 Chvatal-Gomory Inequalities Chapter 9 (2nd part) Assignment 10    
18.05.2010 IP Algorithms Chapter 10 Assignment 11    
25.05.2010 Lagrangian Duality Chapter 11 Assignment 12    
01.06.2010 Branch and Bound   None    

References

For the theory of integer programming, excellent sources are [8,3,10]. Many of our course materials benefit from these books and research papers. Combinatorial optimization problems yields important models of integer programming. Some of the excellent books on combinatorial optimization are [4,5,9]. There are a few classical books, e.g. [6,7] that are still very useful.

There is a very useful free software LP_SOLVE for mixed integer programming [2], while CPLEX is a highly reliable commercial MIP solver. Another useful software related to integer programming is 4TI2 [1] which can be used to compute, for example, Hilbert bases of polyhedral cones. Those taking this course are expected to install both LP_SOLVE and 4TI2.

[1]
4ti2 team. 4ti2 - a software package for algebraic, geometric and combinatorial problems on linear spaces. Available at www.4ti2.de.

[2] M. Berkelaar and J. Dirks. LP_SOLVE, a mixed integer linear programming (MILP) solver. http://lpsolve.sourceforge.net
   
[3] D. Bertsimas and R. Weismantel. Optimization over integers. Dynamic Ideas, Belmont, 2005.
   
[4]
W. Cook, W. Cunningham, W. Pullyblank, and A. Schrijver. Combinatorial optimization. Series in Disctrete Mathematics and Optimization. John Wiley & Sons, 1998.
   
[5] M. Grötschel, L. Lovász, and A. Schrijver. Geometric algorithms and combinatorial optimization. Springer-Verlag, Berlin, 1988.
   
[6] E. L. Lawler. Combinatorial optimization: networks and matroids. Holt, Rinehart and Winston, New York, 1976.
   
[7] C. Papadimitriou and K. Steiglitz. Combinatorial Optimization. Printice-Hall, 1982.
   
[8] A. Schrijver. Theory of linear and integer programming. John Wiley & Sons, New York, 1986.
   
[9] A. Schrijver. Combinatorial optimization. Polyhedra and efficiency. Vol. A, B, C, volume 24 of Algorithms and Combinatorics. Springer-Verlag, Berlin, 2003.
   
[10] L. Wolsey. Integer programming. Wiley-Interscience Series in Discrete Mathematics and Optimization. John Wiley & Sons, New York, 1998.
 

Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne graphische Elemente dargestellt. Die Funktionalität der Website ist aber trotzdem gewährleistet. Wenn Sie diese Website regelmässig benutzen, empfehlen wir Ihnen, auf Ihrem Computer einen aktuellen Browser zu installieren. Weitere Informationen finden Sie auf
folgender Seite.

Important Note:
The content in this site is accessible to any browser or Internet device, however, some graphics will display correctly only in the newer versions of Netscape. To get the most out of our site we suggest you upgrade to a newer browser.
More information

© 2012 Mathematics Department | Imprint | Disclaimer | 16 August 2011
top