To appear in Mathematical Programming (2006) The original article is available at http://www.springerlink.com Active-Constraint Variable Ordering for Faster Feasibility of Mixed Integer Linear Programs Jagat Patel Nortel Networks 3500 Carling Avenue Ottawa, Ontario K2H 8E9 Canada patelj@nortelnetworks.com John W. Chinneck Systems and Computer Engineering Carleton University Ottawa, Ontario K1S 5B6 Canada chinneck@sce.carleton.ca June 28, 2006 Abstract The selection of the branching variable can greatly affect the speed of the branch and bound solution of a mixed-integer or integer linear program. Traditional approaches to branching variable selection rely on estimating the effect of the candidate variables on the objective function. We present a new approach that relies on estimating the impact of the candidate variables on the active constraints in the current LP relaxation. We apply this method to the problem of finding the first feasible solution as quickly as possible. Empirical experiments demonstrate a significant improvement compared to a state-of-the art commercial MIP solver. 1. Introduction The well-known branch and bound method is the main algorithm for solving mixed-integer, integer, and binary linear programming problems (here referred to collectively as MIP problems). It has a long history, dating to the 1960s [Land and Doig 1960] and has been extensively developed since then (e.g. Johnson et al. [2000]). The general steps of the method, summarized in Algorithm 1, are fairly standard, but there are numerous variations in the details. A critical element of a successful branch and bound approach is the ability to find a feasible solution quickly. In some cases, a feasible solution is the only goal. Where optimality is needed, finding a feasible incumbent solution quickly permits early pruning and hence the development of a smaller search tree. In very difficult models that may terminate before finding the optimum solution, finding a feasible solution early increases the likelihood that the solver will at least be able to report a usable solution. Finally, some methods for analyzing infeasibility in MIPs 1