Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
GENERALIZED TRAVELING SALESMAN PROBLEMS
ON HALIN GRAPHS
by
Brad Woods
B.Math., University of Waterloo, 2007
a Thesis submitted in partial fulfillment
of the requirements for the degree of
Master of Science
in the Department
of
Mathematics
c© Brad Woods 2010
SIMON FRASER UNIVERSITY
Fall 2010
All rights reserved. However, in accordance with the Copyright Act of
Canada, this work may be reproduced without authorization under the
conditions for Fair Dealing. Therefore, limited reproduction of this
work for the purposes of private study, research, criticism, review and
news reporting is likely to be in accordance with the law, particularly
if cited appropriately.
Last revision: Spring 09
Declaration of Partial Copyright Licence The author, whose copyright is declared on the title page of this work, has granted to Simon Fraser University the right to lend this thesis, project or extended essay to users of the Simon Fraser University Library, and to make partial or single copies only for such users or in response to a request from the library of any other university, or other educational institution, on its own behalf or for one of its users.
The author has further granted permission to Simon Fraser University to keep or make a digital copy for use in its circulating collection (currently available to the public at the “Institutional Repository” link of the SFU Library website <www.lib.sfu.ca> at: <http://ir.lib.sfu.ca/handle/1892/112>) and, without changing the content, to translate the thesis/project or extended essays, if technically possible, to any medium or format for the purpose of preservation of the digital work.
The author has further agreed that permission for multiple copying of this work for scholarly purposes may be granted by either the author or the Dean of Graduate Studies.
It is understood that copying or publication of this work for financial gain shall not be allowed without the author’s written permission.
Permission for public performance, or limited permission for private scholarly use, of any multimedia materials forming part of this work, may have been granted by the author. This information may be found on the separately catalogued multimedia material and in the signed Partial Copyright Licence.
While licensing SFU to permit the above uses, the author retains copyright in the thesis, project or extended essays, including the right to change the work for subsequent purposes, including editing and publishing the work in whole or in part, and licensing other parties, as the author may desire.
The original Partial Copyright Licence attesting to these terms, and signed by this author, may be found in the original bound copy of this work, retained in the Simon Fraser University Archive.
Simon Fraser University Library Burnaby, BC, Canada
Abstract
This thesis gives a complete survey of existing results on optimization problems on a Halin
graph and some closely related graphs. Also presented are some new results on specific
optimization problems.
It is shown that the k-neighbor TSP and its bottleneck version are solvable in linear
time on a Halin graph for k ≤ 2. These problems are special cases of the quadratic TSP and
bottleneck quadratic TSP, both are shown to be strongly NP-complete on a Halin graph.
For the k = 3 case, both versions are solved on some special cases. All these results are
extended to directed Halin graphs.
iii
Acknowledgments
My special thanks go to my supervisor, Dr. Abraham Punnen for his continued support
and patience. I would have been lost without his guidance, explanations and experience.
I would like to thank Dr. Nabil Belacel who supported my research during the summer
of 2008.
I owe a debt of gratitude to all my friends and colleagues who listened while I sorted
out my thoughts, especially Arman Kaveh, John Larusic, Annie Zhang and Sabina Lee who
stood beside me throughout the duration of this thesis. Lastly, I wish to thank my family
for their endless love and support.
iv
Contents
Approval ii
Abstract iii
Acknowledgments iv
Contents v
List of Tables vii
List of Figures viii
1 Optimization Problems on a Halin graph 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Generalizations of Halin graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Amalgams and its variations . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Generalized Halin graphs . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 k-layer Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Optimization problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2 Matchings and cycle covers . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.3 TSP and related problems . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 The 2-Neighbor Traveling Salesman Problem 20
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Complexity of QTSP and BQTSP . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3 The problem TSP(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
v
2.4 The problem BTSP(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 The 3-Neighbor Traveling Salesman Problem 36
3.1 The Problem TSP(3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1.1 TSP(3) on a Halin graph using cost updating . . . . . . . . . . . . . . 37
3.1.2 TSP(3) on a Halin graph using penalty functions . . . . . . . . . . . . 43
3.2 The Problem BTSP(3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.1 BTSP(3) on a Halin graph using cost updating . . . . . . . . . . . . . 49
3.2.2 BTSP(3) on a Halin graph using penalty functions . . . . . . . . . . . 53
4 Directed Halin Graphs 56
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2 The k-Neighbor DTSP and DBTSP . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.1 Solving DTSP(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.2 Solving DBTSP(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.3 Solving DTSP(3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.4 Solving DBTSP(3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
A Appendix 1: Examples 81
A.1 Solving TSP(2) on an arbitrary Halin graph . . . . . . . . . . . . . . . . . . . 81
A.2 Solving BTSP(2) on an arbitrary Halin graph . . . . . . . . . . . . . . . . . . 88
A.3 Solving TSP(3) on a balanced cost Halin graph . . . . . . . . . . . . . . . . . 93
A.4 Solving TSP(3) on a spacious Halin graph . . . . . . . . . . . . . . . . . . . . 106
A.5 Solving TSP(3) on a balanced bottleneck cost Halin graph . . . . . . . . . . . 117
A.6 Solving BTSP(3) on a spacious Halin graph . . . . . . . . . . . . . . . . . . . 128
Bibliography 136
vi
List of Tables
A.1 2-Neighbor Costs in Halin graph H . . . . . . . . . . . . . . . . . . . . . . . . 82
A.2 2-Neighbor Bottleneck Costs in Halin graph H . . . . . . . . . . . . . . . . . 88
A.3 3-Neighbor Costs in balanced cost Halin graph H . . . . . . . . . . . . . . . . 94
A.4 3-Neighbor Costs in spacious Halin graph H . . . . . . . . . . . . . . . . . . . 107
A.5 3-Neighbor Costs in balanced bottleneck cost Halin graph H . . . . . . . . . 117
A.6 3-Neighbor Costs in spacious Halin graph H . . . . . . . . . . . . . . . . . . . 128
vii
List of Figures
1.1 A Halin graph with 3 fans. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 A caterpillar Halin graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Amalgam A(T1, T2, γ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 A 1-Halin graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 A uniform 3-layer Halin extension. . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Planar embeddings of necklace N . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Example of the Halin graph constructed from S with edge costs labelled.
(|S| = 5). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.8 Expansion of pseudo-fan PF1,2 to PF1,3. . . . . . . . . . . . . . . . . . . . . . 15
1.9 A Halin graph with 3-edge cutset {i, j, k}. . . . . . . . . . . . . . . . . . . . . 17
2.1 6 − Fan Gadget. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Example of the Halin graph constructed from F = C1 ∧ C2 ∧ C3. . . . . . . . 24
2.3 A Halin graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4 A Halin graph with 3-edge cutset {i, j, k}. . . . . . . . . . . . . . . . . . . . . 30
3.1 A tour τ in a wheel, which skips edge ci. . . . . . . . . . . . . . . . . . . . . . 38
3.2 A fan F with center w. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 A caterpillar Halin graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4 A class of caterpillar Halin graph with an exponential number of tours. . . . . 48
3.5 Example fan F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.1 A di-Halin graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 A di-wheel Hw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3 A di-Halin graph with 3 di-fans. . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4 General Halin graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
viii
4.5 A Halin graph with 3-edge cutset {i, j, k}. . . . . . . . . . . . . . . . . . . . . 63
4.6 A fan F with center w. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
A.1 Example Halin graph H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.2 H with fan F1 identified. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
A.3 H(F1) with fan F2 identified. . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
A.4 Wheel Hw which H reduces to. . . . . . . . . . . . . . . . . . . . . . . . . . . 86
A.5 Optimal tour τ∗ in Hw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.6 Optimal tour τ in H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.7 Optimal bottleneck tour τ∗ in Hw. . . . . . . . . . . . . . . . . . . . . . . . . 92
A.8 Optimal bottleneck tour τ in H. . . . . . . . . . . . . . . . . . . . . . . . . . 92
A.9 Example Halin graph H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
A.10 H with F1 identified. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
A.11 H(F1) with F2 identified. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.12 H(F2) with F3 identified. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
A.13 Wheel Hw which H reduces to. . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A.14 Optimal tour τ∗ in Hw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A.15 Optimal tour τ in H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
A.16 Example Halin graph H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
A.17 H with F1 identified. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
A.18 H(F1) with F2 identified. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
A.19 Wheel Hw which H reduces to. . . . . . . . . . . . . . . . . . . . . . . . . . . 114
A.20 Optimal tour τ∗ in Hw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.21 Example Halin graph H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
A.22 Optimal tour τ∗ in Hw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
A.23 Optimal tour τ in H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
A.24 Optimal tour τ∗ in Hw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
A.25 Example Halin graph H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
ix
Chapter 1
Optimization Problems on a Halin
graph
1.1 Introduction
Let T be a tree with no nodes of degree two embedded on the plane and connect the leaf
nodes of T with a cycle C so that the resulting graph T ∪ C remains planar. The graph
H = T ∪ C is called a Halin graph and T is called the characteristic tree of H. The nodes
belonging to T are referred to as tree or outer nodes and the nodes in C are referred to
as cycle or inner nodes of H. This class of graph was introduced by Halin [34]. It was
termed Halin graph by Bondy [15] and later a skirted tree by Malkevitch [54]. It is also
sometimes referred to as roofless polyhedra. Halin graphs have been studied extensively,
and many combinatorial problems become easy to solve when restricted to this class of
graphs. A Halin graph is a partial 3-tree and hence is a member of the more general class of
partial k-trees [70]. Literature on partial k-trees is quite extensive and the inclusion of such
generalizations in this review is not attempted, although generalizations of Halin graphs
that share some fundamental topological properties of Halin graphs are considered.
From the definition of a Halin graph, it is immediately clear that all Halin graphs are at
most 3-connected since every leaf node of T has degree 3 once the cycle C is added. It is not
difficult to show that Halin graphs are strictly 3-connected and that every proper subgraph
of a Halin graph is at most 2-connected. The reader may refer to [73] for the proofs of these
observations.
1
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 2
Neighbourhood search algorithms are a class of improvement algorithm which at every
iteration, searches the neighbourhood of the current solution to find an improving solution.
One approach to developing very large-scale neighbourhood search algorithms (VLSN-search
algorithms) is to break the problem into efficiently solvable subproblems, motivating the
study of combinatorial problems restricted to special cases.
Consider the following example which demonstrates how Halin graphs may be used to
construct a very large neighbourhood for the traveling salesman problem. Suppose that τ is
a tour. Define H to be a Halin extension of τ if H is a Halin graph and τ is a subgraph of
H. Suppose that there exists an efficient procedure HalinExtend(τ) which creates a Halin
extension from τ . Then to construct a neighbourhood N(τ), let H(τ) = HalinExtend(τ)
and N(τ) = {τ ′ : τ ′ is a tour in H(τ)}. To find the best tour in the neighbourhood, find
the optimal tour in H(τ) [3]. In this chapter, we provide a comprehensive summary of
algorithmic results for NP-hard problems which in turn allows the development of VLSN-
search algorithms using neighbourhoods generated by the Halin graph topology.
Let H = T ∪ C be a Halin graph. If T is a star, that is, a single node v adjacent to
the remaining nodes, we say that H is a wheel with centre v. If T has at least two non-leaf
nodes and w is a nonleaf node of T which is adjacent to only one other nonleaf node then
w is adjacent to a set of consecutive nodes of C, which we denote by C(w). The subgraph
of H induced by {w} ∪C(w) is referred to as a fan, and we call w the centre of the fan. We
refer the reader to Figure 1.1.
w
edge in T
edge in C
fan in H
F
Figure 1.1: A Halin graph with 3 fans.
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 3
Lemma 1. [23] Every Halin graph which is not a wheel has at least two fans.
Let G = (V,E) be a graph and let S ⊆ V . Let ϕ(S) be the cutset of S, that is, the set
of edges whose removal disconnect S from G. We define the graph operation G(S) as the
result of contracting each edge in S until we are left with a single ’pseudonode’ vS. V (G(S))
is the set of all nodes not in S, together with the the new pseudonode. The edges in G(S)
are defined as follows:
1. An edge with both ends in S is deleted;
2. An edge with both ends in G− S remains unchanged;
3. An edge of ϕ(S) now joins the adjacent node of G− S and vS.
Lemma 2. [23] If F is a fan in a Halin graph H, then H(F ) is a Halin graph.
A Halin graph on n nodes contains at most 2n − 2 edges. Given an arbitrary graph, it
can be verified if it is a Halin graph in O(n) time using the O(n) planarity testing algorithm
of Hopcroft and Tarjan [38]. Interestingly, testing if a graph G is a subgraph or a supergraph
of Halin graph is a difficult problem.
Theorem 1. [40] Given a graph G, testing if G is a subgraph of a Halin graph is NP-hard.
Similarly, testing if there exists a spanning subgraph of G which is a Halin graph is NP-hard.
A caterpillar graph is defined to be a tree such that if all leaves and their incident edges
are removed, the remaining graph forms a path. Define a caterpillar Halin graph to be a
Halin graph H = T ∪C such that T is a caterpillar. The reader may refer to Figure 1.2 for
an example.
Theorem 2. Given a graph G, testing if G contains a caterpillar spanning Halin subgraph
is NP-hard.
Proof. The result can be proven using the proof provided in [40].
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 4
Figure 1.2: A caterpillar Halin graph.
1.2 Generalizations of Halin graphs
Halin graphs have strong Hamiltonian properties. Let H be a Halin graph. It is known
that Halin graphs are 1-Hamiltonian (are Hamiltonian and H − v for any node v is Hamil-
tonian) [15] and 1-edge Hamiltonian (are Hamiltonian and H − e for any edge e is Hamilto-
nian) [71]. Barefoot [9] showed that Halin graphs are Hamiltonian connected, that is they
have a Hamilton path between every pair of nodes. Bondy and Lovasz [14], and indepen-
dently Skowronska [68] showed that these graphs are nearly pancyclic (they contain cycles
of all lengths l, 3 ≤ l ≤ n except possible for one even value of n). In addition, it was shown
that Halin graphs which do not contain nodes of degree 3 in G− C are pancyclic.
In this section we give three generalizations of Halin graphs published in literature. We
know of no algorithmic results on any of these classes of graphs. We discuss Hamiltonicity
and cycle results on each which may be useful in developing algorithms on these graphs.
1.2.1 Amalgams and its variations
Malkevitch [55] generalized Halin graphs as follows. Let T1 and T2 be two trees embedded
in the plane, with no nodes of degree 2 and the same number of leaf nodes, say m. Let
γ : {1, . . . ,m} → {1, . . . ,m} be a 1 − 1 mapping such that if γ(1) = i then we have
γ(j) = (i+j−1) mod m or γ(j) = (i−j+1) mod m for every j. An amalgam G(T1, T2, γ)
of T1 and T2 is obtained by merging i ∈ T1 with γ(i) ∈ T2 and adding edges between them
in the proper cyclic order to form a cycle C. Note that the graphs induced by the nodes of
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 5
T1 and the nodes of T2 are Halin graphs.
Figure 1.3: Amalgam A(T1, T2, γ).
Skowronska and Syslo [69] show that there exists an infinite set of non-Hamiltonian
amalgams, as well as the following Hamiltonicity result.
Lemma 3. Every amalgam with minimum degree 4 is Hamiltonian.
Farley et al. [27] further develop Hamiltonicity results on amalgams. One approach to
constructing a Hamilton cycle in amalgam A = (T1, T2, γk), where γk is a cyclic k-shift of
the leaf nodes, is to merge Hamilton cycles in the two component Halin graphs. Using facial
covers, Farley et al. are able to give a number of results describing the existence of Hamilton
cycles as merges of Hamilton cycles in the two component graphs.
1.2.2 Generalized Halin graphs
The following generalization of Halin graphs is due to Malik, Quereshi and Zamfirescu [53].
A graph G is said to be a k-Halin graph if it is 2-connected, planar, without nodes of degree
2 and possesses a cycle C such that
1. all nodes of C have degree 3 in G,
2. G−C is connected and has at most k cycles.
The definition provided yields a nested sequence of generalized Halin graphs as the class
of k-Halin graphs is contained in the class of (k + 1)-Halin graphs. As one would expect,
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 6
C
C1
Figure 1.4: A 1-Halin graph.
Hamiltonian properties degrade as k increases. Malik et al. [53] give the following results.
We note that 0-Halin graphs are exactly the class of Halin graphs.
Remark. 1-Halin graphs are not necessarily Hamiltonian connected.
Theorem 3. Every 1-Halin graph is Hamiltonian.
Remark. 2-Halin graphs are not necessarily Hamiltonian.
Theorem 4. Every 2-Halin graph is traceable, that is, contains a Hamilton path.
Remark. 3-Halin graphs are not necessarily traceable.
Theorem 5. Every 3-Halin graph without inner nodes of degree 3 is pancyclic.
Figures detailing the remarks above can be found in [63], [53].
Theorem 6. [63] Every cubic 3-connected 14-Halin graph is Hamiltonian.
The sharpness of this result is proven by a non-Hamiltonian 15-Halin graph given in [63].
1.3 k-layer Extensions
We now provide a previously unstudied generalization of Halin graphs. A k-layer extension
(of a Halin graph) H = T1 ∪ T2 ∪ . . . ∪ Tk ∪ C is constructed as follows: Start with a Halin
graph H = T1 ∪C. For plane trees T2, . . . , Tk having the same number of leaves as T1, add
to H by merging the leaves of Ti with the corresponding leaves of T1 as ordered by the cycle
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 7
C. We say that a k-layer extension is uniform if H = T ∪ . . .∪T ∪C. We note that a 1-layer
extension is a Halin graph, and that 2-layer extensions are amalgams.
Lemma 4. Let P be the degree of the minimum degree internal node in k-layer extension
H. Then H is min{P, k + 2}-connected.
First note that an incorrect proof for the the case for P = 4 and k = 2 was given by
Skowronska and Syslo [69]. The statement ”Thus there exist two nodes x ∈ V (S1) ∩ V (T1)
and y ∈ V (S2)∩V (T2) and we have reached a contradiction of the fact that there exist four
node-disjoint paths from x to y in G.” does not yield a contradiction. We provide a proof
of this more general lemma of which the lemma by Skowronska and Syslo is a subcase.
Proof. Suppose P > k + 2. Then removing all neighbours of a node v ∈ C will disconnect
the graph. v has k + 2 neighbours, so H is (k + 2)-connected.
Suppose P ≤ k+ 2. It must be shown that there exist P disjoint paths between any two
nodes x, y in H. Since nodes in C are in every Ti, we have two cases: x, y are in the same
Ti and x ∈ Ti, y ∈ Tj for i 6= j.
For the first case suppose without loss of generality that x, y ∈ Tk. Since Tk is a tree,
there exists an xy-path p, using only nodes in int(Tk). Note that at least one leaf node
is reachable from an interior node along each edge adjacent to that interior node and that
these paths must be disjoint. Let p2 denote the xy-path from x to a leaf node using the
first edge counterclockwise at x from the edge used in p, followed by nodes clockwise along
C, and through a leaf node reachable from y using the first edge clockwise at y from the
edge used in p. Similarly, let p3 denote the xy-path from x to a leaf node using the first
edge clockwise at x from the edge used in p, followed by nodes counterclockwise along C,
and through a leaf node reachable from y using the first edge counterclockwise at y from
the edge used in p. Now there must exist at least P − 3 other reachable leaves from x and
from y along disjoint paths since x and y have degree at least P . For each of the P −3 pairs
of leaves (u1, v1), . . . , (uk−1, vk−1), there exists a (ui, vi) path in tree Ti. Hence there are at
least P disjoint xy-paths.
For the second case suppose that x ∈ Tm and y ∈ Tn for m 6= n. From x there are at
least P reachable leaves through disjoint paths, say v1, . . . , vP ordered around C. There
exists an xy-path which passes through v1 in C (and only v1), say p1. It is simple to find
a second disjoint xy-path. Suppose we have s node disjoint paths with 2 ≤ s < k + 1 and
suppose that ∄ a viy-path disjoint from x − vj − y for i < j. Then there is a viy-path
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 8
through some node ui−1 on the vi−1y-path (or equivalently ui+1 on the vi+1y-path). But
y has P reachable leaves by disjoint paths, so there is a reachable leaf u which belongs to
none of the x − vj − y disjoint paths for i < j. Suppose u is between vi and vi+1. Then
it is easy to find an x − vi − y-path. So it must be somewhere else along C, say between
nodes belonging to paths pq and pr (q < r). u is reachable from x through Ti, so either the
xu-path is disjoint from both pq and pr, or it intersects with exactly one of them. If it is
disjoint, then we immediately have an x− u− y disjoint path. So assume that the xu-path
intersects path pr at node r or path pq at node q.
Next we show there exist i+1 node disjoint xy-paths using the i previous paths. Suppose
that the xu-path intersects path pr at node r. Let p′r = xr∪ ru∪uy and pi = xvi ∪ viui−1 ∪
ui−1y, all paths through nodes vi−1 . . . vr +1 are shifted as follows: p′i−1 = xvi−1∪vi−1vi−2∪
vi−2vr and the remaining paths stay the same. Hence we have i+1 disjoint paths. Otherwise,
if the xu-path intersects path pq at node q, let p′q = xq∪qu∪uy and pi = xvi∪vivi+1∪vi+1y,
all paths through nodes vi+1 . . . vq −1 are shifted as follows: p′i+1 = xvi+2∪vi+2vi+3∪vi+3y.
All other paths remain the same. Hence we have i+ 1 disjoint paths. This can be repeated
until there are P disjoint xy-paths, so H is P -connected.
Let H = T ∪ . . . ∪ T ∪ C be a k-layer uniform Halin extension. We can extend the fan
contraction operation from before in a straightforward manner. If T is a star, then we say
that H is a k-wheel with centres v1, . . . , vk where vi belongs to the ith copy of T . Suppose
T has at least two non-leaf nodes and arbitrarily select one as w1. Then the corresponding
nodes in each copy of T will be referred to as w2, . . . , wk. Each wi is incident with consecutive
nodes in C, which we denote by C(wi). The subgraph induced by ∪ki=1({wi} ∪ C(wi)) is
referred to as a k-fan, and we call w1, . . . , wk the k centres of the fan. This gives the following
extensions of Lemmas 1 and 2.
Lemma 5. Every uniform k-layer Halin extension which is not a k-wheel has at least two
fans.
Lemma 6. If F is a k-fan in a uniform k-layer Halin extension H, then H(F ) is a uniform
k-layer Halin extension.
Theorem 7. Given a graph G and integer k ≥ 1, testing if G is a subgraph of a k-layer
Halin extension is NP-Hard.
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 9
edge in Ti
edge in C
fan in H
F
Figure 1.5: A uniform 3-layer Halin extension.
Proof. The problem can be shown to be in NP as follows. First verify that G is 3-connected.
Next, let C be the set of vertices of degree k + 2. Discard vertices from C which have 1
or more than 2 neighbours in C. Then C is a cycle, which is denoted C. Verify that
G \C contains exactly k disjoint trees T1, . . . , Tk. Lastly, it must be verified that the cyclic
order defined by C allows a planar embedding of each Ti ∪ C, which can easily be done in
polynomial time.
Our reduction will be an extension of the reduction used in [40] from the longest cycle
problem restricted to planar graphs:
Pc: Given a planar graph G = (V,E) and an integer l with |V | ≥ l ≥ 3, does there exist
a cycle in G with length at least l?
We will use the following transformation. Consider an arbitrary graph G with |V | = n
and |E| = e. Add a single vertex on every edge of G. Add vertices v1, . . . , vk adjacent to
every vertex not in {v1, . . . , vk}. Set t = 2(k + 1)l. Denote this graph G′ = (V ′, E′). Let
V ∗ ={vertices inserted on edges of E}. Then V ′ = V ∪ V ∗ ∪ {v1, . . . , vk}. Let E∗ ={edges
formed by the subdivision of edges in E by V ∗}. Let Ei = {(vi, j)|j ∈ V ′, j 6= v1, . . . , vk} for
i = 1, . . . , k. Then E′ = E∗ ∪E1 ∪ . . .∪Ek. Note that |V ∗| = e, |V ′| = n+ e+ k, |E∗| = 2e,
|Ei| = n+ e for all i, and |E′| = (2 + k)e+ kn.
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 10
(⇒) Suppose that there exists a cycle C in G of length at least l. Then by construction
there is a cycle C ′ of length at least 2l in G′ since one vertex was added on each edge of G.
Each of the vertices in C ′ is adjacent to vi by an edge in Ei for i ∈ {1, . . . , k}. Each set of
2l edges forms a star on 2l + 1 vertices centered at vi. Then the union of the k stars with
C ′ forms a k-layer extension of size 2(k + 1)l.
(⇐) Now suppose that there exists a k-layer extension subgraph of G′, denoted G− =
(V −, E−) where V − ⊇ V , E− ⊇ E and |E−| ≥ 2(k + 1)l.
Suppose vi /∈ V − for some i. Then each V ∗ vertex in G′ is incident to k+1 edges. Every
vertex in C ′ must have degree k + 2 in a k-layer extension, so no vertices in V ∗ can be in
C ′. Since ∃ a vertex between each pair of vertices in V , there cannot be a cycle C ′ in G′.
Hence G′ cannot be a k-layer extension, contrary to our assumption. So we have vi ∈ V −
for all i.
Next suppose vi ∈ C ′ for some i. Then exactly two edges in Ei are cycle edges, and
the remaining n+ e − 2 are tree edges. Since C ′ is a cycle, it must contain more than one
edge, and hence must include at least one V ∗ vertex u not connected to vi by a cycle edge.
By construction, there must also be a (vi, u) edge, which prohibits G− from being a k-layer
extension. Hence all vi vertices are not in C ′.
Now we have that vi is adjacent to every other vertex in G′ by an edge in Ei. We have
shown that each of these edges must be a tree edge (vi, u). There are four possibilities for
u: (a) u ∈ V and u ∈ C ′, (b) u ∈ V and u /∈ C ′, (c) u ∈ V ∗ and u ∈ C ′, or (d) u ∈ V ∗ and
u /∈ C ′.
Case (b): Suppose u /∈ C ′. u has degree at least 3 since it is in V . Then u is adjacent
to at least 2 other vertices a, b in V ∗. Then a, b are adjacent to vi. Suppose without loss of
generality that a ∈ C ′. Note that there are no edges between u1 ∈ Ti and u2 ∈ Tj for i 6= j
by definition, this implies that {vi, u} are in the same Ti. Then a has two neighbours in Ti.
This contradicts G′ being a k-layer extension. So suppose that a /∈ C ′. Then we have edges
(vi, u), (u, a) and (a, vi), a 3-cycle in Ti. This again violates G′ being a k-layer extension,
and this case cannot occur.
Case (d): Suppose u /∈ C ′ and u ∈ V ∗. Then there are two vertices a, b adjacent to u
in V . Since vi, u /∈ C ′ and there are no edges between u1 ∈ Ti and u2 ∈ Tj for i 6= j by
definition, this implies that vi, u are in the same Ti. Then both a, b must be in C ′ or there
is a cycle vi, u, a (or vi, u, b) in Ti. Now a, b have two neighbours in Ti =⇒ G′ is not a
k-layer extension.
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 11
Since we chose u arbitrarily, it follows that every vertex other than v1, . . . , vk is in C ′.
Then each tree Ti is a star centered at vi. Clearly this graph has k/(k + 1) of its edges as
tree edges, and 1/(k + 1) cycle edges. Since we assumed that G− has |E−| ≥ 2(k + 1)l, this
leaves at least 2l cycle edges. By construction of G′, each edge in G was devided in two, so
the 2l-cycle in G− corresponds to a cycle of length l in G.
1.4 Optimization problems
Let us now review existing results on optimization problems on a Halin graph. For each edge
e ∈ H assume that a cost c(e) is given. For any subgraph S of H, let c(S) =∑
e∈S c(e). Then
c(S) is referred to as the cost of the subgraph S. Similarly let cmax(S) = max{c(e) : e ∈ S}
and cmax(S) is referred to as the bottleneck cost of S. In most of the optimization problems
discussed here, we seek a subgraph S of H satisfying prescribed properties and the cost or
bottleneck cost of S is minimized. For some problems, in addition to the cost c(e) a weight
w(e) is also prescribed for edge e ∈ H and we let w(S) =∑
e∈S w(e).
1.4.1 Trees
Perhaps the simplest optimization problem studied in literature is the minimum spanning
tree problem (MST) [57]. MST can be solved in linear time on any planar graph [21, 56]
and hence on a Halin graph. A closely related problem is the maximum leaf spanning tree
problem [48] which is well known to be NP-hard [33] on a general graph. Note that this
tree is not necessarily unique. From K4, we can construct an infinite class of graphs with
non-unique characteristic trees by repeatedly bisecting a pair of non-adjacent interior faces
of H. This yields the special class of Halin graphs called necklaces which are the only graphs
which have exactly two embeddings which are Halin graphs [73]. Refer to Figure 1.6 for an
example of a necklace. A characteristic tree T can be identified in O(n) time as follows:
Find a planar embedding of the halin graph and check if the deletion of its r boundary edges
leaves a tree with r leaves and no nodes of degree 2 [48].
Theorem 8. [48] The characteristic tree of a Halin graph H is a spanning tree with
maximum number of leaves and hence the maximum leaf spanning tree problem can be solved
in linear time on a Halin graph.
Another popular variation of the minimum spanning tree problem is the constrained
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 12
1 2 3 4 50
1′ 2′ 3′ 4′ 5′
6
(a) An embedding of necklace N .
1′ 2′ 3′ 4′ 5′0
1 2 3 4 5
6
(b) Another embedding of N .
Figure 1.6: Planar embeddings of necklace N .
minimum spanning tree problem (CMST) where we seek a spanning tree S of H satisfying
w(S) ≤W where W is a given constant. CMST is NP-complete on a general graph [2] and
possess polynomial time approximation scheme [36]. The simple structure of Halin graph
doesn’t make CMST any easier.
Theorem 9. CMST is NP-complete on a Halin graph.
Proof. CMST is clearly in NP. We now reduce the Partition problem to CMST. The Par-
tition problem can be stated as follows: given a multiset S of integers, is there a way to
partition S into two subsets S1 and S2 such that the sum of the numbers in S1 equals the
sum of the numbers in S2? From a given instance of Partition we construct an instance of
CMST. The gadget we will use is K4 − e embedded in the plane.
Let M =∑
i∈S ai + 1. We construct a Halin graph H as follows. For each integer ai
in S, create a copy of the K4 − e gadget with nodes labelled ti, li, ri, and bi. Assign costs
c((ti, li)) = ai, c((ti, ri)) = −ai, c((ti, bi)) = M , c((li, bi)) = c((ri, bi)) = −M . Add edges
(ri, li+1), i = 1, . . . , n− 1 and edge (rn, l1) with cost M. Add a single node v and connect it
to every bi, i ∈ {1, . . . , n} with edges of cost 0. For each edge with c(e) = ai or −ai assign
weight w(e) = −c(e). For all other edges, assign weight w(e) = 0. The resulting graph is a
Halin graph as shown in figure 1.7.
Suppose we have a valid partition P of S into S1 and S2. Then construct the set T of
edges which consists of all edges having cost −M or 0. To T , we add the edges with cost
ai for i ∈ S1 and the edges with cost −ai for i ∈ S2. Clearly T spans V (H) since the 0 cost
edges connect all bi nodes to v, the −M cost edges add the li and ri nodes, and there is
exactly one of the ai, −ai cost edges in T for every i ∈ {1, . . . , n}. Note that there are no
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 13
t1
b1
l1
r1
M
−M
−M
a1
−a1
a1t2
b2
l2
r2
M−M
−M
a2
−a2
a2
t3b3
l3
r3
M
−M
−M
a3
−a3
a3
t4
b4l4
r4
M
−M
−Ma4
−a4
a4t5
b5
l5r5 M
−M−M
a5−a5
a5
v
M
M
M
M
M
0
0
0
0
0
Figure 1.7: Example of the Halin graph constructed from S with edge costs labelled. (|S| =5).
cycles in T , so T is a spanning tree. Since P is a valid partition,∑
i∈S1ai =
∑
i∈S2ai and
the contribution of edges adjacent to t nodes to c(T ) (and w(T )) is 0. Hence, c(T ) = −2nM
and w(T ) = 0.
Now suppose we have a spanning tree T which solves CMST with∑
e∈T c(e) ≤ −2nM
and∑
e∈T w(e) ≤ 0. Clearly T does not contain any edges with cost M . As well, every edge
with cost −M must be in T . This forces every edge with cost 0 to be in T . Since T spans
H, either the edge with cost ai or cost −ai must belong to T for every i, but not both. Let
T 1 be the set of edges with cost ai in T , and T 2 be the set of edges with cost −ai in T . Since
c(T ) ≤ −2nM = c(T \ T 1 ∪ T 2), we have that c(T 1) = c(T 2). Hence, if we let S1 be the set
of integers corresponding to the edges in T 1, and S2 be the set of integers corresponding to
the edges in T 2, S1 and S2 form a valid partition of S.
The constrained bottleneck spanning tree problem [11] is solvable in O(m + n log n)
time on a general graph [7]. The problem can be solved in linear time on a Halin graph [].
The basic idea of this algorithm is again ’fan contraction’ Consequently, it can be solved in
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 14
O(n log n) time on a Halin graph. However, if the additional constraint needs to be satisfied
as an equality, the problem becomes difficult. This result follows from our next theorem.
Theorem 10. Given a Halin graph and a constant K, testing if H contains a spanning tree
T with C(T ) = K is NP-hard. The problem is polynomially bounded if c(e) ∈ {0, 1}.
The proof follows from reduction from the subset sum problem. For the 0-1 case, the
problem is solvable in polynomial time on a general graph [62].
The Steiner tree problem [33], a generalization of MST, is yet another tree based opti-
mization problem well studied in literature. The problem is known to be NP-complete on
a general graph. It has been shown to be solvable in linear time on Halin graphs [80]. The
basic idea of this algorithm is to associate certain subgraphs of the original Halin graph
with the pseudonodes representing contracted fans. The problem is then solved recursively
contracting fans. We refer the reader to [80] for details. We note that with the addition of
the weight constraint w(T ) ≤ W , the problem of finding the minimum cost Steiner tree is
NP-hard [20] on a Halin graph. A fully polynomial approximation scheme is given in [20]
to solve the constrained Steiner tree problem on a Halin graph.
The categorized spanning tree problems have been shown to be NP-Complete on bipar-
tite outerplanar graphs using either the sum or maximum objective functions [1]. Their
tractability is not known when restricted to Halin graphs.
There are several other variations of tree based optimization problems discussed in lit-
erature [33, 35, 41]. To the best of our knowledge, their specializations to Halin graphs are
not explored explicitly in literature. Some such problems could possibly be studied under
the general framework of partial k-trees and a review of such results is beyond the scope of
this study.
1.4.2 Matchings and cycle covers
The problem of finding the maximum-weighted matching M in an undirected graph G has
been studied extensively and can be solved in O(mn log n)-time on a general graph [25, 31,
45, 32]. The problem can be solved in linear time on a Halin graph [50]. The basic idea of
this algorithm is again ’fan contraction’.
Suppose G = T ∪ C is a Halin graph, v ∈ V (G) and v is the center of the fan F . Let
u1, u2, . . . , ur for r ≥ 2 be the nodes of F which belong to C. Refer to the subgraph induced
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 15
by the the nodes {v} ∪ {ua, ua+1 . . . , ub} as pseudo-fan PFa,b for (1 ≤ a ≤ b ≤ r). This
substructure definition allows the use of dynamic programming within each fan.
In the optimal matching problem knowing if the edges in ϕ(F ) belong to M or not does
not give an obvious solution to which edges of F are in M . Let ϕ(F ) = {j, k, l}, and label the
end nodes of j, k and l in F , uj , uk and ul, respectively. Choose j and k in anti-clockwise
order in C. The node ui has three states: 1) ui is not adjacent to an edge in M (ui is
unsaturated); 2) If i ∈ M , ui is externally saturated in F ; 3) otherwise, ui is internally
saturated. Clearly, only the states of uj , uk and ul affect the situation of M ∩ (H − F ),
and the remaining nodes in F do not. Assign weight function W , which takes the states of
nodes in ϕ(F ) ∩ F as inputs, to store the value of the maximum-weighted matching to F
with respect to each state of ϕ(F ).
Now, by defining W on original nodes of H, it is simple to calculate values for W on
pseudo-fan PF1,2. Once the values to the function W of PF1,k are known, the values to
the function W of PF1,k+1 can be computed. This provides an iterative process to obtain
values for W of PF1,r (|V (F )| = r+ 1), which can then be translated into a value for W of
F . Details are provided in [46].
u1 u2 u3 ur
v
...u1 u2 u3 ur
v
...
Figure 1.8: Expansion of pseudo-fan PF1,2 to PF1,3.
The dynamic programming approach using pseudo-fans has been used to develop linear
time algorithms on Halin graphs by Li to solve the problems of covering nodes with a
single cycle, covering nodes with disjoint cycles, and covering nodes with an optimal 2-edge-
connected subgraph [46] and by Lu and Lou to solve partition into perfect matchings [52].
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 16
1.4.3 TSP and related problems
Note that each time a fan is contracted using the graph operation H(F ) described in Sec-
tion 1.1, the number of nonleaf nodes of the tree is reduced by one. That is, after fewer than
⌈(n − 1)/2⌉ fan contractions, a wheel is obtained. Analyzing the potential solutions to a
combinatorial problem with regards to a fan in polynomial time, then yields a polynomial-
time algorithm which solves the problem. Recall the traveling salesman problem: given an
arbitrary graph G = (V,E) and costs c(j) for each j ∈ E, find a hamilton cycle in G with
minimum total cost. That is,
TSP : Minimize∑
e∈τ
c(e)
Subject to τ ∈ F .
where F is the set of all Hamilton cycles in G.
Now consider the TSP on Halin graphs. We consider two cases: if H is a wheel, and if
H is not a wheel. If H is a wheel with r + 1 nodes, finding the minimum cost Hamilton
cycle is easy. We simply include each edge in C with a detour through the centre of the
wheel, w. To choose which edge of C not to include, we can define a function σ(e) on the
edges e = (u, v) ∈ C, assigning σ(e) = c(w, u) + c(v,w) − c(u, v) and take the edge which
minimizes σ(e).
The case when H is not a wheel is slightly more involved. H contains at least two fans,
so let F be an arbitrary fan in H. Let v be the centre of F , and label the leaves in the
order of C, u1, u2, . . . , ur (r ≥ 2). Let {j, k, l} be the 3-edge cutset ϕ(F ) which disconnect
F from G such that j is adjacent to u1, k is adjacent to v and l is adjacent to ur. We refer
the reader to figure 1.9.
We have the useful property that every Hamilton cycle in an arbitrary graph G contains
exactly 2 of the 3 edges in every 3-edge cutset of G. Hence, any Hamilton cycle τ contains
exactly two of {j, k, l}. The pair of edges chosen gives us a small number of possibilities
for traversing F , namely, if τ uses k and l, it contains the subsequence u1, u2, . . . , ur, v, if τ
uses j and k it contains the subsequence v, u1, u2, . . . ur and if τ uses j and l, it contains a
subsequence of the form u1, u2, . . . , v, ui+1, . . . , ur, for some i ∈ {2, 3, . . . , r − 1} as it must
detour through the centre of F . At this point we define a new cost function c′ which updates
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 17
u1
u2
u3
u4
v
j
l
k
edge in T
edge in C
fan in H
F
Figure 1.9: A Halin graph with 3-edge cutset {i, j, k}.
the costs under fan shrinking, adjusting for the selection of {j, k, l}. The edge weights are
modified so that the optimal objective function of the TSP is the same as that on the
reduced graph. Details are provided in [23]. For each choice of two edges from ϕ{F}, say
(e, f), we refer to the corresponding path which traverses F , as an (e, f)-traversal.
The algorithm is as follows. Recursively apply the second case until we arrive at a
wheel. Solve the TSP on the wheel. Then by working in the reverse order that the fans
were contracted expand each fan, keeping track of the edges being added to τ . This process
will lead to the TSP solution for the original graph in O(n).
The traveling salesman problem is studied under categorization in [61]. Two general-
izations of the TSP are introduced and are shown to be strongly NP-Complete on Halin
graphs.
A closely related problem to the TSP is the Wandering Salesman Problem, which at-
tempts to find a shortest Hamilton path rather than Hamilton cycle. There are three versions
of this problem, also known as the optimal Hamilton path problem: none, one or two of the
end nodes are specified. If ω is a Hamilton path, then let the subscripts of ω denote the end
nodes that are fixed in the problem.
Theorem 11. [47] Let H be a Halin graph and F be a fan in H. Every hamiltonian path
τ = u . . . v contains exactly two edges of ϕ(F ) if u, v 6∈ V (F ) or u, v ∈ V (F ), while contains
exactly one or three edges of ϕ(F ) if just one of u and v lies in F .
A careful case analysis by Li, Lou and Lu [47] yields linear time algorithms for ωu,v and
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 18
ωu using variations of the algorithmic approach described above. Additionally, optimal ω
can be found using fan contraction in conjunction with the pseudofan substructure. Details
can be found in [47].
Next, consider the Bottleneck Traveling Salesman Problem (BTSP): find a Hamilton
cycle whose largest edge weight is minimized. That is,
BTSP : Minimize maxe∈τ
c(e)
Subject to τ ∈ F .
This problem is known to be NP-hard in general, but an obvious O(n log n) algorithm
can be obtained by using the linear-time TSP algorithm as a subroutine within the binary
search version of the threshold algorithm. Phillips, Punnen and Kabadi [42] provide a O(n)
algorithm by making use of penalty functions and solving a modified version of the BTSP.
The basic approach is as follows. Assign a penalty triplet to each outer node which stores
the ”penalty” resulting from selecting each pair of adjacent edges. Initially, all penalties are
zero. Use the fan contraction operation successively as before and update the penalty triplets
at each iteration using both the edge weights and penalties on the nodes in the contracted
fan F . The update procedure simply sets the (e, f)-penalty at the new pseudonode to be the
maximum of the penalties of the nodes in F and the edge weights of the edges in F which
are included in the (e, f)-traversal of F . Note that this approach is a more general approach
than the approach provided in [23] which can be used to solve TSP on Halin graphs in O(n).
In the multiobjective TSP and BTSP each edge is assigned p weights. The value of tour
τ with respect to objective function q is fq(τ) for q = 1, . . . , p. That is, we want to find:
MCTSP : ”Minimize” f(τ) = (f1(τ), . . . , fq(τ))
subject to τ ∈ F .
We say that point f(τ1) dominates point f(τ2) if and only if fq(τ1) ≤ fq(τ2) for all q
and fq(τ1) < fq(τ
2) for at least one q. If there exists no τ ∈ F such that f(τ) dominates
f(τ1), then we say that f(τ1) is nondominated.
Theorem 12. [58] The number of nondominated points in H is exponential in k.
CHAPTER 1. OPTIMIZATION PROBLEMS ON A HALIN GRAPH 19
We say that a TSP with p objectives is denoted a p − Σ TSP if all objectives are the
TSP type, and p-max TSP if they are all the BTSP type. p1 − Σ p2- max TSP denotes a
multiobjective TSP with p1-TSP type objectives, and p2-BTSP objectives. Ozpeynirci and
Koksalan [58] provide O(n2) algorithms which find all nondominated points for the 1−Σ 1
-max TSP and the 2 -max TSP using straightforward iterations of the previously mentioned
TSP and BTSP algorithms. These results are generalized to give polynomial algorithms for
the 1 − Σ p-max TSP and p-max TSP problems.
Chapter 2
The 2-Neighbor Traveling
Salesman Problem
2.1 Introduction
Let G = (V,E) be an undirected graph on the node set V = {1, 2, . . . , n}. For each
edge (i, j) ∈ E a nonnegative cost c(i, j) is prescribed. Let τ = (v1, v2, . . . , vn, v1) be
a tour in G and let F be the set of all tours in G. The edges e = (vi, vi+1) and f =
(vj , vj+1) (here n + 1 is taken as 1) are k-neighbors on τ if and only if the shortest path
between e and f on τ containing these edges has exactly k edges, for k ≥ 2. Note that
e and f are 2-neighbors in τ if and only if they share a common node in τ . For the k-
neighbor TSP, in addition to cost of individual arcs, there also exists a cost q(e, f) for
pairs of edges in a tour that are p-neighbors for all p ≤ k. Let δ(k, τ) = {(e, f) : e, f ∈
τ and e and f are p-nighbors on τ for 2 ≤ p ≤ k.} Without loss of generality, assume that
q(e, f) = q(f, e) for every pair of edges (e, f) ∈ G. Then the k-neighbor TSP (TSP(k)) can
be defined as
TSP (k) : Minimize∑
(e,f)∈δ(k,τ)
q(e, f) +∑
e∈τ
c(e)
Subject to τ ∈ F .
A closely related problem, the quadratic TSP, can be defined as follows:
20
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 21
QTSP : Minimize∑
(e,f)∈τ⊗τ
q(e, f) +∑
e∈τ
c(e)
Subject to τ ∈ F .
where τ ⊗ τ = τ × τ − {(e, e) : e ∈ τ}. Then
τ ⊗ τ =
δ(n/2, τ) if n is even
δ((n − 1)/2, τ) if n is odd.
Thus when k = n/2 and n even or k = (n−1)/2 and n odd, the k-neighbor TSP reduces
to the quadratic TSP. When k = 1, δ(k, τ) = ∅ and in this case, the problem reduces to
TSP. Further, the k-neighbor TSP for any k ≥ 1 can also be viewed as a special case of the
quadratic TSP, simply assign quadratic costs of 0 to all pairs of edges which are l-neighbors,
for l > k.
The bottleneck version of the k-neighbor TSP is defined as:
BTSP (k) : Minimize max{ max(e,f)∈δ(k,τ)
q(e, f),maxe∈τ
c(e)}
Subject to τ ∈ F .
BTSP(k) is a special case of the bottleneck quadratic TSP
QBTSP : Minimize max{ max(e,f)∈τ⊗τ
q(e, f),maxe∈τ
c(e)}
Subject to τ ∈ F .
Note that, as in the case of TSP(k), BTSP(k) can also be viewed as a generalization of
QBTSP and of the bottleneck TSP. BTSP(k) was introduced by Arkin et al [4] and pointed
out that the model can be used to determine optimal rivetting sequence to join metal plates
in the air-craft industry, citing that the problem originated from Boeing [65, 66]. In fact, the
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 22
original model of Arkin et al [4] was presented as a maxmin problem, called k-neighbor max-
imum scatter TSP (MSTSP(k)). From an optimality point of view, the problems BTSP(k)
and MSTSP(k) are equivalent, although their approximation characteristics are different.
Another application of BTSP(k) discussed in [4] was in the context of medical image pro-
cessing. Arkin et al obtained an approximation algorithm for MSTSP(2) with performance
ratio 2. However, the validity of this bound was established using the regularity lemma [43]
which is valid only for very large n (i.e. when n > p where log∗(p) ≅ 220). Without reg-
ularity lemma, they obtained a performance ratio of 64 for MSTSP(2) which was recently
improved by Chiang [4] to a factor of 18 with an O(n2) algorithm. The general quadratic
TSP was considered recently by Kabadi and Punnen [42] who obtained polynomially testable
necessary and sufficient conditions for the QTSP and the quadratic assignment problem to
be linearizable. The k-neighbor TSP is also related to the k-peripatetic salesman prob-
lem [44, 24] and the watchman problem [22]. To the best of our knowledge no other works
are reported in the literature on TSP(k) or BTSP(k).
In this chapter it is shown that QTSP and BQTSP are strongly NP-hard on Halin graphs
although their linear counterparts TSP and bottleneck TSP are solvable in linear time on
such graphs. However, the special cases TSP(2) and BTSP(2) are shown to be solvable in
linear time on Halin graphs. In addition to identifying polynomially solvable special cases,
our results on Halin graphs could be used to develop VLSN search algorithms [3] for these
problems on a general graph.
2.2 Complexity of QTSP and BQTSP
As discussed in Chapter 1, many optimization problems that are NP-Hard on a general
graph are solvable in polynomial time on a Halin graph. Unlike these special cases, it is now
shown that, QTSP and BQTSP are strongly NP-hard on Halin graphs. First considered
is the case of QBTSP. The recognition version of QBTSP on a Halin graph, denoted by
RQBTSP, can be stated as follows:
“Given a Halin graph H and a constant θ, does there exist a tour τ in H such that
max{ maxe∈E(τ)
c(e), maxe,f∈E(τ)
q(e, f)} ≤ θ?”
Theorem 13. RQBTSP is strongly NP-complete even if the values c(e) and q(e, f) for
e, f ∈ H takes 0-1 values only.
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 23
Proof. RQBTSP is clearly in NP. We now show that the 3-SAT problem can be reduced
to RBQTSP. The 3-SAT problem can be stated as follows: “Given a Boolean formula F
containing a finite number of clauses C1, C2, . . . Ch on variables x1, x2, . . . xt such that each
clause contains exactly three literals (L1, . . . , L3h where for each i, Li = xj or Li = ¬xj for
some 1 ≤ j ≤ t), does there exists a truth assignment such that F yields a value ’true’?”
From a given instance of 3-SAT, an instance of RQBTSP is constructed. The basic building
block of our construction is a 6-fan gadget obtained as follows. Embed a star on 7 nodes
with center v and two specified nodes ℓ and r on the plane and add a path P from ℓ to r
covering each of the pendant nodes so that the resulting graph is planar. (See Figure 2.1).
Call this special graph a 6-fan gadget.
ℓ
v
r
µ1
µ2
µ3
Figure 2.1: 6 − Fan Gadget.
The nodes on path P of this gadget are called outer nodes and edges on P are called
outer edges. Let µ1, µ2, µ3 be a matching on P . Note that any Hamiltonian ℓ − r path of
the gadget must contain all the outer edges except one which is skipped to detour through
v. Without loss of generality assume that F is in conjunctive normal form.
Now construct a Halin graph H as follows. For each clause C1, . . . , Ch, create a copy of
the 6-Fan gadget. The r, ℓ, and v nodes of the 6-fan gadget corresponding to the clause Ci are
denoted by ri, ℓi and vi respectively. Connect the node ri to the node ℓi+1, i = 1, 2, . . . n−1.
Introduce nodes vx and vy and the edges (ℓ1, vx), (vx, vy), (vy, rn). Also introduce a new
node w and connect it to vx, vy and vi for i = 1, 2, . . . h. The resulting graph is the required
Halin graph H. See Figure 2.2.
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 24
v1
ℓ1
r1
µ1 µ2
µ3
C1
v2
ℓ2
r2
µ4
µ5
µ6
C2
v3
ℓ3
r3
µ7
µ8µ9
C3
vy
vx
w
x
y
Figure 2.2: Example of the Halin graph constructed from F = C1 ∧ C2 ∧ C3.
Assign the cost c(e) = 0 for every edge in H. Let x = (vx, w) and y = (vy, w). Refer
to the edges adjacent to w as ”spokes”. Note that every tour which contains edges x and y
traverses every gadget using an ℓ − r Hamilton path. For each gadget: assign paired cost
q(e, f) = 1 for pairs of edges which are neither outer edges nor both adjacent to the same
literal edge µ1, µ2 or µ3, and for all other pairs of edges within the gadget assign cost 0. For
each variable xl = x1, . . . , xn, and all literals Lm, Lq (m 6= q) if xl = Lm = ¬Lq, assign cost
q(µ′m, µ′q) = 1 where µ′m and µ′q are edges connecting µm (and µq) to the respective 6-fan
gadget centre v. All other paired costs are assumed to be 0.
Suppose B is a valid truth assignment. Then in each clause there exists at least one
true literal. Consider a tour τ in H which contains the edges x and y and traverses every
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 25
gadget such that τ detours around exactly one literal edge which corresponds to a literal
which is true in B. Since the truth assignment is valid, such a τ exists. Clearly τ has cost
0, since no costs are incurred by pairs of edges contained in a single gadget, nor are costs
incurred of the form q(µ′a, µ′b) where La = ¬Lb. The latter must be true because in any
truth assignment, the variable corresponding to La, say xa must be either assigned a value
of ”true” or ”false”. Suppose a cost of 1 is incurred by q(µ′a, µ′b) and hence La = ¬Lb. If
xa is ”true”, and xa = La, then Lb clearly must be ”false”, so τ cannot detour to miss both
µ′a and µ′b. The same contradiction arises, if xa is ”false”. Hence a ”yes” instance of 3-SAT
can be used to construct a ”yes” instance for HQBTSP.
Now suppose there is an optimal tour which solves HQBTSP with k = 0. Suppose τ ′ is
such a tour. Clearly it must use edges x and y, and hence must traverse every gadget via a
ℓ−r hamilton path. Such a detour must skip a literal edge in every gadget, otherwise a cost
of 1 is incurred. Suppose D = {L1, . . . , Ls} is the set of literals which are skipped. Li 6= ¬Lj
for any i, j, otherwise a cost of 1 is incurred. This implies that a truth assignment which
results in every literal in D being true is a valid truth assignment to the variables x1, . . . , xn.
That is, for each literal edge which is skipped in τ ′, assign true or false to the corresponding
variable such that the literal evaluates to true (if Li = xj, set xj = true and if Li = ¬xj,
set xj = false). The truth values for any remaining variables can be assigned arbitrarily.
Clearly this truth assignment returns true for each clause since exactly one literal in each
clause is detoured, and evaluates to true. Hence this truth assignment is a valid assignment
for 3-SAT.
The recognition version of QTSP on a Halin graph, denoted by RQTSP, can be stated
as follows:
“Given a Halin graph H and a constant θ, does there exist a tour τ in H such that∑
e∈E(τ) c(e) +∑
e,f∈E(τ) q(e, f) ≤ θ?”
Theorem 14. RQTSP is strongly NP-complete even if the values c(e) and q(e, f) for
e, f ∈ H takes 0-1 values only.
The proof of Theorem 14 follows directly from the proof of Theorem 13 with θ = 0.
Since both QTSP and BQTSP are NP-hard on a Halin graph, we cannot use the general
models to solve the k-neighbor TSP. Let us now focus on the k-neighbor TSP.
In order to develop linear time algorithms for the k-neighbor TSP, the input necessary
for a problem instance must be representable in O(n) space(time). The following theorem
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 26
shows that this is always possible. Define edges e = (u, x) and f = (x, v) in a graph G to
be consecutive edges at x in a planar embedding of G if there exists a face which contains
both e and f .
Theorem 15. No tour in H = T ∪ C contains edges e = (u, x) and f = (x, v) which are
non-consecutive around x in some planar embedding of H.
Proof. Towards a contradiction, suppose that there exists a planar embedding of H and
a tour τ in H such that e = (u, x) and f = (x, v) are nonconsecutive edges at x and
e, f ∈ τ . Since e and f are non-consecutive at x, there are edges in the planar embedding
of H, say g = (y, x) and h = (x, z), such that the clockwise order of edges around x is
f, . . . , h, . . . , e, . . . , g. Note that x 6∈ C. Suppose T is rooted at x, then x has (at minimum),
subtrees rooted at u, v, y and z. Since τ is a tour which contains edge e, it must contain a
path through the subtree rooted at u from u to uc ∈ C, which we denote by P1. Similarily,
it must contain P2 in the subtree rooted at v from v to vc ∈ C. Now we note that H \ P
where P = P1 ∪P2 ∪ {e, f} has two components, and hence τ cannot contain both y and z.
This contradicts the assumption that τ is a tour in H. Refer to Figure 2.3.
y
yc
vvc
P2
z
zc
uuc
P1x
g
f
h
e
Figure 2.3: A Halin graph.
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 27
Corollary 16. For any edge e and tour τ in H and for some fixed k, 1 ≤ k ≤ ⌊n/2⌋, there
are at most k · 2k−1 k-paths containing e which may belong to τ .
From Corollary 16, it is clear that the number of quadratic costs which need be read is
bounded above by 2k−1 · |V (G)| = O(n) for any fixed k.
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 28
2.3 The problem TSP(2)
We have shown that both the bottleneck and sum versions of QTSP are strongly NP-
complete. Naturally, one would like to answer the question as to which, if any, special cases
of QTSP can be solved in polynomial time. It is first shown that the special case of the
QTSP, the 2-neighbor TSP, can be solved in linear time. Recall:
TSP (2) : Minimize∑
(e,f)∈δ(2,τ)
q(e, f) +∑
e∈τ
c(e)
Subject to τ ∈ F .
It is clear that for any cycle, each edge is contained in exactly two pairs of adjacent
edges. That is, each edge in τ is contained in exactly two contributing q(e, f) values. We
can use the following modification of the cost function to eliminate the c(e) values from the
objective function. For every pair of adjacent edges (e, f),
qm(e, f) =1
2(c(e) + c(f)) + q(e, f)
cm(e) = cm(f) = 0.
The modified TSP(2) is then:
MTSP (2) : Minimize∑
(e,f)∈δ(2,τ)
qm(e, f)
Subject to τ ∈ F .
Theorem 17. Any optimal solution to the modified TSP(2) is optimal for TSP(2).
Proof. Suppose τ ′ is a tour in F . Then,
∑
(e,f)∈δ(2,τ ′)
qm(e, f) =∑
(e,f)∈δ(2,τ ′)
(1
2(c(e) + c(f)) + q(e, f))
=∑
e∈τ ′
c(e) +∑
(e,f)∈δ(2,τ ′)
q(e, f).
Hence, every tour in F has equal cost under the modified problem as the original TSP(2)
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 29
objective function. It immediately follows that any optimal solution to the modified problem
is optimal for the TSP(2).
From this point onward, assume q(e, f) = qm(e, f) and c(e) = cm(e) = 0 for every
e, f ∈ E(G) to simplify our notation and may consider the TSP(2) problem to be the
modified version.
Let us now discuss how solve the TSP(2) on a Halin graph.
Case 1. H is a wheel with |V (H)| = n + 1. Let cj = (uj , uj+1) and tj = (uj , w)
for j = 1, . . . , n. For the remainder of this thesis, assume that all edges belonging to
a cycle are defined cyclically, that is, cn+1 = c1, cn+2 = c2, and so on. It is clear that
every Hamilton cycle in H skirts the cycle C and detours exactly once through centre w,
skipping exactly one edge of C. τ contains all edges in C except for the skipped edge, say
g = (ui, ui+1), together with the two edges which detour around g. Then the contributions
to the objective value of TSP(2) result from all pairs of edges (cs, cs+1) except for the pairs
of edges (ci−1, ci) and (ci, ci+1), in addition to the pairs (ci−1, ti) and (ti+1, ci+1). Then
for each edge ci = (ui, ui+1) ∈ E(C) define φ(ci) ≡ q(ci−1, ti) + q(ti, ti+1) + q(ci+1, ti+1)
−q(ci−1, ci) − q(ci, ci+1). Choose s such that φ(s) = min1≤ı≤n
φ(ci). Then the optimal solution
for TSP(2) can be obtained by taking the Hamilton cycle which consists of all the edges in
C \ s together with the two edges which connect k to centre w. The optimal value of the
tour may be obtained by computing q(τ∗) = φ(s) + q(C). If H contains n + 1 nodes, then
C has exactly n edges and the minimum of φ can be computed in O(n) time.
Case 2. H is not a wheel. H contains at least two fans, so arbitrarily let F be a fan of
H. When discussing a fan F in H, the following notations will be used for the remainder
of this thesis. Let v be the centre of F , and label the leaves in the order of C, u1, u2, . . . , ur
(r ≥ 2). Let yi = (ui, ui+1) for i = 1, . . . , r − 1 and ti = (ui, v) for i = 1, . . . , r. Let {j, k, l}
be the 3-edge cutset ϕ(F ) which disconnect F from H such that j is adjacent to u1, k is
adjacent to v and l is adjacent to ur.
Property 18. [23] Every Hamilton cycle in an arbitrary graph G will contain exactly 2 of
the 3 edges in every 3-edge cutset of G.
Hence, any Hamilton cycle τ contains exactly two of {j, k, l}. The pair of edges cho-
sen gives us a small number of possibilities for traversing F , namely, if τ uses j and k
it contains the subsequence y1, y2, . . . yr−1 if τ uses k and l, it contains the subsequence
t1, y1, y2, . . . , yr−1, and if τ uses j and l it contains a subsequence of the form
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 30
u1
u2
u3
u4
v
j
y1
y2
y3
l
t1
t3
t4
t2
k
edge in T
edge in C
fan in H
F
Figure 2.4: A Halin graph with 3-edge cutset {i, j, k}.
y1, y2, . . . , yp−1, tp, tp+1, yp+1, . . . , yr−1, for some p ∈ {2, 3, . . . , r − 1} as it must detour
through the centre of F . For the remainder of this thesis, denote the path through F
which detours missing edge yi as Pyi.
At this point the contributions from pairs of edges in τ are discussed. A pair of edges,
say, e, f can be considered as one of three types with regards to fan F : e, f 6∈ F , e, f ∈ F , or
exactly one of e, f ∈ F . The edges of the last case are the edges which must be considered
carefully under fan contraction. Let τG denote the tour in graph G. Our approach will be to
update the edge costs in H(F ) such that the cost of τH(F ) is the same as the corresponding
tour τH in H with F being traversed in an optimal manner.
Let K be the set of edges in (C ∩ F ) ∪ {j, l}. Define γ(2,K) to be the set of unordered
pairs of edges in K which share a common node. Let q(K) =∑
(e,f)∈γ(2,K) q(e, f). Then:
1. if the tour uses j and k, the edges in τ ∪ F incur a cost of Qjk ≡ q(K) + q(yr−1, tr) +
q(tr, k) − q(yr−1, l);
2. if the tour uses k and l, the edges in τ ∪F incur a cost from of Qkl ≡ q(K) + q(k, t1) +
q(t1, y1) − q(j, y1);
3. if the tour uses j and l then τ skirts C and detours through the centre of F at the
cheapest point. It follows that for:
(a) |V (F )| ≥ 5, the edges in τ ∪ F incur a cost of
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 31
Qjl ≡ q(K) + min
q(j, t1) + q(t1, t2) + q(t2, y2) − q(j, y1) − q(y1, y2),
{q(yi, ti+1) + q(ti+1, ti+2) + q(ti+2, yi+2) − q(yi, yi+1)
−q(yi+1, yi+2) : i ∈ {1, . . . , r − 3}},
q(yr−2, tr−1) + q(tr−1, tr) + q(tr, l) − q(yr−2, yr−1)
−q(yr−1, l).
(b) |V (F )| = 4, the edges in τ ∪ F incur a cost of
Qjl ≡ q(K) + min
q(j, t1) + q(t1, t2) + q(t2, y2) − q(j, y1) − q(y1, y2),
q(y1, t2) + q(t2, t3) + q(t3, l) − q(y1, y2) − q(y2, l).
(c) |V (F )| = 3, the edges in τ ∪ F incur a cost of
Qjl ≡ q(K) + q(j, t1) + q(t1, t2) + q(t2, l) − q(j, y1) − q(y1, l).
Now, suppose that fan F in H is contracted to pseudonode vF to get H(F ). Let j′, k′, l′
be the edges in H(F ) which correspond to edges j, k, l in H. For each (unordered) pair of
edges in H(F ), define
q′(e, f) ≡
q(e, f) for e, f ∈ E(H(F )) \ {j′, k′, l′}
q(e, j′) for f = j′, e ∈ E(H(F )) \ {j′, k′, l′}
q(e, k′) for f = k′, e ∈ E(H(F )) \ {j′, k′, l′}
q(e, l′) for f = l′, e ∈ E(H(F )) \ {j′, k′, l′}
Qjk if {e, f} = {j′, k′}
Qkl if {e, f} = {k′, l′}
Qjl if {e, f} = {j′, l′}.
By Lemma 2, H(F ) is a Halin graph, so fans in H can be iteratively contracted using
Case 2 until a wheel Hw is obtained, updating q′ at each iteration. Once Hw is obtained
Case 1 may be applied. The optimal tour in Hw can then be expanded to an optimal tour in
H using (1)-(3). The preceding discussion yields the following algorithm for solving TSP(2)
on a Halin graph H.
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 32
Algorithm 2.1: HalinTSP2(H)
Require: Halin graph H
if H is a wheel then
Use the Case 1 procedure to find an optimal tour τ in H
else
Let F be a fan in H
Contract F to a single vertex vF , using the Case 2 procedure
HalinTSP2(H(F ))
end if
Expand all pseudonodes in reverse order and update τ
return τ
The Case 1 procedure takes time O(n). The Case 2 procedure occurs one less than
the number of non-leaf nodes times, and takes time O(r). Shrinking each fan of size r + 1
reduces the number of nodes in H by r, so it follows that Case 2 takes O(n) time as well.
Hence, the algorithm solves the TSP(2) in O(n) time overall.
Refer to Appendix A.1 for an example.
2.4 The problem BTSP(2)
Now consider the bottleneck version of the problem. To solve the bottleneck TSP, Phillips,
Punnen and Kabadi [42] employ a penalty function stored at the outer nodes of H. In this
problem, note that a similar modification as the one used in the solution for TSP(2) can
dramatically simplify the solution and avoid the use of penalty functions. Note that this
problem can be solved using binary search where the algorithm from the previous section is
used as a subroutine, yielding an O(n log n) algorithm. We show how this can be improved
to O(n). Recall:
BTSP (2) : Minimize z(τ) = max{ max(e,f)∈δ(2,τ)
q(e, f),maxe∈τ
c(e)}
Subject to τ ∈ F .
For every pair of adjacent edges, define
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 33
qm(e, f) = max{c(e), c(f), q(e, f)}.
cm(e) = cm(f) = 0.
The modified BTSP(2) is then:
MBTSP (2) : Minimize zm(τ) = max(e,f)∈δ(2,τ)
qm(e, f)
Subject to τ ∈ F .
Theorem 19. Any optimal solution to the MBTSP(2) is optimal for BTSP(2).
Proof. Suppose τ is a tour in F . Then,
zm(τ) = max(e,f)∈δ(2,τ)
qm(e, f) = max(e,f)∈δ(2,τ)
{max{c(e), c(f), q(e, f)}}
= max{ max(e,f)∈δ(2,τ)
q(e, f),maxe∈τ
c(e)}
= z(τ),
and the proof follows.
As before, without loss of generality, assume that q(e, f) = qm(e, f) and c(e) = cm(e)
for every e, f ∈ E(G) to simplify our solution, and consider the BTSP(2) problem to be
the modified version. The solution to the TSP(2) above can be adapted to the bottleneck
version as follows.
Case 1. H is a wheel. Let L be the set of all adjacent pairs of edges in the outer cycle
C. Any tour in H contains every pair in L except two, so in the bottleneck case it is only
necessary to retain the 3 most expensive pairs in L. Let L′ = {l1, l2, l3} ⊆ L be such that
q(l1) = maxp∈L q(p), q(l2) = maxp∈L\l1 q(p) and q(l3) = maxp∈L\{l1,l2} q(p). Define
φ2(e) ≡ max
q(ci−1, ti), q(ti, ti+1), q(ti+1, ci+1),
max{q(a, b) : (a, b) ∈ L′ \ {L′ ∩ {(ci−1, ci), (ci, ci+1)}}}.
on the edges e ∈ C. As before, Let s be the edge which minimizes φ2(e). Then the optimal
solution for the BTSP(2) is obtained by taking the tour which contains all edges in C \ s
together with the two edges which connect e to centre w. This is computable in O(n) time.
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 34
Case 2. H is not a wheel. Let M be the set of all adjacent pairs of edges in (C∩F )∪{j, l}.
Any tour in H contains at most every pair in M except two, so in the bottleneck case it is
only necessary to retain the 3 most expensive pairs in M . Let M ′ = {m1,m2,m3} ⊆M be
such that q(m1) = maxp∈M , q(m2) = maxp∈M\m1q(p) and q(m3) = maxp∈M\{m1,m2} q(p).
As described above, two edges of any 3-edge cutset separating fan F from H must be
contained in τ .
1. If the tour uses j and k, the contribution of τ ∪ F is
Qjk ≡ max{q(j, y1), {q(yi, yi+1) : 1 ≤ i ≤ r − 2}, q(yr−1, tr), q(tr, k)};
2. If the tour uses k and l, the contribution of τ ∪ F is
Qkl ≡ max{q(l, yr−1), {q(yi, , yi+1) : 1 ≤ i ≤ r − 2}, q(y1, t1), q(t1, v, k)};
3. If the tour uses j and l, the tour skirts C and detours through the centre v at the
’cheapest’ point. To find the edge yp = (up, up+1) which is skipped, simply use a
procedure similar to the one used on the wheel. Then yp is the edge which minimizes
φF2 (e) which is defined as follows:
φF2 (y1) ≡ max
q(j, t1), q(t1, t2), q(t2, y2),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(j, y1), (y1, y2)}},
φF2 (yr−1) ≡ max
q(yr−2, tr−1), q(tr−1, tr), q(tr, l),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(yr−2, yr−1), (yr−1, l)}},
φF2 (yi) ≡ max
q(yi−1, ti), q(ti, ti+1), q(ti+1, yi+1),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(yi−1, yi), (yi, yi+1)}},
for i = 2, . . . , r − 2. Then
Qjl ≡ φF2 (yp).
Now, suppose F is contracted in H to get H(F ), and j′, k′, l′ are the edges in H(F )
which correspond to edges j, k, l in H. For each (unordered) pair of edges in H(F ), define
CHAPTER 2. THE 2-NEIGHBOR TRAVELING SALESMAN PROBLEM 35
q′(e, f) ≡
q(e, f) for e, f ∈ E(H(F )) \ {j′, k′, l′}
q(e, j′) for f = j′, e ∈ E(H(F )) \ {j′, k′, l′}
q(e, k′) for f = k′, e ∈ E(H(F )) \ {j′, k′, l′}
q(e, l′) for f = l′, e ∈ E(H(F )) \ {j′, k′, l′}
Qjk if {e, f} = {j′, k′}
Qkl if {e, f} = {k′, l′}
Qjl if {e, f} = {j′, l′}.
The algorithm for TSP(2) can be used for BTSP(2) using the cost function as described.
For the BTSP(2), the Case 1 procedure takes O(n) time. The modified Case 2 procedure
remains linear, hence the algorithm solves the BTSP(2) in O(n) time.
Chapter 3
The 3-Neighbor Traveling
Salesman Problem
3.1 The Problem TSP(3)
The TSP(2) problem can be viewed as the problem of finding a minimum cost tour where
costs are incurred for each edge in the tour and in addition, for each pair of edges connecting
nodes at distance 2 in the tour. A natural extension is the 3-neighbor TSP: find a minimum
cost tour where costs are incurred for each edge in the tour, and additionally, for each pair
of edges belonging to a path of length 3 in the tour. Formally,
TSP (3) : Minimize∑
(e,f)∈δ(3,τ)
q(e, f) +∑
e∈τ
c(e)
Subject to τ ∈ F .
The following modification is applied to the cost function to simplify the problem. For
any subgraph S, let P3(S) = {(e, f, g) : e− f − g is a path in S}. Let
q(e, f, g) =
q(e, g) + q(e,f)+q(f,g)2 + c(e)+c(f)+c(g)
3 if e− f − g ∈ P3(G)
0 Otherwise.
36
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 37
The simplified TSP(3) is then:
STSP (3) : Minimize∑
e−f−g∈P3(τ)
q(e, f, g)
Subject to τ ∈ F .
Theorem 20. Any optimal solution to the STSP(3) is optimal for TSP(3).
Proof. Suppose τ ′ is a tour in F . Then,
∑
e−f−g∈P3(τ ′)
q(e, f, g) =∑
e−f−g∈P3(τ ′)
(q(e, g) +q(e, f) + q(f, g)
2+
c(e) + c(f) + c(g)
3)
=∑
(e,f)∈δ(3,τ ′)
q(e, f) +∑
e∈δ(τ ′)
c(e).
Hence, every tour in F has equal cost under the simplified problem as the original
TSP(3) objective function. It immediately follows that any optimal solution to the simplified
problem is optimal for the TSP(3).
Without loss of generality assume that the modification is performed on all instances of
the problem, and hence only the costs incurred by nonadjacent pairs of edges belonging to
3-paths have nonzero values.
3.1.1 TSP(3) on a Halin graph using cost updating
Consider the problem TSP(3) restricted to Halin graph H.
Case 1. H is a wheel. As in TSP(2) (and TSP), the optimal tour in H skirts the cycle
C and detours exactly once through centre w, skipping exactly one edge of C. Orient the
cycle C in the clockwise direction. τ contains all edges in C except for the skipped edge, say
ci = (ui, ui+1), together with the two edges which detour around r. Define function φ3(ci)
for each edge ci = (ui, ui+1) ∈ E(C). Let ti and ti+1 be the tree edges adjacent to ui and
ui+1, respectively.
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 38
w
ui ui+1
ti ti+1ci−2
ci−1
ci
ci+1
ci+2
Figure 3.1: A tour τ in a wheel, which skips edge ci.
φ3(ci) ≡ q(ci−2, ci−1, ti) + q(ci−1, ti, ti+1) + q(ti, ti+1, ci+1)
+q(ti+1, ci+1, ci+2) − q(ci−2, ci−1, ci) − q(ci−1, ci, ci+1)
−q(ci, ci+1, ci+2).
Let s be the edge which minimizes φ3(ci). Then the optimal solution for the 3-Neighbour
TSP on a wheel can be obtained by taking the tour which consists of all the edges in C \ s
together with the two edges which connect s to centre w. The optimal value of the tour is
q(τ∗) = φ(s) + q(C). If H contains n nodes, then C has exactly n − 1 edges and there are
exactly n− 1 edges for which φ3(ci) must be evaluated. That is, minimum of φ3(ci) can be
computed in O(n) time.
Case 2. H is not a wheel. The solution used in the 2-Neighbor TSP fixes two edges in
the 3-edge cutset of F and evaluates the minimum path which traverses F . Note that this
approach is no longer valid in the 3-neighbor case, since the cost of a given path through
F depends on the edges adjacent to the pair of edges chosen from the cutset, which do not
belong to F .
If fan contraction is to be used to recursively solve the problem, the lengths of the
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 39
shortest paths traversing a fan must be encoded. The three possibilities of pairs of edges in
τ from the three edge cutset δ(F ) = {j, k, l} of F are considered separately.
Consider a fan F containing r cycle nodes, with δ(F ) = {j, k, l}, and k ∈ T . Let uj 6∈ F
and ul 6∈ F be the nodes incident with j and l, respectively. Let α1, α2 be the edges adjacent
to j which are not in F , and α3, α4 be the edges adjacent to l, which are not in F . Retain
the notation used in the previous chapter for the nodes and edges belonging to F . Let K
be the path from j to l using only edges in C ∩ F .
w
u1 ur
uluj
k
j l
α1 α2 α3α4
t1 tr
y1 yr−1
Figure 3.2: A fan F with center w.
Suppose tour τ contains edges j and k. Clearly, there is only a single path Pjk which
can be included in τ , namely, j − y1 − y2 − . . . − yr−1 − tr − k. When F is contracted
to a single node v, the costs of all triples which contain edges inside F must be properly
accounted for. Note that when j and k are fixed in τ , the edges in F are also fixed,
so the only triplets which need be considered are either contained in Pjk, or are of the
type (x, j, y1) or (tr, k, y) for x ∈ {α1, α2} and y adjacent to k, y 6∈ F . For any path
K = v1, v2, . . . , vm, define q(K) = q(v1, v2, v3) + q(v2, v3, v4) + . . . + q(vm−2, vm−1, vm). Let
Qjk = q(K) + q(yr−2, yr−1, tr) + q(yr−1, tr, k) − q(yr−2, yr−1, l). Then, after contracting F ,
set
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 40
q′(x, j′, k′) = q(x, j, y1) +Qjk ∀x ∈ {α1, α2}, (3.1)
q′(j′, k′, y) = q(tr, k, y) ∀y adjacent to k, y 6∈ F. (3.2)
If τ contains edges k and l, it may be treated similarly. The only path Pkl which can be
included in τ is k− t1−y1− . . .−yr−1− l. When F is contracted to a single node v, the costs
of all triples which contain edges inside F must be properly accounted for. Note that when k
and l are fixed in τ , the edges in F are also fixed, so the only triplets which need be considered
are either contained in Pkl, or are of the type (z, l, yr−1) or (t1, k, y) for z ∈ {α3, α4} and y
adjacent to k, y 6∈ F . Let Qkl = q(K) + q(k, t1, y1) + q(t1, y1, y2) − q(j, y1, y2). Then, after
contracting F , set
q′(y, k′, l′) = q(y, k, t1) +Qkl ∀y adjacent to k, y 6∈ F, (3.3)
q′(k′, l′, z) = q(yr−1, l, z) ∀z ∈ {α3, α4}. (3.4)
Suppose τ contains edges j and l. Without loss of generality suppose the edges α1, j
and l, α3 in τ are fixed. Note that the minimum traversal of F can now be calculated easily
by enumerating the r − 1 possible paths. Denote the cost of the minimum path from α1 to
α3 through F by q13. Similarily, the minimum paths from α1 to α4, α2 to α3 and α2 to α4
by q14, q23 and q24, respectively. These minimums are easily calculated in a process similar
to Case 1. Note that these minimum values may correspond to different paths through F .
Define
φF3 (y1) ≡q(K) + q(j, t1, t2) + q(t1, t2, y2) + q(t2, y2, y3)
− q(j, y1, y2) − q(y1, y3, y3),
φF3 (yr−1) ≡q(K) + q(yr−3, yr−2, tr−1) + q(yr−2, tr−1, tr) + q(tr−1, tr, l)
− q(yr−3, yr−2, yr−1) − q(yr−2, yr−1, l),
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 41
and for i = 2, . . . , r − 2,
φF3 (yi) ≡q(K) + q(yi−2, yi−1, t1) + q(yi−1, ti, ti+1) + q(ti, ti+1, yi+1)
+ q(ti+1, yi+1, yi+2) − q(yi−2, yi−1, yi)
− q(yi−1, yi, yi+1) − q(yi, yi+1, yi+2).
Then for a ∈ {1, 2} and b ∈ {3, 4}, the minimum αaαb-traversals of F can be calculated
as follows:
qab = min{q(αa, j, t1) + φF3 (y1) + q(yr−1, l, αb),
{q(αa, j, y1) + φF3 (yi) + q(yr−1, l, αb) : i ∈ [2, r − 2]},
q(αa, j, y1) + φF3 (yr−1) + q(tr, l, αb)}.
After contracting fan F , there are 4 new triples which include j′ and l′, q(α1, j′, l′),
q(α2, j′, l′), q(j′, l′, α3) and q(j′, l′, α4). In order to encode the information attained to be
used in the next iteration, using the new variables resulting from the fan contraction, solve
the system of equations:
q′(α1, j′, l′) + q′(j′, l′, α3) = q13, (3.5)
q′(α1, j′, l′) + q′(j′, l′, α4) = q14, (3.6)
q′(α2, j′, l′) + q′(j′, l′, α3) = q23, (3.7)
q′(α2, j′, l′) + q′(j′, l′, α4) = q24. (3.8)
However, this system of equations does not necessarily have a solution. Consider the
following example with
q(Py1) = qPy2
= . . . = q(Pyr−1) = 0, q(α1, j, t1) = 7, q(α1, j, y1) = 2, q(α2, j, t1) = 3,
q(α2, j, y1) = 4, q(yr − 1, l, α3) = 0, q(tr, l, α3) = 2, q(yr − 1, l, α4) = 9, q(tr, l, α4) = 7.
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 42
The system in equations ( 3.5)-( 3.8) to reduces to solving
q′(α1, j′, l′) + q′(j′, l′, α3) = min{7 + 0, 2 + 0, 2 + 2},
q′(α1, j′, l′) + q′(j′, l′, α4) = min{3 + 0, 4 + 0, 4 + 2},
q′(α2, j′, l′) + q′(j′, l′, α3) = min{7 + 9, 2 + 9, 2 + 7},
q′(α2, j′, l′) + q′(j′, l′, α4) = min{3 + 9, 4 + 9, 4 + 7}.
This simplifies to the inconsistent system,
q′(α1, j′, l′) + q′(j′, l′, α3) = 2,
q′(α1, j′, l′) + q′(j′, l′, α4) = 3,
q′(α2, j′, l′) + q′(j′, l′, α3) = 9,
q′(α2, j′, l′) + q′(j′, l′, α4) = 11.
The system of equations ( 3.5)-( 3.8) is inconsistent unless q13+q24 = q14+q23. Note that
additionally using separated pair costs, or single edge costs cannot fix this inconsistency as
these add no useful distinction between paths.
The remaining triplet costs are updated as follows:
q′(e, f, j′) = q(e, f, j), (3.9)
q′(e, f, k′) = q(e, f, k), (3.10)
q′(e, f, l′) = q(e, f, l) ∀f ∈ {α1, α2, α3, α4}, (3.11)
q′(e, f, g) = q(e, f, g) otherwise. (3.12)
for e, f, g ∈ H(F ) \ {j′, k′, l′}.
The following property gives the necessary condition which allows us to solve TSP(3)
on Halin graphs by updating triplets.
Property 21. Let H be a Halin graph. For every fan F ⊆ H, q13 + q24 = q14 + q23.
A Halin graph is said to be of balanced cost if it satisfies Property 21. For all Halin
graphs of balanced cost, the triplet updating scheme described above may be applied.
Theorem 22. Let H be a Halin graph. Let ζ = H1,H2, . . . ,Hq be a sequence of Halin
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 43
graphs resulting from q successive fan contraction operations which reduces H to wheel Hq.
If H1, . . . ,Hq satisfy Property 21 then TSP(3) on H can be solved in O(n) time.
Proof. The algorithm described above consists of recursively applying the Case 2 procedure
until H is reduced to a wheel Hq, then applying the Case 1 procedure to solve TSP(3) on a
wheel, then expanding each of the contracted fans in reverse order, correctly expanding the
tour through each fan. It is clear that the cost of τ in F is equal to τ ′ in H(F ).
The updating scheme described using equations 3.1 to 3.8 assigns the minimum cost of
traversing F to the appropriate new triples created when contracting F to a single pseudon-
ode in O(r) time, which is easily verified. Hence, an optimal tour in H(F ) can be extended
into an optimal solution on H using equations 3.1 to 3.8. Each time the Case 2 procedure
is executed, the number of nonleaf nodes is reduced by one. Hence, the Case 2 procedure
is performed O(r) times and each time reduces the number of nodes in H by r. Since the
time for Case 1 is O(n), it follows that the total time spent is O(n).
The preceding discussion yields the following algorithm.
Algorithm 3.1: TSP(3) on a balanced cost Halin graph
if H is a wheel thenUse the Case 1 procedure to find an optimal tour τ in H
elseLet F be a fan in H.Contract F to a single vertex vF , using the Case 2 procedure to assign costs q′ topairs of edges which are 3-neighbors in H.HalinTSP2(H(F ))
end ifExpand all pseudonodes in reverse order and update τreturn τ
An example of TSP(3) on a balanced cost Halin graph is given in Appendix A.3.
3.1.2 TSP(3) on a Halin graph using penalty functions
Another approach to deal with the case that τ contains j and l is to define a penalty function
stored at outer nodes. Any tour which includes j and l must also pass through one edge
in of each of these pairs of edges, that is, must contain one of the subpaths from the set
{α1 − j − l − α3, α1 − j − l − α4, α2 − j − l − α3, α2 − j − l − α4}. Let β(j, l, α1, α3) be
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 44
the ’penalty’ incurred if τ uses the edges j, l, α1, α3; β(j, l, α1, α4) be the ’penalty’ incurred
if τ uses the edges j, l, α1, α4; β(j, l, α2, α3) be the ’penalty’ incurred if τ uses the edges
j, l, α2, α3; and β(j, l, α2, α4) be the ’penalty’ incurred if τ uses the edges j, l, α2, α4.
Define:
Pi(τ) =
β(j, l, α1, α3) if j, l, α1 and α3 ∈ τ ,
β(j, l, α1, α4) if j, l, α1 and α4 ∈ τ ,
β(j, l, α2, α3) if j, l, α2 and α3 ∈ τ ,
β(j, l, α2, α4) if j, l, α2 and α4 ∈ τ ,
0 Otherwise.
The problem now contains a cost for every triplet of consecutive edges in tour τ and
additionally, a penalty at each outer node v. Consider the modified 3-Neighbor TSP on a
Halin graph defined as follows:
MTSP (3) : Minimize∑
e−f−g∈P3(τ)
q(e, f, g) +∑
i∈C
Pi(τ)
Subject to τ ∈ F .
Note that Pv(τ) can be identified in O(1) time by storing penalty 4-tuples at each cycle
node v.
The penalties must be updated to store the costs of traversing F when F is contracted to
pseudonode v. Initially, set β(j, l, α1, α3) = β(j, l, α1, α4) = β(j, l, α2, α3) = β(j, l, α2, α4) =
0.
Case 1. H is a wheel. To solve MTSP(3) on a wheel, define
φP3 (ci) ≡ q(ci−2, ci−1, ti) + q(ci−1, ti, ti+1) + q(ti, ti+1, ci+1)
+ q(ti+1, ci+1, ci+2) − q(ci−2, ci−1, ci) − q(ci−1, ci, ci+1)
− q(ci, ci+1, ci+2) + β(ci−2, ci−1, ci−3, ti)
+ β(ci+1, ci+2, ti+1, ci+3) − β(ci−2, ci−1, ci−3, ci)
− β(ci−1, ci, ci−2, ci+1) − β(ci, ci+1, ci−1, ci+2)
− β(ci+1, ci+2, ci, ci+3)
(3.13)
on the outer edges. The edge s which minimizes φ is the edge which is skipped in the
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 45
optimal tour in H. For any subset S, let P(S) =∑
i∈S
Pi(S). The optimal value of the tour
may be obtained by computing q(τ∗) = φ(s) + q(C) + P(C).
Case 2. H is not a wheel. Again, the fan contraction operation is used to contract fan
F . The updating scheme used in Case 2 of section 3.1.1 can be used to update the costs of
triples in H(F ) for all cases other than when j and l are in τ . Note that the calculations
for Qjk and Qkl must be augmented to include the penalties on nodes u1, . . . , ur−1. Let Pjk
and Pkl be the paths which contain all edges in (C ∩ F ) ∪ {k} together with j, tr and l, t1,
respectively. That is,
Qjk = q(K) + q(yr−2, yr−1, tr) + q(yr−1, tr, k) − q(yr−2, yr−1, l) + P(Pjk) (3.14)
and
Qkl = q(K) + q(k, t1, y1) + q(t1, y1, y2) − q(j, y1, y2) + P(Pkl). (3.15)
That is, for all triples except the ones which contain j and l. For these, the penalty
function β is used (set q(s, j′, l′) = 0 and q(j′, l′, s) = 0 for all s). As before, let qa,b for
a ∈ {1, 2}, b ∈ {3, 4} be the minimum cost ab-Hamiltonian path through F . These may be
calculated using a process similar to the Case 1 procedure in this section. Note that the
penalties on nodes in F ∪C must be included. Note that P(K) contains penalties at nodes
u2, . . . , ur−1. Define,
φPF3 (y1) ≡q(K) + q(j, t1, t2) + q(t1, t2, y2) + q(t2, y2, y3) − q(j, y1, y2) − q(y2, y3, y3)
+ P(K) −Pu2(K) − Pu3
(K) + β(y2, y3, t2, y4),
φPF3 (yr−1) ≡q(K) + q(yr−3, yr−2, tr−1) + q(yr−2, tr−1, tr) + q(tr−1, tr, l)
− q(yr−3, yr−2, yr−1) − q(yr−2, yr−1, l) + P(K) − Pur−1(K)
− Pur−2(K) + β(yr−3, yr−2, yr−4, tr−1),
and
φPF3 (yi) ≡ q(K) + q(yi−2, yi−1, t1) + q(yi−1, ti, ti+1) + q(ti, ti+1, yi+1)
+q(ti+1, yi+1, yi+2) − q(yi−2, yi−1, yi)
−q(yi−1, yi, yi+1) − q(yi, yi+1, yi+2) + P(K) −Pui−1(K) − Pui
(K)
−Pui+1(K) − Pui+2
(K) + β(yi−2, yi−1, yi−3, ti) + β(yi+1, yi+2, ti+1, yi+3)
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 46
for i = 2, . . . , r − 2.
Then for a ∈ {1, 2} and b ∈ {3, 4},
qab = min{q(αa, j, t1) + φPF3 (y1) + q(yr−1, l, αb),
{q(αa, j, y1) + φPF3 (yi) + q(yr−1, l, αb) : i ∈ [2, r − 2]}
q(αa, j, y1) + φPF3 (yr−1) + q(tr, l, αb).
When F is contracted, set
β(j, l, αa, αb) = qa,b for a ∈ {1, 2} and b ∈ {3, 4}. (3.16)
Note that the penalties at node uj and ul cannot be included in any of the costs calcu-
lations for qa,b. If these penalties were to be included, the edges beyond α1, α2, α3 and α4
would need to be fixed to compute the minimum traversal of F . It is clear that this quickly
leads to an unbounded length k-tuple being required to be stored at outer nodes. In other
words, a fan can be contracted, and penalties updated as long as the adjacent outer nodes
are not pseudonodes.
All remaining triples are updated as in Section 3.1.1.
The following property gives the necessary condition which allows us to solve MTSP(3),
and hence TSP(3) on Halin graphs using penalty functions.
Property 23. All pseudonodes are inside a fan or if there exists a pseudonode which is not
inside a fan, then there exists a fan with none of its outer neighbors being pseudonodes.
A Halin graph is said to be spacious if there exists a sequence of fan contractions to
reduce it to a wheel so that the intermediate graphs generated satisfy Property 23. For all
spacious Halin graphs, the penalty updating scheme described above may be used.
Theorem 24. Let H be a Halin graph. Let ζ = H1,H2 . . . ,Hq be a sequence of Halin graphs
resulting from q successive fan contraction operations on F1, F2, . . . , Fq which reduces H to
wheel Hq. If H1, . . . ,Hq satisfy Property 23 then TSP(3) on H can be solved in O(n) time.
Proof. The analysis is similar to the analysis of Theorem 22. The updating scheme using
equations 3.14 to 3.16 stores the minimum costs of traversing F for each of the 4 possible
pairs of edges at distance 2 from F when j and l are used. Since this updating scheme again
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 47
takes O(r) time, and finding the minimum of φP3 can be done in O(n), the total time is
O(n) using the same arguments.
The preceding discussion yields the following algorithm.
Algorithm 3.2: HalinTSP2(H)
Require: Halin graph H
if H is a wheel then
Use the Case 1 procedure to find an optimal tour τ in H
else
Let F be a fan in H
Contract F to a single vertex vF , using the Case 2 procedure. That is, assign
penalities β to vF , assign cost 0 to all triples in H(F ) which include edges j
and l and assign costs q′ to all remaining triples which are 3-neighbors in H.
HalinTSP2(H(F ))
end if
Expand all pseudonodes in reverse order and update τ
return τ
A caterpillar graph is defined to be a tree such that if all leaves and their incident edges
are removed, the remaining graph forms a path. Define a caterpillar Halin graph to be a
Halin graph H = T ∪C such that T is a caterpillar. The reader may refer to Figure 3.3 for
an example.
Figure 3.3: A caterpillar Halin graph.
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 48
Lemma 7. There exist an infinite number caterpillar graphs containing exponential numbers
of tours.
Proof. Let G be the graph constructed as follows. Let P be a path of length k. To each
node in P , add 3 leaves, say l1, l2 and l3. Connect all leaves in G with cycle C such that
G is planar, and all leaves which share a root in P are consecutive in C. Clearly G is a
caterpillar Halin graph with O(2|V (P )|) tours. The reader may refer to Figure 3.4.
Figure 3.4: A class of caterpillar Halin graph with an exponential number of tours.
Observation 1. All caterpillar Halin graphs are spacious.
The penalty function approach is useful to solve TSP(3) on any class of graphs which
is spacious. In particular, note that caterpillar Halin graphs are both spacious and may
contain an exponential number of tours. The example in Appendix A.4 illustrates this
remark.
3.2 The Problem BTSP(3)
The BTSP(2) problem, can be viewed as the problem of finding a tour which minimizes
the maximum cost incurred by edges in the tour and by pairs of edges connecting nodes
at distance 2 in the tour. A natural extension is the 3-neighbor TSP: find a tour which
minimizes the maximum cost where costs are incurred by edges in the tour, and additionally,
for each pair of edges belonging to a path of length 3 in the tour. Formally,
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 49
BTSP (3) : Minimize max{ max(e,f)∈δ(3,τ)
q(e, f),maxe∈τ
c(e)}
Subject to τ ∈ F .
We can apply the following modification to simplify the problem. Let
q(e, f, g) =
maxx,y∈{e,f,g}
{q(x, y), c(x)} if e− f − g ∈ P3(G)
0 Otherwise.
The simplified BTSP(3) is then:
SBTSP (3) : Minimize maxe−f−g∈P3(τ)
q(e, f, g)
Subject to τ ∈ F .
Theorem 25. Any optimal solution to the simplified 3-Neighbour BTSP is optimal for
3-Neighbour BTSP.
Proof.
maxe−f−g∈P3(τ)
q(e, f, g) = maxx,y∈{e,f,g}:e−f−g∈P3(τ)
{q(x, y), c(x)}
= max{ max(e,f)∈δ(3,τ)
q(e, f),maxe∈τ
c(e)}.
Hence, every tour in F has equal bottleneck cost under the simplified problem as the
original BTSP(3) objective function. It immediately follows that any optimal solution to
the simplified problem is optimal for the BTSP(3).
Without loss of generality assume that the modification is performed on all instances of
the problem, and hence only the costs incurred by nonadjacent pairs of edges belonging to
3-paths have nonzero values.
3.2.1 BTSP(3) on a Halin graph using cost updating
Consider the problem BTSP(3) restricted to Halin graph H.
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 50
Case 1. H is a wheel. Let L be the set of all triples of consecutive edges in the outer
cycle C. Any tour in H contains every triple in L except three, so in the bottleneck case
it is only necessary to retain the 4 most expensive triples in L. Let L′ = {l1, l2, l3, l4} ⊆ L
be such that q(l1) = maxp∈L q(p), q(l2) = maxp∈L\l1 q(p), q(l3) = maxp∈L\{l1,l2} q(p) and
q(l4) = maxp∈L\{l1,l2,l3} q(p). Define
ψ3(ci) ≡ max
q(ci−2, ci−1, ti), q(ci−1, ti, ti+1), q(ti, ti+1, ci+1),
q(ti+1, ci+1, ci+2),
max{q(a, b, c) : (a, b, c) ∈ L′ \ {L′ ∩ {(ci−2, ci−1, ci),
(ci−1, ci, ci+1), (ci, ci+1, ci+2)}}}.
As before, let s be the edge which minimizes ψ3. Then the optimal solution for the
BTSP(3) is obtained by taking the tour which contains all edges in C \ s together with the
two edges which connect s to centre w. This is computable in O(n) time.
Case 2. H is not a wheel. Similar to the TSP(3) solution, the bottleneck cost for a path
traversing a fan F can be stored using the triplets created as a result of the fan contraction
operation.
Suppose tour τ contains edges j and k. There is a single path to traverse F , so let
Qjk = max{q(j, y1, y2), q(y1, y2, y3), . . . , q(yr−2, yr−1, tr), q(yr−1, tr, k)}.
Then, after contracting F , set
q(x, j′, k′) = max{q(x, j, y1), Qjk} ∀x ∈ {α1, α2}, (3.17)
q(j′, k′, y) = q(tr, k, y) ∀y adjacent to k, y 6∈ F. (3.18)
If τ contains edges k and l, it may be treated similarly. There is a single path to traverse
F , so let
Qkl = max{q(k, t1, y1), q(t1, y1, y2), q(y1, y2, y3), . . . , q(yr−2, yr−1, l)}.
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 51
Then, after contracting F , set
q(y, k′, l′) = max{q(y, k, t1), Qkl} ∀y adjacent to k, y 6∈ F, (3.19)
q(k′, l′, z) = q(yr−1, l, z) ∀z ∈ {α3, α4}. (3.20)
Suppose τ contains edges j and l. Without loss of generality suppose the edges α1, j and
l, α3 in τ are fixed. Note that the minimum bottleneck traversal of F can now be calculated
easily by enumerating the r− 1 possible paths. Denote the bottleneck cost of the minimum
path from α1 to α3 through F by qmax13 . Similarily, the minimum bottleneck paths from α1
to α4, α2 to α3 and α2 to α4 by qmax14 , qmax
23 and qmax24 , respectively. The fan contraction
operation using updating triples cannot be extended to the problem of BTSP(3) on a Halin
graph, since the corresponding system of equations is such that a solution need not exist.
The general form of the equations is:
max{q(α1, j′, l′), q(j′, l′, α3)} = qmax
13 (3.21)
max{q(α1, j′, l′), q(j′, l′, α4)} = qmax
14 (3.22)
max{q(α2, j′, l′), q(j′, l′, α3)} = qmax
23 (3.23)
max{q(α2, j′, l′), q(j′, l′, α4)} = qmax
24 . (3.24)
The following example demonstrates this.
Consider the fan depicted in Figure 3.5.
In this fan, the values for the minimum bottleneck cost paths traversing F using j and
l are:
qmax13 = min{max{1, 1},max{0, 1}} = 1,
qmax14 = min{max{1, 4},max{0, 2}} = 2,
qmax23 = min{max{3, 1},max{4, 1}} = 3,
qmax24 = min{max{3, 4},max{4, 2}} = 4.
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 52
w
u1
u2
u3
uluj
k
j l
α1 α2 α3α4
t1t2
t3
y1 y2
Non-zero Costs:q(α1, j, y1) = q(y2, l, α3) = q(t3, l, α3) = 1q(α2, j, y1) = 3q(α2, j, t1) = q(t3, l, α4) = 4q(y2, l, α4) = 2
Figure 3.5: Example fan F .
The corresponding system of equations is:
max{q(α1, j′, l′), q(j′, l′, α3)} = 1,
max{q(α1, j′, l′), q(j′, l′, α4)} = 2,
max{q(α2, j′, l′), q(j′, l′, α3)} = 3,
max{q(α2, j′, l′), q(j′, l′, α4)} = 4.
It is obvious that there exists no solution to these equations. It is important to note
two points: 1) this updating scheme can be used when |F | = 3, and 2) a Halin graph with
the property that all fans and all fans created as a result of a sequence of fan contractions
have size 3 cannot have an exponential number of tours. The following property gives the
necessary condition which allows us to solve BTSP(3) on Halin graphs by updating triplets.
Property 26. Let H be a Halin graph. For every fan F ⊆ H, two of {qmax13 , qmax
14 , qmax23 , qmax
24 }
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 53
are equal.
A Halin graph is said to be of balanced bottleneck cost if it satisfies Property 26. For all
Halin graphs of balanced bottleneck cost, the triplet updating scheme described above may
be applied.
Theorem 27. Let H be a Halin graph. Let ζ = H1,H2, . . . ,Hq be a sequence of Halin
graphs resulting from q successive fan contraction operations which reduces H to wheel Hq.
If H1, . . . ,Hq satisfy Property 26 then TSP(3) on H can be solved in O(n) time.
Proof. Follows from the proof of Theorem 22. The time required for each of the Case 1 and
Case 2 procedures described above for the bottleneck version is O(n).
3.2.2 BTSP(3) on a Halin graph using penalty functions
As in the TSP(3) problem, another approach for the case that τ contains j and l is to define
a penalty function stored at outer nodes. Define Pi(τ) and β as before and consider the
modified 3-Neighbor BTSP on a Halin graph defined as follows:
MTSP (3) : Minimize maxe−f−g∈P3(τ),i∈C
{q(e, f, g),Pi(τ)}
Subject to τ ∈ F .
Initially, set β(j, l, α1, α3) = β(j, l, α1, α4) = β(j, l, α2, α3) = β(j, l, α2, α4) = 0.
Case 1. To solve MBTSP(3) on a wheel, let L′ be defined as before, the 4 most expensive
triples in L. Additionally, let R be the set of penalties inflicted by sets of 4 consecutive
edges in the outer cycle C indexed by the outer nodes. Any tour in H contains all outer
edges except for a single edge ci, hence every tour contains every penalty in R except the
four which are stored at nodes at distance less than 2 from ci. Hence, in the bottleneck
case it is only necessary to retain the 5 largest penalties in R. Let β(v) be the penalty
stored at node v inflicted by edges in the outer cycle C. Let R′ = {r1, r2, r3, r4, r5} ⊆ R
be such that β(r1) = maxp∈R β(p), β(r2) = maxp∈R\r1β(p), β(r3) = maxp∈R\{r1,r2} β(p),
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 54
β(r4) = maxp∈R\{r1,r2,r3} β(p) and β(r5) = maxp∈R\{r1,r2,r3,r4} β(p). Define
ψP3 (ci) ≡ max
q(ci−2, ci−1, ti), q(ci−1, ti, ti+1), q(ti, ti+1, ci+1),
q(ti+1, ci+1, ci+2),
max{q(a, b, c) : (a, b, c) ∈ L′ \ {L′ ∩ {(ci−2, ci−1, ci),
(ci−1, ci, ci+1), (ci, ci+1, ci+2)}}},
β(ci−2, ci−1, ti, ci−3), β(ci+1, ci+2, ti+1, ci+3),
max{β(a) : a ∈ R′ \ {R′ ∩ {ui−1, ui, ui+1, ui+2}}}.
The edge with minimizes ψP3 determines the optimal tour in H.
Case 2. To solve MBTSP(3) on a Halin graph which is not a wheel, use the updating
scheme provided for BTSP(3) to store the information for the cases which τ does not contain
both j and l in F . Note that the calculations for Qjk and Qkl must be augmented to include
the penalties on the nodes u1, . . . , ur−1. For any subset S, let Pmax(S) = maxi∈S
Pi(S). Then
Qjk = max{q(j, y1, y2), q(y1, y2, y3), . . . , q(yr−2, yr−1, tr), q(yr−1, tr, k),Pmax(Pjk)},
and
Qkl = max{q(k, t1, y1), q(t1, y1, y2), q(y1, y2, y3), . . . , q(yr−2, yr−1, l),Pmax(Pkl)}.
Define qP(yi) = max{qmax(Pyi),Pmax(Pyi
)} for yi ∈ C ∩ F . Since the jl paths through
F can be divided into three types with respect to the quadratic costs involving any of the α
edges, let qmax1 = qP(y1), qmax
2 = maxi∈[2,r−1]
{qP (yi)}, and qmax3 = qP(yr−1). Then, after using
a process similar to Case 1 to calculate these values, the penalties are updated as follows:
β(j, l, αa, αb) = min{max{q(αa, j, t1), qmax1 , q(yr−1, l, αb)},
max{q(αa, j, y1), qmax2 , q(yr−1, l, αb)},
max{q(αa, j, y1), qmax3 , q(tr, l, αb)}},
for a ∈ {1, 2}, b ∈ {3, 4}.
Again, the penalties at uj and ul must be excluded. That is, a fan can be contracted,
and the penalties updated, as long as the adjacent outer nodes are not pseudonodes. Note
CHAPTER 3. THE 3-NEIGHBOR TRAVELING SALESMAN PROBLEM 55
that the triplets which include j and l are set to 0.
The conditions for which the updating scheme just described can be applied remain the
same as in the TSP(3) problem, that is, for all spacious Halin graphs, BTSP(3) can be
solved using penalty functions.
Theorem 28. Let H be a Halin graph. Let ζ = H1,H2 . . . ,Hq be a sequence of Halin
graphs resulting from q successive fan contraction operations which reduces H to wheel Hq.
If H1, . . . ,Hq satisfy Property 23 then BTSP(3) on H can be solved in O(n) time.
Proof. Follows from the proof of Theorem 22. The time required for each of the Case 1 and
Case 2 procedures described above for the bottleneck version is O(n).
Chapter 4
Directed Halin Graphs
4.1 Introduction
Until this point only graphs with undirected edges have been considered. In this chapter,
we consider the case of a directed Halin graph. A similar extension was done in [60] by
Phillips for the Bottleneck TSP on a Halin graph.
Let H = T ∪ C be a Halin graph. From H we may construct Hd = (N ,A), a di-
Halin graph as follows: for each edge (i, j) in H, create arcs (i, j) and (j, i) in Hd. For the
remainder of this thesis, Gd will be used to denote the digraph created from an undirected
graph G by creating two arcs in opposing directions for every edge in G. The node set of Hd
is the same as the set of nodes in H. Arbitrarily define Cf to be the dicycle composed of the
arcs created from edges belonging to C oriented in the clockwise orientation, and Cb to be
the dicycle composed of the arcs resulting from edges of C oriented in the counterclockwise
orientation. Note that Cd = Cf ∪Cb. Define T d to be the directed version of T . Note that
Hd = T d ∪Cd = T d ∪ Cf ∪ Cb Refer to Figure 4.1 for an example of a di-Halin graph.
Recall that an undirected Halin graph H = T ∪ C, where T is a star is termed a
wheel. Similarily, for a di-Halin graph where T d consists of a central node w as well as arcs
ti = (w, ui) for ui ∈ V (Cd) and tbi = (ui, w) for every ui ∈ N \ w is termed a di-wheel. The
arcs in Cf are labelled ci = (ui, ui+1) where i is taken mod n. Similarily the arcs in Cb are
the arcs cbi = (ui+1, ui). Refer to Figure 4.2.
Refer to node v in T d with deg−(v) = deg+(v) = 1 as a leaf or outer node in Hd. All
other nodes are referred to as inner nodes. Let Hd be a di-Halin graph which is not a
di-wheel, and let w be a nonleaf node which is incident on exactly one other inner node. Let
56
CHAPTER 4. DIRECTED HALIN GRAPHS 57
arc in T
arc in C
Figure 4.1: A di-Halin graph.
C(w) be the set of consecutive outer nodes incident on w. The subgraph F d of Hd induced
by {w}∪C(w) is referred to as a di-fan and w is called the centre of F d. Equivalently, if we
take any fan of an undirected Halin graph G and replace each of its edges by two oppositely
oriented edges, this results in a di-fan in the directed counterpart of G.
Define the contraction operation Gd(S) in the directed case as the result of contracting
each pair of arcs (u, v) and (v, u) in N (S) until we are left with a single ’pseudonode’ vS . A
cutset φ(S) is the set of arcs which disconnect S from Gd. N (Gd(S)) is the set of all nodes
not in S, together with the new pseudonode. The arcs in Gd(S) are defined as follows:
1. An arc with both ends in S is deleted;
2. An arc with both ends in Gd − S remains unchanged;
3. An arc of ϕ(S) now joins the adjacent node of Gd − S and vS, retaining its direction.
For any set S and corresponding cutset ϕ(S), u ∈ S, v ∈ G− S, (u, v) is described as a
forward arc and (v, u) as a backward or reverse arc.
We note that for di-Halin graphs, directed versions of lemmas 1 and 2 follow.
Lemma 8. Every di-Halin graph which is not a directed wheel has at least two di-fans.
Lemma 9. If F d is a di-fan in a di-Halin graph Hd, then Hd(F d) is a di-Halin graph.
We also note the following properties.
CHAPTER 4. DIRECTED HALIN GRAPHS 58
w
ui ui+1
titbi
ci−2
ci−1
ci
ci+1
ci+2
Figure 4.2: A di-wheel Hw.
Property 29. For every di-fan F in Hd, there exist 3 forward arcs and 3 backward arcs in
ϕ(F ).
Property 30. Every Hamilton cycle in Hd contains exactly 1 forward and 1 backward arc
from ϕ(F ).
4.2 The k-Neighbor DTSP and DBTSP
Let D = (N ,A) be a directed graph on the node set N = {1, 2, . . . , n}. Let τd =
(v1, v2, . . . , vn) be a directed tour in D and let Fd be the set of all directed tours in D. The
arcs e = (vi, vi+1) and f = (vj, vj+1) are k-neighbors on τd if and only if the unique shortest
dipath from e to f , on τd containing these arcs has exactly k arcs. For the k-neighbor di-
rected TSP, in addition to the cost of individual arcs, there exists a cost q(e, f) for unordered
pairs of arcs in a tour that are p-neighbors for all p < k. Let δ(k, τd) = {(e, f) : e, f ∈ τd
and e and f are p-neighbors on τd for p ≤ k.} Then the k-neighbor DTSP can be defined as
CHAPTER 4. DIRECTED HALIN GRAPHS 59
w
arc in T
arc in C
di-fan in H
F
Figure 4.3: A di-Halin graph with 3 di-fans.
DTSP (k) : Minimize∑
(e,f)∈δ(k,τd)
q(e, f) +∑
e∈τd
c(e)
Subject to τd ∈ Fd.
The directed Quadratic TSP can be defined as
DQTSP : Minimize∑
(e,f)∈τd⊗τd
q(e, f) +∑
e∈τd
c(e)
Subject to τd ∈ Fd.
Similarily, the k-neighbor bottleneck TSP can be defined as
DBTSP (k) : Minimize max{ max(e,f)∈δ(k,τd)
q(e, f),maxe∈τd
c(e)}
Subject to τd ∈ Fd.
DBTSP(k) is a special case of the bottleneck quadratic TSP
CHAPTER 4. DIRECTED HALIN GRAPHS 60
DQBTSP : Minimize max{ max(e,f)∈τd⊗τd
q(e, f),maxe∈τd
c(e)}
Subject to τd ∈ Fd.
For any arc e, let eb denote the arc with the opposite direction.
Note that if c(e) = c(eb) and q(e, f) = q(eb, f b) ∀e, f then DTSP(k) reduces to TSP(k)
and DQTSP reduces to QTSP. The following theorem follows immediately from the proof
of Theorem 13.
Theorem 31. RDQBTSP is strongly NP-complete even if the values c(e) and q(e, f) for
e, f ∈ H takes 0 − 1 values only.
Since the bottleneck version is NP-complete, it follows that the sum version is NP-
Complete.
In order to develop linear time algorithms for the k-neighbor DTSP (or DBTSP), the
input necessary for a solution must be able to be read in O(n). Hence, the following
extension of Theorem 15 is required. Define arcs e, f to be ’consecutive’ at a node x if the
corresponding edges in the graph formed by ignoring the orientation of arcs and removing
multiple edges are consecutive.
Theorem 32. No directed tour in Hd = T d ∪ Cd contains arcs e = (u, x) and f = (x, v)
which are non-consecutive around x in a planar embedding of Hd.
Proof. Towards a contradiction, suppose that there exists a planar embedding of Hd and
a tour τd in Hd such that e = (u, x) and f = (x, v) are nonconsecutive arcs at x and
e, f ∈ τd. Since e and f are non-consecutive at x, there are arcs in the planar embedding
of Hd, say g = (y, x) and h = (x, z), such that the clockwise order of arcs around x is
f, . . . , h, . . . , e, . . . , g. Note that x 6∈ C. Suppose T d is rooted at x, then x has (at minimum),
subtrees rooted at u, v, y and z. Since τd is a tour which contains arc e, it must contain a
path through the subtree rooted at u from u to uc ∈ Cd, which we denote by P1. Similarily,
it must contain P2 in the subtree rooted at v from v to vc ∈ C. Now we note that Hd \ P
where P = P1 ∪ P2 ∪ {e, f} has two components, and hence τd cannot contain both y and
z. This contradicts the assumption that τd is a tour in Hd. Refer to Figure 4.4.
CHAPTER 4. DIRECTED HALIN GRAPHS 61
y
yc
vvc
P2
z
zc
uuc
P1x
g
f
h
e
Figure 4.4: General Halin graph.
Corollary 33. For any arc e and directed tour τd in Hd and for some fixed k, 1 ≤ k ≤ n,
there are at most k · 2k−1 k-dipaths containing e which may belong to τd.
From Corollary 33, it is clear that the number of quadratic costs which need be read,
is bounded above by 2k−1 · |V (G)| = O(n) for any fixed k.
The following subsections will examine extensions of the algorithms solving TSP(2),
TSP(3), BTSP(2) and BTSP(3) to di-Halin graphs.
4.2.1 Solving DTSP(2)
A similar modification to the one used in TSP(2) can be applied for every pair of arcs (e, f),
such that e = (x, y) and f = (y, z), x, y, z ∈ N . The version of DTSP(2) that will be used
is:
CHAPTER 4. DIRECTED HALIN GRAPHS 62
TSP (2) : Minimize∑
(e,f)∈δ(2,τd)
q(e, f)
Subject to τd ∈ F .
Case 1. Hd is a di-wheel. It is clear that every Hamilton cycle in Hd skirts either the
cycle Cf or Cb and detours exactly once through w, skipping exactly one arc of Cf (or
Cb). In the undirected case there were n− 1 tours which were compared. The directed case
contains exactly two tours for every tour in the undirected case, one in each orientation.
For arc c ∈ A(C) define:
φ(ci) ≡ q(ci−1, ti) + q(tbi , ti+1) + q(ti+1, ci+1) − q(ci−1, ci) − q(ci, ci−1),
φ(cbi ) ≡ q(cbi−1, tbi) + q(ti, t
bi+1) + q(tbi+1, c
bi+1) − q(cbi−1, c
bi ) − q(cbi , c
bi−1).
Let e1 = (ut, uh) be the arc which minimizes φ on Cf and let e2 = (vt, vh) be the arc
which minimizes φ on Cb. Without loss of generality, suppose q(Cf )+φ(e1) ≤ q(Cb)+φ(e2).
Then the optimal solution for DTSP(2) can be obtained by taking the Hamilton cycle which
consists of all the arcs in Cf \ e1 together with the arc which connects the tail of e1 to w,
(ut, w) and the arc which connects w to the head of e1, (w, uh). The optimal value of the
tour may be obtained by computing q(τd∗) = φ(e1) + q(Cf ). If H contains n nodes, then
Cj, j ∈ {f, b} has exactly n− 1 arcs and the minimum of φ can be computed in O(n) time.
Case 2. Hd is not a di-wheel. Hd contains at least two di-fans, so arbitrarily let F d
be a fan of Hd. Let v be the center of F d, and label the leaves in the clockwise order,
u1, u2, . . . , ur (r ≥ 2). Let yi = (ui, ui+1) for i = 1, . . . , r− 1 and ti = (v, ui) for i = 1, . . . , r.
Let {j, k, l, jb, kb, lb} be the 6-arc cutset ϕ(F d) which disconnect F d from Hd such that j
and jb are incident with u1, k and kb are incident with v and l and lb are incident with ur.
Orient these arcs such that in the cutset ϕ(F d), {j, k, l} contains only forward arcs. See
Figure 4.5.
Note that the property used in the undirected version (Property 18) does not extend to
the directed case. However, there are still only 6 types of Hamilton di-paths traversing F d,
the directed versions of the paths in the undirected problem.
CHAPTER 4. DIRECTED HALIN GRAPHS 63
u1
u2
u3
u4
v
jb
y1
y2
y3
l
j
lb
t1
t3
t4
t2
kb
kedge in T
edge in C
fan in H
F
Figure 4.5: A Halin graph with 3-edge cutset {i, j, k}.
These are:
jb − y1 − y2 − . . . − yr−1 − tbr − k,
kb − tr − ybr−1 − yb
r−2 . . . − yb1 − j,
kb − t1 − y1 − y2 − . . . − yr − l,
lb − ybr − yb
r−1 − . . .− yb1 − tb1 − k,
jb − y1 − . . .− yp−1 − tbp − tp+1 − yp+1 − . . .− yr−1 − l,
and lb − ybr−1 − . . .− yb
q+1 − tbq+1 − tq − ybq−1 − . . .− yb
1 − j,
where p and q are chosen to minimize the jbl and lbj dipaths using a process similar to Case
1. In this chapter, denote these dipaths beginning with arc a and ending with arc b by Pab.
Since these paths are exactly the paths in the undirected case with a specified orientation,
the formulas used in the undirected case can be modified by specifying the direction of every
edge, to compute the costs to traverse di-fan F .
Let Kf be the set of arcs in (Cf ∩ F d) ∪ {jb, l}. Similarily, let Kb be the set of arcs in
(Cb ∩ F d) ∪ {j, lb}. Define q(Ks) =∑
(e,f)∈δ(2,Ks)
q(e, f) for s ∈ {f, b}. Then:
1. if the tour uses jb and k, the arcs in F d incur a cost of Qjbk ≡ q(Kf ) + q(yr−1, tbr) +
q(tbr, k) − q(yr−1, l);
CHAPTER 4. DIRECTED HALIN GRAPHS 64
2. if the tour uses j and kb, the arcs in F d incur a cost of Qjkb ≡ q(Kb) + q(ybr−1, tr) +
q(tr, kb) − q(yb
r−1, lb);
3. if the tour uses kb and l, the arcs in F d incur a cost from of Qkbl ≡ q(Kf ) + q(kb, t1) +
q(t1, y1) − q(jb, y1);
4. if the tour uses k and lb, the arcs in F d incur a cost from of Qklb ≡ q(Kb) + q(k, tb1) +
q(tb1, yb1) − q(j, yb
1);
5. if the tour uses jb and l then τd skirts Cf and detours through the centre of F d at the
cheapest point. It follows that for:
(a) |V (F d)| ≥ 5, the arcs in F d incur a cost of
Qjbl ≡ q(Kf ) + min
q(jb, tb1) + q(tb1, t2) + q(t2, y2) − q(jb, y1) − q(y1, y2),
{q(yi, tbi+1) + q(tbi+1, ti+2) + q(ti+2, yi+2) − q(yi, yi+1)
−q(yi+1, yi+2) : i ∈ {1, . . . , r − 3}},
q(yr−2, tbr−1) + q(tbr−1, tr) + q(tr, l) − q(yr−2, yr−1)
−q(yr−1, l).
(b) |V (F d)| = 4, the arcs in F d incur a cost of
Qjbl ≡ q(Kf ) + min
q(jb, tb1) + q(tb1, t2) + q(t2, y2) − q(jb, y1) − q(y1, y2),
q(y1, tb2) + q(tb2, t3) + q(t3, l) − q(y1, y2) − q(y2, l).
(c) |V (F d)| = 3, the arcs in F d incur a cost of
Qjbl ≡ q(Kf ) + q(jb, tb1) + q(tb1, t2) + q(t2, l) − q(jb, y1) − q(y1, l).
6. if the tour uses j and lb then τd skirts Cb and detours through the centre of F d at the
cheapest point. It follows that for:
(a) |V (F d)| ≥ 5, the arcs in F d incur a cost of
CHAPTER 4. DIRECTED HALIN GRAPHS 65
Qjlb ≡ q(Kb) + min
q(j, t1) + q(t1, tb2) + q(tb2, y
b2) − q(j, yb
1) − q(yb1, y
b2),
{q(ybi , ti+1) + q(ti+1, t
bi+2) + q(tbi+2, y
bi+2) − q(yb
i , ybi+1)
−q(ybi+1, y
bi+2) : i ∈ {1, . . . , r − 3}},
q(ybr−2, tr−1) + q(tr−1, t
br) + q(tbr, l
b) − q(ybr−2, y
br−1)
−q(ybr−1, l
b).
(b) |V (F d)| = 4, the arcs in F d incur a cost of
Qjlb ≡ q(Kb) + min
q(j, t1) + q(t1, tb2) + q(tb2, y
b2) − q(j, yb
1) − q(yb1, y
b2),
q(yb1, t2) + q(t2, t
b3) + q(tb3, l
b) − q(yb1, y
b2) − q(yb
2, lb).
(c) |V (F d)| = 3, the arcs in F d incur a cost of
Qjlb ≡ q(Kb) + q(j, t1) + q(t1, tb2) + q(tb2, l
b) − q(j, yb1) − q(yb
1, lb).
For the updating scheme under fan contraction, define
q′(e, f) ≡
q(e, f) for e, f ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, j′) for f = j′, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, j′b) for f = j′b, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, k′) for f = k′, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, k′b) for f = k′b, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, l′) for f = l′, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, l′b) for f = l′b, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
Qjbk if {e, f} = {j′b, k′}
Qkbl if {e, f} = {k′b, l′}
Qjbl if {e, f} = {j′b, l′}
Qjkb if {e, f} = {j′, k′b}
Qklb if {e, f} = {k′, l′b}
Qjlb if {e, f} = {j′, l′b}.
CHAPTER 4. DIRECTED HALIN GRAPHS 66
By Lemma 9, Hd(F d) is a di-Halin graph, so fans can be iteratively contracted using
Case 2 until a di-wheel Hdw is obtained, updating q′ at each iteration. Once Hd
w is obtained
Case 1 may be applied. The optimal tour in Hdw can then be expanded to an optimal
tour in H using (1)-(6). The preceding discussion yields the following algorithm for solving
DTSP(2) on a di-Halin graph Hd.
Algorithm 4.1: HalinDTSP2(Hd)
Require: Di-Halin graph Hd = T d ∪Cd.
if Hd is a di-wheel then
Use the Case 1 procedure to find an optimal tour τd in Hd
else
Let F d be a fan in Hd
Contract F d to a single node vF d, using the Case 2 procedure
HalinDTSP2(Hd(F d))
end if
Expand all pseudonodes in reverse order and update τd
return τd
Overall, there is a constant factor of 2 more calculations performed in this algorithm
compared to the algorithm provided which solved the undirected version. Hence, it takes
O(n) time to solve DTSP(2).
4.2.2 Solving DBTSP(2)
A similar modification to the one used in BTSP(2) can be applied for every pair of arcs
(e, f) such that e = (x, y) and f = (y, z), x, y, z ∈ N . The version of DBTSP(2) that will
be used is:
DBTSP (2) : Minimize max(e,f)∈δ(2,τd)
q(e, f)
Subject to τd ∈ Fd.
Case 1. Hd is a di-wheel. Let Lf (and Lb) be the set of pairs of arcs in Cf (and Cb) which
share a node in C. Any tour in Hd contains every pair in either Lf or Lb except two, so in
the bottleneck case it is only necessary to retain the 3 most expensive pairs in each of Lf
CHAPTER 4. DIRECTED HALIN GRAPHS 67
and Lb. Let L′f = l1, l2, l3 ⊆ Lf be such that q(l1) = maxp∈Lf q(p), q(l2) = maxp∈Lf\l1 q(p)
and q(l3) = maxp∈Lf\{l1,l2} q(p). Let L′b = lb1, lb2, l
b3 ⊆ Lb be such that q(lb1) = maxp∈Lf q(p),
q(lb2) = maxp∈Lf\lb1q(p) and q(lb3) = maxp∈Lf\{lb
1,lb2} q(p). Define
φ2(ci) ≡ max
q(ci−1, tbi ), q(t
bi , ti+1), q(ti+1, ci+1),
max{q(a, b) : (a, b) ∈ L′ \ {L′ ∩ {(ci−1, ci), (ci, ci+1)}}}
on the arcs ci ∈ Cf , and
φ2(cbi ) ≡ max
q(cbi−1, ti), q(ti, tbi+1), q(tbi+1, c
bi+1),
max{q(a, b) : (a, b) ∈ L′b \ {L′b ∩ {(cbi−1, cbi ), (c
bi , c
bi+1)}}}
on the arcs cbi ∈ Cb. As before, Let e1 = (ut, uh) be the arc which minimizes φ2 on Cf
and e2 = (vt, vh) be the arc which minimizes φ2 on Cb. Without loss of generality, suppose
φ2(e1) ≤ φ2(cbi ). Then the optimal tour is Cf + (ut, w) + (w, uh) − ci. Clearly this can be
computed in O(n) time.
Case 2. Hd is not a di-wheel. Let Mf be the set of arcs in (Cf ∩F d)∪{jb, l}. Similarily,
let M b be the set of arcs in (Cb ∩ F d) ∪ {j, lb} Any tour in Hd contains at most every pair
in either Mf or M b except two, so in the bottleneck case it is only necessary to retain the
3 most expensive pairs in each of Mf and M b. Let M ′f = {m1,m2,m3} ⊆ Mf be such
that q(m1) = maxp∈Mf , q(m2) = maxp∈Mf\m1q(p) and q(m3) = maxp∈Mf\{m1,m2} q(p). Let
M ′b = {mb1,m
b2,m
b3} ⊆ M b be such that q(mb
1) = maxp∈Mf , q(mb2) = maxp∈Mf\mb
1q(p) and
q(mb3) = maxp∈Mf\{mb
1,mb
2} q(p). Define
1. If the tour uses jb and k, the contribution of F is
Qjbk ≡ max{q(jb, y1), {q(yi, yi+1) : 1 ≤ i ≤ r − 2}, q(yr−1, tbr), q(tbr, k);
2. If the tour uses j and kb, the contribution of F is
Qjkb ≡ max{q(j, yb1), {q(yb
i , ybi+1) : 1 ≤ i ≤ r − 2}, q(yb
r−1, tr), q(tr, kb);
3. If the tour uses kb and l, the contribution of F is
Qkbl ≡ max{q(l, yr−1), {q(yi, yi+1) : 1 ≤ i ≤ r − 2}, q(y1, tb1), q(tb1, k
b);
4. If the tour uses k and lb, the contribution of F is
Qklb ≡ max{q(lb, ybr−1), {q(yb
i , ybi+1) : 1 ≤ i ≤ r − 2}, q(yb
1, t1), q(t1, k);
CHAPTER 4. DIRECTED HALIN GRAPHS 68
5. If the tour uses jb and l, then the edge yx ∈Mf is skipped. To find yx, define:
φF2 (y1) ≡ max
q(jb, tb1), q(tb1, t2), q(t2, y2),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(jb, y1), (y1, y2)}}
φF2 (yr−1) ≡ max
q(yr−2, tbr−1), q(tbr−1, tr), q(tr, l),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(yr−2, yr−1), (yr−1, l)}}
φF2 (yi) ≡ max
q(yi−1, tbi ), q(t
bi , ti+1), q(ti+1, yi+1),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(yi−1, yi), (yi, yi+1)}}
for i = 2, . . . , r − 2. Then
Qjbl ≡ φF2 (yx).
6. If the tour uses j and lb, then the edge ybz ∈M b is skipped. To find yb
z, define:
φF2 (yb
1) ≡ max
q(j, t1), q(t1, tb2), q(tb2, y
b2),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(j, yb1), (yb
1, yb2)}}
φF2 (yb
r−1) ≡ max
q(ybr−2, tr−1), q(tr−1, t
br), q(tbr, l
b),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(ybr−2, y
br−1), (yb
r−1, lb)}}
φF2 (yb
i ) ≡ max
q(ybi−1, ti), q(ti, t
bi+1), q(tbi+1, y
bi+1),
{q(a, b) : (a, b) ∈M ′ \ {M ′ ∩ {(ybi−1, y
bi ), (y
bi , y
bi+1)}}
where i = 2, . . . , r − 2. Then
Qjlb ≡ φF2 (yb
z).
For the updating scheme under fan contraction, define
CHAPTER 4. DIRECTED HALIN GRAPHS 69
q′(e, f) ≡
q(e, f) for e, f ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, j′) for f = j′, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, j′b) for f = j′b, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, k′) for f = k′, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, k′b) for f = k′b, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, l′) for f = l′, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
q(e, l′b) for f = l′b, e ∈ E(Hd(F d)) \ {j′, k′, l′, j′b, k′b, l′b}
Qjbk if {e, f} = {j′b, k′}
Qkbl if {e, f} = {k′b, l′}
Qjbl if {e, f} = {j′b, l′}
Qjkb if {e, f} = {j′, k′b}
Qklb if {e, f} = {k′, l′b}
Qjlb if {e, f} = {j′, l′b}.
The algorithm for DTSP(2) can be used for DBTSP(2) using the cost function q′ as
described. For the DBTSP(2), the Case 1 procedure takes O(n) time. The modified Case 2
procedure remains linear, hence the algorithm solves the BTSP(2) in O(n) time.
4.2.3 Solving DTSP(3)
The DTSP(3) problem can be viewed as the problem of finding a minimum oriented Hamil-
tonian cycle where costs are incurred for each arc in the tour and in addition, for each
pair of arcs belonging to a dipath of length 3 in the tour. For any subgraph S, let
P3(S) = {(e, f, g) : e−f −g is a dipath in S}. After the appropriate modification, DTSP(3)
can be stated as
DTSP (3) : Minimize∑
e−f−g∈P3(τd)
q(e, f, g)
Subject to τd ∈ Fd.
CHAPTER 4. DIRECTED HALIN GRAPHS 70
DTSP(3) using cost updating
Consider the problem DTSP(3) restricted to di-Halin graph Hd.
Case 1. H is a wheel. Define function φ3 on the set of arcs in Cf ∪ Cb.
φ3(ci) ≡ q(ci−2, ci−1, tbi) + q(ci−1, t
bi , ti+1) + q(tbi , ti+1, ci+1)
+q(ti+1, ci+1, ci+2) − q(ci−2, ci−1, yi) − q(ci−1, ci, ci+1)
−q(ci, ci+1, ci+2),
and
φ3(cbi ) ≡ q(cbi−2, cbi−1, ti) + q(cbi−1, ti, t
bi+1) + q(ti, t
bi+1, c
bi+1)
+q(tbi+1, cbi+1, c
bi+2) − q(cbi−2, c
bi−1, y
bi ) − q(cbi−1, c
bi , c
bi+1)
−q(cbi , cbi+1, c
bi+2).
As in DTSP(2), let k = (ut, uh) be the arc which minimizes φ3 on Cf and let l = (vt, vh)
be the arc which minimizes φ3 on Cb. Without loss of generality, suppose q(Cf ) + φ3(k) ≤
q(Cb) + φ3(l). Then the optimal solution for DTSP(3) can be obtained by taking the
Hamilton cycle which consists of all the arcs in Cf \ k together with the arc which connects
the tail of k to w, (ut, w) and the arc which connects w to the head of k, (w, uh). The
optimal value of the tour may be obtained by computing q(τd∗) = φ3(k) + q(Cf ). If H
contains n nodes, then Cj, j ∈ {f, b}, has exactly n− 1 arcs and the minimum of φ3 can be
computed in O(n) time.
Case 2. Hd is not a di-wheel. As in the undirected case, the arcs at distance 2 from arcs
in F d must be considered for the jl traversals and arcs α1, . . . , α4 as well as the corresponding
reverse arcs αb1, . . . , α
b4 are labelled as before and oriented such that the forward arcs leave
F d ∪ {uj , ul}. See Figure 4.6.
Let Kf be the path from jb to l using only arcs in Cf ∩ F d, and Kb be the path from
lb to j using only arcs in Cb ∩ F d. Let
CHAPTER 4. DIRECTED HALIN GRAPHS 71
w
uk
u1 ur
uluj
k
j
l
α1 α4
kb
jb
lb
αb2
αb3
trtb1
y1 yr−1
Figure 4.6: A fan F with center w.
Qjbk = q(Kf ) + q(yr−2, yr−1, tbr) + q(yr−1, t
br, k) − q(yr−2, yr−1, l),
Qjkb = q(Kb) + q(ybr−2, y
br−1, tr) + q(yb
r−1, tr, kb) − q(yb
r−2, ybr−1, l
b),
Qkbl = q(Kf ) + q(kb, t1, y1) + q(t1, y1, y2) − q(jb, y1, y2),
Qklb = q(Kb) + q(k, tb1, yb1) + q(tb1, y
b1, y
b2) − q(j, yb
1, yb2).
After contracting F d, set,
q′(x, j′, k′b) = q(x, j, yb1) +Qjkb ∀x ∈ {α1, α2}, (4.1)
q′(xb, j‘b, k′) = q(xb, jb, y1) +Qjbk ∀xb ∈ {αb1, α
b2}, (4.2)
q′(j′b, k′, y) = q(tbr, k, y) ∀y = (uk, z), y 6∈ F, (4.3)
q′(j′, k′b, yb) = q(tr, kb, yb) ∀yb = (z, uk), yb 6∈ F. (4.4)
In the directed version, if the tour uses arcs jb and l or j and lb, the inconsistent system
of equations found in the undirected version is again encountered. That is, if qac is the
minimum dipath from αba to αc (if a ∈ {1, 2}) or from αa to αb
c (if a ∈ {3, 4}), then the
following two systems of equations are obtained. To update values for costs which contain
both of jb and l or j and lb in the new digraph, simply solve the following systems of
CHAPTER 4. DIRECTED HALIN GRAPHS 72
equations.
q′(αb1, j
′b, l′) + q′(j′b, l′, α3) = q13, (4.5)
q′(αb1, j
′b, l′) + q′(j′b, l′, α4) = q14, (4.6)
q′(αb2, j
′b, l′) + q′(j′b, l′, α3) = q23, (4.7)
q′(αb2, j
′b, l′) + q′(j′b, l′, α4) = q24, (4.8)
q′(α1, j′, l′b) + q′(j′, l′b, αb
3) = q31, (4.9)
q′(α1, j′, l′b) + q′(j′, l′b, αb
4) = q41, (4.10)
q′(α2, j′, l′b) + q′(j′, l′b, αb
3) = q32, (4.11)
q′(α2, j′, l′b) + q′(j′, l′b, αb
4) = q42. (4.12)
Hence the following property is necessary to ensure an assignment of path values to
variables in Hd(F d) exists.
Property 34. Let Hd be a di-Halin graph. For every di-fan F d ⊆ Hd, q13 + q24 = q14 + q23
and q31 + q42 = q41 + q32.
A di-Halin graph is said to be of balanced directed cost if it satisfies Property 34. For
all di-Halin graphs of balanced directed cost, the triplet updating scheme described above
may be applied.
Theorem 35. Let Hd be a di-Halin graph. Let ζ = Hd1 ,H
d2 , . . . ,H
dq be a sequence of di-
Halin graphs resulting from q successive fan contraction operations which reduces Hd to
wheel Hdq . If Hd
1 , . . . ,Hdq satisfy Property 34 then DTSP(3) on Hd can be solved in O(n)
time.
The algorithm to solve DTSP(3) is simply the algorithm used on TSP(3) with the cost
updating scheme described above.
DTSP(3) using penalties
In this section, the results from Section 3.1.2 are extended to the directed version.
Define:
CHAPTER 4. DIRECTED HALIN GRAPHS 73
Pi(τd) =
β(jb, l, αb1, α3) if jb, l, αb
1 and α3 ∈ τd,
β(jb, l, αb1, α4) if jb, l, αb
1 and α4 ∈ τd,
β(jb, l, αb2, α3) if jb, l, αb
2 and α3 ∈ τd,
β(jb, l, αb2, α4) if jb, l, αb
2 and α4 ∈ τd,
β(j, lb, α1, αb3) if j, lb, α1 and αb
3 ∈ τd,
β(j, lb, α1, αb4) if j, lb, α1 and αb
4 ∈ τd,
β(j, lb, α2, αb3) if j, lb, α2 and αb
3 ∈ τd,
β(j, lb, α2, αb4) if j, lb, α2 and αb
4 ∈ τd,
0 Otherwise.
The modified directed TSP is defined as:
MDTSP (3) : Minimize∑
e−f−g∈P3(τd)
q(e, f, g) +∑
i∈C
Pi(τd)
Subject to τd ∈ Fd.
The analysis of MDTSP(3) is a straightforward extension of Section 3.1.2 using the
following formulas.
Case 1. Hd is a di-wheel.
φ3(ci) ≡ q(ci−2, ci−1, tbi) + q(ci−1, t
bi , ti+1) + q(tbi , ti+1, ci+1)
+q(ti+1, ci+1, ci+2) − q(ci−2, ci−1, yi) − q(ci−1, ci, ci+1)
−q(ci, ci+1, ci+2) + β(ci−2, ci−1, ci−3, tbi )
+β(ci+1, ci+2, ti+1, ci+3) − β(ci−2, ci−1, ci−3, ci)
−β(ci−1, ci, ci−2, ci+1) − β(ci, ci+1, ci−1, ci+2)
−β(ci+1, ci+2, ci, ci+3).
CHAPTER 4. DIRECTED HALIN GRAPHS 74
φ3(cbi ) ≡ q(cbi−2, cbi−1, ti) + q(cbi−1, ti, t
bi+1) + q(ti, t
bi+1, c
bi+1)
+q(tbi+1, cbi+1, c
bi+2) − q(cbi−2, c
bi−1, y
bi ) − q(cbi−1, c
bi , c
bi+1)
−q(cbi , cbi+1, c
bi+2) + β(cbi−2, c
bi−1, c
bi−3, ti)
+β(cbi+1, cbi+2, t
bi+1, c
bi+3) − β(cbi−2, c
bi−1, c
bi−3, c
bi )
−β(cbi−1, cbi , c
bi−2, c
bi+1) − β(cbi , c
bi+1, c
bi−1, c
bi+2)
−β(cbi+1, cbi+2, c
bi , c
bi+3).
Suppose e1 minimizes φ3 on Cf and e2 minimizes φ3 on Cb. The optimal value of the tour
may be obtained by computing q(τd∗) = min{φ(e1)+q(Cf )+∑n
i=1 β(ci, ci+1, ci+2, ci+3), φ(e2)+
q(Cb) +∑n
i=1 β(cbi , cbi+1, c
bi+2, c
bi+3)}.
Case 2. Hd is not a di-wheel.
Qjbk = q(Kf ) + q(yr−2, yr−1, tbr) + q(yr−1, t
br, k) − q(yr−2, yr−1, l) + P(Pjbk),
Qjkb = q(Kb) + q(ybr−2, y
br−1, tr) + q(yb
r−1, tr, kb) − q(yb
r−2, ybr−1, l
b) + P(Pjkb),
Qkbl = q(Kf ) + q(kb, t1, y1) + q(t1, y1, y2) − q(jb, y1, y2) + P(Pkbl),
Qklb = q(Kb) + q(k, tb1, yb1) + q(tb1, y
b1, y
b2) − q(j, yb
1, yb2) + P(Pklb).
The new triples in Hd(F d) can be used to store the costs of these four paths through
F d. Penalties are used to store the jbl and jlb costs. That is, when F d is contracted, set
β(jb, l, αbs, αt) = qs,t for s ∈ {1, 2} and t ∈ {3, 4},
β(j, lb, αs, αbt) = qt,s for s ∈ {1, 2} and t ∈ {3, 4}.
Property 23 is necessary to solve DTSP (3) using penalty functions.
Theorem 36. Let Hd be a di-Halin graph. Let ζ = Hd1 ,H
d2 . . . ,H
dq be a sequence of di-
Halin graphs resulting from q successive fan contraction operations on F d1 , F
d2 , . . . , F
dq which
reduces Hd to wheel Hdq . If Hd
1 , . . . ,Hdq satisfy property 23 then DTSP(3) on Hd can be
solved in O(n) time.
CHAPTER 4. DIRECTED HALIN GRAPHS 75
Naturally, if the process used to create a di-Halin graph from a Halin graph is used on a
caterpillar graph, the penalty function approach discussed here will solve DTSP(3) in O(n)
time on the resulting digraph.
4.2.4 Solving DBTSP(3)
Consider the bottleneck directed version of the 3-neighbor TSP. For reasons previously
discussed, it can be stated as:
DBTSP (3) : Minimize maxe−f−g∈P3(τd)
q(e, f, g)
Subject to τ ∈ F .
DBTSP(3) using cost updating
In this section, the results from Section 3.2.1 and 4.2.2 are extended to the directed 3-
nieghbour version.
Case 1. Hd is a di-wheel. Let Lf (and Lb) be the set of pairs of arcs in Cf (and Cb)
which share a node in C. Any tour in Hd contains every pair in either Lf or Lb except
three, so in the bottleneck case it is only necessary to retain the 4 most expensive pairs in
each of Lf and Lb. Let L′f = l1, l2, l3, l4 ⊆ Lf be such that q(l1) ≥ q(l2) ≥ q(l3) ≥ q(l4) ≥ x
for all x ∈ Lf \ {l1, l2, l3, l4}. Let L′b = lb1, lb2, l
b3, l
b4 ⊆ Lb be such that q(lb1) ≥ q(lb2) ≥ q(lb3) ≥
q(lb4) ≥ x for all x ∈ Lb \ {lb1, lb2, l
b3, l
b4}. Define
ψ3(ci) ≡ max
q(ci−2, ci−1, tbi ), q(ci−1, t
bi , ti+1), q(tbi , ti+1, ci+1),
q(ti+1, ci+1, ci+2),
max{q(a, b, c) : (a, b, c) ∈ L′f \ {L′f ∩ {(ci−2, ci−1, ci),
(ci−1, ci, ci+1), (ci, ci+1, ci+2)}}}
CHAPTER 4. DIRECTED HALIN GRAPHS 76
on the arcs ci ∈ Cf , and
ψ3(cbi ) ≡ max
q(cbi−2, cbi−1, ti), q(c
bi−1, ti, t
bi+1), q(ti, t
bi+1, c
bi+1),
q(tbi+1, cbi+1, c
bi+2),
max{q(a, b, c) : (a, b, c) ∈ L′b \ {L′b ∩ {(cbi−2, cbi−1, c
bi ),
(cbi−1, cbi , c
bi+1), (cbi , c
bi+1, c
bi+2)}}}
on the arcs cbi ∈ Cb. As before, Let e1 = (ut, uh) be the arc which minimizes ψ3 on Cf
and e2 = (vt, vh) be the arc which minimizes ψ3 on Cb. Without loss of generality, suppose
ψ3(e1) ≤ ψ3(cbi ). Then the optimal tour is Cf + (ut, w) + (w, uh) − ci. Clearly this can be
computed in O(n) time.
Case 2. Hd is not a di-wheel. Let
Qjbk ≡ max{q(r, s, t) : r, s, t is a dipath in Pjbk},
Qjkb ≡ max{q(r, s, t) : r, s, t is a dipath in Pjkb},
Qkbl ≡ max{q(r, s, t) : r, s, t is a dipath in Pkbl},
Qklb ≡ max{q(r, s, t) : r, s, t is a dipath in Pklb}.
After contracting F , set,
q′(x, j′, k′b) = max{q(x, j, yb1), Qjkb} ∀x ∈ {α1, α2}, (4.13)
q′(xb, j‘b, k′) = max{q(xb, jb, y1), Qjbk} ∀xb ∈ {αb1, α
b2}, (4.14)
q′(j′b, k′, y) = q(tbr, k, y) ∀y = (uk, z), y 6∈ F, (4.15)
q′(j′, k′b, yb) = q(tr, kb, yb) ∀yb = (z, uk), yb 6∈ F. (4.16)
If the tour uses arcs jb and l or j and lb, the same system of equations found in the
undirected version is again encountered. That is, if qac is the minimum bottleneck dipath
from αba to αc (if a ∈ {1, 2}) or from αa to αb
c (if a ∈ {3, 4}), then the following two systems
of equations are obtained. To update values for costs which contain both of jb and l or j
and lb in the new digraph, simply solve the following systems of equations.
CHAPTER 4. DIRECTED HALIN GRAPHS 77
max{q(αb1, j
′b, l′), q(j′b, l′, α3)} = qmax13 , (4.17)
max{q(αb1, j
′b, l′), q(j′b, l′, α4)} = qmax14 , (4.18)
max{q(αb2, j
′b, l′), q(j′b, l′, α3)} = qmax23 , (4.19)
max{q(αb2, j
′b, l′), q(j′b, l′, α4)} = qmax24 , (4.20)
max{q(α1, j′, l′b), q(j′, l′b, αb
3)} = qmax31 , (4.21)
max{q(α1, j′, l′b), q(j′, l′b, αb
4)} = qmax41 , (4.22)
max{q(α2, j′, l′b), q(j′, l′b, αb
3)} = qmax32 , (4.23)
max{q(α2, j′, l′b), q(j′, l′b, αb
4)} = qmax42 . (4.24)
Hence the following property is necessary to ensure an assignment of path bottleneck
values to variables in Hd(F d) exists.
Property 37. Let Hd be a di-Halin graph. For every di-fan F d ⊆ Hd,
1. two of {qmax13 , qmax
14 , qmax23 , qmax
24 } are equal and
2. two of {qmax31 , qmax
41 , qmax32 , qmax
42 } are equal.
A di-Halin graph is said to be of balanced directed bottleneck cost if it satisfies Property 37.
For all such graphs, the triplet updating scheme described above may be applied.
Theorem 38. Let Hd be a di-Halin graph. Let ζ = Hd1 ,H
d2 , . . . ,H
dq be a sequence of
di-Halin graphs resulting from q successive fan contraction operations which reduces Hd to
wheel Hdq . If Hd
1 , . . . ,Hdq satisfy Property 37 then DTSP(3) on H can be solved in O(n)
time.
The algorithm to solve DBTSP(3) is simply the algorithm used on TSP(3) with the cost
updating scheme described above.
DTSP(3) using penalties
In this section, the results from Section 3.2.2 and 4.2.3 are extended to the directed bottle-
neck version.
CHAPTER 4. DIRECTED HALIN GRAPHS 78
Define Pi(τd) and β as before. Consider the following problem:
MDBTSP (3) : Minimize maxe−f−g∈P3(τd),i∈C
{q(e, f, g),Pi(τd)}
Subject to τd ∈ Fd.
The analysis of MDBTSP(3) is a straightforward extension of Section 3.2.2 using the
following formulas.
Case 1. To solve MDBTSP(3) on a di-wheel, let L′f and L′b be defined as before, the
4 most expensive triples in Lf and Lb. Additionally, let Rf and Rb be the set of penalties
inflicted by sets of 4 consecutive arcs in the outer cycle Cf and Cb, respectively, indexed
by outer nodes. Any tour in Hd contains every penalty in Rf (or Rb) except four, so in
the bottleneck case it is only necessary to retain the 5 largest penalties in each of Rf and
Rb. Let β(v) be the penalty stored at node v inflicted by arcs in the outer cycle Cf or Cb.
Let R′f = {r1, r2, r3, r4, r5} ⊆ Rf be such that β(r1) ≥ β(r2) ≥ β(r3) ≥ β(r4) ≥ β(r5) ≥ x
for every x ∈ Rf \ {r1, r2, r3, r4, r5}. Similarily, R′b = {rb1, r
b2, r
b3, r
b4, r
b5} ⊆ Rb be such that
β(rb1) ≥ β(rb
2) ≥ β(rb3) ≥ β(rb
4) ≥ β(rb5) ≥ x for every x ∈ Rb \ {rb
1, rb2, r
b3, r
b4, r
b5}. Define
ψP3 (ci) ≡ max
q(ci−2, ci−1, tbi ), q(ci−1, t
bi , ti+1), q(tbi , ti+1, ci+1),
q(ti+1, ci+1, ci+2),
max{q(a, b, c) : (a, b, c) ∈ L′f \ {L′f ∩ {(ci−2, ci−1, ci),
(ci−1, ci, ci+1), (ci, ci+1, ci+2)}}},
β(ci−2, ci−1, tbi , ci−3), β(ci+1, ci+2, ti+1, ci+3),
max{β(a) : a ∈ R′f \ {R′f ∩ {ui−1, ui, ui+1, ui+2}}}
ψP3 (cbi ) ≡ max
q(cbi−2, cbi−1, ti), q(c
bi−1, ti, t
bi+1), q(ti, t
bi+1, c
bi+1),
q(tbi+1, cbi+1, c
bi+2),
max{q(a, b, c) : (a, b, c) ∈ L′b \ {L′b ∩ {(cbi−2, cbi−1, c
bi ),
(cbi−1, cbi , c
bi+1), (cbi , c
bi+1, c
bi+2)}}},
β(cbi−2, cbi−1, ti, c
bi−3), β(cbi+1, c
bi+2, t
bi+1, c
bi+3),
max{β(a) : a ∈ R′b \ {R′b ∩ {ui−1, ui, ui+1, ui+2}}}.
CHAPTER 4. DIRECTED HALIN GRAPHS 79
The arc which minimizes ψP3 determines the optimal tour in Hd.
Case 2. To solve MDBTSP(3) on a di-Halin graph which is not a wheel, the updating
scheme for DBTSP(3) is used to store the information when τd does not contain arcs jb and
l or j and lb. Note that the calculations for Qjbk, Qjkb, Qkbl and Qklb must be augmented
to include the penalties on the nodes u1, . . . , ur−1. Then
Qjbk = max{ maxr−s−t∈P
jbk
q(r, s, t),Pmax(Pjbk)},
Qjkb = max{ maxr−s−t∈P
jkb
q(r, s, t),Pmax(Pjkb)},
Qkbl = max{ maxr−s−t∈P
kbl
q(r, s, t),Pmax(Pkbl)},
Qklb = max{ maxr−s−t∈P
klb
q(r, s, t),Pmax(Pklb)}.
Let qmax1 = qP(y1), qmax
2 = maxi∈[2,r−1]
{qP (yi)}, and qmax3 = qP(yr−1). Similarily, qmax
1b =
qP(yb1), qmax
2b = maxi∈[2,r−1]
{qP(ybi )}, and qmax
3b = qP(ybr−1). After using a process similar to Case
1 to calculate these values, the penalties are updated as follows:
β(jb, l, αbs, αt) = min{max{q(αb
s, jb, tb1), qmax
1 , q(yr−1, l, αt)},
max{q(αbs, j
b, y1), qmax2 , q(yr−1, l, αt)},
max{q(αbs, j
b, y1), qmax3 , q(tr, l, αt)}},
β(j, lb, αs, αbt) = min{max{q(αs, j, t1), qmax
1b , q(ybr−1, l
b, αbt)},
max{q(αs, j, y1), qmax2b , q(yb
r−1, lb, αb
t)},
max{q(αs, j, y1), qmax3b , q(tbr, l
b, αbt)}},
for s ∈ {1, 2}, t ∈ {3, 4}.
The condition for which the updating scheme just described can be applied remain the
same as in the TSP(3) problem, that is, for all spacious di-Halin graphs, DBTSP(3) can be
solved using penalty functions.
Theorem 39. Let Hd be a di-Halin graph. Let ζ = Hd1 ,H
d2 . . . ,H
dq be a sequence of di-Halin
graphs resulting from q successive fan contraction operations which reduces Hd to wheel Hdq .
CHAPTER 4. DIRECTED HALIN GRAPHS 80
If Hd1 , . . . ,H
dq satisfy property 23 then DBTSP(3) on Hd can be solved in O(n) time.
Appendix A
Appendix 1: Examples
A.1 Solving TSP(2) on an arbitrary Halin graph
v11v4
v5
v6
v7
v8
v9
v10
v2
v1v3
e9
e12
e13
e14
e11
e7
e8
e6
e3 e15
e17
e18
e16
e10
e2
e1e4
e5
Figure A.1: Example Halin graph H.
Let H be the Halin graph in Figure A.1 with the on pairs of adjacent edges in Table A.1.
All other costs can be assumed to be 0 without loss of generality as a direct result of
Theorem 15.
Initially, since H is not a wheel, the algorithm selects a fan to contract, say fan F1 with
center v1 and relabels the nodes and edges as in Figure A.2.
The costs which the algorithm will require to contract F1 are simply the costs of pairs
81
APPENDIX A. APPENDIX 1: EXAMPLES 82
Table A.1: 2-Neighbor Costs in Halin graph Hq(e9, e12) = 1 q(e12, e13) = 2 q(e13, e14) = 9 q(e14, e11) = 2q(e11, e6) = 2 q(e6, e7) = 4 q(e7, e8) = 8 q(e8, e9) = 5q(e9, e15) = 3 q(e12, e15) = 6 q(e12, e16) = 7 q(e13, e16) = 7q(e13, e17) = 4 q(e14, e17) = 8 q(e14, e18) = 6 q(e11, e18) = 3q(e11, e2) = 5 q(e6, e2) = 6 q(e6, e4) = 5 q(e7, e4) = 1q(e7, e5) = 6 q(e8, e5) = 4 q(e8, e3) = 4 q(e9, e3) = 8q(e15, e16) = 7 q(e16, e17) = 2 q(e17, e18) = 3 q(e4, e5) = 6q(e15, e10) = 8 q(e18, e10) = 4 q(e2, e10) = 2 q(e2, e1) = 3q(e4, e1) = 9 q(e5, e1) = 6 q(e3, e10) = 1 q(e3, e1) = 9
c8c1
c2
c3
c4
c5
c6
c7
v2
v1v3
j
y1
y2
y3
l
e7
e8
e6
e3 t1
t3
t4
t2
k
e2
e1e4
e5
F1
Figure A.2: H with fan F1 identified.
of edges which include at least one edge belonging to F1. That is, costs
q(j, y1) = 1 q(y1, y2) = 2 q(y2, y3) = 9 q(y3, l) = 2
q(j, t1) = 3 q(y1, t1) = 6 q(y1, t2) = 7 q(y2, t2) = 7
q(y2, t3) = 4 q(y3, t3) = 8 q(y3, t4) = 6 q(l, t4) = 3
q(t1, t2) = 7 q(t2, t3) = 2 q(t3, t4) = 3 q(t1, k) = 8
q(t4, k) = 4.
It is noted that F1 contains 5 nodes. The algorithm proceeds to calculate the following:
K = {j, y1, y2, y3, l},
APPENDIX A. APPENDIX 1: EXAMPLES 83
q(K) = q(j, y1) + q(y1, y2) + q(y2, y3) + q(y3, l)
= 1 + 2 + 9 + 2
= 14,
Qjk = q(K) + q(y3, t4) + q(t4, k) − q(y3, l)
= 14 + 6 + 4 − 2
= 22,
Qkl = q(K) + q(k, t1) + q(t1, y1) − q(j, y1)
= 14 + 8 + 6 − 1
= 27,
and
Qjl = q(K) + min{q(j, t1) + q(t1, t2) + q(t2, y2) − q(j, y1) − q(y1, y2),
q(y1, t2) + q(t2, t3) + q(t3, y3) − q(y1, y2) − q(y2, y3),
q(y2, t3) + q(t3, t4) + q(t4, l) − q(y2, y3) − q(y3, l)}
= 14 + min{3 + 7 + 7 − 1 − 2, 7 + 2 + 8 − 2 − 9, 4 + 3 + 3 − 9 − 2}
= 14 + min{14, 6,−1}
= 14 − 1
= 13.
It is noted that the minimum j − l path in F2 is j − y1 − y2 − t3 − t4 − l.
At this point F1 is contracted, and the costs in H(F1) must be assigned. That is, all
pairs that are not both selected from {j′, k′, l′} remain the same as in H. The algorithm
sets q(j′, k′) = Qjk = 22, q(k′, l′) = Qkl = 27 and q(k′, l′) = Qjl = 13.
Since H is not a wheel, the algorithm selects a fan to contract, say fan F2 with center
v2 and relabels the nodes and edges as in Figure A.3.
The costs which the algorithm will require to contract F2 are simply the costs of pairs
APPENDIX A. APPENDIX 1: EXAMPLES 84
c1
c3
v9
v10
v2
c2v3
y1
y2
e7
j
l
t1
t2
t3
ke4
e5
F2
Figure A.3: H(F1) with fan F2 identified.
of edges which include at least one edge belonging to F1. That is, costs
q(y2, l) = 2 q(j, y1) = 5 q(y2, t3) = 5
q(l, t3) = 6 q(j, t1) = 4 q(y1, t1) = 8
q(t3, t2) = 2 q(t3, k) = 3 q(t1, t2) = 1
q(t1, k) = 9
q(y1, t2) = Qjk = 22 q(t2, y2) = Qkl = 27 q(y1, y2) = Qjl = 13.
It is noted that F1 contains 4 nodes. The algorithm proceeds to calculate the following:
K = {j, y1, y2, l},
q(K) = q(j, y1) + q(y1, y2) + q(y2, l)
= 5 + 13 + 2
= 20,
APPENDIX A. APPENDIX 1: EXAMPLES 85
Qjk = q(K) + q(y2, t3) + q(t3, k) − q(y2, l)
= 20 + 5 + 3 − 2
= 26,
Qkl = q(K) + q(k, t1) + q(t1, y1) − q(j, y1)
= 20 + 9 + 8 − 5
= 32,
and
Qjl = q(K) + min{q(j, t1) + q(t1, t2) + q(t2, y2) − q(j, y1) − q(y1, y2),
q(y1, t2) + q(t2, t3) + q(t3, l) − q(y1, y2) − q(y2, l)}
= 20 + min{4 + 1 + 27 − 5 − 13, 22 + 2 + 6 − 13 − 2}
= 20 + min{14, 15}
= 20 + 14
= 34.
It is noted that the minimum j − l path in F2 is j − t1 − t2 − y2 − l.
At this point F2 is contracted, and the costs in H(F2) must be assigned. That is, all
pairs that are not both selected from {j′, k′, l′} remain the same as in H. The algorithm
sets q(j′, k′) = Qjk = 23, q(k′, l′) = Qkl = 32 and q(k′, l′) = Qjl = 34.
The algorithm check if H is now a wheel, which is now true. The nodes and edges are
relabeled as in Figure A.4.
The costs which the algorithm will require to define φ3(e) for e ∈ C are simply the
remaining costs together with the new costs assigned from the contraction of F2. That is,
costsq(c1, t1) = 1 q(c1, t2) = 6 q(t1, t2) = 6
q(t1, t3) = 9 q(t2, t3) = 6 q(c3, t1) = 5
q(c2, t2) = 4 q(c3, c1) = 4 q(c1, c2) = 8
q(c2, t3) = Qjk = 26 q(t3, c3) = Qkl = 32 q(c2, c3) = Qjl = 34.
APPENDIX A. APPENDIX 1: EXAMPLES 86
u1
u2
u3
wc1
c2
c3
t3t1
t2
Figure A.4: Wheel Hw which H reduces to.
It is noted that there are 3 cycle edges in wheel Hw. The algorithm proceeds to calculate:
φ(c1) = q(c3, t1) + q(t1, t2) + q(c2, t2) − q(c3, c1) − q(c1, c2)
= 5 + 6 + 4 − 4 − 8
= 3.
φ(c2) = q(c1, t2) + q(t2, t3) + q(c3, t3) − q(c1, c2) − q(c2, c3)
= 6 + 6 + 32 − 8 − 34
= 2.
φ(c3) = q(c2, t3) + q(t3, t1) + q(c1, t1) − q(c2, c3) − q(c3, c1)
= 26 + 9 + 1 − 34 − 4
= −2.
Clearly φ(c3) minimizes φ, so the optimal tour in Hw is c2 − t3 − t1 − c1 − c2 with cost
q(τ∗) = φ(c3) + q(C)
= −2 + q(c1, c2) + q(c2, c3) + q(c3, c1)
= −2 + 8 + 34 + 4
= 44.
APPENDIX A. APPENDIX 1: EXAMPLES 87
u1
u2
u3
wc1
c2
c3
t3t1
t2
Figure A.5: Optimal tour τ∗ in Hw.
The algorithm expands fan in the reverse order that they were contracted and from the
tour shown in Figure A.5 obtains the optimal solution depicted in Figure A.6.
v11v4
v5
v6
v7
v8
v9
v10
v2
v1v3
e9
e12
e13
e14
e11
e7
e8
e6
e3 e15
e17
e18
e16
e10
e2
e1e4
e5
Figure A.6: Optimal tour τ in H.
APPENDIX A. APPENDIX 1: EXAMPLES 88
A.2 Solving BTSP(2) on an arbitrary Halin graph
Let H be the Halin graph in Figure A.1 with the on pairs of adjacent edges in Table A.2. All
other costs can be assumed to be 0 without loss of generality as a direct result of Theorem 15.
Table A.2: 2-Neighbor Bottleneck Costs in Halin graph Hq(e9, e12) = 1 q(e12, e13) = 2 q(e13, e14) = 1 q(e14, e11) = 2q(e11, e6) = 2 q(e6, e7) = 4 q(e7, e8) = 8 q(e8, e9) = 5q(e9, e15) = 3 q(e12, e15) = 6 q(e12, e16) = 7 q(e13, e16) = 7q(e13, e17) = 4 q(e14, e17) = 8 q(e14, e18) = 6 q(e11, e18) = 3q(e11, e2) = 5 q(e6, e2) = 6 q(e6, e4) = 5 q(e7, e4) = 1q(e7, e5) = 6 q(e8, e5) = 4 q(e8, e3) = 4 q(e9, e3) = 8q(e15, e16) = 7 q(e16, e17) = 2 q(e17, e18) = 3 q(e4, e5) = 6q(e15, e10) = 8 q(e18, e10) = 4 q(e2, e10) = 2 q(e2, e1) = 3q(e4, e1) = 9 q(e5, e1) = 6 q(e3, e10) = 1 q(e3, e1) = 9
Initially, since H is not a wheel, the algorithm selects a fan to contract, say fan F1 with
center v1 and relabels the nodes and edges as in Figure A.2.
The costs which the algorithm will require to contract F1 are simply the costs of pairs
of edges which include at least one edge belonging to F1. That is, costs
q(j, y1) = 1 q(y1, y2) = 2 q(y2, y3) = 1 q(y3, l) = 2
q(j, t1) = 3 q(y1, t1) = 6 q(y1, t2) = 7 q(y2, t2) = 7
q(y2, t3) = 4 q(y3, t3) = 8 q(y3, t4) = 6 q(l, t4) = 3
q(t1, t2) = 7 q(t2, t3) = 2 q(t3, t4) = 3 q(t1, k) = 8
q(t4, k) = 4.
It is noted that F1 contains 5 nodes. The algorithm proceeds to calculate the following:
M = {(j, y1), (y1, y2), (y2, y3), (y3, l)},M′ = {m1,m2,m3} = {(y1, y2), (y3, l), (y2, y3)},
Qjk = max{q(j, y1), q(y1, y2), q(y2, y3), q(y3, t4), q(t4, k)}
= max{1, 2, 1, 6, 4}
= 6,
APPENDIX A. APPENDIX 1: EXAMPLES 89
Qkl = max{q(l, y3), q(y1, y2), q(y2, y3), q(y1, t1), q(t1, k)}
= max{2, 2, 1, 6, 8}
= 8,
φF2 (y1) = max{q(j, t1), q(t1, t2), q(t2, y2), q(y2, y3), q(y3, l)}
= max{3, 7, 7, 1, 2}
= 7,
φF2 (y3) = max{q(y2, t3), q(t3, t4), q(t4, l), q(y1, y2)}
= max{4, 3, 3, 2}
= 4,
φF2 (y2) = max{q(y1, t2), q(t2, t3), q(t3, y3), q(y3, l)}
= max{7, 2, 8, 2}
= 8.
Then,
Qjl = φF2 (y3) = 4.
It is noted that the minimum j − l path in F2 is j − y1 − y2 − t3 − t4 − l.
At this point F1 is contracted, and the costs in H(F1) must be assigned. That is, all
pairs that are not both selected from {j′, k′, l′} remain the same as in H. The algorithm
sets q(j′, k′) = Qjk = 6, q(k′, l′) = Qkl = 8 and q(k′, l′) = Qjl = 4.
Since H is not a wheel, the algorithm selects a fan to contract, say fan F2 with center
v2 and relabels the nodes and edges as in Figure A.3.
The costs which the algorithm will require to contract F2 are simply the costs of pairs
APPENDIX A. APPENDIX 1: EXAMPLES 90
of edges which include at least one edge belonging to F1. That is, costs
q(y2, l) = 2 q(j, y1) = 5 q(y2, t3) = 5
q(l, t3) = 6 q(j, t1) = 4 q(y1, t1) = 8
q(t3, t2) = 2 q(t3, k) = 3 q(t1, t2) = 1
q(t1, k) = 9
q(y1, t2) = Qjk = 6 q(t2, y2) = Qkl = 8 q(y1, y2) = Qjl = 4.
It is noted that F1 contains 4 nodes. The algorithm proceeds to calculate the following:
M = {(j, y1), (y1, y2), (y2, l)},M′ = {m1,m2,m3} = {(j, y1), (y1, y2), (y2, l)},
Qjk = max{q(j, y1), q(y1, y2), q(y2, t3), q(t3, k)}
= max{5, 4, 5, 3}
= 5,
Qkl = max{q(l, y2), q(y1, y2), q(y1, t1), q(t1, k)}
= max{2, 3, 8, 9}
= 9,
φF2 (y1) = max{q(j, t1), q(t1, t2), q(t2, y2), q(y2, l)}
= max{4, 1, 8, 2}
= 8,
φF2 (y2) = max{q(y1, t2), q(t2, t3), q(j, y1), q(t3, l)}
= max{6, 2, 5, 6}
= 6.
Then,
Qjl = φF2 (y2) = 6.
APPENDIX A. APPENDIX 1: EXAMPLES 91
It is noted that the minimum j − l path in F2 is j − y1 − t2 − t3 − l.
At this point F2 is contracted, and the costs in H(F2) must be assigned. That is, all
pairs that are not both selected from {j′, k′, l′} remain the same as in H. The algorithm
sets q(j′, k′) = Qjk = 5, q(k′, l′) = Qkl = 9 and q(k′, l′) = Qjl = 6.
The algorithm check if H is now a wheel, which is now true. The nodes and edges are
relabeled as in Figure A.4.
The costs which the algorithm will require to define φ3(e) for e ∈ C are simply the
remaining costs together with the new costs assigned from the contraction of F2. That is,
costsq(c1, t1) = 1 q(c1, t2) = 6 q(t1, t2) = 6
q(t1, t3) = 9 q(t2, t3) = 6 q(c3, t1) = 5
q(c2, t2) = 4 q(c3, c1) = 4 q(c1, c2) = 8
q(c2, t3) = Qjk = 5 q(t3, c3) = Qkl = 9 q(c2, c3) = Qjl = 6.
It is noted that there are 3 cycle edges in wheel Hw. The algorithm proceeds to calculate:
L = {(c1, c2), (c2, c3), (c3, c1)}, L′ = {l1, l2, l3} = {(c2, c3), (c1, c2), (c3, c1)},
φ2(c1) = max{q(c3, t1), q(t1, t2), q(t2, c2), q(c2, c3)}
= max{4, 6, 4, 6}
= 6,
φ(c2) = max{q(c1, t2), q(t2, t3), q(t3, c3), q(c3, c1)}
= max{6, 6, 9, 5}
= 9,
and
φ(c3) = max{q(c2, t3), q(t3, t1), q(t1, c1), q(c1, c2)}
= max{5, 9, 1, 8}
= 9.
APPENDIX A. APPENDIX 1: EXAMPLES 92
Clearly φ(c1) minimizes φ, so the optimal tour in Hw is τ∗ = c2 − c3 − t1 − t2 − c2 with
bottleneck cost q(τ∗) = 6.
u1
u2
u3
wc1
c2
c3
t3t1
t2
Figure A.7: Optimal bottleneck tour τ∗ in Hw.
The algorithm expands fan in the reverse order that they were contracted and from the
tour shown in Figure A.7 obtains the optimal solution depicted in Figure A.8.
v11v4
v5
v6
v7
v8
v9
v10
v2
v1v3
e9
e12
e13
e14
e11
e7
e8
e6
e3 e15
e17
e18
e16
e10
e2
e1
e4
e5
Figure A.8: Optimal bottleneck tour τ in H.
APPENDIX A. APPENDIX 1: EXAMPLES 93
A.3 Solving TSP(3) on a balanced cost Halin graph
v4v5
v6
v7
v8
v9
v10
v12
v3
v1
v11
v2
e12
e13
e14
e11
e19
e7
e8
e6
e15
e17
e18
e16
e10
e2
e9
e1
e4
e5
e3
Figure A.9: Example Halin graph H.
Let H be the Halin graph in Figure A.9 with costs on pairs of adjacent edges as in
Table A.3.
All other costs can be assumed to be 0 without loss of generality as they cannot belong
to any tour in H.
Initially, since H is not a wheel, the algorithm selects a fan to contract, say fan F1 with
center v1 and relabels the nodes and edges as in Figure A.10.
The costs which the algorithm will require to contract F1 are simply the costs of pairs
APPENDIX A. APPENDIX 1: EXAMPLES 94
Table A.3: 3-Neighbor Costs in balanced cost Halin graph Hq(e2, e1, e4) = 1 q(e2, e1, e5) = 1 q(e5, e1, e10) = 2q(e1, e2, e3) = 2 q(e1, e2, e9) = 3 q(e3, e2, e10) = 4q(e9, e2, e10) = 1 q(e2, e3, e11) = 3 q(e2, e3, e19) = 5q(e9, e3, e11) = 6 q(e1, e4, e7) = 7 q(e5, e4, e6) = 8q(e1, e5, e7) = 9 q(e4, e5, e8) = 2 q(e4, e6, e9) = 4q(e7, e6, e9) = 6 q(e4, e6, e19) = 4 q(e7, e6, e19) = 1q(e4, e7, e8) = 8 q(e5, e7, e6) = 1 q(e7, e8, e12) = 5q(e5, e8, e12) = 3 q(e7, e8, e15) = 7 q(e5, e8, e15) = 6q(e2, e9, e6) = 1 q(e2, e9, e19) = 9 q(e3, e9, e6) = 2q(e1, e10, e15) = 5 q(e1, e10, e18) = 6 q(e2, e10, e15) = 2q(e2, e10, e18) = 7 q(e3, e11, e18) = 5 q(e3, e11, e14) = 5q(e14, e11, e19) = 6 q(e18, e11, e19) = 4 q(e8, e12, e13) = 5q(e8, e12, e16) = 2 q(e13, e12, e15) = 4 q(e12, e13, e14) = 2q(e12, e13, e17) = 4 q(e14, e13, e16) = 8 q(e11, e14, e13) = 8q(e11, e14, e17) = 7 q(e13, e14, e18) = 5 q(e8, e15, e16) = 1q(e10, e15, e12) = 2 q(e12, e16, e17) = 3 q(e13, e16, e15) = 4q(e13, e17, e18) = 5 q(e14, e17, e16) = 4 q(e10, e18, e11) = 7q(e10, e18, e14) = 7 q(e11, e18, e17) = 6 q(e3, e19, e6) = 5q(e9, e19, e11) = 9
of edges which include at least one edge belonging to F1. That is, costs
q(j, y1, y2) = q(e8, e12, e13) = 5 q(j, y1, t2) = q(e8, e12, e16) = 2
q(y2, y1, t1) = q(e13, e12, e15) = 4 q(y1, y2, y3) = q(e12, e13, e14) = 2
q(y1, y2, t3) = q(e12, e13, e17) = 4 q(y3, y2, t2) = q(e14, e13, e16) = 8
q(l, y3, y2) = q(e11, e14, e13) = 8 q(l, y3, t3) = q(e11, e14, e17) = 7
q(y2, y3, t4) = q(e13, e14, e18) = 5 q(j, t1, t2) = q(e8, e15, e16) = 1
q(k, t1, y1) = q(e10, e15, e12) = 2 q(y1, t2, t3) = q(e12, e16, e17) = 3
q(y2, t2, t1) = q(e13, e16, e15) = 4 q(y2, t3, t4) = q(e13, e17, e18) = 5
q(y3, t3, t2) = q(e14, e17, e16) = 4 q(k, t4, y3) = q(e10, e18, e14) = 7
q(l, t4, t3) = q(e11, e18, e17) = 6 q(α2, j, y1) = q(e5, e8, e12) = 3
q(α1, j, y1) = q(e7, e8, e12) = 5 q(α1, j, t1) = q(e7, e8, e15) = 7
q(e1, k, t1) = q(e1, e10, e15) = 5 q(e2, k, t4) = q(e2, e10, e18) = 7
q(α4, l, y3) = q(e3, e11, e14) = 5 q(y3, l, α3) = q(e14, e11, e19) = 6
q(t4, l, α3) = q(e18, e11, e19) = 4 q(t4, l, α4) = q(e3, e11, e18) = 5
q(t4, k, α1) = q(e1, e10, e18) = 6 q(e2, k, t1) = q(e2, e10, e15) = 2
q(α2, j, t1) = q(e5, e8, e15) = 6.
APPENDIX A. APPENDIX 1: EXAMPLES 95
c1c2
c3
c4
v8
v9
v10
v12
v3
v1
v11
v2
y1
y2
y3
l
α3
α1
j
e6
t1
t3
t4
t2
k
e2
e9
e1
e4
α2
α4
F1
Figure A.10: H with F1 identified.
It is noted that F1 contains 5 nodes. The algorithm proceeds to calculate the following:
K = {j, y1, y2, y3, l},
q(K) = q(j, y1, y2) + q(y1, y2, y3) + q(y2, y3, l)
= 5 + 2 + 8 = 15,
Qjk = q(K) + q(y2, y3, t4) + q(y3, t4, k) − q(y2, y3, l)
= 15 + 5 + 7 − 8 = 19,
and
Qkl = q(K) + q(k, t1, y1) + q(t1, y1, y2) − q(j, y1, y2)
= 15 + 2 + 4 − 5 = 16.
Let P1 = j, t1, t2, y2, y3, l, P2 = j, y1, t2, t3, y3, l and P3 = j, y1, y2, t3, t4, l. The algorithm
APPENDIX A. APPENDIX 1: EXAMPLES 96
then calculates:
q13 = min{q(α1 − P1 − α3), q(α1 − P2 − α3), q(α1 − P3 − α3)}
= min{34, 27, 29}
= 27,
q14 = min{q(α1 − P1 − α4), q(α1 − P2 − α4), q(α1 − P3 − α4)}
= min{34, 25, 27}
= 25,
q23 = min{q(α2 − P1 − α3), q(α2 − P2 − α3), q(α2 − P3 − α3)}
= min{33, 26, 30}
= 26,
and
q24 = min{q(α2 − P1 − α4), q(α2 − P2 − α4), q(α2 − P3 − α4)}
= min{33, 24, 28}
= 24.
At this point F1 is contracted, and the costs in H(F1) must be assigned. That is, all
triples that do not contain 2 edges selected from {j′, k′, l′} remain the same as in H. The
algorithm sets:
q′(α1, j′, k′) = q(α1, j, y1) +Qjk
= 5 + 19 = 24,
q′(α2, j′, k′) = q(α2, j, y1) +Qjk
= 3 + 19 = 22,
APPENDIX A. APPENDIX 1: EXAMPLES 97
q′(j′, k′, e1) = q(t4, k, e1) = 6,
q′(j′, k′, e2) = q(t4, k, e2) = 7,
q′(e1, k′, l′) = q(e1, k, t1) +Qkl
= 5 + 16 = 21,
q′(e2, k′, l′) = q(e2, k, t1) +Qkl
= 2 + 16 = 18,
q′(k′, l′, α3) = q(y3, l, α3) = 6,
q′(k′, l′, α4) = q(y3, l, α4) = 5.
Solving the system of equations,
q′(α1, j′, l′) = 25, q′(α2, j
′, l′) = 24
q′(j′, l′, α3) = 2, q′(j′, l′, α4) = 0.
Since H is not a wheel, the algorithm selects a fan to contract, say fan F2 with center
v2 and relabels the nodes and edges as in Figure A.11.
The costs which the algorithm will require to contract F2 are simply the costs of pairs
of edges which include at least one edge belonging to F2. That is, costs
APPENDIX A. APPENDIX 1: EXAMPLES 98
v8
v9
v10
v12
v3
v11
v2
vF1
j
y1
α3
α1
l
α2
k
t2
e1
α4
e5
t1
F2
Figure A.11: H(F1) with F2 identified.
q(α1, j, t1) = q(j′, l′, α4) = 0 q(α1, j, y1) = q(j′, l′, α3) = 2
q(α2, j, t1) = q(k′, l′, α4) = 5 q(α2, j, y1) = q(k′, l′, α3) = 6
q(j, t1, t2) = q(e9, e3, e11) = 6 q(j, t1, k) = q(e2, e3, e11) = 3
q(y1, t1, k) = q(e2, e3, e19) = 5 q(t1, t2, l) = q(e3, e9, e6) = 2
q(k, t2, l) = q(e2, e9, e6) = 1 q(y1, t2, k) = q(e3, e9, e6) = 9
q(j, y1, t2) = q(e9, e19, e11) = 9 q(j, y1, l) = q(e6, e19, e11) = 2
q(t1, y1, l) = q(e3, e19, e6) = 5 q(t2, l, α3) = q(e7, e6, e9) = 6
q(t2, l, α4) = q(e9, e6, e4) = 4 q(y1, l, α3) = q(e7, e6, e19) = 1
q(y1, l, α4) = q(e4, e6, e19) = 4 q(e1, k, t1) = q(e1, e2, e3) = 2
q(e1, k, t2) = q(e1, e2, e9) = 3 q(α2, k, t1) = q(e3, e2, e10) = 4
q(α2, k, t2) = q(e9, e2, e10) = 1.
It is noted that F1 contains 3 nodes. The algorithm proceeds to calculate the following:
Qjk = q(j, y1, t2) + q(t1, t2, l)
= 9 + 2 = 11,
APPENDIX A. APPENDIX 1: EXAMPLES 99
and
Qkl = q(k, t1, y1) + q(t1, y1, l)
= 5 + 5 = 10.
q13 = q(α1, j, t1) + q(j, t1, t2) + q(t1, t2, l) + q(t2, l, α3)
= 0 + 6 + 2 + 6 = 14,
q14 = q(α1, j, t1) + q(j, t1, t2) + q(t1, t2, l) + q(t2, l, α4)
= 0 + 6 + 2 + 4 = 12,
q23 = q(α2, j, t1) + q(j, t1, t2) + q(t1, t2, l) + q(t2, l, α3)
= 5 + 6 + 2 + 6 = 19,
and
q24 = q(α2, j, t1) + q(j, t1, t2) + q(t1, t2, l) + q(t2, l, α4)
= 5 + 6 + 2 + 4 = 17.
At this point F2 is contracted, and the costs in H(F2) must be assigned. That is, all
triples that do not contain 2 edges selected from {j′, k′, l′} remain the same as in H. The
algorithm sets:
q′(α1, j′, k′) = q(α1, j, y1) +Qjk
= 2 + 11 = 13,
q′(α2, j′, k′) = q(α2, j, y1) +Qjk
= 6 + 11 = 17,
APPENDIX A. APPENDIX 1: EXAMPLES 100
q′(j′, k′, e1) = q(t2, k, e1) = 3,
q′(j′, k′, α2) = q(t2, k, α2) = 1,
q′(e1, k′, l′) = q(e1, k, t1) +Qkl
= 2 + 10 = 12,
q′(α2, k′, l′) = q(α2, k, t1) +Qkl
= 4 + 10 = 14,
q′(k′, l′, α3) = q(y1, l, α3) = 1,
q′(k′, l′, α4) = q(y1, l, α4) = 4.
Solving the system of equations,
q′(α1, j′, l′) = 12, q′(α2, j
′, l′) = 17
q′(j′, l′, α3) = 2, q′(j′, l′, α4) = 0.
Since H is not a wheel, the algorithm selects a fan to contract, say fan F3 with center
v3 and relabels the nodes and edges as in Figure A.12.
q(α1, j, t1) = 24 q(α1, j, y1) = 25 q(α2, j, t1) = 22
q(α2, j, y1) = 24 q(j, t1, t2) = 7 q(j, t1, k) = 6
q(y1, t1, k) = 21 q(t1, t2, l) = 14 q(k, t2, l) = 12
q(y1, t2, k) = 3 q(j, y1, t2) = 13 q(j, y1, l) = 12
q(t1, y1, l) = 17 q(t2, l, α3) = 1 q(t2, l, α4) = 4
q(y1, l, α3) = 2 q(y1, l, α4) = 0 q(α2, k, t1) = 2
q(α2, k, t2) = 1.
APPENDIX A. APPENDIX 1: EXAMPLES 101
v9
v10
v3
v11
vF2
vF1
y1
α1, α3
j
l
t1
t2
k
α4
α2
F3
Figure A.12: H(F2) with F3 identified.
Qjk = q(j, t1, t2) + q(t1, t2, l)
= 13 + 14 = 27,
and
Qkl = q(k, t1, y1) + q(t1, y1, l)
= 21 + 17 = 38.
q13 = q(α1, j, t1) + q(j, t1, t2) + q(t1, t2, l) + q(t2, l, α3)
= 24 + 7 + 14 + 1 = 46,
q14 = q(α1, j, t1) + q(j, t1, t2) + q(t1, t2, l) + q(t2, l, α4)
= 24 + 7 + 14 + 4 = 49,
APPENDIX A. APPENDIX 1: EXAMPLES 102
q23 = q(α2, j, t1) + q(j, t1, t2) + q(t1, t2, l) + q(t2, l, α3)
= 22 + 7 + 14 + 1 = 44,
and
q24 = q(α2, j, t1) + q(j, t1, t2) + q(t1, t2, l) + q(t2, l, α4)
= 22 + 7 + 14 + 4 = 47.
At this point F2 is contracted, and the costs in H(F2) must be assigned. That is, all
triples that do not contain 2 edges selected from {j′, k′, l′} remain the same as in H. The
algorithm sets:
q′(α1, j′, k′) = q(α1, j, y1) +Qjk
= 25 + 27 = 52,
q′(α2, j′, k′) = q(α2, j, y1) +Qjk
= 24 + 27 = 51,
q′(j′, k′, e1) = q(t2, k, e1) = 1,
q′(j′, k′, α2) = q(t2, k, α2) = 1,
q′(e1, k′, l′) = q(e1, k, t1) +Qkl
= 1 + 38 = 39,
q′(α2, k′, l′) = q(α2, k, t1) +Qkl
= 2 + 38 = 40,
q′(k′, l′, α3) = q(y1, l, α3) = 2,
APPENDIX A. APPENDIX 1: EXAMPLES 103
and
q′(k′, l′, α4) = q(y1, l, α4) = 0.
Solving the system of equations,
q′(α1, j′, l′) = 46, q′(α2, j
′, l′) = 44
q′(j′, l′, α3) = 0, q′(j′, l′, α4) = 3.
The algorithm check if H is a wheel, which is now true. The nodes and edges are
relabeled as in Figure A.13.
v9
v10
vF3
v11
c1
c2
c3 t3
t1
t2
Figure A.13: Wheel Hw which H reduces to.
The costs which the algorithm will require to define φ3(e) for e ∈ C are costs
q(c2, c1, t1) = q(e4, e7, e8) = 8 q(t2, c1, c3) = q(e5, e7, e6) = 1
q(c1, c2, t3) = 52 q(c3, c2, t2) = 44
q(c1, c3, t3) = 2 q(c2, c3, t1) = 3
q(c1, t1, t3) = q(e1, e4, e7) = 7 q(c3, t1, t2) = q(e5, e4, e6) = 8
q(c1, t2, t3) = q(e1, e5, e7) = 9 q(c2, t2, t1) = q(e4, e5, e8) = 2
q(c2, t3, t1) = 1 q(c3, t3, t2) = 40.
APPENDIX A. APPENDIX 1: EXAMPLES 104
It is noted that there are 3 cycle edges in wheel Hw. The algorithm proceeds to calculate:
φ(c1) = q(c3, t1, t2) + q(t1, t2, c2) + q(t2, c2, c3) + q(c2, c3, t1)
= 8 + 2 + 44 + 3
= 57.
φ(c2) = q(c1, t2, t3) + q(t2, t3, c3) + q(t3, c3, c1) + q(c3, c1, t2)
= 9 + 40 + 2 + 1
= 52.
φ(c3) = q(c2, t3, t1) + q(t3, t1, c1) + q(t1, c1, c2) + q(c1, c2, t3)
= 1 + 7 + 8 + 52
= 68.
Clearly φ(c2) minimizes φ, so the optimal tour in Hw is with cost φ(c2) = 52. Refer to
Figure A.22.
v9
v10
vF3
v11
c1
c2
c3 t3
t1
t2
Figure A.14: Optimal tour τ∗ in Hw.
The algorithm expands fan in the reverse order that they were contracted and obtains
the optimal solution depicted in Figure A.23.
APPENDIX A. APPENDIX 1: EXAMPLES 105
v4v5
v6
v7
v8
v9
v10
v12
v3
v1
v11
v2
e12
e13
e14
e11
e19
e7
e8
e6
e15
e17
e18
e16
e10
e2
e9
e1
e4
e5
e3
Figure A.15: Optimal tour τ in H.
APPENDIX A. APPENDIX 1: EXAMPLES 106
A.4 Solving TSP(3) on a spacious Halin graph
v4
v5
v6
v7
v8
v9
v10
v11
v2 v1v3
e1
e2
e3
e4
e5e6
e7
e8
e13e16
e14
e15
e9e10
e11
e12
e17
e18
Figure A.16: Example Halin graph H.
Let H be the Halin graph in Figure A.16 with the costs on pairs of adjacent edges as in
Table A.4.
All other costs can be assumed to be 0 without loss of generality as they cannot belong
to any tour in H. All penalties at outer nodes are initialized to 0.
Initially, since H is not a wheel, the algorithm selects a fan to contract, say fan F1 with
center v1 and relabels the nodes and edges as in Figure A.17.
The costs which the algorithm will require to contract F1 are simply the costs of pairs
APPENDIX A. APPENDIX 1: EXAMPLES 107
Table A.4: 3-Neighbor Costs in spacious Halin graph Hq(e2, e1, e8) = 2 q(e2, e1, e14) = 7 q(e8, e1, e9) = 1q(e9, e1, e14) = 3 q(e1, e2, e3) = 5 q(e1, e2, e10) = 3q(e3, e2, e9) = 4 q(e2, e3, e4) = 2 q(e2, e3, e11) = 1q(e4, e3, e10) = 4 q(e3, e4, e5) = 8 q(e3, e4, e12) = 5q(e5, e4, e11) = 7 q(e4, e5, e6) = 5 q(e4, e5, e15) = 3q(e6, e5, e12) = 3 q(e12, e5, e15) = 4 q(e5, e6, e7) = 2q(e5, e6, e18) = 3 q(e7, e6, e15) = 1 q(e15, e6, e18) = 7q(e6, e7, e17) = 1 q(e8, e7, e18) = 3 q(e1, e8, e7) = 5q(e1, e8, e17) = 3 q(e7, e8, e14) = 6 q(e14, e8, e17) = 2q(e1, e9, e10) = 2 q(e2, e9, e13) = 2 q(e2, e10, e11) = 5q(e3, e10, e9) = 3 q(e3, e11, e12) = 7 q(e4, e11, e10) = 4q(e4, e12, e13) = 7 q(e5, e12, e11) = 4 q(e9, e13, e14) = 3q(e9, e13, e15) = 6 q(e12, e13, e14) = 1 q(e12, e13, e15) = 2q(e1, e14, e16) = 2 q(e8, e14, e13) = 4 q(e8, e14, e16) = 7q(e5, e15, e16) = 1 q(e6, e15, e13) = 2 q(e6, e15, e16) = 4q(e14, e16, e17) = 2 q(e14, e16, e18) = 3 q(e15, e16, e17) = 1q(e15, e16, e18) = 4 q(e7, e17, e16) = 1 q(e8, e17, e18) = 7q(e6, e18, e17) = 4 q(e7, e18, e16) = 3
of edges which include at least one edge belonging to F1. That is, costs
q(j, y1, y2) = q(e1, e2, e3) = 5 q(j, y1, t2) = q(e1, e2, e10) = 3
q(y2, y1, t1) = q(e3, e2, e9) = 4 q(y1, y2, y3) = q(e2, e3, e4) = 2
q(y1, y2, t3) = q(e2, e3, e11) = 1 q(y3, y2, t2) = q(e4, e3, e10) = 4
q(l, y3, y2) = q(e5, e4, e3) = 8 q(l, y3, t3) = q(e5, e4, e11) = 7
q(y2, y3, t4) = q(e3, e4, e12) = 5 q(j, t1, t2) = q(e1, e9, e10) = 2
q(k, t1, y1) = q(e13, e9, e2) = 2 q(y1, t2, t3) = q(e2, e10, e11) = 5
q(y2, t2, t1) = q(e3, e10, e9) = 3 q(y2, t3, t4) = q(e3, e11, e12) = 7
q(y3, t3, t2) = q(e4, e11, e10) = 4 q(k, t4, y3) = q(e13, e12, e4) = 7
q(l, t4, t3) = q(e5, e12, e11) = 4 q(α2, j, y1) = q(e14, e1, e2) = 7
q(α1, j, y1) = q(e8, e1, e2) = 2 q(α1, j, t1) = q(e8, e1, e9) = 1
q(α4, l, y3) = q(e15, e5, e4) = 3 q(y3, l, α3) = q(e4, e5, e6) = 5
q(t4, l, α3) = q(e12, e5, e6) = 3 q(t4, l, α4) = q(e12, e5, e15) = 4
q(t4, k, α4) = q(e12, e13, e15) = 2 q(α2, j, t1) = q(e9, e1, e14) = 3
q(t4, k, α2) = q(e12, e13, e14) = 1.
APPENDIX A. APPENDIX 1: EXAMPLES 108
v4
v5
v6
v7
v8
v9
v10
v11
v2 v1v3
j
y1
y2
y3
lα3
e7
α1
ke16
α2
α4
t1t2
t3
t4
e17
e18
F1
Figure A.17: H with F1 identified.
It is noted that F1 contains 5 nodes. The algorithm proceeds to calculate the following:
K = {j, y1, y2, y3, l},
q(K) = q(j, y1, y2) + q(y1, y2, y3) + q(y2, y3, l)
= 5 + 2 + 8 = 15,
Qjk = q(K) + q(y2, y3, t4) + q(y3, t4, k) − q(y2, y3, l)
= 15 + 5 + 7 − 8 = 19,
and
Qkl = q(K) + q(k, t1, y1) + q(t1, y1, y2) − q(j, y1, y2)
= 15 + 2 + 4 − 5 = 16.
Let P1 = j, t1, t2, y2, y3, l, P2 = j, y1, t2, t3, y3, l and P3 = j, y1, y2, t3, t4, l. Since this is the
APPENDIX A. APPENDIX 1: EXAMPLES 109
first iteration, all penalties are set to 0. The algorithm then calculates:
q13 = min{q(α1 − P1 − α3), q(α1 − P2 − α3), q(α1 − P3 − α3)}
= min{23, 26, 22}
= 22,
q14 = min{q(α1 − P1 − α4), q(α1 − P2 − α4), q(α1 − P3 − α4)}
= min{21, 24, 23}
= 21,
q23 = min{q(α2 − P1 − α3), q(α2 − P2 − α3), q(α2 − P3 − α3)}
= min{25, 31, 27}
= 25,
and
q24 = min{q(α2 − P1 − α4), q(α2 − P2 − α4), q(α2 − P3 − α4)}
= min{23, 29, 28}
= 23.
At this point F1 is contracted to vF1. The following penalties are set:
β(j′, l′, α1, α3) = q13 = 22 β(j′, l′, α1, α4) = q14 = 21
β(j′, l′, α2, α3) = q23 = 25 β(j′, l′, α2, α4) = q24 = 23
The algorithm assigns the following costs to the new triples in H(F1):
q′(α1, j′, k′) = q(α1, j, y1) +Qjk
= 2 + 19 = 21,
APPENDIX A. APPENDIX 1: EXAMPLES 110
q′(α2, j′, k′) = q(α2, j, y1) +Qjk
= 7 + 19 = 26,
q′(j′, k′, α2) = q(t4, k, α2) = 1,
q′(j′, k′, α4) = q(t4, k, α4) = 2,
q′(α2, k′, l′) = q(α2, k, t1) +Qkl
= 3 + 16 = 19,
q′(α4, k′, l′) = q(α4, k, t1) +Qkl
= 6 + 16 = 22,
q′(k′, l′, α3) = q(y3, l, α3) = 5,
and
q′(k′, l′, α4) = q(y3, l, α4) = 3.
Since H is not a wheel, the algorithm selects a fan to contract, say fan F2 with center
v2 and relabels the nodes and edges as in Figure A.18.
The costs which the algorithm will require to contract F2 are simply the costs of pairs
APPENDIX A. APPENDIX 1: EXAMPLES 111
v8
v9
v10
v11
v2 vF1v3
y1
y2
l
α1, α3
j
t2k
t1
t3
α2
α4
F2
Figure A.18: H(F1) with F2 identified.
of edges which include at least one edge belonging to F2. That is, costs
q(α1, j, t1) = 6 q(α1, j, y1) = 5 q(α2, j, t1) = 2
q(α2, j, y1) = 3 q(j, t1, t2) = 4 q(j, t1, k) = 7
q(y1, t1, k) = 2 q(j, t1, t2) = 4 q(t1, t2, y2) = 19
q(y1, t2, t3) = 2 q(y2, t3, k) = 1 q(t2, t3, l) = 2
q(k, t3, l) = 4 q(j, y1, y2) = 0 q(j, y1, t2) = 21
q(t1, y1, y2) = 0 q(y1, y2, t3) = 0 q(y1, y2, l) = 0
q(l, y2, t2) = 5 q(α3, l, t3) = 1 q(α3, l, y2) = 2
q(α4, l, t3) = 7 q(α4, l, y2) = 3.
It is noted that F2 contains 4 nodes. The algorithm proceeds to calculate the following:
K = {j, y1, y2, l},
q(K) = q(j, y1, y2) + q(y1, y2, l)
= 0 + 0 = 0,
APPENDIX A. APPENDIX 1: EXAMPLES 112
Qjk = q(K) + q(y1, y2, t3) + q(y2, t3, k) − q(y1, y2, l) + β(y1, y2, j, t3)
= 0 + 0 + 1 − 0 + 21 = 22,
and
Qkl = q(K) + q(k, t1, y1) + q(t1, y1, y2) − q(j, y1, y2) + β(y1, y2, t1, l)
= 0 + 2 + 0 − 0 + 25 = 27.
Let P1 = j, t1, t2, y2, l, and P2 = j, y1, t2, t3, l. Note that the only pseudonode is vF1, and
that neither P1 nor P2 contains both y1, y2. Hence, the penalties will not contribute. The
algorithm then calculates:
q13 = min{q(α1 − P1 − α3), q(α1 − P2 − α3)}
= min{36, 31}
= 31,
q14 = min{q(α1 − P1 − α4), q(α1 − P2 − α4)}
= min{37, 37}
= 37,
q23 = min{q(α2 − P1 − α3), q(α2 − P2 − α3)}
= min{32, 29}
= 29,
and
q24 = min{q(α2 − P1 − α4), q(α2 − P2 − α4)}
= min{33, 35}
= 33.
APPENDIX A. APPENDIX 1: EXAMPLES 113
At this point F2 is contracted to vF2. The following penalties are set:
β(j′, l′, α1, α3) = q13 = 31, β(j′, l′, α1, α4) = q14 = 37
β(j′, l′, α2, α3) = q23 = 29, β(j′, l′, α2, α4) = q24 = 33
The algorithm assigns the following costs to the new triples in H(F1):
q′(α1, j′, k′) = q(α1, j, y1) +Qjk
= 5 + 22 = 27,
q′(α2, j′, k′) = q(α2, j, y1) +Qjk
= 3 + 22 = 25,
q′(j′, k′, α2) = q(t3, k, α2) = 1,
q′(j′, k′, α4) = q(t3, k, α4) = 4,
q′(α2, k′, l′) = q(α2, k, t1) +Qkl
= 2 + 27 = 29,
q′(α4, k′, l′) = q(α4, k, t1) +Qkl
= 3 + 27 = 30,
q′(k′, l′, α3) = q(y2, l, α3) = 2,
APPENDIX A. APPENDIX 1: EXAMPLES 114
and
q′(k′, l′, α4) = q(y2, l, α4) = 3.
The algorithm check if H is a wheel, which is now true. The nodes and edges are
relabeled as in Figure A.19.
v10
v11
vF2v3
c3
c1
c2
t3t2
t1
Figure A.19: Wheel Hw which H reduces to.
The costs which the algorithm will require to define φ3(e) for e ∈ C are costs
q(c2, c1, t1) = q(e8, e7, e18) = 3 q(t2, c1, c3) = q(e6, e7, e17) = 1
q(c1, c2, t3) = 27 q(c3, c2, t2) = 0
q(c1, c3, t3) = 2 q(c2, c3, t1) = 0
q(c1, t1, t3) = q(e7, e18, e16) = 3 q(c3, t1, t2) = q(e6, e18, e17) = 4
q(c1, t2, t3) = q(e7, e17, e16) = 1 q(c2, t2, t1) = q(e8, e17, e18) = 7
q(c2, t3, t1) = 4 q(c3, t3, t2) = 29
It is noted that there are 3 cycle edges in wheel Hw. The algorithm proceeds to calculate:
φ(c1) = q(c3, t1, t2) + q(t1, t2, c2) + q(t2, c2, c3) + q(c2, c3, t1) + β(c2, c3, t1, t2)
= 4 + 7 + 0 + 0 + 33
= 44.
APPENDIX A. APPENDIX 1: EXAMPLES 115
φ(c2) = q(c1, t2, t3) + q(t2, t3, c3) + q(t3, c3, c1) + q(c3, c1, t2)
= 1 + 29 + 2 + 1
= 33.
φ(c3) = q(c2, t3, t1) + q(t3, t1, c1) + q(t1, c1, c2) + q(c1, c2, t3)
= 4 + 3 + 3 + 27
= 37.
Clearly φ(c2) minimizes φ, so the optimal tour in Hw is with cost φ(c2) = 33. Refer to
Figure A.20.
v10
v11
vF2v3
c3
c1
c2
t3t2
t1
Figure A.20: Optimal tour τ∗ in Hw.
The algorithm expands fan in the reverse order that they were contracted and obtains
the optimal solution depicted in Figure A.21.
APPENDIX A. APPENDIX 1: EXAMPLES 116
v4
v5
v6
v7
v8
v9
v10
v11
v2 v1v3
e1
e2
e3
e4
e5e6
e7
e8
e13e16
e14
e15
e9e10
e11
e12
e17
e18
Figure A.21: Example Halin graph H.
APPENDIX A. APPENDIX 1: EXAMPLES 117
A.5 Solving TSP(3) on a balanced bottleneck cost Halin graph
Table A.5: 3-Neighbor Costs in balanced bottleneck cost Halin graph Hq(e2, e1, e4) = 1 q(e2, e1, e5) = 1 q(e5, e1, e10) = 2q(e1, e2, e3) = 2 q(e1, e2, e9) = 3 q(e3, e2, e10) = 4q(e9, e2, e10) = 1 q(e2, e3, e11) = 3 q(e2, e3, e19) = 5q(e9, e3, e11) = 6 q(e1, e4, e7) = 7 q(e5, e4, e6) = 8q(e1, e5, e7) = 9 q(e4, e5, e8) = 2 q(e4, e6, e9) = 4q(e7, e6, e9) = 6 q(e4, e6, e19) = 4 q(e7, e6, e19) = 1q(e4, e7, e8) = 8 q(e5, e7, e6) = 1 q(e7, e8, e12) = 5q(e5, e8, e12) = 3 q(e7, e8, e15) = 7 q(e5, e8, e15) = 6q(e2, e9, e6) = 1 q(e2, e9, e19) = 9 q(e3, e9, e6) = 2q(e1, e10, e15) = 5 q(e1, e10, e18) = 6 q(e2, e10, e15) = 2q(e2, e10, e18) = 7 q(e3, e11, e18) = 5 q(e3, e11, e14) = 5q(e14, e11, e19) = 6 q(e18, e11, e19) = 4 q(e8, e12, e13) = 5q(e8, e12, e16) = 2 q(e13, e12, e15) = 4 q(e12, e13, e14) = 2q(e12, e13, e17) = 4 q(e14, e13, e16) = 8 q(e11, e14, e13) = 8q(e11, e14, e17) = 7 q(e13, e14, e18) = 5 q(e8, e15, e16) = 1q(e10, e15, e12) = 2 q(e12, e16, e17) = 3 q(e13, e16, e15) = 4q(e13, e17, e18) = 5 q(e14, e17, e16) = 4 q(e10, e18, e11) = 7q(e10, e18, e14) = 7 q(e11, e18, e17) = 6 q(e3, e19, e6) = 5q(e9, e19, e11) = 9
Let H be the Halin graph in Figure A.9 with costs on pairs of adjacent edges as in
Table A.5.
All other costs can be assumed to be 0 without loss of generality as they cannot belong
to any tour in H.
Initially, since H is not a wheel, the algorithm selects a fan to contract, say fan F1 with
center v1 and relabels the nodes and edges as in Figure A.10.
The costs which the algorithm will require to contract F1 are simply the costs of pairs
APPENDIX A. APPENDIX 1: EXAMPLES 118
of edges which include at least one edge belonging to F1. That is, costs
q(j, y1, y2) = q(e8, e12, e13) = 5 q(j, y1, t2) = q(e8, e12, e16) = 2
q(y2, y1, t1) = q(e13, e12, e15) = 4 q(y1, y2, y3) = q(e12, e13, e14) = 2
q(y1, y2, t3) = q(e12, e13, e17) = 4 q(y3, y2, t2) = q(e14, e13, e16) = 8
q(l, y3, y2) = q(e11, e14, e13) = 8 q(l, y3, t3) = q(e11, e14, e17) = 7
q(y2, y3, t4) = q(e13, e14, e18) = 5 q(j, t1, t2) = q(e8, e15, e16) = 1
q(k, t1, y1) = q(e10, e15, e12) = 2 q(y1, t2, t3) = q(e12, e16, e17) = 3
q(y2, t2, t1) = q(e13, e16, e15) = 4 q(y2, t3, t4) = q(e13, e17, e18) = 5
q(y3, t3, t2) = q(e14, e17, e16) = 4 q(k, t4, y3) = q(e10, e18, e14) = 7
q(l, t4, t3) = q(e11, e18, e17) = 6 q(α2, j, y1) = q(e5, e8, e12) = 3
q(α1, j, y1) = q(e7, e8, e12) = 5 q(α1, j, t1) = q(e7, e8, e15) = 7
q(e1, k, t1) = q(e1, e10, e15) = 5 q(e2, k, t4) = q(e2, e10, e18) = 7
q(α4, l, y3) = q(e3, e11, e14) = 5 q(y3, l, α3) = q(e14, e11, e19) = 6
q(t4, l, α3) = q(e18, e11, e19) = 4 q(t4, l, α4) = q(e3, e11, e18) = 5
q(t4, k, α1) = q(e1, e10, e18) = 6 q(e2, k, t1) = q(e2, e10, e15) = 2
q(α2, j, t1) = q(e5, e8, e15) = 6.
It is noted that F1 contains 5 nodes. The algorithm proceeds to calculate the following:
Qjk = max{q(j, y1, y2), q(y1, y2, y3), q(y2, y3, t4), q(y3, t4, k)}
= max{5, 2, 5, 7} = 7,
and
Qkl = max{q(k, t1, y1), q(t1, y1, y2), q(y1, y2, y3), q(y2, y3, l)}
= max{2, 4, 2, 8} = 8.
Let P1 = j, t1, t2, y2, y3, l, P2 = j, y1, t2, t3, y3, l and P3 = j, y1, y2, t3, t4, l. The algorithm
then calculates:
qmax13 = min{qmax(α1 − P1 − α3), qmax(α1 − P2 − α3), qmax(α1 − P3 − α3)}
= min{8, 7, 6} = 6,
APPENDIX A. APPENDIX 1: EXAMPLES 119
qmax14 = min{qmax(α1 − P1 − α4), qmax(α1 − P2 − α4), qmax(α1 − P3 − α4)}
= min{8, 7, 6} = 6,
qmax23 = min{qmax(α2 − P1 − α3), qmax(α2 − P2 − α3), qmax(α2 − P3 − α3)}
= min{8, 7, 6} = 6,
and
qmax24 = min{qmax(α2 − P1 − α4), qmax(α2 − P2 − α4), qmax(α2 − P3 − α4)}
= min{8, 7, 6} = 6.
At this point F1 is contracted, and the costs in H(F1) must be assigned. That is, all
triples that do not contain 2 edges selected from {j′, k′, l′} remain the same as in H. The
algorithm sets:
q′(α1, j′, k′) = max{q(α1, j, y1), Qjk}
= max{5, 7} = 7,
q′(α2, j′, k′) = max{q(α2, j, y1), Qjk}
= max{3, 7} = 7,
q′(j′, k′, e1) = q(t4, k, e1) = 6,
q′(j′, k′, e2) = q(t4, k, e2) = 7,
q′(e1, k′, l′) = max{q(e1, k, t1), Qkl}
= max{5, 8} = 8,
APPENDIX A. APPENDIX 1: EXAMPLES 120
q′(e2, k′, l′) = max{q(e2, k, t1), Qkl}
= max{2, 8} = 8,
q′(k′, l′, α3) = q(y3, l, α3) = 6,
and
q′(k′, l′, α4) = q(y3, l, α4) = 5.
Solving the system of equations,
q′(α1, j′, l′) = 6, q′(α2, j
′, l′) = 6
q′(j′, l′, α3) = 0, q′(j′, l′, α4) = 0.
Since H is not a wheel, the algorithm selects a fan to contract, say fan F2 with center
v2 and relabels the nodes and edges as in Figure A.11.
The costs which the algorithm will require to contract F2 are simply the costs of pairs
of edges which include at least one edge belonging to F2. That is, costs
q(α1, j, t1) = q(j′, l′, α4) = 0 q(α1, j, y1) = q(j′, l′, α3) = 0
q(α2, j, t1) = q(k′, l′, α4) = 5 q(α2, j, y1) = q(k′, l′, α3) = 6
q(j, t1, t2) = q(e9, e3, e11) = 6 q(j, t1, k) = q(e2, e3, e11) = 3
q(y1, t1, k) = q(e2, e3, e19) = 5 q(t1, t2, l) = q(e3, e9, e6) = 2
q(k, t2, l) = q(e2, e9, e6) = 1 q(y1, t2, k) = q(e3, e9, e6) = 9
q(j, y1, t2) = q(e9, e19, e11) = 9 q(j, y1, l) = q(e6, e19, e11) = 2
q(t1, y1, l) = q(e3, e19, e6) = 5 q(t2, l, α3) = q(e7, e6, e9) = 6
q(t2, l, α4) = q(e9, e6, e4) = 4 q(y1, l, α3) = q(e7, e6, e19) = 1
q(y1, l, α4) = q(e4, e6, e19) = 4 q(e1, k, t1) = q(e1, e2, e3) = 2
q(e1, k, t2) = q(e1, e2, e9) = 3 q(α2, k, t1) = q(e3, e2, e10) = 4
q(α2, k, t2) = q(e9, e2, e10) = 1.
APPENDIX A. APPENDIX 1: EXAMPLES 121
It is noted that F1 contains 3 nodes. The algorithm proceeds to calculate the following:
Qjk = max{q(j, y1, t2), q(t1, t2, l)}
= max{9, 2} = 9,
and
Qkl = max{q(k, t1, y1), q(t1, y1, l)}
= max{5, 5} = 5.
q13 = max{q(α1, j, t1), q(j, t1, t2), q(t1, t2, l), q(t2, l, α3)}
= max{0, 6, 2, 6} = 6,
q14 = max{q(α1, j, t1), q(j, t1, t2), q(t1, t2, l), q(t2, l, α4)}
= max{0, 6, 2, 4} = 6,
q23 = max{q(α2, j, t1), q(j, t1, t2), q(t1, t2, l), q(t2, l, α3)}
= max{5, 6, 2, 6} = 6,
and
q24 = max{q(α2, j, t1), q(j, t1, t2), q(t1, t2, l), q(t2, l, α4)}
= max{5, 6, 2, 4} = 6.
At this point F2 is contracted, and the costs in H(F2) must be assigned. That is, all
triples that do not contain 2 edges selected from {j′, k′, l′} remain the same as in H. The
algorithm sets:
q′(α1, j′, k′) = max{q(α1, j, y1), Qjk}
= max{2, 9} = 9,
APPENDIX A. APPENDIX 1: EXAMPLES 122
q′(α2, j′, k′) = max{q(α2, j, y1), Qjk}
= max{6, 9} = 9,
q′(j′, k′, e1) = q(t2, k, e1) = 3,
q′(j′, k′, α2) = q(t2, k, α2) = 1,
q′(e1, k′, l′) = max{q(e1, k, t1), Qkl}
= max{2, 5} = 5,
q′(α2, k′, l′) = max{q(α2, k, t1), Qkl}
= max{4, 5} = 5,
q′(k′, l′, α3) = q(y1, l, α3) = 1,
and
q′(k′, l′, α4) = q(y1, l, α4) = 4.
Solving the system of equations,
q′(α1, j′, l′) = 6, q′(α2, j
′, l′) = 6
q′(j′, l′, α3) = 0, q′(j′, l′, α4) = 0.
Since H is not a wheel, the algorithm selects a fan to contract, say fan F3 with center
v3 and relabels the nodes and edges as in Figure A.12.
APPENDIX A. APPENDIX 1: EXAMPLES 123
q(α1, j, t1) = 0 q(α1, j, y1) = 0 q(α2, j, t1) = 5
q(α2, j, y1) = 6 q(j, t1, t2) = 7 q(j, t1, k) = 6
q(y1, t1, k) = 8 q(t1, t2, l) = 5 q(k, t2, l) = 8
q(y1, t2, k) = 3 q(j, y1, t2) = 9 q(j, y1, l) = 6
q(t1, y1, l) = 6 q(t2, l, α3) = 1 q(t2, l, α4) = 4
q(y1, l, α3) = 0 q(y1, l, α4) = 0 q(α2, k, t1) = 2
q(α2, k, t2) = 1.
Qjk = max{q(j, t1, t2), q(t1, t2, l)}
= max{7, 5} = 7,
and
Qkl = max{q(k, t1, y1), q(t1, y1, l)}
= max{8, 6} = 8.
q13 = max{q(α1, j, t1), q(j, t1, t2), q(t1, t2, l), q(t2, l, α3)}
= max{0, 7, 4, 1} = 7,
q14 = max{q(α1, j, t1), q(j, t1, t2), q(t1, t2, l), q(t2, l, α4)}
= max{0, 7, 4, 4} = 7,
q23 = max{q(α2, j, t1), q(j, t1, t2), q(t1, t2, l), q(t2, l, α3)}
= max{5, 7, 4, 1} = 7,
and
q24 = max{q(α2, j, t1), q(j, t1, t2), q(t1, t2, l), q(t2, l, α4)}
= max{5, 7, 4, 4} = 7.
APPENDIX A. APPENDIX 1: EXAMPLES 124
At this point F2 is contracted, and the costs in H(F2) must be assigned. That is, all
triples that do not contain 2 edges selected from {j′, k′, l′} remain the same as in H. The
algorithm sets:
q′(α1, j′, k′) = max{q(α1, j, y1), Qjk}
= max{0, 7} = 7,
q′(α2, j′, k′) = max{q(α2, j, y1), Qjk}
= max{6, 7} = 7,
q′(j′, k′, α4) = q(t2, k, e1) = 3,
q′(j′, k′, α2) = q(t2, k, α2) = 1,
q′(e1, k′, l′) = max{q(e1, k, t1), Qkl}
= max{2, 8} = 8,
q′(α2, k′, l′) = max{q(α2, k, t1), Qkl}
= max{4, 8} = 8,
q′(k′, l′, α3) = q(y1, l, α3) = 0,
and
q′(k′, l′, α4) = q(y1, l, α4) = 0.
APPENDIX A. APPENDIX 1: EXAMPLES 125
Solving the system of equations,
q′(α1, j′, l′) = 7, q′(α2, j
′, l′) = 7
q′(j′, l′, α3) = 0, q′(j′, l′, α4) = 0.
The algorithm check if H is a wheel, which is now true. The nodes and edges are
relabeled as in Figure A.13.
The costs which the algorithm will require to define φ3(e) for e ∈ C are costs
q(c2, c1, t1) = q(e4, e7, e8) = 8 q(t2, c1, c3) = q(e5, e7, e6) = 1
q(c1, c2, t3) = 7 q(c3, c2, t2) = 7
q(c1, c3, t3) = 1 q(c2, c3, t1) = 0
q(c1, t1, t3) = q(e1, e4, e7) = 7 q(c3, t1, t2) = q(e5, e4, e6) = 8
q(c1, t2, t3) = q(e1, e5, e7) = 9 q(c2, t2, t1) = q(e4, e5, e8) = 2
q(c2, t3, t1) = 3 q(c3, t3, t2) = 5.
It is noted that there are 3 cycle edges in wheel Hw. The algorithm proceeds to calculate:
ψ(c1) = max{q(c3, t1, t2), q(t1, t2, c2), q(t2, c2, c3), q(c2, c3, t1)}
= max{8, 2, 7, 0}
= 8.
ψ(c2) = max{q(c1, t2, t3), q(t2, t3, c3), q(t3, c3, c1), q(c3, c1, t2)}
= max{9, 8, 1, 1}
= 9.
ψ(c3) = max{q(c2, t3, t1), q(t3, t1, c1), q(t1, c1, c2), q(c1, c2, t3)}
= max{3, 7, 8, 7}
= 8.
Clearly ψ(c1) minimizes ψ, so the optimal tour in Hw is with cost φ(c2) = 8. Refer to
Figure A.22.
APPENDIX A. APPENDIX 1: EXAMPLES 126
v9
v10
vF3
v11
c1
c2
c3t3
t1
t2
Figure A.22: Optimal tour τ∗ in Hw.
The algorithm expands fan in the reverse order that they were contracted and obtains
the optimal solution depicted in Figure A.23.
APPENDIX A. APPENDIX 1: EXAMPLES 127
v4v5
v6
v7
v8
v9
v10
v12
v3
v1
v11
v2
e12
e13
e14
e11
e19
e7
e8
e6
e15
e17
e18
e16
e10
e2
e9
e1
e4
e5
e3
Figure A.23: Optimal tour τ in H.
APPENDIX A. APPENDIX 1: EXAMPLES 128
A.6 Solving BTSP(3) on a spacious Halin graph
Let H be the Halin graph in Figure A.16 with the costs on pairs of adjacent edges as in
Table A.6.
Table A.6: 3-Neighbor Costs in spacious Halin graph Hq(e2, e1, e8) = 2 q(e2, e1, e14) = 9 q(e8, e1, e9) = 1q(e9, e1, e14) = 3 q(e1, e2, e3) = 5 q(e1, e2, e10) = 3q(e3, e2, e9) = 4 q(e2, e3, e4) = 2 q(e2, e3, e11) = 1q(e4, e3, e10) = 4 q(e3, e4, e5) = 8 q(e3, e4, e12) = 5q(e5, e4, e11) = 7 q(e4, e5, e6) = 5 q(e4, e5, e15) = 3q(e6, e5, e12) = 3 q(e12, e5, e15) = 4 q(e5, e6, e7) = 2q(e5, e6, e18) = 3 q(e7, e6, e15) = 1 q(e15, e6, e18) = 7q(e6, e7, e17) = 1 q(e8, e7, e18) = 3 q(e1, e8, e7) = 5q(e1, e8, e17) = 3 q(e7, e8, e14) = 6 q(e14, e8, e17) = 2q(e1, e9, e10) = 2 q(e2, e9, e13) = 2 q(e2, e10, e11) = 5q(e3, e10, e9) = 3 q(e3, e11, e12) = 7 q(e4, e11, e10) = 4q(e4, e12, e13) = 7 q(e5, e12, e11) = 4 q(e9, e13, e14) = 3q(e9, e13, e15) = 6 q(e12, e13, e14) = 1 q(e12, e13, e15) = 2q(e1, e14, e16) = 2 q(e8, e14, e13) = 4 q(e8, e14, e16) = 7q(e5, e15, e16) = 1 q(e6, e15, e13) = 2 q(e6, e15, e16) = 4q(e14, e16, e17) = 2 q(e14, e16, e18) = 3 q(e15, e16, e17) = 1q(e15, e16, e18) = 4 q(e7, e17, e16) = 1 q(e8, e17, e18) = 7q(e6, e18, e17) = 4 q(e7, e18, e16) = 3
All other costs can be assumed to be 0 without loss of generality as they cannot belong
to any tour in H. All penalties at outer nodes are initialized to 0.
Initially, since H is not a wheel, the algorithm selects a fan to contract, say fan F1 with
center v1 and relabels the nodes and edges as in Figure A.17.
The costs which the algorithm will require to contract F1 are simply the costs of pairs
APPENDIX A. APPENDIX 1: EXAMPLES 129
of edges which include at least one edge belonging to F1. That is, costs
q(j, y1, y2) = q(e1, e2, e3) = 5 q(j, y1, t2) = q(e1, e2, e10) = 3
q(y2, y1, t1) = q(e3, e2, e9) = 4 q(y1, y2, y3) = q(e2, e3, e4) = 2
q(y1, y2, t3) = q(e2, e3, e11) = 1 q(y3, y2, t2) = q(e4, e3, e10) = 4
q(l, y3, y2) = q(e5, e4, e3) = 8 q(l, y3, t3) = q(e5, e4, e11) = 7
q(y2, y3, t4) = q(e3, e4, e12) = 5 q(j, t1, t2) = q(e1, e9, e10) = 2
q(k, t1, y1) = q(e13, e9, e2) = 2 q(y1, t2, t3) = q(e2, e10, e11) = 5
q(y2, t2, t1) = q(e3, e10, e9) = 3 q(y2, t3, t4) = q(e3, e11, e12) = 7
q(y3, t3, t2) = q(e4, e11, e10) = 4 q(k, t4, y3) = q(e13, e12, e4) = 7
q(l, t4, t3) = q(e5, e12, e11) = 4 q(α2, j, y1) = q(e14, e1, e2) = 9
q(α1, j, y1) = q(e8, e1, e2) = 2 q(α1, j, t1) = q(e8, e1, e9) = 1
q(α4, l, y3) = q(e15, e5, e4) = 3 q(y3, l, α3) = q(e4, e5, e6) = 5
q(t4, l, α3) = q(e12, e5, e6) = 3 q(t4, l, α4) = q(e12, e5, e15) = 4
q(t4, k, α4) = q(e12, e13, e15) = 2 q(α2, j, t1) = q(e9, e1, e14) = 3
q(t4, k, α2) = q(e12, e13, e14) = 1.
It is noted that F1 contains 5 nodes. The algorithm proceeds to calculate the following:
Qjk = max{q(j, y1, y2), q(y1, y2, y3), q(y2, y3, t4), q(y3, t4, k)}
= max{5, 2, 5, 7} = 7,
and
Qkl = max{q(k, t1, y1), q(t1, y1, y2), q(y1, y2, y3), q(y2, y3, l)
= max{2, 4, 2, 8} = 8.
Let P1 = j, t1, t2, y2, y3, l, P2 = j, y1, t2, t3, y3, l and P3 = j, y1, y2, t3, t4, l. Since this is the
first iteration, all penalties are set to 0. The algorithm then calculates:
qmax13 = min{qmax(α1 − P1 − α3), qmax(α1 − P2 − α3), qmax(α1 − P3 − α3)}
= min{8, 7, 7} = 7,
APPENDIX A. APPENDIX 1: EXAMPLES 130
qmax14 = min{qmax(α1 − P1 − α4), qmax(α1 − P2 − α4), qmax(α1 − P3 − α4)}
= min{8, 7, 7} = 7,
qmax23 = min{qmax(α2 − P1 − α3), qmax(α2 − P2 − α3), qmax(α2 − P3 − α3)}
= min{8, 9, 9} = 8,
and
qmax24 = min{qmax(α2 − P1 − α4), qmax(α2 − P2 − α4), qmax(α2 − P3 − α4)}
= min{8, 9, 9} = 8.
At this point F1 is contracted to vF1. The following penalties are set:
β(j′, l′, α1, α3) = qmax13 = 7 β(j′, l′, α1, α4) = qmax
14 = 7
β(j′, l′, α2, α3) = qmax23 = 8 β(j′, l′, α2, α4) = qmax
24 = 8.
The algorithm assigns the following costs to the new triples in H(F1):
q′(α1, j′, k′) = max{q(α1, j, y1), Qjk}
= max{2, 7} = 7,
q′(α2, j′, k′) = max{q(α2, j, y1), Qjk}
= max{9, 7} = 9,
q′(j′, k′, α2) = q(t4, k, α2) = 1,
q′(j′, k′, α4) = q(t4, k, α4) = 2,
APPENDIX A. APPENDIX 1: EXAMPLES 131
q′(α2, k′, l′) = max{q(α2, k, t1), Qkl}
= max{3, 8} = 8,
q′(α4, k′, l′) = max{q(α4, k, t1), Qkl}
= max{6, 8} = 8,
q′(k′, l′, α3) = q(y3, l, α3) = 5,
and
q′(k′, l′, α4) = q(y3, l, α4) = 3.
Since H is not a wheel, the algorithm selects a fan to contract, say fan F2 with center
v2 and relabels the nodes and edges as in Figure A.18.
The costs which the algorithm will require to contract F2 are simply the costs of pairs
of edges which include at least one edge belonging to F2. That is, costs
q(α1, j, t1) = 6 q(α1, j, y1) = 5 q(α2, j, t1) = 2
q(α2, j, y1) = 3 q(j, t1, t2) = 4 q(j, t1, k) = 7
q(y1, t1, k) = 2 q(j, t1, t2) = 4 q(t1, t2, y2) = 8
q(y1, t2, t3) = 2 q(y2, t3, k) = 1 q(t2, t3, l) = 2
q(k, t3, l) = 4 q(j, y1, y2) = 0 q(j, y1, t2) = 7
q(t1, y1, y2) = 0 q(y1, y2, t3) = 0 q(y1, y2, l) = 0
q(l, y2, t2) = 5 q(α3, l, t3) = 1 q(α3, l, y2) = 2
q(α4, l, t3) = 7 q(α4, l, y2) = 3.
It is noted that F2 contains 4 nodes. The algorithm proceeds to calculate the following:
Qjk = max{q(j, y1, y2), q(y1, y2, t3), q(y2, t3, k), β(y1, y2, j, t3)}
= max{0, 0, 1, 7} = 7,
APPENDIX A. APPENDIX 1: EXAMPLES 132
and
Qkl = max{q(k, t1, y1), q(t1, y1, y2), q(y1, y2, l), β(y1, y2, t1, l)}
= max{0, 2, 0, 8} = 8.
Let P1 = j, t1, t2, y2, l, and P2 = j, y1, t2, t3, l. Note that the only pseudonode is vF1, and
that neither P1 nor P2 contains both y1, y2. Hence, the penalties will not contribute. The
algorithm then calculates:
q13 = min{q(α1 − P1 − α3), q(α1 − P2 − α3)}
= min{8, 7} = 7,
q14 = min{q(α1 − P1 − α4), q(α1 − P2 − α4)}
= min{8, 7} = 7,
q23 = min{q(α2 − P1 − α3), q(α2 − P2 − α3)}
= min{8, 7} = 7,
and
q24 = min{q(α2 − P1 − α4), q(α2 − P2 − α4)}
= min{8, 7} = 7.
At this point F2 is contracted to vF2. The following penalties are set:
β(j′, l′, α1, α3) = q13 = 7, β(j′, l′, α1, α4) = q14 = 7
β(j′, l′, α2, α3) = q23 = 7, β(j′, l′, α2, α4) = q24 = 7.
APPENDIX A. APPENDIX 1: EXAMPLES 133
The algorithm assigns the following costs to the new triples in H(F1):
q′(α1, j′, k′) = max{q(α1, j, y1), Qjk}
= max{5, 7} = 7,
q′(α2, j′, k′) = max{q(α2, j, y1), Qjk}
= max{3, 7} = 7,
q′(j′, k′, α2) = q(t3, k, α2) = 1,
q′(j′, k′, α4) = q(t3, k, α4) = 4,
q′(α2, k′, l′) = max{q(α2, k, t1), Qkl}
= max{2, 8} = 8,
q′(α4, k′, l′) = max{q(α4, k, t1), Qkl}
= max{3, 8} = 8,
q′(k′, l′, α3) = q(y2, l, α3) = 2,
and
q′(k′, l′, α4) = q(y2, l, α4) = 3.
The algorithm check if H is a wheel, which is now true. The nodes and edges are
relabeled as in Figure A.19.
APPENDIX A. APPENDIX 1: EXAMPLES 134
The costs which the algorithm will require to define φ3(e) for e ∈ C are costs
q(c2, c1, t1) = q(e8, e7, e18) = 3 q(t2, c1, c3) = q(e6, e7, e17) = 1
q(c1, c2, t3) = 7 q(c3, c2, t2) = 0
q(c1, c3, t3) = 2 q(c2, c3, t1) = 0
q(c1, t1, t3) = q(e7, e18, e16) = 3 q(c3, t1, t2) = q(e6, e18, e17) = 4
q(c1, t2, t3) = q(e7, e17, e16) = 1 q(c2, t2, t1) = q(e8, e17, e18) = 7
q(c2, t3, t1) = 4 q(c3, t3, t2) = 8.
It is noted that there are 3 cycle edges in wheel Hw. The algorithm proceeds to calculate:
ψP(c1) = max{q(c3, t1, t2), q(t1, t2, c2), q(t2, c2, c3), q(c2, c3, t1), β(c2, c3, t1, t2)}
= max{4, 7, 0, 0, 7} = 7.
ψ(c2)P = max{q(c1, t2, t3), q(t2, t3, c3), q(t3, c3, c1), q(c3, c1, t2)}
= max{1, 8, 2, 1} = 8.
ψP (c3) = max{q(c2, t3, t1), q(t3, t1, c1), q(t1, c1, c2), q(c1, c2, t3)}
= max{4, 3, 3, 7} = 7.
Clearly ψP(c1) minimizes φ, so the optimal tour inHw is with bottleneck cost ψP(c1) = 7.
Refer to Figure A.24.
The algorithm expands fan in the reverse order that they were contracted and obtains
the optimal solution depicted in Figure A.25. Note that qmax24 = 7 gives that y2 is skipped
in F2.
APPENDIX A. APPENDIX 1: EXAMPLES 135
v10
v11
vF2v3
c3
c1
c2
t3t2
t1
Figure A.24: Optimal tour τ∗ in Hw.
v4
v5
v6
v7
v8
v9
v10
v11
v2 v1v3
e1
e2
e3
e4
e5e6
e7
e8
e13e16
e14
e15
e9e10
e11
e12
e17
e18
Figure A.25: Example Halin graph H.
Bibliography
[1] P. Abraham and M. B. Richey. Minimum perfect bipartite matchings and spanningtrees under categorization. Discrete Applied Mathematics, 39(2):147–153, 1992.
[2] V. Aggarwal, Y. P. Aneja, and K. P. K. Nair. Minimal spanning tree subject to a sideconstraint. Computers and Operations Research, 9(4):287 – 296, 1982.
[3] R. K. Ahuja, O. Ergun, J. B. Orlin, and A. P. Punnen. A survey of very large-scaleneighborhood search techniques. Discrete Applied Mathematics, 123(1-3):75 – 102,2002.
[4] E. M. Arkin, Y. Chiang, J. S. B. Mitchell, S. S. Skiena, and T. Yang. On the maximumscatter tsp. In SODA ’97: Proceedings of the eighth annual ACM-SIAM symposium onDiscrete algorithms, pages 211–220, Philadelphia, PA, USA, 1997. Society for Industrialand Applied Mathematics.
[5] E. M. Arkin, Chiang Y. J., J. S. B. Mitchell, S. S. Skiena, and T. Yang. On the maxi-mum scatter traveling salesperson problem. SIAM Journal on Computing, 29(2):515 –544, 1999.
[6] S. Arnborg and A. Proskurowski. Linear time algorithms for np-hard problems re-stricted to partial k-trees. Discrete Applied Mathematics, 23(1):11–24, April 1989.
[7] I. Averbakh, O. Berman, and A. P. Punnen. Constrained matroidal bottleneck prob-lems. Discrete Appl. Math., 63(3):201–214, 1995.
[8] F. Barahona and W. R. Pulleyblank. Exact arborescences, matchings and cycles. Dis-crete Applied Mathematics, 16(2):91 – 99, 1987.
[9] C. A. Barefoot. Hamiltonian connectivity of the halin graphs. Congressus Numeran-tium, 58:93–102, 1987.
[10] C. A. Barefoot. 4-connected halin graphs are 2-hamiltonian connected. Ars Combina-toria, 35(A):109–128, 1993.
[11] O. Berman, D. Einav, and G. Handler. The constrained bottleneck problem in networks.Operations Research, 38(1):178–181, 1990.
136
BIBLIOGRAPHY 137
[12] D. Bienstock and C. L. Monma. On the complexity of covering vertices by faces in aplanar graph. SIAM Journal on Computing, 17(1):53–76, 1988.
[13] H. L. Bodlaender. A tourist guide through treewidth. Acta Cybernetica, 11:1–23, 1993.
[14] J. A. Bondy and L. Lovasz. Lengths of cycles in halin graphs. Journal of Graph Theory,9:3:397–410, 1985.
[15] J.A. Bondy. Pancyclic graphs: recent results. Infinite and Finite Sets 1, Colloq. Math.Soc. Janos Bolyai, 10:181–187, 1975.
[16] R. B. Borie, R. G. Parker, and C. A. Tovey. Deterministic dcomposition of recursivegraph classes. SIAM Journal on Discrete Mathematics, 4(4):481–501, 1991.
[17] R. B. Borie, R. G. Parker, and C. A. Tovey. Automatic generation of linear-timealgorithms from predicate calculus descriptions of problems on recursively constructedgraph families. Algorithmica, 7(1):555–581, 06 1992.
[18] W. H. Chan, P. C. B. Lam, and W. C. Shiu. Edge-face total chromatic number of halingraphs. SIAM Journal on Discrete Mathematics, 23(3):1646–1654, 2009.
[19] S. L. Chandran, M. C. Francis, and Santhosh Suresh. Boxicity of halin graphs. DiscreteMathematics, 2009.
[20] G. Chen and R. E. Burkard. Constrained steiner trees in halin graphs. RAIRO Oper.Res., 37:179–194, 2003.
[21] D. Cheriton and R. E. Tarjan. Finding minimum spanning trees. SIAM Journal onComputing, 5(4):724–742, 1976.
[22] W. Chin and S. Ntafos. Optimum watchman routes. In Proceedings of the secondannual symposium on Computational geometry, pages 24–33. ACM, 1986.
[23] G. Cornuejols, D. Naddef, and W.R. Pulleyblank. Halin graphs and the travellingsalesman problem. Mathematical Programming, 26:287–294, 1983.
[24] F. Della Croce, V.T. Paschos, and R.W. Calvo. Approximating the 2-peripatetic sales-man problem. In Proc. Workshop on Modelling and Algorithms for Planning andScheduling Problems, MAPSP, pages 114–116, 2005.
[25] J. Edmonds. Maximum matching and a polyhedron with 0-1 nodes. J. Res., 69B:125–130, 1965.
[26] Steve F. A short proof of chvtal’s watchman theorem. Journal of Combinatorial Theory,Series B, 24(3):374 – 374, 1978.
[27] A. M. Farley, A. Proskurowski, M. Skowronska, and M. M. Sys lo. Hamiltonicity ofamalgams. Graphs and Combinatorics, 15(4):393–404, 12 1999.
BIBLIOGRAPHY 138
[28] U. Feige. Vertex cover is hardest to approximate on regular graphs. Technical ReportMCS03-15, Computer Science and Applied Mathematics, The Weizmann Institute ofScience, 2003.
[29] D. Fernandez-Baca and G. Slutzki. Linear-time algorithms for parametric minimumspanning tree problems on planar graphs. LATIN ’95: Theoretical Informatics, pages257–271, 1995.
[30] R. Fulek, H. He, O. Sykora, and I. Vrto. Outerplanar crossing numbers of 3-row meshes,halin graphs and complete p-partite graphs. SOFSEM 2005: Theory and Practice ofComputer Science, pages 376–379, 2005.
[31] H. N. Gabow. Implementation of algorithms for maximum matching on nonbipartitegraphs. PhD thesis, Stanford, CA, USA, 1974.
[32] Z. Galil, S. Micali, and H. N. Gabow. An o(ev log v) algorithm for finding a maximalweighted matching in general graphs. SIAM Journal on Computing, 15(1):120–130,1986.
[33] M. R. Garey and D. S. Johnson. Computers and Intractability; A Guide to the Theoryof NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1990.
[34] R. Halin. Studies in minimally connected graphs. D.J.A. Welsh, Academic Press, NewYork, 1971.
[35] H. Hamacher and F. Maffioli. Weighted k-cardinality trees. 1991.
[36] R. Hassin and A. Levin. An efficient polynomial time approximation scheme for theconstrained minimum spanning tree problem using matroid intersection. SIAM J.Comput., 33(2):261–268, 2004.
[37] S. Hong, S. Chung, and B. Park. A fully polynomial bicriteria approximation schemefor the constrained spanning tree problem. Operations Research Letters, 32(3):233 –239, 2004.
[38] J. Hopcroft and R. E. Tarjan. Efficient planarity testing. J. ACM, 21(4):549–568, 1974.
[39] S. B. Horton and R. G. Parker. On some results pertaining to halin. CONGRESSUSNUMERANTIUM, 89:65–87, 1992.
[40] S. B. Horton and R. G. Parker. On halin subgraphs and supergraphs. Discrete AppliedMathematics, 56(1):19–35, January 1995.
[41] T.C. Hu. Optimum communication spanning trees. SIAM Journal on Computing,3:188, 1974.
[42] S. Kabadi, J. Phillips, and A. Punnen. A linear algorithm for the bottleneck travelingsalesman problem on a halin graph. Information Processing Letters, 67:105–110, 1998.
BIBLIOGRAPHY 139
[43] J. Komlos, G. N. Sarkozy, and E. Szemeredi. On the square of a hamiltonian cycle indense graphs. Random Struct. Algorithms, 9(1-2):193–211, 1996.
[44] J. Krarup and I. Spadille. The peripatetic salesman and some related unsolved prob-lems. Combinatorial programming: methods and applications: proceedings of the NATOAdvanced Study Institute held at the Palais des Congres, Versailles, France, 2-13September 1974, page 173, 1975.
[45] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart andWinston, New York, 1976.
[46] Y. Li. Constrained cycle covers in halin graphs. Lecture Notes in Computer Science,4614:186–197, 2007.
[47] Y. Li, D. Lou, and Y. Lu. Algorithms for the optimal hamiltonian path in halin graphs.Ars Comb., 87, 2008.
[48] D. Lou and H. Zhu. A note on max-leaves spanning tree problem in halin graphs.Australasian Journal of Combinatorics, 29:95–98, 2004.
[49] L. Lovasz and M. D. Plummer. On a family of planar bicritical graphs. Proc. LondonMath. Soc. Ser, 3:160–176, 1975.
[50] Y. Lu, Y. Li, and D. Lou. An algorithm to find the optimal matching an algorithm tofind the optimal matching in halin graphs. IAENG International Journal of ComputerScience, 34(2), 2007.
[51] Y. Lu, Z. Li, and M. Li. An algorithm to find the constrained steiner tree in halinnetworks. In Future Generation Communication and Networking, volume 1, pages423–426. Second International Conference on Future Generation Communication andNetworking, 2008.
[52] Y. Lu and D. Lou. An algorithm to solve the partition into perfect matchings problemin halin graphs. Lecture Notes in Computer Science, 4489:410–419, 2007.
[53] S. Malik, A. M. Qureshi, and T. Zamfirescu. Hamiltonian properties of generalizedhalin graphs. Canadian Mathematics Bulletin, pages 1–8, draft.
[54] J. Malkevitch. Cycle lengths in polytopal graphs. Theory and Applications of Graphs,pages 364–370, 1978.
[55] J. Malkevitch. Pancyclic graphs, volume VIII:4. New York Academy of Sciences, 1981.
[56] T. Matsui. The minimum spanning tree problem on a planar graph. Discrete AppliedMathematics, 58(1):91 – 94, 1995.
BIBLIOGRAPHY 140
[57] J. Nesetril, E. Milkova, H. Nesetrilov, and O. Boruvka. on minimum spanning treeproblem translation of both the 1926 papers, comments, history. Discrete Mathematics,233:3–36, 2001.
[58] O. Ozpeynirci and M. Koksalan. Multiobjective traveling salesperson problem on halingraphs. European Journal of Operational Research, 196(1):155 – 161, 2009.
[59] J. M. Phillips, A. P. Punnen, and S. N. Kabadi. A linear time algorithm for thebottleneck traveling salesman problem on a halin graph. Information Processing Letters,67(2):105 – 110, 1998.
[60] J.M. Phillips. The bottleneck traveling salesman problem on a Halin graph and exten-sions. PhD thesis, University of New Brunswick, 2005.
[61] A. P. Punnen. Traveling salesman problem under categorization. Operations ResearchLetters, 12(2):89 – 95, 1992.
[62] A.P. Punnen and K. Nair. An improved algorithm for the constrained bottleneckspanning tree problem. INFORMS Journal on Computing, 8(1):41, 1996.
[63] A. M. Qureshi. Hamiltonian properties of generalized Halin graphs. PhD thesis, GCUniversity Lahore, Pakistan, 2008.
[64] R. Ravi and M. Goemans. The constrained minimum spanning tree problem. AlgorithmTheory —SWAT’96, pages 66–75, 1996.
[65] F. Scholz. Coordination hole tolerance stacking. Technical Report BCSTECH-93-048,Boeing Computer Services, November 1993.
[66] F. Scholz. Tolerance stack analysis methods. Technical Report BCSTECH-95-030,Boeing Computer Services, December 1995.
[67] W. C. Shiu, P. C. B. Lam, and W. K. Tam. On strong chromatic index of halin graph.2008.
[68] M. Skowronska. The panciclicity of halin graphs and their exterior contractions. InCycles in Graphs, volume 115, pages 179–194. North-Holland Math. Stud., North-Holland, Amsterdam, 1985.
[69] M. Skowronska and M. Syslo. Hamiltonian amalgams of trees. Graph theory notes ofNew York, 17:29–35, 1989.
[70] Miroslowa Skowronska and M. M. Syslo. Dominating cycles in halin graphs. DiscreteMath., 86(1-3):215–224, 1990.
[71] Z. Skupien. Crowned trees and planar highly hamiltonian graphs. Contemporary meth-ods in Graph theory, Wissenschaftsverlag, Mannheim:537–555, 1990.
BIBLIOGRAPHY 141
[72] P. F. Stadler. Minimum cycle bases of halin graphs. J. Graph Theory, 43(2):150–155,2003.
[73] M. M. Sys lo and A. Proskurowski. On halin graphs. Graph Theory, pages 248–256,1983.
[74] M. M. Syslo and A. Proskurowski. On halin graphs. In Graph theory, Proc. Conf.,volume 1018 of Lecture Notes Math., pages 248–256, Lagow/Pol., 1988. Springer.
[75] J. A. Telle and A. Proskurowski. Practical algorithms on partial k-trees with an appli-cation to domination-like problems. Algorithms and Data Structures, pages 610–621,1993.
[76] J. A. Telle and A. Proskurowski. Algorithms for vertex partitioning problems on partialk-trees. 1997.
[77] V. G. Vizing. On an estimate of the chromatic class of a p-graph. Diskretnyi Analiz,3:25–30, 1964.
[78] W. F. Wang and K. Lih. List coloring halin graphs. Ars Combinatoria, (77):53–63,2005.
[79] T. V. Wimer. Linear algorithms on k-terminal graphs. PhD thesis, Clemson, SC, USA,1987. Adviser-Hedetniemi, Stephen T.
[80] P. Winter. Steiner problem in halin networks. Discrete Applied Mathematics, 17(3):281– 294, 1987.
[81] Z. Zhang and L. Liu. On the complete chromatic number of halin graphs. Acta Math-ematicae Applicatae Sinica (English Series), 13(1):102–106, 01 1997.
[82] Z. Zhang, L. Liu, J. Wang, and H. Liu. A note on the total chromatic number of halingraphs with maximum degree 4. Applied Mathematics Letters, 11(5):23–27, 1998.