9
Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019 © IEOM Society International Solving Traveling Salesman Problems Using Branch and Bound Methods Mochamad Suyudi, Sukono Department of Mathematics, Faculty of Mathematics and Natural Sciences Universitas Padjadjaran, Indonesia [email protected], [email protected] Mustafa Mamat Faculty of Informatics and Computing, Universiti Sultan Zainal Abidin Tembila Campus, 2200 Besut, Terengganu, Malaysia [email protected] Abdul Talib Bon Department of Production and Operations, University Tun Hussein Onn Malaysia, Johor, Malaysia [email protected] Abstract The traveling salesman problem is a well known optimization problem. Optimal solutions to small instances can be found in reasonable time by linear programming. However, since the TSP is NP-hard, it will be very time consuming to solve larger instances with guaranteed optimality. Setting optimality aside, there’s a bunch of algorithms offering comparably fast running time and still yielding near optimal solutions. Therefore, in this study we will examine the search for solving TSP problem using branch and bound methods. Keywords: Traveling Salesman Problem, The Greedy heuristic, Branch and Bound. 1. Introduction The traveling salesman problem (TSP) is to find the shortest hamiltonian cycle in a graph. This problem is NP-hard and thus interesting. There are a number of algorithms used to find optimal tours, but none are feasible for large instances since they all grow exponentially. We can get down to polynomial growth if we settle for near optimal tours. We gain speed, speed and speed at the cost of tour quality. So the interesting properties of heuristics for the TSP is mainly speed and closeness to optimal solutions (Suyudi et al., 2018; 2017; 2016). There are mainly two ways of finding the optimal length of a TSP instance. The first is to solve it optimally and thus finding the length. The other is to calculate the Held-Karp lower bound, which produces a lower bound to the optimal solution(Johnson and McGeoch 1995). This lower bound is the de facto standard when judging the performance of an approximation algorithm for the TSP (Suyudi et al., 2018; 2017; 2016). The heuristics discussed here will mainly concern the Symmetric TSP, however some may be modified to handle the Asymmetric TSP. When I speak of TSP I will refer to the Symmetric TSP 1606

Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

Solving Traveling Salesman Problems Using Branch and Bound Methods

Mochamad Suyudi, Sukono Department of Mathematics, Faculty of Mathematics and Natural Sciences

Universitas Padjadjaran, Indonesia [email protected], [email protected]

Mustafa Mamat Faculty of Informatics and Computing, Universiti Sultan Zainal Abidin

Tembila Campus, 2200 Besut, Terengganu, Malaysia [email protected]

Abdul Talib Bon Department of Production and Operations,

University Tun Hussein Onn Malaysia, Johor, Malaysia [email protected]

Abstract The traveling salesman problem is a well known optimization problem. Optimal solutions to small instances can be found in reasonable time by linear programming. However, since the TSP is NP-hard, it will be very time consuming to solve larger instances with guaranteed optimality. Setting optimality aside, there’s a bunch of algorithms offering comparably fast running time and still yielding near optimal solutions. Therefore, in this study we will examine the search for solving TSP problem using branch and bound methods.

Keywords: Traveling Salesman Problem, The Greedy heuristic, Branch and Bound.

1. Introduction

The traveling salesman problem (TSP) is to find the shortest hamiltonian cycle in a graph. This problem is NP-hard and thus interesting. There are a number of algorithms used to find optimal tours, but none are feasible for large instances since they all grow exponentially. We can get down to polynomial growth if we settle for near optimal tours. We gain speed, speed and speed at the cost of tour quality. So the interesting properties of heuristics for the TSP is mainly speed and closeness to optimal solutions (Suyudi et al., 2018; 2017; 2016). There are mainly two ways of finding the optimal length of a TSP instance. The first is to solve it optimally and thus finding the length. The other is to calculate the Held-Karp lower bound, which produces a lower bound to the optimal solution(Johnson and McGeoch 1995). This lower bound is the de facto standard when judging the performance of an approximation algorithm for the TSP (Suyudi et al., 2018; 2017; 2016). The heuristics discussed here will mainly concern the Symmetric TSP, however some may be modified to handle the Asymmetric TSP. When I speak of TSP I will refer to the Symmetric TSP

