Subadditive Approaches in Integer Programming Diego Klabjan Department of Mechanical and Industrial Engineering University of Illinois at Urbana-Champaign Urbana, IL email: klabjan@uiuc.edu August 10, 2006 Abstract Linear programming duality is well understood and the reduced cost of a column is frequently used in various algorithms. On the other hand, for integer programs it is not clear how to define a dual function even though the subadditive dual theory has been developed a long time ago. In this work we propose a family of computationally tractable subadditive dual functions for integer programs. We develop a solution methodology that computes an optimal primal solution and an optimal subadditive dual function. We present computational experiments, which show that the new algorithm is tractable. Keywords: integer programming, duality, algorithms 1 Introduction Integer programming (IP) has many practical applications and its importance is well documented. There are several algorithms that compute an optimal IP solution, with branch-and-cut algorithms outperforming the field. Most of the algorithms produce an optimal or near optimal IP solution. On the other hand, IP duality is not well studied and to the best of our knowledge there are no practical algorithms that compute an optimal dual function for IP. In this paper we address how to compute dual functions and reduced cost, and use them to perform sensitivity analysis for IP. Frequently in IP we would like to estimate the change of the objective value if we perturb the right hand side. Sensitivity analysis for IP is typically done either by considering the dual vector of the LP relaxation or by resolving the problem after changing the right hand side. Is it possible to compute a vector or a function that would measure the change in the objective function of an IP after a perturbation of the right hand side? Similarly, when we are given a new variable, we wonder how the optimal objective value changes if this variable is added to the formulation. In many real world problems that are modeled as integer programs we would like to obtain alternative optimal solutions. For example, in airline crew assignment a decision maker, among all optimal solutions, favors solutions that are robust with respect to disruptions in operations. All optimal solutions can be found among the variables with zero reduced cost, which requires an optimal dual function. All of the aforementioned problems are well understood in linear programming (LP). In LP with each feasible bounded primal problem there is an associated dual problem with the same objective value. Many algorithms for LP compute both a primal and a dual solution, e.g. simplex and primal-dual algorithms. The reduced cost of a variable at the lower bound estimates how much the addition of the variable to the formulation change the objective value. By using duality we can carry out the sensitivity analysis. Column generation is a technique for solving large-scale LPs efficiently, see e.g. Dantzig et al. (1954), Barnhart et al. (1998). In a column generation algorithm, we start by solving an initial formulation that contains only a small subset of the variables of the problem. This formulation is called the restricted master problem. The algorithm progresses as other variables are introduced to the restricted master problem, which is reoptimized in every iteration. Variables with low reduced cost are more likely to improve the incumbent solution and 1