a polynomial-space exact algorithm for tsp in ?· a polynomial-space exact algorithm for tsp in...


Post on 08-Feb-2019




0 download

Embed Size (px)




Norhazwani Md Yunos1,2, Aleksandar Shurbevski1, Hiroshi Nagamochi1

1Department of Applied Mathematics and Physics, Graduate School of Informatics, KyotoUniversity, 606-8177, Kyoto, Japan

2Universiti Teknikal Malaysia Melaka, 76100 Durian Tunggal, Melaka, Malaysia{wanie, shurbevski, nag}@amp.i.kyoto-u.ac.jp

Keywords: Traveling Salesman Problem, Exact Ex-ponential Algorithm, Branch-and-reduce, Measure-and-conquer.


The Traveling Salesman Problem (TSP) is one of themost well-known NP-hard optimization problems. Fol-lowing a recent trend of research which focuses on de-veloping algorithms for special types of TSP instances,namely graphs of limited degree, and thus alleviatinga part of the time and space complexity, we present apolynomial-space branching algorithm for the TSP ingraphs with degree at most 5, and show that it hasa running time of O(2.4723n). To the best of ourknowledge, this is the first exact algorithm specializedto graphs of such high degree. While the base of theexponent in the running time bound is greater thantwo, our algorithm uses space merely polynomial in aninput instance size, and thus by far outperforms Gure-vich and Shelahs O(4nnlogn) polynomial-space exactalgorithm for the general TSP (Siam Journal of Com-putation, Vol. 16, No. 3, pp. 486-502, 1987). In theanalysis of the running time, we use the measure-and-conquer method, and we develop a set of branchingrules which foster the analysis of the running time.

1 Introduction

The Traveling Salesman Problem (TSP) is one of themost extensively studied problems in optimization. Ithas been formulated as a mathematical problem in the1930s. Many algorithmic methods have been investi-gated to beat the challenge of finding the fastest algo-rithm in terms of running time. On the other hand, ithas proven even more challenging to devise fast algo-rithms that would use a manageable amount of com-putation space, bounded by a polynomial in an inputinstances size. We will review previous algorithmicattempts, making a distinction between those whichrequire space exponential in the size of a problem in-stance, and those requiring space merely polynomialin the input size. We use the O notation, which sup-presses polynomial factors.

The first non-trivial algorithm for the TSP in an n-vertex graph is the O(2n)-time dynamic programmingalgorithm discovered independently by Bellman [1],

and Held and Karp [9] in the early 1960s. This dy-namic programming algorithm however, requires alsoan exponential amount of space. Ever since, this run-ning time has only been improved for special types ofgraphs. Primarily, investigation efforts have been fo-cused on graphs in which vertices have a limited de-gree. Henceforth, let degree-i graph stand for a graphin which vertices have maximum degree at most i. Arecent improvement of the time bound to O(1.2186n)for degree-3 graphs has been presented by Bodlaen-der et al. [2]. They have used a general approach forspeeding up straightforward dynamic programming al-gorithms. For TSP in degree-4 graphs, Gebauer [7] hasshown a time bound of O(1.733n), by using a dynamicprogramming approach.

In the vein of polynomial space algorithms, Gure-vich and Shelah [8] have shown that the TSP in a gen-eral n-vertex graph is solvable in time O



Eppstein [4] has started the exploration into polyno-mial space TSP algorithms specialized for graphs ofbounded degree by designing an algorithm for degree-3graphs that runs in O(1.260n)-time. He introduceda branch-and-search method by considering a gener-alization of the TSP called the forced TSP. Iwamaand Nakashima [10] have claimed an improvement ofEppsteins time bound to O(1.251n)-time for TSPin degree-3 graphs. Later, Liskiewicz and Schus-ter [11] have uncovered some oversights made in Iwamaand Nakashimas analysis, and proved that their al-gorithm actually runs in O(1.257n)-time. Liskiewiczand Schuster then made some minor modificationsof Eppsteins algorithm and showed that this modi-fied algorithm runs in O(1.2553n)-time, a slight im-provement over Iwama and Nakashimas algorithm.Xiao and Nagamochi [14] have recently presentedan O(1.2312n)-time algorithm for TSP in degree-3graphs, and this improved previous time bounds forpolynomial-space algorithms. They used the basicsteps of Eppsteins branch-and-search algorithm, andintroduced a branching rule based on a cut-circuitstructure. In the process of improving the time bound,they used simple analysis of measure and conquer, andeffectively analyzed their algorithm by introducing anamortization scheme over the cut circuit structure, set-ting weights to both vertices and connected compo-

2015 ISORA 978-1-78561-086-8 2015 IET 45 Luoyang, China, August 2124, 2015

