A Two-Dimensional Mapping for the Traveling Salesman Problem

Similar documents
Evolutionary Computation Algorithms for Cryptanalysis: A Study

Optimal tour along pubs in the UK

Modified Order Crossover (OX) Operator

Hybrid approach for solving TSP by using DPX Cross-over operator

Adaptive Tabu Search for Traveling Salesman Problems

ACO and other (meta)heuristics for CO

Theorem 2.9: nearest addition algorithm

Complete Local Search with Memory

Non-deterministic Search techniques. Emma Hart

Algorithm Design (4) Metaheuristics

SOLVING TRAVELING SALESMAN PROBLEMS USING HEURISTIC LEARNING APPROACH

Overview of Tabu Search

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

SPATIAL OPTIMIZATION METHODS

Escaping Local Optima: Genetic Algorithm

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Genetic Algorithm for Circuit Partitioning

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

Solving ISP Problem by Using Genetic Algorithm

Pre-requisite Material for Course Heuristics and Approximation Algorithms

The Heuristic Strategy Implementation to the Hopfield -Tank TSP Neural Algorithm

A Parallel Architecture for the Generalized Travelling Salesman Problem: Project Proposal

Optimization Techniques for Design Space Exploration

Heuristic Optimization Introduction and Simple Heuristics

Solving Capacitated P-Median Problem by Hybrid K-Means Clustering and Fixed Neighborhood Search algorithm

Khushboo Arora, Samiksha Agarwal, Rohit Tanwar

Comparison Study of Multiple Traveling Salesmen Problem using Genetic Algorithm

Optimizing the Sailing Route for Fixed Groundfish Survey Stations

Simplicial Global Optimization

Genetic algorithms for the traveling salesman problem

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Outline of the module

Parallel Computing in Combinatorial Optimization

LEXICOGRAPHIC LOCAL SEARCH AND THE P-CENTER PROBLEM

6. Tabu Search 6.1 Basic Concepts. Fall 2010 Instructor: Dr. Masoud Yaghini

Polynomial Time Approximation Schemes for the Euclidean Traveling Salesman Problem

New algorithm for analyzing performance of neighborhood strategies in solving job shop scheduling problems

HEURISTICS FOR THE NETWORK DESIGN PROBLEM

A memetic algorithm for symmetric traveling salesman problem

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines

Origins of Operations Research: World War II

Genetic Algorithms for the Traveling Salesman Problem. Jean-Yves Potvin

Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach

Mathematical Tools for Engineering and Management

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

Comparison of TSP Algorithms

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Assignment 3b: The traveling salesman problem

Two approaches. Local Search TSP. Examples of algorithms using local search. Local search heuristics - To do list

A GENETIC ALGORITHM APPROACH TO OPTIMAL TOPOLOGICAL DESIGN OF ALL TERMINAL NETWORKS

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm

Travelling salesman problem using reduced algorithmic Branch and bound approach P. Ranjana Hindustan Institute of Technology and Science

Attractor of Local Search Space in the Traveling Salesman Problem

Algorithms for Euclidean TSP

The Traveling Salesperson Problem with Forbidden Neighborhoods on Regular 3D Grids

Machine Learning for Software Engineering

Two new variants of Christofides heuristic for the Static TSP and a computational study of a nearest neighbor approach for the Dynamic TSP

A NEW HEURISTIC ALGORITHM FOR MULTIPLE TRAVELING SALESMAN PROBLEM

6. Tabu Search. 6.3 Minimum k-tree Problem. Fall 2010 Instructor: Dr. Masoud Yaghini

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

SCIENCE & TECHNOLOGY

An Algorithm for Solving the Traveling Salesman Problem

Design and Analysis of Algorithms

Travelling Salesman Problem. Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

Integer Programming Theory

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Solving Travelling Salesman Problem and Mapping to Solve Robot Motion Planning through Genetic Algorithm Principle

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

of optimization problems. In this chapter, it is explained that what network design

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003

