| Article ID: | iaor19991409 |
| Country: | United States |
| Volume: | 10 |
| Issue: | 2 |
| Start Page Number: | 133 |
| End Page Number: | 148 |
| Publication Date: | Mar 1998 |
| Journal: | INFORMS Journal On Computing |
| Authors: | Fischetti Matteo, Toth Paolo, Gonzlez Juan Jos Salazar |
| Keywords: | programming: integer, programming: branch and bound |
In the Orienteering Problem (OP), we are given an undirected graph with edge weights and node prizes. The problem calls for a simple cycle whose total edge weight does not exceed a given threshold, while visiting a subset of nodes with maximum total prize. This NP-hard problem arises in routing and scheduling applications. We describe a branch-and-cut algorithm for finding an optimal OP solution. The algorithm is based on several families of valid inequalities. We also introduce a family of cuts, called conditional cuts, which can cut off the optimal OP solution, and propose an effective way to use them within the overall branch-and-cut framework. Exact and heuristic separation algorithms are described, as well as heuristic procedures to produce near-optimal OP solutions. An extensive computational analysis on several classes of both real-world and random instances is reported. The algorithm proved to be able to solve to optimality large-scale instances involving up to 500 nodes, within acceptable computing time. This compares favorably with previous published methods.