1606

Page 2: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

2. Approximation

Solving the TSP optimally takes to long, instead one normally uses approximation algorithms, or heuristics. The difference is approximation algorithms give us a guarantee as to how bad solutions we can get. Normally specified as c times the optimal value. The best approximation algorithm stated is that of (Arora 1998). The algorithm guarantees a (1+1=c)-approximation for every c > 1. It is based on geometric partitioning and quad trees. Although theoretically c can be very large, it will have a negative effect on its running time (O(n(log2n)O(c)) for two-dimensional problem instances). 3. Tour Construction Tour construction algorithms have one thing in commmon, they stop when a solution is found and never tries to improve it. The best tour construction algorithms usually gets within 10-15% of optimality. 3.1. Nearest Neighbor This is perhaps the simplest and most straightforward TSP heuristic. The key to this algorithm is to always visit the nearest city. Nearest Neighbor, O(n2) 1. Select a random city. 2. Find the nearest unvisited city and go there. 3. Are there any unvisitied cities left? If yes, repeat step 2. 4. Return to the first city. The Nearest Neighbor algorithm will often keep its tours within 25% of the Held-Karp lower bound (Johnson and McGeoch 1996, 2002). 3.2. Greedy

The Greedy heuristic gradually constructs a tour by repeatedly selecting the shortest edge and adding it to the tour as long as it doesn’t create a cycle with less than N edges, or increases the degree of any node to more than 2. We must not add the same edge twice of course. Greedy, O(n2log2(n)) 1. Sort all edges. 2. Select the shortest edge and add it to our tour if it doesn’t violate any of the above constraints. 3. Do we have N edges in our tour? If no, repeat step 2. The Greedy algorithm normally keeps within 15-20% of the Held-Karp lower bound (Johnson and McGeoch 1996, 2002). 3.3. Insertion Heuristics

Insertion heuristics are quite straighforward, and there are many variants to choose from. The basics of insertion heuristics is to start with a tour of a subset of all cities, and then inserting the rest by some heuristic. The initial subtour is often a triangle or the convex hull. One can also start with a single edge as subtour. Nearest Insertion, O(n2) 1. Select the shortest edge, and make a subtour of it. 2. Select a city not in the subtour, having the shortest distance to any one of the cities in the subtoor. 3. Find an edge in the subtour such that the cost of inserting the selected city between the edge’s cities will be

minimal. 4. Repeat step 2 until no more cities remain. Convex Hull, O(n2log2(n)) 1. Find the convex hull of our set of cities, and make it our initial subtour. 2. For each city not in the subtour, find its cheapest insertion (as in step 3 of Nearest Insertion). Then chose the city

with the least cost/increase ratio, and insert it.

1607

Page 3: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

3. Repeat step 2 until no more cities remain. 4. Branch and Bound Method

Branch and Bound algorithms are often used to find optimal solutions for combinatorial optimiziation problems. The method can easily be applied to the TSP no matter if it is the Asymmetric TSP (ATSP) or the Symmetric TSP (STSP). A method for solving the ATSP using a Depth-First Branch & Bound (DFBnB) algorithm is studied in (Zhang). The DFBnB starts with the original ATSP and solves the Assignment Problem (AP). The assignment problem is to connect each city with its nearest city such that the total cost of all connections is minimized. The AP is a relaxation of the ATSP, thus acting as a lower bound to the optimal solution of the ATSP (Balas and Toth,1983). We have found an optimal solution to the ATSP if the solution to the AP is a complete tour. If the solution is not a complete tour we must find a subtour within the AP solution and exclude edges from it. Each exclusion will branch our search. All branches are cut if the cost of the AP solution exceeds 𝛼𝛼. The DFBnB solves the ATSP with optimality. However, it can also be used as an approximation algorithm by adding extra constraints. One is to only

