  Integer programming is concerned with solving linear systems of equations
over the non-negative integers. The basic question is to find a solution which
minimizes a given linear objective function for a fixed right hand side. Here
we also consider parametric versions where the objective function and the right
hand side are allowed to vary. The main emphasis is on Gr\"obner bases,
rational generating functions, and how to use existing software packages.
Concrete applications to problems in statistical modeling will be presented.
  These are the notes for a lecture to be given during the AMS Short Course,
``Trends in Optimization'', prior to the Joint Mathematics Meetings in Phoenix
on January 5-6, 2004.
