A branch-and-cut algorithm for the Multi-vehicle Traveling Purchaser Problem with Exclusionary Side Constraints