Improving the held and karp approach with constraint programming

  • Authors:
  • Pascal Benchimol;Jean-Charles Régin;Louis-Martin Rousseau;Michel Rueher;Willem-Jan van Hoeve

  • Affiliations:
  • CIRRELT, École Polytechnique de Montréal;Université de Nice - Sophia Antipolis / CNRS;CIRRELT, École Polytechnique de Montréal;Université de Nice - Sophia Antipolis / CNRS;Tepper School of Business, Carnegie Mellon University

  • Venue:
  • CPAIOR'10 Proceedings of the 7th international conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Held and Karp have proposed, in the early 1970s, a relaxation for the Traveling Salesman Problem (TSP) as well as a branch-and-bound procedure that can solve small to modest-size instances to optimality [4, 5]. It has been shown that the Held-Karp relaxation produces very tight bounds in practice, and this relaxation is therefore applied in TSP solvers such as Concorde [1]. In this short paper we show that the Held-Karp approach can benefit from well-known techniques in Constraint Programming (CP) such as domain filtering and constraint propagation. Namely, we show that filtering algorithms developed for the weighted spanning tree constraint [3, 8] can be adapted to the context of the Held and Karp procedure. In addition to the adaptation of existing algorithms, we introduce a special-purpose filtering algorithm based on the underlying mechanisms used in Prim's algorithm [7]. Finally, we explored two different branching schemes to close the integrality gap. Our initial experimental results indicate that the addition of the CP techniques to the Held-Karp method can be very effective. The paper is organized as follows: section 2 describes the Held-Karp approach while section 3 gives some insights on the Constraint Programming techniques and branching scheme used. In section 4 we demonstrate, through preliminary experiments, the impact of using CP in combination with Held and Karp based branch-and-bound on small to modest-size instances from the TSPlib.