remove the most costly edges of a subtour, thus decreasing the branching factor. The method that will be used in this research to solve the problem is Branch and Bound Method. The term Branch and Bound refers to all space search methods in which all children of the E-vertex that are generated before other living vertices can become E-vertices(Richard Wiener, 2003),( Archit Rastogi, et.all, 2013). The e-vertex is the vertex, which is being ejected. Tree distance conditions can be expanded in any method, BFS or DFS. Both start with the root vertex and produce another vertex. A vertex that has been generated and all that the child has not expanded is called live-vertex. A vertex called a dead vertex, which has been produced, but cannot be further developed. The concept of dead vertices will give birth to a new concept known as backtracking. Which says that after the vertex has passed it will become a dead vertex and still can't find a solution. So you have to go back to the parent and cross the other kids for a solution. If you don't have more children expandable then you need to reach the parent (the dead grand parent vertex) and expand the child and so on. Then do it until you get a solution or a complete tree is passed. In this method, at each vertex of the tree it is necessary to expand the most promising vertex, meaning to choose a promising vertex and expand it to get the optimal solution. So to expand it must start from the root of the tree (Tucker 2002), (Winston 2004). 5. Apply Branch and Bound Method

This method will be applied, if someone touring using a private car in 9 cities in West Java starts from the city of Bandung, Purwakarta, Cikampek, Karawang, Bekasi, Bogor, Sukabumi, Cianjur, Cileungsi, and returns to Bandung. As shown in the map of West Java below.

Figure 1. Map of the route between the cities of West Java From Figure 1. A map of the 9 city lines in West Java is graph, and given weights for each path for the distance in km in figure 2.a and the cost of Premium BBM(fuel) in figure 2.b.

1608

Page 4: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

Bekasi 45,3 Karawang 20,1 Cikampek v5 63 v4 28 v3 57,3 22,2 26,1 76 30 35 Bogor 36,6 Cileungsi Purwakrta v6 48 v7 v2 63,2 59,7 129 58,5 83 79 169 77 31,3 66,1 Sukabumi Cianjur Bandung v8 41 v9 87 v1 (2.a) (2.b) Figure (2.a) Graph of inter-city distances in km, (2.b) Graph weighs in fuel costs. For calculation of costs, for example Premium BBM(fuel) prices Rp. 6,550.00 / liter and the average car that consumes fuel per liter is 5 km, shown in the table below.

Table 1. Distance between cities and the weight of fuel costs. City Path Intercity

Distance (Km) Used fuel (liters) Weight (Fuel Cost) Rp.

Bandung-Purwakarta 58,5 11,70 76.635 = 77.000 Purwakarta-Cikampek 26,1 5,22 34.191 = 35.000 Cikampek-Karawang 20,1 4,20 27.510 = 28.000 Karawang-Bekasi 45,3 9,60 62.880 = 63.000 Bekasi-Bogor 57.3 11,46 75.173 = 76.000 Bekasi-Cileungsi 22,2 4,44 29.082 = 30.000 Bogor-Cileungsi 36,6 7,32 47.946 = 48.000 Bogor-Sukabumi 63,2 12,64 82.792 = 83.000 Bogor-Cianjur 59,7 11,94 78.207 = 79.000 Sukabumi-Cianjur 31,1 6,26 40.937,5= 41.000 Cianjur-Bandung 66,1 13,22 86.591 = 87.000 Cileungsi-Bandung 129 25,8 168.990 = 169.000

The input for this method is the cost matrix, which is arranged in accordance with the provisions:

𝐶𝐶𝑖𝑖𝑖𝑖 =

⎩⎨

⎧∞, if there is no direct line from

𝑉𝑉𝑖𝑖 to 𝑉𝑉𝑖𝑖Wij, if there is a direct line from