Heuristic Optimisation

Approximability Results for the p-center Problem

Using Genetic Algorithms to optimize ACS-TSP

Discrete (and Continuous) Optimization WI4 131

Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger

Optimal tree for Genetic Algorithms in the Traveling Salesman Problem (TSP).

Using Penalties instead of Rewards: Solving OCST Problems with Problem-Specific Guided Local Search

A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices

HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM

Combinatorial Optimization - Lecture 14 - TSP EPFL

SIMULATED ANNEALING TECHNIQUES AND OVERVIEW. Daniel Kitchener Young Scholars Program Florida State University Tallahassee, Florida, USA

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem

A Parallel Architecture for the Generalized Traveling Salesman Problem

Preliminary Background Tabu Search Genetic Algorithm

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Solving the Graph Bisection Problem with Imperialist Competitive Algorithm

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Solving Traveling Salesman Problem Using Parallel Genetic. Algorithm and Simulated Annealing

Vertex Cover Approximations

Algorithms for Integer Programming

SUITABLE CONFIGURATION OF EVOLUTIONARY ALGORITHM AS BASIS FOR EFFICIENT PROCESS PLANNING TOOL

Introduction to Approximation Algorithms

The Traveling Salesman Problem on Grids with Forbidden Neighborhoods

A HIGH PERFORMANCE ALGORITHM FOR SOLVING LARGE SCALE TRAVELLING SALESMAN PROBLEM USING DISTRIBUTED MEMORY ARCHITECTURES

Transcription:

Computers Math. Apphc. Vol. 26, No. 12, pp. 65-73, 1993 0898-1221/93 $6.00 + 0.00 Printed in Great Britain. All rights reserved Copyright 1993 Pergarnon Press Ltd A Two-Dimensional Mapping for the Traveling Salesman Problem S. TSUBAKITANI Bender Management Consultants, Inc. 2231 Crystal Drive, Arlington, VA 22202, U.S.A. J. R. EVANS Department of Quantitative Analysis College of Business Administration University of Cincinnati, Cincinnati, OH 45221-0130, U.S.A. (Received November 1992; accepted January 1993) Abstract-The traveling salesman problem (TSP) is a classic problem in combinatorial optimization. An N-city asymmetric TSP has (N - 1)! tours. We develop a conceptual mapping of an N-city problem to a two-dimensional space and computer code for the defining function and its inverse. The transformation is implemented using color graphics and allows one to better understand the topography of the solution space and study the effects of different search techniques visually, leading to improvements in solution algorithms. 1. INTRODUCTION The traveling salesman problem (TSP) is one of the most widely-studied problems in combinatorial optimization. The problem may be stated as finding a visitation sequence of N cities so that the distance traveled is minimized. A city must be visited only once, and the salesman must return to the starting point. Many solution procedures have been developed for the TSP. These may be categorized into two broad classes : (1) optimal procedures and (2) heuristic procedures. Optimal procedures usually use 0-1 mathematical programming formulations, employing cutting planes or branch-and-bound methods. Dantzig, Fulkerson and Johnson [1] used the cutting plane method to solve a 49-city Euclidean TSP in 1954. Little, Murty, Sweeney and Karel [2] used the branch-and-bound method with assignment problems for lower bound calculation to solve the TSP. However, the TSP belongs to the class of NP-complete problems for which polynomial algorithms have not yet been developed [3]. The computational effort demanded by any existing optimal procedures grows exponentially with the problem size. Consequently, many heuristic solution procedures have been developed. Heuristic procedures try to obtain "good" solutions in a relatively short time. However, these solutions may not be optimal. Heuristic procedures may be categorized into three major classes : (1) tour construction procedures, (2) tour improvement procedures, and (3) composite procedures. A tour construction procedure constructs a tour (feasible solution) from a distance matrix. Tour construction procedures are very fast, so that they can handle very large problem instances efficiently. However, the quality of the solution is usually rather poor. Tour construction heuristics include several insertion methods [4] and Christofides' heuristic [5]. An insertion method starts with a city and inserts cities one at a time to the current subtour based on selection criteria. Christofides' heuristic utilizes the minimum spanning tree problem and the matching 65 Typeset by Ah,tS-'1J]f

