You are on page 1of 9
ELSEVIER European Journal of Operational Research 97 (1997) 871-579 EUROPEAN JOURNAL. OF OPERATIONAL, RESEARCH Theory and Methodology A branch and bound algorithm for the traveling purchaser problem Kashi N. Singh “*, Dirk L. van Oudheusden ° * Department of Mechanical Engineering. Bihur College of Engineering, Patna 800 00S, India ® Division of Industrial Management. Catholic University of Louvain, B 3001 Leuven. Belgium Abstract An important generalization of the traveling salesman problem called the traveling purchaser problem is considered. A branch and bound algorithm which solves a related simple plant location problem for calculating the bounds is proposed for this problem. Computational experiments with this algorithm provide the evidence that moderate size problems of upto 25 Cities and 100 commodities can be solved in reasonable computation time. The problem is shown to have applications in the areas of scheduling, warehousing and routing. © 1997 Elsevier Science B.V. Keywords: Traveling purchaser problem; Traveling salesman problem; Simple plant location problem; Heuristic; Algorithm 1, Introduction We consider a problem in which a set /= {1, 2,...,m) of m cities and a set J=(1,2,...,n} of m commodities are given, Also, we are given ¢,,. the cost of commodity j at city i, and h,,, the cost of travel from city i to city k. A purchaser starts from his home city (say city 1), travels to a subset of ‘m cities and purchases each of the » commodities, and finally returns to his home city. The problem is, to find a tour for the purchaser such that the sum of the travel and purchase costs is minimized, To avoid explicit consideration of trivial cases, we assume that each commodity is available in at least one of the m cities, and that none of the cities can provide each of m commodities at the cheapest ‘Corresponding author. Present address: National Institute of Industrial Engineering (NITIE), Vir Lake, Mumbai 400087, India 0977 Pur $0377-2217(96)00313-X price. Also, we assume that triangular inequality holds in travel costs. ‘The traveling purchaser problem (TPP) as de- scribed above is NP-hard as one of its special cases where m=n and each city carries only one com- modity reduces to a traveling salesman problem csp), ‘The name, traveling purchaser problem, was coined by Ramesh (1981) who presented a lexico- graphic search procedure to solve the problem ex- actly. He could solve problems of only upto 12 cities and 10 commodities. Prior to this Burstall (1966) encountered a problem of similar structure in a tube manufacturing firm. He developed a heuristic which was further commented on by Lomnicki (1966). Buzacott and Dutta (1971) developed an exact proce- dure based on dynamic programming for a job se quencing problem having similar structure Golden et al. (1981) developed a heuristic ap- proach to solve the TPP. Their heuristic was, later 17/97/$17.00 © 1997 Elsevier Science B.V. All rights reserved sn KN, Singh, DLL. can Oudhewsden / European Journal of Operational Research 97 (1997) 571-379 ‘on, modified by Ong (1982) but in the absence of, any powerful exact procedure it was not known how good the solutions given by these heuristics would be. In the present paper a branch and bound algorithm for the TPP is developed. The basic idea is that the two aspects of the problem, viz., selection of a subset of m cities for the tour and determination of an optimal tour of these cities, are successfully em- bedded into one. While for the resolution of the former, similarity of the TPP with the simple plant location problem (SPLP) is exploited, for the latter, a branching rule similar to that of Little et al. (1963) for the TSP is used. The algorithm is found to have resolved comparatively large size problems (with 25 cities and 100 commodities) on an IBM 3031 com: puter in a reasonable computation time. 2. Mathematical formulation ‘The constituents of the problem are m : the number of cities indexed by i, (1... mn. n> the number of commodities indexed by j. j= / =(,...,n) 1p cost of commodity j at city i ju: Cost of travel from city i to city k, KEL. Let us introduce the Boolean variable: X,, equal to 1 if commodity j is purchased from city i and equal to 0 otherwise. Y,, equal to 1 if city & immediately follows city é in the optimal tour and equal to 0 otherwise. Now the TPP can be represented as follows: iel= Minimize J Ec, X,+ OS haa q) ist jet ietant Subject to YX, = j=l. Q) roa) Xis De ms .m: fi a @) Xys Du it Xx, m; n «@) ¥.€(0.1} i my kel (3) and cities finally selected must be connected by a single tour (6) The objective function (1) represents the sum of commodity cost and travel cost. The constraints (2) express that each commodity has to be purchased at a single city. The constraints (3) ensure that only the cities in the optimal tour are considered for purchas- ing commodities. Constraints (4) provide that a com modity is either purchased at a given city or not. Similarly, constraints (5) indicate that in an optimal tour a city either immediately follows a given city or not. This is to be noted that the above problem, (1) to (6), represents a more general formulation of the TPP than that described in the beginning as none of the cities (such as home city) is constrained to be in the tour. It will be seen later that this can be ensured without any extra difficulty 3. A branch and bound algorithm ‘The TPP as formulated above is difficult to solve by a direct approach. Hence, a branch and bound algorithm is devised. The basic idea is to break up the set of all possible tours into smaller and smaller subsets and to calculate for each of them a lower bound on the sum of the tour travel cost and the commodity cost. The lower bound is calculated by solving a relaxation of the problem which is similar to an SPLP, The bounds guide the partitioning of the subsets and eventually identify an optimal solution when a subset is found that contains a single tour and whose bound is less than or equal to the lower bounds for all other subsets. 3.1 Lower bounds To calculate lower bounds some of the con- straints, (2) to (6), are relaxed and the resulting problems are solved. Let us define variables Dy En, M re KN. Singh, D.L. van Oudheusen / European Journal of Operational Research 97 (1997) 57 such that (7) ensure that in the optimal tour a city i must have a single immediate predecessor city and a single immediate successor city. Now constraints (3)-(5) imply X,s¥, (8) and ¥,€ {0.1} 0% ‘The Boolean variable, ¥,, will be equal to Lif city i is included in the optimal tour and equal to zero otherwise. Further, let us define Si= min (ha (10) fj here, represents the minimum cost to be incurred for traveling out of city i. Then it is obvious that LL hata= DAY ay Hence, the right hand side of (11) will give a lower bound on the total travel cost, Now the solution 0 the following problem will give a lower bound on the minimum objective function value of the TPP represented by (1)-(6). L Lexy + LAY (2) Subject to (2), (4), (8) and (9) The above problem has the same form as the SPLP-model of Efroymson and Ray (1966) and can be easily solved by any of the available approaches (e.g., Bilde and Krarup, 1977; Erlenkotter, 1978). In fact one of the special cases of TPP, wherein h,, = C (a constant), i€ J, k EF, results in an SPLP. 3.2 Branching The initial solution to the above problem consti tutes the root of the search tree. This is also called the initial node of the tree and it represents the set of all tours. The process of partitioning for this set of all tours into disjoint subsets is represented as branching of the tree and the subsets of tours as nodes of the tree. The node containing i, k (see Fig. 313 Fig. 1. Branching of a tee 1) represents all tours which include the city pair (i, k), whereas the node containing 7, & represents all tours that do not include city pair (i, k). If a further branching is done at the i, & node, the node containing 7, p represents all tours that include (i, &) but not (r, p), whereas 1, p represents all tours that include both (i, &) and (7, p). By tracing from a given node, P, back to start, we can easily know which city pairs are committed to appear in the tours of P and which are forbidden to appear. If the branching is carried further, some node will eventually represent a single tour of com- mitted city pairs. So the main decision involved at each branching step is how to choose a city pair (1, p) to base the branching on. In the proposed algorithm, at each step the city pair (1, p) is chosen jin such a way that the problem with this pair ex- cluded or (Fp) will yield as large a bound as possible. This branching decision rule is similar to that of Little et al. for the TSP. When a node, P, branches into two further nodes, the node with the newly committed city pair will be called_Q and the node with the newly forbidden city pair 0. 3.3 Flow chart of the algorithm Each individual step of the algorithm has been put in a separate box in the flow chart (see Fig. 2) and

You might also like