𝑉𝑉𝑖𝑖 to 𝑉𝑉𝑖𝑖

While solving problems, we first prepare the state space tree, which represents all possible solutions. In this problem | V | = 9. Which is the total number of vertices in the graph or cities on the map. Array input for this method is given by

𝑣𝑣1 𝑣𝑣2 𝑣𝑣3 𝑣𝑣4 𝑣𝑣5 𝑣𝑣6 𝑣𝑣7 𝑣𝑣8 𝑣𝑣9

Cost matrix =

𝑣𝑣1𝑣𝑣2𝑣𝑣3𝑣𝑣4𝑣𝑣5𝑣𝑣6𝑣𝑣7𝑣𝑣8𝑣𝑣9

⎜⎜⎜⎜⎛

∞77∞∞∞∞

169∞87

77∞35∞∞∞∞∞∞

∞35∞28∞∞∞∞∞

∞∞28∞63∞∞∞∞

∞∞∞63∞7630∞∞

∞∞∞∞76∞488379

169∞∞∞3048∞∞∞

∞∞∞∞∞83∞∞41

87∞∞∞∞79∞41∞⎠

⎟⎟⎟⎟⎞

Step 1: Reduce each row and column in such a way that there must be at least one zero in each row and column. To do this, we need to reduce the minimum value of each element in each row and column.

1609

Page 5: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

a). After reducing the row:

𝑣𝑣1 𝑣𝑣2 𝑣𝑣3 𝑣𝑣4 𝑣𝑣5 𝑣𝑣6 𝑣𝑣7 𝑣𝑣8 𝑣𝑣9

Cost matrix =

𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 77 𝑣𝑣1𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 35 𝑣𝑣2𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 28 𝑣𝑣3𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 28 𝑣𝑣4𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 30 𝑣𝑣5𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 48 𝑣𝑣6𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 30 𝑣𝑣7𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟41 𝑣𝑣8𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 41 𝑣𝑣9

⎜⎜⎜⎜⎛

∞42∞∞∞∞

139∞46

0∞7∞∞∞∞∞∞

∞0∞0∞∞∞∞∞

∞∞0∞33∞∞∞∞

∞∞∞35∞280∞∞

∞∞∞∞46∞184238

92∞∞∞00∞∞∞

∞∞∞∞∞35∞∞0

10∞∞∞∞31∞0∞⎠

⎟⎟⎟⎟⎞

b) After reducing the 2nd column with 42 and the 7th column with 18:

Cost matrix = 𝑀𝑀1

So the total cost expected at the vertex root is the sum of all deductions. The expected total cost extends the root vertex L(1) = 77 + 35 + 28 + 28 + 30 + 48 + 30 + 41 + 41+ 42 + 18 = 418. Because it must plan the path starting from v1, for v1 it will become the root of the tree and that will be the first vertex to be expanded.

Step 2: Pilih akar verteks v1 sehingga verteks berikutnya akan diperluas setiap verteks dari v2, v3, v4, v5, v6, v7, v8, v9. Jadi harus mengetahui memperluas biaya setiap verteks. Jadi mana yang akan menjadi minimum dan akan diperluas lebih jauh. Prosedur akan diulangi untuk setiap verteks untuk mencari ekspansi biaya pengeluaran.

The formula for finding costs is: L(vertex) = L(parent vertex) + Parent(i, j) + total reduction cost.