66 S. TSBBAKITANI AND.1. R. EVANS problem to the TSP with the triangle inequality. It guarantees that the ratio of the length of the heuristic tour to the length of the optimal tour is at most 1.5. A tour improvement heuristic starts with an arbitrary initial tour and tries to improve it by edge exchange methods. The 2-opt and 3-opt heuristics were introduced by Lin [6] in 1965 and the k-opt procedures, for k > 3, were presented by Lin and Kernighan [7] in 1973. The k-opt exchange procedure is an O(Nk) polynomial algorithm [4]. Hence, a 3-opt heuristic requires approximately N times the work required by a 2-opt heuristic. The k-opt heuristic with k > 3 is seldom used because of heavier computational burden. Lin [6] suggested that one should repeat a 2-opt or 3-opt heuristic for a number of random starting tours. Composite procedures combine tour construction and tour improvement procedures. The idea behind a composite procedure is to obtain a good initial solution quickly using a tour construction heuristic, and then apply a computationally more expensive improvement heuristic once to get a near optimal solution. Composite procedures are relatively fast computationally, and give excellent results [4]. New heuristic procedures, simulated annealing, genetic algorithms and tabu search, have been developed recently to overcome the difficulty of local search. These procedures incorporate some artificial intelligence concepts (AI-type heuristics) to keep the heuristics from being trapped at local optima [8]. Simulated annealing is derived from properties in statistical mechanics and how they relate to the physical annealing of a system [9]. The search mechanism of simulated annealing is similar to that of local search ; it moves from a current solution to better solutions in neighborhoods. Simulated annealing, however, allows moves to unfavorable solutions in a probabilistic manner to avoid being trapped at a local optimum. Genetic algorithms are based on the mechanics of natural selection and natural genetics [10]. A solution in genetic algorithms typically is represented by a one-dimensional array of binary numbers. The initial population consists of a number of randomly selected feasible solutions. The next generation is created by the parent population using reproduction, crossover, and mutation. Parents with higher fitness values (better objective function values) have higher probabilities of reproducing their offspring. Evolutions are repeated until one solution dominates the population. Tabu search is a meta-heuristic developed to keep local search heuristics from being trapped at local optima [8]. Any tour improvement heuristic may be used in the framework of tabu search. Tabu search starts with an arbitrary initial point. The tabu restrictions and aspiration criteria, which govern the determination of which moves are considered admissible, are defined relative to the edges dropped from the tour in the process of making the move. It searches for better solutions in a neighborhood of the initial solution, and then moves to the best admissible solution found. In other words, tabu search moves to a new solution if the move is not tabu or the aspiration criteria are satisfied. Each edge dropped from the tour is classified tabu for t iterations with the purpose of discouraging the edge from being added back to the tour for the duration of its tabu classification. The aspiration criteria are typically satisfied if the move leads to an improved solution. The tabu restriction is denied if the aspiration criteria are satisfied. Tabu search is more aggressive than simulated annealing or genetic algorithms. It moves to the best admissible solution point in the neighborhood. The characteristic common to these three new search procedures is that they may move to a solution point whose objective function value is worse than the incumbent solution. In other words, these heuristic procedures can move from a local optimum to an inferior solution point to continue the search for a global optimal solution. This is an important strategy to deal with local optimality and plateaux. The design and analysis of algorithms often can be aided by visualization. The purpose of this paper is to present a two-dimensional mapping of an N-city traveling salesman problem that can help researchers better understand the search space. We will systematically transform the N 2 dimensional space into a two-dimensional space. Representing the objective function values by colors, we obtain a convenient visualization of the solution space using computer graphics.

