The traveling purchaser problem (TPP) is an NP-hard problem studied in Operations research and theoretical computer science. Given a list of marketplaces, the cost of travelling between different marketplaces, and a list of available goods together with the price of each such good at each marketplace, the task is to find, for a given list of articles, the route with the minimum combined cost of purchases and traveling. The traveling salesman problem (TSP) is a special case of this problem.
The problem can be seen as a generalization of the traveling salesman problem, which can be viewed as the special case of TPP where each article is available at one market only and each market sells only one item. Since TSP is NP-hard, TPP is NP-hard.[1]
Approaches for solving the traveling purchaser problem include dynamic programming[2] and tabu search algorithms.[3]