a) Get costs by expanding using the cost matrix for vertices 2 in the tree: The total cost obtained extends the vertex 2, L(2) = L (1) + M1(1,2) + r = 418 + 0 + 0 = 418. b) Get costs by expanding using the cost matrix for vertices 3 in the tree: So the total cost of expansion vertex 3, L(3) = L(1) + M1(1,3) + r = 418+ ∞ + 35 = ∞ c) Get costs by expanding using the cost matrix for vertices 4 in the tree: Total cost of expansion of vertex 4 is obtained, L(4) = L(1) + M1(1,4) + r = 418 + ∞ +7 = ∞. d) Get costs by expanding using the cost matrix for vertices 5 in the tree: Total cost of expansion of vertex 5 is obtained, L(5) = L(1) + M1(1,5) + r = 418 + ∞ + 7 = ∞. e) Get costs by expanding using the cost matrix for vertices 6 in the tree: Total cost of expansion of vertex 6 is obtained, L(6) = L(1) + M1(1,6) + r = 418 + ∞ + 7 = ∞. f) Get costs by expanding using the cost matrix for vertices 7 in the tree: Total cost of expansion of vertex 7 is obtained, L(7) = L(1) + M1(1,7) + r = 418 + 92 + 7 + 28 + 28 = 573. g) Get costs by expanding using the cost matrix for vertices 8 in the tree: Total cost of expansion of vertex 8 is obtained, L(8) = L(1) + M1(1,8) + r = 418 + ∞ + 7 + 4 = ∞. h) Get costs by expanding using the cost matrix for vertices 9 in the tree: So the total cost of expansion vertex 9, L(9) = L(1) + M1(1,9) + r = 418 + 10 + 7 + 24 =.459.

Now it has two vertices v2 and v9 that can be selected. Suppose you choose v9 as the next vertex. So it will expand the tree at vertex 9, belonging to v9. Until now two vertices have been passed v1 and v9. So we have to find out the next vertex that will be passed.

1 v1= 418

2 3 4 5 6 7 8 9

v2=41

v5=

v4=∞ v3=

v6=∞ v7=57

v8=

v9=45

1610

Page 6: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