Two-Dimensional Mapping 67 Such a mapping can help one to understand the topography of the solution space, seek insight into the nature of concentrations of "good" solutions, and aid in defining plateaux structure. By observing the performance of search algorithms visually, one can study sequences of solutions and solution paths, and examine diversification and intensification strategies more clearly. 2. A CONCEPTUAL TRANSFORMATION The N-city traveling salesman problem may be formulated as follows : N N min E r cijx ij (1) i=1 3 =1 N s.t. 57 xij = 1, (2) i=1 N Exu=1, j=1 i=1,...,n (3) X = (x ij )ss (4) xij=0or1 i,j=1,...,n, (5) where 1 1, if arc i - j is in the tour, x" 0, otherwise (decision variables), cij = cost of arc i - j (parameters), S = a set of constraints that prohibits subtour solutions. Let 7r be a tour of N cities and (x, y) be coordinates of a discrete two-dimensional space. We define a one-to-one mapping, f, from a tour 7r to the two-dimensional coordinates (x, y) in the new solution space. We denote this function as : f : 7r -* (x, y). ( 6 ) An inverse function f -1 is also defined so that the new solution space can be used with nonlinear search algorithms. We denote the inverse function as : f- (x, y) -. 7f. (7) Let c be the cost function that maps from a tour to its cost. We denote the cost function as : c :7r-+R. (8) where R is a real number. These mappings are shown schematically in Figure 1. Cost c Tour PC?) h,h 4M 4WW= f Figure 1. Mappings.

6 8 S. TsuBAKITANI AND J. R. EVANS Cities in the TSP are labeled arbitrary with 1, 2,..., N. The total number of possible tours is, therefore, (N - 1)!. Without loss of generality, we set City 1 to be the first city in a tour. The set of tours are arranged in the two-dimensional space so that similar tours are located in the space somehow closely together. The similarity of tours is measured by the number of edges in common. The two-dimensional transformation f is conceptualized as follows (see Figure 2). We define a rectangle that is partitioned into (N - 1)! distinct parts corresponding to the (N - 1)! distinct TSP tours. The rectangle is divided into (N - 1) mutually disjoint regions. Each region, which contains (N-2)! distinct solution points, corresponds to a partial tour whose first two cities are fixed. (Note that the first city is always City 1.) Then, each region is itself divided into (N - 2) mutually disjoint regions. Each of them contains (N-3)! distinct solution points and corresponds to a partial tour whose first three cities are fixed. contains only one solution point. This procedure is repeated until a region 1 2 N-1 1 2 (N-2) 1 2 (N-3) Figure 2. Partitioning procedure. 3. AN EXAMPLE For illustrative purposes, consider a five-city TSP. The rectangle is divided into N - 1 (or four) regions. Each of these region will have (N - 2)! (or six) solutions. The first column has all solutions whose first cities are 1 and 2. The third, fourth and fifth positions in the solution have wildcard symbols, asterisks. The second column has all solutions whose first two cities are 1 and 3, and so on (see Figure 3). (12***) I (13***) (14***) Figure 3. Fixing first two cities. Each column in Figure 3 is, then, divided into N-2 (or three) rows, and each row has (N - 3)! (or two) solutions. The first row in the first column, for example, has all solutions whose first cities are 1, 2, and 3 (see Figure 4).. (132**) (132**) (142**) (152**) (124**) (134**) (143**) (153**) (125**) (135**) (145**) (154**) Figure 4. Fixing first three cities

