Article ID: | iaor20062646 |
Country: | Netherlands |
Volume: | 29 |
Issue: | 5 |
Start Page Number: | 607 |
End Page Number: | 629 |
Publication Date: | May 2003 |
Journal: | Parallel Computing |
Authors: | Ralphs T.K. |
Keywords: | programming: branch and bound, programming: integer |
Combinatorial optimization problems arise commonly in logistics applications. The most successful approaches to date for solving such problems involve modeling them as integer programs and then applying some variant of the branch and bound algorithm. Although branch and bound is conceptually easy to parallelize, achieving scalability can be a challenge. In more sophisticated variants, such as branch and cut, large amounts of data must be shared among the processors, resulting in increased parallel overhead. In this paper, we review the branch and cut algorithm for solving combinatorial optimization problems and describe the implementation of SYMPHONY, a library for implementing these algorithms in parallel. We then describe a solver for the vehicle routing problem that was implemented using SYMPHONY and analyze its parallel performance on a Beowulf cluster.