Step 3: Select v9 as the next vertex to expand. So M9 will work as an input matrix for this step. And it has 7 vertices that still have to be passed. So you can expand v2, v3, v4, v5, v6, v7, and v8 as the next vertex. So using the same method will find the expansion costs of each vertex. a) Get costs by expanding using the cost matrix for vertices 10 in the tree: Total cost of expansion of vertex 10 is obtained, L(10 )= L(9) + M9(9,2) + 35 = 459 + ∞ + 35 = ∞. b) Get costs by expanding using the cost matrix for vertices 11 in the tree: Total cost of expansion of vertex 11 is obtained, L(11) = L(9) + M9(9,3) + 35 = 459 + ∞ + 35 + 35 = ∞. c) Get costs by expanding using the cost matrix for vertices 12 in the tree: Total cost of expansion of vertex 12 is obtained, L(12) = L(9) + M9(9,4) + 35 = 459 + ∞+35= ∞. d) Get costs by expanding using the cost matrix for vertices 13 in the tree: Total cost of expansion of vertex 13 is obtained, L(13) = L(9) + M9(9,5) + 35 = 459 + ∞ + 35 = ∞. e) Get costs by expanding using the cost matrix for vertices 14 in the tree: Total cost of expansion of vertex 14 is obtained, L(14) = L(9) + M9(9,6) + 35 = 459 + 20 + 35 = 514. f) Get costs by expanding using the cost matrix for vertices 15 in the tree: Total cost of expansion of vertex 15 is obtained, L(15) = L(9) + M9(9,7) + 35 = 459 + ∞ + 28 + 28 + 35= ∞. g) Get costs by expanding using the cost matrix for vertices 16 in the tree: Total cost of expansion of vertex 16 is obtained, L(16) = L(9) + M9(9,8) + 0 = 459 + 0 + 0 = 459. Step 3: At step 16 of this vertex, v8 is the most likely vertex to be chosen, because it provides minimum travel costs. So it will expand further. And it has 6 vertices that still have to be passed. So you can expand v2, v3, v4, v5, v6, and v7 as the next vertex. So using the same method we will find the expansion costs of each vertex. a) Get costs by expanding using the cost matrix for vertices 17 in the tree: Total cost of expansion of vertex 17is obtained, L(17) = L (16) + M16(8,2) + r = 459 + ∞ + 0 = ∞. b) Get costs by expanding using the cost matrix for vertices 18 in the tree: Total cost of expansion of vertex 18 is obtained, L(18) = L(16) + M16(8,3) + r = 459+ ∞ + 35 = ∞. c) Get costs by expanding using the cost matrix for vertices 19 in the tree: Total cost of expansion of vertex 19is obtained, L(19) = L (16) + M16(8,4) + r = 459 + ∞ + 0 = ∞. d) Get costs by expanding using the cost matrix for vertices 20 in the tree: Total cost of expansion of vertex 20 is obtained, L(20) = L(16) + M16(8,5) + r = 459 + ∞ + 0 = ∞. e) Get costs by expanding using the cost matrix for vertices 21 in the tree: Total cost of expansion of vertex 21 is obtained, L(21) = L(16) + M16(8,6) + r = 459 + 0 + 0 = 459. f) Get costs by expanding using the cost matrix for vertices 22 in the tree: Total cost of expansion of vertex 22 is obtained, L(22) = L(16) + M16(8,7) + r = 459 + ∞ + 28 + 28 = ∞. Step 4: Next v6 is the vertex that is most likely to be chosen which gives the minimum cost. Now M21 is the input matrix for this step. So it will expand further. And it has 5 vertices that still have to be passed. So we can expand v2, v3, v4, v5, and v7 as the next vertex. So using the same method we will find the expansion costs of each vertex. a) Get costs by expanding using the cost matrix for vertices 23 in the tree: Total cost of expansion of vertex 23 is obtained, L(23) = L(21) + M21(6,2) + r = 459 + ∞ + 0 = ∞. b) Get costs by expanding using the cost matrix for vertices 24 in the tree: Total cost of expansion of vertex 24 is obtained, L(24) = L(21) + M21(6,3) + r = 459 + ∞ + 35= ∞. c) Get costs by expanding using the cost matrix for vertices 25 in the tree: Total cost of expansion of vertex 25 is obtained, L(25) = L(21) + M21(6,4) + r = 459 + ∞ + 0 = ∞. d) Get costs by expanding using the cost matrix for vertices 26 in the tree: Total cost of expansion of vertex 26 is obtained, L(26) = L(21) + M21(6,5) + r = 459 + 28 + 97= 584. e) Get costs by expanding using the cost matrix for vertices 27 in the tree: Total cost of expansion of vertex 27 is obtained, L(27) = L(21) + M21(6,7) + r = 459 + 0 + 0 = 459. Step 5: The following v7 is the vertex that is most likely to be chosen which gives the minimum cost. Now M27 becomes the input matrix for this step. So it will expand further. And it has 4 vertices that still have to be passed. So we can expand v2, v3, v4 and v5 as the next vertex. So using the same method we will find the expansion costs of each vertex. a) Get costs by expanding using the cost matrix for vertices 28 in the tree: Total cost of expansion of vertex 28 is obtained, L(28) = L(27) + M27(7,2) + r = 459 + ∞ + 33+ 35 = ∞. b) Get costs by expanding using the cost matrix for vertices 29 in the tree: Total cost of expansion of vertex 29 is obtained, L(29) = L(27) + M27(7,3) + r = 459 + ∞ + 33+ 35 = ∞. c) Get costs by expanding using the cost matrix for vertices 30 in the tree:

1611

Page 7: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

