THE TRAVELING SALESMAN PROBLEM AND ITS APPLICATIONS

75 517 0
THE TRAVELING SALESMAN PROBLEM AND ITS APPLICATIONS

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

VIETNAM NATIONAL UNIVERSITY UNIVERSITY OF SCIENCE FACULTY OF MATHEMATICS, MECHANICS, AND INFORMATICS Dinh Thi Thu THE TRAVELING SALESMAN PROBLEM AND ITS APPLICATIONS Undergraduate Thesis Advanced Undergraduate Program in Mathematics Hanoi - 2012 VIETNAM NATIONAL UNIVERSITY UNIVERSITY OF SCIENCE FACULTY OF MATHEMATICS, MECHANICS, AND INFORMATICS Dinh Thi Thu THE TRAVELING SALESMAN PROBLEM AND ITS APPLICATIONS Undergraduate Thesis Advanced Undergraduate Program in Mathematics Thesis advisor: Dr. Hoang Nam Dung Hanoi - 2012 Abstract Together with the dramatic development of science and technology, the optimization problem has been appearing more and more with highly complicated computation. Range and applicable ability of the optimization problem are more diverse and abun- dant. The traveling salesman problem (TSP for short) is representative for a large class of problems known as NP-hard combinatorial optimization problems. The traveling salesman problem is stated as follows: There are n cities. A salesman must visit all cities, each city exactly once, and return to the starting one. The distance (cost) between each pair of the cities is given. The traveling salesman problem is to find the shortest tour. The Ireland mathematician William Rowan Hamilton and the British mathe- matician Thomas Kirkman defined the traveling salesman problem in the 19 century. Mathematicians in Vienna and Harvard studied the first general instance of TSP in the 1930s. One of them was Karl Menger who defined the problem and considered the most obvious algorithm for TSP. He also found that the nearest neighbour algorithm is not optimal. After that, the name ”traveling salesman problem” was named by Hassler Whitney at Princeton University. This problem has been studied by many researchers in the fields of mathematics, computer sciences, chemistry, physics, and other sectors so far. The traveling salesman problem has many applications in real life. The TSP naturally arises as a sub-problem in many transportation and logistic applications, for example the problem of arranging school bus routes to pick up the children in a school district. A TSP application from the 1940s involved the transportation of farming equipment from one location to another to test soil. More recent applications involve the delivery of meals to homebound persons, the scheduling of stacker cranes in warehouses, the routing of trucks for parcel post pickup, and a host of others. A classic example is the scheduling of a machine to drill holes in a circuit board or other object (see http://www.tsp.gatech.edu/apps/index.html). The purpose of this thesis is to understand the basic of TSP problem and its applications in real life. The thesis is mainly written based on the existing knowledge in [3], [16], [17], [18], [21], and other documents in bibliography. The thesis consists of four main chapters: Chapter I deals with the history of traveling salesman problem. In this chapter, we give an overview of the historical development of this problem. 1 Chapter II refers to the basic issues of the traveling salesman problem, from the formal mathematical definitions to approximation methods in order to find an approximation to the optimal solution. More precisely, this chapter deals with definition, complexity, heuristics, cutting plane, and branch and bound methods. Chapter III deals with applications of the traveling salesman problem. This chapter refers to the practical applications of this problem in real life. Within the framework of this thesis, we only mention four applications closed to real life. They are applications in Hanoi tourism, vehicle routing, computer wiring, and job-shop scheduling. Chapter IV shows out a very interesting application which is called TSP-Face. Start- ing with an image, we will transform it into many discrete points and then create that image again by finding a tour passing all the points, each one exactly once. The image we obtain is actually an imitative picture of the given one. 2 Acknowledgements I would like to express my sincere thank to my thesis advisor Dr. Hoang Nam Dung for his precious comments, invaluable assistance, and insights leading to the writing of this thesis. I also want to thank to my friends, especially Hoang Anh Duc for their supports and encouragement. And last but not least, I especially thank to my family for their care, encour- agement, and supports. Dinh Thi Thu Hanoi, October 2012. 3 Contents Abstract 1 Acknowledgements 3 1 History of The Traveling Salesman Problem 6 2 The Traveling Salesman Problem 9 2.1 Definitions of The Traveling Salesman Problem . . . . . . . . . . . . . 9 2.1.1 Formal Mathematical Definition . . . . . . . . . . . . . . . . . . 9 2.1.2 Integer Programming Formulation . . . . . . . . . . . . . . . . . 10 2.2 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 TSP is NP-hard . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3 Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.1 Nearest Neighbour Search . . . . . . . . . . . . . . . . . . . . . 19 2.3.2 Twice Around The Tree Heuristic . . . . . . . . . . . . . . . . . 20 2.3.3 Christofides Heuristic . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.4 Improvement Heuristics . . . . . . . . . . . . . . . . . . . . . . 27 2.4 Cutting Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.4.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.5 Branch and Bound Methods . . . . . . . . . . . . . . . . . . . . . . . . 36 2.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.5.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3 Applications of The Traveling Salesman Problem 47 3.1 Hanoi Tourism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.2 The Basic Vehicle Routing Problem . . . . . . . . . . . . . . . . . . . . 51 3.3 Computer Wiring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.4 Job-shop Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4 TSP-Face 60 4 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.2 Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Conclusion 70 Bibliography 72 5 Chapter 1 History of The Traveling Salesman Problem This chapter deals with history of the traveling salesman problem. It provides an overview of the historical development of this problem. The knowledge presented here is based on the given one in [15]. The origin of the traveling salesman problem is unknown. A handbook for the sales was published in 1832 mentioned this problem and gave examples of cycles in Germany and Switzerland, but did not contain any mathematical content. The traveling salesman problem was defined in the 19th century by the Ireland mathematician William Rowan Hamilton and the British mathematician Thomas Kirk- man. General instance of TSP was firstly studied by mathematicians in Vienna and Harvard in the 1930s, especially Karl Menger, who defined the problem, considered the most obvious algorithm for TSP, and found that the nearest neighbor algorithm is not optimal. Hassler Whitney at Princeton University named the traveling salesman problem after that. TSP problem has been studied by many researchers in the fields of mathemat- ics, computer sciences, chemistry, physics, and other sectors so far. In the 1950s and 1960s, the problem became popular in scientific research in Europe and United States of America. George Dantzig, Delbert Ray Fulkerson, and Selmer M. Johnson at the RAND Corporation in Santa Monica made important contributions to this problem, performed TSP problem as a whole, and offered cutting plane method to find a solu- tion. With this new method, they solved an instance of 49 cities by building a cycle and proved that there is no shorter cycle. In 1972, Richard M. Karp proved that the Hamiltonian cycle problem is NP-complete. It implies that TSP problem is NP- complete. This is a mathematical explanation for the difficulty in finding the shortest 6 cycle. A big step was made in the late 1970s and 1980s when Gr¨otschel, Padberg, Rinaldi, and their colleagues solved the instances up to 2392 cities, using cutting plane methods and branching. In the 1990s, Applegate, Bixby, Chvatal, and Cook devel- oped a program called Concorde. It has solved many instances with large number of cities. In 1991, Gerhard Reinelt published a set of data of different levels of difficulty called TSPLIB which contains 110 examples with sizes from 14 cities up to 85, 900 cities. It has been used by several research groups to compare results. The largest solved instance of TSP consists of a tour through 85, 900 cities in a VLSI application that arose in Bell Laboratories in the late 1980s. The computation with Concorde was carried out in June 2005 and reported in the book [17]. The instance is called pla85900 in Gerd Reinelt’s TSPLIB; the shortest possible tour for the problem has length 142,382,641 units. With the solution of pla85900, the complete TSPLIB collec- tion of challenge problems has now been successfully solved with the Concorde code (see http://www.tsp.gatech.edu/pla85900/index.html). In many other cases with millions of cities, people have found the solution with a gap of not more than 1% from optimal solution. A very nice challenge was given by Robert Bosch in February 2009. He created a 100,000-city instance of TSP that provides a representation of Leonardo da Vinci’s Mona Lisa as a continuous-line drawing. Techniques for developing such point sets have evolved over the past several years through work of Bosch and Craig Kaplan. An optimal solution to the this problem would set a new world record for the TSP. The current best- known result for the Mona Lisa TSP, whose length of tour is 5, 757, 191 units with gap of 0.0019%, was found on March 17, 2009 by Yuichi Nagata. Figure 1.1: Mona Lisa TSP 7 The prize of 1000 dollars has been offering since 2009 to the first person who finds a tour shorter than the best-known one (see http://www.tsp.gatech.edu/data/ml/ monalisa.html). 8 [...]...Chapter 2 The Traveling Salesman Problem 2.1 Definitions of The Traveling Salesman Problem In this part, we consider the formula of the traveling salesman problem in two ways which are the formal mathematical formula and the integer programming formula The knowledge presented here is based on the given one in [17] and [20] The traveling salesman problem is stated as follows: There are n cities A salesman. .. basic variable and the xj ’s are the nonbasic variables Rewrite this equation so that the integer parts are on the left hand side and the fractional parts are on the right hand side aij xj − ¯i = ¯i − ¯i − ¯ b b b xi + j∈N (¯ij − aij )xj a ¯ j∈N For any integer point in the feasible region the right hand side of this equation is less than 1 and the left hand side is an integer Therefore, the common value... containing some tape symbol s, and the action depends on the pair (q,s) and is specified by Γ The action has three missions including printing a symbol on the scanned squared, moving the head left or right one square, and assuming a new state If δ(q, s) = (q , s , h) the interpretation is that if M is in state q scanning the symbol s then q is the new state, s is the symbol printed, and the tape head moves left... exactly once, and return to the starting one The distance (cost) between each pair of the cities is given The traveling salesman problem is to find the smallest (cheapest) tour The mathematical structure is a graph where each city is denoted by a point (a node) and a direct connection between two nodes is represented by an edge with cost on it If the salesman can go from every city to every other cities... if and only if F is satisfiable The idea here is to construct an exclusive-or gadget The reduction is as follows • Enter and leave through a and b, or • Enter and leave through c and d 16 To strip the nodes of the gadget, a Hamilton cycle must do exactly one of the following • For each variable xk there are two nodes as shown in the middle diagram Call these two nodes supernodes to distinguish them... discussed here mainly concern the symmetric traveling salesman problem To get the good understanding about this method we study two main features which are construction of heuristic and improvement heuristic, by considering small examples The knowledge presented here is based on the given one in [3], [10], [14], [19], and [21] As we presented in the previous section 2.1, the mathematical structure of TSP... with the vertex on one side and all feasible integer points on the other This is then added as an additional linear constraint to exclude the vertex found, creating a modified linear programming program The new program is then solved and the process is repeated until an integer solution is found In this method, we use the simplex method to solve a linear program produces a set of equations of the form... the nodes in the exclusive-or gadgets • Similarly, each clause has three supernodes with three paths as in the right diagram All of the supernodes are connected in all possible ways by edges (these edges are not shown) • For the xor gadgets: + If the ith clause has literal lij = xk (or xk ) then attach an exclusive-or gadget ¯ Nodes a and b are attached to the two variable supernodes, and nodes c and. .. observe that the smallest distance from node 1 to others is 7 denoted by 1 −→7 5 Then we get the first part of the tour 1 − 5 Similarly, from node 5 5 −→6 2 5 −→6 4 We get 2 choices 1−5−2 1 − 5 − 4 Suppose we take the first choice, continue finding the smallest distance from node 2 to others and obtain 2 −→5 4 19 The route now is 1 − 5 − 2 − 4 From node 4 4 −→5 2 4 −→6 5 4 −→8 3 Observe that 8 is not the smallest... NP-complete and Hamilton cycle is NP-complete Before proving those above, we need to define the problem precisely We first deal with the definitions of P, NP, NP-hard, and NP-complete classes We also focus on Turing machine that is one of the most important things used to define P and NP classes That is the standard computer model in computability theory, introduced by Alan Turing in 1936 The knowledge . of the cities is given. The traveling salesman problem is to find the shortest tour. The Ireland mathematician William Rowan Hamilton and the British mathe- matician Thomas Kirkman defined the traveling. 3 1 History of The Traveling Salesman Problem 6 2 The Traveling Salesman Problem 9 2.1 Definitions of The Traveling Salesman Problem . . . . . . . . . . . . . 9 2.1.1 Formal Mathematical Definition. Switzerland, but did not contain any mathematical content. The traveling salesman problem was defined in the 19th century by the Ireland mathematician William Rowan Hamilton and the British mathematician

Ngày đăng: 07/04/2015, 13:13

Từ khóa liên quan

Mục lục

  • Abstract

  • Acknowledgements

  • 1 History of The Traveling Salesman Problem

  • 2 The Traveling Salesman Problem

    • 2.1 Definitions of The Traveling Salesman Problem

      • 2.1.1 Formal Mathematical Definition

      • 2.1.2 Integer Programming Formulation

      • 2.2 Complexity

        • 2.2.1 Definition

        • 2.2.2 TSP is NP-hard

        • 2.3 Heuristics

          • 2.3.1 Nearest Neighbour Search

          • 2.3.2 Twice Around The Tree Heuristic

          • 2.3.3 Christofides Heuristic

          • 2.3.4 Improvement Heuristics

          • 2.4 Cutting Planes

            • 2.4.1 Introduction

            • 2.4.2 Example

            • 2.5 Branch and Bound Methods

              • 2.5.1 Introduction

              • 2.5.2 Examples

              • 3 Applications of The Traveling Salesman Problem

                • 3.1 Hanoi Tourism

                • 3.2 The Basic Vehicle Routing Problem

                • 3.3 Computer Wiring

                • 3.4 Job-shop Scheduling

                • 4 TSP-Face

                  • 4.1 Introduction

Tài liệu cùng người dùng

Tài liệu liên quan