Two-Dimensional Mapping 69 Finally, each cell in Figure 4 is divided into N - 3 (or two) areas. Each area, now, has only one solution since (N-4)! in this example is one. The final configuration of the two-dimensional solution space is shown in Figure 5. 12345 12354 13245 13254 14235 14253 15234 15243 12435 12453 13425 13452 14325 14352 15324 15342 12534 12543 13524 13542 14523 14532 15423 15432 Figure 5. Configuration of search space. 4. DEFINING FUNCTIONS We now develop function f and f -1 that map a tour to coordinates (x, y) in the rectangular space and conversely. Figure 6 shows coordinates for the illustrative example presented in the previous section. (0 0) (1 0) (2 0) (3 0) (4 0) (5 0) (6 0) (7 0) (0 1) ( 1) (2, ) (3 1) (4 1) (5 1) (6 1) (7 1) (0 2) (1 2) (2 2) (3 2) (4 2) (5 2) (6 2) (7 2) Figure 6. Coordinates in the new space. Functions f and f - 1 for our example problem are coded in the C language and renamed as `get-coordin' and 'f-inverse' respectively in the code. Function get-coordin calculates coordinates in the two-dimensional space from a tour. Arrays coordin[] and iorder[] contain the coordinates in the two-dimensional space and a tour respectively, where ncity carries the number of cities. In function get-coordin, a tour is rotated first so that array froml[] has the tour that starts from city 1. Then, the coordinates are calculated from the tour given by array froml[i. Figure 7 shows the C source code for f (get_coordin) function. Array bag[] have city labels that are not yet in a tour while the function constructs a tour. The complexity of function get-coordin is O(N3 ), where N is the number of cities in the problem. Function [inverse is an inverse function of f (get-coordin). It maps from two-dimensional coordinates to a sequence of N numbers (tour). Array coordin[ ] has input coordinates and array new-order[] has a resulting tour. The contents of array coordin[] are copied into array temp[] that coordin[ ] preserves the original coordinates. Array bag[], again, contains city labels that are not yet scheduled in a tour while the function constructs a tour from the coordinates. Figure 8 shows the source code off - ' ([inverse). The complexity of function fjnverse is 0(N2 ). 5. APPLICATIONS The transformation shows the entire solution space in two dimensions. so On a PC, the tour length of each solution is represented by a different color depending its magnitude so that one can visualize the topography of the solution space. This is similar to drawing contours on the twodimensional space for a continuous two-variable problem. Since the TSP is a discrete problem, the contours cannot be drawn. Instead, colors can tell us locations of optimal solution(s), good regions, and poor regions in the solution space. An example screen (shown in black and white) is shown in Figure 9. Using 50 eight-city problems that were randomly generated in the unit square, it was easy to observe that (1) there are some regions whose solutions are relatively good, and some regions whose solutions are relatively poor ; (2) sizes and shapes of these regions vary : and (3) a good solution may sit next to a bad solution.

70 S. TSUBAKITANI AND J. R. EVANS void get_coordin ( int iorder[ ], long coordin[1, int ncity) #define NCITY 100 int i, j, k, froml[ NCITY], bag[ NCITY] ; long block ; / * Initialize coordin[] and bag[] * / coordin[0] = 0 ; coordin[1] = 0 ; for (i = 0 ; i < ncity ; i ++)bag[i] = i + 1 ; / * Rearrange a tour so that froml has the tour starting from city 1 * / for (i = 0 ; i < ncity ; i + +) if (iorder[i + 1] == 1) for (j = 0 ; j < ncity ; j + +) k = (i + j)% ncity ; froml[j] = iorder[k + 1] ; break ; / * Compute coordinates from the tour * / for (i = 1 ; i < ncity ; i + +) for (j = 1 ; j < ncity; j ++) if (froml[i] == bag[j]) block = 1 ; if (i % 2) else for (k=3 ; k <= ncity - i - 2; k+=2) block* = k ; coordin[01+ = (j - 1) * block ; for (k= 2 ; k <= ncity - i - 2 ; k+ =2) block* = k ; coordin[1]+ = (j - 1) * block ; for (k = j ; k < ncity - 1 ; k + +) bag[k] = bag[k + 1J ; break ; Figure 7. A function that maps from a tour to coordinates (get_coordin).

Two-Dimensional Mapping 71 void flnverse ( long coordin[], int new_ order[], int ncity) # define NCITY 100 int i, j, k, posi, bag[ncity-1] ; long temp[2], block ; / * Make a copy of coordin[] in temp[] * / temp[o] = coordin[o] ; temp[1] = coordin[1] ; / * Initialize bag[] * / for (i = 0 ; i < ncity - 1 ; i + +) bag [i] =i+2 ; / * First city in new-order( ] is city 1 * / new-order[1] = 1 ; / * Calculate the tour from coordinates * / for (i = 1 ; i < ncity - 1 ; i + +) block = 1 ; if (i % 2) for (k=3; k<= ncity -i-2 ; k+ =2) block * = k ; posi = temp[o] / block ; temp [0]- = posi * block ; else for (k=2; k<= ncity -i-2 ; k+ =2) block * = k ; posi = temp[1] / block ; temp[1]- = posi * block ; I new-order [i + 1] = bag [posi] ; for (j = posi ; j < ncity -2 ; j++) bag [j] = bag U + 11 ; new_order[ncity] = bag[0] ; Figure 8. A Function that Maps from Coordinates to a tour (f -1 ) The visualization has allowed us to experiment with various search procedures. For example, we developed a local search heuristic that was specifically designed for the two-dimensional space. The neighborhood of the local search heuristic is defined geometrically as adjacent solution points of the size of 8, 24, or 48 in the two-dimensional space (see Figure 10). We also have developed a tabu search based on the local search heuristic procedure for the two-dimensional space. We

7 2 S. TSUBAKITANI AND J. R. EVANS - 2.37 2.37-2.87 2.8? - 3.37 w 3.37-3.87 3.87-4.37 2 4.37-4.87-4.87 - Press any key to finish. Figure 9. Example solution space. 3 3 5 7 5 7 Figure 10. Neighborhoods with sizes of 8, 24, and 48. observed how these two procedures moved in the two-dimensional solution space. We found that the local search heuristic was trapped easily at local optima, and a tabu search procedure needed to move in the solution space for a long time to find a global optimum. One reason tabu search need to run for a long time is that tabu search visits not only good regions but also poor regions as well. Since tabu search always move one solution to another in the neighborhood, when it moves from one good region to another, it must visit poor neighborhoods in between. These findings motivated us to design a search procedure that can jump from a good region to another without going through poor neighborhoods [11]. REFERENCES 1. G. Dantzig, D. Fiilkerson, and S. Johnson, Solution of a large-scale traveling-salesman problem, Operations Research 2, 393-410 (1954).

Two-Dimensional Mapping 73 2. J. Little, K. Murty, D. Sweeney, and C. Karel, An algorithm for the traveling salesman problem, Operations Research 11, 972-989 (1963). 3. M.R. Garey and D.S. Johnson, Computers and Intractability : A Guide to the Theory of NP-Completeness, Freeman, San Francisco, (1979). 4. B. Golden, L. Bodin, T. Doyle, and W.J. Stewart, Approximate traveling salesman algorithms, Operations Research 28 (3, Part 11), 694-711 (May-June 1980). 5. N. Christofides, Worst-case analysis of a new heuristic for the traveling salesman problem, Management Sciences Research Report No, 388, Carnegie-Mellon University, (February, 1976). 6. S. Lin, Computer solutions of the traveling salesman problem, Bell System Technical Journal 44, 2245-2269 (1965). 7. S. Lin and B. W. Kernighan, An effective heuristic algorithm for the traveling salesman problem, Operations Research 21, 498-516 (1973). 8. F. Glover, Tabu search-part 1, ORSA Journal on Computing 1 (3), 190-206 (Summer 1989). 9. S. Kirkpatrick, C.D.J. Gelatt, and M.P. Vecchi, Optimization by simulated annealing, Science 220 (4598), 671-680 (1983). 10. D.E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Company, Inc., Reading, MA, (1989). 11. S. Tsubakitani, An investigation of new search techniques for the traveling salesman problem, Ph.D. Dissertation, University of Cincinnati, (1991). 12. F. Glover, Tabu search-part II, ORSA Journal on Computing 2 (1), 4-32 (Winter 1990).