Total cost of expansion of vertex 30 is obtained, L(30) = L(27) + M27(7,4) + r = 459 + ∞ + 35 = ∞. c) Get costs by expanding using the cost matrix for vertices 31 in the tree: Total cost of expansion of vertex 31 is obtained, L(31) = L(27) + M27(7,5) + r = 459 + 0 + 33 = 492. Step 6: Here v5 is the vertex that is most likely to be chosen which gives the minimum cost. Now M31 is the input matrix for this step. So it will expand further. And it has 3 vertices that still have to be passed. So you can expand v2, v3, and v4 as the next vertex. So using the same method we will find the expansion costs of each vertex. a) Get costs by expanding using the cost matrix for vertices 32 in the tree: Total cost of expansion of vertex 32 is obtained, L(32) = L(31) + M31(5,2) + r = 492 + ∞ + 0 = ∞. b) Get costs by expanding using the cost matrix for vertices 33 in the tree: Total cost of expansion of vertex 33 is obtained, L(33) = L(31) + M31(5,3) + r = 492 + ∞ + 0 = ∞. c) Get costs by expanding using the cost matrix for vertices 34 in the tree: Total cost of expansion of vertex 34 is obtained, L(34) = L(31) + M31(5,4) + r = 492 + 0 + 0 = 492. Step 7: The following v4 is the most likely vertex to be selected so that it will expand this vertex further. So M34 becomes the input matrix for this step. Now faced with two vertices that have not been traversed are v2, and v3. So using the same method we will find the expansion costs of each vertex. a) Get costs by expanding using the cost matrix for vertices 35 in the tree: Total cost of expansion of vertex 35 is obtained, L(35) = L(34) + M34(4,2) + r = 492 + ∞ + 0 = ∞. b) Get costs by expanding using the cost matrix for vertices 36 in the tree: Total cost of expansion of vertex 36 is obtained, L(36) = L(34) + M34(4,3) + r = 492 + 0 + 0 = 492.

1 v1= 418

2 3 4 5 6 7 8 9

v2 v5 v4 v3 v6 v7 v8

v9=459

11 1

1

1

1

16 10

v2 v3 v4 v5 v6 v7

v8=459

1

2

1

1

v2 v3 v4 v5 v7 v6=459

2

2

2

2 2

24

v7=459

v3 v4 v5 v2

2

3 31

29

v3 v4

v5=492

v2

2

3

33

v4=492 3

1612

Page 8: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

The following v3 is the most likely to be chosen to expand the next vertex. Now faced with only one vertex that has not been traversed, v2. Then the tour is finished so it will return to v1 vertex. So the order of traversal is: v1 v9 v8 v6 v7 v5 v4 v3 v2 v1

87 41 83 48 30 63 28 35 77

So the total cost of the trip in the graph is: 87 + 87 + 83 + 48 + 30 + 63 + 28 +35 +77 = 492. That means, someone's tour starts from the city: Bandung Cianjur Sukabumi Bogor Cileungsi Bekasi Karawang Cikampaek Purwakarta Bandung. So the total cost of the trip is Rp. 492,000, 00 (Total estimated cost of Premium BBM used throughout the trip). 6. Conclusion

The proposed method, which uses Branch and Bound, is better because it prepares matrices in different steps. At each step the matrix costs are calculated. From starting the starting point to knowing that what can be the minimum tour fee. Costs at the initial stage are still uncertain but provide some ideas because costs are approached. Each step is given a strong reason that which vertex must be passed next from the vertex that has not been passed. In this case to provide an expansion of certain vertex costs. So as to provide the total cost of the trip. References

D.S. Johnson and L.A. McGeoch, “The Traveling Salesman Problem: A Case Study in Local Optimization”,

November 20, 1995. D.S. Johnson and L.A. McGeoch, “Experimental Analysis of Heuristics for the STSP”, The Traveling Salesman

Problem and its Variations, Gutin and Punnen (eds), Kluwer Academic Publishers, 2002, pp. 369-443. D.S. Johnson, L.A. McGeoch, E.E. Rothberg, “Asymptotic Experimental Analysis for the Held -Karp Traveling

Salesman Bound” Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms, 1996, pp. 341-350.

S. Arora, “Polynomial Time Approximation Schemes for Euclidian Traveling Salesman and Other Geometric Problems”, Journal of the ACM, Vol. 45, No. 5, September 1998, pp. 753-782

Archit Rastogi, Ankur kumar shrivastava,et.all, A Proposed Solution to Travelling Salesman Problem using Branch and Bound, International Journal of Computer Applications (0975 –8887) Volume 65–,pp. 44-49 2013