nents of induced graphs.

For TSP in degree-4 graphs, Eppstein [4] designedan algorithm that runs in O(1.890n)-time, based ona branch-and-search method. Later, Xiao and Nag-amochi [13] showed an improved value for the upperbound of the running time and showed that their algo-rithm runs in O(1.692n)-time. Currently, this is thefastest algorithm for TSP in degree-4 graphs. Basically,the idea behind their algorithm is to apply reductionrules until no further reduction is possible, and thenbranch on an edge by either including it to a solu-tion or excluding it from a solution. This is similarto most previous branch-and-search algorithms for theTSP. To effectively analyze their algorithm, Xiao andNagamochi used the measure and conquer method bysetting a weight to each vertex in a graph. From eachbranching operation, they derived a branching vec-tor using the assigned weight and evaluate how muchweight can be decreased in each of the two instancesobtained by branching on a selected edge e. In thisway, they were able to analyze by how much the to-tal weight would decrease in each branch. Moreover,they indicated that the measure will decrease more ifwe select a good edge to branch on, and gave a set ofsimple rules, based on a graphs topological properties,for choosing such an edge. However, the analysis of therunning time itself is not as straightforward [13].

To the best of our knowledge, there exist no reportsin the literature of exact algorithms specialized to theTSP in degree-5 graphs. Therefore, this paper presentsthe first algorithm for the TSP in degree-5 graphs,and presents an upper bound on the running timeof O(2.4723n). In this exploration, we use a determin-istic branch-and-search algorithm for TSP in degree-5graphs. Basically, our algorithm employs similar tech-niques to most previous branching algorithms for theTSP. When there are no vertices of degree 5 in an in-put graph, we call an existing algorithm for TSP indegree-4 graphs, and solve the remaining instance. Inthe analysis, we use the measure and conquer methodas a tool to get an upper bound of the running time.

The remainder of this paper is organized as follows;Section 2 overviews the basic notation used in this pa-per and presents an introduction to the branching al-gorithm and measure and conquer method. Section3 describes our polynomial-space branching algorithm.We state our main result in section 4, where we proceedwith the analysis of the proposed algorithm. Finally,Section 5 concludes the paper.

2 Methods

2.1 Preliminaries

For a graph G, let V (G) denote the set of verticesin G, and let E(G) denote the set of edges in G.A pair of vertices v and u are called neighbors if vand u are adjacent by an edge uv. We denote theset of all neighbors of a vertex v by N(v), and de-

note by d(v) the cardinality |N(v)| of N(v), also calledthe degree of v. For a subset of vertices W V (G),let N(v;W ) = N(v) W . For a subset of edgesE E(G), let NE(v) = N(v) {u | uv E}, andlet dE(v) = |NE(v)|. Analogously, let NE(v;W ) =NE(v) W , and dE(v,W ) = |NE(v,W )|. Also, fora subset E of E(G), we denote by G E the graph(V,E \ E) obtained from G by removing the edgesin E.

We consider a generalization of the TSP, namedthe forced Traveling Salesman Problem. We define aninstance I = (G,F ) that consists of a simple, edgeweighted, undirected graph G, and a subset F of edgesin G, called forced. A vertex is called forced if exactlyone of its incident edges is forced. Similarly, it is calledunforced if no forced edge is incident to it. A Hamilto-nian cycle in G is called a tour if it passes through allthe forced edges in F . Under these circumstances, theforced TSP requests to find a minimum cost tour of aninstance (G,F ).

In this paper, we assume that the maximum degreeof a vertex in G is at most 5. We denote a forced(resp., unforced) vertex of degree i by fi (resp., ui).We are interested in six types of vertices in an instanceof (G,F ), namely, u5, f5, u4, f4, u3 and f3-vertices. Asshall be seen in Subsection 2.4.1, forced and unforcedvertices of degree 2 and 1 are treated as special cases.Let Vfi (resp., Vui), i = 3, 4, 5 denote the set of fi-vertices (resp., ui-vertices) in (G,F ).

2.2 Essentials on Branching Algorithms

We here review how to derive an upper bound on thenumber of instances that can be generated from aninitial instance by a branching algorithm.

We can represent the solution space in our branchingalgorithm as a search tree. This is a very useful way toillustrate the execution of the branching rules, and toaid the time analysis of the branching algorithm. Thesearch tree is obtained by assigning the input instanceof a problem as a root node, and recursively assigninga child to a node for each smaller instance obtainedby applying the branching rules. For a single node ofthe search tree, the algorithm takes time polynomial inthe size of the node instance, which in turn, is smallerthan or equal to the original instance size. Thus, wecan conc


View more >