GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN...

151
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.

Transcript of GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN...

Page 1: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 2: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results
Page 3: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 4: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 5: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 6: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 7: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 8: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 9: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 10: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 11: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 12: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 13: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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].

Page 14: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 15: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 16: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 17: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 18: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 19: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 20: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 21: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 22: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 23: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 24: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 25: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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].

Page 26: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 27: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 28: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 29: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 30: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 31: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 32: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 33: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 34: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 35: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 36: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 37: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 38: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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)

Page 39: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 40: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 41: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 42: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 43: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 44: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 45: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 46: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 47: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 48: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 49: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 50: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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),

Page 51: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 52: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 53: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 54: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 55: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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)

Page 56: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 57: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 58: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 59: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 60: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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)}.

Page 61: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 62: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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 }

Page 63: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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),

Page 64: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 65: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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).

Page 66: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 67: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 68: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 69: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 70: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 71: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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:

Page 72: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 73: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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);

Page 74: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 75: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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}.

Page 76: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 77: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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);

Page 78: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 79: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 80: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 81: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 82: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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:

Page 83: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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).

Page 84: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 85: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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)}}}

Page 86: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 87: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 88: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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}}}.

Page 89: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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 .

Page 90: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 91: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 92: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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},

Page 93: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 94: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 95: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 96: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 97: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 98: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 99: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 100: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 101: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 102: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 103: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 104: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 105: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 106: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 107: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 108: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 109: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 110: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 111: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 112: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 113: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 114: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 115: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 116: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 117: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 118: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 119: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 120: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 121: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 122: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 123: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 124: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 125: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 126: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 127: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 128: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 129: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 130: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 131: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 132: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 133: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 134: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 135: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 136: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 137: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 138: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 139: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 140: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 141: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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,

Page 142: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 143: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 144: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 145: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 146: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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

Page 147: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 148: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 149: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 150: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.

Page 151: GENERALIZED TRAVELING SALESMAN PROBLEMS ON HALIN …summit.sfu.ca/system/files/iritems1/11495/etd6341_BWoods.pdf · Abstract This thesis gives a complete survey of existing results

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.