Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
The warehouse traveling salesman problem and its application
(USC Thesis Other)
The warehouse traveling salesman problem and its application
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
The Warehouse Traveling Salesman Problem and Its Application by Jiachuan Chen A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (Industrial and Systems Engineering) December 2019 Copyright 2019 Jiachuan Chen Acknowledgements The period of four and a half years at University of Southern California is an unforgettable journey in my life, which, like many others, is filled with confusion and excitation. It is the company and help from many people around me that support and help me to finish this journey. One of the most important persons that I would like to express my deepest respect and gratitude to is my advisor, Professor John Gunnar Carlsson. He is such an amazing person that you can always learn from, such as his innovative thinking, beautiful writing and impressive mentorship. However, the most invaluable things attracting me are his great personality to all others and his enthusiasm towards work and life. I feel so fortunate to be able to join his research group and learn a lot from him. Additionally,Iwouldliketoexpressmythankfulnesstomydefenseandqualifyingcommitteemembers-Professor Maged Dessouky, Professor Mahdi Soltanolkotabi, Professor Yong Chen and Professor Meisam Razaviyayn. They provided indispensably insightful suggestions on my research topic, which helps me finish this dissertation. Moreover, I would also give my sincere thank to Dr Denial Karapetyan at University of Essex, who provided me with the direction of the meta-heuristic algorithm in this dissertation. It is my privilege to be a member in Professor Carlsson’s group, which is full of talented persons. They always gave me useful advices regarding to courses, researches, and jobs. I would like to show my thankfulness to all of them - Siyuan Song, Xiangfei Meng, Ye Wang, Bo Jones, Mohammad Javad Azizi, Haochen Jia, Shannon Sweitzer, Yue Yu. Last but not least, thanks to my parents and my girlfriend Liuhan Huang. It is their support and company that encourage me to arrive the destination of this amazing journey. ii Table of Contents Acknowledgements ii List Of Tables v List Of Figures vi Abstract x Chapter 1: Introduction 1 Chapter 2: Literature Review 6 2.1 Research on TSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Research on Generalized TSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Research on Warehouse Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Research on Traveling Purchaser Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5 Research on Prize Collecting TSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Chapter 3: Transformation from WTSP to GTSP 16 3.1 Transformation from SSTSP with Fixed Depot to GTSP . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 Transformation from WTSP with Fixed Depot to GTSP . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Transformation from WTSP to GTSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Chapter 4: Transformations from Variants of PCTSP to GTSP 35 4.1 Transformation from PCTSP to GTSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2 Transformation from PCTSP with Vertex Equality Constraint to GTSP . . . . . . . . . . . . . . . . 41 4.3 Transformation from PCTSP with Vertex Inequality Constraint to GTSP . . . . . . . . . . . . . . . 46 Chapter 5: Conditional Markov Chain Search(CMCS) 57 5.1 Algorithmic Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.2 CMCS Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.3 CMCS Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.4 CMCS Special Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.5 Exact CMCS Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.6 CMCS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Chapter 6: Numerical Experiments on WTSP 71 6.1 WTSP on Randomly Generated Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.2 WTSP on GTSP Modified Benchmark Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.3 CMCS Configuration Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.4 CMCS on GTSP Benchmark Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 iii Chapter 7: Application on Warehouse Random Stow Strategy 93 7.1 Amazon’s Kiva System vs. WTSP Warehouse System . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.2 Simulation on Kiva Warehouse and WTSP Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.2.1 Experiment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.2.2 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Chapter 8: Conclusion 103 Chapter 9: Future Research 105 Reference List 107 iv List Of Tables 1.1 Notational Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.1 Setting of Hyper-parameters and Termination Conditions . . . . . . . . . . . . . . . . . . . . . . . . 68 6.1 Comparison Results for Randomly Generated Instances . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.2 Comparison Results for Benchmark Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.3 Comparison Results between Different Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.4 Results of CMCS Solver on the GTSP Benchmark Instances . . . . . . . . . . . . . . . . . . . . . . . 90 7.1 The Warehouse Fulfillment Simulation Results Using the WTSP and the Kiva Systems . . . . . . . . 100 7.1 The Warehouse Fulfillment Simulation Results Using the WTSP and the Kiva Systems . . . . . . . . 101 7.1 The Warehouse Fulfillment Simulation Results Using the WTSP and the Kiva Systems . . . . . . . . 102 v List Of Figures 1.1 InbothFigure1.1aandFigure1.1b, there are6sets ofpointsas indicatedby thenumber. Figure1.1a is the WTSP finding a shortest tour that visits two points of clusters 1 and 6 respectively, as well as one point of each cluster 2, 3, 4, 5. Figure 1.1b is the GTSP tour searching for a shortest tour that visits only one point of each cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 In the above two figures, rectangles with same color refer to same products. Figure 1.2a represents the traditionally organized warehouse where same products are stored together at a specific location. Figure 1.2b illustrates the random stow in which same products can be placed at different locations. Note that if an order includes yellow product and red product, the warehouse runner has to move from the bottom right position to the top left position to pick up them as shown in Figure 1.2a. The route has an obviously long distance. However, since all products can be considered to be randomly distributed, it has a higher probability that different products are fairly close to each other as shown in Figure 1.2b. Thus, this random strategy could benefit the runner in terms of reducing the overall running distance in the long term. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 This picture is taken from Dr. Kay’s personal website http://www4.ncsu.edu/ kay/Warehousing.pdf. A, B and C in the pictures above represent three different types of SKUs, and each picture shows the storage area for SKUs under different storage policies. The dedicated storage policy determines a particular predetermined location for each product to be stored. In randomized storage policy, each SKU can be stored in any available location. The class-based policy is a combination of dedicated and randomized storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1 Example of SSTSP, n = 10,m = 3. This figure illustrates an example that there are n = 10 vertices and the SSTSP aims to find the shortest closed tour that visits m = 3 vertices. The red tour shown is the SSTSP tour. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 (a) depicts the case that there is one fixed depot v 0 and four vertices v 1 ,...,v 4 . We are required to find a shortest tour with 2 vertices in addition tov 0 while starting from and ending at v 0 . (b) shows the vertices created by the construction rule. In (c), all edges are directed. The dotted line in V 0 means the vertices inV 0 are fully connected with weights defined by step (v). An example of step (vi) is that v 0 1 connects to all ¯ v 0 j , 1≤j≤ 4 with distance w(1, 0). An edge between a point ¯ v i ∈ ¯ V 0 and a point d j ∈ D 0 has double-headed arrow, which means that ¯ v 0 i can reach to d 0 j , and d 0 j can reach to ¯ v i 0 . The weights of all of these edges with double-headed arrow are 0 according to step (vii) and step (viii). Notice that there is no edge among vertices in ¯ V 0 and no edge among vertices in D 0 . Based on (xi), v 0 j and ¯ v 0 j belong to same cluster, for each 1≤j≤ 4, and all other clusters are single element clusters. (d) shows a GTSP tour in G 0 , which reflects that the SSTSP is (v 0 ,v 1 ,v 2 ) in (a). . 18 vi 3.3 (a) is a WTSP example with a fixed depot v 0 , where m = 3,C 1 ={v 1 ,v 2 },C 2 ={v 3 ,v 4 },C 3 = {v 5 ,v 6 ,v 7 },t 1 = 1,t 2 = 1,t 3 = 2. (b) consists of all the created vertices according to step (iii). In (c), for each vertex v 0 i in V 0 , the multiple directed edges starting from v 0 i mean that v 0 i can reach to any vertices in ¯ V 0 with same weight w(i, 0). The dotted line in V 0 means that they are fully connected with distance given by step (v). In (d), since Cl(¯ v 0 1 ) = Cl(¯ v 0 2 ) = 1, they can only connect to any vertex in D 0 1 ={d 0 1 } with distance 0 according to step (vii). However, any vertex in D 0 can connect to any vertex in ¯ V 0 with distance 0 represented by the multiple directed edges from any vertex inD 0 . (e) shows that any vertex in D 0 can connect to the fixed depot v 0 0 with length 0. Based on (xi), v 0 j and ¯ v 0 j belong to same cluster, for each 1≤j≤ 7, and all other clusters are single element clusters. (f) provides the GTSP solution in G 0 , which reflects that the WTSP is (v 0 ,v 2 ,v 3 ,v 6 ,v 5 ) in (a). . . . 25 3.4 (a) is a WTSP example, where m = 3,C 1 ={v 1 ,v 2 },C 2 ={v 3 ,v 4 },C 3 ={v 5 ,v 6 ,v 7 },t 1 = 1,t 2 = 1,t 3 = 2. (b) consists of the created vertices according to step (iii). In (c), vertices in S 0 make up a cycle by step (iv). (d) shows the ways of connection fromV 0 toS 0 according to step (vi). For brevity, we only show the connective ways for v 0 1 . For other vertices, we use multiple directed edges from a vertex to represent that one vertex in V 0 connects to all vertices in S 0 with the weights defined in step (vi). Also the dotted line in V 0 means that vertices in V 0 are fully connected. In (e), it depicts that any vertex in S 0 can connect to any vertex in ¯ V 0 with weight 0. (f) shows the connective ways between ¯ V 0 andD 0 as described in step (viii) and step (ix). (g) and (h) show that D 0 can connect to S 0 andS 0 can connect toV 0 respectively, according to step (x) and step (xi). (i) provides the GTSP tour in G 0 that reflects that the WTSP is (v 1 ,v 5 ,v 3 ,v 6 ) in (a). . . . . . . . . . . . . . . . . . . . . . 31 4.1 There are 10 vertices in the graph and each vertex v i has its prize p i . The distance/cost from v i to v j is w ij . The PCTSP tour is shown in the graph where it starts from and ends in depot v 0 . . . . . . 36 4.2 (a) illustrates the PCTSP that will be solved. There are five points v 1 ,...,v 5 and a fixed depot v 0 . The prize of each pointv j isp j , 0≤j≤ 5. (b) shows the total points created in G 0 based on step (i) and step (ii). In (c), the points amongV 0 are connected by dotted segments indicating that they are fully connected with the weights defined in step (iv). (d) demonstrates the step (v). For example, the multiple outward edges from vertex v 1 mean that v 1 can connect to all the points in ¯ V 0 with distance w(i, 0). (e) provides an explanation of the step (vi), where the dotted segments also mean that the points in ¯ V 0 are fully connected with distance defined in the step (vi). The last figure (f) depicts the step (vii). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.3 (a) illustrates the PCTSP eq (G, 3) that will be solved. There are five points v 1 ,...,v 5 and a fixed depot v 0 , and exactly 3 vertices in{v 1 ,...,v 5 } are required to be visited. The prize of each point v j is p j , 0≤ j≤ 5. (b) shows the total points created in G 0 based on step (iii). (c) illustrates the step (iv). In (d), the points among V 0 are connected by dotted segments indicating that they are fully connected with the weights defined in step (v). (e) demonstrates the step (vi). For example, the multiple outward edges from vertex v 0 1 mean that v 0 1 can connect to all the points of ¯ V 0 with distancew(i, 0). (f) provides the explanation of the step (vii) and (viii), where the multiple outward edges from vertex ¯ v 0 j , 1≤j≤ 5 indicate that ¯ v 0 j can connect to any points in D 0 with same distance p j . The multiple outward edges from each d 0 j with no shown weight mean that d 0 j can connect to any points in ¯ V 0 with distance 0. The last figure (g) depicts the step (ix). The solid directed edge without weight means the weight is 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4 Plots (a)-(g) in this figure are same as those in Figure 4.3. We have one more plot (h) compared with Figure 4.3. In (h), step (x) is illustrated. Particularly, the dotted segments among points in ¯ V 0 mean that they are fully connected with weights defined in the step (x). . . . . . . . . . . . . . . . . 48 vii 4.5 Plots (a)-(g) are same as those in Figure 4.4. Only plot (h) is different from that in Figure 4.4. In (h), step (x) is illustrated. Particularly, the dotted segments among points in D 0 mean that they are fully connected with weight 0 defined in the step (x). . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.1 Figure 6.1 depicts the ratio of the objective value solved by each solver(GLKH, GLNS, CMCS) compared to the best objective value (among these three solvers) on each instance. For smaller instances, GLNS performs better than GLKH, but for larger instances, GLKH performs better than GLNS. In most instances, CMCS is always the best solver. . . . . . . . . . . . . . . . . . . . . . . . . 72 6.2 In Figure 6.2, instances are divided into four sets based on their numbers of clusters: [10, 30), [30, 50), [50, 70), [70,100]. For each range, the proportion that each solver behaves as the best solver is depicted, e.g., for the instances with number of clusters less than 30, both GLNS and CMCS are the best solvers for nearly 80% of these instances. For roughly 10% of these instances, GLNS is the uniquely best solver, and CMCS performing as the uniquely best solver accounts for roughly 5% of these instances. There are also about 5% instances left that all of three solvers have same performance on. Other combinations of solvers have no proportion, so there is no corresponding label for them in the legend. One can observe that as the number of clusters increases, CMCS outperforms the other two solvers more obviously. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.3 Figure 6.3 depicts the proportion that each solver performs as the best solver. Note that the legend only lists five combinations of solvers. For other combinations not shown in the legend, they have no proportion. For around 74% of instances, CMCS is the only best solver among the three solvers, and CMCS performs as the best solver for about 97% of test instances. . . . . . . . . . . . . . . . . . 74 6.4 Figure 6.4 depicts the ratio of the objective value solved by each solver(GLKH, GLNS, CMCS) compared to the best objective value (among these three solvers) on each instance. For smaller instances, GLNS performs better than GLKH, but for larger instances, GLKH performs better than GLNS. In most cases, CMCS is always the best solver. . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.5 In Figure 6.5, instances are divided into five sets based on their numbers of clusters: [3, 30), [30, 50), [50, 70), [70,100), [100, 217]. For each range, the proportion that each solver behaves as the best solver is depicted, e.g., for the instances with number of clusters less than 30, CMCS is the uniquely best solver among these three solvers for roughly 5% of these instances. For nearly 46% of these instances, both GLNS and CMCS can achieve the best objective values among these three solvers. For another 49% of these instances, all of three solvers have same performance. One can observe that as the number of clusters increases, CMCS outperforms the other two solvers more significantly. . . . 83 6.6 Figure 6.6 depicts the proportion that each solver performs as the best solver. For about 42% of instances, CMCS is the only best solver among such three solvers, and CMCS can obtain the best found value of these three solvers for about 99% of test instances. . . . . . . . . . . . . . . . . . . . . 84 7.1 This sketch is reproduced from [80], representing the automated warehouse using Kiva. There are threemajorcomponentsinaKivawarehouse-(1)greensquares, whichdenoteverticalpallets/shelves containingdifferentSKUs(onesinglepallet/shelfcontainsseveraldifferentSKUs), (2)orangesquares, which denote Kiva robots, and each Kiva is able to carry an entire pallet/shelf and move around, (3) Blue squares, which denote stations. When a particular item in an order is requested, a Kiva is assigned to carry a pallet/shelf which contains that item to the station, and human workers at stations will manually pick up the SKUs needed to fulfill the order, then the pallet/shelf will be carried back to the storage area by a Kiva. Notice that the returning position and the carrying Kiva may not be the original ones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 viii 7.2 This is the layout of the JD’s warehouse. There are two areas - Storage Area, Picking Area. The Storage Area is a 80× 200 square meters rectangle and will constantly provides SKUs to the Picking Area. The Picking Area has 120× 200 square meters and the warehouse pickers will pick up the required items in it. The thin blue rectangles in the Picking Area are the pallets/shelves. Near the border of the Picking Area, there are several stations that workers can carry SKUs to. . . . . . . . 96 7.3 First, let’s look at Figure 7.3a. In this warehouse applying the Kiva system, we have n = 10 different types of SKUs labeled from 1 to 10 and 8 shelves, and each shelf contains 4 types of SKUs. Suppose we need to fulfill an order that contains{1, 4, 7, 9, 10}, then the Kiva robots will need to visit some nearestshelvesregardingtothedistancefromthestationtotheshelvesthatcontainalloftherequired SKUs. Note that the Kiva carries an entire shelf to the station one at a time and then carries it back. However, we can still solve this problem as a WTSP instance by modifying the distance matrix. Exactly speaking, for each pair of points from two different shelves, the distance between them is the distance from the station to one point plus the distance from the station to another point, as indicated in Figure 7.3b. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 ix Abstract The traveling salesman problem (TSP) is a famous problem providing fundamental tool to many practical fields, including the transportation, the delivery service, the supply chain, the manufacturing, etc. To adapt to different real world problems, some variants of the TSP have been proposed and attracted much attention among researchers. One particular problem is called the generalized traveling salesman problem (GTSP) whose goal is to select one point each from multiple sets of points and come up with a tour with the minimum length. In this dissertation, we will propose a new variant of the TSP, called the warehouse traveling salesman problem (WTSP), which is an extension of the GTSP and arises because of the occurrence of Amazon’s random stow. Random stow is a type of Amazon’s warehouse applying randomized strategy, in which the storage of products can be considered to be placed randomly. When an order arrives, the worker will pick up the required number of items in the order by moving back and forth in the random stow. The WTSP is to help the worker find the shortest tour whiling completing the order fulfillment. To solve the WTSP, we propose two methods. The first one is to transform the WTSP to the GTSP so that one can deploy the state-of-the-art GTSP solvers to solve the transformed GTSP problem. We also develop a meta-heuristic algorithm based on the conditional Markov chain search (CMCS) algorithm to solve the WTSP directly. The numerical experiments compare these two methods, and show that CMCS based method can solve the WTSP more efficiently. To demonstrate the practical usage of the WTSP, we apply the WTSP model to the warehouse order fulfillment strategy in which a warehouse runner picks up multiple items from multiple shelves in a single run. The result indicates that a warehouse applying the WTSP model can significantly reduce the order-picking traveling costs compared to Amazon’s semi-automatic warehouse using Kiva robots to fulfill the orders. x Chapter 1 Introduction One of the fundamental concerns in the analysis of logistical systems is the trade-off between localized, independent provision of goods and services versus provision along a centralized infrastructure such as a backbone network. On the one hand, service executed at a local level features the obvious benefits of proximity and specialization, inasmuch as people and communities obtain things from locations that are close to them. Conversely, by aggregating network flows via a backbone network, individuals and communities are able to reap the benefits of economies of scale, economies of agglomeration, and economies of density. One phenomenon in which this trade-off has recently been made manifest is the transition of businesses from traditional brick-and-mortar stores to retail sales facilitated via e-commerce [4, 62, 70]. Particular recent examples include Google Shopping Express, Amazon Prime, Instacart, and Walmart To Go [16, 21, 42, 81], among many others. Particularly, in order to achieve one of the most efficient e-commerce operations in the world, Amazon sets up warehousesthatlooklikealive-actiongameofChutesandLadders-whizzingwithameticulouslycoordinatedsystem of conveyor belts, slides, and machines that do various tasks, like attaching labels to boxes and checking weight for quality control. However, inventory, on the contrary, is not organized at all. Items are not arranged by size, shipment date, or any other system. They are shelved absolutely randomly. This is called the randomized strategy. A major complication in this randomized warehouse is the difficulty of creating a model that is mathematically tractable enough to determine the shortest routing path to fulfill the order requirement. In order to address this complication, a specific problem we emphasis in this dissertation is proposed and called the warehouse traveling 1 salesman problem (WTSP), in which a family of sets of pointsC 1 ,...,C m and a sequence of pre-determined integers t 1 ,...,t m are given. One decides to find a tour with minimum length that visitst j elements ofC j for all 1≤j≤m. Note that the WTSP is a more generalized version of the generalized traveling salesman problem (GTSP) [58], since the GTSP is a special case of the WTSP whent j = 1, 1≤j≤m. A comparison between the WTSP and the GTSP is illustrated in Figure 1.1. 1 1 1 3 3 3 4 4 4 5 5 5 6 6 6 1 (a) WTSP 1 1 1 3 3 3 4 4 4 5 5 5 6 6 6 1 (b) GTSP Figure 1.1: In both Figure 1.1a and Figure 1.1b, there are 6 sets of points as indicated by the number. Figure 1.1a is the WTSP finding a shortest tour that visits two points of clusters 1 and 6 respectively, as well as one point of each cluster 2, 3, 4, 5. Figure 1.1b is the GTSP tour searching for a shortest tour that visits only one point of each cluster. The WTSP is fundamentally important in studying randomized strategy in the warehouse, in which one stores a stock keeping unit (SKU) in any available location (as opposed to designating specific regions of the warehouse for different SKUs). This is because a warehouse picker will often select multiple SKUs at a time, and can benefit if those SKUs are dispersed throughout the warehouse. Amazon, for example, calls this process random stow and attributes its rapid growth to the efficiency that is realized as a result [26]: Random stow: The storage of items in a randomised order at fulfilment centres to maximise the chance of multiple items on the same order being near each other. The fulfilment centre management 2 system knows the location of every item and is able to work out the shortest travel distance to pick the orders. (a) (b) Figure 1.2: In the above two figures, rectangles with same color refer to same products. Figure 1.2a represents the traditionally organized warehouse where same products are stored together at a specific location. Figure 1.2b illustrates the random stow in which same products can be placed at different locations. Note that if an order includes yellow product and red product, the warehouse runner has to move from the bottom right position to the top left position to pick up them as shown in Figure 1.2a. The route has an obviously long distance. However, since all products can be considered to be randomly distributed, it has a higher probability that different products are fairly close to each other as shown in Figure 1.2b. Thus, this random strategy could benefit the runner in terms of reducing the overall running distance in the long term. Figure 1.2 shows a detailed explanation of random stow. Apart from the applications above, the WTSP also plays an important role in those applications that the GTSP can model, since the GTSP itself is an instance of the WTSP. For example, our WTSP can be directly applied to model multi-stop trips made by households: on a given day, a person will often visit multiple locations on one outing (such as running errands on the way to or from one’s place of work), and each of these locations will usually have alternatives (e.g., there are usually multiple choices of which grocer or post office to use). Thus, the calculation of the “cost” of a multi-stop trip is more complicated than a mere traveling salesman tour or a sequence of direct trips to and from the various destinations and the household. For example, one might be willing to travel a long distance to visit a bank that is farther away than the nearest 3 available branch if it is located more closely to other businesses that they will also visit (say, by virtue of being located in a central business district or shopping center). The primary purpose of this dissertation is to propose new methods to solve the warehouse traveling salesman problem. • In Chapter 2, all the necessary and related literature reviews are provided. • We show how to formulate an instance of the WTSP as an instance of the GTSP that can be solved by the GTSP solver in Chapter 3. • We deploy the similar transformation techniques introduced in Chapter 3 to variants of the prize collecting traveling salesman problem, which is discussed in Chapter 4. • We develop a solver based on the conditional Markov chain search meta-heuristic algorithm to directly solve the WTSP in Chapter 5, which we call CMCS solver. • InChapter6, severaldifferentcomparisonsbetweenapplyingCMCSsolvertotheWTSPdirectlyandapplying the GTSP solver to the transformed GTSP from the WTSP are given. Moreover, the performance of CMCS solver on the GTSP benchmark instances and the performance under different settings of CMCS solver are illustrated as well in this chapter. • We apply the WTSP model to the warehouse system and compare it to an existing warehouse system using Kiva robots in Chapter 7. • Finally, we summarize the results obtained, and propose directions for the future research in Chapter 8 and Chapter 9 respectively. 4 Notational conventions The notational conventions for this dissertations are summarized in Table 1.1. We will also make use of some SSTSP(G, v 0 ) The optimal tour length of the sparse subset traveling salesman problem in the graph G with a fixed depot v 0 . GTSP(G) The optimal tour length of the generalized traveling salesman problem in the graph G. WTSP(G) The optimal tour length of the warehouse traveling salesman problem in the graph G. WTSP(G,{v 0 }) The optimal tour length of the warehouse traveling salesman problem in the graph G with a single element cluster{v 0 }. GTSP-feasible A tour is GTSP-feasible if it visits exact one vertex of each vertex set/cluster. WTSP-feasible A tour is WTSP-feasible if it visits the required number of vertices of each vertex set/cluster exactly. potentially WTSP-feasible A tour is potentially WTSP-feasible if it visits at least the required number of vertices of each vertex set/cluster. PCTSP(G) The optimal net benefit of the prize collecting traveling salesman problem in the graph G. Table 1.1: Notational Conventions standard conventions in asymptotic analysis: • We say thatf(x)∈O(g(x)) if there exists a constantc and a valuex 0 such thatf(x)≤c·g(x) for allx≥x 0 , • We say thatf(x)∈ Ω(g(x)) if there exists a constantc and a valuex 0 such thatf(x)≥c·g(x) for allx≥x 0 , and • We say that f(x)∼g(x) if lim x→∞ f(x)/g(x) = 1. 5 Chapter 2 Literature Review As discussed in Chapter 1, the warehouse traveling salesman problem is a more generalized version of the generalized traveling salesman problem, and the generalized traveling salesman problem is a variant of the traveling salesman problem. The warehouse traveling salesman problem appears because of the existence of the warehouse applying randomized strategy. This randomized warehouse is called random stow by Amazon. The warehouse traveling salesman problem can provide a shortest tour for the workers in the random stow to pick up the required products and increase the operating efficiency of the random stow. Also, by the nature of the warehouse traveling salesman problem, it can also be adjusted and used to solve the traveling purchase problem. Additionally, the transformation approaches we used in Chapter 3 can be applied to solve the prize collecting traveling salesman problem. Therefore, we will review some of the current research covering all these aspects in this chapter. 2.1 Research on TSP Thetraveling salesman problem (TSP)[46]isanoptimizationproblemthathasdrawnmuchattentionofresearchers’, particularly because it is easy to describe but difficult to solve. Briefly speaking, the TSP states that: given the number of n cities on a map and the distance between cities, a salesman has to travel through all the cites exactly once, and come back to the home city that he starts from, with the minimum traveling distance. Many practical problems in various areas can be formulated as a TSP instance. For example, a TSP can be used to model the productionofprintedcircuitboardshavingholes(cities)[6], theanalysisofthestructureofcrystals[19], thematerial 6 handling in a warehouse [83], the cutting stock problems [34], the clustering of data arrays [63], the sequencing of jobs on a single machine [36], the assignment of routes for planes of a specified fleet [11], the genome sequencing [15], and so forth. Numerous researches on the TSP have been extensively conducted, which include developing efficient and effective algorithms, and performing probabilistic analysis. As to developing effective algorithms to solve the TSP, many researchers focus on the exact solution by usually formulating an integer programming [68] and applying a branch-and-bound algorithm to explore the optimal solu- tion. The branch-and-bound process consists of finding lower bound and upper bound close enough to ensure the optimality. Any feasible solution satisfying the TSP requirement that the tour should visit all the cities once is an upper bound. To obtain a lower bound, relaxations on the integer programming are needed, and cuts will be added back into constraint sets when the feasibility of the problem is violated due to the corresponding relaxations. More applications can be found [40, 50, 71, 10]. Exact approaches are able to find the optimal solution theoretically, but huge computational effort is needed when the scale of the TSP instance increases. As a result, exact-solution methods are hard to apply to real applications with a reasonable time budget. Hence, heuristic algorithms are introduced to solve the TSP efficiently by some other researchers. Heuristic algorithms are often able to obtain a high quality solutions, called “near-optimal”, within an acceptable time. It is worth noting that heuristic algorithms usually need to introduce a starting point that is important for the solution quality. Up to now, in terms of solution quality, one of the most effective and widely used algorithms is proposed by Helsgaun [43, 44], which is based on the heuristic algorithm of Lin and Kernighan [65]. There are also many other heuristics introduced to solve the TSP, such as genetic algorithm [39], simulated annealing [1], tabu [30], evolutionary algorithm [72], neural network [79], etc. To test the performance on solving the TSP, the most commonly used benchmark instance library is called TSPLIB [84], which is created by Gerhard Reinelt. It has hundreds of instances of the traveling salesman problem with sizes ranging from 17 to 85,900 cities. Many of these instances arise from drilling holes in circuit boards, or X-ray crystallography, while others are contrived artificially [5]. Another research area of the TSP is the probabilistic analysis, specifically, asymptotic analysis of Euclidean TSP, in which the edge weight is measured by Euclidean distance. Beardwood-Halton-Hammersley (BHH) theorem [13] playsanessentialroleintheasymptoticanalysis. ItistheBHHtheoremthatprovidesapowerfultooltoapproximate 7 the length of the TSP tour for random points instead of computing the actual length. Also, BHH theorem can also be applied to other spanning graph structures such as minimal spanning tree (MST). 2.2 Research on Generalized TSP The generalized TSP (GTSP) is an extension of the TSP and has drawn much attention since 1969. It was originally introduced by Henry-Labordere [3], Srivastava et al. [97] and Saksena [90] independently in the context of the computer record balancing problem and in the routeing of clients through service agencies. The methods used by these authors were mainly based on the dynamic programming, but all having limited computational efficiency. Instead of the requirement of the TSP where each node is visited exactly once, in the GTSP, there are some disjoint sets of nodes, and one aims to find the minimum cost Hamiltonian cycle that visits exactly one node of each set. Thus, the GTSP takes alternatives into the consideration in the decision process. The GTSP has numerous applications. Noon and Bean [73] illustrated the applications such as the airport scheduling for courier planes, the order-picking in the warehouse with multiple stock locations, and certain types of flexible manufacturing scheduling. Laporte et al. [57] proposed the applications in the material flow system design, the post-box collection, the stochastic vehicle routeing. Among the applications, an interesting one is the post-box collection, which was posted by Canada Post Corporation in the late 1980’s. In this application, a postal driver needs to empty a number of mailboxes in an urban area. However, owing to a work of agreement clause that driver is prohibited to cross a street on foot to empty the mailboxes, this incurs the distance to be ill-defined if the mailboxes are at the corner of the street. The distance of two mailboxes may be different if the driver comes from South compared to coming from West, even if the two mailboxes are physically close to each other. To make the distance well-defined, the problem is modeled as a GTSP by duplicating all the mailboxes, and for each mailbox, creating a set consisting of itself and its copy. Then, the driver needs to choose one of each set to pick up the mail. Naturally, the primary focus of study on the GTSP is on finding solution of a particular problem instance in a combinatorial setting, for example [14, 57, 73, 74, 91, 101]. In general, there are mainly three possible ways: (1) finding exact solution, (2) applying transformation technique, (3) developing heuristic algorithm to find the optimal or near-optimal solution. 8 Similarly as the TSP, one promising direction to find the exact solution of the GTSP is to model it as an integer linear programming, and then to use a branch-and-bound procedure to obtain the optimal solution. Fischetti et al. developed an efficient exact branch and cut solution scheme to solve the symmetric GTSP in [32]. In their work, at each node of the branch-decision tree, a lower bound on the optimal solution value is obtained by solving an LP relaxation of the GTSP. As iteratively adding valid inequalities that are infeasible in the current LP optimal solution, the lower bound is improved correspondingly. These inequalities are identified through exact or heuristic separation procedures. Furthermore, as to searching the lower and upper bound for the asymmetric GTSP, a Lagrangian based approach was introduced by Noon and Bean [73]. In their approach, lower bound is obtained by applying Lagrangian relaxation. The upper bound is determined in a heuristic way to remove redundant arcs and nodes. The second way to solve the GTSP, as mentioned before, is to formulate the instance of the GTSP into the instance of the TSP. Lien et al. [64] firstly introduced a transformation in which the number of nodes of the transformed TSP is relatively large. In their work, they need more than three times of number of nodes as compared in the associated GTSP. Later, Dimitrijevic and Saric [29] proposed a better transformation, which could reduce the sizeofthetransformedTSP.Intheirmethod,thenumberofnodesofthetransformedTSPistwotimesasthenumber of nodes of the corresponding GTSP. Additionally, Fischetti et al. showed a non-exact transformation to convert the GTSP into the TSP in [31]. Ben-Arieh et al. [14], later, followed up the Fischetti-Salazar-Toth Transformation and provided some modifications of it. After the computational experiment and domination analysis, they also concluded that one of the modifications is better than the plain Fischetti-Salazar-Toth Transformation. Obviously, larger number of nodes means higher computational complexity. Later, a very clever transformation by maintaining the same number of nodes but rearranging all the edge weights was introduced by Noon and Bean [74]. As a result, any GTSP can be transformed into an asymmetric TSP with the same number of nodes, and one can apply a TSP solver to solve the GTSP. A well-known solver called GLKH applying this transformation technique was introduced by Helsgaun in [45]. As the solver name implies, the symbol G represents the GTSP, and LKH is the name of a famous TSP solver that was also created by Helsgaun in [43]. In the first phase of GLKH solver, it transforms the GTSP instance into the TSP instance, then it applies LKH to solve the transformed TSP instance. 9 Although these transformation techniques provide a good way to find the high quality GTSP solution, there may exist some limitations. The first one is that some transformations mentioned above may introduce the big M edge cost or negative big M edge cost to represent the infinity or the negative infinity. This may reduce the computational scalability. Moreover, as suggested by Gutin and Karapetyan in [41], although transformation approaches are usually able to generate the GTSP optimal solution by finding the optimal tour of the transformed TSP, these transformation approaches may not preserve the sub-optimal solution. In fact, the sub-optimal solution of the transformed TSP is not necessarily feasible in the corresponding GTSP. Thus, transformation approaches may not allow us to find a sub-optimal GTSP solution quickly. Because of these limitations, some other researchers focus on developing good heuristic algorithms to obtain GTSP optimal or sub-optimal solutions. Renaud et al. [86] developed a sophisticated heuristic called GI 3 (Generalized Initialization, Insertion and Im- provement), which extended I 3 heuristic. I 3 heuristic was also proposed by Renaud et al. [87] and aimed to solve the symmetric TSP. According to [87], I 3 heuristic is divided into three phases. In the phase one (initialization), one chooses one node from each cluster and builds an initial tour that passes through some, but not necessarily all, of the chosen nodes in a greedy manner. In the second phase (insertion), one completes the tour by successively inserting nodes from unvisited clusters. In the third phase (improvement) one modifies and applies 2-opt and 3-opt to improve the tour. Snyder et al. [96] proposed a random-key genetic algorithm. They combined genetic algorithm and a local search heuristic, and applied random keys to encode the solutions. In their test instances, nearly all can be solved within 1% of optimality except some large test cases. Shi et al. proposed a particle swarm optimization based algorithm for the TSP and the GTSP in [91]. In the same year, Tasgetiren et al. illustrated a discrete particle swarm optimization in [98]. In their work, they improved the solution quality by combining local search, variable neighborhood descend algorithm and the basic properties of the continuous counterpart of particle swarm optimization. Yang et al. developed a heuristic method called ant colony optimization method in [101]. In [41], Gutin and Karapetyan proposed a memetic algorithm that involves traditional genetic algorithm and a powerful way to combine local search and global search processes. Recently, Smith and Imeson [95] came up with an effective method called GLNS, which is based on adaptive large neighborhood search. The algorithm, in short, removes nodes from the tour and inserts unvisited nodes into the tour recursively. The insertion mechanism they 10 use is a generalized version which is able to contain the traditional insertion ways such as nearest insertion, furthest insertion, random insertion and cheapest insertion. Instead of solving the GTSP directly, many researchers work on developing approximation algorithms for the GTSP. Slavik [94] proposed a 3/2ρ-approximation algorithm, where ρ is the number of cities in the largest cluster. Since the bound relies on the value ofρ, the worst-case bound may be relatively weak in the case where there exists a cluster with relatively large size. Garg et al. [35] introduced a polylogarithmic approximation algorithm for the group Steiner tree problem, which also introduced an O(log 2 n log logn logk)-approximation algorithm with 1−ε confidence for the GTSP. Here, n is the number of vertices, and k is the number of clusters. Also, the edge cost must satisfy the triangle inequality. In [17, 53], they addressed the approximation algorithms for the GTSP in a special case where clusters are assumed to be in grid systems. Particularly, Khachay et al. [53] provided three schemes to find (1 +ε)-approximate solutions in polynomial time when n and k have some special relations. Here, n is the number of vertices and k is the number of clusters. Bhattacharya et al. [17] showed that that this problem has (1.5 + 8 √ 2 +ε)-approximation algorithm with complexity bound depending on n and k polynomially. 2.3 Research on Warehouse Design A warehouse requires labors, capitals, and information systems, but all of these elements are very expensive. According to Bartholdi and Hackman [12], order-picking accounts for nearly 55% of the total warehouse operating costs. Order-picking refers to the pick-up of goods from their storage locations in order to fulfill the requirements of customer orders. In order to reduce the order-picking costs, there have been many studies on the location design of the warehouse and finding optimal routes for the pickers. For example, Koster et al. [28] proposed a heuristic algorithm to find the minimal order-picking tour, under three systems - picking in narrow-aisle high-bay pallet warehouse, picking in warehouse including shelf with decentralized depositing of picked items, and picking in wide- aisle pallet warehouse. The authors compared their algorithm with S-shape routing strategy which has been used widely in practice, and concluded that their new heuristic algorithm can reduce travel time in all three situations. In addition, order batching and storage allocation strategies were analyzed by Chew et al. [23], in which they applied a travel time model with items distributed over a general location assignment in a rectangular warehouse system. 11 Later, a parallel aisle warehouse was considered by Roodbergen and De Koster in [88]. In this type of warehouse, order pickers can change aisles at some cross aisles that are usually located in the front or end of the warehouse. They developed a newly heuristic algorithm that can find shortest path in this type of warehouse, especially for the instance with more than two cross aisles. They also showed that the average pick-up time can be decreased significantly by adding cross aisles. Jewkes et al. [49] were interested in several interrelated control issues in the order-picking process. They considered the concurrent problems of: (1) product location, (2) picker home base location, and (3) allocating products to each picker so that the expected order cycle time is minimized. An easily implemented algorithm was proposed by these authors and if the product locations are fixed, the problem can be tackled by an efficient dynamic programming. Hsieh and Tsai [47] studied effects on the order-picking system performance for factors such as quantity and layout type of cross aisles in a warehouse system, storage assignment policy, picking route, average picking density inside an aisle, and order combination type, etc. They deployed a software, eM-plant, to perform the simulation and act as an analysis tool. Also, they developed a warehouse design database which can be regarded as a reference in the warehouse planning or warehouse design improvement for the industry in the future. Önüt et al. [76] designed a multiple-level warehouse shelf configuration and formulated it into a mathematical model that is NP-hard. They developed a novel heuristic, particle swarm optimization algorithm, to determine the optimal layout. In addition to directly finding an efficient method to determine the optimal order-picking routes, the efficiency of the order-picking system is also greatly dependent on the storage policy used, i.e., where the products are located in the warehouse. Generally, there are three types of storage policies: (1) dedicated storage, (2) randomized storage, and (3) class-based storage. Figure 2.1 depicts a detailed explanation of these three types. Many researchers have been working on the analysis of these storage policies. Larson et al. [60] illustrated a three-phase procedure for warehouselayoutbasedonclass-basedstoragepolicy-(1)determinationofaislelayoutandstoragezonedimensions, (2) assignment of material to a storage medium, and (3) allocation of floor space. This three-phase procedure can provide roughly 45% reduction in material handling distance. Le-Duc et al. [61] focused on the class-based storage strategy and investigated the problem of determining the optimal storage boundaries of classes in each aisle for manually operated warehouses. A probabilistic model was introduced by them, which is able to estimate the average 12 travel distance in the picking tour. They presented a mathematical formulation of the storage zone optimization problem, and proposed a heuristic to solve this optimization problem with large size. Because of the randomness, limited researches are interested in the layout optimization of the randomized storage policy. More researches have focused on travel time models in the setting of randomized storage [55, 99, 48, 78]. Figure 2.1: This picture is taken from Dr. Kay’s personal website http://www4.ncsu.edu/ kay/Warehousing.pdf. A, B and C in the pictures above represent three different types of SKUs, and each picture shows the storage area for SKUs under different storage policies. The dedicated storage policy determines a particular predetermined location for each product to be stored. In randomized storage policy, each SKU can be stored in any available location. The class-based policy is a combination of dedicated and randomized storage. 2.4 Research on Traveling Purchaser Problem There are many variants and extensions of the TSP. Similar as the GTSP mentioned in the previous section, the Traveling Purchaser Problem (TPP) is also an extension of the TSP, which was first introduced by Ramesh [82] in 1981. As a brief review, In the TSP, one aims to find a closed tour of minimum length connecting all of the given cities. Each city must be visited once exactly. In the TPP, each city can be considered as a market which sells a set of commodities at a known price. The selling price for each product depends on the host market. The TPP focuses on finding a tour through a subset of markets such that each required product is purchased and the routing costs plus purchase costs are minimized [20]. Mathematically speaking, suppose we have a set V ={1, 2,...,m} of m markets, a depot s∈V, and a set I ={1, 2,...,n} of n items. For any pair of markets, i,j∈V, let c ij denote the traveling cost from market i to market j. For a particular item k, if it is available at market i, then let d ik be the 13 cost of purchasing itemk at marketi, otherwised ik =∞. The TPP problem is, as a result, to find a tour that starts from and ends in the depot s while visiting a subset of the m markets to purchase each of the n items, such that the sum of travel costs plus the purchase costs is minimized. To make the model more applicable, one may include some additionally reasonable assumptions such as each item is, at least, available at one market, the purchaser can purchase multiple items at a market, the purchaser can visit a market without buying anything, etc. Since the TSP is NP-hard, the TPP is also NP-hard in that it reduces to the TSP when each market sells a commodity that is not available in any other markets. In this case, every market needs to be visited and no purchase cost is needed to be considered. Therefore, in this setting, the TPP amounts to a TSP [20]. The first attempt to solve the TPP tracks back to 1981, when Ramesh [82] proposed an algorithm based on a lexicographic search procedure. Because of the natural complexity of TPP, most of the studies on the TPP concerns developing heuristic methods to solve it. For example, Golden et al. [37] developed a construction heuristic based on a savings strategy. Later, Ong [75] modified this heuristic and proposed the Tour Reduction Heuristic based on deletions of markets from a complete tour. Pearn and Chien [77] suggested some variations on some existing heuristic solution procedures such as the Search algorithm, the Generalized-Savings algorithm, the Tour- Reduction algorithm, the Commodity Adding Heuristic, etc. In their computational experiments, the suggested variations achieve significantly large improvements compared to the existing procedures. In [100], Voß investigated two dynamic strategies - the reverse elimination method and the cancellation sequence method. He combined these two methods as well as the inclusion of strategic oscillation together to achieve a great impact on solving the TPP. Later in 2006, Boris and Dominique [20] utilized ant colony optimization and combined it with a local-search scheme exploring a new neighborhood structure, which can give new best solutions to some benchmark instances. Although it seems a little difficult, there are some attempts on developing exact algorithms for the TPP. Singh and Van Oudheusden [93] developed a branch and bound algorithm that can solve a related simple plant location problem. Computational experiments showed that it is able to solve moderate size problems optimally in reasonable computation time, up to 25 cities and 100 items. In 2003, Laporte et al. [59] presented a branch and cut algorithm for the undirected TPP. They formulated the TPP into an integer linear programming, and several families of valid inequalities were derived to strengthen the linear relaxation. They investigated the polyhedral 14 structure of the integer linear programming and several classes of valid inequalities were proved to be facet defining. Their computational results on four classes of randomly generated instances showed that the proposed algorithm outperformed all previous approaches and could optimally solve instances containing up to 200 markets. 2.5 Research on Prize Collecting TSP The prize collecting traveling salesman problem (PCTSP) is also an extension of the well-known TSP problem, which was first formulated and introduced by Balas [8, 9]. In his work, the PCTSP is defined on a graphG = (V,E) with vertex prize w : V → Z + , vertex penalty π : V → Z + , a non-negative integer Q representing a fixed prize amount, and edge cost c :E→Z + . A cycle C of G is called quota Q-tour if X v∈C w(v)≥Q. The PCTSP is to find a quota Q-tour T = (V T ,E T ) which starts from a fixed root vertex r and minimizes c(T ) = X v∈V\V T π v + X e∈E T c e . This problem arose from the steel rolling mill, in which a daily schedule needed to be decided. The definition of the PCTSP may not be very rigorous. There are also other variants which are also called PCTSP by some authors. In [85], Reinelt defines PCTSP similarly as in [8] but without neither the quota constraint nor the vertex penalty. Thus, the objective is to find a cycle starting from a fixed root while minimizing the sum of the edge costs of the cycle minus the prizes of the nodes in the cycle. Some authors prefer naming this version of PCTSP as the penalty traveling salesman problem. Many researches have been working on the PCTSP and provided several approaches to solve it. In [33], Fis- chetti et al. proposed an exact algorithm based on Lagrangian bounds as well as branch and bound. Bienstock et al. presented an approximation method in [18], which has a constant bound. Additionally, many upper bound methods have been proposed. For example, in [38], Gomes et al. used Greedy Randomized Adaptive Search Proce- dure (GRASP) combined with Variable Neighborhood Search (VNS) procedure to obtain an upper bound. Later, in [22], Chaves et al. developed a Clustering Search (CS) approach to solve the PCTSP, and compared it with the GRASP/VNS procedure [38]. The result obtained by CS was much more competitive than that obtained by GRASP/VNS procedure. Awerbuch et al. provided a heuristic in [7]. They showed a polynomial time algorithm with a ratioO(log 2 (min(Q,n))), where n is the total number of nodes and Q is the required prize amount to be obtained. 15 Chapter 3 Transformation from WTSP to GTSP In this chapter, we will first give the formal definition of the sparse subset traveling salesman problem (SSTSP). Next, a transformation of the SSTSP with fixed depot to the GTSP is provided in Section 3.1. Then, similar transformation technique can be extended to the WTSP with a fixed single element cluster in Section 3.2. To finish the exact transformation from the WTSP to the GTSP, Section 3.3 introduces a way to eliminate the assumption that there is a fixed single element cluster as needed in Section 3.2, and completes the exact transformation. Recall that in Chapter 2 we mention that any GTSP can be formulated into the asymmetric TSP with the same number of nodes introduced by [74], the transformation from the WTSP to the GTSP can be further formulated into the TSP. 3.1 Transformation from SSTSP with Fixed Depot to GTSP Definition 1. Given n points and a pre-determined integer m≤ n, the sparse subset traveling salesman problem (SSTSP) is to find the shortest tour that contains exactly m out of n vertices. See Figure 3.1 for an example of the SSTSP. The SSTSP with fixed depot is almost same as the definition of the SSTSP except that there is a fixed depot that the tour should start from and end in. The SSTSP is, of course, an NP-hard problem, since when m =n the SSTSP becomes the TSP exactly. Although the SSTSP with fixed depot has one more constraint than the SSTSP, this contrarily eases the hardness of the reduction to the GTSP. To make our reduction from the WTSP to the 16 Figure 3.1: Example of SSTSP, n = 10,m = 3. This figure illustrates an example that there are n = 10 vertices and the SSTSP aims to find the shortest closed tour that visits m = 3 vertices. The red tour shown is the SSTSP tour. GTSP more systematically and easily to understand, Theorem 2 provides a formulation from the SSTSP with fixed depot to the GTSP, which helps us step further to formulate the WTSP to the GTSP. Theorem 2. In a directed or undirected graph G, suppose there aren + 1 vertices{v 0 ,v 1 ,...,v n }. There arem + 1 vertices required to be visited, 1≤ m≤ n. v 0 is the depot that the tour should start from or end in. Then, the SSTSP of G with fixed depot v 0 can be transformed into the GTSP with at most 3n + 1 vertices. Proof. First, assume that m < n. Otherwise, this problem degenerates to the TSP, which is trivial. Let V = {v 1 ,...,v n }, and w(i,j) represents the edge weight from v i to v j . Notice that, if G is undirected or symmetric, w(i,j) =w(j,i). Construct the digraph G 0 as follows: (i) For each v j ∈V, create two copies v 0 j and ¯ v 0 j . Denote all v 0 j by V 0 and all ¯ v 0 j by ¯ V 0 . (ii) Create n−m dummy vertices and denote them by D 0 ={d 0 1 ,...,d 0 n−m }. (iii) Create a copy of v 0 denoted by v 0 0 and add{v 0 0 }∪V 0 ∪ ¯ V 0 ∪D 0 to the digraph G 0 . (iv) Connect v 0 0 →v 0 j with distance w(0,j),∀v 0 j ∈V 0 . (v) Connect v 0 i →v 0 j with distance w(i,j),∀v 0 i ,v 0 j ∈V 0 . 17 (a) (b) (c) (d) Figure 3.2: (a) depicts the case that there is one fixed depot v 0 and four vertices v 1 ,...,v 4 . We are required to find a shortest tour with 2 vertices in addition to v 0 while starting from and ending at v 0 . (b) shows the vertices created by the construction rule. In (c), all edges are directed. The dotted line in V 0 means the vertices in V 0 are fully connected with weights defined by step (v). An example of step (vi) is that v 0 1 connects to all ¯ v 0 j , 1≤ j≤ 4 with distancew(1, 0). An edge between a point ¯ v i ∈ ¯ V 0 and a pointd j ∈D 0 has double-headed arrow, which means that ¯ v 0 i can reach to d 0 j , and d 0 j can reach to ¯ v i 0 . The weights of all of these edges with double-headed arrow are 0 according to step (vii) and step (viii). Notice that there is no edge among vertices in ¯ V 0 and no edge among vertices inD 0 . Based on (xi), v 0 j and ¯ v 0 j belong to same cluster, for each 1≤j≤ 4, and all other clusters are single element clusters. (d) shows a GTSP tour in G 0 , which reflects that the SSTSP is (v 0 ,v 1 ,v 2 ) in (a). (vi) Connect v 0 i → ¯ v 0 j with distance w(i, 0),∀v 0 i ∈V 0 ,∀¯ v 0 j ∈ ¯ V 0 . (vii) Connect ¯ v 0 i →d 0 j with distance 0,∀¯ v 0 i ∈ ¯ V 0 ,∀d 0 j ∈D 0 . (viii) Connect d 0 i → ¯ v 0 j with distance 0,∀d 0 i ∈D 0 ,∀¯ v 0 j ∈ ¯ V 0 . (ix) Connect d 0 i →v 0 0 with distance 0,∀d 0 i ∈D 0 . (x) For other pairs of vertices in G 0 , the weights of corresponding edges are set to be positive infinity (i.e., there is no edge in between). 18 (xi) Set the clusters to be C 0 0 ={v 0 0 },C 0 1 ={v 0 1 , ¯ v 0 1 },...,C 0 n ={v 0 n , ¯ v 0 n },Q 0 1 ={d 0 1 },Q 0 2 ={d 0 2 },...,Q 0 n−m = {d 0 n−m }. Remark 3. Intuitively, apointv 0 j inV 0 canbeconsideredasthe“visited”labelofpointv j inGandthecorresponding point ¯ v 0 j in ¯ V 0 can be regarded as “not visited” label of v j in G. The GTSP tour in G 0 will choose either v 0 j or ¯ v 0 j of cluster C 0 j , 1≤j≤n, indicating that the SSTSP tour chooses either to visit v j or not to visit v j in G. Figure 3.2 illustrates an example of the above construction and the relationship between the GTSP tour in G 0 and the SSTSP tour in G, where n = 4,m = 2. After the above construction of new digraph G 0 , based on step (iii), there are total 2n + (n−m) + 1 = 3n−m + 1≤ 3n + 1 vertices in the graph G 0 . Furthermore, we claim that SSTSP(G, v 0 ) = GTSP(G 0 ). 1) SSTSP(G, v 0 )≥ GTSP(G 0 ): Suppose T is one of the SSTSP(G, v 0 ) tours in G. WLOG, assume T = (v 0 ,v σ(1) ,...,v σ(m) ), where σ(j)∈ {1, 2,...,n},∀j = 1, 2,...m, and σ(i)6= σ(j),∀i6= j (i.e., σ(·) is an n-permutation of{1,...,n} and T contains the first m elements of such permutation). The array T expresses that the tour starts from v 0 and proceeds as the ordered elements/vertices in the array T. Finally, the tour comes back to the starting depot v 0 from v σ(m) . The total length of T is L(T ) =w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) Given T, we can construct a GTSP-feasible tour T 0 in G 0 with same tour length so that SSTSP(G, v 0 ) ≥ GTSP(G 0 ). The tour T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(m) , ¯ v 0 γ(1) ,d 0 1 , ¯ v 0 γ(2) ,d 0 2 ,..., ¯ v 0 γ(n−m) ,d 0 n−m ). Here, γ(j)∈{1, 2,...,n}\ {σ(1),...,σ(m)},γ(i)6=γ(j) if i6=j (i.e., γ(·) is an (n−m)−permutation of{1, 2,...,n}\{σ(1),...,σ(m)}). Notice that T 0 is GTSP-feasible because each cluster has exactly one vertex in T 0 : Cluster C 0 0 has vertex v 0 0 . Cluster C 0 σ(j) has corresponding vertex v 0 σ(j) in T 0 for all 1≤j≤m. Each vertex ¯ v 0 γ(j) is chosen from the cluster C 0 γ(j) ,∀γ(j)∈{1, 2,...,n}\{σ(1),...,σ(m)}, for all 1≤j≤n−m, and each vertex d 0 j is chosen from the cluster 19 Q 0 j , for all 1≤j≤n−m. Letdist(x,y) be the directed edge weight from vertexx to vertexy inG 0 , then the total length of T 0 is L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + m−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) = L(T ) The second equation is based on (iv), and the third equation comes from (v). (vi) ensures the fourth equation, and the fifth equation relies on (vii), (viii), (ix). 2) SSTSP(G, v 0 )≤ GTSP(G 0 ): On the other hand, suppose T 0 is a GTSP tour in G 0 . Before we proceed our proof, there are several key facts necessarily to mention so that they can help us have some insights into the structure of T 0 . Fact 4. Any GTSP tour T 0 inG 0 can be assumed to start with the fixed depot v 0 0 and the second visited vertex must be in V 0 . 20 Proof. Fact 4 results from that v 0 0 makes up a single element cluster C 0 0 , and T 0 has to visit it. T 0 is a tour so that T 0 can be assumed to start with v 0 0 . Additionally, the second visited vertex must be in V 0 in that v 0 0 can only connect to points in V 0 . Fact 5. For any GTSP tour T 0 in G 0 , once the tour visits some vertex ¯ v 0 in ¯ V 0 , then there is no vertex in V 0 appearing after ¯ v 0 in T 0 . Proof. Fact 5 holds, since from the construction of G 0 , there is no edge from vertices in ¯ V 0 to vertices in V 0 . Furthermore, the vertices in ¯ V 0 can only access the vertices in D 0 and the vertices in D 0 can only access vertices in ¯ V 0 and v 0 0 . Thus, once the tour begins to visit some vertex in ¯ V 0 , it cannot go back to visit any vertices in V 0 afterwards. Fact 6. For any GTSP tour T 0 in G 0 , if it visits some vertex d 0 in D 0 , the previous visited vertex of d 0 must be in ¯ V 0 . Proof. From the construction of G 0 , any edge with ending point in D 0 has only starting point in ¯ V 0 , so Fact 6 holds. Fact 7. For any GTSP tour T 0 in G 0 , if it visits some vertex ¯ v 0 in ¯ V 0 , the next visited vertex of ¯ v 0 must be in D 0 . Proof. From the construction of G 0 , any edge with starting point in ¯ V 0 has only ending point in D 0 , so Fact 7 holds. Fact 8. For any GTSP tour T 0 in G 0 , the vertices of D 0 in T 0 are homogeneous. In other words, if we exchange the positions of any pair of vertices d i and d j in T 0 , the new tour is also a GTSP tour. Proof. This fact directly comes from (vii) and (viii) in the construction procedure of G 0 . Fact 9. Any GTSP tour T 0 in G 0 visits exactly n−m vertices in ¯ V 0 and m vertices in V 0 . Proof. First,T 0 must visit clustersQ 0 1 ,...,Q 0 n−m , so all verticesd 0 1 ,...,d 0 n−m are required to be visited. By Fact 6 and Fact 7, exactn−m vertices in ¯ V 0 are visited. Moreover, sinceT 0 should visit exactly one vertex of each cluster C 0 j (1≤j≤n) and v 0 j and ¯ v 0 j belong to same cluster C 0 j , T 0 must visit m vertices in V 0 . 21 Given above facts, we can assume the form ofT 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(m) , ¯ v 0 γ(1) ,d 0 1 ,..., ¯ v 0 γ(n−m) ,d 0 n−m ), whereσ(·) is ann−permutation of{1, 2,...,n} andγ(·) is an (n−m)−permutation of{1, 2,...,n}\{σ(1),...,σ(m)}. Then, using similar derivation as in the proof of part 1), L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + m−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) We can construct a tourT inG by assigningT = (v 0 ,v σ(1) ,...,v σ(m) ). Clearly, T visits exactm+1 vertices. Then, L(T ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) = L(T 0 ) Thus, SSTSP(G, v 0 )≤ GTSP(G 0 ). 3.2 Transformation from WTSP with Fixed Depot to GTSP Definition 10. Given m disjoint sets of vertices C 1 ,...,C m , then, the WTSP is to find the shortest tour that contains exactly t j elements of set C j , where t j ≤|C j |,∀j = 1,...,m. Clearly, the WTSP is a generalization of the SSTSP. For instance, suppose the SSTSP has total n vertices and n req vertices required to be visited. By setting m = 1 and t 1 =n req , the WTSP becomes the SSTSP. The WTSP with fixed depot is merely same as the WTSP except that a starting and ending depot is fixed and makes up a single element cluster, which is analogous to the SSTSP with fixed depot. To completely finish the reduction from the WTSP to the GTSP, we first show a transformation from the WTSP with fixed depot to the GTSP in Theorem 11. 22 Theorem11. In a directed or undirected graphG, suppose there aren+1 vertices{v 0 }∪V, whereV ={v 1 ,...,v n }. All vertices in V are divided into m disjoint sets of vertices C 1 ,...,C m with m [ j=1 C j = V. A sequence of integers t 1 ,...,t m is given so that exactly t j vertices in cluster C j should be visited, 1≤ t j ≤|C j |,∀j = 1,...,m. v 0 is required to be the starting and ending depot. Thus, there are totally 1 + m X j=1 t j vertices required to be visited. Then the WTSP of G with fixed depot v 0 can be transformed into the GTSP with at most 3n + 1 vertices. Proof. Denote k j =|C j |,∀j = 1,...,m and w(i,j) to be the edge weight from v i to v j in G. Let t = m X j=1 t j . Then, WLOG assume t<n. Otherwise, the problem degenerates to the standard TSP. LetL j (·) be a function mapping from{1,...,k j −t j } to{1, 2,...,n−t},∀j = 1,...,m such thatL i (x)6=L j (y) if i6= j,∀x∈{1, 2,...,k i −t i },∀y∈{1,...,k j −t j } andL j (x)6=L j (y),∀x,y∈{1,...,k j −t j },∀j = 1,...,m. Thus, range(L i )∩range(L j ) =∅ and∪ 1≤j≤m range(L j ) ={1, 2,...,n−t}. Let dist(x,y) be the directed edge weight from vertex x to vertex y in G 0 . Suppose x∈ C i , and y,z are two copied points created according to x, then let Cl(y) or Cl(z) be the index of cluster that contains x. For example, if v 5 ∈ C 1 and we create two copied points v 0 5 , ¯ v 0 5 based on v 5 , then Cl(v 0 5 ) =Cl(¯ v 0 5 ) = 1. Construct the G 0 as follows: (i) For each v j ∈V, create two copies v 0 j and ¯ v 0 j . Denote all v 0 j by V 0 and all ¯ v 0 j by ¯ V 0 . (ii) For each cluster C j in G, create k j −t j vertices d 0 Lj (1) ,...,d 0 Lj (kj−tj ) and call them D 0 j ,∀j = 1,...,m. Let D 0 = m [ j=1 D 0 j . (iii) Create a copy of v 0 denoted by v 0 0 and add{v 0 0 }∪V 0 ∪ ¯ V 0 ∪D 0 to the digraph G 0 . (iv) Connect v 0 0 →v 0 j with distance w(0,j),∀v 0 j ∈V 0 . (v) Connect v 0 i →v 0 j with distance w(i,j),∀v 0 i ,v 0 j ∈V 0 . (vi) Connect v 0 i → ¯ v 0 j with distance w(i, 0),∀v 0 i ∈V 0 ,∀¯ v 0 j ∈ ¯ V 0 . (vii) For each cluster C i , 1≤i≤m, connect ¯ v 0 j →d 0 Li(l) with distance 0,∀¯ v 0 j ∈ ¯ V 0 where Cl(¯ v 0 j ) =i,∀d 0 Li(l) ∈D 0 i . (viii) Connect d 0 i → ¯ v 0 j with distance 0,∀d 0 i ∈D 0 ,∀¯ v 0 j ∈ ¯ V 0 . 23 (ix) Connect d 0 i →v 0 0 with distance 0,∀d 0 i ∈D 0 . (x) For other pairs of vertices in G 0 , the weights of corresponding edges are set to be positive infinity (i.e., there is no edge in between). (xi) Set the clusters to be C 0 0 ={v 0 0 },C 0 1 ={v 0 1 , ¯ v 0 1 },...,C 0 n ={v 0 n , ¯ v 0 n },Q 0 L1(1) ={d 0 L1(1) },Q 0 L1(2) ={d 0 L1(2) },..., Q 0 L1(k1−t1) ={d 0 L1(k1−t1) },Q 0 L2(1) ={d 0 L2(1) },Q 0 L2(2) ={d 0 L2(2) },...,Q 0 L2(k2−t2) ={d 0 L2(k2−t2) },...,Q 0 Lm(1) = {d 0 Lm(1) }, Q 0 Lm(2) ={d 0 Lm(2) },..., Q 0 Lm(km−tm) ={d 0 Lm(km−tm) }. Figure 3.3 gives an example of the above construction and depicts the relationship between the GTSP tour in G 0 and the WTSP tour in G, where m = 3,C 1 ={v 1 ,v 2 },C 2 ={v 3 ,v 4 },C 3 ={v 5 ,v 6 ,v 7 },t 1 = 1,t 2 = 1,t 3 = 2. Notice that the number of vertices inG 0 after the construction above is 1 + 2n + m X j=1 (k j −t j ) = 3n−t + 1≤ 3n + 1, according to step (iii). It remains to show that WTSP(G,{v 0 }) = GTSP(G 0 ). By the steps (vii) and (viii) in the construction, for each D 0 j , the order of vertices d Lj (1) ,...,d Lj (kj−mj ) is indifferent to the tour length, i.e., points in D 0 j are homogeneous. Thus, for the brevity of proof, we use d 0 j as an alias to denote any vertex inD 0 j , but any twod 0 j cannot be same point, i.e., (d 0 j ,d 0 j ,d 0 j ) can be (d Lj (1) ,d Lj (2) ,d Lj (5) ) or (d Lj (2) ,d Lj (3) ,d Lj (6) ), etc. 1) WTSP(G,{v 0 })≥ GTSP(G 0 ): SupposeT = (v 0 ,v σ(1) ,...,v σ(t) ) is a WTSP tour ofG, whereσ(·) is ann−permutation of{1,...,n}. The total length of T is: L(T ) =w(0,σ(1)) + t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t), 0) Next, we construct a GTSP-feasible tour inT 0 as follows so thatL(T 0 ) =L(T ), which indicates WTSP(G,{v 0 }) ≥ GTSP(G 0 ). T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(t) , ¯ v 0 γ(1) ,d 0 Cl(¯ v 0 γ(1) ) , ¯ v 0 γ(2) ,d 0 Cl(¯ v 0 γ(2) ) ,..., ¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ),whereγ(·)isan (n−t)−permutation of{1, 2,...,n}\{σ(1),...,σ(t)}. Clearly T 0 is GTSP-feasible in G 0 , since each cluster has exactly one vertex in T 0 : Cluster C 0 0 has vertex v 0 0 . Cluster C 0 σ(j) has corresponding vertex v 0 σ(j) in T 0 for all 1≤j≤t. Vertex ¯ v 0 γ(j) is 24 (a) (b) (c) (d) (e) (f) Figure 3.3: (a) is a WTSP example with a fixed depot v 0 , where m = 3,C 1 = {v 1 ,v 2 },C 2 = {v 3 ,v 4 },C 3 = {v 5 ,v 6 ,v 7 },t 1 = 1,t 2 = 1,t 3 = 2. (b) consists of all the created vertices according to step (iii). In (c), for each vertex v 0 i in V 0 , the multiple directed edges starting from v 0 i mean that v 0 i can reach to any vertices in ¯ V 0 with same weight w(i, 0). The dotted line in V 0 means that they are fully connected with distance given by step (v). In (d), since Cl(¯ v 0 1 ) =Cl(¯ v 0 2 ) = 1, they can only connect to any vertex in D 0 1 ={d 0 1 } with distance 0 according to step (vii). However, any vertex in D 0 can connect to any vertex in ¯ V 0 with distance 0 represented by the multiple directed edges from any vertex inD 0 . (e) shows that any vertex inD 0 can connect to the fixed depotv 0 0 with length 0. Based on (xi), v 0 j and ¯ v 0 j belong to same cluster, for each 1≤ j≤ 7, and all other clusters are single element clusters. (f) provides the GTSP solution in G 0 , which reflects that the WTSP is (v 0 ,v 2 ,v 3 ,v 6 ,v 5 ) in (a). chosen from the cluster C 0 γ(j) ,∀γ(j)∈{1, 2,...,n}\{σ(1),...,σ(t)}, 1≤ j≤ n−t. Also, T is a WTSP tour in G, so for each cluster C j (1≤j≤m) there are totally t j vertices of{v σ(1) ,...,v σ(t) } belonging to it. Thus, there are exactly k j −t j vertices belonging to{¯ v 0 γ(1) ,..., ¯ v 0 γ(n−t) }, which indicates that d 0 j appears (k j −t j ) times in T 0 . Hence all vertices in D 0 will be visited in T 0 , i.e., each cluster Q 0 j (1≤j≤n−t) will be visited once in T 0 . 25 The total tour length of T 0 is: L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + t−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(t) , ¯ v 0 γ(1) ) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,v 0 0 ) = w(0,σ(1)) + t−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(t) , ¯ v 0 γ(1) ) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,v 0 0 ) = w(0,σ(1)) + t−1 X j=1 w(σ(j),σ(j + 1)) +dist(v 0 σ(t) , ¯ v 0 γ(1) ) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,v 0 0 ) = w(0,σ(1)) + t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t), 0) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,v 0 0 ) = w(0,σ(1)) + t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t), 0) = L(T ) The second equation is based on (iv), and the third equation comes from (v). (vi) ensures the fourth equation, and the fifth equation relies on (vii), (viii), (ix). 2) WTSP(G,{v 0 })≤ GTSP(G 0 ): SupposeT 0 is a GTSP tour inG 0 . Similar as the part 2) of the proof in Theorem 2, we first prove some structure properties of the T 0 so that we can assume T 0 to be a specific form. 26 Fact 12. Any GTSP tour T 0 in G 0 can be assumed to start with the fixed depot v 0 0 and the second visited vertex must be in V 0 . Proof. Fact 12 results from that T 0 must visit C 0 0 containing only v 0 0 , and v 0 0 can only connect to points in V 0 . Fact 13. For any GTSP tour T 0 in G 0 , once the tour visits some vertex ¯ v 0 in ¯ V 0 , then there is no vertex in V 0 appearing after ¯ v 0 in T 0 . Proof. Fact 13 holds, since from the construction of G 0 , there is no edge from vertices in ¯ V 0 to vertices in V 0 . Furthermore, the vertices in ¯ V 0 can only access the vertices in D 0 and the vertices in D 0 can only access vertices in ¯ V 0 and v 0 0 . Thus, once the tour begins to visit some vertex in ¯ V 0 , it cannot go back to visit any vertices in V 0 later. Fact 14. For any GTSP tour T 0 in G 0 , if it visits some vertex d 0 j in D 0 j , then the previous visited vertex of d 0 j must be in ¯ V 0 j ={¯ v 0 ∈ ¯ V 0 :Cl(¯ v 0 ) =j}. Proof. From the construction of G 0 , any edge with ending point in D 0 j has only starting point in ¯ V 0 j , so Fact 14 holds. Fact 15. For any GTSP tour T 0 in G 0 , if it visits some vertex ¯ v 0 in ¯ V 0 . Suppose j =Cl(¯ v 0 ), then the next visited vertex of ¯ v 0 must be in D 0 j . Proof. From step (vii) in the construction of G 0 , any edge with starting point ¯ v 0 has only ending point in D 0 j . Fact 16. For any GTSP tour T 0 in G 0 , given a cluster C j ∈ G, there are exactly t j vertices of V 0 j ={v 0 ∈ V 0 : Cl(v 0 ) =j} in the tour T 0 , for any 1≤j≤m. Proof. Given the cluster C j , the set D 0 j contains exactly k j −t j points and each of these points makes up a single element cluster. Therefore, T 0 must visit all of them. Then, by Fact 14 and Fact 15, T 0 must visit exactly k j −t j vertices in ¯ V 0 j ={¯ v 0 ∈ ¯ V 0 :Cl(¯ v 0 ) =j}. which further implies that Fact 16 holds. 27 A direct observation following Fact 16 is that there are exactly m X j=1 t j =t vertices inT 0 fromV 0 andn−t vertices in T 0 from ¯ V 0 . Hereafter, combining Fact 12, Fact 13, Fact 14, Fact 15 and the property that for each set D 0 j the order of the vertices of it has no different impact on the tour length, we can assume T 0 has the form: T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(t) , ¯ v 0 γ(1) ,d 0 Cl(¯ v 0 γ(1) ) , ¯ v 0 γ(2) ,d 0 Cl(¯ v 0 γ(2) ) ,..., ¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ),whereσ(·)isann−permutation of{1, 2,...,n}, and γ(·) is an (n−t)−permutation of{1, 2,...,n}\{σ(1),...,σ(t)}. Then, similar calculation is derived as that in the proof of first inequality: L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + t−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(t) , ¯ v 0 γ(1) ) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,v 0 0 ) = w(0,σ(1)) + t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t), 0) We can construct a tour T in G by assigning T = (v 0 ,v σ(1) ,...,v σ(t) )). T is WTSP-feasible immediately from Fact 16. Then, L(T ) = w(0,σ(1)) + t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t), 0) = L(T 0 ) Remark 17. The proof of Theorem 11 uses a similar technique as in the proof of Theorem 2. Such two copies of sets of vertices inG 0 , i.e.,V 0 , ¯ V 0 , in the step (i) can be considered as the corresponding “visited” vertex choices and “not visited” vertex choices in the original graph G. The set of dummy vertices D 0 and the way of the connection between D 0 and ¯ V 0 ensure the number of “visited” vertices and “not visited” vertices to satisfy the requirement of the visiting times of each cluster. 28 Remark 18. Theorem 11 assumes a fixed depot. The usage of this assumption is in the step (vi) of the construction of G 0 in the proof of Theorem 11. When the tour T 0 enters into ¯ V 0 from the v 0 last in V 0 , we assign this movement to have a distance same as the distance from the v last inV to depotv 0 , which indicates thatv last is the last vertex in the WTSP tour. Thus, we are able to record the weight of the last “cycle-complete” edge (i.e., the edge from the last visited vertex in the WTSP tour to the depot). However, this will be difficult to hold, if we remove fixed depot assumption, i.e., transform the WTSP to the GTSP exactly. Then, in the next section, a transformation addressing this issue, will be discussed. 3.3 Transformation from WTSP to GTSP Theorem11providesawaytotransformtheWTSPwith fixed depotv 0 to theGTSP.In thissection, the assumption that the tour starts from and ends in the fixed depot v 0 will be removed, and the exact transformation from the WTSP to the GTSP will be shown in Theorem 19. Theorem 19. In a directed or undirected graph G, suppose there are n vertices V ={v 1 ,...,v n }. All vertices in V are divided into m disjoint sets of vertices C 1 ,...,C m with m [ j=1 C j = V. A sequence of integers t 1 ,...,t m is given so that exactly t j vertices in cluster C j should be visited, 1≤t j ≤|C j |,∀j = 1,...,m. Then, the WTSP, the shortest tour visiting exactly t j vertices of C j for all 1≤ j≤ m, can be transformed into the GTSP with at most 4n vertices. Proof. In the proof, we use the same notations of k j ,t,L j (·),Cl(·),dist(·,·) as defined in the proof of Theorem 11. Additionally, WLOG assume t<n by the similar reason as in the proof of Theorem 11. Let M be a sufficiently large number. For the brevity, if the index is out of range n, we take the modulo of it w.r.t. the range n, e.g., if there are n vertices{x 1 ,...x n }, x n+1 is the point x 1 . Construct G 0 as follows: (i) For each v j ∈V, create two copies v 0 j and ¯ v 0 j . Denote all v 0 j by V 0 and all ¯ v 0 j by ¯ V 0 . 29 (ii) For each clusterC j inG, createk j −t j dummy verticesd 0 Lj (1) ,...,d 0 Lj (kj−tj ) and call themD 0 j ,∀j = 1,...,m. LetD 0 = m [ j=1 D 0 j . By the similar reason mentioned in the proof of Theorem 11, vertices in D 0 j (1≤j≤m) are homogeneous. We use the aliasd 0 j to represent any vertex inD 0 j as long as it does not cause misunderstanding. (iii) Create n vertices S 0 ={s 0 1 ,...,s 0 n }, and add V 0 ∪ ¯ V 0 ∪D 0 ∪S 0 to G 0 . (iv) Connect s 0 j →s 0 j+1 with distance−M,∀s 0 j ∈S 0 . (v) Connect v 0 i →v 0 j with distance w(i,j),∀v 0 i ,v 0 j ∈V 0 . (vi) Connect v 0 i →s 0 j with distance w(i,j− 1),∀v 0 i ∈V 0 ,∀s 0 j ∈S 0 . (vii) Connect s 0 i → ¯ v j with distance 0,∀s 0 i ∈S 0 ,∀¯ v 0 j ∈ ¯ V 0 . (viii) For each cluster C i , 1≤i≤m, connect ¯ v 0 j →d 0 Li(l) with distance 0,∀¯ v 0 j ∈ ¯ V 0 where Cl(¯ v 0 j ) =i,∀d 0 Li(l) ∈D 0 i . (ix) Connect d 0 i → ¯ v 0 j with distance 0,∀d 0 i ∈D 0 ,∀¯ v 0 j ∈ ¯ V 0 . (x) Connect d 0 i →s 0 j with distance 0,∀d 0 i ∈D 0 ,∀s 0 j ∈S 0 . (xi) Connect s 0 j →v 0 j with distance 0, 1≤j≤n. (xii) For other pairs of vertices in G 0 , the weights of corresponding edges are set to be positive infinity (i.e., there is no edge in between). (xiii) Set the clusters to beC 0 1 ={v 0 1 , ¯ v 0 1 },...,C 0 n ={v 0 n , ¯ v 0 n },Q 0 L1(1) ={d 0 L1(1) },Q 0 L1(2) ={d 0 L1(2) },...,Q 0 L1(k1−t1) = {d 0 L1(k1−t1) }, Q 0 L2(1) ={d 0 L2(1) },Q 0 L2(2) ={d 0 L2(2) },..., Q 0 L2(k2−t2) ={d 0 L2(k2−t2) },..., Q 0 Lm(1) ={d 0 Lm(1) }, Q 0 Lm(2) ={d 0 Lm(2) },..., Q 0 Lm(km−tm) ={d 0 Lm(km−tm) }, S 0 1 ={s 0 1 },...,S 0 n ={s 0 n }. Figure 3.4 shows a particular example of the construction above and the relationship between the GTSP tour in G 0 and the WTSP tour inG, wherem = 3,C 1 ={v 1 ,v 2 },C 2 ={v 3 ,v 4 },C 3 ={v 5 ,v 6 ,v 7 },t 1 = 1,t 2 = 1,t 3 = 2. Notice that according to (iii), the number of vertices inG 0 after the construction above is 2n+ m X j=1 (k j −t j )+n = 4n−t≤ 4n. It remains to show that WTSP(G) = GTSP(G 0 ) +(n− 2)M. Hereafter, since (n− 2)M is a constant, the equivalence of WTSP(G) and GTSP(G 0 ) follows immediately. 30 (a) (b) (c) (d) (e) (f) (g) (h) (i) Figure 3.4: (a) is a WTSP example, wherem = 3,C 1 ={v 1 ,v 2 },C 2 ={v 3 ,v 4 },C 3 ={v 5 ,v 6 ,v 7 },t 1 = 1,t 2 = 1,t 3 = 2. (b) consists of the created vertices according to step (iii). In (c), vertices in S 0 make up a cycle by step (iv). (d) shows the ways of connection from V 0 to S 0 according to step (vi). For brevity, we only show the connective ways forv 0 1 . For other vertices, we use multiple directed edges from a vertex to represent that one vertex in V 0 connects to all vertices in S 0 with the weights defined in step (vi). Also the dotted line in V 0 means that vertices in V 0 are fully connected. In (e), it depicts that any vertex inS 0 can connect to any vertex in ¯ V 0 with weight 0. (f) shows the connective ways between ¯ V 0 andD 0 as described in step (viii) and step (ix). (g) and (h) show that D 0 can connect to S 0 and S 0 can connect to V 0 respectively, according to step (x) and step (xi). (i) provides the GTSP tour in G 0 that reflects that the WTSP is (v 1 ,v 5 ,v 3 ,v 6 ) in (a). 31 1) WTSP(G)≥ GTSP(G 0 ) +(n− 2)M: SupposeT = (v σ(1) ,...,v σ(t) ) be a WTSP tour ofG, whereσ(·) is ann−permutation of{1, 2,...,n}. The total length of T is: L(T ) = t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t),σ(1)) Hereafter, we construct a GTSP-feasible tour inT 0 so thatL(T 0 ) =L(T )−(n−2)M, which indicates WTSP(G) ≥ GTSP(G 0 ) +(n− 2)M. Let T 0 = (v 0 σ(1) ,...,v 0 σ(t) ,s 0 σ(1)+1 ,s 0 σ(1)+2 ,...,s 0 σ(1)+n−1 , ¯ v 0 γ(1) ,d 0 Cl(¯ v 0 γ(1) ) , ¯ v 0 γ(2) ,d 0 Cl(¯ v 0 γ(2) ) ,..., ¯ v 0 γ(n−t) , d 0 Cl(¯ v 0 γ(n−t) ) ,s 0 σ(1)+n ), where γ(·) is an (n−t)−permutation of{1, 2,...,n}\{σ(1),...,σ(t)}. Clearly T 0 is GTSP- feasible in G 0 , since each cluster has exactly one vertex in T 0 : Cluster C 0 σ(j) has corresponding vertex v 0 σ(j) in T 0 for all 1≤j≤t. Vertex ¯ v 0 γ(j) is chosen from the clusterC 0 γ(j) ,∀γ(j)∈{1, 2,...,n}\{σ(1),...,σ(t)}, 1≤j≤n−t. Also, for each cluster C j (1≤j≤m), there are totally t j vertices of{v σ(1) ,...,v σ(t) } belonging to it. Thus, there are exactly k j −t j vertices belonging to{¯ v 0 γ(1) ,..., ¯ v 0 γ(n−t) }, which indicates that d 0 j appears (k j −t j ) times in T 0 . Hence all vertices in D 0 will be visited in T 0 , i.e., each cluster Q 0 j (1≤ j≤ n−t) will be visited once in T 0 . Obviously, s 0 σ(1) ,...,s 0 σ(1)+n are in T 0 , so each S 0 j has one element in T 0 . The total tour length of T 0 is: L(T 0 ) = t−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(t) ,s 0 σ(1)+1 ) + n−2 X j=1 dist(s 0 σ(1)+j ,s 0 σ(1)+j+1 ) +dist(s 0 σ(1)+n−1 , ¯ v 0 γ(1) ) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,s 0 σ(1)+n ) +dist(s 0 σ(1)+n ,v 0 σ(1) ) = t−1 X j=1 w(σ(j),σ(j + 1)) +dist(v 0 σ(t) ,s 0 σ(1)+1 ) + n−2 X j=1 dist(s 0 σ(1)+j ,s 0 σ(1)+j+1 ) +dist(s 0 σ(1)+n−1 , ¯ v 0 γ(1) ) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,s 0 σ(1)+n ) +dist(s 0 σ(1)+n ,v 0 σ(1) ) = t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t),σ(1)) + n−2 X j=1 dist(s 0 σ(1)+j ,s 0 σ(1)+j+1 ) +dist(s 0 σ(1)+n−1 , ¯ v 0 γ(1) ) 32 + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,s 0 σ(1)+n ) +dist(s 0 σ(1)+n ,v 0 σ(1) ) = t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t),σ(1))− (n− 2)M +dist(s 0 σ(1)+n−1 , ¯ v 0 γ(1) ) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,s 0 σ(1)+n ) +dist(s 0 σ(1)+n ,v 0 σ(1) ) = t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t),σ(1))− (n− 2)M + 0 + 0 + 0 + 0 +dist(s 0 σ(1)+n ,v 0 σ(1) ) = t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t),σ(1))− (n− 2)M = L(T )− (n− 2)M The second equality is from the step (v) directly. The third equality results from the step (vi). The fourth equality is based on the step (iv). Steps (vii), (viii), (ix) and (x) ensure the fifth equality. The sixth equality derives from s 0 σ(1)+n =s 0 σ(1) and step (xi). 2) WTSP(G)≤ GTSP(G 0 ) +(n− 2)M: First, note that Fact 13, Fact 14, Fact15 and Fact 16 also hold in this proof. One more property about the form of the GTSP tour T 0 in G 0 are proposed. Fact 20. For any GTSP tourT 0 inG 0 , suppose the first visited point and the last visited point of V 0 inT 0 arev 0 f ,v 0 l correspondingly, then it can be assumed that the tour T 0 has a consecutive subsequence (v 0 l ,s 0 f+1 ,s 0 f+2 ,...,s 0 f+n−1 ). Proof. First, observe that all points of S 0 form a cycle with each edge weight−M, so T 0 tends to go along these edges as many as possible. Additionally, by the construction of G 0 , T 0 will visit points in V 0 consecutively and no point inV 0 will be visited again after it begins to visit points out ofV 0 . Thus, the only point having edge connecting back to v 0 f is the vertex s 0 f , which indicates that the negative edge (s 0 f ,s 0 f+1 ) cannot be used by T 0 . Also, T 0 needs to visit points in ¯ V 0 in order to visit each point in D 0 . As a result, T 0 requires to utilize some edge s 0 i → ¯ v 0 j , here s 0 i ∈ S 0 ,s 0 i 6= s 0 f , ¯ v 0 j ∈ ¯ V 0 , which indicates that the negative edge (s 0 i ,s 0 i+1 ) cannot be used by T 0 . Thus, at most n− 2 negative edges amongS 0 can be used byT 0 . To achieve the minimum tour length, T 0 should go along exactly 33 n− 2 negative edges in the following way. The first vertex visited in S 0 must bes 0 f+1 . If the edges 0 i → ¯ v 0 j is chosen (f + 1≤ i≤ f +n− 1), T 0 should come back to s 0 i+1 after visiting n−t points of ¯ V 0 and n−t points of D 0 (according to Fact 16). Then T 0 will go through s 0 i+1 ,s 0 i+2 ,...,s 0 f , and finally goes from s 0 f to v 0 f to complete the cycle. Only such order can ensure the tour to visit n− 2 of those−M edges while satisfying the GTSP-feasibility. A further observation can be seen that there is no different influence on the tour length for the choice of i to be in {f + 1,...,f +n− 1}. Hence, we can set i =f +n− 1, i.e., Fact 20 follows immediately. Combining the five facts above (Fact 13, Fact 14, Fact15, Fact 16, Fact 20) with the homogeneity of vertices in D 0 j , 1≤j≤m, we can conclude that the optimal tour of G 0 has the form: T 0 = (v 0 σ(1) ,...,v 0 σ(t) ,s 0 σ(1)+1 ,s 0 σ(1)+2 ,...,s 0 σ(1)+n−1 , ¯ v 0 γ(1) ,d 0 Cl(¯ v 0 γ(1) ) , ¯ v 0 γ(2) ,d 0 Cl(¯ v 0 γ(2) ) ,..., ¯ v 0 γ(n−t) , d 0 Cl(¯ v 0 γ(n−t) ) ,s 0 σ(1)+n ), where σ(·) is an n−permutation of {1, 2,...,n} and γ(·) is an (n− t)−permutation of {1, 2,...,n}\{σ(1),...,σ(t)}. Thus, the optimal tour length is: L(T 0 ) = t−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(t) ,s 0 σ(1)+1 ) + n−2 X j=1 dist(s 0 σ(1)+j ,s 0 σ(1)+j+1 ) +dist(s 0 σ(1)+n−1 , ¯ v 0 γ(1) ) + n−t−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 Cl(¯ v 0 γ(j) ) ) +dist(d 0 Cl(¯ v 0 γ(j) ) , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−t) ,d 0 Cl(¯ v 0 γ(n−t) ) ) +dist(d 0 Cl(¯ v 0 γ(n−t) ) ,s 0 σ(1)+n ) +dist(s 0 σ(1)+n ,v 0 σ(1) ) = t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t),σ(1))− (n− 2)M Construct a WTSP-feasible tour in G as T = (v σ(1) ,...,v σ(t) ), then, L(T ) = t−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(t),σ(1)) = L(T 0 ) + (n− 2)M This means WTSP(G)≤ GTSP(G 0 ) +M(n− 2). 34 Chapter 4 Transformations from Variants of PCTSP to GTSP As mentioned in Chapter 1, the prize collecting traveling salesman problem (PCTSP) is a variant of standard traveling salesman problem. In our study, we consider the PCTSP defined in [85], which comprises a graph with a depot vertex. In addition to costs between vertices, each vertex has a “prize” associated with it. The objective is to seek a tour which maximizes the total prizes of visited vertices minus the total costs of them. The mathematical expression of the PCTSP described above is: max S⊂N,v0∈S X v∈S p v −TSP(S) (4.1) , where N is the vertex set of graph G and p v is the prize of vertex v. A graphical illustration of the PCTSP is shown in Figure 4.1. In this chapter, we will focus on transforming the PCTSP and some of its variants to the GTSP by using similar transformation techniques introduced in Chap- ter 3. In the rest of this chapter, we first introduce a simple transformation method that formulates the basic version of PCTSP (described as the formula (4.1)) into the GTSP in Section 4.1. Then, more complicated variants which include the constraint on the number of visited vertices (i.e., the constraint on the cardinality of S in the formula (4.1)). There are three types of the vertex number constraint - the equal constraint, the less than or equal to constraint, and the greater than or equal to constraint. Section 4.2 will show the case with vertex equality constraint and Section 4.3 will show the rest two cases. 35 "# " # " & Figure 4.1: There are 10 vertices in the graph and each vertex v i has its prize p i . The distance/cost from v i to v j is w ij . The PCTSP tour is shown in the graph where it starts from and ends in depot v 0 . Remark 21. The PCTSP aims to find the tour with maximum net benefit (i.e., total prizes of visited points minus traveling costs of visited points). In the rest of this chapter, for the convenience and consistency we will use the words “length” and “net benefit” interchangeably, if this does not incur any misunderstanding. 4.1 Transformation from PCTSP to GTSP In this section, a transformation from the simple version of PCTSP mentioned before to the GTSP is discussed in the next theorem. Theorem 22. In a directed or undirected graph G, suppose there are n + 1 vertices{v 0 ,v 1 ,...,v n }. Each vertex v j has corresponding prize p j ,∀j = 0, 1,...,n, and the cost of moving from v i to v j is w(i,j), 0≤i,j≤n,i6=j. v 0 is the depot that the tour should start from or end in. Then, the PCTSP of G can be transformed into the GTSP with exact 2n + 1 vertices. Proof. First, notice that the objective of the PCTSP is to find a tour that maximizes the total prizes of visited vertices minus the total costs of visited vertices, and the total prizes of all vertices can be considered as a constant. As a result, to find such maximization tour is equivalent to find a tour that minimizes the total costs of visited 36 vertices plus the total prizes of those vertices that are not visited. Mathematically, the problem (4.1) is equivalent to the problem min S⊂N,v0∈S TSP(S) + X v∈N\S p v (4.2) Therefore, we can denote this equivalent minimization problem as PCTSP(G). Moreover, we can assume that the PCTSP tour visits at least one point in V and it cannot visit all the points. Otherwise, the first case indicates that the tour only consists of one point v 0 , which is fixed. The second case causes the PCTSP to degenerate to the standard TSP. As a result, we can solve the PCTSP without the two extreme cases, and then compare the result to the two extreme cases above to get the best one. Let V ={v 1 ,...,v n } (those vertices in G except v 0 ), then, a new digraph G 0 is constructed as the following steps. (i) For each v j ∈V, create two copies v 0 j and ¯ v 0 j . Denote all v 0 j by V 0 and all ¯ v 0 j by ¯ V 0 . (ii) Create a copy of v 0 denoted by v 0 0 and add{v 0 0 }∪V 0 ∪ ¯ V 0 to the digraph G 0 . (iii) Connect v 0 0 →v 0 j with distance w(0,j),∀v 0 j ∈V 0 . (iv) Connect v 0 i →v 0 j with distance w(i,j),∀v 0 i ,v 0 j ∈V 0 . (v) Connect v 0 i → ¯ v 0 j with distance w(i, 0),∀v 0 i ∈V 0 ,∀¯ v 0 j ∈ ¯ V 0 . (vi) Connect ¯ v 0 i → ¯ v 0 j with distance p i ,∀¯ v 0 i , ¯ v j 0 ∈ ¯ V 0 . (vii) Connect ¯ v 0 i →v 0 0 with distance p i ,∀¯ v 0 i ∈ ¯ V 0 . (viii) For other pairs of vertices in G 0 , the weights of corresponding edges are set to be positive infinity (i.e., there is no edge in between). (ix) Set the clusters to be C 0 0 ={v 0 0 },C 0 1 ={v 0 1 , ¯ v 0 1 },...,C 0 n ={v 0 n , ¯ v 0 n }. Figure 4.2 gives a graphical explanation of the above construction of G 0 under the case that n = 5. Based on (ii), the total number of points in G 0 is 1 +n +n = 2n + 1. Next, we prove that PCTSP(G) = GTSP(G 0 ). 1) PCTSP(G)≥ GTSP(G 0 ) 37 ! " # ! $ # ! % # ! & # ! ' # ( (0,3) . # ! / # w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) ! " # ! $ # ! & # ! % # . 4 # ! ' # 5 $ 5 " 5 % 5 ' 5 & ! " # ! $ # ! % # ! & # ! ' # ( (0,3) . # ! / # w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) ! " # ! $ # ! & # ! % # . 4 # ! ' # 5(! 6 # 4 ,! 7 # 4 ) =9 6 ! " # ! $ # ! % # ! & # ! ' # ( (0,3) . # ! " # ! $ # ! & # ! % # . / # ! ' # ! 0 # w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) ! " # ! $ # ! % # ! & # ! ' # ( (0,3) . # ! " # ! $ # ! & # ! % # . / # ! ' # ! 0 # ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # ! " ! # ! $ ! % ! & ! ' n = 5 ( # ( " ( ' ( $ ( % ( & (a ) (b ) (c ) (d ) (e ) (f ) Figure 4.2: (a) illustrates the PCTSP that will be solved. There are five points v 1 ,...,v 5 and a fixed depotv 0 . The prize of each pointv j isp j , 0≤j≤ 5. (b) shows the total points created inG 0 based on step (i) and step (ii). In (c), the points among V 0 are connected by dotted segments indicating that they are fully connected with the weights defined in step (iv). (d) demonstrates the step (v). For example, the multiple outward edges from vertex v 1 mean thatv 1 can connect to all the points in ¯ V 0 with distancew(i, 0). (e) provides an explanation of the step (vi), where the dotted segments also mean that the points in ¯ V 0 are fully connected with distance defined in the step (vi). The last figure (f) depicts the step (vii). Suppose T is one of the PCTSP tours in G. WLOG assume T = (v 0 ,v σ(1) ,...,v σ(m) ), where σ(·) is an n−permutation of{1, 2,...,n} and T contains the first m elements of such permutation. The array T expresses that the tour starts from v 0 and proceeds as the ordered elements/vertices in the array T. Finally, the tour comes back to the starting depot v 0 from v σ(m) . The total length (or net benefit) of T is L(T ) =w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n X j=m+1 p σ(j) 38 Given T, we can construct a GTSP-feasible tour T 0 in G 0 with same length as L(T ), thus, it indicates that PCTSP(G)≥ GTSP(G 0 ). ThetourT 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(m) , ¯ v 0 γ(1) , ¯ v 0 γ(2) ,..., ¯ v 0 γ(n−m) ). Here,γ(·)isan (n−m)−permutationof{1, 2,...,n}\ {σ(1),...,σ(m)}). Clearly, T 0 is GTSP-feasible in G 0 since each cluster has exactly one vertex in T 0 : Cluster C 0 0 has vertex v 0 0 . Cluster C 0 σ(j) has corresponding vertex v 0 σ(j) in T 0 for all 1≤j≤m. Each vertex ¯ v 0 γ(j) is chosen from the cluster C 0 γ(j) ,∀γ(j)∈{1, 2,...,n}\{σ(1),...,σ(m)}, 1≤j≤n−m. Letdist(x,y) be the directed edge weight from vertex x to vertex y in G 0 , then the total length of T 0 is L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + m−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 dist(¯ v 0 γ(j) , ¯ v 0 γ(j+1) ) +dist(¯ v 0 γ(n−m) ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 dist(¯ v 0 γ(j) , ¯ v 0 γ(j+1) ) +dist(¯ v 0 γ(n−m) ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n−m−1 X j=1 dist(¯ v 0 γ(j) , ¯ v 0 γ(j+1) ) +dist(¯ v 0 γ(n−m) ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n−m X j=1 p γ(j) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n X j=m+1 p σ(j) = L(T ) The second equation is based on (iii) and (iv). (v) ensures the third equation, and the fourth equation relies on (vi), (vii). The fifth equation results from the relationship between γ(·) and σ(·). 2) PCTSP(G)≤ GTSP(G 0 ) 39 On the other hand, suppose T 0 is a GTSP tour in G 0 . Before we proceed our proof, there are several key facts necessarily to mention so that they can help us dive into the structure of T 0 . Fact 23. Any GTSP tour T 0 in G 0 can be assumed to start with the fixed depot v 0 0 . Proof. Fact 23 results from that v 0 0 makes up a single element cluster C 0 0 , so T 0 has to visit it. T 0 is a tour so that T 0 can be assumed to start with v 0 0 . Fact 24. For any GTSP tour T 0 in G 0 , once the tour visits some vertex ¯ v 0 in ¯ V 0 , then there is no vertex in V 0 appearing after ¯ v 0 in T 0 . Proof. Fact 24 holds, since from the construction of G 0 there is no edge from any vertex in ¯ V 0 to any vertex in V 0 . Based on Fact 23 and Fact 24, we can assume the form ofT 0 to beT 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(m) , ¯ v 0 γ(1) ,..., ¯ v 0 γ(n−m) ), whereσ(·)isann−permutationsof{1, 2,...,n}andγ(·)isan (n−m)−permutationof{1, 2,...,n}\{σ(1),...,σ(m)}. Then the length of T 0 can be calculated similarly as in part 1). L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + m−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 dist(¯ v 0 γ(j) , ¯ v 0 γ(j+1) ) +dist(¯ v 0 γ(n−m) ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n−m X j=1 p γ(j) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n X j=m+1 p σ(j) Construct a tour T in G by assigning T = (v 0 ,v σ(1) ,...,v σ(m) ). Then, L(T ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n X j=m+1 p σ(j) = L(T 0 ) Thus, PCTSP(G)≤ GTSP(G 0 ). 40 4.2 Transformation from PCTSP with Vertex Equality Constraint to GTSP In this section, a more complicated variant of the PCTSP will be discussed. In the previous section, the basic version of the PCTSP does not have any other constraint on the quantity of the node selection. However, in reality, we may have more constraints on the number of selected nodes in the PCTSP. Now, in this section, we discuss with the situation that there is an equality constraint on the number of nodes selected in the PCTSP (i.e., a equality constraint on|S| in the formula (4.1)). Formally, we define this problem in the following. Definition 25. In a directed or undirected graph G with vertices v 0 ,v 1 ,...,v n , each vertex v j ∈{v 0 ,...,v n } has its corresponding prize p j ,∀j = 0, 1,...,n, and the cost of moving from v i to v j is w(i,j), 0≤ i,j≤ n,i6= j. A predetermined integer m with 1≤ m≤ n is given. The PCTSP with vertex equality constraint m, denoted by PCTSP eq (G,m), is to find a tour with exactm + 1 vertices, which starts from and ends inv 0 while maximizing the total prizes of visited vertices minus the total costs of them. TosolvetheproblemdescribedinDefinition25,nexttheoremprovidesatransformationfromthePCTSP eq (G,m) to the GTSP. Theorem26. The PCTSP eq (G,m) defined in Definition 25 can be transformed into the GTSP with exact 3n−m+1 vertices. Proof. First, notice that the PCTSP eq (G,m) is max S⊂N,v0∈S X v∈S p v −TSP(S) s.t. |S| =m + 1 (4.3) Here,the“plusone”correspondstothefactthatv 0 mustbevisited. Sincethetotalprizesarefixed, theproblem(4.3) is equivalent to min S⊂N,v0∈S TSP(S) + X v∈N\S p v s.t. |S| =m + 1 (4.4) 41 Therefore, let PCTSP eq (G,m) denote the problem (4.4) in the rest of the proof. Moreover, in the rest of proof we assume 1≤m<n, because ifm =n, the problem is trivial and becomes the traditional TSP. Let V ={v 1 ,...,v n } (those vertices in G except v 0 ), then a new digraph G 0 is constructed as follows. (i) For each v j ∈V, create two copies v 0 j and ¯ v 0 j . Denote all v 0 j by V 0 and all ¯ v 0 j by ¯ V 0 . (ii) Create n−m dummy vertices and denote them by D 0 ={d 0 1 ,...,d 0 n−m }. (iii) Create a copy of v 0 denoted by v 0 0 and add{v 0 0 }∪V 0 ∪ ¯ V 0 ∪D 0 to the digraph G 0 . (iv) Connect v 0 0 →v 0 j with distance w(0,j),∀v 0 j ∈V 0 . (v) Connect v 0 i →v 0 j with distance w(i,j),∀v 0 i ,v 0 j ∈V 0 . (vi) Connect v 0 i → ¯ v 0 j with distance w(i, 0),∀v 0 i ∈V 0 ,∀¯ v 0 j ∈ ¯ V 0 . (vii) Connect ¯ v 0 i →d 0 j with distance p i ,∀¯ v 0 i ∈ ¯ V 0 ,∀d 0 j ∈D 0 . (viii) Connect d 0 i → ¯ v 0 j with distance 0,∀d 0 i ∈D 0 ,∀¯ v 0 j ∈ ¯ V 0 . (ix) Connect d 0 i →v 0 0 with distance 0,∀d 0 i ∈D 0 . (x) For other pairs of vertices in G 0 , the weights of corresponding edges are set to be positive infinity (i.e., there is no edge in between). (xi) Set the clusters to be C 0 0 ={v 0 0 },C 0 1 ={v 0 1 , ¯ v 0 1 },...,C 0 n ={v 0 n , ¯ v 0 n },Q 0 1 ={d 0 1 },Q 0 2 ={d 0 2 },...,Q 0 n−m = {d 0 n−m } An example of the above construction of G 0 with n = 5,m = 3 is shown in Figure 4.3. In G 0 , based on step (iii), there are total n +n + (n−m) + 1 = 3n−m + 1 vertices in the graph G 0 and we claim that PCTSP eq (G,m) = GTSP(G 0 ). 1) PCTSP eq (G,m)≥ GTSP(G 0 ) Suppose T is a PCTSP eq (G,m) tour in G. WLOG, assume T = (v 0 ,v σ(1) ,...,v σ(m) ), where σ(·) is an n−permutation of{1,...,n} and T contains the first m elements of it. The array T expresses that the tour 42 ! " ! # ! $ ! % ! & ! ' n= 5, m = 3 ( # ( " ( ' ( $ ( % ( & ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) (a) (b) (c) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) (d) (e) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) 6 $ 6 " 6 % 6 ) 6 & ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) 6 $ 6 " 6 % 6 ) 6 & (f) (g) Figure 4.3: (a) illustrates the PCTSP eq (G, 3) that will be solved. There are five points v 1 ,...,v 5 and a fixed depot v 0 , and exactly 3 vertices in{v 1 ,...,v 5 } are required to be visited. The prize of each point v j is p j , 0≤j≤ 5. (b) shows the total points created in G 0 based on step (iii). (c) illustrates the step (iv). In (d), the points among V 0 are connected by dotted segments indicating that they are fully connected with the weights defined in step (v). (e) demonstrates the step (vi). For example, the multiple outward edges from vertex v 0 1 mean that v 0 1 can connect to all the points of ¯ V 0 with distancew(i, 0). (f) provides the explanation of the step (vii) and (viii), where the multiple outward edges from vertex ¯ v 0 j , 1≤ j≤ 5 indicate that ¯ v 0 j can connect to any points in D 0 with same distance p j . The multiple outward edges from eachd 0 j with no shown weight mean thatd 0 j can connect to any points in ¯ V 0 with distance 0. The last figure (g) depicts the step (ix). The solid directed edge without weight means the weight is 0. 43 starts from v 0 and proceeds as the ordered elements/vertices in the array T. Finally, the tour comes back to the starting depot v 0 from v σ(m) . The total length of T is L(T ) =w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n X j=m+1 p σ(j) Now, we can construct a tour T 0 in G 0 with same length as T. Let T 0 be T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(m) , ¯ v 0 γ(1) ,d 0 1 , ¯ v 0 γ(2) ,d 0 2 ,..., ¯ v 0 γ(n−m) ,d 0 n−m ) ,where γ(·) is an (n−m)−permutation of{1, 2,...,n}\{σ(1),...,σ(m)}. Notice that T 0 is GTSP-feasible because each cluster has exactly one vertex in T 0 : Cluster C 0 0 has vertex v 0 0 . Cluster C 0 σ(j) has corresponding vertex v 0 σ(j) in T 0 for all 1≤ j≤ m. Each vertex ¯ v 0 γ(j) is chosen from the cluster C 0 γ(j) ,∀γ(j)∈{1, 2,...,n}\{σ(1),...,σ(m)}, 1≤j≤n−m and each vertex d 0 j is chosen from the cluster Q 0 j , 1≤j≤n−m. Letdist(x,y) be the directed edge weight from vertex x to vertexy inG 0 , then the total length of T 0 is L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + m−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) 44 + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n−m X j=1 p γ(j) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n X j=m+1 p σ(j) = L(T ) The second equation is based on (iv), and the third equation comes from (v). (vi) ensures the fourth equation, and the fifth equation relies on (vii), (viii), (ix). The sixth equation results from the relationship between γ(·) andσ(·). 2) PCTSP eq (G,m)≤ GTSP(G 0 ) On the other hand, supposeT 0 is a GTSP tour inG 0 . Notice that all the facts stated in the proof of Theorem 2 also hold here. Therefore, by these facts, we can assume that T 0 has the form T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(m) , ¯ v 0 γ(1) ,d 0 1 ,..., ¯ v 0 γ(n−m) ,d 0 n−m ) ,whereσ(·)isann−permutationsof{1, 2,...,n}andγ(·)isan (n−m)−permutationof{1, 2,...,n}\{σ(1),...,σ(m)}. Then the length of T 0 is L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + m−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(m) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n−m X j=1 p γ(j) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n X m+1 p σ(j) We can construct a tour T in G by assigning T = (v 0 ,v σ(1) ,...,v σ(m) ). Then, L(T ) = w(0,σ(1)) + m−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(m), 0) + n X m+1 p σ(j) 45 = L(T 0 ) i.e., PCTSP eq (G,m)≤ GTSP(G 0 ). 4.3 Transformation from PCTSP with Vertex Inequality Constraint to GTSP In Section 4.2, we provide a way to solve the PCTSP with vertex equality constraint, and in this section the PCTSP with vertex inequality constraint will be discussed. The definition of the PCTSP with vertex inequality constraint is similar to that of the PCTSP with vertex equality constraint except that instead of choosing exact m+1 vertices, the tour can select vertices either less than or equal to m + 1, or more than or equal to m + 1 vertices (i.e., we add a constraint|S|≤m + 1 or|S|≥m + 1 on the problem (4.1) correspondingly). We denote such two types of vertex inequality constraint problem as PCTSP less (G,m) for the case|S|≤m + 1 and PCTSP more (G,m) for the case|S|≥m + 1 respectively. Then, Theorem 27 shows a transformation from the PCTSP less (G,m) to the GTSP, and Theorem 29 provides a transformation from the PCTSP more (G,m) to the GTSP. Theorem 27. In a directed or undirected graph G, suppose there are n + 1 vertices{v 0 ,v 1 ,...,v n }. Each vertex v j has corresponding prize p j ,∀j = 0, 1,...,n, and the cost of moving from v i to v j is w(i,j), 0≤i,j≤n,i6=j. v 0 is the depot that the tour should start from or end in. m is a fixed integer with 1≤m≤n. The PCTSP less (G,m) defined above can be transformed into the GTSP with exact 3n−m + 1 vertices. Proof. For the brevity, we assume that 1≤ m≤ n− 1, which indicates that the case m = n is not considered here. This assumption is reasonable, since m =n makes the problem degenerate to the standard TSP. Moreover, we assume that there is at least one vertex in v 1 ,...,v n that will be visited, i.e.,|S|≥ 2. Otherwise, the optimal 46 tour is (v 0 ), which is fixed and consists of only one point v 0 . Also, by the same reason of the equivalence between the problem (4.3) and the problem (4.4) in Theorem 26, we assume that PCTSP less (G,m) is min S⊂N,v0∈S TSP(S) + X v∈N\S p v s.t. |S|≤m + 1 (4.5) Let V ={v 1 ,...,v n } (those vertices in G except v 0 ), then a new digraph G 0 is constructed as follows. (i) For each v j ∈V, create two copies v 0 j and ¯ v 0 j . Denote all v 0 j by V 0 and all ¯ v 0 j by ¯ V 0 . (ii) Create n−m dummy vertices and denote them by D 0 ={d 0 1 ,...,d 0 n−m }. (iii) Create a copy of v 0 denoted by v 0 0 and add{v 0 0 }∪V 0 ∪ ¯ V 0 ∪D 0 to the digraph G 0 . (iv) Connect v 0 0 →v 0 j with distance w(0,j),∀v 0 j ∈V 0 . (v) Connect v 0 i →v 0 j with distance w(i,j),∀v 0 i ,v 0 j ∈V 0 . (vi) Connect v 0 i → ¯ v 0 j with distance w(i, 0),∀v 0 i ∈V 0 ,∀¯ v 0 j ∈ ¯ V 0 . (vii) Connect ¯ v 0 i →d 0 j with distance p i ,∀¯ v 0 i ∈ ¯ V 0 ,∀d 0 j ∈D 0 . (viii) Connect d 0 i → ¯ v 0 j with distance 0,∀d 0 i ∈D 0 ,∀¯ v 0 j ∈ ¯ V 0 . (ix) Connect d 0 i →v 0 0 with distance 0,∀d 0 i ∈D 0 . (x) Connect ¯ v 0 i → ¯ v 0 j with distance p i ,∀¯ v 0 i , ¯ v 0 j ∈ ¯ V 0 . (xi) For other pairs of vertices in G 0 , the weights of corresponding edges are set to be positive infinity (i.e., there is no edge in between). (xii) Set the clusters to be C 0 0 ={v 0 0 },C 0 1 ={v 0 1 , ¯ v 0 1 },...,C 0 n ={v 0 n , ¯ v 0 n },Q 0 1 ={d 0 1 },Q 0 2 ={d 0 2 },...,Q 0 n−m = {d 0 n−m } The graphical example of the above construction with n = 5,m = 3 is depicted in Figure 4.4. In G 0 , based 47 ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) 6 $ 6 " 6 % 6 ) 6 & ! " ! # ! $ ! % ! & ! ' n= 5, m = 3 ( # ( " ( ' ( $ ( % ( & ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) (a) (b) (c) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) (d) (e) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) 6 $ 6 " 6 % 6 ) 6 & (f) (g) (h) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) 6 $ 6 " 6 % 6 ) 6 & 7(! 8 # ( ,! 9 # ( )=6 8 Figure 4.4: Plots (a)-(g) in this figure are same as those in Figure 4.3. We have one more plot (h) compared with Figure 4.3. In (h), step (x) is illustrated. Particularly, the dotted segments among points in ¯ V 0 mean that they are fully connected with weights defined in the step (x). on step (iii), there are total n +n + (n−m) + 1 = 3n−m + 1 vertices in the graph G 0 and we claim that PCTSP less (G,m) = GTSP(G 0 ). 48 1) PCTSP less (G,m)≥ GTSP(G 0 ) Suppose T is a PCTSP less (G,m) tour in G. WLOG, assume T = (v 0 ,v σ(1) ,...,v σ(k) ), where 1≤ k≤ m,σ(·) is an n−permutation of{1,...,n} andT contains the first k elements of such permutation. The array T expresses that the tour starts from v 0 and proceeds as the ordered elements/vertices in the array T. Finally, the tour comes back to the starting depot v 0 from v σ(k) . The total length of T is L(T ) =w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n X k+1 p σ(j) Now, we can construct a tour T 0 in G 0 with same tour length as T. Let T 0 be T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(k) , ¯ v 0 β(1) ,..., ¯ v 0 β(m−k) , ¯ v 0 γ(1) ,d 0 1 , ¯ v 0 γ(2) ,d 0 2 ,..., ¯ v 0 γ(n−m) ,d 0 n−m ) , where β(·) is an (n−k)−permutation of{{1, 2,...,n}\{σ(1),...,σ(k)}, and γ(·) is an (n−m)−permutation of{1, 2,...,n}\{{σ(1),...,σ(k)}∪{β(1),...,β(m−k)}}. Also, we allow k =m so that{β(1),...,β(m−k)} = {¯ v 0 β(1) ,..., ¯ v 0 β(m−k) } = ∅. Notice that T 0 is GTSP-feasible because each cluster has exactly one vertex in T 0 : Cluster C 0 0 has vertex v 0 0 . Cluster C 0 σ(j) has corresponding vertex v 0 σ(j) in T 0 for all 1≤ j≤ k. Cluster C 0 β(j) has corresponding vertex ¯ v 0 β(j) in T 0 for all β(j)∈{1, 2,...,n}\{σ(1),...,σ(k)}, 1≤j≤m−k. Each vertex ¯ v 0 γ(j) is chosen from the clusterC 0 γ(j) ,∀γ(j)∈{1, 2,...,n}\{{σ(1),...,σ(m)}∪{β(1),...,β(m−k)}}, 1≤j≤n−m, and each vertexd 0 j is chosen from the cluster Q 0 j , 1≤j≤n−m. Letdist(x,y) be the directed edge weight from vertex x to vertex y in G 0 , then the total length of T 0 is L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + k−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(k) , ¯ v 0 β(1) ) + m−k−1 X j=1 dist(¯ v 0 β(j) , ¯ v 0 β(j+1) ) +dist(¯ v 0 β(m−k) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(k) , ¯ v 0 β(1) ) + m−k−1 X j=1 dist(¯ v 0 β(j) , ¯ v 0 β(j+1) ) 49 +dist(¯ v 0 β(m−k) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +dist(v 0 σ(k) , ¯ v 0 β(1) ) + m−k−1 X j=1 dist(¯ v 0 β(j) , ¯ v 0 β(j+1) ) +dist(¯ v 0 β(m−k) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + m−k−1 X j=1 dist(¯ v 0 β(j) , ¯ v 0 β(j+1) ) +dist(¯ v 0 β(m−k) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + m−k−1 X j=1 p β(j) +p β(m−k) + n−m−1 X j=1 p γ(j) +p γ(n−m) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + m−k X j=1 p β(j) + n−m X j=1 p γ(j) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n X k+1 p σ(j) = L(T ) The second equation is based on (iv), and the third equation comes from (v). (vi) ensures the fourth equation and the fifth equation relies on (vii), (viii), (ix), (x). The second last equation holds because of the definitions of σ(·),β(·),γ(·). 2) PCTSP less (G,m)≤ GTSP(G 0 ) Assume T 0 is a GTSP tour in G 0 . Notice that all the facts except Fact 7 and Fact 9 stated in the proof of Theorem 2 hold. Suppose T 0 visits k points of V 0 , which indicates that T 0 visits n−k points of ¯ V 0 . By Fact 5, T 0 visits these k points ofV 0 consecutively first, then it visits points of ¯ V 0 andD 0 . By Fact 6, T 0 visits at least n−m points of ¯ V 0 , which implies k≤m. Then, observe that the length of the sub-tour of T 0 that visits points of ¯ V 0 and 50 D 0 is a constant no matter what the visited order of points of ¯ V 0 and D 0 is, because the weight of outward edge of any point of ¯ V 0 andD 0 is invariant with respect to the ending point of the outward edge. Therefore, combining this observation with Fact 6 implies that when T 0 visits points of ¯ V 0 and D 0 , it can be assumed to visit m−k points of ¯ V 0 consecutively. Then, it will visit 2(n−m) points of ¯ V 0 ∪D 0 in an alternating way. Mathematically, we can assume T 0 has a form T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(k) , ¯ v 0 β(1) ,..., ¯ v 0 β(m−k) , ¯ v 0 γ(1) ,d 0 1 , ¯ v 0 γ(2) ,d 0 2 ,..., ¯ v 0 γ(n−m) ,d 0 n−m ) , where 1≤ k≤ m, σ(·) is an n−permutation of{1,...,n}, β(·) is an (n−k)−permutation of{1, 2,...,n}\ {σ(1),...,σ(k)}, and γ(·) is an (n−m)−permutation of{1, 2,...,n}\{{σ(1),...,σ(k)}∪{β(1),...,β(m−k)}}. The length of T 0 , analogous to the equation derivation in 1), is: L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + k−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(k) , ¯ v 0 β(1) ) + m−k−1 X j=1 dist(¯ v 0 β(j) , ¯ v 0 β(j+1) ) +dist(¯ v 0 β(m−k) , ¯ v 0 γ(1) ) + n−m−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−m) ,d 0 n−m ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + m−k X j=1 p β(j) + n−m X j=1 p γ(j) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n X k+1 p σ(j) WecaneasilyconstructatourinGasT = (v 0 ,v σ(1) ,...,v σ(k) )whoselengthissameasT 0 . Therefore,PCTSP less (G,m)≤ GTSP(G 0 ). Remark 28. Notice that, in the proof of the transformation of the PCTSP with vertex equality constraint (Theo- rem 26), we add n−m dummy vertices. Because of the alternative path between D 0 and ¯ V 0 , this can ensure the number of visited points including v 0 are restricted to be exactm + 1. In the proof of Theorem 27, we make points of ¯ V 0 fully connected so that the number of visited points of ¯ V 0 can be greater than or equal to n−m. Therefore, we can restrict the visited points in G with number less than or equal to m + 1. To restrict the number of visited 51 points to be greater than or equal to m + 1, we need to find a way to ensure that the number of vertices of ¯ V 0 can vary from any number less than or equal to n−m. The way we deploy is to make the dummy vertices fully connected so that this can convert the PCTSP more (G,m) to the desired GTSP as shown in the following theorem. Theorem 29. Under the same assumptions described in Theorem 27, the PCTSP more (G,m) can be transformed into the GTSP with exact 2n−m + 1 vertices. Proof. For brevity, suppose there is at least one vertex that is not visited/selected, i.e.,|S|<n, which further indi- cates thatm≤n−1. Otherwise, the problem degenerates to the standard TSP. Additionally, by the same reason of the equivalence between the problem (4.3) and the problem (4.4) in Theorem 26, we assume that PCTSP more (G,m) is min S⊂N,v0∈S TSP(S) + X v∈N\S p v s.t. |S|≥m + 1 (4.6) . Assume V ={v 1 ,...,v n }. The construction of G 0 is nearly same as that in the proof of Theorem 27 except that we, instead, make the dummy vertices fully connected in the step (x). (i) For each v j ∈V, create two copies v 0 j and ¯ v 0 j . Denote all v 0 j by V 0 and all ¯ v 0 j by ¯ V 0 . (ii) Create n−m dummy vertices and denote them by D 0 ={d 0 1 ,...,d 0 n−m }. (iii) Create a copy of v 0 denoted by v 0 0 and add{v 0 0 }∪V 0 ∪ ¯ V 0 ∪D 0 to the digraph G 0 . (iv) Connect v 0 0 →v 0 j with distance w(0,j),∀v 0 j ∈V 0 . (v) Connect v 0 i →v 0 j with distance w(i,j),∀v 0 i ,v 0 j ∈V 0 . (vi) Connect v 0 i → ¯ v 0 j with distance w(i, 0),∀v 0 i ∈V 0 ,∀¯ v 0 j ∈ ¯ V 0 . (vii) Connect ¯ v 0 i →d 0 j with distance p i ,∀¯ v 0 i ∈ ¯ V 0 ,∀d 0 j ∈D 0 . (viii) Connect d 0 i → ¯ v 0 j with distance 0,∀d 0 i ∈D 0 ,∀¯ v 0 j ∈ ¯ V 0 . (ix) Connect d 0 i →v 0 0 with distance 0,∀d 0 i ∈D 0 . 52 (x) Connect d 0 i →d 0 j with distance 0,∀d 0 i ,d 0 j ∈D 0 . (xi) For other pairs of vertices in G 0 , the weights of corresponding edges are set to be positive infinity (i.e., there is no edge in between). (xii) Set the clusters to be C 0 0 ={v 0 0 },C 0 1 ={v 0 1 , ¯ v 0 1 },...,C 0 n ={v 0 n , ¯ v 0 n },Q 0 1 ={d 0 1 },Q 0 2 ={d 0 2 },...,Q 0 n−m = {d 0 n−m }. The graphical example of the above construction with n = 5,m = 3 is depicted in Figure 4.5. In G 0 , based on step (iii), there are totaln+(n−m)+1 = 2n−m+1 vertices in the graphG 0 and we claim that PCTSP more (G,m) = GTSP(G 0 ). 1) PCTSP more (G,m)≥ GTSP(G 0 ) Suppose T is a PCTSP more (G,m) tour in G. WLOG, assume T = (v 0 ,v σ(1) ,...,v σ(k) ), where m≤k<n,σ(·) is an n−permutation of{1,...,n} and T contains the first k elements of this permutation. The array T expresses that the tour starts from v 0 and proceeds as the ordered elements/vertices in the array T. Finally, the tour comes back to the starting depot v 0 from v σ(k) . The total length of T is L(T ) =w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n X k+1 p σ(j) Now, we can construct a tour T 0 in G 0 with same tour length as T. Let T 0 be T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(k) , ¯ v 0 γ(1) ,d 0 1 , ¯ v 0 γ(2) ,d 0 2 ,..., ¯ v 0 γ(n−k) ,d 0 n−k ,d 0 n−k+1 ,...,d 0 n−m ) ,whereγ(·)isan (n−k)−permutationof{1, 2,...,n}\{σ(1),...,σ(k)}. Also,weallowk =msothat{d 0 n−k+1 ,...,d 0 n−m } =∅. Notice that T 0 is GTSP-feasible because each cluster has exactly one vertex in T 0 : Cluster C 0 0 has vertex v 0 0 . Cluster C 0 σ(j) has corresponding vertex v 0 σ(j) in T 0 for all 1≤ j≤ k. Cluster C 0 γ(j) has corresponding vertex ¯ v 0 γ(j) in T 0 for all γ(j)∈{1, 2,...,n}\{σ(1),...,σ(k)}, 1≤ j≤ n−k. Each vertex d 0 j is chosen from the cluster 53 ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) 6 $ 6 " 6 % 6 ) 6 & ! " ! # ! $ ! % ! & ! ' n= 5, m = 3 ( # ( " ( ' ( $ ( % ( & ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) (a) (b) (c) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) (d) (e) ! " # ! $ # ! % # ! & # ! " # ! $ # ! & # ! % # ' # ' ( # ! ) # ! * # ! ) # + " # + $ # , # w(0,3) w(1,0) w(4,0) w(3,0) w(5,0) w(2,0) 6 $ 6 " 6 % 6 ) 6 & (f) (g) (h) ! " # ! $ # ! % # ! & # ' ( # ! ) # * " # * $ # + # , $ , & , % , " ! - # ! " # ! $ # ! & # ! % # ' # ! ) # ! " # ! $ # ! & # ! % # ' # ! ) # w(0,3) w(4,0) w(5,0) w(1,0) w(3,0) w(2,0) ! - # Figure 4.5: Plots (a)-(g) are same as those in Figure 4.4. Only plot (h) is different from that in Figure 4.4. In (h), step (x) is illustrated. Particularly, the dotted segments among points in D 0 mean that they are fully connected with weight 0 defined in the step (x). Q 0 j , 1≤j≤n−m. Letdist(x,y) be the directed edge weight from vertex x to vertexy inG 0 , then the total length of T 0 is L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + k−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(k) , ¯ v 0 γ(1) ) 54 + n−k−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−k) ,d 0 n−k ) + n−m−1 X j=n−k+1 dist(d 0 j ,d 0 j+1 ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +dist(v 0 σ(k) , ¯ v 0 γ(1) ) + n−k−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−k) ,d 0 n−k ) + n−m−1 X j=n−k+1 dist(d 0 j ,d 0 j+1 ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +dist(v 0 σ(k) , ¯ v 0 γ(1) ) + n−k X j=1 p γ(j) + n−m−1 X j=n−k+1 dist(d 0 j ,d 0 j+1 ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n−k X j=1 p γ(j) + n−m−1 X j=n−k+1 dist(d 0 j ,d 0 j+1 ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n−k X j=1 p γ(j) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n X j=k+1 p σ(j) = L(T ) The second equation is based on (iv) and (v), and the third equation comes from (vii) and (viii). (vi) ensures the fourth equation, and the fifth equation relies on (x), (ix). The second last equation holds because of the definitions of σ(·),γ(·). 2) PCTSP more (G,m)≤ GTSP(G 0 ) Conversely, note that all the facts except Fact 6 and Fact 9 stated in the proof of Theorem 2 also hold here. SupposeT 0 visitsk points ofV 0 , which indicates thatT 0 visitsn−k points of ¯ V 0 . By Fact 5,T 0 visits thesek points of V 0 consecutively first, then it visits points of ¯ V 0 and D 0 . By Fact 7, T 0 visits at least n−k points of D 0 , which impliesn−k≤n−m, i.e.,m≤k. Next, observe that the length of the sub-tour of T 0 that visits points of ¯ V 0 and 55 D 0 is a constant no matter what the visited order of points of ¯ V 0 and D 0 is, because the weight of outward edge of any point of ¯ V 0 and D 0 is invariant with respect to the ending point of the outward edge. Therefore, combining this observation with Fact 7 implies that when T 0 visits points of ¯ V 0 and D 0 it can be assumed to visit 2(n−k) points of ¯ V 0 ∪D 0 in an alternating way. Afterwards, it will visit k−m points ofD 0 consecutively. Mathematically, we can assume T 0 = (v 0 0 ,v 0 σ(1) ,...,v 0 σ(k) , ¯ v 0 γ(1) ,d 0 1 , ¯ v 0 γ(2) ,d 0 2 ,..., ¯ v 0 γ(n−k) ,d 0 n−k ,d 0 n−k+1 ,...,d 0 n−m ) , where m≤ k < n, σ(·) is an n−permutation of{1,...,n}, γ(·) is an (n−k)−permutation of{1, 2,...,n}\ {σ(1),...,σ(k)}. Particularly, Fact 8 ensures the sequence form of points of D 0 in this T 0 . The length of T 0 , analogous to the equation derivation in 1), is: L(T 0 ) = dist(v 0 0 ,v 0 σ(1) ) + k−1 X j=1 dist(v 0 σ(j) ,v 0 σ(j+1) ) +dist(v 0 σ(k) , ¯ v 0 γ(1) ) + n−k−1 X j=1 h dist(¯ v 0 γ(j) ,d 0 j ) +dist(d 0 j , ¯ v 0 γ(j+1) ) i +dist(¯ v 0 γ(n−k) ,d 0 n−k ) + n−m−1 X j=n−k+1 dist(d 0 j ,d 0 j+1 ) +dist(d 0 n−m ,v 0 0 ) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n−k X j=1 p γ(j) = w(0,σ(1)) + k−1 X j=1 w(σ(j),σ(j + 1)) +w(σ(k), 0) + n X k+1 p σ(j) WecaneasilyconstructatourinGasT = (v 0 ,v σ(1) ,...,v σ(k) )whoselengthissameasT 0 . Therefore,PCTSP more (G,m)≤ GTSP(G 0 ). 56 Chapter 5 Conditional Markov Chain Search(CMCS) Inthischapter, anewmeta-heuristicalgorithmaimingtoefficientlysolvetheWTSPwillbediscussed, whichisbased on the conditional Markov chain search (CMCS). CMCS was firstly introduced by [52] to solve the bipartite boolean quadratic programming problem, which consists of several algorithmic components/operators and a configuration. The configuration, in short, is comprised of two transition matrices that take control of the operator selection during the global searching process. It is the exploitation of such configuration that enables CMCS to be flexible enough to model many known meta-heuristics, which will be discussed in Section 5.4. The structure of the following several sections is: Section 5.1 introduces the algorithm components/operators used in the CMCS. Section 5.2 discusses the general scheme of CMCS procedure. Section 5.3 illustrates the main properties of CMCS. As stated before, some special cases of CMCS are discussed in Section 5.4. The exact CMCS based algorithm will be given in Section 5.5. Finally, the procedure of deriving configuration is introduced in Section 5.6. In the rest of this chapter, we assume that there aren vertices{x 1 ,...,x n } andm clusters. A solution obtained during the searching process with length n t is represented by (x 1 ,...,x nt ). For brevity, assume that the index i of any point x i in a tour T = (x 1 ,...,x nt ) must be within range after some operations on it. For example, for a tour T = (x 1 ,...,x nt ) with a pointx i and an integer k, if i +k >n t or i +k < 1 then x i+k =x 1+(i+k−1)(mod nt) . Let weight(x i ,x i+1 ) be the weight of directed edge (x i ,x i+1 ). 57 5.1 Algorithmic Components Operators: Swaps The Swaps operator consists of three sub-operators: Direct-NeighborSwap, 2-NeighborSwap and 3-NeighborSwap. Direct-NeighborSwap tries to swap every pair of vertices that are not adjacent. If the objective value after swapping is improved, we execute this swap. 2-NeighborSwap and 3-NeighborSwap are particular instances of the general- ization k-NeighborSwap. The k-NeighborSwap tries every consecutive subsequence of solution, which is denoted by (x 1 ,...,x k ). For each subsequence, it tries all the non-trivial permutations in order to improve objective value and finally choose the best one with highest improvement for the objective value. Each sub-operator applies all the improvements during one cycle. The detail of k-NeighborSwap procedure is shown in Algorithm 1. The operator Swaps runs these three sub-operators sequentially. Time Complexity Direct-NeighborSwap has time complexityO(n 2 ), since for given pivot position we visit all vertices at the left of the pivotpositiontocheckwhetherthereislocalimprovementifthevertexofcurrentpositionswaptothepivotelement. This process will takeO(n). Since the pivot element hasO(n) choices, the total complexity of Direct-NeighborSwap isO(n 2 ). 2-NeighborSwap and 3-NeighborSwap both have complexityO(n), since there areO(n) possible positions of a pivot element. Given a pivot element, we only need to explore the best solution of possible permutations in a constant time. Therefore, the total complexity of Swaps isO(n 2 ). Algorithm 1 Algorithm for k-NeighborSwap 1: Input Arguments: Current tour array T = (x 1 ,...,x nt ). 2: for i = 1 : n t do 3: Find the consecutive subsequence (x i ,...,x i+k )⊂T. Let L(T ) be the tour length of (x 1 ,...,x nt ). 4: Denote the permutation of (x i ,...,x i+k ) by (x σ(i) ,...,x σ(i+k) ). 5: Find the best permutation (x σ ? (i) ,...,x σ ? (i+k) ) and denote the corresponding tour as T ? . 6: if L(T ? )<L(T ) then 7: Substitute (x i ,...,x i+k ) by (x σ ? (i) ,...,x σ ? (i+k) ) 58 Operator: 2-opt 2-opt is a simple local search algorithm proposed by [25] in order to solve the traveling salesman problem. 2-opt tries to exchange every non-adjacent pair of edges (x i ,x i+1 ) and (x j ,x j+1 ) to edges (x i ,x j ) and (x i+1 ,x j+1 ), if this replacement can improve the total tour length (i.e., weight(x i ,x j ) + weight(x i+1 ,x j+1 ) < weight(x i ,x i+1 ) + weight(x j ,x j+1 )). Although there is no guarantee that this 2-opt can find global optimal solution, real world applications indicate that it is extremely useful and can converge very quickly. Particularly, if the vertices are distributed in convex position, the global optimal convergence can be obtained by the following proposition. Proposition 30. A set of points in the plane is said to be in convex position if none of the points can be represented as a convex combination of the others (in other words, the points form the vertices of a convex polygon). Consider the complete network on a setX ofn points{x 1 ,...,x n }∈R 2 with Euclidean distances between points, and suppose that{x 1 ,...,x n } are in convex position, then the 2-opt algorithm converges to the optimal solution. Proof. Assume without loss of generality that X is ordered so that the sequence{x 1 ,...,x n } is the boundary of a convex polygon C traced counterclockwise. We claim that (x 1 ,...,x n ) is the optimal TSP tour because any other sequence would have a pair of crossing edges in it. To see this, suppose that we have some other tour T that goes from x i to x j , with j >i + 1. The line segment x i x j breaks C into two pieces. Since T is a tour it must contain some edge (x k ,x p ), wherek∈{i + 1,...,j− 1} andp6∈{i + 1,...,j− 1}; in other words, there must be some time where we cross the line segmentx i x j . Thus,T contains a pair of crossing line segments and is therefore sub-optimal, and furthermore, the 2-opt algorithm will uncross these edges. In our algorithm, 2-opt applies all the improvements during one cycle. Time Complexity In [51], Karapetyan et al. proposed an efficient way to implement both symmetric and assymetric 2-opt. The complexity isO(n 2 ). 59 Operator: Inserts Inserts tries to remove a vertex from the solution and insert it into a different position if this adjustment can improve the solution locally. Inserts operator applies to all the improvements found during one cycle. Time Complexity Given a pivot position we need to explore at mostO(n) positions to check a better new inserted position for pivot position vertex, and there are totally at most n possible pivot positions. Thus, the total time complexity isO(n 2 ). Operator: Re-Inserts Re-Inserts extends the idea of insertion heuristic in TSP. In [89], four insertion heuristics are presented: nearest, farthest, random, and cheapest. Rosenkrantz et al. use these heuristics to construct a TSP tour. 1. Nearest insertion Nearestinsertionalwayschoosesthevertexv which isnot includedin thecurrent tourT such thatitminimizes the value s v = min xi∈T {weight(x i ,v)}. 2. Farthest insertion Farthest insertion picks the vertex in the reverse order compared to nearest insertion. It always chooses the vertex v not in the current tour T such that it maximizes the value s v = min xi∈T {weight(x i ,v)}. 3. Random insertion Random insertion picks the vertex randomly. 4. Cheapest insertion Cheapest insertion will choose the vertexv that minimizes the values v = min xi∈T {weight(x i ,v)+weight(v,x i+1 )− weight(x i ,x i+1 )}, where T is current tour. To solve the WTSP, we can apply all four types of insertions because all four insertions maintain the potentially WTSP-feasibility. We introduce a hyper-parameter N i so that at most N i vertices will be re-inserted back to the tour T for each time of executing this operator. Also, we have a hyper-parameter IS, which is a roulette strategy. 60 IS consists of the probability of executing each insertion method. The whole procedure of Re-Inserts is illustrated in Algorithm 2. Algorithm 2 Algorithm for Re-Inserts 1: Input Arguments: 2: Current tour T = (x 1 ,...,x nt ). 3: Set C of vertices not in tour. 4: Hyper-parameters: rand,N i ,IS. 5: Procedure begins: 6: Determine an insertion method according to the roulette strategy IS. 7: Calculate s v ,∀v∈C based on the chosen insertion method. 8: for cnt = 1:N i do 9: Find vertex v with best s v under the criterion of the chosen insertion method. 10: Insert v into the tour T and remove v from C. 11: Update s v ,∀v∈C. Time Complexity For each point v not in current tour T, the calculation time of s v isO(n). Since there are at mostO(n) number of points not in T and the hyper-parameter N i has an upper bound defined in Table 5.1, the total complexity is O(n 2 ). Operator: Removal Generally, Removal operator consists of ways to find and remove redundant vertices in the tour. Suppose the current tour is T = (x 1 ,...,x nt ). Then, we define three different types of removal method: 1. Random Removal Random removal randomly removes a vertex. 2. Farthest Removal Farthest removal removes the vertex x i which maximizes the value r i = weight(x i−1 ,x i ) +weight(x i ,x i+1 )− weight(x i−1 ,x i+1 ). 3. Cheapest Removal Cheapestremovalwillremovethevertexx i whichminimizesthevaluer i = weight(x i−1 ,x i )+weight(x i ,x i+1 )− weight(x i−1 ,x i+1 ). 61 There are three hyper-parameters: N r ,fullRemovalRate,RS. RS is a roulette strategy which consists of the probability of executing each type removal method. After a particular type of removal method is determined, Removal will execute this type of removal method either N r times or as many times as possible, which is decided by fullRemovalRate. Note that the vertex chosen to be deleted according to the criterion of each type of removal methodmustpreservethepotentiallyWTSP-feasibility(i.e.,eachclusterhasatleasttherequirednumberofvisiting times vertices in the solution). Otherwise, the vertex will be maintained in the current tour. The exact Removal procedure is described in Algorithm 3. Algorithm 3 Algorithm for Removal 1: Input Arguments: 2: Current tour T = (x 1 ,...,x nt ). 3: Hyper-parameters: N r ,fullRemovalRate,RS. 4: Procedure begins: 5: Choose a removal method according to the roulette strategy RS. 6: Set up a set S containing all vertices in T. 7: Roll a random float value r among [0, 1]. 8: if r<fullRemovalRate then 9: for cnt = 1:N r do 10: Select the point x i in S according to the criterion of the chosen removal method. 11: if Removing x i preserves the potentially WTSP-feasibility then 12: Remove x i from T. 13: Remove x i from S. 14: else 15: Remove x i from S. 16: else 17: for cnt = 1:n t do 18: Select the point x i in S according to the criterion of the chosen removal method. 19: if Removing x i preserves the potentially WTSP-feasibility then 20: Remove x i from T. 21: Remove x i from S. 22: else 23: Remove x i from S. Time Complexity For each time of execution of chosen removal method, we need to calculate all the r i in the tour in the worst case. Thus, it needsO(n) times. AlsoO(n) times of execution of chosen removal method is needed in the worst case. Thus, the total complexity isO(n 2 ). 62 Operator: Fluctuation Fluctuation focuses on avoiding local optima. Fluctuation removes a random fragment of the tour and inserts it into the end of the tour. We take the length of fragment to be randomly taken betweenb0.03n t c andd0.3n t e. These proportions of fragment range are determined analogous to [41]. During the searching process, there is a variable called idle which records the number of times that the solution does not have local improvement. If idle is greater than a hyper-parameter named fluctIdle, then we force the next operator to be Fluctuation, which performs like jumping over local optima. Operator: Mutation Mutation operator consists of two sub-components: LargeMut and SmallMut. LargeMut performs like a random restart. We put all vertices back to the tour and randomly generate a new permutation. SmallMut performs like a partially random restart. We only collect a portion of those vertices that are not in the current tour and put them back into tour. Then, we randomly generate a new permutation of those vertices in the tour. During each step of Mutation, we choose either LargeMut or SmallMut based on a pre-determined hyper-parameter largeMutRate. To run the Mutation operator, we maintain a hyper-parameter called fluctMax. When the number of times of running Fluctuation exceeds the limitation of fluctMax, we set next operator to be Mutation, which means that fluctMax times of Fluctuation are tried to avoid local optima, but no more improvement can be found. Thus, we decide to restart or partially restart our searching process. Operator: Exact-Removal Most papers using heuristics to solve GTSP utilize the Cluster Optimization (CO), which is introduced by [32]. CO uses the shortest path algorithm for the acyclic directed graph (see, e.g., [2]) to find the best vertex of each cluster when the sequence of clusters is fixed. This technique succeeds based on a critical assumption that exactly one vertex of each cluster is visited. This makes the shortest path generate a GTSP-feasible solution. However, for WTSP there will be multiple vertices of one cluster which will be visited. Thus, shortest path algorithm may not guarantee a WTSP-feasible solution. Alternatively, to play a similar role, we introduce the Exact-Removal operator. 63 Exact-Removal is nearly same as Removal except that Exact-Removal only contains cheapest removal method, and it will execute the cheapest removal method as many times as possible. We run Exact-Removal on the current solution only when a current best solution is found. Also, since in the searching process our solution is always potentially WTSP-feasible, execution of Exact-Removal can ensure the tour to be WTSP-feasible (i.e., the tour contains number of required vertices of each cluster exactly). 5.2 CMCS Scheme The operators described in Section 5.1 should work under a meta-heuristic. We choose to use conditional Markov chain search (CMCS) which was first introduced in [52]. CMCS is derived from the Markov chain hyper-heuristic (MCHH) which was introduced in [67]. In MCHH, a transition matrix applies to indicate the probability of next operator being chosen given the current operator. This transition matrix can be static or dynamic. However, both types may have their own limitations. The dynamic matrix may not provide the convenience for interpretation of individual operator and their combinations. The static matrix may not receive any feedback from the searching process. To take advantage of MCHH and solve the two problems mentioned above, CMCS is introduced. CMCS is parameterised with two matrices: M succ andM fail . If the current operator improves the current solution, M succ is the transition matrix used to determine the next operator. Conversely, if the current operator does not improve the current solution, M fail is chosen to determine the next operator. One of the significant reason of applying CMCS is that it can combine many heuristics in one searching process. To date, there are majorly three state-of-the-art heuristic solvers (GLKH [45], GK [41] and GLNS [95]), which have great performances on solving the GTSP. The operators/heuristics used in their searching processes have a huge difference. By the nature of CMCS, we expect that CMCS can combine and take advantage of all the important operators/heuristics from these three solvers to develop a more efficient solver to solve the WTSP. The general CMCS procedure is provided in Algorithm 4. 5.3 CMCS Properties Below, some properties of CMCS are listed, which make it a good choice in our study. 64 Algorithm 4 Conditional Markov Chain Search Procedure 1: Input Arguments: 2: Set of operatorsH. 3: Initial solution s. 4: Objective function f(·). 5: Matrices M succ and M fail . 6: Procedure begins: 7: Initialize heuristic operator h(·)∈H. 8: Set initial best-found solution s ? =s. 9: Set initial best-found objective f ? =f(s ? ). 10: while termination condition is not satisfied do 11: f old =f(s). 12: s =h(s). 13: f new =f(s). 14: if f new <f old then 15: h = RouletteWheel(M succ 1 ,...,M succ |H| ). 16: if f new <f ? then 17: s ? =s. 18: f ? =f new . 19: else 20: h = RouletteWheel(M fail 1 ,...,M fail |H| ). • CMCS makes it possible to combine multiple heuristic operators during one searching process and each operator can be regarded as a black box. • CMCS has hyper-parameters to determine whether an operator should be included or not, which is much harder for the practitioners to decide in advance. This is especially useful when considering the effectiveness of one component might depend well on another particular components, i.e., some synergistic combinations might be much more effective than the expectations from practitioners. • CMCS has hyper-parameters that control some of operators to be applied more often than others as the rate of some hill climbing components are significantly faster than others. This also eliminates the necessity for practitioners to determine the usage of frequency of each operator in advance. The usage frequency plays an important role in the performance of the heuristic operators, particularly, appropriate choices can take advantage of the imbalance of the run-time of different operators. • As shown in Section 5.4, CMCS is capable to model some of existing known meta-heuristics so that it allows the comparison between different meta-heuristics more easily and directly. 65 • The performance of CMCS does not depend on the exact value of objective function. Unlike some other meta- heuristics, for example, Simulated Annealing, CMCS is rank-based. During the CMCS searching process, only thedifferencebetweencurrentobjectivevalueandpreviousobjectivevalueisrequiredtodeterminethestrategy of next operator selection. This property allows CMCS to perform well between different families of instances. On the contrary, the value-based meta-heuristic (e.g., Simulated Annealing) requires the absolutely objective value to determine the next iteration strategy, which is time-consuming for tuning of hyper-parameters of different family of instances. 5.4 CMCS Special Cases Many meta-heuristics can be modelled by CMCS as mentioned before. Therefore, in this section, some typical examples are illustrated and listed below. • Iterated Local Search IfH ={HC,MUT} includes a hill climbing operator HC and a mutation operator MUT and M succ = HC MUT HC 1 0 MUT 1 0 M fail = HC MUT HC 0 1 MUT 1 0 , then the CMCS implements Iterated Local Search [66]. • Uniform Random Choice Search If M succ =M fail = 1 |H| , then CMCS implements a simple random choice of operators [24]. 66 • Variable Neighbourhood Search IfM succ 6=M fail , this enables CMCS to implement the Variable Neighbourhood Search(VNS). For example, we haveH ={HC1,HC2,HC3,MUT}. The HCk represents the local search of neighbourhood N k . Let M succ andM fail be assigned as below, then the CMCS process exploits the local search on the neighbourhood N 1 until it fails, then it begins to apply HC2. If HC2 leads to a local improvement, then it comes back to HC1. Otherwise, it steps into the local search of neighbourhood N 3 . Similarly, if HC3 succeeds, it comes back to HC1 again. Otherwise, the current solution is the local optima for all three neighbourhoods. Then, a mutation MUT is applied to bounce from the local optima. The procedure described above is exactly equivalent to VNS. M succ = HC1 HC2 HC3 MUT HC1 1 0 0 0 HC2 1 0 0 0 HC3 1 0 0 0 MUT 1 0 0 0 M fail = HC1 HC2 HC3 MUT HC1 0 1 0 0 HC2 0 0 1 0 HC3 0 0 0 1 MUT 1 0 0 0 5.5 Exact CMCS Algorithm Before we illustrate our exact CMCS based algorithm, Table 5.1 shows the setting of our hyper-parameters and termination conditions. In Section 5.1, we introduced all the operators. To apply the configuration, we define an operatorsetH ={Swap,2-opt,Inserts,Removal,Re-Inserts}. Theexecution of theoperators inH is non-deterministic and the execution probability is determined by the configuration (M succ and M fail ) as illustrated in Section 5.2. The way to derive the configuration will be discussed later in Section 5.6. The rest of operators (Fluctuation, Mutation, Exact-Removal) will be employed if some criteria of the solution quality are satisfied. All the details of the exact CMCS based algorithm are provided in Algorithm 5. 67 Hyper-parameter Name Hyper-parameter Value N r ∈Z + min{b 1 + 0.2× number of clustersc, 100} N i ∈Z + min{b 1 + 0.1× number of clustersc, 20} fullRemovalRate∈R + 0.7 largeMutRate∈R + 0.7 fluctMax∈Z + 10 fluctIdle∈Z + 10 IS {random insertion : 0.1,farthest insertion : 0.1, nearest insertion : 0.1,cheapest insertion : 0.7} RS {random removal : 0.1,farthest removal : 0.2,cheapest removal : 0.7} Termination conditions (1) iteration exceeds a pre-determined maximum iteration bound or (2) time exceeds a pre-determined maximum time bound Table 5.1: Setting of Hyper-parameters and Termination Conditions 5.6 CMCS Configuration Instead of hand-designing a meta-heuristic, we chose to use automated generation based on the CMCS schema. Automated generation requires a set of training instances. Although straightforward, directly training on test instances would result in over-fitting (a practice generally considered unfair because an over-trained meta-heuristic might perform well only on a very small set of instances on which it is tuned and then tested), and also would take considerable computational effort. Thus, for training side, we use randomly generated instances and retrieve the configuration as described in the following. • Training instances are generated in the 100× 100 square. • The number of clusters are from 20 to 50 with a random cardinality ranging from 1 to 3. • For each cluster, we also generate a random number (less than or equal to the cardinality of this cluster) to represent the number of times to visit this cluster. • We set the maximum running time as 100 seconds. • Initialize the configuration M succ and M fail to be the uniform distribution (i.e., M succ ij =M fail ij = 1 |H| ,∀1≤ i,j≤|H|). • Suppose the set of all training instance isI. For each training instance inst∈I, we create two|H|×|H| counters/matrices denoted by improvedCounter inst ,unimprovedCounter inst with all cells equal to 0. 68 Algorithm 5 Exact CMCS Algorithm 1: Input Arguments: 2: Set of operatorsH ={Swap,2-opt,Inserts,Removal,Re-Inserts}. 3: Initial solution s derived by choosing a random permutation of{x 1 ,...,x n }. 4: Objective function f(·). 5: Configuration M succ and M fail . 6: All the hyper-parameters deployed in Table 5.1. 7: Procedure begins: 8: Initialize heuristic operator h = Swap. 9: Set two counter variables idle = 0,fluctCnt = 0, where idle counts the number of iterations without local improvement and fluctCnt counts the number of execution of Fluctuation operator. 10: Set initial best-found solution s ? = null. 11: Set initial best-found objective f ? =∞. 12: while termination condition is not satisfied do 13: f old =f(s). 14: s =h(s). 15: f new =f(s). 16: if f new <f old then 17: idle = 0. 18: fluctCnt = 0. 19: h = RouletteWheel(M succ 1 ,...,M succ |H| ). 20: if f new <f ? then 21: Set h 0 = Exact-Removal. 22: Set s 0 =h 0 (s). 23: if f(s 0 )<f ? then 24: s ? =s 0 . 25: f ? =f(s ? ). 26: else 27: idle =idle + 1. 28: h = RouletteWheel(M fail 1 ,...,M fail |H| ). 29: if fluctCnt>fluctMax then 30: Set h 0 = Mutation. 31: s =h 0 (s). 32: Re-initialize h uniformly amongH. 33: idle = 0. 34: fluctCnt = 0. 35: continue. 36: if idle>fluctIdle then 37: Set h 0 = Fluctuation. 38: s =h 0 (s) 39: Re-initialize h uniformly amongH. 40: idle = 0. 41: fluctCnt =fluctCnt + 1. 42: continue. • Suppose that the previous operator isi and has improved the solution locally. If the current operator isj and also improves the solution locally, then we add 1 to improvedCounter inst [i,j]. 69 • Suppose the previous operator is i and has not improved the solution locally. If the current operator is j and improves the solution locally, then we add 1 to unimprovedCounter inst [i,j]. • Foreachinstanceinst, afterwefinishthecountersimprovedCounter inst andunimprovedCounter inst , wenor- malize them to derive the cell probability. (i.e., improvedCounter inst [i,j] = improvedCounterinst[i,j] P |H| j=1 improvedCounterinst[i,j] , 1≤ i,j≤|H|, unimprovedCounter inst [i,j] = unimprovedCounterinst[i,j] P |H| j=1 unimprovedCounterinst[i,j] , 1≤i,j≤|H|) • Updatethefinalconfigurationbytakingthegrandmeanofthecountersofalltheinstances. (i.e.,M succ [i,j] = X inst∈I improvedCounter inst [i,j] |I| ,M fail [i,j] = X inst∈I unimprovedCounter inst [i,j] |I| , 1≤i,j≤|H|) Remark 31. Notice that the operator Re-Inserts is considered in the operator setH. It can hardly improve the solution locally but can lead to further local improvements after the next iteration. We regard it to have a local improvement if the next operator after it has local improvement, which is applied to the calculation of counters above. 70 Chapter 6 Numerical Experiments on WTSP In this chapter, we perform some numerical experiments on the WTSP. On the one hand, based on Chapter 3, we can transform the WTSP to the GTSP, which can be further solved by some state-of-the-art GTSP solvers. To solve the transformed GTSP, we use two GTSP solvers: GLKH and GLNS. GLKH mainly implements general k-opt operators and more details of the implementation can be found in [45]. GLNS is another well-performed heuristic solver to solve the GTSP by using variants of insertion and removal operators which are similar as Re-Inserts and Removal introduced in Section 5.1. [95] illustrates the detailed implementation of GLNS. On the other hand, we also develop a CMCS based algorithm to directly solve the WTSP, which is called CMCS solver in this dissertation. The numerical experiments in Section 6.1 and Section 6.2 focus on the comparison between these two methods on two different test sets. As we discussed in Section 5.4, CMCS can model some famous meta-heuristics such as Variable Neighborhood Search (VNS). In Section 6.3, we will compare our derived configuration based on the training procedures mentioned in Section 5.6 to some VNS configurations. Finally, since the GTSP is a special case of the WTSP, we compare the performance of our CMCS solver on the GTSP benchmark instances in Section 6.4. All the numerical experiments are run on a machine with 2.3 gigahertz Intel Core i5 processor and 8 gigabytes RAM installed. We never run more than one experiment per physical CPU core concurrently, and concurrency is not exploited in any of the numerical experiments. 71 6.1 WTSP on Randomly Generated Data In this section, we generate the test instances as follows: The test instances have number of clusters from 10 to 100. For a given instance, we set the size of the first cluster to be 1, i.e., there is only one point in the first cluster, which acts as a fixed depot. For each of other clusters (of a given instance), we roll a number between 3 to 10 to be its size. Then we randomly generate such number of vertices in the 100× 100 square. For each cluster, we also randomly generate a number as the number of visiting times to this cluster. In Table 6.1, the number in the name indicates the number of clusters of this instance, e.g., input_20 means this test instance has 20 clusters. For all three solvers (CMCS, GLKH, GLNS), we set the maximum running time to be 1200 seconds. For GLKH, we directly deploy the default setting except modifying the maximum running time. For GLNS, we choose to use the slow mode and modify the maximum running time, since the performance of slow mode is better than the medium mode and fast mode in general as shown in [95]. We run each solver on each test instance five times and take the best value. Figure 6.1: Figure 6.1 depicts the ratio of the objective value solved by each solver(GLKH, GLNS, CMCS) compared to the best objective value (among these three solvers) on each instance. For smaller instances, GLNS performs better than GLKH, but for larger instances, GLKH performs better than GLNS. In most instances, CMCS is always the best solver. 72 Figure 6.2: In Figure 6.2, instances are divided into four sets based on their numbers of clusters: [10, 30), [30, 50), [50, 70), [70,100]. For each range, the proportion that each solver behaves as the best solver is depicted, e.g., for the instances with number of clusters less than 30, both GLNS and CMCS are the best solvers for nearly 80% of these instances. For roughly 10% of these instances, GLNS is the uniquely best solver, and CMCS performing as the uniquely best solver accounts for roughly 5% of these instances. There are also about 5% instances left that all of three solvers have same performance on. Other combinations of solvers have no proportion, so there is no corresponding label for them in the legend. One can observe that as the number of clusters increases, CMCS outperforms the other two solvers more obviously. All the simulation results are shown in Table 6.1. Since the heuristic algorithm has the variance, we allow 1% tolerance of the best objective value for all three solvers. This means on each instance, we record the best objective value of the best solver, then the solver with result within the range [1, 1.01] of the best value is considered to be the best one as well. Figure 6.1 shows the ratio that the objective value of each solver compared to that of the best one among these three solvers for each instance. Thus, this ratio is no less than 1. If the ratio is 1 for some solver on some instance, it means this solver has the best objective value on this instance among these three solvers. Figure 6.2 and Figure 6.3 show the best solver on the test instances that each solver accounts for. From Figure 6.3, for nearly 97% of the test instances, CMCS can achieve the best objective value among these three solvers. For about 74% test instances, CMCS is the uniquely best solver among these three solvers. From Figure 6.2, one can 73 observe that CMCS dominates the best solver, especially when the number of clusters is larger than 50, CMCS tends to be the uniquely best solver. Figure 6.3: Figure 6.3 depicts the proportion that each solver performs as the best solver. Note that the legend only lists five combinations of solvers. For other combinations not shown in the legend, they have no proportion. For around 74% of instances, CMCS is the only best solver among the three solvers, and CMCS performs as the best solver for about 97% of test instances. Table 6.1: Comparison Results for Randomly Generated Instances Test Cases Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS input_11 428.0 418.9 418.9 1200.00 89.39 29.81 input_12 453.7 450.4 450.4 932.82 47.71 36.41 input_13 428.0 412.2 412.0 1200.00 61.50 42.33 input_14 466.5 459.0 459.0 583.33 66.95 42.39 input_15 464.2 445.7 445.7 1200.00 122.98 51.79 Continued on next page 74 Test Cases Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS input_16 568.1 539.5 540.3 1200.00 149.84 54.41 input_17 456.5 422.9 421.8 1200.00 304.33 63.91 input_18 538.8 484.8 486.5 1200.00 159.19 62.81 input_19 453.4 429.9 429.9 1200.00 200.10 82.21 input_20 512.7 469.5 469.7 1200.00 258.28 102.42 input_21 525.8 512.9 510.9 1200.00 338.60 113.09 input_22 549.2 496.7 498.7 1200.00 500.09 123.39 input_23 491.6 423.3 421.7 1200.00 1079.73 94.66 input_24 629.7 596.8 586.1 1200.00 507.36 143.79 input_25 639.8 572.2 577.5 1200.00 892.61 156.01 input_26 673.2 644.9 647.8 1200.00 1029.78 167.01 input_27 675.1 627.7 624.9 1200.00 843.99 180.80 input_28 660.8 591.9 598.6 1200.00 1200.00 195.49 input_29 739.5 702.0 724.3 1200.00 1199.95 227.72 input_30 718.1 656.3 659.9 1200.00 1072.43 257.92 input_31 793.6 723.9 716.9 1200.00 1199.96 336.77 input_32 728.6 637.3 631.9 1200.00 1199.99 245.46 input_33 777.3 693.8 684.8 1200.00 1200.00 303.13 input_34 815.0 733.9 722.8 1200.00 1200.00 381.73 input_35 724.8 637.5 611.3 1200.00 1199.97 319.48 input_36 793.2 718.0 683.3 1200.00 1200.00 367.69 input_37 812.5 756.1 699.4 1200.00 1199.96 398.10 input_38 913.4 892.7 885.3 1200.00 1200.00 402.10 input_39 864.8 794.6 783.1 1200.00 1199.96 431.99 input_40 913.6 890.1 884.0 1200.00 1199.96 554.28 input_41 927.1 926.6 882.3 1200.00 1200.00 596.53 input_42 967.4 906.1 892.5 1200.00 1199.96 597.63 input_43 801.3 764.4 726.4 1200.00 1199.98 534.93 Continued on next page 75 Test Cases Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS input_44 932.6 860.6 827.6 1200.00 1199.99 629.36 input_45 920.6 865.2 817.8 1200.00 1199.96 702.32 input_46 917.2 892.7 831.3 1200.00 1200.00 858.17 input_47 847.2 783.7 766.1 1200.00 1199.96 743.94 input_48 893.4 840.8 770.7 1200.00 1199.96 737.99 input_49 916.3 851.1 794.5 1200.00 1200.00 659.78 input_50 977.3 911.7 876.7 1200.00 1199.96 935.46 input_51 971.5 846.9 901.0 1200.00 1200.00 1153.96 input_52 940.4 921.6 844.8 1200.00 1200.00 977.21 input_53 933.1 991.9 861.7 1200.00 1200.00 1180.65 input_54 984.1 978.4 887.6 1226.56 1199.96 1199.36 input_55 888.3 833.5 786.3 1200.00 1199.97 1134.91 input_56 986.4 947.7 871.2 1200.00 1200.00 1186.04 input_57 1024.5 1031.0 915.9 1200.00 1200.00 1200.00 input_58 1010.4 1013.7 918.3 1200.00 1200.00 1200.00 input_59 1067.8 1075.3 960.7 1200.00 1200.00 1200.00 input_60 1111.8 1116.1 964.8 1200.00 1200.00 1200.00 input_61 1000.1 966.6 875.9 1200.00 1200.00 1200.00 input_62 1068.4 1126.4 982.5 1200.00 1200.00 1200.00 input_63 1095.6 1140.3 964.0 1200.00 1200.00 1200.00 input_64 990.1 1063.8 873.9 1200.00 1200.00 1200.00 input_65 1203.3 1233.9 1092.3 1200.00 1200.00 1200.00 input_66 1140.4 1178.1 1003.2 1200.00 1200.00 1200.00 input_67 1128.7 1232.3 1049.8 1200.00 1200.00 1200.00 input_68 1121.1 1209.3 1015.3 1200.00 1200.00 1200.00 input_69 1202.9 1250.0 1070.4 1200.00 1200.00 1200.00 input_70 1236.1 1320.2 1145.9 1200.00 1200.00 1200.00 input_71 1177.6 1299.7 1100.8 1200.00 1200.00 1200.00 Continued on next page 76 Test Cases Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS input_72 1162.2 1255.1 1054.4 1200.00 1200.00 1200.00 input_73 1237.8 1301.4 1110.6 1200.00 1200.00 1200.00 input_74 1198.6 1273.3 1110.0 1200.00 1200.00 1200.00 input_75 1262.7 1328.8 1129.1 1200.00 1200.00 1200.00 input_76 1194.7 1286.8 1111.7 1200.00 1200.00 1200.00 input_77 1240.2 1364.7 1161.6 1200.00 1200.00 1200.00 input_78 1186.6 1297.5 1112.9 1200.00 1200.00 1200.00 input_79 1187.6 1247.4 1099.1 1200.00 1200.00 1200.00 input_80 1247.2 1298.1 1147.0 1200.00 1200.00 1200.00 input_81 1269.1 1343.1 1142.5 1200.00 1200.00 1200.00 input_82 1377.5 1459.9 1255.6 1200.00 1200.00 1200.00 input_83 1190.6 1314.6 1097.1 1200.00 1200.00 1200.00 input_84 1328.6 1421.0 1245.8 1200.00 1200.00 1200.00 input_85 1304.3 1431.8 1181.4 1200.00 1200.00 1200.00 input_86 1267.8 1382.9 1126.5 1200.00 1200.00 1200.00 input_87 1221.3 1309.7 1087.8 1200.00 1200.00 1200.00 input_88 1341.8 1405.6 1238.7 1200.00 1200.00 1200.00 input_89 1289.1 1397.7 1200.4 1200.00 1200.00 1200.00 input_90 1400.4 1444.0 1265.5 1200.00 1200.00 1200.00 input_91 1400.1 1496.8 1284.6 1200.00 1200.00 1200.00 input_92 1321.2 1425.2 1218.7 1200.00 1200.00 1200.00 input_93 1315.9 1426.1 1228.5 1200.00 1200.00 1200.00 input_94 1425.9 1514.8 1326.6 1200.00 1200.00 1200.00 input_95 1289.3 1411.4 1197.1 1200.00 1200.00 1200.00 input_96 1355.1 1459.4 1268.4 1200.00 1200.00 1200.00 input_97 1370.2 1459.5 1243.9 1200.00 1200.00 1200.00 input_98 1357.8 1432.7 1225.9 1200.00 1200.00 1200.00 input_99 1364.1 1447.3 1225.0 1200.00 1200.00 1200.00 Continued on next page 77 Test Cases Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS input_100 1396.1 1502.5 1272.1 1200.00 1200.00 1200.00 6.2 WTSP on GTSP Modified Benchmark Data In this section, instead of generating data randomly, we use the data from the benchmark instances of the GTSP library(GTSP-LIB).[32]and[92]describethatthesebenchmarkinstanceswerecreatedfrom TSP-Lib, wherevertex sets were created using a clustering procedure from standard procedure explained by [32]. Since our test instances should be in a WTSP form, we modify the instances of GTSP-LIB as follows: For a given instance, we take the vertex with index 1 out of the original cluster and make it to be a new single element cluster as the fixed depot. Then, for each cluster after removing vertex 1, we randomly generate a positive integer representing the number of visiting times of this cluster. For all three solvers (CMCS, GLKH, GLNS), we set the maximum running time to be 1200 seconds. For GLKH, we directly deploy the default setting except modifying the maximum running time. For GLNS, we choose to use the slow mode and modify the maximum running time. We run each solver on each test instance five times and take the best value. All the simulation results are shown in Table 6.2. Since the heuristic algorithm has the variance, we allow 1% tolerance of the best objective value for all three solvers. This means on each instance, we record the best objective value of the best solver, then the solver with result within the range [1, 1.01] of the best value is considered to be the best one as well. Figure 6.4 shows the ratio that the objective value of each solver compared to that of the best one among these three solvers. Figure 6.5 and Figure 6.6 show the best solver on the test instances that each solver accounts for. From Figure 6.6, for about 99% of test instances, CMCS can obtain the best objective value among these three solvers. Moreover, CMCS is the uniquely best solver for roughly 42% of test instances. From Figure 6.2 one can observe that CMCS dominates the best solver, especially when the number of clusters is larger than 100, CMCS tends to be the uniquely best solver. After we carefully observe the results in Table 6.2, there are two instances that CMCS has a obviously worse performance than those solved by the transformation method 78 Figure 6.4: Figure 6.4 depicts the ratio of the objective value solved by each solver(GLKH, GLNS, CMCS) compared to the best objective value (among these three solvers) on each instance. For smaller instances, GLNS performs better than GLKH, but for larger instances, GLKH performs better than GLNS. In most cases, CMCS is always the best solver. - 65rbg323, 72rbg358. Both two instances are indeed violating the symmetric property of the distance matrix. In the GTSP-LIB, there are several instances with asymmetric distance matrix used to test the performance of solver on the asymmetric GTSP instances. However, it is more reasonable for the distance matrix of the WTSP to satisfy the symmetric property. Table 6.2: Comparison Results for Benchmark Instances Test Cases Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS 3burma14 2614 2614 2614 10.61 0.50 1.72 4br17 31 31 31 17.75 0.71 2.55 4gr17 1706 1706 1706 6.58 0.73 2.27 4ulysses16 6227 6227 6227 1.49 0.42 2.55 5gr21 2242 2242 2242 13.13 1.28 3.24 5gr24 856 856 856 30.79 1.96 3.26 Continued on next page 79 Test Case Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS 5ulysses22 6551 6551 6551 7.52 1.13 4.51 6bayg29 810 810 810 164.36 4.51 3.85 6bays29 1319 1319 1319 10.19 2.34 6.57 6fri26 602 602 602 68.27 2.29 3.58 7ftv33 685 685 685 390.94 6.46 5.43 8ftv36 945 945 945 88.94 5.30 9.99 8ftv38 925 925 925 155.11 7.43 8.71 9dantzig42 509 509 509 189.08 9.58 11.22 10att48 8016 8016 8016 76.70 10.19 21.81 10gr48 3130 3130 3130 195.07 10.05 21.08 10hk48 8808 8779 8779 215.81 16.52 20.66 11berlin52 5440 5382 5382 125.79 14.89 21.16 11eil51 293 293 293 103.45 13.19 19.24 12brazil58 18591 18422 18422 1156.98 27.31 19.74 14st70 455 455 455 1086.30 34.60 32.57 16eil76 325 308 308 1200.00 59.57 29.21 16pr76 82207 80565 80537 1200.00 65.48 34.10 20gr96 37538 36856 36856 1200.00 109.64 68.56 20kroA100 14821 13692 13641 1200.00 200.18 67.16 20kroB100 16135 15368 15181 1200.00 164.90 73.45 20kroC100 13537 13353 13353 1200.00 167.10 72.45 20kroD100 14362 13969 13912 1200.00 165.41 71.44 20kroE100 15336 15212 15177 1200.00 179.25 77.62 20rat99 855 811 811 1200.00 132.06 75.18 20rd100 5133 4936 4925 1200.00 191.25 67.39 21eil101 421 411 410 1200.00 150.25 90.00 21lin105 11972 11602 11602 1200.00 101.70 95.72 22pr107 34844 33975 33864 1200.00 173.54 84.07 Continued on next page 80 Test Case Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS 24gr120 4826 4740 4740 1200.00 191.79 118.97 25pr124 47430 46001 45955 1200.00 363.71 104.12 26bier127 90289 87444 86600 1200.00 410.12 110.73 26ch130 4002 3787 3777 1200.00 552.54 109.00 28gr137 55261 53952 52943 1200.00 303.99 158.23 28pr136 69633 66247 65775 1200.00 404.48 140.51 29pr144 53619 51983 51702 1200.00 483.70 170.18 30ch150 5312 5003 4989 1200.00 501.10 225.65 30kroA150 18859 18086 17942 1200.00 659.46 205.72 30kroB150 19748 18280 18163 1200.00 662.61 218.12 31pr152 65262 62761 62445 1200.00 696.38 196.03 32u159 32717 30346 30417 1200.00 790.03 215.65 35si175 11126 10866 10742 1200.00 1199.96 225.56 36brg180 1720 1620 1630 1200.00 677.65 324.47 39rat195 1832 1775 1785 1200.00 897.84 429.59 40d198 12802 12604 12430 1200.00 1200.00 373.20 40kroa200 22517 20901 20437 1200.00 1199.96 395.84 40krob200 22709 20748 20370 1200.00 1199.96 398.39 41gr202 31086 29675 29129 1200.00 1200.00 389.25 45ts225 101724 92668 90790 1200.00 1199.96 389.25 45tsp225 3074 3027 2965 1200.00 1200.00 530.29 46gr229 107933 104663 103268 1200.00 1199.96 502.18 46pr226 74902 73210 73102 1200.00 1199.96 409.3 53gil262 1769 1681 1643 1200.00 1200.00 676.37 53pr264 43288 41072 40336 1200.00 1199.96 690.80 56a280 1955 1790 1776 1200.00 1200.00 737.18 60pr299 36149 35909 35051 1200.00 1199.96 944.62 64lin318 31438 31069 29477 1200.00 1199.98 1019.14 Continued on next page 81 Test Case Value Time sec GLKH GLNS CMCS GLKH GLNS CMCS 65rbg323 687 687 701 1200.00 1199.98 1200.00 72rbg358 1021 1034 1097 1200.00 1199.97 1200.00 80rd400 11659 11374 10454 1200.00 1200.00 1200.00 84fl417 10951 10779 10485 1200.00 1199.98 1200.00 87gr431 142094 145653 132913 1200.00 1200.00 1200.00 88pr439 88365 87633 80228 1200.00 1199.97 1200.00 89pcb442 37078 38464 34407 1200.00 1200.00 1200.00 99d493 28816 30461 28309 1200.00 1199.98 1200.00 107ali535 176512 183888 167446 1200.00 1200.00 1200.00 107att532 20668 22034 20009 1200.00 1200.00 1200.00 107si535 32398 32824 31724 1200.00 1200.00 1200.00 113pa561 2081 2218 1952 1200.00 1200.00 1200.00 115rat575 5147 5188 4595 1200.00 1200.00 1200.00 115u574 28241 29710 26482 1200.00 1200.00 1200.00 131p654 31045 31366 30399 1200.00 1200.00 1200.00 132d657 37145 39998 35934 1200.00 1200.00 1200.00 134gr666 239377 256411 232991 1200.00 1200.00 1200.00 145u724 30346 32764 28375 1200.00 1200.00 1200.00 157rat783 6676 7039 6347 1200.00 1200.00 1200.00 200dsj1000 1.46e7 1.58e7 1.40e7 1200.00 1200.00 1200.00 201pr1002 201497 214331 192645 1200.00 1200.00 1200.00 207si1032 58547 59935 57336 1200.00 1200.00 1200.00 212u1060 179280 187160 169837 1200.00 1200.00 1200.00 217vm1084 194611 209430 192602 1200.00 1200.00 1200.00 6.3 CMCS Configuration Comparison As described in Section 5.4, CMCS is able to model some famous meta-heuristics such as Variable Neighborhood Search (VNS). VNS was firstly introduced by Mladenović et al. in [69]. It applies a systematic way to search in a 82 Figure 6.5: In Figure 6.5, instances are divided into five sets based on their numbers of clusters: [3, 30), [30, 50), [50, 70), [70,100), [100, 217]. For each range, the proportion that each solver behaves as the best solver is depicted, e.g., for the instances with number of clusters less than 30, CMCS is the uniquely best solver among these three solvers for roughly 5% of these instances. For nearly 46% of these instances, both GLNS and CMCS can achieve the best objective values among these three solvers. For another 49% of these instances, all of three solvers have same performance. One can observe that as the number of clusters increases, CMCS outperforms the other two solvers more significantly. decent phase to explore the local optimum, and in a perturbation phase to get rid of the local optimum. In this section, we provide some numerical experiments on the VNS configurations, and compare them to our configuration derived by the rule in Section 5.6. Note that our operator set isH ={Swap,2-opt,Inserts,Removal,Re-Inserts}. The operator Re-Inserts usually worsens the solution and helps get out of the local optimum. Thus, we consider it as the mutation operator (MUT) mentioned in Section 5.4. The other four operators are candidates of hill climbing operators (HCs) described in Section 5.4. If we enumerate all the possibilities, there are 4! scenarios. However, for the operator Removal, it has a high probability to be applied one time and then the solution is stuck in the local optimum, according to Algorithm 3 and the hyper-parameter fullRemovalRate shown in Table 5.1. Thus, it cannot be the primary neighborhood (the first neighborhood) in the VNS. Based on above observations and to make our comparison easier but reasonable, we consider three configurations of VNS, where the first three neighborhoods apply the Swap,2-opt,Inserts in a cyclic order, and the fourth neighborhood, explored by Removal, is same. Also, we treat Re-Inserts as the mutation operator for all three configurations. The configurations of these three scenarios are listed below. 83 Figure 6.6: Figure 6.6 depicts the proportion that each solver performs as the best solver. For about 42% of instances, CMCS is the only best solver among such three solvers, and CMCS can obtain the best found value of these three solvers for about 99% of test instances. • Scenario 1 M succ = Swap 2-opt Inserts Removal Re-Inserts Swap 1 0 0 0 0 2-opt 1 0 0 0 0 Inserts 1 0 0 0 0 Removal 1 0 0 0 0 Re-Inserts 1 0 0 0 0 M fail = Swap 2-opt Inserts Removal Re-Inserts Swap 0 1 0 0 0 2-opt 0 0 1 0 0 Inserts 0 0 0 1 0 Removal 0 0 0 0 1 Re-Inserts 1 0 0 0 0 84 • Scenario 2 M succ = Swap 2-opt Inserts Removal Re-Inserts Swap 0 1 0 0 0 2-opt 0 1 0 0 0 Inserts 0 1 0 0 0 Removal 0 1 0 0 0 Re-Inserts 0 1 0 0 0 M fail = Swap 2-opt Inserts Removal Re-Inserts Swap 0 0 0 1 0 2-opt 0 0 1 0 0 Inserts 1 0 0 0 0 Removal 0 0 0 0 1 Re-Inserts 0 1 0 0 0 • Scenario 3 M succ = Swap 2-opt Inserts Removal Re-Inserts Swap 0 0 1 0 0 2-opt 0 0 1 0 0 Inserts 0 0 1 0 0 Removal 0 0 1 0 0 Re-Inserts 0 0 1 0 0 M fail = Swap 2-opt Inserts Removal Re-Inserts Swap 0 1 0 0 0 2-opt 0 0 0 1 0 Inserts 1 0 0 0 0 Removal 0 0 0 0 1 Re-Inserts 0 0 1 0 0 Additionally, we maintain the same usage of Exact-Removal, Fluctuation and Mutation as described in Algorithm 5, under the principle of fair comparison to our CMCS. After executing the operator Fluctuation or Mutation, the 85 searching process comes back to the first neighborhood search. The test data and running setups are also same as those illustrated in Section 6.1. Table 6.3 shows the numerical performance of our derived CMCS and three types of VNS mentioned above on the randomly generated data. Table 6.3: Comparison Results between Different Configurations Test Cases Value CMCS Scenario 1 Scenario 2 Scenario 3 input_11 418.9 418.9 418.9 418.9 input_12 450.4 450.4 450.4 450.4 input_13 412.0 412.0 412.0 412.0 input_14 459.0 459.0 459.0 459.0 input_15 445.7 445.7 445.7 448.5 input_16 540.3 539.4 541.3 541.6 input_17 421.8 430.8 431.0 430.9 input_18 486.5 488.5 487.4 485.9 input_19 429.9 429.9 429.9 431.9 input_20 469.7 467.4 467.4 467.4 input_21 510.9 511.6 511.2 511.6 input_22 498.7 516.2 518.5 528.4 input_23 421.7 437.0 438.0 435.6 input_24 586.1 591.0 592.0 592.2 input_25 577.5 584.6 585.5 592.2 input_26 647.8 654.2 648.8 653.1 input_27 624.9 624.7 626.8 635.7 input_28 598.6 603.9 620.0 623.3 input_29 724.3 737.8 730.2 734.8 input_30 659.9 657.3 656.6 658.5 input_31 716.9 714.1 725.5 729.2 input_32 631.9 641.4 651.8 648.8 input_33 684.8 690.6 689.0 695.6 Continued on next page 86 Test Cases Value CMCS Scenario 1 Scenario 2 Scenario 3 input_34 722.8 748.1 736.5 740.5 input_35 611.3 631.7 645.3 641.4 input_36 683.3 692.0 697.5 682.9 input_37 699.4 713.9 720.8 719.6 input_38 885.3 887.8 893.4 892.9 input_39 783.1 788.6 786.7 798.6 input_40 884.0 894.4 909.5 910.7 input_41 882.3 882.9 887.1 898.5 input_42 892.5 902.2 897.2 913.9 input_43 726.4 728.2 743.9 741.6 input_44 827.6 828.2 846.0 859.6 input_45 817.8 829.8 830.6 840.2 input_46 831.3 844.9 838.5 858.6 input_47 766.1 759.2 779.9 773.1 input_48 770.7 781.9 790.5 789.5 input_49 794.5 796.5 804.8 802.5 input_50 876.7 887.6 899.3 895.1 input_51 901.0 900.4 917.1 913.1 input_52 844.8 868.9 856.3 869.8 input_53 861.7 875.3 886.4 879.1 input_54 887.6 894.8 909.5 913.2 input_55 786.3 808.6 813.1 798.0 input_56 871.2 896.7 918.4 929.4 input_57 915.9 943.2 944.5 963.6 input_58 918.3 941.7 947.0 958.6 input_59 960.7 975.1 967.0 983.8 input_60 964.8 971.2 962.2 994.4 input_61 875.9 888.3 889.4 896.4 Continued on next page 87 Test Cases Value CMCS Scenario 1 Scenario 2 Scenario 3 input_62 982.5 985.5 999.7 1016.2 input_63 964.0 983.1 986.0 1000.2 input_64 873.9 886.2 883.2 905.8 input_65 1092.3 1102.9 1105.9 1124.2 input_66 1003.2 1026.2 1041.9 1047.3 input_67 1049.8 1061.7 1061.0 1066.3 input_68 1015.3 1026.5 1019.4 1050.1 input_69 1070.4 1080.7 1085.3 1100.7 input_70 1145.9 1144.3 1154.9 1159.8 input_71 1100.8 1105.0 1131.3 1126.3 input_72 1054.4 1069.6 1077.3 1088.7 input_73 1110.6 1113.1 1114.8 1145.7 input_74 1110.0 1132.5 1143.5 1152.0 input_75 1129.1 1142.2 1159.5 1180.8 input_76 1111.7 1126.0 1130.8 1157.9 input_77 1161.6 1179.4 1188.3 1191.6 input_78 1112.9 1124.2 1125.5 1130.1 input_79 1099.1 1109.9 1122.2 1144.8 input_80 1147.0 1161.8 1172.5 1191.7 input_81 1142.5 1164.5 1174.4 1181.3 input_82 1255.6 1248.2 1270.6 1290.7 input_83 1097.1 1096.1 1114.1 1119.6 input_84 1245.8 1248.7 1267.9 1270.7 input_85 1181.4 1181.7 1203.9 1216.3 input_86 1126.5 1167.3 1177.0 1182.2 input_87 1087.8 1107.1 1113.1 1116.8 input_88 1238.7 1240.5 1259.3 1275.3 input_89 1200.4 1212.5 1227.2 1247.3 Continued on next page 88 Test Cases Value CMCS Scenario 1 Scenario 2 Scenario 3 input_90 1265.5 1286.0 1286.8 1309.5 input_91 1284.6 1296.2 1307.6 1334.4 input_92 1218.7 1240.7 1247.4 1255.0 input_93 1228.5 1240.7 1247.4 1272.5 input_94 1326.6 1339.0 1349.4 1383.9 input_95 1197.1 1227.2 1224.4 1253.3 input_96 1268.4 1283.5 1303.7 1309.1 input_97 1243.9 1256.8 1264.6 1293.5 input_98 1225.9 1247.6 1243.0 1278.1 input_99 1225.0 1222.8 1252.0 1279.4 input_100 1272.1 1277.2 1289.2 1303.3 In Table 6.3, for each instance, if the best objective value is better than that of the second best one with more than 1%, it will be marked in bold. Therefore, from Table 6.3, for nearly 45% instances our derived CMCS configuration can perform a significantly better result than the other three VNS configurations. For other instances, our CMCS configuration performs at least same well as the best one among the other three VNS configurations. 6.4 CMCS on GTSP Benchmark Instances Since the GTSP is a special case of the WTSP, in this section, we want to test the performance of our CMCS solver on the GTSP instances. We use the GTSP benchmark instances created by Gutin and Karapetyan in [41]. Among these test instances, we choose the symmetric instances with cluster cardinality less than or equal to 100. For each instance, we run CMCS solver 5 times with maximum time 1200 seconds, and choose the best one. Then, we compare the objective values calculated by CMCS solver to the current best known objective values, and the entire results are illustrated in Table 6.4. 89 Table 6.4: Results of CMCS Solver on the GTSP Benchmark Instances Test Cases Value Δ = 100× CMCS−Best Known Best Known Best Known CMCS 3burma14 1805 1805 0.00 4br17 31 31 0.00 4gr17 1309 1309 0.00 4ulysses16 4539 4539 0.00 5gr21 1740 1740 0.00 5gr24 334 334 0.00 5ulysses22 5307 5307 0.00 6bayg29 707 707 0.00 6bays29 822 822 0.00 6fri26 481 481 0.00 7ftv33 476 476 0.00 8ftv36 525 525 0.00 8ftv38 511 511 0.00 9dantzig42 417 417 0.00 10att48 5394 5394 0.00 10gr48 1834 1834 0.00 10hk48 6386 6386 0.00 11berlin52 4040 4040 0.00 11eil51 174 174 0.00 12brazil58 15332 15332 0.00 14st70 316 316 0.00 16eil76 209 209 0.00 16pr76 64925 64927 0.00 20gr96 29440 29440 0.00 20kroA100 9711 9711 0.00 20kroB100 10328 10328 0.00 20kroC100 9554 9554 0.00 Continued on next page 90 Test Cases Value Δ = 100× CMCS−Best Known Best Known Best Known CMCS 20kroD100 9450 9450 0.00 20kroE100 9523 9523 0.00 20rat99 497 497 0.00 20rd100 3650 3650 0.00 21eil101 249 249 0.00 21lin105 8213 8213 0.00 22pr107 27898 27898 0.00 24gr120 2769 2769 0.00 25pr124 36605 36605 0.00 26bier127 72418 72418 0.00 26ch130 2828 2828 0.00 28gr137 36417 36442 0.06 28pr136 42570 42873 0.71 29pr144 45886 45910 0.05 30ch150 2750 2750 0.00 30kroA150 11018 11018 0.00 30kroB150 12196 12207 0.09 31pr152 51576 51679 0.19 32u159 22664 22681 0.07 35si175 5564 5618 0.09 39rat195 854 854 0.00 40d198 10557 10567 0.09 40kroa200 13406 13406 0.00 40krob200 13111 13264 1.16 41gr202 23301 23351 0.32 45ts225 68340 69078 1.07 45tsp225 1612 1633 1.30 46gr229 71972 72023 0.07 Continued on next page 91 Test Cases Value Δ = 100× CMCS−Best Known Best Known Best Known CMCS 46pr226 64007 64046 0.06 53gil262 1013 1053 3.94 53pr264 29549 29760 0.71 56a280 1079 1087 0.74 60pr299 22615 23052 1.93 64lin318 20765 21378 2.95 80rd400 6361 6807 7.01 81rbg403 1170 1338 2.78 84fl417 9651 9663 0.12 87gr431 101946 104138 2.15 88pr439 60099 61107 1.67 89pcb442 21657 22635 4.51 99d493 20023 20814 3.95 From Table 6.4, CMCS solver can obtain the objective value within 5% range compared to the best known objective value for all the instances except the case 80rd400. This observation is rather promising, since CMCS solver is designed to solve a fairly generalized problem instead of the GTSP. GTSP, as a special case of the WTSP, has a very strong property: Exact one vertex is chosen from each cluster. It is just this property that allows many GTSP solvers to apply the Cluster Optimization (CO), which was firstly introduced by [32]. CO is a GTSP local search algorithm that finds the optimal selection of vertices within clusters while keeping the order in which the clusters are visited intact. CO is an example of a very large scale neighbourhood search, as the size of the corresponding neighbourhood is exponential in the number of clusters, but it takes only polynomial time to find the best of the solutions in the neighbourhood. This is achieved by constructing a special graph and finding the shortest path of it. For the WTSP, this property no longer holds, which makes it harder to search for optimal values. However, the results from Table 6.4 reflect the strength of the searching process of CMCS solver, even on the GTSP instances. 92 Chapter 7 Application on Warehouse Random Stow Strategy As briefly discussed in Chapter 2, the WTSP model can be used in warehouse random stow strategy. Provided by [76], the warehousing process can be divided into different phases, i.e., receiving, storage, order-picking and shipping. In this chapter, our main focus is on the order-picking phase. We will study how we can apply the WTSP model to the order-picking strategy, and compare our WTSP model to the Amazon’s Kiva system [56]. The literature review of the traditional warehouse storage strategy is provided in Section 2.3. Now, in the rest of this chapter, we will firstly explain the Amazon’s Kiva system and propose our WTSP warehouse strategy in Section 7.1. Then, in Section 7.2, we will elaborate simulations of both the Kiva system and the WTSP system, and compare the performance between these two systems on the real data obtained from the company JD.com. 7.1 Amazon’s Kiva System vs. WTSP Warehouse System Kiva System was a Massachusetts-based company that manufactures mobile robotic fulfillment systems, acquired by Amazon in 2012 [27], and was renamed as Amazon Robotics afterwards. In 2014, Amazon started to use the machine made by the company, to build an automated warehouse that can cut the operating expenses by about 20% [54]. In this chapter, we will use the word “Kiva” to represent the robot used in Amazon’s automated warehouse. In order to understand how a Kiva robot does the order-picking, see Figure 7.1 for the detailed explanation of how the system works. The advantage of incorporating Kiva to replace some of the human labors is manifest. It can greatly boost the efficiency of order-picking (humans do not need to go into the shelves area to manually pick SKUs 93 Figure 7.1: This sketch is reproduced from [80], representing the automated warehouse using Kiva. There are three major components in a Kiva warehouse - (1) green squares, which denote vertical pallets/shelves containing different SKUs (one single pallet/shelf contains several different SKUs), (2) orange squares, which denote Kiva robots, and each Kiva is able to carry an entire pallet/shelf and move around, (3) Blue squares, which denote stations. When a particular item in an order is requested, a Kiva is assigned to carry a pallet/shelf which contains that item to the station, and human workers at stations will manually pick up the SKUs needed to fulfill the order, then the pallet/shelf will be carried back to the storage area by a Kiva. Notice that the returning position and the carrying Kiva may not be the original ones. for each order). In Section 7.2, we will give numerical analysis to estimate the performance of the Kiva system in terms of the traveling distance of the robots, and compare it with the WTSP warehouse we will introduce later. As we can see, by the nature of warehouse randomized storage policy, the WTSP can be directly applied to solve the order-picking process for the warehouse pickers. Specifically, in Figure 1.2 where same type of SKUs have same color and are randomly located at multiple places in the warehouse, when an order arrives, a warehouse picker will go around the shelves and pick up all the required SKUs to fulfill the order. To our best knowledge, currently there is no robot that is able to pick up multiple SKUs from shelves in a single run. Thus the order pickers are most 94 likely to be the human workers. In the next section, we will elaborate a real warehouse data simulation to compare the efficiency between the Kiva system and the WTSP system. 7.2 Simulation on Kiva Warehouse and WTSP Warehouse In this section, our goal is to simulate the order fulfillment process in a Kiva warehouse and in a WTSP warehouse, and compare the costs of these two types of warehouses. The test data is obtained from the company JD.com. We will first go over the experiment settings such as data information, warehouse construction and algorithms of these two types of warehouse strategies in Section 7.2.1. Then, the numerical results under variant parameter settings will be shown in Section 7.2.2. 7.2.1 Experiment Setup Data Information: The data we used is obtained from JD.com company which is the largest online retailer and biggest overall retailer, as well as the country’s biggest Internet company by revenue in China. It contains all the order information of JD.com from 07/01/2015 to 06/30/2016 in north China area. In order to easily deploy the data, we choose the order information of five days ranging from 01/01/2016 to 01/05/2016. Furthermore, since the order information of each day contains a large number of customer orders that includes only one item and the single item order would incur the same distance costs for both two types of warehouse strategies, we do not count them in our simulation. After the filtering, the number of daily orders roughly ranges between 3000 to 6000. Warehouse Construction: In the warehouse, we assume there are n different SKUs stored in this warehouse, denoted by{1, 2,...,n}, and let #Diff SKUs =n for future reference. The value of #Diff SKUs is obtained from the daily order information, which is the total number of different SKUs recorded in the daily orders. Furthermore, Figure 7.2 shows a layout of the JD’s warehouse. Since our simulation is to investigate the order-picking efficiency, we only focus on the warehouse activities in the Picking Area. Based on the JD’s layout, we assume that the warehouse is scaled to a 1.2× 2 rectangle without considering the unit. Suppose the warehouse contains #Shelves totally and these shelves are distributed over a k×k lattice grid where each lattice represents one shelf. Therefore, 95 俯 视 图 A S R S 存 储区 2 0 0 米 1 2 0 米 2 0 0 米 拣选区 200m 200m 120m ASRS Storage Area Picking Area Bird’s-eye View Figure 7.2: This is the layout of the JD’s warehouse. There are two areas - Storage Area, Picking Area. The Storage Area is a 80× 200 square meters rectangle and will constantly provides SKUs to the Picking Area. The Picking Area has 120× 200 square meters and the warehouse pickers will pick up the required items in it. The thin blue rectangles in the Picking Area are the pallets/shelves. Near the border of the Picking Area, there are several stations that workers can carry SKUs to. #Shelves = k×k. Additionally, we have a parameter #SKUs shelf , i.e., number of SKUs in each shelf. Note that the replacement of SKU is allowed in each shelf. Specifically, for each shelf, we will randomly generate a subset of {1, 2,..., #Diff SKUs} with fixed cardinality #SKUs shelf associated with the shelf. Moreover, as shown in Figure 7.2, there are several stations along three edges of Picking Area. For brevity, we simplify that there is only one station that can be located in one of the centers of these three edges (i.e., (0, 0.6), (1, 0), or (2, 0.6)). As a result, we have 3 parameters in our simulation - Station Location, #Shelves, #SKUs shelf . Moreover, some assumptions are made to make this problem tractable - (1) all the shelves are considered to be single points; (2) each shelf contains the exact number of #SKUs shelf SKUs; (3) a warehouse picker has infinite capacity, 96 i.e., in a single run, the worker can pick arbitrary amount of items; (4) distances are measured by two-dimensional Euclidean distance. WTSP warehouse simulation: To simulate the WTSP warehouse, we generate the warehouse layout based on the input parameters: Station Location, #Shelves, #SKUs shelf . To calculate the picking costs of each order, we will create a WTSP instance corresponding to each order individually, in which same type of SKUs forms one cluster. Since the size of each order is relatively small, we apply our transformation techniques and use GLNS solver [95] to solve the transformed GTSP problem as introduced in Chapter 3. We calculate both total cost and average cost of all the orders in each day. The detailed algorithm is described in the Algorithm 6. Algorithm 6 The WTSP Warehouse Simulation on One-Day Order Information 1: procedure WTSP-Warehouse-Simulation(Station Location, #Shelves, #SKUs shelf ) 2: Denote the one-day order information file as File. 3: Assign #Diff SKUs to be the total number of different SKUs in File. 4: Generate #Shelves shelves (ak×k grid wherek = √ #Shelves), and for each shelf randomly generate #SKUs shelf number of SKUs from the set{1, 2,..., #Diff SKUs}. 5: for order :File do 6: if order is infeasible then continue. . An order is feasible if the warehouse contains enough SKUs that are capable to satisfy the product quantity requirement of the order. 7: Find all the shelves that contain at least one SKU in the order, and calculate the distance matrix based on 2D-Euclidean distance. 8: Solve the WTSP instance based on 2D-Euclidean distance matrix. . This is a WTSP instance where each SKU in the order is regarded as a vertex, and each type of SKUs appearing in the order will form a set. 9: return the total/average traveling cost of File. Kiva warehouse simulation: Considering the Kiva warehouse, we have the same setting with the WTSP ware- house described above, except that we use Kiva robots to fulfill the orders. Apart from the four assumptions above for the warehouse, we have some more characters for Kiva system. Compared with a real Kiva system described in Figure 7.1, we assume that each shelf being carried to the work station will be carried back to the same position afterwards; for each round trip of a shelf, we only count the distance of the round trip and disregard any other cost for Kiva in order to travel to get the shelf. We follow Algorithm 7 to execute the Kiva warehouse simulation. It’s very similar to the WTSP warehouse simulation as described in Algorithm 6, except that we modify the distance matrix of the Kiva system as shown in Figure 7.3. Therefore, we can take advantage of the same GLNS solver to solve the Kiva system. 97 Station 1 2 3 4 1 6 8 10 2 6 7 9 3 4 6 8 5 7 9 10 1 4 5 10 4 5 7 9 6 7 9 10 (a) Station 1 2 3 4 1 6 8 10 2 6 7 9 3 4 6 8 5 7 9 10 1 4 5 10 4 5 7 9 6 7 9 10 distance = a distance = b distance = a + b (b) Figure 7.3: First, let’s look at Figure 7.3a. In this warehouse applying the Kiva system, we have n = 10 different types of SKUs labeled from 1 to 10 and 8 shelves, and each shelf contains 4 types of SKUs. Suppose we need to fulfill an order that contains{1, 4, 7, 9, 10}, then the Kiva robots will need to visit some nearest shelves regarding to the distance from the station to the shelves that contain all of the required SKUs. Note that the Kiva carries an entire shelf to the station one at a time and then carries it back. However, we can still solve this problem as a WTSP instance by modifying the distance matrix. Exactly speaking, for each pair of points from two different shelves, the distance between them is the distance from the station to one point plus the distance from the station to another point, as indicated in Figure 7.3b. Algorithm 7 Kiva Warehouse Simulation on One-Day Order Information 1: procedure Kiva-Warehouse-Simulation(Station Location, #Shelves, #SKUs shelf ) 2: Denote the one-day order information file as File. 3: Assign #Diff SKUs to be the total number of different SKUs in File. 4: Generate #Shelves shelves (ak×k grid wherek = √ #Shelves), and for each shelf randomly generate #SKUs shelf number of SKUs from the set{1, 2,..., #Diff SKUs}. 5: for order :File do 6: if order is infeasible then continue. . An order is feasible if the warehouse contains enough SKUs that are capable to satisfy the product quantity requirement of the order. 7: Find all shelves that contain at least one SKU in the order, and calculate the modified distance matrix based on 2D-Euclidean distance and the rule in Figure 7.3b. 8: Solve the WTSP instance based on 2D-Euclidean modified distance matrix. . This is a WTSP instance where each SKU in the order is regarded as a vertex, and each type of SKUs appearing in the order will form a set. 9: return the total/average traveling cost of File. 98 7.2.2 Numerical Results In this section, we compare the traveling costs between the WTSP warehouse and the Kiva warehouse, which are calculated according to Algorithm 6 and Algorithm 7 respectively. Based on the experiment setup in Section 7.2.1, we control and enumerate the parameters - Station Location, #Shelves , #SKUs shelf , and list the numerical results in Table 7.1. Note that for each configuration, we generate and run instances 10 times, and take the average to obtain the final values. AsshowninTable7.1, wedividethetableintothreepartsbychangingStationLocation(markedbydouble-line). Within each part, we experiment based on different #Shelves, #SKUs shelf and the dates of data. Some observations follow from Table 7.1. 1. Most obviously and most importantly, the WTSP warehouse can be much more efficient than the Kiva warehouse. In all scenarios, the daily cost of the Kiva warehouse is higher than that of the WTSP warehouse significantly. To be more specific, the Kiva warehouse roughly has more than 30% higher cost than the WTSP warehouse, sometimes nearly 50%, depending on different warehouse setups. This significantly higher cost of the Kiva System is only considered under the assumption that we get rid of the idle traveling costs of Kiva, i.e., the traveling costs of Kiva without carrying shelves are not counted. If we embrace the idle traveling costs and take the factor of potential collision problem into consideration, the cost of the Kiva system could be much higher than the WTSP system. 2. Aswelookattheresultswith #Shelvesasthecontrolfactor, bothWTSPAverageCostandKivaAverageCost generally decrease as the #Shelves increases. This aligns our expectation, since the increment of #Shelves improves the power of the fulfillment. In more detail, more shelves can provide more possible locations to fulfill the order requirements. 3. As we observe the results with #SKUs shelf as the control factor, both WTSP Average Cost and Kiva Average Cost generally decrease as the #SKUs shelf increases. This also satisfies our expectation, because the increment of #SKUs shelf , similarly as #Shelves, improves the power of the fulfillment. 99 We have to admit that the comparison between the WTSP and the Kiva is a little bit unrealistic because of the assumptions we made to simplify the problem. However, by the nature of the structure of the WTSP warehouse system, it obviously has its own advantage over Kiva system, because a warehouse picker can collect multiple items in a single run. Currently, for the WTSP warehouse, we need human pickers (human labor could be much cheaper in some developing countries) to collect items, since there is no reliable robot which can take on this task. In the future, when this type of robot becomes available, the WTSP warehouse will be a more promising way to greatly increase the order fulfillment efficiency. Table 7.1: The Warehouse Fulfillment Simulation Results Using the WTSP and the Kiva Systems Station Location Date # Shelves # SKUs shelf WTSP Total/Avg Cost Kiva Total/Avg Cost (0, 0.6) 01/01/2016 225 15 351.28/0.23 510.75/0.33 (0, 0.6) 01/02/2016 225 15 420.60/0.23 607.84/0.34 (0, 0.6) 01/03/2016 225 15 381.31/0.25 560.77/0.37 (0, 0.6) 01/04/2016 225 15 450.78/0.26 671.73/0.39 (0, 0.6) 01/05/2016 225 15 491.30/0.26 723.02/0.39 (0, 0.6) 01/01/2016 225 20 510.78/0.23 741.52/0.33 (0, 0.6) 01/02/2016 225 20 413.49/0.20 598.33/0.30 (0, 0.6) 01/03/2016 225 20 426.56/0.22 623.21/0.32 (0, 0.6) 01/04/2016 225 20 571.27/0.24 840.29/0.36 (0, 0.6) 01/05/2016 225 20 527.76/0.22 768.97/0.33 (0, 0.6) 01/01/2016 400 15 472.10/0.19 680.13/0.27 (0, 0.6) 01/02/2016 400 15 397.73/0.18 588.18/0.27 (0, 0.6) 01/03/2016 400 15 502.95/0.21 744.41/0.31 (0, 0.6) 01/04/2016 400 15 618.16/0.22 930.92/0.33 (0, 0.6) 01/05/2016 400 15 512.42/0.20 746.59/0.29 (0, 0.6) 01/01/2016 400 20 518.20/0.19 767.85/0.27 (0, 0.6) 01/02/2016 400 20 375.68/0.16 560.32/0.24 (0, 0.6) 01/03/2016 400 20 421.92/0.17 636.04/0.25 (0, 0.6) 01/04/2016 400 20 675.62/0.21 1063.73/0.32 (0, 0.6) 01/05/2016 400 20 505.50/0.19 749.94/0.28 (1, 0) 01/01/2016 225 15 411.25/0.20 588.07/0.28 100 Table 7.1: The Warehouse Fulfillment Simulation Results Using the WTSP and the Kiva Systems Station Location Date # Shelves # SKUs shelf WTSP Total/Avg Cost Kiva Total/Avg Cost (1, 0) 01/02/2016 225 15 332.38/0.21 475.10/0.30 (1, 0) 01/03/2016 225 15 376.62/0.21 539.21/0.30 (1, 0) 01/04/2016 225 15 368.23/0.23 514.05/0.32 (1, 0) 01/05/2016 225 15 353.24/0.19 494.78/0.26 (1, 0) 01/01/2016 225 20 436.52/0.20 624.43/0.28 (1, 0) 01/02/2016 225 20 347.69/0.19 492.55/0.27 (1, 0) 01/03/2016 225 20 418.77/0.20 591.85/0.28 (1, 0) 01/04/2016 225 20 441.03/0.21 646.91/0.30 (1, 0) 01/05/2016 225 20 446.95/0.19 623.14/0.26 (1, 0) 01/01/2016 400 15 409.41/0.17 596.22/0.24 (1, 0) 01/02/2016 400 15 362.02/0.17 518.16/0.24 (1, 0) 01/03/2016 400 15 440.03/0.19 654.27/0.28 (1, 0) 01/04/2016 400 15 487.41/0.20 721.59/0.30 (1, 0) 01/05/2016 400 15 452.83/0.17 674.42/0.26 (1, 0) 01/01/2016 400 20 428.32/0.16 629.27/0.23 (1, 0) 01/02/2016 400 20 347.00/0.15 517.16/0.23 (1, 0) 01/03/2016 400 20 403.29/0.17 597.05/0.25 (1, 0) 01/04/2016 400 20 604.70/0.18 929.35/0.28 (1, 0) 01/05/2016 400 20 418.08/0.15 615.50/0.23 (2, 0.6) 01/01/2016 225 15 562.86/0.27 814.91/0.39 (2, 0.6) 01/02/2016 225 15 368.32/0.23 529.32/0.32 (2, 0.6) 01/03/2016 225 15 374.01/0.23 546.85/0.34 (2, 0.6) 01/04/2016 225 15 410.33/0.25 601.93/0.37 (2, 0.6) 01/05/2016 225 15 441.87/0.23 632.04/0.33 (2, 0.6) 01/01/2016 225 20 514.37/0.22 737.05/0.31 (2, 0.6) 01/02/2016 225 20 386.66/0.20 567.04/0.30 (2, 0.6) 01/03/2016 225 20 445.11/0.21 660.31/0.32 (2, 0.6) 01/04/2016 225 20 569.96/0.25 856.69/0.38 (2, 0.6) 01/05/2016 225 20 479.60/0.21 698.01/0.31 (2, 0.6) 01/01/2016 400 15 497.39/0.19 714.19/0.28 101 Table 7.1: The Warehouse Fulfillment Simulation Results Using the WTSP and the Kiva Systems Station Location Date # Shelves # SKUs shelf WTSP Total/Avg Cost Kiva Total/Avg Cost (2, 0.6) 01/02/2016 400 15 448.04/0.21 649.29/0.30 (2, 0.6) 01/03/2016 400 15 493.30/0.21 738.60/0.32 (2, 0.6) 01/04/2016 400 15 627.74/0.22 960.58/0.34 (2, 0.6) 01/05/2016 400 15 482.80/0.19 698.84/0.28 (2, 0.6) 01/01/2016 400 20 521.07/0.19 775.63/0.28 (2, 0.6) 01/02/2016 400 20 355.29/0.16 528.72/0.23 (2, 0.6) 01/03/2016 400 20 444.45/0.18 662.91/0.27 (2, 0.6) 01/04/2016 400 20 702.93/0.22 1094.31/0.34 (2, 0.6) 01/05/2016 400 20 464.47/0.17 670.04/0.24 102 Chapter 8 Conclusion In our study, we mainly focus on the theory and application of the warehouse traveling salesman problem (WTSP), which is an extension of the generalized traveling salesman problem (GTSP). As described in Chapter 3, we provide a transformation method to formulate the WTSP into the GTSP with at most 4 times of vertices as many as those in the original WTSP. To finalize the transformation, we firstly come up with a way to transform the sparse subset traveling salesman problem (SSTSP) into the GTSP. Then we can generalize similar technique to the WTSP. The transformation techniques applied in solving the WTSP is actually a generic method to solve the vehicle routing problem with some constraints on the number of visited points. In Chapter 4, we apply and modify our transformation techniques to several variations of the prize collecting salesman problem (PCTSP). Although the transformation method in Chapter 3 does provide us with a good way to adapt the GTSP solvers to solve the WTSP, the WTSP has its own solution structure that inspires us to develop a specialized solver aiming to solve the WTSP particularly. To derive this solver, we utilize the ideas of the conditional Markov chain search (CMCS)anddevelopaCMCSbasedsolverinChapter5, whichiscalledCMCSsolver. CMCSsolvermainlycontains two parts - heuristic operator set that contains the local search operators, and configuration that determines the orderofexecutingeachlocalsearchoperator. Theconfigurationis, indeed, capabletomodelmanywell-knownmeta- heuristics, e.g., Variable Neighborhood Search (VNS), by adjusting different setups of the configuration. Therefore, the value of the configuration does affect the performance of the searching process. We illustrate our training procedure for the configuration in Section 5.6. 103 Chapter 6 provides all the necessarily numerical experiments including the comparison between the WTSP instances solved by CMCS solver and those solved by the transformation method; the comparison between the performance of our derived CMCS configuration and that of the configuration of VNS; and the performance of CMCS solver on the GTSP benchmark instances. The results show that CMCS solver has a great solving ability to the WTSP, and more amazingly, it is capable to achieve a very close performance even on the exact GTSP instances compared to the best known performance generated by several state-of-the-art GTSP solvers. Furthermore, it is worth mentioning that the transformation method to formulate the WTSP into the GTSP is also valuable and promising in the future. First, the transformation method indicates that solving the WTSP is not more theoretically difficultthantheGTSPor the TSP.Moreover, if there are some better GTSP solvers or there are some modifications of the existing GTSP solvers in order to adapt to the transformed GTSP in the future, the transformation method could provide a more efficient way to solve the WTSP. Finally, we apply the WTSP model to a warehouse system and compare it with an existing warehouse system named Kiva warehouse system in Chapter 7. The simulation result turns out that the WTSP warehouse system can greatly boost the order fulfillment efficiency, roughly between 30%− 50% higher than the Kiva System, especially when orders including multiple items are considered. As we know, there is no robot that can finish the multi-item pick-up task required by the WTSP warehouse system. Thus, the WTSP warehouse may need to resort human pickers (such labor can be very cheap in some developing countries) to find the right SKUs. In the future, if the robot with ability to pick up multiple items is available and economical, the WTSP warehouse system will be fairly promising. 104 Chapter 9 Future Research The warehouse traveling salesman problem (WTSP) is a very powerful tool to model many real world problems. In this thesis, we provide two methods to solve the WTSP. We also apply the WTSP model to solve the warehouse with randomized strategy. In the future, it is worth focusing on several directions in both theoretical and practical aspects. The first direction is to decrease the number of vertices in the transformation method of the WTSP. Recall in Chapter 3, we proposed a transformation method to formulate the WTSP into the generalized traveling salesman problem (GTSP) with vertices at most 4 times as many as those of the WTSP. If there is a fixed depot of the WTSP, then the number of vertices can be reduced to at most 3 times as many as those of the WTSP. In this method, we split each point of the WTSP into two points in the transformed GTSP. These two points represent decision of “visited” or “not visited” of the original point in the WTSP. For this part, we think it may be hard to reduce the size. To satisfy the required visited time of the WTSP, we create at most n dummy points in the transformed GTSP, where n is the total points of the WTSP. We think that this part could be decreased by adjusting the weights between points instead of adding dummy vertices. Therefore, if we do not need these dummy vertices while ensuring the requirement of the visiting times of each cluster, the transformed GTSP size can be reduced to at most 3 times as many as that of the WTSP. Another field worth to working on is to generate a better configuration for conditional Markov chain search (CMCS) solver. As introduced in Chapter 5 and Chapter 6, CMCS solver has shown a great performance on solving the WTSP. The configuration does play a crucial role in searching process. For now, we only had a simple 105 way to generate the configuration. If there is a better way to generate it, the performance will be much more promising. Also, from Table 6.2, there are two instances that CMCS solver has a obviously worse performance than those solved by the transformation method - 65rbg323, 72rbg358. Both two instances are indeed violating the symmetric property of the distance matrix. Although reasonably speaking, the warehouse should obey the symmetric property of the distance matrix, it will be better if we can modify and create more powerful searching operators to achieve a better performance on the asymmetric instances in the future. Finally, as introduced in Chapter 2, the traveling purchase problem is also a powerful model to be applied in practice. A promising direction is to bridge the gap between theoretically asymptotic analysis of the TPP and the numerical experiment on it. Obviously, the WTSP is a special case of the TPP if we regard the prices of all products to be 0s. Thus, the WTSP solver can be adjusted to the TPP under some assumptions. Two members of our laboratory have been working on deriving asymptotic analysis of some particular version of the TPP. We believe that the solver of the WTSP will be helpful in providing numerical experiments as a verification of the asymptotic bounds of the TPP. 106 Reference List [1] Emile HL Aarts, Jan HM Korst, and Peter JM van Laarhoven. A quantitative analysis of the simulated annealing algorithm: A case study for the traveling salesman problem. Journal of Statistical Physics, 50(1- 2):187–206, 1988. [2] Ravindra K Ahuja. Network flows: theory, algorithms, and applications. Pearson Education, 2017. [3] HENRYLAB. AL. Record balancing problem-a dynamic programming solution of a generalized traveling salesman problem. Revue Francaise D Informatique De Recherche Operationnelle, 3(NB 2):43, 1969. [4] W.P.Anderson,L.Chatterjee,andT.R.Lakshmanan. E-commerce,transportation,andeconomicgeography. Growth and Change, 34(4):415–432, 2003. [5] David Applegate, Robert Bixby, Vašek Chvátal, and William Cook. Finding cuts in the TSP (A preliminary report), volume 95. Citeseer, 1995. [6] David L Applegate, Robert E Bixby, Vasek Chvatal, and William J Cook. The traveling salesman problem: a computational study. Princeton university press, 2011. [7] Baruch Awerbuch, Yossi Azar, Avrim Blum, and Santosh Vempala. New approximation guarantees for minimum-weight k-trees and prize-collecting salesmen. SIAM Journal on computing, 28(1):254–262, 1998. [8] Egon Balas. The prize collecting traveling salesman problem. Networks, 19(6):621–636, 1989. [9] Egon Balas. The prize collecting traveling salesman problem: Ii. polyhedral results. Networks, 25(4):199–216, 1995. [10] Egon Balas and Matteo Fischetti. Polyhedral theory for the asymmetric traveling salesman problem. In The traveling salesman problem and its variations, pages 117–168. Springer, 2007. [11] Cynthia Barnhart, Natashia L Boland, Lloyd W Clarke, Ellis L Johnson, George L Nemhauser, and Rajesh G Shenoi. Flight string models for aircraft fleeting and routing. Transportation science, 32(3):208–220, 1998. [12] JJ Bartholdi and STEVEN T Hackman. Warehouse and distribution science 0.1. 2. Textbook available at http://www. warehouse-science. com (accessed September 22, 2012), 2010. [13] Jillian Beardwood, John H Halton, and John Michael Hammersley. The shortest path through many points. In Mathematical Proceedings of the Cambridge Philosophical Society, volume 55, pages 299–327. Cambridge University Press, 1959. [14] D. Ben-Arieh, G. Gutin, M. Penn, A. Yeo, and A. Zverovitch. Transformations of generalized atsp into atsp. Operations Research Letters, 31(5):357–365, 2003. [15] Amir Ben-Dor and Benny Chor. On constructing radiation hybrid maps. Journal of Computational Biology, 4(4):517–533, 1997. [16] G. Bensinger. Startup grocery deliverer Instacart eyes Amazon. Wall Street Journal, August 7 2013. 107 [17] Binay Bhattacharya, Ante Ćustić, Akbar Rafiey, Arash Rafiey, and Vladyslav Sokol. Approximation algo- rithms for generalized mst and tsp in grid clusters. In Combinatorial Optimization and Applications, pages 110–125. Springer, 2015. [18] Daniel Bienstock, Michel X Goemans, David Simchi-Levi, and David Williamson. A note on the prize col- lecting traveling salesman problem. Mathematical programming, 59(1-3):413–420, 1993. [19] Robert G Bland and David F Shallcross. Large travelling salesman problems arising from experiments in x-ray crystallography: a preliminary report on computation. Operations Research Letters, 8(3):125–128, 1989. [20] Boris Bontoux and Dominique Feillet. Ant colony optimization for the traveling purchaser problem. Com- puters & Operations Research, 35(2):628–637, 2008. [21] Robert Bowman. Will Google Shopping Express help retailers fend off challenge from Amazon?, June 2014. [Online; posted 17-June-2014]. [22] Antonio Augusto Chaves and Luiz Antonio Nogueira Lorena. Hybrid metaheuristic for the prize collect- ing travelling salesman problem. In European Conference on Evolutionary Computation in Combinatorial Optimization, pages 123–134. Springer, 2008. [23] Ek Peng Chew and Loon Ching Tang. Travel time analysis for general item location assignment in a rectan- gular warehouse. European Journal of Operational Research, 112(3):582–597, 1999. [24] Peter Cowling, Graham Kendall, and Eric Soubeiga. A hyperheuristic approach to scheduling a sales summit. In International Conference on the Practice and Theory of Automated Timetabling, pages 176–190. Springer, 2000. [25] Georges A Croes. A method for solving traveling-salesman problems. Operations research, 6(6):791–812, 1958. [26] S Curtis. Amazon at 15: The technology behind amazon-uk’s success. The Telegraph, 15, 2013. [27] Raffaello D’Andrea. Guest editorial: A revolution in the warehouse: A retrospective on kiva systems and the grand challenges ahead. IEEE Transactions on Automation Science and Engineering, 9(4):638–639, 2012. [28] René De Koster and Edo Van Der Poort. Routing orderpickers in a warehouse: a comparison between optimal and heuristic solutions. IIE transactions, 30(5):469–480, 1998. [29] Vladimir Dimitrijević and Zoran Šarić. An efficient transformation of the generalized traveling salesman problem into the traveling salesman problem on digraphs. Information Sciences, 102(1-4):105–110, 1997. [30] C-N Fiechter. A parallel tabu search algorithm for large traveling salesman problems. Discrete Applied Mathematics, 51(3):243–267, 1994. [31] Matteo Fischetti, Juan José Salazar González, and Paolo Toth. The symmetric generalized traveling salesman polytope. Networks, 26(2):113–123, 1995. [32] Matteo Fischetti, Juan José Salazar González, and Paolo Toth. A branch-and-cut algorithm for the symmetric generalized traveling salesman problem. Operations Research, 45(3):378–394, 1997. [33] Matteo Fischetti and Paolo Toth. An additive approach for the optimal solution of the prize collecting traveling salesman problem. Vehicle routing: Methods and studies, 231:319–343, 1988. [34] Robert S Garfinkel. Minimizing wallpaper waste, part 1: a class of traveling salesman problems. Operations Research, 25(5):741–751, 1977. [35] Naveen Garg, Goran Konjevod, and R Ravi. A polylogarithmic approximation algorithm for the group steiner tree problem. Journal of Algorithms, 37(1):66–84, 2000. 108 [36] Paul C Gilmore and Ralph E Gomory. Sequencing a one state-variable machine: A solvable case of the traveling salesman problem. Operations research, 12(5):655–679, 1964. [37] Bruce Golden, Larry Levy, and Roy Dahl. Two generalizations of the traveling salesman problem. Omega, 9(4):439–441, 1981. [38] L Gomes, V Diniz, and Carlos A Martinhon. An hybrid grasp+ vnd metaheuristic for the prize-collecting traveling salesman problem. XXXII Simpósio Brasileiro de Pesquisa Operacional, pages 1657–1665, 2000. [39] John Grefenstette, Rajeev Gopal, Brian Rosmaita, and Dirk Van Gucht. Genetic algorithms for the traveling salesman problem. In Proceedings of the first International Conference on Genetic Algorithms and their Applications, pages 160–165, 1985. [40] Martin Grötschel, Manfred W Padberg, et al. Polyhedral theory. The traveling salesman problem, pages 251–305, 1985. [41] Gregory Gutin and Daniel Karapetyan. A memetic algorithm for the generalized traveling salesman problem. Natural Computing, 9(1):47–60, 2010. [42] C. Harris and J. Cook. Amazon starts grocery delivery service. Seattle Post-Intelligencer, August 1 2007. [43] Keld Helsgaun. An effective implementation of the lin–kernighan traveling salesman heuristic. European Journal of Operational Research, 126(1):106–130, 2000. [44] Keld Helsgaun. General k-opt submoves for the lin–kernighan tsp heuristic. Mathematical Programming Computation, 1(2):119–163, 2009. [45] Keld Helsgaun. Solving the equality generalized traveling salesman problem using the lin–kernighan–helsgaun algorithm. Mathematical Programming Computation, 7(3):269–287, 2015. [46] Karla L Hoffman, Manfred Padberg, and Giovanni Rinaldi. Traveling salesman problem. In Encyclopedia of operations research and management science, pages 1573–1578. Springer, 2013. [47] Ling-feng Hsieh and Lihui Tsai. The optimum design of a warehouse system on order picking efficiency. The International Journal of Advanced Manufacturing Technology, 28(5-6):626–637, 2006. [48] Hark Hwang*, YH Oh, and YK Lee. An evaluation of routing policies for order-picking operations in low-level picker-to-part system. International Journal of Production Research, 42(18):3873–3889, 2004. [49] Elizabeth Jewkes, Chulung Lee, and Ray Vickson. Product location, allocation and server home base location for an order picking line with multiple servers. Computers & Operations Research, 31(4):623–636, 2004. [50] Michael Jünger, Gerhard Reinelt, and Giovanni Rinaldi. The traveling salesman problem. Handbooks in operations research and management science, 7:225–330, 1995. [51] Daniel Karapetyan and Gregory Gutin. Efficient local search algorithms for known and new neighborhoods for the generalized traveling salesman problem. European Journal of Operational Research, 219(2):234–251, 2012. [52] Daniel Karapetyan, Abraham P Punnen, and Andrew J Parkes. Markov chain methods for the bipartite boolean quadratic programming problem. European Journal of Operational Research, 260(2):494–506, 2017. [53] Michael Khachay and Katherine Neznakhina. Approximation algorithms for generalized tsp in grid clusters. [54] Eugene Kim. Amazon’s $775 million deal for robotics company kiva is starting to look really smart. http:// www.businessinsider.com/kiva-robots-save-money-for-amazon-2016-6, June 2016. [Online; accessed 15-Nov-2017]. 109 [55] Jeongseob Kim and Abraham Seidmann. A framework for the exact evaluation of expected cycle times in automated storage systems with full-turnover item allocation and random service requests. Computers & Industrial Engineering, 18(4):601–612, 1990. [56] Danielle Kucera. Amazon acquires kiva systems in second-biggest takeover. Availabl e at http://bloom. bg/Gzo6GU, 2012. [57] G. Laporte, A. Asef-Vaziri, and C. Sriskandarajah. Some applications of the generalized travelling salesman problem. Journal of the Operational Research Society, pages 1461–1467, 1996. [58] Gilbert Laporte and Yves Nobert. Generalized travelling salesman problem through n sets of nodes: An integer programming approach. INFOR: Information Systems and Operational Research, 21(1):61–75, 1983. [59] Gilbert Laporte, Jorge Riera-Ledesma, and Juan-José Salazar-González. A branch-and-cut algorithm for the undirected traveling purchaser problem. Operations Research, 51(6):940–951, 2003. [60] T Nick Larson, Heather March, and Andrew Kusiak. A heuristic approach to warehouse layout with class- based storage. IIE transactions, 29(4):337–348, 1997. [61] Tho Le-Duc* and R(M) BM De Koster. Travel distance estimation and storage zone optimization in a 2-block class-based storage strategy warehouse. International Journal of Production Research, 43(17):3561– 3581, 2005. [62] H. L. Lee and S. Whang. Winning the last mile of e-commerce. MIT Sloan Management Review, 42(4):54–62, 2001. [63] Jan K Lenstra and AHG Rinnooy Kan. Some simple applications of the travelling salesman problem. Journal of the Operational Research Society, 26(4):717–733, 1975. [64] Yao-Nan Lien, Eva Ma, and Benjamin W-S Wah. Transformation of the generalized traveling-salesman problem into the standard traveling-salesman problem. Information Sciences, 74(1-2):177–189, 1993. [65] Shen Lin and Brian W Kernighan. An effective heuristic algorithm for the traveling-salesman problem. Operations research, 21(2):498–516, 1973. [66] HelenaRLourenço,OlivierCMartin,andThomasStützle. Iteratedlocalsearch: Frameworkandapplications. In Handbook of metaheuristics, pages 363–397. Springer, 2010. [67] Kent McClymont and Edward C Keedwell. Markov chain hyper-heuristic (mchh): an online selective hyper- heuristic for multi-objective continuous problems. In Proceedings of the 13th annual conference on Genetic and evolutionary computation, pages 2003–2010. ACM, 2011. [68] Clair E Miller, Albert W Tucker, and Richard A Zemlin. Integer programming formulation of traveling salesman problems. Journal of the ACM (JACM), 7(4):326–329, 1960. [69] Nenad Mladenović and Pierre Hansen. Variable neighborhood search. Computers & operations research, 24(11):1097–1100, 1997. [70] P. L. Mokhtarian. A conceptual analysis of the transportation impacts of b2c e-commerce. Transportation, 31(3):257–284, 2004. [71] Denis Naddef. Polyhedral theory and branch-and-cut algorithms for the symmetric tsp. In The traveling salesman problem and its variations, pages 29–116. Springer, 2007. [72] Yuichi Nagata. New eax crossover for large tsp instances. Parallel Problem Solving from Nature-PPSN IX, pages 372–381, 2006. [73] C. E. Noon and J. C. Bean. A lagrangian based approach for the asymmetric generalized traveling salesman problem. Operations Research, 39(4):623–632, 1991. 110 [74] Charles E Noon and James C Bean. An efficient transformation of the generalized traveling salesman problem. INFOR: Information Systems and Operational Research, 31(1):39–44, 1993. [75] Hoon Liong Ong. Approximate algorithms for the travelling purchaser problem. Operations Research Letters, 1(5):201–205, 1982. [76] SemihÖnüt,UmutRTuzkaya,andBilgehanDoğaç. Aparticleswarmoptimizationalgorithmforthemultiple- level warehouse layout design problem. Computers & Industrial Engineering, 54(4):783–799, 2008. [77] Wen Lea Pearn and RC Chien. Improved solutions for the traveling purchaser problem. Computers & Operations Research, 25(11):879–885, 1998. [78] IztokPotrč, ToneLerher, JanezKramberger, andMatjažŠraml. Simulationmodelofmulti-shuttleautomated storage and retrieval systems. Journal of Materials Processing Technology, 157:236–244, 2004. [79] Jean-Yves Potvin, Université de Montréal. Département d’informatique et de recherche opérationnelle, and Québec) Centre for Research on Transportation (Montréal. The traveling salesman problem: a neural network perspective. Université de Montréal, Centre de recherche sur les transports, 1992. [80] Dev Bahadur Poudel. Coordinating hundreds of cooperative, autonomos vehicles in a warehouse. https: //www.slideshare.net/devbp/kiva-system, July 2012. [Online; accessed 15-Nov-2017]. [81] Associated Press. Got groceries? Wal-Mart testing home delivery. The Herald Bulletin, April 23 2011. [82] T Ramesh. Traveling purchaser problem. Opsearch, 18(1-3):78–91, 1981. [83] H Donald Ratliff and Arnon S Rosenthal. Order-picking in a rectangular warehouse: a solvable case of the traveling salesman problem. Operations Research, 31(3):507–521, 1983. [84] Gerhard Reinelt. Tsplib-a traveling salesman problem library. ORSA journal on computing, 3(4):376–384, 1991. [85] Gerhard Reinelt. The traveling salesman: computational solutions for TSP applications. Springer-Verlag, 1994. [86] Jacques Renaud and Fayez F Boctor. An efficient composite heuristic for the symmetric generalized traveling salesman problem. European Journal of Operational Research, 108(3):571–584, 1998. [87] Jacques Renaud, Fayez F Boctor, and Gilbert Laporte. A fast composite heuristic for the symmetric traveling salesman problem. INFORMS Journal on computing, 8(2):134–143, 1996. [88] KeesJanRoodbergenandRenéDeKoster. Routingorderpickersinawarehousewithamiddleaisle. European Journal of Operational Research, 133(1):32–43, 2001. [89] Daniel J Rosenkrantz, Richard E Stearns, and Philip M Lewis, II. An analysis of several heuristics for the traveling salesman problem. SIAM journal on computing, 6(3):563–581, 1977. [90] J_ P Saksena. Mathematical Model of Scheduling Clients Through Welfare Angencies: II. Depts. of Electrical Engineering and Medicine, University of Southern California, 1967. [91] X. H. Shi, Y. C. Liang, H. P. Lee, C. Lu, and Q. X. Wang. Particle swarm optimization-based algorithms for tsp and generalized tsp. Information Processing Letters, 103(5):169–176, 2007. [92] John Silberholz and Bruce Golden. The generalized traveling salesman problem: A new genetic algorithm approach. In Extending the horizons: advances in computing, optimization, and decision technologies, pages 165–181. Springer, 2007. [93] Kashi N Singh and Dirk L van Oudheusden. A branch and bound algorithm for the traveling purchaser problem. European Journal of operational research, 97(3):571–579, 1997. 111 [94] PSlavik. Ontheapproximationofthegeneralizedtravelingsalesmanproblem. Rapport technique, Department of Computer Science, SUNY-Buffalo, 1997. [95] S. L. Smith and F. Imeson. GLNS: An effective large neighborhood search heuristic for the generalized traveling salesman problem. Computers & Operations Research, 87:1–19, 2017. [96] LawrenceVSnyderandMarkSDaskin. Arandom-keygeneticalgorithmforthegeneralizedtravelingsalesman problem. European Journal of Operational Research, 174(1):38–53, 2006. [97] S. S. Srivastava, S. Kumar, R. C. Garg, and P. Sen. Generalized traveling salesman problem through n sets of nodes. CORS journal, 7:97–101, 1969. [98] Mehmet Fatih Tasgetiren, Ponnuthurai N Suganthan, and Quan-Qe Pan. A discrete particle swarm optimiza- tion algorithm for the generalized traveling salesman problem. In Proceedings of the 9th annual conference on Genetic and evolutionary computation, pages 158–167. ACM, 2007. [99] Ulrich W Thonemann and Margaret L Brandeau. Note. optimal storage assignment policies for automated storage and retrieval systems with stochastic demands. Management Science, 44(1):142–148, 1998. [100] Stefan Voß. Dynamic tabu search strategies for the traveling purchaser problem. Annals of Operations Research, 63(2):253–275, 1996. [101] J. Yang, X. Shi, M. Marchese, and Y. Liang. An ant colony optimization method for generalized tsp problem. Progress in Natural Science, 18(11):1417–1422, 2008. 112
Abstract (if available)
Abstract
The traveling salesman problem (TSP) is a famous problem providing fundamental tool to many practical fields, including the transportation, the delivery service, the supply chain, the manufacturing, etc. To adapt to different real world problems, some variants of the TSP have been proposed and attracted much attention among researchers. One particular problem is called the generalized traveling salesman problem (GTSP) whose goal is to select one point each from multiple sets of points and come up with a tour with the minimum length. In this dissertation, we will propose a new variant of the TSP, called the warehouse traveling salesman problem (WTSP), which is an extension of the GTSP and arises because of the occurrence of Amazon's random stow. Random stow is a type of Amazon's warehouse applying randomized strategy, in which the storage of products can be considered to be placed randomly. When an order arrives, the worker will pick up the required number of items in the order by moving back and forth in the random stow. The WTSP is to help the worker find the shortest tour whiling completing the order fulfillment. To solve the WTSP, we propose two methods. The first one is to transform the WTSP to the GTSP so that one can deploy the state-of-the-art GTSP solvers to solve the transformed GTSP problem. We also develop a meta-heuristic algorithm based on the conditional Markov chain search (CMCS) algorithm to solve the WTSP directly. The numerical experiments compare these two methods, and show that CMCS based method can solve the WTSP more efficiently. To demonstrate the practical usage of the WTSP, we apply the WTSP model to the warehouse order fulfillment strategy in which a warehouse runner picks up multiple items from multiple shelves in a single run. The result indicates that a warehouse applying the WTSP model can significantly reduce the order-picking traveling costs compared to Amazon's semi-automatic warehouse using Kiva robots to fulfill the orders.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Asymptotic analysis of the generalized traveling salesman problem and its application
PDF
A continuous approximation model for the parallel drone scheduling traveling salesman problem
PDF
Dynamic programming-based algorithms and heuristics for routing problems
PDF
Continuous approximation for selection routing problems
PDF
Applications of Wasserstein distance in distributionally robust optimization
PDF
Applications of explicit enumeration schemes in combinatorial optimization
PDF
Package delivery with trucks and UAVs
PDF
Models and algorithms for pricing and routing in ride-sharing
PDF
Train scheduling and routing under dynamic headway control
PDF
Continuous approximation formulas for cumulative routing optimization problems
PDF
New approaches for routing courier delivery services
PDF
Cost-sharing mechanism design for freight consolidation
PDF
Stochastic games with expected-value constraints
PDF
Train routing and timetabling algorithms for general networks
PDF
Traffic assignment models for a ridesharing transportation market
PDF
Computational geometric partitioning for vehicle routing
PDF
Speeding up path planning on state lattices and grid graphs by exploiting freespace structure
PDF
Queueing loss system with heterogeneous servers and discriminating arrivals
PDF
Routing problems for fuel efficient vehicles
PDF
On the interplay between stochastic programming, non-parametric statistics, and nonconvex optimization
Asset Metadata
Creator
Chen, Jiachuan
(author)
Core Title
The warehouse traveling salesman problem and its application
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Industrial and Systems Engineering
Publication Date
10/18/2019
Defense Date
10/03/2019
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
conditional Markov chain search,generalized traveling salesman problem,OAI-PMH Harvest,random stow,traveling salesman problem,warehouse traveling salesman problem
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Carlsson, John Gunnar (
committee chair
), Dessouky, Maged (
committee member
), Soltanolkotabi, Mahdi (
committee member
)
Creator Email
jiachuac@gmail.com,jiachuac@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c89-227334
Unique identifier
UC11674213
Identifier
etd-ChenJiachu-7867.pdf (filename),usctheses-c89-227334 (legacy record id)
Legacy Identifier
etd-ChenJiachu-7867.pdf
Dmrecord
227334
Document Type
Dissertation
Rights
Chen, Jiachuan
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
conditional Markov chain search
generalized traveling salesman problem
random stow
traveling salesman problem
warehouse traveling salesman problem