E. Balas, Paolo Toth,Branch and Bound methods for the travelling salesman, problem,Management Science Research Report,1983

Richard Wiener: Branch and Bound Implementations for the Traveling Salesperson Problem - Part 1, in Journal of Object Technology, vol. 2, no. 2, March-April 2003, pp. 65-86. http://www.jot.fm/issues/issue_2003_03/column7

Suyudi, M., Sukono, Mamat, M., and Bon, A.T. Branch and Bound Algorithm for Finding the Maximum Clique Problem. Proceedings of the International Conference on Industrial Engineering and Operations Management, Volume 2018-March, 2018, Pages 2734-2742

Suyudi, M.,Mamat, M.,Sukono,and Supian, S. Branch and Bound for the Cutwidth Minimization Problem. Journal of Engineering and Applied Sciences, Volume 12, Issue Special Issue1, 2017, Pages 5684-5689.

Suyudi, M.,Mamat, M., and Sukono. An Efficient Approach for Traveling Salesman Problem Solution with Branch-and-Bound. Proceedings of the International Conference on Industrial Engineering and Operations Management, 2016, Pages 543-546.

Tucker, A.. Applied Combinatorics. Wiley, New York, 2002

v3=∞ v2=∞ 36

v3=492 v2=∞

3

1613

Page 9: Solving Traveling Salesman Problems Using Branch and Bound … · 2019-08-05 · 4. Branch and Bound Method . Branch and Bound algorithms are often used to find optimal solutions

Proceedings of the International Conference on Industrial Engineering and Operations Management Pilsen, Czech Republic, July 23-26, 2019

© IEOM Society International

Winston, W. Operations Research_ Applications and Algorithms. Duxbury, Belmont, CA. 2004 W. Zhang, “Depth-First Branch-and-Bound versus Local Search: A Case Study”, Information Sciences Institute and

Computer Science Department University of Southern California. Biographies Mochamad Suyudi, is a lecturer at the Department of Mathematics, Faculty of Mathematics and Natural Sciences, Universitas Padjadjaran. Bachelor in Mathematics at the Faculty of Mathematics and Natural Sciences, Universitas Padjadjaran, and Master in Mathematics at the Faculty of Mathematics and Natural Sciences, Universitas Gajah Mada. Currently pursuing Ph.D. program in the field of Graphs at Universiti Sultan Zainal Abidin(UNISZA) Malaysia Terengganu. Mustafa Mamat is a lecturerin the Faculty of Informatics and Computing, Universiti Sultan Zainal Abidin, Malaysia. Currently serves as Dean of Graduate School Universiti Sultan Zainal Abidin, Terengganu, Malaysia. The field of applied mathematics, with a field of concentration of optimization. Sukono is a lecturer in the Department of Mathematics, Faculty of Mathematics and Natural Sciences, Universitas Padjadjaran. Currently serves as Head of Master's Program in Mathematics, the field of applied mathematics, with a field of concentration of financial mathematics and actuarial sciences. Abdul Talib Bon is a professor of Production and Operations Management in the Faculty of Technology Management and Business at the Universiti Tun Hussein Onn Malaysia since 1999. He has a PhD in Computer Science, which he obtained from the Universite de La Rochelle, France in the year 2008. His doctoral thesis was on topic Process Quality Improvement on Beltline Moulding Manufacturing. He studied Business Administration in the Universiti Kebangsaan Malaysia for which he was awarded the MBA in the year 1998. He’s bachelor degree and diploma in Mechanical Engineering which his obtained from the Universiti Teknologi Malaysia. He received his postgraduate certificate in Mechatronics and Robotics from Carlisle, United Kingdom in 1997. He had published more 150 International Proceedings and International Journals and 8 books. He is a member of MSORSM, IIF, IEOM, IIE, INFORMS, TAM and MIM.

1614