Parallel branch and cut for vehicle routing

This thesis deals with the application of a technique known as branch and cut, to combinatorial optimization problems with side constraints. Specifically, we illustrate how these techniques can be used to solve vehicle routing problems (VRP's) in a parallel computing environment. The framework developed, however, has wide application and we point out how it could be applied in various other settings. The vehicle routing problem itself is concerned with the delivery of a product from a central production facility to a set of geographically dispersed customers with varying demands. Chapter 2 is an introduction to the technical aspects of the VRP including development of a mathematical programming formulation of the VRP and some polyhedral results related to the vehicle routing polytope. In Chapter 3 we describe methods of generating valid inequalities for the vehicle routing polytope. A new general separation algorithm which is applicable to a wide class of combinatorial optimization problems with side constraints is described. The algorithm is shown to be very effective in separating the capacity constraints of the VRP. Chapter 4 contains a description of the serial branch and cut algorithm followed by a theoretical discussion of the parallel version. Chapter 5 is the first of two chapters containing the details of the black box implementation, in which the subroutines are divided into two independent groups--those that perform the basic logic of the algorithm and are not dependent on problem setting, and those whose function is problem-specific. This division makes the software easily adaptable to different problem settings. Chapter 6 contains the details of the adaptation of the code to the vehicle routing problem including a description of the heuristics used for upper bounding. Chapter 7 is a presentation of results as well as a discussion of directions for future research. Data from test runs on the IBM SP2 parallel computer are synthesized and presented. It is shown that the algorithm exhibits near linear parallel speedup and good efficiency. However, most of the test problems were too small to take full advantage of the parallelism beyond a certain threshold.