Top Banner
Title Polynomial-Space Exact Algorithms for Traveling Salesman Problem in Degree Bounded Graphs( Dissertation_全文 ) Author(s) Norhazwani, Md Yunos Citation Kyoto University (京都大学) Issue Date 2017-03-23 URL https://doi.org/10.14989/doctor.k20516 Right Type Thesis or Dissertation Textversion ETD Kyoto University
220

Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Title Polynomial-Space Exact Algorithms for Traveling SalesmanProblem in Degree Bounded Graphs( Dissertation_全文 )

Author(s) Norhazwani, Md Yunos

Citation Kyoto University (京都大学)

Issue Date 2017-03-23

URL https://doi.org/10.14989/doctor.k20516

Right

Type Thesis or Dissertation

Textversion ETD

Kyoto University

Page 2: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Polynomial-Space Exact Algorithms

for Traveling Salesman Problem

in Degree Bounded Graphs

Norhazwani Md Yunos

Page 3: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,
Page 4: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Polynomial-Space Exact Algorithms

for Traveling Salesman Problem

in Degree Bounded Graphs

Norhazwani Md Yunos

Department of Applied Mathematics and Physics

Graduate School of Informatics

Kyoto University

Kyoto, Japan

February 2017

Page 5: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,
Page 6: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Doctoral dissertation

submitted to the Graduate School of Informatics, Kyoto University

in partial fulfillment of the requirement for the degree of

DOCTOR OF INFORMATICS

(Applied Mathematics and Physics)

Page 7: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,
Page 8: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Preface

The Traveling Salesman Problem, TSP for short, is one of the most well-known NP-hard

optimization problems, and it has been extensively studied in various fields of optimization.

It has been formulated as a mathematical problem in the 1930s, and many algorithmic

methods have been investigated to address the challenge of finding the fastest algorithm

in terms of the running time. A recent trend of research focuses on trying to alleviate

the time and space complexity of algorithms for solving the TSP by focusing on special

types of TSP instances, namely graphs of limited degree. Let degree-i graph stand for a

graph in which vertices have at most i incident edges. In this thesis, we design a series

of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely

the TSP in degree-5, degree-6, degree-7 and degree-8 graphs. More specifically, this thesis

shows that the TSP in graphs with maximum degree 5 can be solved in O∗(2.4723n),

the TSP in graphs with maximum degree 6 can be solved in O∗(3.0335n), the TSP in

graphs with maximum degree 7 can be solved in O∗(3.5939n), and the TSP in graphs with

maximum degree 8 can be solved in O∗(4.1577n). To the best of our knowledge, each of

the algorithms proposed in this thesis is the first exact algorithm specialized to graphs of

such high degree.

All these algorithms employ similar techniques as most of the previous branching algo-

rithms for the TSP, where the idea behind the branching algorithm is to solve subproblems

recursively by using two sets of rules, namely reduction rules and branching rules. For the

reduction rules, we use simple natural observations. For the branching rules, we introduce

a set of branching rules for each of the algorithms to perform the branching operation.

The nature of our branching operation is to branch on an unforced edge e iteratively, by

either including edge e into a solution or excluding edge e from all solutions. The choice

of edge e to branch on plays a key role in the analysis of our branching algorithm. To this

effect, in this thesis we have assigned a way on how to choose the edge e to branch on. In

the analysis of the running time, we use the measure-and-conquer method as a tool to get

an upper bound of the running time.

As a result, the presented polynomial-space branching algorithms for the TSP in

degree-5, degree-6 and degree-7 graphs outperform the time complexity of the algorithm

for the TSP in a general n-vertex graph of Gurevich and Shelah’s O∗(4nnlogn) (SIAM

Journal of Computation, 16(3), pp 486–502, 1987). On the other hand, the time complex-

ity of the algorithm for the TSP in degree-8 graphs has breached the O∗(4nnlogn)-time

i

Page 9: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

ii

algorithm due to Gurevich and Shelah. This answers the question which is the highest

degree i such that our approach for designing and analyzing algorithms specialized to the

TSP in degree-i graphs has a lower bound on the time complexity than the algorithm due

to Gurevich and Shelah.

We believe that our algorithms are significant and will give some contributions towards

practical applications, such as routing and scheduling problems, and possibly beyond. It

is our hope that the work done can be serve as a basis for future advancement in related

topics.

Norhazwani Md Yunos

February 2017

Kyoto, Japan

Page 10: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Acknowledgement

All praise for God who is the most Gracious, most Compassionate. This PhD thesis may

never seen the light without the help of many generous people.

First and foremost, my sincerest appreciation must go to my supervisor, Professor Dr.

Hiroshi Nagamochi, who took the risk of supervising me even knowing that I was from

slightly different background. Many thanks for his brilliance, guidance, advice, patience

and constant care; which I am grateful to have you as the supervisor and it will be a

priceless experience that I will never forget.

I am sincere grateful to Dr. Aleksandar Shurbevski in addition to providing invaluable

academic support and guidance from the inception till the successful completion of the

research. I benefited greatly from many fruitful discussions and I cannot forget each of

the valuable help and motivation he gave to me. I must observe that he also went largely

out of his way to make my transition to a new environment seamless and my continued

stay as pleasant as possible.

I am also thankful to Professor Dr. Yoshito Ohta of Kyoto University, as well as Profes-

sor Dr. Nobuo Yamashita of Kyoto University, for serving on my dissertation committee.

I would like to extend my thanks to my lab-mates, the members of the Discrete Mathe-

matics Laboratory, for their help and supported in any respect during the course of the

research, especially to Shahrizan, Fei He, Ken Iwaide and Yuhei Nishiyama.

Special thanks go to my dearest husband, Hasrul Nisham Rosly, for his patience, love,

constant support and understanding through thick and thin. Even though we live apart

during my studies, but he always be there for every step of this process, supported me,

listened to me, calmed me down, and above all, he believed that I would accomplish my

life goal. You are everything to me, my life partner, my good friend, as well as my best

quarrel-mates. Your subsistence for traveling Malaysia-Japan once every two months is

greatly appreciated. My loving thanks go to my precious princess, Zara Elviana Hasrul

Nisham, thank you so much for always stand by my side and accompanying me all the good

and bad times throughout this memorable journey. Although you might not understand

my situation and what I am doing, you are always my everything. Being a full-time mom

as well as playing a role as a dad to a child who is actively growing up and need full

attention and in the same time trying to juggle full-time studies, while the immediate

family members were more than 5000 kilometers apart could be really overwhelming. But

iii

Page 11: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

iv

praise to the Almighty for the health favors especially to both my daughter and me, I am

survived staying here without any big obstacle. For my husband and my daughter, your

wife/mom have to struggle for my life goal and thank you so much for all your patience,

supports and understandings.

A million thanks goes to my beloved dad, Md Yunos Hasan, and my beloved mom,

Halimahtun Mahphoz, for their prayers, love, constant support and frequents commute

Malaysia-Japan for accompanying and motivating me when I am down. Both of you are

the source of endless selfless love and you always encourage me in any endeavor in my life.

As time goes by, I remember when I first left to Japan, they were always stationed by

their phones, ready to console me when I was feeling homesick. It would not be possible

to be the person I am today if it were not from the way you upbringing me. For the

best education you had given to me and for all kinds of sacrifices, I dedicate this higher

certificate specially for you two! Besides, I also would like to express my million thanks

to my father-in-law, Rosly Pin, and my mother-in-law, Noor Al-Huda Abd Rahman, for

their prayers, affection and their understanding for leaving their son while I were away as

full-time PhD students.

A great thanks to all my siblings, you guys are really supportive especially at the end

of the journey when I am madly homesick. Also thank you so much to all my family and

friends in Malaysia, as well as my ex-lecturers, who always send their regards and always

keep me motivated by virtue of modern communications technology. I also feel thankful

for the support from my fellow post-graduates, with whom we share our struggle stories,

you know who you are.

The most important thankful and acknowledgement must go to my scholarship, Min-

istry of Higher Education (MoHE) Malaysia and University Teknikal Malaysia Melaka

(UTeM). Without this, I will never be able to set my feet on this top 100 university in

the world and second top ranking university in Japan. To all Malaysians, I am humbled

by your money from which the scholarship is originated. I am now just completed this

historical and memorable journey and ready to go back to serve my nation. Rest assured,

your money would not go to waste. Now it is time for me to leave Japan for good after 3

years undertaking this PhD research.

Last but not least, to those who have made contributions directly or indirectly and

cannot all be named, thank you very much.

Page 12: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Contents

1 Introduction 1

1.1 Optimization Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Computational Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 The Traveling Salesman Problem . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4.1 Applications of the TSP . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.5 Previous Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.5.1 Exponential-space Exact Algorithms . . . . . . . . . . . . . . . . . . 9

1.5.2 Polynomial-Space Exact Algorithms . . . . . . . . . . . . . . . . . . 9

1.5.3 Heuristic and Approximation Algorithms . . . . . . . . . . . . . . . 10

1.6 Thesis Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Preliminaries 13

2.1 Mathematical Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Essentials on Branching Algorithms . . . . . . . . . . . . . . . . . . . . . . 13

2.3 The Measure-and-Conquer Method . . . . . . . . . . . . . . . . . . . . . . . 15

3 A Polynomial-Space Branching Algorithm 17

3.1 A Polynomial-Space Branching Algorithm . . . . . . . . . . . . . . . . . . . 17

3.2 Reduction Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3 Branching Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 The TSP in Degree-5 Graphs 21

4.1 Branching Rules for the TSP in Degree-5 Graphs . . . . . . . . . . . . . . . 21

4.2 Main Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.3 Weight Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.4 Branching on Edges around f5-vertices . . . . . . . . . . . . . . . . . . . . . 26

4.5 Branching on Edges around u5-vertices . . . . . . . . . . . . . . . . . . . . . 35

4.6 Switching to the TSP in Degree-4 Graphs . . . . . . . . . . . . . . . . . . . 39

4.7 Quasiconvex Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.8 Overall Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

v

Page 13: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

vi Contents

5 The TSP in Degree-6 Graphs 43

5.1 Branching Rules for the TSP in Degree-6 Graphs . . . . . . . . . . . . . . . 43

5.2 Main Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.3 Weight Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.4 Branching on Edges around f6-vertices . . . . . . . . . . . . . . . . . . . . . 48

5.5 Branching on Edges around u6-vertices . . . . . . . . . . . . . . . . . . . . . 63

5.6 Switching to the TSP in Degree-5 Graphs . . . . . . . . . . . . . . . . . . . 68

5.7 Quasiconvex Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.8 Overall Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6 The TSP in Degree-7 Graphs 71

6.1 Branching Rules for the TSP in Degree-7 Graphs . . . . . . . . . . . . . . . 71

6.2 Main Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.3 Weight Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.4 Branching on Edges around f7-vertices . . . . . . . . . . . . . . . . . . . . . 76

6.5 Branching on Edges around u7-vertices . . . . . . . . . . . . . . . . . . . . . 97

6.6 Switching to the TSP in Degree-6 Graphs . . . . . . . . . . . . . . . . . . . 104

6.7 Quasiconvex Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.8 Overall Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

7 The TSP in Degree-8 Graphs 107

7.1 Branching Rules for the TSP in Degree-8 Graphs . . . . . . . . . . . . . . . 107

7.2 Main Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.3 Weight Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.4 Branching on Edges around f8-vertices . . . . . . . . . . . . . . . . . . . . . 114

7.5 Branching on Edges around u8-vertices . . . . . . . . . . . . . . . . . . . . . 141

7.6 Switching to the TSP in Degree-7 Graphs . . . . . . . . . . . . . . . . . . . 148

7.7 Quasiconvex Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

7.8 Overall Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

8 Conclusion 151

8.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

8.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Bibliography 155

Appendix A List of Author’s Work 159

Appendix B Matlab Code for the TSP in Degree-5 Graphs 161

Page 14: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Contents vii

Appendix C Matlab Code for the TSP in Degree-6 Graphs 167

Appendix D Matlab Code for the TSP in Degree-7 Graphs 175

Appendix E Matlab Code for the TSP in Degree-8 Graphs 185

Page 15: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

viii Contents

Page 16: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

List of Figures

1.1 An overview of an algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Variety attribute of the algorithm’s running time. . . . . . . . . . . . . . . . 4

1.3 Classes of computational problems. . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 An example of a PCB with different sizes of holes. . . . . . . . . . . . . . . 7

1.5 An example of the Vehicle Routing Problem. . . . . . . . . . . . . . . . . . 7

1.6 An example of material handling in a warehouse. . . . . . . . . . . . . . . . 8

2.1 An instance (G,F ) and the minimum cost tour of an instance (G,F ). . . . 14

4.1 Illustration of the branching rules for degree-5 vertex v. . . . . . . . . . . . 23

4.2 Illustration of the branching rule c-1 for TSP in degree 5 . . . . . . . . . . . 27

4.3 Illustration of the branching rule c-2 for TSP in degree 5 . . . . . . . . . . . 27

4.4 Illustration of the branching rule c-3 for TSP in degree 5 . . . . . . . . . . . 28

4.5 Illustration of the branching rule c-4 for TSP in degree 5 . . . . . . . . . . . 29

4.6 Illustration of the branching rule c-5(I) for TSP in degree 5 . . . . . . . . . 30

4.7 Illustration of the branching rule c-5(II) for TSP in degree 5 . . . . . . . . . 31

4.8 Illustration of the branching rule c-6 for TSP in degree 5 . . . . . . . . . . . 31

4.9 Illustration of the branching rule c-7 for TSP in degree 5 . . . . . . . . . . . 32

4.10 Illustration of the branching rule c-8(I) for TSP in degree 5 . . . . . . . . . 33

4.11 Illustration of the branching rule c-8(II) for TSP in degree 5 . . . . . . . . . 33

4.12 Illustration of the branching rule c-8(III) for TSP in degree 5 . . . . . . . . 34

4.13 Illustration of the branching rule c-9 for TSP in degree 5 . . . . . . . . . . . 35

4.14 Illustration of the branching rule c-10 for TSP in degree 5 . . . . . . . . . . 36

4.15 Illustration of the branching rule c-11 for TSP in degree 5 . . . . . . . . . . 36

4.16 Illustration of the branching rule c-12 for TSP in degree 5 . . . . . . . . . . 37

4.17 Illustration of the branching rule c-13 for TSP in degree 5 . . . . . . . . . . 38

4.18 Illustration of the branching rule c-14 for TSP in degree 5 . . . . . . . . . . 38

ix

Page 17: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

x List of Figures

5.1 Illustration of the branching rules for degree-6 vertex v. . . . . . . . . . . . 45

5.2 Illustration of edges that will become forced or deleted due to the branching

operation and reduction rules for an f3 vertex. . . . . . . . . . . . . . . . . 48

5.3 Illustration of the branching rule c-1 for TSP in degree 6 . . . . . . . . . . . 49

5.4 Illustration of the branching rule c-2 for TSP in degree 6 . . . . . . . . . . . 51

5.5 Illustration of the branching rule c-3 for TSP in degree 6 . . . . . . . . . . . 52

5.6 Illustration of the branching rule c-4 for TSP in degree 6 . . . . . . . . . . . 52

5.7 Illustration of the branching rule c-5(I) for TSP in degree 6 . . . . . . . . . 53

5.8 Illustration of the branching rule c-5(II) for TSP in degree 6 . . . . . . . . . 54

5.9 Illustration of the branching rule c-6 for TSP in degree 6 . . . . . . . . . . . 55

5.10 Illustration of the branching rule c-7 for TSP in degree 6 . . . . . . . . . . . 55

5.11 Illustration of the branching rule c-8(I) for TSP in degree 6 . . . . . . . . . 56

5.12 Illustration of the branching rule c-8(II) for TSP in degree 6 . . . . . . . . . 57

5.13 Illustration of the branching rule c-8(III) for TSP in degree 6 . . . . . . . . 58

5.14 Illustration of the branching rule c-9 for TSP in degree 6 . . . . . . . . . . . 58

5.15 Illustration of the branching rule c-10 for TSP in degree 6 . . . . . . . . . . 59

5.16 Illustration of the branching rule c-11(I) for TSP in degree 6 . . . . . . . . 60

5.17 Illustration of the branching rule c-11(II) for TSP in degree 6 . . . . . . . . 60

5.18 Illustration of the branching rule c-11(III) for TSP in degree 6 . . . . . . . 61

5.19 Illustration of the branching rule c-11(IV) for TSP in degree 6 . . . . . . . 62

5.20 Illustration of the branching rule c-12 for TSP in degree 6 . . . . . . . . . . 62

5.21 Illustration of the branching rule c-13 for TSP in degree 6 . . . . . . . . . . 63

5.22 Illustration of the branching rule c-14 for TSP in degree 6 . . . . . . . . . . 64

5.23 Illustration of the branching rule c-15 for TSP in degree 6 . . . . . . . . . . 65

5.24 Illustration of the branching rule c-16 for TSP in degree 6 . . . . . . . . . . 66

5.25 Illustration of the branching rule c-17 for TSP in degree 6 . . . . . . . . . . 66

5.26 Illustration of the branching rule c-18 for TSP in degree 6 . . . . . . . . . . 67

5.27 Illustration of the branching rule c-19 for TSP in degree 6 . . . . . . . . . . 67

6.1 Illustration of the branching rules around an f7-vertex v. . . . . . . . . . . . 73

6.2 Illustration of the branching rules around a u7-vertex v. . . . . . . . . . . . 74

6.3 Illustration of edges that will become forced or deleted due to the branching

operation and reduction rules for an f3 vertex. . . . . . . . . . . . . . . . . . 77

6.4 Illustration of the branching rule c-1 for TSP in degree 7 . . . . . . . . . . . 77

6.5 Illustration of the branching rule c-2 for TSP in degree 7 . . . . . . . . . . . 79

6.6 Illustration of the branching rule c-3 for TSP in degree 7 . . . . . . . . . . . 80

6.7 Illustration of the branching rule c-4 for TSP in degree 7 . . . . . . . . . . . 81

6.8 Illustration of the branching rule c-5(I) for TSP in degree 7 . . . . . . . . . 82

Page 18: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

List of Figures xi

6.9 Illustration of the branching rule c-5(II) for TSP in degree 7 . . . . . . . . . 83

6.10 Illustration of the branching rule c-6 for TSP in degree 7 . . . . . . . . . . . 83

6.11 Illustration of the branching rule c-7 for TSP in degree 7 . . . . . . . . . . . 84

6.12 Illustration of the branching rule c-8(I) for TSP in degree 7 . . . . . . . . . 85

6.13 Illustration of the branching rule c-8(II) for TSP in degree 7 . . . . . . . . . 86

6.14 Illustration of the branching rule c-8(III) for TSP in degree 7 . . . . . . . . 86

6.15 Illustration of the branching rule c-9 for TSP in degree 7 . . . . . . . . . . . 87

6.16 Illustration of the branching rule c-10 for TSP in degree 7 . . . . . . . . . . 88

6.17 Illustration of the branching rule c-11(I) for TSP in degree 7 . . . . . . . . 89

6.18 Illustration of the branching rule c-11(II) for TSP in degree 7 . . . . . . . . 90

6.19 Illustration of the branching rule c-11(III) for TSP in degree 7 . . . . . . . 90

6.20 Illustration of the branching rule c-11(IV) for TSP in degree 7 . . . . . . . 91

6.21 Illustration of the branching rule c-12 for TSP in degree 7 . . . . . . . . . . 92

6.22 Illustration of the branching rule c-13 for TSP in degree 7 . . . . . . . . . . 92

6.23 Illustration of the branching rule c-14(I) for TSP in degree 7 . . . . . . . . 93

6.24 Illustration of the branching rule c-14(II) for TSP in degree 7 . . . . . . . . 94

6.25 Illustration of the branching rule c-14(III) for TSP in degree 7 . . . . . . . 95

6.26 Illustration of the branching rule c-14(IV) for TSP in degree 7 . . . . . . . 95

6.27 Illustration of the branching rule c-14(V) for TSP in degree 7 . . . . . . . . 96

6.28 Illustration of the branching rule c-15 for TSP in degree 7 . . . . . . . . . . 97

6.29 Illustration of the branching rule c-16 for TSP in degree 7 . . . . . . . . . . 97

6.30 Illustration of the branching rule c-17 for TSP in degree 7 . . . . . . . . . . 99

6.31 Illustration of the branching rule c-18 for TSP in degree 7 . . . . . . . . . . 100

6.32 Illustration of the branching rule c-19 for TSP in degree 7 . . . . . . . . . . 100

6.33 Illustration of the branching rule c-20 for TSP in degree 7 . . . . . . . . . . 101

6.34 Illustration of the branching rule c-21 for TSP in degree 7 . . . . . . . . . . 101

6.35 Illustration of the branching rule c-22 for TSP in degree 7 . . . . . . . . . . 102

6.36 Illustration of the branching rule c-23 for TSP in degree 7 . . . . . . . . . . 103

6.37 Illustration of the branching rule c-24 for TSP in degree 7 . . . . . . . . . . 103

7.1 Illustration of the branching rules c-1 to c-14. . . . . . . . . . . . . . . . . . 109

7.2 Illustration of the branching rules c-15 to c-29. . . . . . . . . . . . . . . . . 110

7.3 Illustration of edges that will become forced or deleted due to the branching

operation and reduction rules for an f3 vertex. . . . . . . . . . . . . . . . . 114

7.4 Illustration of branching rule c-1 for TSP in degree 8 . . . . . . . . . . . . . 114

7.5 Illustration of branching rule c-2 for TSP in degree 8 . . . . . . . . . . . . . 116

7.6 Illustration of branching rule c-3 for TSP in degree 8 . . . . . . . . . . . . . 117

7.7 Illustration of branching rule c-4 for TSP in degree 8 . . . . . . . . . . . . . 118

Page 19: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

xii List of Figures

7.8 Illustration of branching rule c-5(I) for TSP in degree 8 . . . . . . . . . . . 119

7.9 Illustration of branching rule c-5(II) for TSP in degree 8 . . . . . . . . . . . 120

7.10 Illustration of branching rule c-6 for TSP in degree 8 . . . . . . . . . . . . . 121

7.11 Illustration of branching rule c-7 for TSP in degree 8 . . . . . . . . . . . . . 121

7.12 Illustration of branching rule c-8(I) for TSP in degree 8 . . . . . . . . . . . 122

7.13 Illustration of branching rule c-8(II) for TSP in degree 8 . . . . . . . . . . . 123

7.14 Illustration of branching rule c-8(III) for TSP in degree 8 . . . . . . . . . . 124

7.15 Illustration of branching rule c-9 for TSP in degree 8 . . . . . . . . . . . . . 125

7.16 Illustration of branching rule c-10 for TSP in degree 8 . . . . . . . . . . . . 125

7.17 Illustration of branching rule c-11(I) for TSP in degree 8 . . . . . . . . . . . 126

7.18 Illustration of branching rule c-11(II) for TSP in degree 8 . . . . . . . . . . 127

7.19 Illustration of branching rule c-11(III) for TSP in degree 8 . . . . . . . . . . 128

7.20 Illustration of branching rule c-11(IV) for TSP in degree 8 . . . . . . . . . . 129

7.21 Illustration of branching rule c-12 for TSP in degree 8 . . . . . . . . . . . . 129

7.22 Illustration of branching rule c-13 for TSP in degree 8 . . . . . . . . . . . . 130

7.23 Illustration of branching rule c-14(I) for TSP in degree 8 . . . . . . . . . . . 131

7.24 Illustration of branching rule c-14(II) for TSP in degree 8 . . . . . . . . . . 132

7.25 Illustration of branching rule c-14(III) for TSP in degree 8 . . . . . . . . . . 132

7.26 Illustration of branching rule c-14(IV) for TSP in degree 8 . . . . . . . . . . 133

7.27 Illustration of branching rule c-14(V) for TSP in degree 8 . . . . . . . . . . 134

7.28 Illustration of branching rule c-15 for TSP in degree 8 . . . . . . . . . . . . 135

7.29 Illustration of branching rule c-16 for TSP in degree 8 . . . . . . . . . . . . 135

7.30 Illustration of branching rule c-17(I) for TSP in degree 8 . . . . . . . . . . . 136

7.31 Illustration of branching rule c-17(II) for TSP in degree 8 . . . . . . . . . . 137

7.32 Illustration of branching rule c-17(III) for TSP in degree 8 . . . . . . . . . . 138

7.33 Illustration of branching rule c-17(IV) for TSP in degree 8 . . . . . . . . . . 138

7.34 Illustration of branching rule c-17(V) for TSP in degree 8 . . . . . . . . . . 139

7.35 Illustration of branching rule c-17(VI) for TSP in degree 8 . . . . . . . . . . 140

7.36 Illustration of branching rule c-18 for TSP in degree 8 . . . . . . . . . . . . 140

7.37 Illustration of branching rule c-19 for TSP in degree 8 . . . . . . . . . . . . 141

7.38 Illustration of branching rule c-20 for TSP in degree 8 . . . . . . . . . . . . 142

7.39 Illustration of branching rule c-21 for TSP in degree 8 . . . . . . . . . . . . 143

7.40 Illustration of branching rule c-22 for TSP in degree 8 . . . . . . . . . . . . 144

7.41 Illustration of branching rule c-23 for TSP in degree 8 . . . . . . . . . . . . 144

7.42 Illustration of branching rule c-24 for TSP in degree 8 . . . . . . . . . . . . 145

7.43 Illustration of branching rule c-25 for TSP in degree 8 . . . . . . . . . . . . 145

7.44 Illustration of branching rule c-26 for TSP in degree 8 . . . . . . . . . . . . 146

7.45 Illustration of branching rule c-27 for TSP in degree 8 . . . . . . . . . . . . 147

Page 20: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

List of Figures xiii

7.46 Illustration of branching rule c-28 for TSP in degree 8 . . . . . . . . . . . . 147

7.47 Illustration of branching rule c-29 for TSP in degree 8 . . . . . . . . . . . . 148

8.1 The base of the exponential running time bound of the best known polynomial-

space algorithm for the TSP in general graphs versus the base of the expo-

nential running time bound of the best known polynomial-space algorithms

developed specifically for the TSP in graphs with bounded degree . . . . . . 152

Page 21: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

xiv List of Figures

Page 22: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

List of Tables

1.1 List of problems in their class, assuming that P 6= NP. . . . . . . . . . . . 6

1.2 Time complexity of the TSP in graphs of degree 5 up to 8. . . . . . . . . . 11

xv

Page 23: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

xvi List of Tables

Page 24: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

List of Algorithms

1 Red(G,F ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Algorithm of the TSP in Degree-5 Graphs, tsp5(G,F ) . . . . . . . . . . . . 22

3 Algorithm of the TSP in Degree-6 Graphs, tsp6(G,F ) . . . . . . . . . . . . 46

4 Algorithm of the TSP in Degree-7 Graphs, tsp7(G,F ) . . . . . . . . . . . . 74

5 Algorithm of the TSP in Degree-8 Graphs, tsp8(G,F ) . . . . . . . . . . . . 111

xvii

Page 25: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

xviii List of Algorithms

Page 26: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Chapter 1

Introduction

1.1 Optimization Problem

As time goes by, a lot of problems arise in various areas of study, such as in economics,

engineering and natural science. For example, the necessity of dealing with various orga-

nizational and planning problems often makes use of several analysis techniques in math-

ematics. Such problems occur when a decision maker must make a decision in order to

manage a system with some specific criteria in an optimal way. We call such problems

optimization problems. Some of the first mathematicians to manoeuvre optimization prob-

lems were Fermat, Euler, several members of the Bernoulli family, Lagrange, and others

in connection with the development of Calculus in the 17th and 18th centuries [23].

An optimization problem can be easily described as a problem with a collection of

variables or instances that determine a collection of solutions, and requests to find the

best solution among them. Particularly, there are two important terms in an optimization

problem, an objective function and a feasible region. The feasible region is a set of all

solutions, and a solution in the feasible region is called feasible. In deriving a solution,

the objective function requests to find the optimal value over all feasible solutions. In an

optimization problem, the word “optimal” usually refers to minimum or maximum, where

a minimization (resp., maximization) problem asks to minimize (resp., maximize) the

objective function. For example, a single-variable minimization problem can be described

by

minimize f(x)

subject to: x ∈ X,

where f is a given objective function, x ∈ Rn is a decision variable in n-dimensional real

vector, X ⊆ Rn is a given feasible region, R is the set of real numbers, and Rn is the

n-dimensional vector space over R. A feasible solution x∗ is optimal to the optimization

1

Page 27: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

2 1. Introduction

problem if and only if f(x∗) ≤ f(x) holds for all feasible solutions x ∈ X.

There are two categories of optimization problems, continuous optimization problems

and combinatorial optimization problems. If a problem has a continuous feasible region

such as a set of real numbers or a function, then it is called a continuous optimization

problem. If a problem has a discrete feasible region such as a set of integers, permutations

or graphs, then it is called a combinatorial optimization problem.

Linear Programming, LP for short, and Integer Linear Programming, ILP for short,

are mathematical techniques to solve optimization problems. The history behind the LP

formulation goes back to 1939, when it was discovered by Leonid Kantorovich [44]. He

had developed an LP formulation to solve optimization problems during the World War

II on how to plan expenditures and returns to reduce the costs of the army and the

losses incurred by the enemy. Since then, LP and ILP have been used widely to solve

many optimization problems. For instance, in organization and planning management,

a decision maker has to make the most effective use of an organization’s resources such

as labor, money, time and raw material. This is to guarantee that the products such

as clothing, food, furniture and electrical devices, or services such as airline schedule and

investment policies, can be produced in an optimal way. One of the successful optimization

problems that use LP and ILP as their solution method is scheduling school buses, where

the problem asks to minimize to total distance traveled when carrying students.

A variety of continuous and combinatorial optimization problems appear in many real

world problems and as a consequence many algorithms for their solution have been pro-

posed. The topic of this thesis is categorized under combinatorial optimization problems.

1.2 Algorithm

An algorithm is a problem-solving method that has been widely used in computational

problems. It takes some value or a set of values as an input and produces some value or

set of values as an output. The input to an algorithm is called an instance of the problem,

and the size of the input of the algorithm is referred to the size of the instance. Thus,

an algorithm that solves a problem is a step-by-step procedure to solve a given problem

instance. Precisely, an algorithm is a set of instructions that transform the input into an

output. An algorithm is said to be correct if for every input instance, it terminates with

a correct output [14].

For example, let us take the sorting problem, a problem where we need to sort a set

of numbers into a non-decreasing order. The input and the output of the problem are

defined by:

Page 28: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

1. Introduction 3

Input: A set a1, a2, . . . , an of n numbers.

Output: A list 〈a′1, a′2, . . . , a′n〉 of the input sequence such that a′1 ≤ a′2 ≤ · · · ≤ a′n.

For instance, given the input set 23, 20, 85, 58, 11, a sorting algorithm returns as output

the set 〈11, 20, 23, 58, 85〉, as shown in Figure 1.1. An instance of the sorting problem is a

set of n numbers, and the size of the input of the sorting algorithm is n.

ALGORITHM

(Sorting)

Input:

23, 20, 85, 58, 11

Output:

<11, 20, 23, 58, 85>

Figure 1.1: An overview of an algorithm.

In the analysis of algorithms, in addition to the correctness of algorithms, the perfor-

mance of algorithms is also important. One of the reasons why the analysis of an algorithm

is performed is to compare different algorithms for the same task. The performance of

algorithms is measured by their running time. The running time of an algorithm is calcu-

lated in terms of fundamental mathematical quantities by doing a mathematical analysis

on the quantities involved [45]. Usually, the running time of an algorithm is defined to be

the number of elementary steps for the algorithm to execute in order to deliver its output

and it is stated as a function relating the size of the input instance to the numbers of

steps, known as time complexity.

There are various attributes of an algorithm’s running time, as shown in Figure 1.2.

Some algorithms may run faster on certain data sets than others. Thus, finding an average

case can be very difficult, and hence the worst-case running time is measured. However, in

certain applications such as air traffic control and surgery, knowing the worst-case running

time is not important, but finding the best-case running time is the matter. Worst case

(resp., best case) running time, known as upper running time bound (resp., lower running

time bound) is denoted by O (resp., Ω) with respect to a function relating to the size of

the input instance, to tell the maximum (resp., minimum) steps of the algorithm to give

its output.

In the analysis of the running time of algorithms, the time complexity is stated as a

function with respect to the size of the input instance. Basically, it tells how fast a function

grows or declines. Henceforth, the running time of an algorithm is only considered up to

the leading term of a function, such as cn2, and ignoring the constant coefficient of the

leading term, c, because the smaller-order terms of a function and the coefficient of the

leading term are less significant for large values of n. For example, if the running time

T (n) of an algorithm is given by 2n2+n−1, then the upper time bound of the algorithm is

at the order of n2, and we write T (n) = O(n2). Usually we do not know the exact running

Page 29: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4 1. Introduction

A B C D E F G H Input Instance

Ru

nn

ing T

ime

worst case (upper bound)

average case

best case (lower bound)

Figure 1.2: Variety attribute of the algorithm’s running time.

time T (n), and we derive only an upper bound on T (n) in the form of T (n) = O(f(n)).

There are numerous algorithms for numerous problems in the world, and undoubtedly

different algorithms give different time and space complexities. The characterization of

which is an efficient algorithm always depends on the situation. However, computer scien-

tists recognized a simple characterization that we can consider to differentiate algorithms

based on their time complexity. They are largely classified as polynomial-time algorithms

and exponential-time algorithms [21]. Thus, if the running time of an algorithm is bounded

by a polynomial of an input instance size, then the algorithm is considered as efficient.

In the area of theoretical computer science, exact algorithms are designed so that upper

bounds on their worst case time complexity can be theoretically analyzed as a function

of the input size. On the other hand, many existing solvers, for example IBM ILOG

CPLEX Optimization Studio (CPLEX), routinely used in practice run sufficiently fast by

relying on heuristics and bounding operations whose worst or average time complexities

are difficult to be analysed theoretically. On a set of instances, an exact algorithm with a

low theoretically obtained worst time complexity may still not run as fast as a practical

solver. However, it has been recently reported by Akiba and Iwata [1] that some exact al-

gorithms designed to improve theoretical time bounds do run sufficiently fast as compared

with solvers developed for solving instances practically. Thus, it is utterly important to

continue theoretical research and to develop algorithms with ever lower bounds on their

computational complexity, as these can show to be highly relevant in practice as well.

Therefore, research on theoretical algorithms are also important and significant since it

has been proven by Akiba and Iwata [1] that some theoretical algorithms run sufficiently

fast as compared to practical solvers.

1.3 Computational Complexity

Computational complexity theory is one of the major branches of study in theoretical

computing science and mathematics. Basically, a computational problem is a problem

Page 30: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

1. Introduction 5

where we are given an input and we want to return an output that satisfies some properties.

We can classify computational problems in two classes, namely P and NP. We denote

by P the class of problems solvable in polynomial time, and by NP the class of problems

that admit a nondeterministic polynomial time algorithm. We call a problem NP-hard,

if the polynomial solvability of the problem would imply that all other problems in NPare solvable in polynomial time as well. We call a problem NP-complete, if the problem

is in the class NP and is NP-hard [30].

The concept of NP-completeness was introduced by Stephen Cook in 1971 [12]. Since

then, NP-completeness is the cornerstone of complexity theory. Until now, determining

whether the class P and the class NP are the same or not is still a major open question, in

other words, whether P = NP or P 6= NP. The question whether P = NP or P 6= NPis one of the seven millenium problems [13].

Assuming that P 6= NP, the relation of NP-complete problems are shown in Fig-

ure 1.3. Dasgupta et al. [16] have classified some problems according to their classes,

as shown in Table 1.1. On the left-hand side of the table, there are some examples of

problems in P that can be solved by diverse specialized algorithms, such as dynamic pro-

gramming or greedy algorithms. Whereas in the right-hand side of the table, there are

some NP-complete problems that have escaped efficient solution over many decades or

centuries.

As we can see from Table 1.1, the Traveling Salesman Problem is one of the NP-

complete problems. When the theory of NP-completeness was developed, the Traveling

Salesman Problem was one of the first problem to be proven as an NP-hard problem by

Karp in 1972 [29].

NP

P

NP-hard

NP-complete

Figure 1.3: Classes of computational problems.

1.4 The Traveling Salesman Problem

The Traveling Salesman Problem, or TSP for short, gained much attention and has been

studied by researchers from many areas such as mathematics, computer science and oper-

Page 31: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6 1. Introduction

Table 1.1: List of problems in their class, assuming that P 6= NP.

Problems in P NP-complete Problems

Linear Programming Integer Linear Programming

Shortest Path Longest Path

Minimum Spanning Tree Traveling Salesman Problem

2-Satisfiability (2-SAT) 3-Satisfiability (3-SAT)

Bipartite Matching 3D Matching

Minimum Cut Balanced Cut

ations research. There is a long and great history behind the birth of the TSP as written

in the book of Cook [13]. Basically, the wave of the TSP started in the 1930s by Merrill

Flood who stimulated the interest of TSP in many quarters, and one of them in obtaining

near optimal solutions in reference to routing of school buses [13].

The TSP is a problem where we are given the distances between each pair of n cities,

and we need to visit every city exactly once and return to the home city, with a minimal

cost of travelling. In practice, it is very easy to describe, but it is very difficult to solve

efficiently. As the number of cities increases, the determination of the optimal tour becomes

incredibly complex.

1.4.1 Applications of the TSP

The TSP is one of the most extensively studied problems in any field of optimization, and

has been used as a framework to solve other problems. In other words, the TSP can be

applied to solve many problems by reducing them to a TSP formulation. For example

take the plotter, a computer printer for printing vector graphics which uses a pen to draw

pictures on paper. The TSP can be applied as a procedure to direct the movement of

the pen while drawing, so that useless moves are avoided, and the pen travels a minimal

distance.

There are a variety of problems that can be solved using TSP formulations. One

of the widely adopted direct applications of the TSP is in drilling problems of printed

circuit boards, PCBs, as reported in Grotschel et al. [24]. This drilling problem asks to

position the drilling head where holes have to be drilled through the board, while the

holes may be of different sizes. An illustration of a PCB with different sizes of holes is

shown in Figure 1.4. To drill two holes of different diameters consecutively, the drilling

head of the machine has to move to a tool box and change the drilling equipment. This

is quite time consuming, and thus one has to choose one diameter and drill all holes of

the same diameter, and later, change to other size of diameter and drill the holes of the

Page 32: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

1. Introduction 7

next diameter and so on. This drilling problem can be solved using a TSP formulation,

where the tool box is set as an initial position and the cities are set as the holes of same

diameter. The distance between two cities is given by the time taken by the machine to

move the drilling head from one position to the other, and the objective of this problem

is to minimize the total travel time for the drilling head of the machine.

Figure 1.4: An example of a PCB with different sizes of holes.

Many problems can be reduced as TSP naturally as well, for instance routing problems,

such as the Vehicle Routing Problem, for short VRP, also can be reduced into a TSP

formulation as reported by Lenstra and Rinnooy Kan [33]. The VRP is a problem which

asks to find the minimum number of trucks to empty mail boxes everyday within a certain

period of time, or to find the shortest time to do the collections using a given number of

trucks. A variety of well-known routing problems use the TSP as a solution procedure,

for example the school bus routing problem [2]. An illustration of the problem is shown

in Figure 1.5.

Figure 1.5: An example of the Vehicle Routing Problem.

Furthermore, Ratliff and Rosenthal [42] reported that the problem associated with

material handling in a warehouse, known as order-picking problem can also be solved

using a TSP formulation. The problem is as follows. Assume that at a warehouse, an

order arrives for a certain number of goods stored in the warehouse. Some vehicle has to

Page 33: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

8 1. Introduction

collect all goods of this order to ship them to the customer, as can be seen in Figure 1.6.

Hence, the relation of the TSP is immediately seen, where the storage locations of the

goods correspond to the set of cities, and the distance between two cities is given by the

time taken to move the vehicle from one location to the other. The objective of this

problem is to find a shortest route for the vehicle with minimum pick up time.

WAREHOUSE

: customer

Figure 1.6: An example of material handling in a warehouse.

The applications of the TSP do not end here, there are a lot of problems in a variety

of areas that can be solved using a TSP formulation. For example in chemistry, Bland

and Shallcross [8] reported that the TSP has a use in X-ray crystallography, a problem of

analysing the structure of crystals.

1.5 Previous Results

With regards to showing the effectiveness of the TSP, new algorithmic techniques have been

developed and applied to the TSP, namely, linear programming, dynamic programming,

branch-and-bound, heuristics and meta-heuristics. All the relevant algorithmic approaches

have taken place after Dantzig et al. first started to use a TSP formulation to solve

practical problem instances in 1954 [15].

Solving NP-hard discrete optimization problems to optimality requires very efficient

algorithms. Recently, many algorithmic methods have been studied to beat the challenge

of finding the fastest algorithm in terms of running time. On the other hand, it has proven

even more challenging to design fast algorithms that would use a manageable amount of

computation space, bounded by a polynomial in the size of an input instance.

We will review previous algorithmic attempts, making a division between those which

require space exponential in the size of a problem instance, and those requiring space

merely polynomial in the input size.

Page 34: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

1. Introduction 9

1.5.1 Exponential-space Exact Algorithms

The first non-trivial algorithm for the TSP in an n-vertex graph is the O∗(2n)-time dy-

namic programming algorithm discovered independently by Bellman [6], and Held and

Karp [26] in the early 1960s. Here, we use the O∗ notation, which suppresses polynomial

factors. This dynamic programming algorithm however, requires O∗(2n) amount of space

which is exponential. Since then, this running time bound has only been improved for

special types of graphs. Primarily, investigation efforts have been focused on graphs in

which vertices have a limited degree. Henceforth, let degree-i graph stand for a graph in

which each vertex has at most i incident edges. A recent improvement of the running time

bound to O∗(1.2186n) for degree-3 graphs has been presented by Bodlaender et al. [10].

They have used a general approach for speeding up straightforward dynamic program-

ming algorithms. For the TSP in degree-4 graphs, Gebauer [22] has shown a time bound

of O∗(1.733n), by using a dynamic programming approach.

1.5.2 Polynomial-Space Exact Algorithms

In the vein of polynomial space algorithms, Gurevich and Shelah [25] have shown that the

TSP in a general n-vertex graph is solvable in time O∗(4nnlogn

). This had remained the

only result for nearly 20 years, until Eppstein [18] started the exploration into polynomial-

space TSP algorithms specialized for graphs of bounded degree. Eppstein [18] designed

an algorithm for degree-3 graphs that runs in O∗(1.260n) time. He introduced a branch-

and-search method by considering a generalization of the TSP named the forced TSP.

Iwama and Nakashima [27] have claimed an improvement of Eppstein’s time bound to

O∗(1.251n) time for the TSP in degree-3 graphs. Later, Liskiewicz and Schuster [35]

have uncovered some oversights made in Iwama and Nakashima’s analysis, and proved

that their algorithm actually runs in O∗(1.257n) time. Liskiewicz and Schuster then made

some minor modifications of Eppstein’s algorithm and showed that this modified algorithm

runs in O∗(1.2553n) time, a slight improvement over Iwama and Nakashima’s algorithm.

Xiao and Nagamochi [49] have recently presented an O∗(1.2312n)-time algorithm for

the TSP in degree-3 graphs, and this improved all previous time bounds for polynomial-

space algorithms. They used the basic steps of Eppstein’s branch-and-search algorithm,

and introduced a branching rule based on a cut-circuit structure. In the process of im-

proving the time bound, they used a simple measure-and-conquer analysis, and effectively

analyzed their algorithm by introducing an amortization scheme over the cut-circuit struc-

ture, setting weights to both vertices and connected components of induced graphs.

For the TSP in degree-4 graphs, Eppstein [18] designed an algorithm that runs in

O∗(1.890n) time, based on a branch-and-search method. Later, Xiao and Nagamochi [50]

showed an improved value for the upper bound of the running time and showed that their

Page 35: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

10 1. Introduction

algorithm runs in O∗(1.692n) time. Currently, this is the fastest algorithm for the TSP in

degree-4 graphs. Basically, the idea behind their algorithm is to apply reduction rules until

no further reduction is possible, and then branch on an edge by either including it to a

solution or excluding it from a solution. This is similar to most previous branch-and-search

algorithms for the TSP. To effectively analyze their algorithm, Xiao and Nagamochi used

the measure-and-conquer method by setting a weight to each vertex in an input graph.

From each branching operation, they derived a branching vector using the assigned weight

and evaluate how much weight can be decreased in each of the two instances obtained by

branching on a selected edge e. In this way, they were able to analyze by how much the

total weight would decrease in each branch. Moreover, they indicated that the measure

will decrease more if we select a “good” edge to branch on, and gave a set of simple rules,

based on a graph’s topological properties, for choosing such an edge. However, the analysis

of the running time itself is not as straightforward, and the interested reader is referred

to the original paper of Xiao and Nagamochi [50].

1.5.3 Heuristic and Approximation Algorithms

Other than exact algorithms, heuristic algorithms and approximation algorithms are also

another efficient approach to solve NP-complete optimization problems. It is also natural

to tackle NP-complete problem by means of heuristic algorithms [32], such as nearest

neighbor, greedy algorithms, tabu search, simulated annealing, genetic algorithms and ant

colony optimization. However, the performance of a heuristic algorithm for the TSP is

commonly measured by comparing its results to the Held and Karp’s lower bound [26].

This lower bound is derived from the solution of a linear programming formulation, and

the solution can be found in polynomial time using a polynomial constraint-separation

algorithm [28].

In the same way, the study of approximation algorithms has a great attraction in its

own area. An approximation algorithm is an algorithm that runs in polynomial time and

always produces a solution close to the optimal. If we denote the optimal value as OPT ,

then we call an algorithm an α-approximation algorithm if it gives as output a solution

with objective value at most α · OPT for minimization problems, or at least 1/α · OPTfor maximization problems, and α is called an approximation factor. Further information

about approximation algorithms can be found in authoritative textbooks [46, 48].

In general, the TSP is NP-hard to approximate within a constant factor α. In other

words, since it is widely known that TSP is NP-hard problem, there is no constant factor

approximation algorithm for the TSP, unless P = NP [3]. Therefore, considerable research

on solving the TSP using approximation algorithm have been done, for example Lin and

Kernighan [34], Christofides [11], Basart and Huguet [5], Arora [3], Blaser [9], Kaplan et

Page 36: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

1. Introduction 11

al. [31], Papadimitriou and Vempala [41], Berman and Karpinski [7], Asadpour et al. [4],

Mucha [40] and Vygen [47]. Among all these, Arora’s approximation algorithm [3] is the

best approximation algorithm. Arora’s approximation algorithm is based on geometric

partitioning and quad trees, and the algorithm guarantees a (1+1/c)-approximation ratio

for every c > 1 in Euclidean space.

1.6 Thesis Contribution

This thesis presents a series of exact polynomial-space algorithms for the TSP in graphs of

degree 5 up to 8. Each of these algorithms is the first algorithm specialized for the TSP in

graphs of such maximum degree. We use a deterministic branch-and-search method, and

our algorithm employs techniques similar to most of the previous branching algorithms

for the TSP. When there are no vertices of degree i in an input graph, we call an existing

algorithm for the TSP in degree-(i− 1) graphs and solve the remaining instance. For the

analysis of the running time of the algorithms, we use the measure-and-conquer method

as a tool to get an upper bound of the running time.

As a result, we show that the TSP in degree-5 graphs can be solved in O∗(2.4723n)

time as reported in Md Yunos et al. [36], the TSP in degree-6 graphs can be solved in

O∗(3.0335n) time as reported in Md Yunos et al. [37], the TSP in degree-7 graphs can be

solved in O∗(3.5939n) time as reported in Md Yunos et al. [38], and the TSP in degree-8

graphs can be solved in O∗(4.1485n) time as reported in Md Yunos et al. [39]. Table 1.2

summarize all results of the TSP in graphs of degree 5 up to 8.

Table 1.2: Time complexity of the TSP in graphs of degree 5 up to 8.

TSP in bounded graphs Time complexity

Degree-5 graphs O∗(2.4723n)

Degree-6 graphs O∗(3.0335n)

Degree-7 graphs O∗(3.5939n)

Degree-8 graphs O∗(4.1485n)

The TSP in degree-8 graphs does not give an advantageous algorithm over Gurevich

and Shelah’s O∗(4nnlogn)-time algorithm, but gives a limit as to the applicability of our

choice of branching rules and analysis method for designing polynomial-space exact algo-

rithms for the TSP in graphs of limited degree. This means that in the quest of designing

polynomial-space exact algorithms for the TSP in graphs of limited degree, possibly dif-

ferent and improved branching rules and analysis method should be sought for in order to

achieve better results.

Page 37: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

12 1. Introduction

Page 38: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Chapter 2

Preliminaries

2.1 Mathematical Notation

Throughout this thesis, the following mathematical notation will be used. For a graph G,

let V (G) denote the set of vertices in G, and let E(G) denote the set of edges in G.

A vertex u is a neighbor of a vertex v if u and v are adjacent by an edge uv. We

denote the set of all neighbors of a vertex v by N(v), also called the neighborhood of v,

and denote by d(v) the cardinality |N(v)| of N(v), also called the degree of v. For a

subset W ⊆ V (G) of vertices, let N(v;W ) = N(v) ∩ W . For a subset E′ ⊆ E(G) of

edges, let NE′(v) = N(v) ∩ u | uv ∈ E′, and let dE′(v) = |NE′(v)|. Analogously, let

NE′(v;W ) = NE′(v) ∩W , and dE′(v,W ) = |NE′(v,W )|. Also, for a subset E′ of E(G),

we denote by G−E′ the graph (V,E \E′) obtained from G by removing the edges in E′.

We employ a known generalization of the TSP proposed by Rubin [43], named the

forced Traveling Salesman Problem by Eppstein [18]. We define an instance I = (G,F )

that consists of a simple, edge weighted, undirected graph G, and a subset F of edges

in G, called forced, as shown in Figure 2.1a. For brevity, throughout this thesis let U

denote E(G) \ F . A vertex is called forced if exactly one of its incident edges is forced.

Similarly, it is called unforced if no forced edge is incident to it. A Hamiltonian cycle in G

is called a tour if it passes through all the forced edges in F . Under these circumstances,

the forced TSP requests to find a minimum cost tour of an instance (G,F ), and Figure 2.1b

shows an example of the minimum cost of a tour of (G,F ).

2.2 Essentials on Branching Algorithms

There are a lot of algorithmic techniques for designing exponential time algorithms, and

one of them is the branching method. Recently, branching algorithms have been known to

give the fastest exact algorithms for many NP-hard problems. The idea behind branching

13

Page 39: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

14 2. Preliminaries

5 2

3

6

2

1

4 3

2 2

G

: unforced edges

: forced edges

(a) Example of an instance (G,F ).

5 2

3

6

2

1

4 3

2 2

G

: unforced edges

: forced edges

(b) Minimum cost tour of an instance (G,F ).

Figure 2.1: An instance (G,F ) and the minimum cost tour of an instance (G,F ).

algorithms is natural and simple. They work by recursively solving subproblems using two

types of rules, namely:

1. Reduction rules; and

2. Branching rules.

More description about the reduction rules and the branching rules used in our branching

algorithms for the TSP in graphs of limited degree will be discussed in Chapter 3.

This section reviews how to derive an upper bound on the number of instances that

can be generated from an initial instance by the branching algorithm. This is the core of

analyzing the worst case running time.

We can represent the solution space of a branching algorithm as a search tree. This

is a very useful way to illustrate the execution of a set of branching rules, and to aid the

time analysis of the branching algorithm. The search tree is obtained by assigning the

input instance of a problem as a root node, and recursively assigning a child to a node for

each smaller instance obtained by applying the branching rules. For a single node of the

search tree, the algorithm takes time polynomial in the size of the node instance, which

in turn, is not larger than the size of the original instance size. Thus, we can conclude

that the running time of the branching algorithm is proportional to the number of nodes

of the search tree up to a polynomial factor of the original input instance size.

Our branching algorithm typically comprises multiple branching rules. We use the

measure-and-conquer method to analyze the running time of the branching algorithm, and

the measure-and-conquer method will be discuss in Section 2.3. Generally, we perform the

time analysis of the branching algorithm via appropriately constructed recurrences over

the measure µ = µ(I) of an instance I = (G,F ), for each of the branching rules of the

algorithm. For each of the branching rules, let I be a given instance with size µ, and let I ′

and I ′′ be instances obtained from I by a branching operation. We use T (µ) to denote

the maximum number of nodes in the search tree of an input of size µ when we execute

our branching algorithm. Let a and b be lower bounds on the amounts of decrease in size

Page 40: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

2. Preliminaries 15

of instances I ′ and I ′′, respectively, and these values directly determine the performance

of the algorithm. Then, we call (a, b) the branching vector of the branching rule, and this

implies the linear recurrence:

T (µ) ≤ T (µ− a) + T (µ− b) . (2.1)

To evaluate the performance of this branching vector, we can use any standard method

for linear recurrence relations. In fact, it is known that T (µ) is of the form

O (τµ) , (2.2)

where τ is the unique positive real root of the function f(x) = 1−(x−a + x−b

)[20]. The

value τ is called the branching factor of a given branching vector, and the running time

of the algorithm decreases with the value of this branching factor. The running time of

the algorithm is determined by considering the worst branching factor over all branching

vectors generated by all of the branching rules of the algorithm.

2.3 The Measure-and-Conquer Method

To effectively analyze the running time of our branching algorithm, we use the measure-

and-conquer method. A complete description of this method is beyond the scope of this

thesis, and the interested reader might refer to the book of Fomin and Kratsch [20].

The basic idea behind the measure-and-conquer method is to assign a measure to an

instance, as opposed to using simply its size when analyzing the branching vectors of the

branching operations. A good choice for a measure might lead to a significantly improved

analysis on the upper bound of the running time of a branching algorithm. For example,

Fomin et al. [19] have presented simple polynomial-space algorithms for the Maximum

Independent Set and the Minimum Dominating Set Problem, and obtained an impressive

refinement of the time analysis by using the measure-and-conquer method. This shows

that a good choice of measure is very important to the achievable time bounds.

For a given problem instance I of size µ, let µ(I) be the measure of I. When considering

a branch-and-reduce algorithm for the concerned problem, intuitively a chosen measure

should satisfy the following properties:

(i) µ(I) = 0 if and only if I can be solved in polynomial time; and

(ii) If I ′ is a sub-instance of I obtained through a reduction or a branching operation,

then µ(I ′) ≤ µ(I).

A measure µ satisfying conditions (i) and (ii) above is called a proper measure.

Page 41: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

16 2. Preliminaries

Page 42: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Chapter 3

A Polynomial-Space

Branching Algorithm

3.1 A Polynomial-Space Branching Algorithm

As mentioned in the previous chapter, we employ a known generalization of the TSP,

named the forced TSP. We define an instance I = (G,F ) of the forced TSP that consists

of a simple, edge weighted, undirected graph G, and a subset F of edges in G, called

forced. We focus on special types of TSP instances, that is, graphs of limited degree,

which we call degree-i graphs.

A natural branching algorithm consists of a set of reduction rules and a set of branch-

ing rules. First, the algorithm applies the reduction rules until no further reduction is

possible. If it becomes evident that after applying the reduction rules an instance be-

comes infeasible, then the algorithm terminates. Otherwise, the algorithm searches for a

solution by applying the branching rules in an instance that cannot be further reduced.

These two sets of rules are repeated iteratively. Details of the reduction rules and the

branching rules will be discussed in the following sections.

3.2 Reduction Rules

Reduction is a process of transforming an instance to a smaller instance while preserving

its optimality. It takes polynomial time to obtain a solution of an original instance from

a solution of a smaller instance that has been obtained by a reduction procedure from the

original instance. Generally, we use simple reduction rules based on natural observations.

Not all forced TSP instances have a tour. For this reason, an instance should go

through a basic natural infeasibility checking procedure before executing the reduction

17

Page 43: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

18 3. A Polynomial-Space Branching Algorithm

procedure. If an instance has no tour, then we call it infeasible. Lemma 1 gives two

sufficient conditions for an instance to be infeasible, as observed by Rubin [43].

Lemma 1 If one of the following conditions holds, then the forced TSP instance (G,F )

is infeasible:

(i) d(v) ≤ 1 for some vertex v ∈ V (G); and

(ii) dF(v) ≥ 3 for some vertex v ∈ V (G).

There are two reduction rules applied following each of the branching operations. These

reduction rules preserve the minimum cost of a tour of an instance, as stated in Lemma 2.

Lemma 2 Each of the following reductions preserves the feasibility and a minimum cost

tour of an instance (G,F ):

(i) If d(v) = 2 for a vertex v, then add to F any unforced edge incident to the vertex v;

and

(ii) If d(v) > 2 and dF(v) = 2 for a vertex v, then remove from G any unforced edge

incident to the vertex v.

Proof. Statements (i) and (ii) immediately follow from the definition of tours.

From Lemma 1 and Lemma 2, we form our reduction algorithm as described in Algo-

rithm 1. An instance (G,F ) which does not satisfy any of the conditions in Lemma 1 and

Lemma 2 is called reduced.

Algorithm 1 Red(G,F )

Input: An instance (G,F ).

Output: A reduced instance (G′, F ′) of (G,F ); or a message for the infeasibility of (G,F ),

which evaluates to ∞.

1: Initialize (G′, F ′) := (G,F );

2: while (G′, F ′) is not a reduced instance do

3: if there is a vertex v in (G′, F ′) such that d(v) ≤ 1 or dF ′(v) ≥ 3 then

4: return message “Infeasible”

5: else if there is a vertex v in (G′, F ′) such that 2 = d(v) > dF ′(v) then

6: Let E† be the set of unforced edges incident to all such vertices;

7: set F ′ := F ′ ∪ E†

8: else if there is a vertex v in (G′, F ′) such that d(v) > dF ′(v) = 2 then

9: Let E† be the set of unforced edges incident to all such vertices;

10: set G′ := G′ − E†

11: end if

12: end while;

13: return (G′, F ′).

Page 44: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

3. A Polynomial-Space Branching Algorithm 19

3.3 Branching Rules

The nature of our branching rules is to branch on an unforced edge e in a reduced in-

stance I = (G,F ) iteratively, by either including e into F , force(e), or excluding it

from G, delete(e). As a consequence of applying a branching operation, the algorithm

generates two new instances, called branches, by adding an unforced edge to F , or by

removing it from G.

Each of the algorithms specialized to degree-i graphs presented in this thesis is based

on a suitably chosen set of branching rules. The choice of an edge e to branch on plays a

key role in the analysis of our branching algorithm. To this effect, in an instance (G,F ),

we assign the following priority in choosing an unforced edge e = vt to branch on. At

least one of v and t must be a degree-i vertex. Without loss of generality, we always take

it to be v. For the choice of both vertex v and vertex t, forced vertices take precedence

over unforced ones, and for the choice of t, vertices of lower degree take precedence over

vertices of higher degree. A pair of neighbors vt with no neighbor in common has highest

priority, and the priority decreases as the size of the common neighborhood increases. If

the graph has a degree-i vertex, then an edge e = vt of highest priority exists, and it is

call optimal. We refer to this priority in choosing an edge e = vt to branch on as the

branching rules.

The idea behind our strategy of assigning priority to edges is in the observation that

vertices of lower degree usually give us more decrease in the measure as compared to

vertices of higher degree, and so forced vertices as compared to unforced vertices. Our

aim is to get as low time bound of the algorithm as possible. As described in Section 2.2,

the amounts of decrease determine the performance of the algorithm.

If none of the branching rules of the algorithm can be executed, this means that all

vertices in the graph have degree (i − 1) or less. In that case, we can switch and make

use a fast algorithm specialized to TSP instances of degree at most (i − 1). Xiao and

Nagamochi [51, Lemma 3] have shown how to leverage results obtained by a measure-and-

conquer analysis, and that an algorithm can be used as a sub-procedure. We can get a

non-trivial time bound on this sub-procedure if we know the respective weight setting of

vertices in the algorithm for the TSP of degree-(i− 1) graphs.

A complete list of each of the branching rules of the TSP in graphs of limited degree-i,

for each i = 5, 6, 7, 8, is given in Chapters 4, 5, 6 and 7, respectively.

Page 45: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

20 3. A Polynomial-Space Branching Algorithm

Page 46: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Chapter 4

The Traveling Salesman Problem

in Degree-5 Graphs

4.1 Branching Rules for the TSP in Degree-5 Graphs

This section discusses details of the branching rules for the TSP in degree-5 graphs. To

describe the algorithm for the TSP in degree-5 graphs, let (G,F ) be a reduced forced TSP

instance such that the maximum degree of G is at most 5. Let Vui (resp., Vfi), i = 3, 4, 5,

denote the set of ui-vertices (resp., fi-vertices) in (G,F ). In (G,F ), an unforced edge e = vt

incident to a vertex v of degree 5 is called optimal, if it has highest priority according to

our priority assignment as described in Section 3.3. Particularly, our priority assignment

gives priority to an f5-vertex over a u5-vertex for the choice of the vertex v, while for the

choice of a vertex t, the order of priorities is as follows: f3, u3, f4, u4, f5 and u5-vertex.

The cases in the list of priorities are labelled as “case c-j” over all unforced edges vt in

(G,F ). In total, there are 14 cases which make our branching rules.

The collective set of branching rules are illustrated in Figure 4.1. For convenience in the

analysis of the algorithm, cases c-5 and c-8 have been subdivided into sub-cases according

to the cardinality of the neighborhood intersection. Intersections of lower cardinality take

precedence over higher ones.

Given a reduced instance I = (G,F ), our algorithm first checks whether there exists

a vertex of degree 5, and if it does, chooses an optimal edge according to the branching

rules. If there exists no optimal edge according to the branching rules, then the reduced

instance has no more vertices of degree 5, and the maximum degree of the reduced instance

at this point is at most 4. Then, we can call a polynomial-space exact algorithm for the

TSP that is specialized for degree-4 graphs, e.g., the algorithm specialized for the TSP

in degree-4 graphs by Xiao and Nagamochi [50]. Details of the algorithm for the TSP in

21

Page 47: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

22 4. The TSP in Degree-5 Graphs

degree-5 graphs is described in Algorithm 2.

Branching Rules of the Algorithm for the TSP in Degree 5

(c-1) v ∈ Vf5 and t ∈ NU (v;Vf3) such

that NU (v) ∩NU (t) = ∅;(c-2) v ∈ Vf5 and t ∈ NU (v;Vf3) such

that NU (v) ∩NU (t) 6= ∅;(c-3) v ∈ Vf5 and t ∈ NU (v;Vu3);

(c-4) v ∈ Vf5 and t ∈ NU (v;Vf4) such

that NU (v) ∩NU (t) = ∅;(c-5) v ∈ Vf5 and t ∈ NU (v;Vf4) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1; and

(II) |NU (v) ∩NU (t)| = 2;

(c-6) v ∈ Vf5 and t ∈ NU (v;Vu4);

(c-7) v ∈ Vf5 and t ∈ NU (v;Vf5) such

that NU (v) ∩NU (t) = ∅;

(c-8) v ∈ Vf5 and t ∈ NU (v;Vf5) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2; and

(III) |NU (v) ∩NU (t)| = 3;

(c-9) v ∈ Vf5 and t ∈ NU (v;Vu5);

(c-10) v ∈ Vu5 and t ∈ NU (v;Vf3);

(c-11) v ∈ Vu5 and t ∈ NU (v;Vu3);

(c-12) v ∈ Vu5 and t ∈ NU (v;Vf4);

(c-13) v ∈ Vu5 and t ∈ NU (v;Vu4); and

(c-14) v ∈ Vu5 and t ∈ NU (v;Vu5).

Algorithm 2 tsp5(G,F )

Input: An instance (G,F ) such that the maximum degree of G is at most 5.

Output: The minimum cost of a tour of (G,F ); or a message for the infeasibility of (G,F ),

which evaluates to ∞.

1: Run Red(G,F );

2: if Red(G,F ) returns ∞ then

3: return ∞4: else

5: Let (G′, F ′) := Red(G,F );

6: if Vu5 ∪ Vf5 6= ∅ in (G′, F ′) then

7: Choose an optimal unforced edge e;

8: return mintsp5(G′, F ′ ∪ e), tsp5(G′ − e, F ′)9: else /* the maximum degree of any vertex in (G′, F ′) is at most 4 */

10: return tsp4(G′, F ′)

11: end if

12: end if.

Note: The input and output of algorithm tsp4(G,F ) are as follows:

Input: An instance (G,F ) such that the maximum degree of G is at most 4.

Output: The minimum cost of a tour of (G,F ); or a message for the infeasibility of

(G,F ), which evaluates to ∞.

Page 48: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 23

: unforced edges : forced edges

c-1

v

t1

t2 t3

t4

e

t5

c-2

v

t1

t2 t3

t4

e

c-3

v

t1

t2 t3

t4

e

t5 t6c-4

v

t1

t2 t3

t4

e

t5t6

c-5(I)

v

t1

t2 t3

t4

e

t5

c-5(II)

v

t1

t2 t3

t4

e

c-6

v

t1

t2 t3

t4

e

c-7t7

v

t1

t2 t3

t4

e

t5 t6

c-8(I)

v

t1

t2 t3

t4

e

t5 t6

c-8(II)

v

t1

t2 t3

t4

e

t5

c-8(III)

v

t1

t2 t3

t4

e

c-9

v

t1

t2 t3

t4

e

c-10

v

t1

t2

e

t6

t3

t4

t5

c-12

v

t1

t2

e

t6 t7

t3

t4

t5

c-11

v

t1

t2

e

t6t7

t3

t4

t5

c-14

t3

t4

t5

v

t1

t2

e

c-13

t3

t4

t5

v

t1

t2

e

Figure 4.1: Illustration of the branching rules for degree-5 vertex v.

4.2 Main Result

Given an instance I = (G,F ) of the forced TSP, we assign a non-negative weight ω(v) to

each vertex v ∈ V (G) according to its type. To this effect, we set a non-negative vertex

weight function ω : V → R+ in the graph G, and we use the sum of weights of all vertices

in the graph as the measure µ(I) of the instance I. That is,

µ(I) ,∑

v∈V (G)

ω(v). (4.1)

We bring to attention the fact that the number n of vertices in the graph G remains

unmodified throughout the process of the reduction and branching operations. In addition

to seeking a proper measure, we also require that the weight of each vertex to be not greater

Page 49: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

24 4. The TSP in Degree-5 Graphs

than 1, and therefore, the measure µ(I) will not be greater than the number n of vertices

in G. As a consequence, a running time bound as a function of the measure µ(I) implies

the same running time bound as a function of the number of vertices n. The weight

assigned to each vertex type plays an important role, as the value of the branching factor

depends solely on these weights.

Let the vertex weight function ω(v) be chosen as follows:

ω(v) =

w5 = 1 for a u5-vertex v

w′5 = 0.491764 for an f5-vertex v

w4 = 0.700651 for a u4-vertex v

w′4 = 0.347458 for an f4-vertex v

w3 = 0.322196 for a u3-vertex v

w′3 = 0.183471 for an f3-vertex v

0 otherwise.

(4.2)

Lemma 3 If the vertex weight function ω(v) is set as in Eq. (4.2), then the branching

factor of each branching operation in Algorithm 2 is not greater than 2.472232.

A proof of Lemma 3 will be derived analytically in the several subsections which follow.

From Lemma 3, we get our main result as stated in Theorem 1.

Theorem 1 The TSP in an n-vertex graph G with maximum degree 5 can be solved in

O∗(2.4723n) time and polynomial space.

4.3 Weight Constraints

In order to obtain a measure which will imply the same running time bound as a function

of the size of a TSP instance, we require that the weight of each vertex be at most 1.

In what follows, we examine some sufficient constraints which the vertex weights should

satisfy in order to obtain a proper measure.

For i = 3, 4, 5, let wi be the weight of a ui-vertex and w′i be the weight of an fi-vertex.

The conditions for a proper measure require that the measure of an instance obtained

through the reduction operation or the branching operation will not be greater than the

measure of the original instance. Thus, the vertex weight for vertices of degree less than 3

Page 50: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 25

is set to be 0, w5 ≤ 1 and other vertex weights should satisfy the following relations:

w′i ≤ wi, 3 ≤ i ≤ 5, (4.3)

wi ≤ wj , 3 ≤ i < j ≤ 5, and (4.4)

w′i ≤ w′j , 3 ≤ i < j ≤ 5. (4.5)

As a result of the reduction and the branching operations, the degree of some vertices

will decrease, while the degree of other vertices will remain unchanged. A forced edge will

never be eliminated, neither by the reduction nor the branching operations. Conversely,

an unforced edge may be erased or become forced by the reduction or the branching

operations. Thus, the measure of an instance obtained through the reduction or the

branching operations will not be greater than the measure of the original instance. We

proceed to show that in the algorithms given in Algorithm 1 and Algorithm 2, setting

vertex weights which satisfy the conditions of Eqs. (4.3) to (4.5) is sufficient to obtain a

proper measure.

Lemma 4 If the weights of vertices are chosen as in Eqs. (4.3) to (4.5), then the measure

µ(I) never increases as a result of the reduction or the branching operations of Algorithm 1

and Algorithm 2.

Proof. Let I = (G,F ) be a given instance of the forced TSP. Due to our definition of the

measure µ(I) of Eq. (4.1), it suffices to show that none of the individual vertex weights

will increase as a result of a reduction operation or a branching operation of Algorithm 1

and Algorithm 2.

The branching rules state that for an unforced edge e in E(G) \ F , two subinstances

are generated by either setting F := F ∪e, termed force(e), or by setting G := G−e,termed delete(e). In fact, we bring to attention that the reduction operation, if it does not

return ∞, is in fact a repeated application of the above two steps, force(e) or delete(e),

for some unforced edge e, identified by the conditions in Lemma 2. Therefore, we proceed

with analyzing the effects of applying the force(e) and the delete(e) operations.

Let e = uv be an unforced edge to which one of the force(e) or delete(e) operations

will be applied. Both u and v must have degree more than 2, otherwise by Lemma 1, the

instance is infeasible. Without loss of generality, we observe the effect of the operation on

the vertex weight ω(v).

In the case that operation force(e) is applied, the following cases arise.

• If v is an unforced vertex, then v will become forced. By Eq. (4.3), the weight ω(v)

will not increase;

Page 51: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

26 4. The TSP in Degree-5 Graphs

• If v is a forced vertex, then ω(v) will become 0; and

• If dF (v) ≥ 2, then by Lemma 1 the instance will become infeasible.

On the other hand, if operation delete(e) is applied, then we observe the following

cases.

• If v is either forced or unforced, and d(v) ≥ 3, then the degree of v will decrease

by 1, and by Eqs. (4.4) and (4.5), ω(v) will not increase; and

• If v is either forced or unforced, and d(v) ≤ 2, then by Lemma 1 the instance will

become infeasible.

Following the above observations, we conclude that the complete measure µ(I) of a

given instance I = (G,F ) of the forced TSP will not increase as a result of the reduction

and branching operations of Algorithm 1 and Algorithm 2.

To simplify some arguments, we introduce the following notation:

∆i , wi − w′i, 3 ≤ i ≤ 5,

∆i,j , wi − wj , 3 ≤ j < i ≤ 5, and

∆′i,j , w′i − w′j , 3 ≤ j < i ≤ 5.

In the remainder of the analysis, for an optimal edge e = vt1, we refer to NU (v) by

t1, t2, . . . , ta, where a = dU (v), and to NU (t1) \ v by ta+1, ta+1, . . . , ta+b, where

b = dU (t1) − 1. We assume without loss of generality that t1+i = ta+i for i = 1, 2, . . . , c,

where c = |NU (v) ∩NU (t1)|, the number of neighbors that v and t1 have in common.

4.4 Branching on Edges around f5-vertices

This section derives branching vectors for the branching operation on an optimal edge

e = vt1, incident to an f5-vertex v, distinguishing nine cases for conditions c-1 to c-9.

Case c-1. There exist vertices v ∈ Vf5 and t1 ∈ NU (v;Vf3) such that NU (v)∩NU (t1) = ∅(see Figure 4.2): We branch on edge vt1. Note that NU (t1) \ v = t5.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching

operation, and edges vt2, vt3, vt4 and t1t5 will be deleted from G′ by the reduction

rules. Both v and t1 will become vertices of degree 2. From Eq. (4.2), the weight

of vertices of degree 2 is 0. Hence, the weight of vertex v decreases by w′5, and the

weight of vertex t1 decreases by w′3. Each of the vertices t2, t3 and t4 must be one of

types f3, u3, f4, u4, f5 and a u5-vertex, and each of their weights decreases by at least

Page 52: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 27

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges(a) force(vt1) in c-1

t1

ve

t2t3

t4

t5

(b) delete(vt1) in c-1

t1

ve

t2t3

t4

t5

Figure 4.2: Illustration of branching rule c-1, where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf3) such that NU (v) ∩NU (t1) = ∅.

m1 , minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4. If the vertex t5 is an f3-vertex (resp., u3, f4, u4,

f5 and a u5-vertex), then the weight decrease α1 of vertex t5 will be w′3 (resp., w3, ∆′4,3,

∆4,3, ∆′5,4 and ∆5,4). Thus, the total weight decrease in the branch of force(vt1) is at

least w′5 + w′3 + 3m1 + α1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t5 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆′5,4, and the weight of vertex t1 decreases by w′3. If the vertex t5

is an f3-vertex (resp., u3, f4, u4, f5 and a u5-vertex), then the weight decrease β1 of vertex

t5 will be w′3 (resp., ∆3, w′4, ∆4, w

′5 and ∆5). Thus, the total weight decrease in the

branch of delete(vt1) is at least w′5 − w′4 + w′3 + β1.

As a result, for the ordered pair (α1, β1) taking values in (w′3, w′3), (w3,∆3), (∆′4,3, w′4),

(∆4,3,∆4), (∆′5,4, w′5), (∆5,4,∆5), we get the following six branching vectors:(

w′5 + w′3 + 3m1 + α1, w′5 − w′4 + w′3 + β1

). (4.6)

Case c-2. Case c-1 is not applicable, and there exist vertices v ∈ Vf5 and t1 ∈ NU (v;Vf3)

such that NU (v)∩NU (t1) 6= ∅: Without loss of generality, assume that NU (v)∩NU (t1) =

t2 (see Figure 4.3). We branch on edge vt1.

(a) force(vt1) in c-2

t1

ve

t2t3

t4

(b) delete(vt1) in c-2

t1

ve

t2t3

t4

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.3: Illustration of branching rule c-2, where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf3) such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4 and t1t2 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by w′5, and the weight of vertex t1 decreases by w′3. Each

Page 53: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

28 4. The TSP in Degree-5 Graphs

of the vertices t3 and t4 must be one of types f3, u3, f4, u4, f5 and a u5-vertex, and each

of their weights decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4.

If the vertex t2 is an f3 or a u3-vertex, after applying the branching operation, t2 would

become a vertex of degree 1. From Lemma 1, case (i), this is infeasible, and the algorithm

will return∞ and terminate. Otherwise, if the vertex t2 is an f4-vertex (resp., u4, f5 and a

u5-vertex), then the weight decrease α2 of vertex t2 will be w′4 (resp., w4, ∆′5,3 and ∆5,3).

Thus, the total weight decrease in the branch of force(vt1) is at least w′5 +w′3 +2m1 +α2.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t2 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆′5,4, and the weight of vertex t1 decreases by w′3. If the vertex

t2 is an f4-vertex (resp., u4, f5 and a u5-vertex), then the weight decrease β2 of vertex

t2 will be w′4 (resp., ∆4, w′5 and ∆5). Thus, the total weight decrease in the branch of

delete(vt1) is at least w′5 − w′4 + w′3 + β2.

As a result, for the ordered pair (α2, β2) taking values in (w′4, w′4), (w4,∆4), (∆′5,3, w′5),

(∆5,3,∆5), we get the following four branching vectors:(w′5 + w′3 + 2m1 + α2, w

′5 − w′4 + w′3 + β2

). (4.7)

Case c-3. Case c-1 and c-2 are not applicable, and there exist vertices v ∈ Vf5 and

t1 ∈ NU (v;Vu3) (see Figure 4.4): We branch on edge vt1. Note that NU (t1)\v = t5, t6.

(a) force(vt1) in c-3

t1

ve

t2t3

t4

t5 t6

(b) delete(vt1) in c-3

t1

ve

t2t3

t4

t5 t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.4: Illustration of branching rule c-3, where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vu3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3 and vt4 will be deleted from G′ by the reduction rules. Hence, the

weight of vertex v decreases by w′5, and the weight of vertex t1 decreases by ∆3. Each of

the vertices t2, t3 and t4 must be one of types u3, f4, u4, f5 and a u5-vertex, and each of

their weights decreases by at least m2 , minw3,∆′4,3,∆4,3,∆

′5,4,∆5,4. Thus, the total

weight decrease in the branch of force(vt1) is at least w′5 + w3 − w′3 + 3m2.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and edges t1t5 and t1t6 will be added to F ′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆′5,4, and the weight of vertex t1 decreases by w3. Each

Page 54: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 29

of the vertices t5 and t6 must be one of types f3, u3, f4, u4, f5 and a u5-vertex, and each

of their weights decreases by at least m3 , minw′3,∆3, w′4,∆4, w

′5,∆5. Thus, the total

weight decrease in the branch of delete(vt1) is at least w′5 − w′4 + w3 + 2m3.

As a result, we get the following branching vector:(w′5 + w3 − w′3 + 3m2, w

′5 − w′4 + w3 + 2m3

). (4.8)

Case c-4. None of the previous cases are applicable, and there exist vertices v ∈ Vf5 and

t1 ∈ NU (v;Vf4) such that NU (v) ∩ NU (t1) = ∅ (see Figure 4.5): We branch on edge vt1.

Note that NU (t1) \ v = t5, t6.

(a) force(vt1) in c-4

t1

ve

t2t3

t4

t5 t6

(b) delete(vt1) in c-4

t1

ve

t2t3

t4

t5 t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.5: Illustration of branching rule c-4, where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf4), such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, t1t5 and t1t6 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′5, and the weight of vertex t1 decreases

by w′4. Each of the vertices t2, t3 and t4 must be one of types f4, u4, f5 and a u5-vertex,

and each of their weights decreases by at least m4 , min∆′4,3,∆4,3,∆′5,4,∆5,4. Each of

the vertices t5 and t6 must be one of types f3, u3, f4, u4, f5 and a u5-vertex, and each

of their weights decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4. Thus, the

total decrease in the branch of force(vt1) is at least w′5 + w′4 + 3m4 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′5,4, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′5 − w′4 + w′4 − w′3 = w′5 − w′3.

As a result, we get the following branching vector:(w′5 + w′4 + 3m4 + 2m1, w

′5 − w′3

). (4.9)

Case c-5. None of the previous cases are applicable, and there exist vertices v ∈ Vf5and t1 ∈ NU (v;Vf4) such thatNU (v)∩NU (t1) 6= ∅: We distinguish two sub cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

Page 55: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

30 4. The TSP in Degree-5 Graphs

c-5(I) |NU (v) ∩NU (t1)| = 1, and

c-5(II) |NU (v) ∩NU (t1)| = 2.

Case c-5(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see

Figure 4.6): We branch on edge vt1. Note that NU (t1) \ v = t5.

(a) force(vt1) in c-5(I)

t1

ve

t2t3

t4

t5

(b) delete(vt1) in c-5(I)

t1

ve

t2t3

t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.6: Illustration of branching rule c-5(I), where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf4), such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, t1t2 and t1t5 will be deleted from G′ by the reduction rules.

Hence, the weight of vertex v decreases by w′5, and the weight of vertex t1 decreases by

w′4. The vertex t2 must be one of types f4, u4, f5 and a u5-vertex, and its weight decreases

by at least m5 , minw′4, w4,∆′5,3,∆5,3. Each of the vertices t3 and t4 must be one of

types f4, u4, f5 and a u5-vertex, and each of their weights decreases by at least m4 =

min∆′4,3,∆4,3,∆′5,4,∆5,4. The vertex t5 must be one of types f3, u3, f4, u4, f5 and a u5-

vertex, and its weight decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4. Thus,

the total weight decrease in the branch of force(vt1) is at least w′5 +w′4 +m5 + 2m4 +m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′5,4, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′5 − w′4 + w′4 − w′3 = w′5 − w′3.

As a result, we get the following branching vector:(w′5 + w′4 +m5 + 2m4 +m1, w

′5 − w′3

). (4.10)

Case c-5(II). Without loss of generality, assume that NU (v) ∩NU (t1) = t2, t3 (see

Figure 4.7): We branch on edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, t1t2 and t1t3 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′5, and the weight of vertex t1 decreases

by w′4. Each of the vertices t2 and t3 must be one of types f4, u4, f5 and a u5-vertex,

and each of their weights decreases by at least m5 = minw′4, w4,∆′5,3,∆5,3. The ver-

tex t4 must be one of types f4, u4, f5 and a u5-vertex, and its weight decreases by at

Page 56: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 31

(a) force(vt1) in c-5(II)

t1

ve

t2t3

t4

(b) delete(vt1) in c-5(II)

t1

ve

t2t3

t4

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.7: Illustration of branching rule c-5(II), where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf4) such that NU (v) ∩NU (t1) = t2, t3.

least m4 = min∆′4,3,∆4,3,∆′5,4,∆5,4. Thus, the total weight decrease in the branch of

force(vt1) is at least w′5 + w′4 + 2m5 +m4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′5,4, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′5 − w′4 + w′4 − w′3 = w′5 − w′3.

As a result, we get the following branching vector:

(w′5 + w′4 + 2m5 +m4, w

′5 − w′3

). (4.11)

Case c-6. None of the previous cases are applicable, and there exist vertices v ∈ Vf5 and

t1 ∈ NU (v;Vu4) (see Figure 4.8): We branch on edge vt1.

(b) delete(vt1) in c-6

t1

ve

t2t3

t4

(a) force(vt1) in c-6

t1

ve

t2t3

t4

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.8: Illustration of branching rule c-6, where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vu4).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3 and vt4 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by w′5, and the weight of vertex t1 decreases by ∆4. Each

of the vertices t2, t3 and t4 must be one of types u4, f5 and a u5-vertex, and each of their

weights decreases by at least m6 , min∆4,3,∆′5,4,∆5,4. Thus, the total weight decrease

in the branch of force(vt1) is at least w′5 + w4 − w′4 + 3m6.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′5,4, and the weight of vertex t1

Page 57: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

32 4. The TSP in Degree-5 Graphs

decreases by ∆4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′5 − w′4 + w4 − w3.

As a result, we get the following branching vector:(w′5 + w4 − w′4 + 3m6, w

′5 − w′4 + w4 − w3

). (4.12)

Case c-7. None of the previous cases are applicable, and there exist vertices v ∈ Vf5 and

t1 ∈ NU (v;Vf5) such that NU (v) ∩ NU (t1) = ∅ (see Figure 4.9): We branch on edge vt1.

Note that NU (t1) \ v = t5, t6, t7.

(a) force(vt1) in c-7

t1

ve

t2t3

t4

t5 t6 t7

(b) delete(vt1) in c-7

t1

ve

t2t3

t4

t5 t6 t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.9: Illustration of branching rule c-7, where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf5), such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, t1t5, t1t6 and t1t7 will be deleted from G′ by the reduction

rules. Hence, both weights of vertex v and vertex t1 each decreases by w′5. Each of the

vertices t2, t3, t4, t5, t6 and t7 must be a type f5 or a u5-vertex, and each of their weights

decreases by at least m7 , min∆′5,4,∆5,4. Thus, the total weight decrease in the branch

of force(vt1) is at least 2w′5 + 6m7.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′5,4. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′5 − 2w′4.

As a result, we get the following branching vector:(2w′5 + 6m7, 2w′5 − 2w′4

). (4.13)

Case c-8. None of the previous cases are applicable, and there exist vertices v ∈ Vf5 and

t1 ∈ NU (v;Vf5) such that NU (v) ∩NU (t1) 6= ∅: We distinguish three sub cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-8(I) |NU (v) ∩NU (t1)| = 1,

c-8(II) |NU (v) ∩NU (t1)| = 2, and

c-8(III) |NU (v) ∩NU (t1)| = 3.

Page 58: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 33

Case c-8(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see

Figure 4.10): We branch on edge vt1. Note that NU (t1) \ v = t5, t6.

(a) force(vt1) in c-8(I)

t1

ve

t2t3

t4

t5 t6

(b) delete(vt1) in c-8(I)

t1

ve

t2t3

t4

t5 t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.10: Illustration of branching rule c-8(I), where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf5), such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, t1t2, t1t5 and t1t6 will be deleted from G′ by the reduction

rules. Hence, both weights of vertex v and vertex t1 each decreases by w′5. The vertex t2

must be a type f5 or a u5-vertex, and its weight decreases by at least m8 , min∆′5,3,∆5,3.Each of the vertices t3, t4, t5 and t6 must be a type f5 or a u5-vertex, and each of their

weights decreases by at least m7 = min∆′5,4,∆5,4. Thus, the total weight decrease in

the branch of force(vt1) is at least 2w′5 + 4m7 +m8.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′5,4. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′5 − 2w′4.

As a result, we get the following branching vector:(2w′5 + 4m7 +m8, 2w′5 − 2w′4

). (4.14)

Case c-8(II). Without loss of generality, assume that NU (v) ∩NU (t1) = t2, t3 (see

Figure 4.11): We branch on edge vt1. Note that NU (t1) \ v = t5.

(a) force(vt1) in c-8(II)

t1

ve

t2t3

t4

t5

(b) delete(vt1) in c-8(II)

t1

ve

t2t3

t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.11: Illustration of branching rule c-8(II), where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf5), such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

Page 59: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

34 4. The TSP in Degree-5 Graphs

ation, and edges vt2, vt3, vt4, t1t2, t1t3 and t1t5 will be deleted from G′ by the reduction

rules. Hence, both weights of vertex v and vertex t1 each decreases by w′5. Each of the

vertices t2 and t3 must be a type f5 or a u5-vertex, and each of their weights decreases

by at least m8 = min∆′5,3,∆5,3. Each of the vertices t4 and t5 must be a type f5 or a

u5-vertex, and each of their weights decreases by at least m7 = min∆′5,4,∆5,4. Thus,

the total weight decrease in the branch of force(vt1) is at least 2w′5 + 2m8 + 2m7.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′5,4. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′5 − 2w′4.

As a result, we get the following branching vector:(2w′5 + 2m8 + 2m7, 2w′5 − 2w′4

). (4.15)

Case c-8(III). We have that NU (v) ∩ NU (t1) = t2, t3, t4 (see Figure 4.12): We

branch on edge vt1.

(a) force(vt1) in c-8(III)

t1

ve

t2t3

t4

(b) delete(vt1) in c-8(III)

t1

ve

t2t3

t4

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.12: Illustration of branching rule c-8(III), where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vf5), such that NU (v) ∩NU (t1) = t2, t3, t4.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, t1t2, t1t3 and t1t4 will be deleted from G′ by the reduction

rules. Hence, both weights of vertex v and vertex t1 each decreases by w′5. Each of the

vertices t2, t3, and t4 must be a type f5 or a u5-vertex, and each of their weights de-

creases by at least m8 = min∆′5,3,∆5,3. Thus, the total weight decrease in the branch

of force(vt1) is at least 2w′5 + 3m8.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′5,4. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′5 − 2w′4.

As a result, we get the following branching vector:(2w′5 + 3m8, 2w′5 − 2w′4

). (4.16)

Case c-9. None of the previous cases are applicable, and there exist vertices v ∈ Vf5 and

t1 ∈ NU (v;Vu5) (see Figure 4.13): We branch on edge vt1.

Page 60: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 35

(b) delete(vt1) in c-9

t1

ve

t2t3

t4

(a) force(vt1) in c-9

t1

ve

t2t3

t4

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.13: Illustration of branching rule c-9, where vertex v ∈ Vf5 and vertex t1 ∈NU (v;Vu5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3 and vt4 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by w′5, and the weight of vertex t1 decreases by ∆5.

Each of the vertices t2, t3 and t4 must be a u5-vertex, and each of their weights de-

creases by ∆5,4. Thus, the total weight decrease in the branch of force(vt1) is at least

w′5 + w5 − w′5 + 3w5 − 3w4 = 4w5 − 3w4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′5,4, and the weight of vertex t1

decreases by ∆5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′5 − w′4 + w5 − w4.

As a result, we get the following branching vector:

(4w5 − 3w4, w

′5 − w′4 + w5 − w4

). (4.17)

4.5 Branching on Edges around u5-vertices

If none of the first nine conditions can be executed, this means that the graph has no

f5-vertices. However, this does not mean that the maximum degree of the graph has

been decreased to 4, since there might still be u5-vertices. This section derives branching

vectors for branchings on an optimal edge e = vt1 incident to a u5-vertex v, distinguishing

the five cases for conditions c-10 to c-14.

Case c-10. There are no more f5-vertices, and there exist vertices v ∈ Vu5 and t1 ∈NU (v;Vf3) (see Figure 4.14): We branch on edge vt1. Note that NU (t1) \ v = t6.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and the edge t1t6 will be deleted from G′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆5, and the weight of vertex t1 decreases by w′3. If the vertex t6

is an f3-vertex (resp., u3, f4, u4 and a u5-vertex), then the weight decrease α3 of vertex t6

will be w′3 (resp., w3, ∆′4,3, ∆4,3 and ∆5,4). Thus, the total weight decrease in the branch

Page 61: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

36 4. The TSP in Degree-5 Graphs

(a) force(vt1) in c-10

t1

v

e

t6

t2 t3t4

t5

(b) delete(vt1) in c-10

t2 t3t4

t5

t1

v

e

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.14: Illustration of branching rule c-10, where vertices v ∈ Vu5 and t1 ∈ NU (v;Vf3).

of force(vt1) is at least w5 − w′5 + w′3 + α3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t6 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆5,4, and the weight of vertex t1 decreases by w′3. If the vertex

t6 is an f3-vertex (resp., u3, f4, u4 and a u5-vertex), then the weight decrease β3 of vertex

t6 will be w′3 (resp., ∆3, w′4, ∆4 and ∆5). Thus, total weight decrease in the branch of

delete(vt1) is at least w5 − w4 + w′3 + β3.

As a result, for the ordered pair (α3, β3) taking values in (w′3, w′3), (w3,∆3), (∆′4,3, w′4),

(∆4,3,∆4), (∆5,4,∆5), we get the following five branching vectors:(w5 − w′5 + w′3 + α3, w5 − w4 + w′3 + β3

). (4.18)

Case c-11. None of the previous cases are applicable, and there exist vertices v ∈ Vu5 and

t ∈ NU (v;Vu3) (see Figure 4.15): We branch on edge vt1. Note that NU (t1)\v = t6, t7.

(a) force(vt1) in c-12

t1

v

e

t6 t7

t2 t3t4

t5

(b) delete(vt1) in c-12

t2 t3t4

t5

t1

v

e

t6 t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.15: Illustration of branching rule c-11, where vertex v ∈ Vu5 and vertex t ∈NU (v;Vu3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆5, and the weight of vertex t1

decreases by ∆3. Thus, the total weight decrease in the branch of force(vt1) is at least

w5 − w′5 + w3 − w′3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and edges t1t6 and t1t7 will be added to F ′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆5,4, and the weight of vertex t1 decreases by w3. Each

Page 62: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 37

of the vertices t6 and t7 must be one of types f3, u3, f4, u4 and a u5-vertex, and each of

their weights decreases by at least m9 , minw′3,∆3, w′4,∆4,∆5. Thus, the total weight

decrease in the branch of delete(vt1) is at least w5 − w4 + w3 + 2m9.

As a result, we get the following branching vector:(w5 − w′5 + w3 − w′3, w5 − w4 + w3 + 2m9

). (4.19)

Case c-12. None of the previous cases are applicable, and there exist vertices v ∈ Vu5 and

t1 ∈ NU (v;Vf4) (see Figure 4.16): We branch on edge vt1. Note thatNU (t1)\v = t6, t7.

(a) force(vt1) in c-11

t1

v

e

t6 t7

t2 t3t4

t5

(b) delete(vt1) in c-11

t2 t3t4

t5

t1

v

e

t6 t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.16: Illustration of branching rule c-12, where vertices v ∈ Vu5 and t1 ∈ NU (v;Vf4).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges t1t6 and t1t7 will be deleted from G′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆5, and the weight of vertex t1 decreases by w′4. Each of

the vertices t6 and t7 must be one of types f3, u3, f4, u4 and a u5-vertex, and each of their

weights decreases by at least m10 , minw′3, w3,∆′4,3,∆4,3,∆5,4. Thus, the total weight

decrease in the branch of force(vt1) is at least w5 − w′5 + w′4 + 2m10.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆5,4, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w5 − w4 + w′4 − w′3.

As a result, we get the following branching vector:(w5 − w′5 + w′4 + 2m10, w5 − w4 + w′4 − w′3

). (4.20)

Case c-13. None of the previous cases are applicable, and there exist vertices v ∈ Vu5and t1 ∈ NU (v;Vu4) (see Figure 4.17): We branch on edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆5, and the weight of vertex t1

decreases by ∆4. Thus, the total weight decrease in the branch of force(vt1) is at least

w5 − w′5 + w4 − w′4.

Page 63: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

38 4. The TSP in Degree-5 Graphs

(b) delete(vt1) in c-13

t1

v

e

t2 t3t4

t5

(a) force(vt1) in c-13

t1

v

e

t2 t3t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.17: Illustration of branching rule c-13, where vertex v ∈ Vu5 and vertex t1 ∈NU (v;Vu4).

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆5,4, and the weight of vertex t1

decreases by ∆4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w5 − w4 + w4 − w3 = w5 − w3.

As a result, we get the following branching vector:

(w5 − w′5 + w4 − w′4, w5 − w3

). (4.21)

Case c-14. None of the previous cases are applicable, and there exist vertices v ∈ Vu5and t1 ∈ NU (v;Vu5) (see Figure 4.18): We branch on edge vt1.

(b) delete(vt1) in c-14

t1

ve

t2 t3t4

t5

(a) force(vt1) in c-14

t1

ve

t2 t3t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 4.18: Illustration of branching rule c-14, where vertex v ∈ Vu5 and vertex t1 ∈NU (v;Vu5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, both weights of vertex v and vertex t1 each decreases by ∆5. Thus, the total

weight decrease in the branch of force(vt1) is at least 2w5 − 2w′5.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆5,4. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w5 − 2w4.

As a result, we get the following branching vector:

(2w5 − 2w′5, 2w5 − 2w4

). (4.22)

Page 64: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 39

4.6 Switching to the TSP in Degree-4 Graphs

If none of the 14 cases of Figure 4.1 can be executed, this means that all vertices in the

graph have degree 4 or less. In that case, we can switch and use a fast algorithm for the

TSP in degree-4 graphs, called tsp4(G′, F ′), to solve the remaining instance I ′ = (G′, F ′).

Let n′3, n3, n′4 and n4 be the number of f3, u3, f4 and u4 vertices in I ′, respectively,

where n′3 + n3 + n′4 + n4 = |V (G′)|, and the measure µ(I ′) of instance I ′ is µ(I ′) =

w′3n′3 + w3n3 + w′4n

′4 + w4n4.

At this step, we switch to use the O∗ (1.69193n)-time algorithm for the TSP in a

degree-4 graphs by Xiao and Nagamochi [50]. Let µ(I ′) denote the measure of the TSP

in degree-4 instance I ′, where µ(I ′) = w′3n′3 + w3n3 + w′4n

′4 + w4n4, and the weight w′3

for an f3-vertex is 0.21968, the weight w3 for an f3-vertex is 0.45540, the weight w′4 for

an f3-vertex is 0.59804 and the weight w4 for an f3-vertex is 1. Hence, the running time

bound of the TSP in degree-4 instance I ′ with the measure µ(I ′) is given by

1.69193µ(I′).

Since the time bound on tsp5(G,F ) is expressed by τµ(I′) in Eq. (2.2), we get a constraint

on τ :

1.69193µ(I′) ≤ τµ(I′)

for any partition n′3, n3, n′4, n4 of |V (G′)|. In other words,

1.691930.21968 ≤ τw′3 ,

1.691930.45540 ≤ τw3 ,

1.691930.59804 ≤ τw′4 , and

1.691931 ≤ τw4 .

(4.23)

4.7 Quasiconvex Program

All the branching vectors (a, b) of the branching rules for the TSP in degree-5 graphs and

the switching constraints of Eq. (4.23) are solved in a quasiconvex program according to

the method introduced by Eppstein [17]. Here we use Matlab as a tool to calculate the

unique positive real root of the function f(x) = 1− (x−a + x−b), called branching factor,

as described previously in Section 2.2, as well as to derive the optimal weight of each type

of vertices.

In a list of constraints, first, we include basic inequalities for the weight constraints.

Further, for each of the branching vector (a, b) of the branching rules from case c-1 to

case c-14, we write function f(x) in Matlab code as an inequality condition, that is

−1 + x−ai + x−bi ≤ 0. To put it more clearly, a total number of the branching vector

for each of the branching rule are listed as follows:

Page 65: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

40 4. The TSP in Degree-5 Graphs

Case c-1 has six branching vectors,

Case c-2 has four branching vectors,

Case c-3 has one branching vector,

Case c-4 has one branching vector,

Case c-5 has two branching vectors,

Case c-6 has one branching vector,

Case c-7 has one branching vector,

Case c-8 has three branching vectors,

Case c-9 has one branching vector,

Case c-10 has five branching vectors,

Case c-11 has one branching vector,

Case c-12 has one branching vector,

Case c-13 has one branching vector, and

Case c-14 has one branching vector.

In total, there are 29 constraints generated from all of the branching vectors (ai, bi),

for i = 1, 2, . . . , 29, of case c-1 to case c-14. For the switching constraint, we write

1.69193µ(I′) − xµ(I′) ≤ 0 and in total, there are four constraints derived for switching to

tsp4(G′, F ′).

Generally, our quasicovex program is described as follows:

min x

subject to

w′i − wi ≤ 0, 3 ≤ i ≤ 5,

wi − wj ≤ 0, 3 ≤ i < j ≤ 5,

w′i − w′j ≤ 0, 3 ≤ i < j ≤ 5,

−1 + x−ai + x−bi ≤ 0, 1 ≤ i ≤ 29,

1.691930.21968 − xw′3 ≤ 0,

1.691930.4554 − xw3 ≤ 0,

1.691930.59804 − xw′4 ≤ 0,

1.691931 − xw4 ≤ 0, and

wi, w′i ≥ 0, 3 ≤ i ≤ 5.

A full list of constraints used in the algorithm of the TSP in degree-5 graphs written

in our Matlab code are given in Appendix B.

Page 66: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

4. The TSP in Degree-5 Graphs 41

4.8 Overall Analysis

As a result, the branching factor of each of the branching vectors from cases c-1 to c-14 and

the switching constraints of Eq. (4.23) does not exceed 2.472232. The tight constraints

are in conditions c-4, c-10, c-11, c-12, c-13 and the switching constraints of Eq. (4.23).

This completes a proof of Theorem 1.

Page 67: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

42 4. The TSP in Degree-5 Graphs

Page 68: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Chapter 5

The Traveling Salesman Problem

in Degree-6 Graphs

5.1 Branching Rules for the TSP in Degree-6 Graphs

Now we will discuss details about the branching rules of the TSP in degree-6 graphs and

a set of the branching rules of the algorithm for the TSP in degree-6 graphs contains

only rules to choose an edge incident to a degree-6 vertex. To describe the algorithm for

the TSP in degree-6 graphs, let (G,F ) be a reduced forced TSP instance such that the

maximum degree of G is at most 6. Let Vui (resp., Vfi), i = 3, 4, 5, 6, denote the set of

ui-vertices (resp., fi-vertices) in (G,F ). In (G,F ), an unforced edge e = vt incident to a

vertex v of degree 6 is called optimal, if it has highest priority according to our priority

assignment as described in Section 3.3.

Particularly, our priority assignment gives priority to an f6-vertex over a u6-vertex

for the choice of the vertex v, while for the choice of a vertex t, the order of priorities is

as follows: f3, u3, f4, u4, f5, u5, f6 and u6-vertex, and we label the cases in the list of

priorities as “case-j” over all unforced edges vt in (G,F ). The priority assignment for the

algorithm of the TSP in degree-6 vertices sounds like similar to the priority assignment for

the algorithm of the TSP in degree-5 vertices, but since the number of degree increases so

as the complexity in deriving the branching rules for the algorithm of the TSP in degree-6

graphs. In total, there are 19 cases which make our branching rules, compare to only 14

cases of the branching rules for the TSP in degree-5 graphs.

The collective set of branching rules are illustrated in Figure 5.1. For convenience

in the analysis of the algorithm, cases c-5, c-8 and c-11 have been subdivided into sub-

cases according to the cardinality of the neighborhood intersection. Intersections of lower

cardinality take precedence over higher ones.

43

Page 69: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

44 5. The TSP in Degree-6 Graphs

Given a reduced instance I = (G,F ), our algorithm first checks whether there exists a

vertex of degree 6, and if it does, chooses an optimal edge according to the branching rules.

If there exists no optimal edge according to the branching rules, then the reduced instance

has no more vertices of degree 6, and the maximum degree of the reduced instance at this

point is at most 5. Then, we can call a polynomial space exact algorithm for the TSP that

is specialized for degree-5 graphs, e.g., the algorithm specialized for degree-5 graphs by

Md Yunos et al. [36]. Details of the algorithm for the TSP in degree-6 graphs is described

in Algorithm 3.

Branching Rules of the Algorithm for the TSP in Degree 6

(c-1) v ∈ Vf6 and t ∈ NU (v;Vf3) such

that NU (v) ∩NU (t) = ∅;(c-2) v ∈ Vf6 and t ∈ NU (v;Vf3) such

that NU (v) ∩NU (t) 6= ∅;(c-3) v ∈ Vf6 and t ∈ NU (v;Vu3);

(c-4) v ∈ Vf6 and t ∈ NU (v;Vf4) such

that NU (v) ∩NU (t) = ∅;(c-5) v ∈ Vf6 and t ∈ NU (v;Vf4) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1; and

(II) |NU (v) ∩NU (t)| = 2;

(c-6) v ∈ Vf6 and t ∈ NU (v;Vu4);

(c-7) v ∈ Vf6 and t ∈ NU (v;Vf5) such

that NU (v) ∩NU (t) = ∅;(c-8) v ∈ Vf6 and t ∈ NU (v;Vf5) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2; and

(III) |NU (v) ∩NU (t)| = 3;

(c-9) v ∈ Vf6 and t ∈ NU (v;Vu5);

(c-10) v ∈ Vf6 and t ∈ NU (v;Vf6) such

that NU (v) ∩NU (t) = ∅;(c-11) v ∈ Vf6 and t ∈ NU (v;Vf6) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2;

(III) |NU (v) ∩NU (t)| = 3; and

(IV) |NU (v) ∩NU (t)| = 4;

(c-12) v ∈ Vf6 and t ∈ NU (v;Vu6);

(c-13) v ∈ Vu6 and t ∈ NU (v;Vf3);

(c-14) v ∈ Vu6 and t ∈ NU (v;Vu3);

(c-15) v ∈ Vu6 and t ∈ NU (v;Vf4);

(c-16) v ∈ Vu6 and t ∈ NU (v;Vu4);

(c-17) v ∈ Vu6 and t ∈ NU (v;Vf5);

(c-18) v ∈ Vu6 and t ∈ NU (v;Vu5); and

(c-19) v ∈ Vu6 and t ∈ NU (v;Vu6).

Page 70: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 45

c-1

v

t1

t2 t3

t4

e

t5

t6

c-2

v

t1

t2 t3

t4

e

t5

c-3

v

t1

t6 t7

t2 t3t4

e

t5

c-4

v

t1

t6 t7

t2 t3

t4

e

t5

c-5(I)

v

t1

t6

t2 t3

t4

e

t5

c-9

v

t1

t2 t3t4

e

t5

c-8(III)

v

t1

t2 t3t4

e

t5

c-8(II)

v

t1

t6

t2 t3t4

e

t5

c-6

v

t1

t2 t3t4

e

t5

c-5(II)

v

t1

t2 t3t4

e

t5

c-8(I)

v

t1

t6 t7

t2 t3t4

e

t5

c-7

v

t1

t2 t3t4

e

t5

t8t6 t7

c-10t8

v

t1

t6 t7 t9

t2 t3t4

e

t5

c-11(I)

v

t1

t2 t3t4

e

t5

t8t6 t7

c-11(II)

v

t1

t2 t3t4

e

t5

t6t7

c-11(III)

v

t1

t2 t3t4

e

t5

t6c-11(IV)

v

t1

t2 t3t4

e

t5

c-12

v

t1

t2 t3t4

e

t5

: unforced edges : forced edges

c-13

t1

t7

v

t2t3

t5

e

t6

t4

c-14

t1

t7 t8

v

t2t3

t5

e

t6

t4

c-16

t1

v

t2t3

t5

e

t6

t4

c-15

t1

t7 t8

v

t2t3

t5

e

t6

t4

c-18

t1

v

t2 t3

t5

e

t6

t4

c-17t9

t1

t7 t8

v

t2 t3

t5

e

t6

t4

c-19

t1

v

t2 t3

t5

e

t6

t4

Figure 5.1: Illustration of the branching rules for degree-6 vertex v.

Page 71: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

46 5. The TSP in Degree-6 Graphs

Algorithm 3 tsp6(G,F )

Input: An instance (G,F ) such that the maximum degree of G is at most 6.

Output: The minimum cost of a tour of (G,F ); or a message for the infeasibility of (G,F ),

which evaluates to ∞.

1: Run Red(G,F );

2: if Red(G,F ) returns ∞ then

3: return ∞4: else

5: Let (G′, F ′) := Red(G,F );

6: if Vu6 ∪ Vf6 6= ∅ in (G′, F ′) then

7: Choose an optimal unforced edge e;

8: return mintsp6(G′, F ′ ∪ e), tsp6(G′ − e, F ′)9: else /* the maximum degree of any vertex in (G′, F ′) is at most 5 */

10: return tsp5(G′, F ′)

11: end if

12: end if.

Note: The input and output of algorithm tsp5(G,F ) are as follows:

Input: An instance (G,F ) such that the maximum degree of G is at most 5.

Output: The minimum cost of a tour of (G,F ); or a message for the infeasibility of

(G,F ), which evaluates to ∞.

5.2 Main Result

We choose a vertex weight function ω(v) as in Eq. (5.1). For i = 3, 4, 5, 6, we denote by

wi the weight of a ui-vertex, and by w′i the weight of an fi-vertex.

ω(v) =

w6 = 1 for a u6-vertex v

w′6 = 0.502801 for an f6-vertex v

w5 = 0.815641 for a u5-vertex v

w′5 = 0.421871 for an f5-vertex v

w4 = 0.580698 for a u4-vertex v

w′4 = 0.311647 for an f4-vertex v

w3 = 0.262796 for a u3-vertex v

w′3 = 0.149646 for an f3-vertex v

0 otherwise

(5.1)

Lemma 5 If the vertex weight function ω(v) is set as in Eq. (5.1), then the branching

factor of each branching operation in Algorithm 3 is not greater than 3.033466.

Page 72: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 47

A proof of Lemma 5 will be derived analytically in the several subsections which follow.

From Lemma 5, we get our main result as stated in Theorem 2.

Theorem 2 The TSP in an n-vertex graph G with maximum degree 6 can be solved in

O∗(3.0335n) time and polynomial space.

5.3 Weight Constraints

In order to obtain a measure which will imply the same running time bound as a function

of the size of a TSP instance, we require that the weight of each vertex be at most 1.

In what follows, we examine some sufficient constraints which the vertex weights should

satisfy in order to obtain a proper measure.

For i = 3, 4, 5, 6, we denote wi to be the weight of a ui-vertex, and w′i to be the

weight of an fi-vertex. The conditions for a proper measure require that the measure of

an instance obtained through the reduction operation or the branching operation will not

be greater than the measure of the original instance. Thus, the vertex weight for vertices

of degree less than 3 is set to be 0, w6 ≤ 1 and other vertex weights should satisfy the

following relations:

w′i ≤ wi, 3 ≤ i ≤ 6, (5.2)

wi ≤ wj , 3 ≤ i < j ≤ 6, and (5.3)

w′i ≤ w′j , 3 ≤ i < j ≤ 6. (5.4)

As a result of the reduction and the branching operations, the degree of some vertices

will decrease, while the degree of other vertices will remain unchanged. A forced edge will

never be eliminated, neither by the reduction nor the branching operations. Conversely,

an unforced edge may be erased or become forced by the reduction or the branching oper-

ations. Thus, the measure of an instance obtained through the reduction or the branching

operations will not be greater than the measure of the original instance. Lemma 6 shows

that the algorithms given in Algorithm 1 and Algorithm 3, setting vertex weights which

satisfy the conditions of Eqs. (5.2) to (5.4) is sufficient to obtain a proper measure. We

can prove this lemma similarly as Lemma 4.

Lemma 6 If the weights of vertices are chosen as in Eqs. (5.2) to (5.4), then the measure

µ(I) never increases as a result of the reduction or the branching operations of Algorithm 1

and Algorithm 3.

Page 73: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

48 5. The TSP in Degree-6 Graphs

To simplify some arguments, we introduce the following notation:

∆i , wi − w′i, 3 ≤ i ≤ 6,

∆i,j , wi − wj , 3 ≤ j < i ≤ 6, and

∆′i,j , w′i − w′j , 3 ≤ j < i ≤ 6.

In the remainder of the analysis, for an optimal edge e = vt1, we refer to NU (v) by

t1, t2, . . . , ta, a = dU (v), and to NU (t1) \ v by ta+1, ta+1, . . . , ta+b, b = dU (t1) − 1.

We assume without loss of generality that t1+i = ta+i for i = 1, 2, . . . , c, where c =

|NU (v) ∩NU (t1)|, the number of neighbors that v and t1 have in common.

If there exists an f3-vertex ta+i in NU (t1), let x ∈ NU (ta+i). We see that the choice of

vertex x is unique, because ta+i is of type f3 and |NU (ta+i)| = 1. This vertex x will be

included in the analysis since it is also involved in the branching operations and reduction

rules as shown in Figure 5.2.

: newly forced edges by the branching operation

: newly deleted edges by the branching operation

: forced edges

: newly forced edges by the reduction rules

: newly deleted edges by the reduction rules

(a) force(e)

x

ta+i

t1

e

v

(b) delete(e)

x

ta+i

t1

e

v

Figure 5.2: Illustration of edges that will become forced or deleted due to the branching

operation and reduction rules for an f3 vertex.

5.4 Branching on Edges around f6-vertices

We will show how we derive the branching vectors for branchings on an optimal edge

e = vt, incident to a vertex of degree 6. We analyze the branching vectors in a similar

manner as used in Chapter 4, the algorithm for the TSP in degree-5 graphs. For this

section, there are 12 cases for branching on edges around f6-vertices, cases c-1 to c-12,

in deriving branching vectors for branchings on an optimal edge e = vt, incident to an

f6-vertex v.

Case c-1. There exist vertices v ∈ Vf6 and t1 ∈ NU (v;Vf3) such that NU (v)∩NU (t1) = ∅(see Figure 5.3): We branch on the edge vt1. Note that NU (t1) \ v = t6.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5 and t1t6 will be deleted from G′ by the reduction rules.

Both v and t1 will become vertices of degree 2. From Eq. (5.1), the weight of vertices of

degree 2 is 0. Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1

decreases by w′3.

Page 74: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 49

(a) force(vt1) in c-1

t1

v

e

t6t2 t3 t4

t5

(b) delete(vt1) in c-1

t1

v

e

t6t2 t3 t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.3: Illustration of branching rule c-1, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf3)

such that NU (v) ∩NU (t1) = ∅.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t6 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆′6,5, and the weight of vertex t1 decreases by w′3.

There are two cases for the vertex t6; 1) vertex t6 is of type f3-vertex, and 2) otherwise.

We will analyze these two cases separately for each branch, force(vt1) and delete(vt1).

First, we analyze the case where the vertex t6 is an f3-vertex (see Figure 5.2). Recall

that in such a case we denote by x the unique vertex in NU (t6)\t1. There are two cases

for the vertex x; a) vertex x /∈ NU (v), and b) vertex x ∈ NU (v).

First, we analyze the case where the vertex x /∈ NU (v). In the branch of force(vt1),

the edge xt6 will be added to F ′ by the reduction rules. Hence, each of the vertices t2,

t3, t4 and t5 must be one of types f3, u3, f4, u4, f5, u5, f6 and a u6-vertex, and each

of their weights decreases by at least m1 , minw′3, w3,∆

′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5

.

The weight of vertex t6 decreases by w′3. If the vertex x is an f3-vertex (resp., u3, f4, u4,

f5, u5, f6 and a u6-vertex), then the weight decrease α1 of vertex x will be w′3 (resp., ∆3,

w′4, ∆4, w′5, ∆5, w

′6 and ∆6). Thus, the total weight decrease for this case in the branch

of force(vt1) is at least w′6 + w′3 + 4m1 + w3′ + α1 = w′6 + 2w′3 + 4m1 + α1.

In the branch of delete(vt1), the edge xt6 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t6 decreases by w′3. If the vertex x is an f3-vertex (resp.,

u3, f4, u4, f5, u5, f6 and a u6-vertex), then the weight decrease β1 of vertex x will be w′3

(resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5 and ∆6,5). Thus, the total weight decrease for this

case in the branch of delete(vt1) is at least w′6−w′5 +w′3 +w′3 +β1 = w′6−w′5 + 2w′3 +β1.

As a result, for the ordered pair (α1, β1) taking values in (w′3, w′3), (∆3, w3), (w′4,∆′4,3),

(∆4,∆4,3), (w′5,∆′5,4), (∆5,∆5,4), (w′6,∆

′6,5), (∆6,∆6,5), we get the following eight branch-

ing vectors: (w′6 + 2w′3 + 4m1 + α1, w

′6 − w′5 + 2w′3 + β1

). (5.5)

Second, we analyze the case where the vertex x ∈ NU (v). Without loss of generality,

we assume that x is t2. In the branch of force(vt1), the edge t2t6 will be added to F ′ by

Page 75: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

50 5. The TSP in Degree-6 Graphs

the reduction rules. Hence, the weight of vertex t6 decreases by w′3. Each of the vertices

t3, t4 and t5 must be one of types f3, u3, f4, u4, f5, u5, f6 and a u6-vertex, and each

of their weights decreases by at least m1 = minw′3, w3,∆

′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5

.

If the vertex t2 is an f3-vertex (resp., u3, f4, u4, f5, u5, f6 and a u6-vertex), then the

weight decrease α2 of vertex t2 will be w′3 (resp., w3, w′4, w4 − w′3, w′5, w5 − w′4, w′6 and

w6 − w′5). Thus, the total weight decrease for this case in the branch of force(vt1) is at

least w′6 + w′3 + w3′ + 3m1 + α2 = w′6 + 2w′3 + 3m1 + α2.

In the branch of delete(vt1), the edge t2t6 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t6 decreases by w′3. If the vertex t2 is an f3-vertex (resp.,

u3, f4, u4, f5, u5, f6 and a u6-vertex), then the weight decrease β2 of vertex t2 will be w′3

(resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5 and ∆6,5). Thus, the total weight decrease for this

case in the branch of delete(vt1) is at least w′6−w′5 +w′3 +w′3 +β2 = w′6−w′5 + 2w′3 +β2.

As a result, for the ordered pair (α2, β2) taking values in (w′3, w′3), (w3, w3), (w′4,∆′4,3),

(w4−w′3,∆4,3), (w′5,∆′5,4), (w5−w′4,∆5,4), (w′6,∆

′6,5), (w6−w′5,∆6,5), we get the following

eight branching vectors:(w′6 + 2w′3 + 3m1 + α2, w

′6 − w′5 + 2w′3 + β2

). (5.6)

Next, we examine the case where the vertex t6 is not an f3-vertex. In the branch

of force(vt1), each of the vertices t2, t3, t4 and t5 must be one of types f3, u3, f4,

u4, f5, u5, f6 and a u6-vertex, and each of their weights decreases by at least m1 =

minw′3, w3,∆

′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5

. If the vertex t6 is a u3-vertex (resp., f4, u4,

f5, u5, f6 and a u6-vertex), then the weight decrease α3 of vertex t6 will be w3 (resp.,

∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5 and ∆6,5). Thus, the total weight decrease for this case in the

branch of force(vt1) is at least w′6 + w′3 + 4m1 + α3.

In the branch of delete(vt1), if the vertex t6 is a u3-vertex (resp., f4, u4, f5, u5, f6

and a u6-vertex), then the weight decrease β3 of vertex t6 will be ∆3 (resp., w′4, ∆4, w′5,

∆5, w′6 and ∆6). Thus, the total weight decrease for the case where t6 is not an f3-vertex

in the branch of delete(vt1) is at least w′6 − w′5 + w′3 + β3.

As a result, for the ordered pair (α3, β3) taking values in (w3,∆3), (∆′4,3, w′4), (∆4,3,∆4),

(∆′5,4, w′5), (∆5,4,∆5), (∆′6,5, w

′6), (∆6,5,∆6), we get the following seven branching vectors:(

w′6 + w′3 + 4m1 + α3, w′6 − w′5 + w′3 + β3

). (5.7)

Case c-2. Case c-1 is not applicable, and there exist vertices v ∈ Vf6 and t1 ∈ NU (v;Vf3)

such that NU (v) ∩NU (t1) 6= ∅ (see Figure 5.4): We branch on edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5 and t1t2 will be deleted from G′ by the reduction

Page 76: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 51

(a) force(vt1) in c-2

t1

v

e

t2 t3 t4

t5

(b) delete(vt1) in c-2

t1

v

e

t2 t3 t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.4: Illustration of branching rule c-2, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf3)

such that NU (v) ∩NU (t1) = t2.

rules. Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1 de-

creases by w′3. Each of the vertices t3, t4 and t5 must be one of types f3, u3, f4,

u4, f5, u5, f6 and a u6-vertex, and each of their weights decreases by at least m1 =

minw′3, w3,∆

′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5

.

If the vertex t2 is an f3 or a u3-vertex, after applying the branching operation, t2 would

become a vertex of degree 1. From Lemma 1, case (i), this is infeasible, and the algorithm

will return ∞ and terminate. Otherwise, if the vertex t2 is an f4-vertex (resp., u4, f5, u5,

f6 and a u6-vertex), then the weight decrease α4 of vertex t2 will be w′4 (resp., w4, ∆′5,3,

∆5,3, ∆′6,4 and ∆6,4). Thus, the total weight decrease in the branch of force(vt1) is at

least w′6 + w′3 + 3m1 + α4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t2 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆′6,5, and the weight of vertex t1 decreases by w′3. If the vertex t2

is an f4-vertex (resp., u4, f5, u5, f6 and a u6-vertex), then the weight decrease β4 of vertex

t2 will be w′4 (resp., ∆4, w′5, ∆5, w

′6 and ∆6). Thus, the total weight decrease in the

branch of delete(vt1) is at least w′6 − w′5 + w′3 + β4.

As a result, for the ordered pair (α4, β4) taking values in (w′4, w′4), (w4,∆4), (∆′5,3, w′5),

(∆5,3,∆5), (∆′6,4, w′6), (∆6,4,∆6), we get the following six branching vectors:(

w′6 + w′3 + 3m1 + α4, w′6 − w′5 + w′3 + β4

). (5.8)

Case c-3. Case c-1 and c-2 are not applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vu3) (see Figure 5.5): We branch on edge vt1. Note that NU (t1)\v = t6, t7.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4 and vt5 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases by ∆3. Each of

the vertices t2, t3, t4 and t5 must be one of types u3, f4, u4, f5, u5, f6 and a u6-vertex, and

each of their weights decreases by at least m2 , minw3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5.

Thus, the total weight decrease in the branch of force(vt1) is at least w′6 +w3−w′3 +4m2.

Page 77: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

52 5. The TSP in Degree-6 Graphs

(a) force(vt1) in c-3

t1

v

e

t6 t7t2 t3 t4

t5

(b) delete(vt1) in c-3

t1

v

e

t6 t7t2 t3 t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.5: Illustration of branching rule c-3, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vu3).

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branch-

ing operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of

vertex t1 decreases by w3. Each of the vertices t6 and t7 must be one of types f3,

u3, f4, u4, f5, u5, f6 and a u6-vertex, and each of their weights decreases by at least

m3 , minw′3,∆3, w′4,∆4, w

′5,∆5, w

′6,∆6. Thus, the total weight decrease in the branch

of delete(vt1) is at least w′6 − w′5 + w3 + 2m3.

As a result, we get the following branching vector:(w′6 + w3 − w′3 + 4m2, w

′6 − w′5 + w3 + 2m3

). (5.9)

Case c-4. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vf4) such that NU (v) ∩ NU (t1) = ∅ (see Figure 5.6): We branch on edge vt1.

Note that NU (t1) \ v = t6, t7.

(a) force(vt1) in c-4

t1

v

e

t6 t7t2 t3 t4

t5

(b) delete(vt1) in c-4

t1

v

e

t6 t7t2 t3 t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.6: Illustration of branching rule c-4, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf4)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4 and vt5 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases by w′4. Each of

the vertices t2, t3, t4 and t5 must be one of types f4, u4, f5, u5, f6 and a u6-vertex, and each

of their weights decreases by at least m4 , min∆′4,3,∆4,3,∆′5,4,∆5,4,∆

′6,5,∆6,5. Each of

the vertices t6 and t7 must be one of types f3, u3, f4, u4, f5, u5, f6 and a u6-vertex, and each

of their weights decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5.

Thus, the total weight decrease in the branch of force(vt1) is at least w′6+w′4+4m4+2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

Page 78: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 53

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w′4 − w′3.

As a result, we get the following branching vector:

(w′6 + w′4 + 4m4 + 2m1, w

′6 − w′5 + w′4 − w′3

). (5.10)

Case c-5. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vf4) such that NU (v) ∩ NU (t1) 6= ∅: We distinguish two sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-5(I) |NU (v) ∩NU (t1)| = 1, and

c-5(II) |NU (v) ∩NU (t1)| = 2.

c-5(I). Without loss of generality, assume that NU (v)∩NU (t1) = t2 (see Figure 5.7):

We branch on edge vt1. Note that NU (t1) \ v = t6.

(a) force(vt1) in c-5(I)

t1

v

e

t6 t2 t3 t4

t5

(b) delete(vt1) in c-5(I)

t1

v

e

t6 t2 t3 t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.7: Illustration of branching rule c-5(I), where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf4)

such that NU (v) ∩NU (t1) = t2.

In the branch force(vt1), the edge vt1 will be added to F ′ by the branching operation,

and edges vt2, vt3, vt4, vt5, t1t2 and t1t6 will be deleted from G′ by the reduction rules.

Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases by w′4.

The vertex t2 must be one of types f4, u4, f5, u5, f6 and a u6-vertex, and each of their

weight decreases by at least m5 , minw′4, w4,∆′5,3,∆5,3,∆

′6,4,∆6,4. Each of the vertices

t3, t4 and t5 must be one of types f4, u4, f5, u5, f6 and a u6-vertex, and each of their

weights decreases by at least m4 = min∆′4,3,∆4,3,∆′5,4,∆5,4,∆

′6,5,∆6,5. The vertex t6

must be one of types f3, u3, f4, u4, f5, u5, f6 and a u6-vertex, and its weight decreases by at

least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5. Thus, the total weight decrease

in the branch of force(vt1) is at least w′6 + w′4 +m5 + 3m4 +m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w′4 − w′3.

Page 79: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

54 5. The TSP in Degree-6 Graphs

As a result, we get the following branching vector:(w′6 + w′4 +m5 + 3m4 +m1, w

′6 − w′5 + w′4 − w′3

). (5.11)

c-5(II). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2, t3 (see Fig-

ure 5.8): We branch on edge vt1.

(a) force(vt1) in c-5(II)

t1

v

e

t2 t3t4

t5

(b) delete(vt1) in c-5(II)

t1

v

e

t2 t3t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.8: Illustration of branching rule c-5(II), where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf4)

such that NU (v) ∩NU (t1) = t2, t3.

In the branch force(vt1), the edge vt1 will be added to F ′ by the branching operation,

and edges vt2, vt3, vt4, vt5, t1t2 and t1t3 will be deleted from G′ by the reduction rules.

Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases by w′4.

Each of the vertices t2 and t3 must be one of types f4, u4, f5, u5, f6 and a u6-vertex, and

each of their weights decreases by at least m5 = minw′4, w4,∆′5,3,∆5,3,∆

′6,4,∆6,4. Each

of the vertices t4 and t5 must be one of types f4, u4, f5, u5, f6 and a u6-vertex, and each

of their weights decreases by at least m4 = min∆′4,3,∆4,3,∆′5,4,∆5,4,∆

′6,5,∆6,5. Thus,

the total weight decrease in the branch of force(vt1) is at least w′6 + w′4 + 2m5 + 2m4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w′4 − w′3.

As a result, we get the following branching vector:(w′6 + w′4 + 2m5 + 2m4, w

′6 − w′5 + w′4 − w′3

). (5.12)

Case c-6. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vu4) (see Figure 5.9): We branch on edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4 and vt5 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases by ∆4. Each

of the vertices t2, t3, t4 and t5 must be one of types u4, f5, u5, f6 and a u6-vertex, and

each of their weights decreases by m6 , min∆4,3,∆′5,4,∆5,4,∆

′6,5,∆6,5. Thus, the total

weight decrease in the branch of force(vt1) is at least w′6 + w4 − w′4 + 4m6.

Page 80: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 55

(a) force(vt1) in c-6

t1

v

e

t2 t3t4

t5

(b) delete(vt1) in c-6

t1

v

e

t2 t3t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.9: Illustration of branching rule c-6, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vu4).

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w4 − w3.

As a result, we get the following branching vector:(w′6 + w4 − w′4 + 4m6, w

′6 − w′5 + w4 − w3

). (5.13)

Case c-7. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vf5) such that NU (v) ∩NU (t1) = ∅ (see Figure 5.10): We branch on edge vt1.

Note that NU (t1) \ v = t6, t7, t8.

(a) force(vt1) in c-7

t1

v

e

t6 t7 t8t2 t3

t4

t5

(b) delete(vt1) in c-7

t1

v

e

t6 t7 t8t2 t3

t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.10: Illustration of branching rule c-7, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf5)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, t1t6, t1t7 and t1t8 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases

by w′5. Each of the vertices t2, t3, t4 and t5 must be one of types f5, u5, f6 and a u6-vertex,

and each of their weights decreases by m7 , min∆′5,4,∆5,4,∆′6,5,∆6,5. Each of the ver-

tices t6, t7 and t8 must be one of types f3, u3, f4, u4, f5, u5, f6 and a u6-vertex, and each

of their weights decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5.

Thus, the total weight decrease in the branch of force(vt1) is at least w′6+w′5+4m7+3m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w′5 − w′4 = w′6 − w′4.

Page 81: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

56 5. The TSP in Degree-6 Graphs

As a result, we get the following branching vector:(w′6 + w′5 + 4m7 + 3m1, w

′6 − w′4

). (5.14)

Case c-8. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vf5) such that NU (v) ∩NU (t1) 6= ∅: We distinguish three sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-8(I) |NU (v) ∩NU (t1)| = 1,

c-8(II) |NU (v) ∩NU (t1)| = 2, and

c-8(III) |NU (v) ∩NU (t1)| = 3.

c-8(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see Fig-

ure 5.11): We branch on edge vt1. Note that NU (t1) \ v = t6, t7.

(a) force(vt1) in c-8(I)

t1

v

e

t6 t7t2 t3 t4

t5

(b) delete(vt1) in c-8(I)

t1

v

e

t6 t7t2 t3 t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.11: Illustration of branching rule c-8(I), where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf5)

such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, t1t2, t1t6 and t1t7 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1

decreases by w′5. The vertex t2 must be one of types f5, u5, f6 and a u6-vertex, and its

weight decreases by at least m8 , min∆′5,3,∆5,3,∆′6,4,∆6,4. Each of the vertices t3, t4

and t5 must be one of types f5, u5, f6 and a u6-vertex, and each of their weights decreases

by at least m7 = min∆′5,4,∆5,4,∆′6,5,∆6,5. Each of the vertices t6 and t7 must be one of

types f3, u3, f4, u4, f5, u5, f6 and a u6-vertex, and each of their weights decreases by at

least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5. Thus, the total weight decrease

in the branch of force(vt1) is at least w′6 + w′5 +m8 + 3m7 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w′5 − w′4 = w′6 − w′4.

As a result, we get the following branching vector:(w′6 + w′5 +m8 + 3m7 + 2m1, w

′6 − w′4

). (5.15)

Page 82: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 57

c-8(II). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2, t3 (see Fig-

ure 5.12): We branch on edge vt1. Note that NU (t1) \ v = t6.

(a) force(vt1) in c-8(II)

t1

v

e

t2 t3t4

t5

t6

(b) delete(vt1) in c-8(II)

t1

v

e

t2 t3t4

t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.12: Illustration of branching rule c-8(II), where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf5)

such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, t1t2, t1t3 and t1t6 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases

by w′5. Each of the vertices t2 and t3 must be one of types f5, u5, f6 and a u6-vertex,

and each of their weights decreases by at least m8 = min∆′5,3,∆5,3,∆′6,4,∆6,4. Each of

the vertices t4 and t5 must be one of types f5, u5, f6 and a u6-vertex, and each of their

weights decreases by at least m7 = min∆′5,4,∆5,4,∆′6,5,∆6,5. The vertex t6 must be one

of types f3, u3, f4, u4, f5, u5, f6 and a u6-vertex, and its weight decreases by at least

m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5. Thus, the total weight decrease in the

branch of force(vt1) is at least w′6 + w′5 + 2m8 + 2m7 +m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w′5 − w′4 = w′6 − w′4.

As a result, we get the following branching vector:(w′6 + w′5 + 2m8 + 2m7 +m1, w

′6 − w′4

). (5.16)

c-8(III). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2, t3, t4 (see

Figure 5.13): We branch on edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, t1t2, t1t3 and t1t4 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1

decreases by w′5. Each of the vertices t2, t3 and t4 must be one of types f5, u5, f6 and a

u6-vertex, and each of their weights decreases by at least m8 = min∆′5,3,∆5,3,∆′6,4,∆6,4.

The vertex t5 must be one of types f5, u5, f6 and a u6-vertex, and its weight decreases by

at least m7 = min∆′5,4,∆5,4,∆′6,5,∆6,5. Thus, the total weight decrease in the branch

of force(vt1) is at least w′6 + w′5 + 3m8 +m7.

Page 83: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

58 5. The TSP in Degree-6 Graphs

(a) force(vt1) in c-8(III)

t1

ve

t2 t3t4

t5

(b) delete(vt1) in c-8(III)

t1

ve

t5

t2 t3t4

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.13: Illustration of branching rule c-8(III), where vertex v ∈ Vf6 and t1 ∈NU (v;Vf5) such that NU (v) ∩NU (t1) = t2, t3, t4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w′5 − w′4 = w′6 − w′4.

As a result, we get the following branching vector:(w′6 + w′5 + 3m8 +m7, w

′6 − w′4

). (5.17)

Case c-9. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vu5) (see Figure 5.14): We branch on edge vt1.

(a) force(vt1) in c-9

t1

v

e

t2 t3t4

t5

(b) delete(vt1) in c-9

t1

v

e

t2 t3t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.14: Illustration of branching rule c-9, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vu5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4 and vt5 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases by ∆5. Each

of the vertices t2, t3, t4 and t5 must be one of types u5, f6 and a u6-vertex, and each of

their weights decreases by m9 , min∆5,4,∆′6,5,∆6,5. Thus, the total weight decrease in

the branch of force(vt1) is at least w′6 + w5 − w′5 + 4m9.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′6 − w′5 + w5 − w4.

As a result, we get the following branching vector:(w′6 + w5 − w′5 + 4m9, w

′6 − w′5 + w5 − w4

). (5.18)

Page 84: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 59

Case c-10. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vf6) such that NU (v) ∩NU (t1) = ∅ (see Figure 5.15): We branch on edge vt1.

Note that NU (t1) \ v = t6, t7, t8, t9.

(a) force(vt1) in c-10

t1

v

e

t2 t3t4

t5

t6 t7 t8 t9

(b) delete(vt1) in c-10

t1

v

e

t2 t3t4

t5

t6 t7 t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.15: Illustration of branching rule c-10, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf6)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, t1t6, t1t7, t1t8 and t1t9 will be deleted from G′ by the

reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′6. Each

of the vertices t2, t3, t4, t5, t6, t7, t8 and t9 must be a type f6 or u6-vertex, and each of

their weights decreases by at least m10 , min∆′6,5,∆6,5. Thus, the total weight decrease

in the branch of force(vt1) is at least 2w′6 + 8m10.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′6,5. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′6 − 2w′5.

As a result, we get the following branching vector:(2w′6 + 8m10, 2w′6 − 2w′5

). (5.19)

Case c-11. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vf6) such that NU (v) ∩NU (t1) 6= ∅: We distinguish four sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-11(I) |NU (v) ∩NU (t1)| = 1,

c-11(II) |NU (v) ∩NU (t1)| = 2,

c-11(III) |NU (v) ∩NU (t1)| = 3, and

c-11(IV) |NU (v) ∩NU (t1)| = 4.

c-11(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see Fig-

ure 5.16): We branch on edge vt1. Note that NU (t1) \ v = t6, t7, t8.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, t1t2, t1t6, t1t7 and t1t8 will be deleted from G′

by the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases

Page 85: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

60 5. The TSP in Degree-6 Graphs

(a) force(vt1) in c-11(I)

t1

v

e

t6 t7 t8t2 t3 t4

t5

(b) delete(vt1) in c-11(I)

t1

v

e

t6 t7 t8t2 t3 t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.16: Illustration of branching rule c-11(I), where vertex v ∈ Vf6 and t1 ∈ NU (v;Vf6)

such that NU (v) ∩NU (t1) = t2.

by w′6. The vertex t2 must be a type f6 or u6-vertex, and its weight decreases by at least

m11 , min∆′6,4,∆6,4. Each of the vertices t3, t4, t5, t6, t7 and t8 must be a type f6 or

u6-vertex, and each of their weights decrease by at least m10 = min∆′6,5,∆6,5. Thus,

the total weight decrease in the branch of force(vt1) is at least 2w′6 +m11 + 6m10.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′6,5. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′6 − 2w′5.

As a result, we get the following branching vector:(2w′6 +m11 + 6m10, 2w′6 − 2w′5

). (5.20)

c-11(II). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2, t3 (see

Figure 5.17): We branch on edge vt1. Note that NU (t1) \ v = t6, t7.

(a) force(vt1) in c-11(II)

t1

v

e

t2 t3t4

t5

t6 t7

(b) delete(vt1) in c-11(II)

t1

v

e

t2 t3t4

t5

t6 t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.17: Illustration of branching rule c-11(II), where vertex v ∈ Vf6 and t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, t1t2, t1t3, t1t6 and t1t7 will be deleted from G′ by the

reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′6. Each

of the vertices t2 and t3 must be a type f6 or u6-vertex, and each of their weights decreases

by at least m11 = min∆′6,4,∆6,4. Each of the vertices t4, t5, t6 and t7 must be a type

f6 or u6-vertex, and each of their weights decreases by at least m10 = min∆′6,5,∆6,5.Thus, the total weight decrease in the branch of force(vt1) is at least 2w′6 + 2m11 + 4m10.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

Page 86: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 61

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′6,5. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′6 − 2w′5.

As a result, we get the following branching vector:

(2w′6 + 2m11 + 4m10, 2w′6 − 2w′5

). (5.21)

c-11(III). Without loss of generality, assume that NU (v) ∩NU (t1) = t2, t3, t4 (see

Figure 5.18): We branch on edge vt1. Note that NU (t1) \ v = t6.

(a) force(vt1) in c-11(III)

t1

ve

t2 t3t4

t5

t6

(b) delete(vt1) in c-11(III)

t1

ve

t5

t6 t2 t3t4

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.18: Illustration of branching rule c-11(III), where vertex v ∈ Vf6 and t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3, t4.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, t1t2, t1t3, t1t4 and t1t6 will be deleted from G′ by

the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′6.

Each of the vertices t2, t3 and t4 must be a type f6 or u6-vertex, and each of their weights

decreases by at least m11 = min∆′6,4,∆6,4. Each of the vertices t5 and t6 must be a type

f6 or u6-vertex, and each of their weights decreases by at least m10 = min∆′6,5,∆6,5.Thus, the total weight decrease in the branch of force(vt1) is at least 2w′6 + 3m11 + 2m10.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′6,5. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′6 − 2w′5.

As a result, we get the following branching vector:

(2w′6 + 3m11 + 2m10, 2w′6 − 2w′5

). (5.22)

c-11(IV). We have that NU (v)∩NU (t1) = t2, t3, t4, t5 (see Figure 5.19): We branch

on edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, t1t2, t1t3, t1t4 and t1t5 will be deleted from G′ by

the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′6.

Each of the vertices t2, t3, t4 and t5 must be a type f6 or u6-vertex, and each of their

Page 87: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

62 5. The TSP in Degree-6 Graphs

(a) force(vt1) in c-11(IV)

t1

ve

t2 t3t4

t5

(b) delete(vt1) in c-11(IV)

t1

ve

t5

t2 t3t4

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.19: Illustration of branching rule c-11(IV), where vertex v ∈ Vf6 and t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3, t4, t5.

weights decreases by at least m11 = min∆′6,4,∆6,4. Thus, the total weight decrease in

the branch of force(vt1) is at least 2w′6 + 4m11.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′6,5. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′6 − 2w′5.

As a result, we get the following branching vector:

(2w′6 + 4m11, 2w′6 − 2w′5

). (5.23)

Case c-12. None of the previous cases are applicable, and there exist vertices v ∈ Vf6 and

t1 ∈ NU (v;Vu6) (see Figure 5.20): We branch on edge vt1.

(a) force(vt1) in c-12

t1

v

e

t2 t3 t4

t5

(b) delete(vt1) in c-12

t1

v

e

t2 t3 t4

t5

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.20: Illustration of branching rule c-12, where vertex v ∈ Vf6 and t1 ∈ NU (v;Vu6).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4 and vt5 will be deleted from G′ by the reduction rules.

Hence, the weight of vertex v decreases by w′6, and the weight of vertex t1 decreases by ∆6.

Each of the vertices t2, t3, t4 and t5 must be a type u6-vertex, and each of their weights

decreases by ∆6,5. Thus, the total weight decrease in the branch of force(vt1) is at least

w′6 + w6 − w′6 + 4w6 − 4w5 = 5w6 − 4w5.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′6,5, and the weight of vertex t1

decreases by ∆6,5. Thus, the total weight decrease in the branch of delete(vt1) is at least

w6 − w5 + w′6 − w′5.

Page 88: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 63

As a result, we get the following branching vector:(5w6 − 4w5, w6 − w5 + w′6 − w′5

). (5.24)

5.5 Branching on Edges around u6-vertices

If none of the first 12 conditions can be executed, this means that the graph has no

f6-vertices. However, there might still be u6-vertices. Therefore, this section derives

branching vectors for branchings on an optimal edge e = vt incident to a u6-vertex v and

we distinguish seven cases for conditions c-13 to c-19.

Case c-13. There are no more f6-vertices, and there exist vertices v ∈ Vu6 and t1 ∈NU (v;Vf3) (see Figure 5.21): We branch on edge vt1. Note that NU (t1) \ v = t7.

(a) force(vt1) in c-13

t1

v

e

t2 t3 t4t5

t6

t7

(b) delete(vt1) in c-13

t1

v

e

t2 t3 t4t5

t6

t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.21: Illustration of branching rule c-13, where vertex v ∈ Vu6 and t1 ∈ NU (v;Vf3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and the edge t1t7 will be deleted from G′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆6, and the weight of vertex t1 decreases by w′3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation and the edge t1t7 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆6,5, and the weight of vertex t1 decreases by w′3.

There are two cases for the vertex type of vertex t7; 1) vertex t7 is of type f3, and

2) otherwise. We analyze the branches force(vt1) and delete(vt1) for these two cases

separately.

First, we analyze the case where the vertex t7 is an f3-vertex (see Figure 5.2). Recall

that in this case we denote by x the unique neighbor of t7 different from t1. In the branch

of force(vt1), the edge xt7 will be added to F ′ by the reduction rules. Hence, the weight

of vertex t7 decreases by w′3. Note that the vertex x cannot be an f6 vertex, otherwise

one of the branching rules c-1 to c-12 would be applicable. If the vertex x is an f3-vertex

(resp., u3, f4, u4, f5, u5 and a u6-vertex), then the weight decrease α5 of vertex x will be

w′3 (resp., ∆3, w′4, ∆4, w

′5, ∆5 and ∆6). Thus, the total weight decrease for this case in

the branch of force(vt1) is at least w6 − w′6 + w′3 + w′3 + α5.

Page 89: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

64 5. The TSP in Degree-6 Graphs

In the branch of delete(vt1), the edge xt7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t7 decreases by w′3. If the vertex x is an f3-vertex (resp.,

u3, f4, u4, f5, u5 and a u6-vertex), then the weight decrease β5 of vertex x will be w′3

(resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4 and ∆6,5). Thus, the total weight decrease for this case

in the branch of delete(vt1) is at least w6 − w5 + w′3 + w′3 + β5.

As a result, for the ordered pair (α5, β5) taking values in (w′3, w′3), (∆3, w3), (w′4,∆′4,3),

(∆4,∆4,3), (w′5,∆′5,4), (∆5,∆5,4), (∆6,∆6,5), we get the following seven branching vec-

tors: (w6 − w′6 + 2w′3 + α5, w6 − w5 + 2w′3 + β5

). (5.25)

Next, we examine the case where the vertex t7 is not an f3-vertex. In the branch of

force(vt1), if the vertex t7 is a u3-vertex (resp., f4, u4, f5, u5 and a u6-vertex), then the

weight decrease α6 of vertex t7 will be w3 (resp., ∆′4,3, ∆4,3, ∆′5,4, ∆5,4 and ∆6,5). Thus, the

total weight decrease for this case in the branch of force(vt1) is at least w6−w′6+w′3+α6.

In the branch of delete(vt1), if the vertex t7 is a u3-vertex (resp., f4, u4, f5, u5 and a

u6-vertex), then the weight decrease β6 of vertex t7 will be ∆3 (resp., w′4, ∆4, w′5, ∆5 and

∆6). Thus, the total weight decrease for this case in the branch of delete(vt1) is at least

w6 − w5 + w′3 + β6.

As a result, for the ordered pair (α6, β6) taking values in (w3,∆3), (∆′4,3, w′4), (∆4,3,∆4),

(∆′5,4, w′5), (∆5,4,∆5), (∆6,5,∆6), we get the following six branching vectors:

(w6 − w′6 + w′3 + α6, w6 − w5 + w′3 + β6

). (5.26)

Case c-14. None of the previous cases are applicable, and there exist vertices v ∈ Vu6and t1 ∈ NU (v;Vu3) (see Figure 5.22): We branch on edge vt1. Note that NU (t1) \ v =

t7, t8.

(a) force(vt1) in c-14

t1

v

e

t2 t3 t4t5

t6

t7 t8

(b) delete(vt1) in c-14

t1

v

e

t2 t3 t4t5

t6

t7 t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.22: Illustration of branching rule c-14, where vertex v ∈ Vu6 and t1 ∈ NU (v;Vu3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆6, and the weight of vertex t1

decreases by ∆3. Thus, the total weight decrease in the branch of force(vt1) is at least

w6 − w′6 + w3 − w′3.

Page 90: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 65

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and edges t1t7 and t1t8 will be added to F ′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆6,5, and the weight of vertex t1 decreases by w3. Each

of the vertices t7 and t8 must be one of types f3, u3, f4, u4, f5, u5 and a u6-vertex, and

each of their weights decreases by at least m12 , minw′3,∆3, w′4,∆4, w

′5,∆5,∆6. Thus,

the total weight decrease in the branch of delete(vt1) is at least w6 − w5 + w3 + 2m12.

As a result, we get the following branching vector:(w6 − w′6 + w3 − w′3, w6 − w5 + w3 + 2m12

). (5.27)

Case c-15. None of the previous cases are applicable, and there exist vertices v ∈ Vu6 and

t1 ∈ NU (v;Vf4) (see Figure 5.23): We branch on edge vt1. Note thatNU (t1)\v = t7, t8.

(a) force(vt1) in c-15

t1

v

e

t2 t3 t4t5

t6

t7 t8

(b) delete(vt1) in c-15

t1

v

e

t2 t3 t4t5

t6

t7 t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.23: Illustration of branching rule c-15, where vertex v ∈ Vu6 and t1 ∈ NU (v;Vf4).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges t1t7 and t1t8 will be deleted from G by the reduction rules. Hence, the

weight of vertex v decreases by ∆6, and the weight of vertex t1 decreases by w′4. Each of

the vertices t7 and t8 must be one of types f3, u3, f4, u4, f5, u5 and a u6-vertex, and each

of their weights decreases by at least m13 , minw′3, w3,∆′4,∆4,∆

′5,∆5,∆6. Thus, the

total weight decrease in the branch of force(vt1) is at least w6 − w′6 + w′4 + 2m13.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆6,5, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w6 − w5 + w′4 − w′3.

As a result, we get the following branching vector:(w6 − w′6 + w′4 + 2m13, w6 − w5 + w′4 − w′3

). (5.28)

Case c-16. None of the previous cases are applicable, and there exist vertices v ∈ Vu6and t1 ∈ NU (v;Vu4) (see Figure 5.24): We branch on edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆6, and the weight of vertex t1

Page 91: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

66 5. The TSP in Degree-6 Graphs

(a) force(vt1) in c-16

t1

v

e

t2 t3 t4t5

t6

(b) delete(vt1) in c-16

t1

v

e

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.24: Illustration of branching rule c-16, where vertex v ∈ Vu6 and t1 ∈ NU (v;Vu4).

decreases by ∆4. Thus, the total weight decrease in the branch of force(vt1) is at least

w6 − w′6 + w4 − w′4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆6,5, and the weight of vertex t1

decreases by ∆4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w6 − w5 + w4 − w3.

As a result, we get the following branching vector:

(w6 − w′6 + w4 − w′4, w6 − w5 + w4 − w3

). (5.29)

Case c-17. None of the previous cases are applicable, and there exist vertices v ∈ Vu6and t1 ∈ NU (v;Vf5) (see Figure 5.25): We branch on edge vt1. Note that NU (t1) \ v =

t7, t8, t9.

(a) force(vt1) in c-17

t1

v

e

t2 t3 t4t5

t6

t7 t8 t9

(b) delete(vt1) in c-17

t1

v

e

t2 t3 t4t5

t6

t7 t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.25: Illustration of branching rule c-17, where vertex v ∈ Vu6 and t1 ∈ NU (v;Vf5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges t1t7, t1t8 and t1t9 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by ∆6, and the weight of vertex t1 decreases by w′5. Each

of the vertices t7, t8 and t9 must be one of types f3, u3, f4, u4, f5, u5 and a u6-vertex, and

each of their weights decreases by at least m13 = minw′3, w3,∆′4,∆4,∆

′5,∆5,∆6. Thus,

the total weight decrease in the branch of force(vt1) is at least w6 − w′6 + w′5 + 3m13.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆6,5, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w6 − w5 + w′5 − w′4.

Page 92: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 67

As a result, we get the following branching vector:

(w6 − w′6 + w′5 + 3m13, w6 − w5 + w′5 − w′4

). (5.30)

Case c-18. None of the previous cases are applicable, and there exist vertices v ∈ Vu6and t1 ∈ NU (v;Vu5) (see Figure 5.26): We branch on edge vt1.

(a) force(vt1) in c-18

t1

v

e

t2 t3 t4t5

t6

(b) delete(vt1) in c-18

t1

v

e

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.26: Illustration of branching rule c-18, where vertex v ∈ Vu6 and t1 ∈ NU (v;Vu5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆6, and the weight of vertex t1

decreases by ∆5. Thus, the total weight decrease in the branch of force(vt1) is at least

w6 − w′6 + w5 − w′5.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆6,5, and the weight of vertex t1

decreases by ∆5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w6 − w5 + w5 − w4 = w6 − w4.

Then, we get the following branching vector:

(w6 − w′6 + w5 − w′5, w6 − w4

). (5.31)

Case c-19. None of the previous cases are applicable, and there exist vertices v ∈ Vu6and t1 ∈ NU (v;Vu6) (see Figure 5.27): We branch on edge vt1.

(a) force(vt1) in c-19

t1

v

e

t2 t3 t4t5

t6

(b) delete(vt1) in c-19

t1

v

e

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 5.27: Illustration of branching rule c-19, where vertex v ∈ Vu6 and t1 ∈ NU (v;Vu6).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, both weights of vertex v and vertex t1 each decreases by ∆6. Thus, the total

weight decrease in the branch of force(vt1) is at least 2w6 − 2w′6.

Page 93: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

68 5. The TSP in Degree-6 Graphs

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆6,5. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w6 − 2w5.

As a result, we get the following branching vector:

(2w6 − 2w′6, 2w6 − 2w5

). (5.32)

5.6 Switching to the TSP in Degree-5 Graphs

If none of the 19 cases of Figure 5.1 can be executed, this means that all vertices in the

graph have degree at most 5. In that case, we can switch and use a fast algorithm for

TSP in degree-5 graphs, called tsp5(G′, F ′), to solve the remaining instance I ′ = (G′, F ′).

Let n′3, n3, n′4, n4, n

′5 and n5 be the number of f3, u3, f4, u4, f5 and u5 vertices in I ′,

respectively, where n′3 + n3 + n′4 + n4 + n′5 + n5 = |V (G′)|, and the measure µ(I ′) of

instance I ′ is µ(I ′) = w′3n′3 + w3n3 + w′4n

′4 + w4n4 + w′5n

′5 + w5n5.

At this step, we switch to use the O∗(2.4723n)-time algorithm for the TSP in a degree-5

graphs by Md Yunos et al. [36], as described in Chapter 4. Let µ(I ′) denote the measure of

the TSP in degree-5 instance I ′, where µ(I ′) = w′3n′3 + w3n3 + w′4n

′4 + w4n4 + w′5n

′5 + w5n5,

and the weight w′3 for an f3-vertex is 0.183471, the weight w3 for a u3-vertex is 0.322196,

the weight w′4 for an f3-vertex is 0.347458, the weight w4 for a u3-vertex is 0.700651, the

weight w′5 for an f3-vertex is 0.491764 and the weight w5 for a u3-vertex is 1. Hence, the

running time bound of the TSP in degree-5 instance I ′ with the measure µ(I ′) is given by

2.472232µ(I′).

Since the time bound on tsp6(G,F ) is expressed by τµ(I′) in Eq. (2.2), we get a constraint

on τ :

2.472232µ(I′) ≤ τµ(I′)

for any partition n′3, n3, n′4, n4, n′5, n5 of |V (G′)|. In other words,

2.4722320.183471 ≤ τw′3 ,

2.4722320.322196 ≤ τw3 ,

2.4722320.347458 ≤ τw′4 ,

2.4722320.700651 ≤ τw4 ,

2.4722320.491764 ≤ τw′5 , and

2.4722321 ≤ τw5 .

(5.33)

Page 94: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

5. The TSP in Degree-6 Graphs 69

5.7 Quasiconvex Program

As described in Section 4.7, all the branching vectors (a, b) of the branching rules from case

c-1 to case c-19 and the switching constraints of Eq. (5.33) are solved in a quasiconvex

program according to the method introduced by Eppstein [17]. In total, there are 64

constraints generated from all of the branching vectors (ai, bi), for i = 1, 2, . . . , 64, of

case c-1 to case c-19, and there are six constraints derived for switching to tsp5(G′, F ′).

Generally, our quasiconvex program is described as follows:

min x

subject to

w′i − wi ≤ 0, 3 ≤ i ≤ 6,

wi − wj ≤ 0, 3 ≤ i < j ≤ 6,

w′i − w′j ≤ 0, 3 ≤ i < j ≤ 6,

−1 + x−ai + x−bi ≤ 0, 1 ≤ i ≤ 64,

2.4722320.183471 − xw′3 ≤ 0,

2.4722320.322196 − xw3 ≤ 0,

2.4722320.347458 − xw′4 ≤ 0,

2.4722320.700651 − xw4 ≤ 0,

2.4722320.491764 − xw′5 ≤ 0,

2.4722321 − xw5 ≤ 0, and

wi, w′i ≥ 0, 3 ≤ i ≤ 6.

A full list of constraints used in the algorithm of the TSP in degree-6 graphs written

in our Matlab code are given in Appendix C.

5.8 Overall Analysis

As a result, the branching factor of each of the branching vectors from cases c-1 to c-19 and

the switching constraints of Eq. (5.33) does not exceed 3.033466. The tight constraints

are in conditions c-4, c-7, c-15, c-16, c-18 and the switching constraints of Eq. (5.33). This

completes a proof of Theorem 2.

Page 95: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

70 5. The TSP in Degree-6 Graphs

Page 96: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Chapter 6

The Traveling Salesman Problem

in Degree-7 Graphs

6.1 Branching Rules for the TSP in Degree-7 Graphs

To describe the algorithm for the TSP in degree-7 graphs, let (G,F ) be a reduced forced

TSP instance such that the maximum degree of G is at most 7. A set of the branching

rules of the algorithm for the TSP in degree-7 graphs contains only rules to choose an

edge incident to a degree-7 vertex. Let Vui (resp., Vfi), i = 3, 4, 5, 6, 7, denote the set of

ui-vertices (resp., fi-vertices) in (G,F ). In (G,F ), an unforced edge e = vt incident to a

vertex v of degree 7 is called optimal, if it has highest priority according to our priority

asssignment as described in Section 3.3.

Details priority asssignment of the algorithm for the TSP in degree-7 graphs are an

f7-vertex take precedence over a u7-vertex for the choice of the vertex v, and for the choice

of a vertex t, the order of priorities is as follows: f3, u3, f4, u4, f5, u5, f6, u6, f7 and u7-

vertex. We label the cases in the list of priorities as “case-j” over all unforced edges vt

in (G,F ). The main different between list of priorities of the algorithm for the TSP in

degree-7 graphs with other previous algorithm for the TSP in degree less than 7 is the

vertices of degree 7 itself. We need to take into account the vertices of degree 7 into the

list of priorities and as the number of degree increases so as the complexity in deriving

the branching rules. In total, there are 24 cases which make our branching rules, compare

to only 19 cases of the branching rules for the TSP in degree-6 graphs and 14 cases of the

branching rules for the TSP in degree-5 graphs.

A set of the branching rules around an f7-vertex v are illustrated in Figure 6.1, and a set

of the branching rules around a u7-vertex v are illustrated in Figure 6.2. For convenience

in the analysis of the algorithm, cases c-5, c-8, c-11 and c-14 have been subdivided into

71

Page 97: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

72 6. The TSP in Degree-7 Graphs

sub-cases according to the cardinality of the neighborhood intersection. Intersections of

lower cardinality take precedence over higher ones.

Given a reduced instance I = (G,F ), our algorithm first checks whether there exists a

vertex of degree 7, and if it does, chooses an optimal edge according to the branching rules.

If there exists no optimal edge according to the branching rules, then the reduced instance

has no more vertices of degree 7, and the maximum degree of the reduced instance at this

point is at most 6. Then, we can call a polynomial space exact algorithm for the TSP that

is specialized for degree-6 graphs, e.g., the algorithm specialized for degree-6 graphs by

Md Yunos et al. [37]. Details of the algorithm for the TSP in degree-7 graphs is described

in Algorithm 4.

Branching Rules of the Algorithm for the TSP in Degree 7

(c-1) v ∈ Vf7 and t ∈ NU (v;Vf3) such

that NU (v) ∩NU (t) = ∅;(c-2) v ∈ Vf7 and t ∈ NU (v;Vf3) such

that NU (v) ∩NU (t) 6= ∅;(c-3) v ∈ Vf7 and t ∈ NU (v;Vu3);

(c-4) v ∈ Vf7 and t ∈ NU (v;Vf4) such

that NU (v) ∩NU (t) = ∅;(c-5) v ∈ Vf7 and t ∈ NU (v;Vf4) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1; and

(II) |NU (v) ∩NU (t)| = 2;

(c-6) v ∈ Vf7 and t ∈ NU (v;Vu4);

(c-7) v ∈ Vf7 and t ∈ NU (v;Vf5) such

that NU (v) ∩NU (t) = ∅;(c-8) v ∈ Vf7 and t ∈ NU (v;Vf5) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2; and

(III) |NU (v) ∩NU (t)| = 3;

(c-9) v ∈ Vf7 and t ∈ NU (v;Vu5);

(c-10) v ∈ Vf7 and t ∈ NU (v;Vf6) such

that NU (v) ∩NU (t) = ∅;(c-11) v ∈ Vf7 and t ∈ NU (v;Vf6) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2;

(III) |NU (v) ∩NU (t)| = 3; and

(IV) |NU (v) ∩NU (t)| = 4;

(c-12) v ∈ Vf7 and t ∈ NU (v;Vu6);

(c-13) v ∈ Vf7 and t ∈ NU (v;Vf7) such

that NU (v) ∩NU (t) = ∅;(c-14) v ∈ Vf7 and t ∈ NU (v;Vf7) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2;

(III) |NU (v) ∩NU (t)| = 3;

(IV) |NU (v) ∩NU (t)| = 4; and

(V) |NU (v) ∩NU (t)| = 5;

(c-15) v ∈ Vf7 and t ∈ NU (v;Vu7);

(c-16) v ∈ Vu7 and t ∈ NU (v;Vf3);

(c-17) v ∈ Vu7 and t ∈ NU (v;Vu3);

(c-18) v ∈ Vu7 and t ∈ NU (v;Vf4);

(c-19) v ∈ Vu7 and t ∈ NU (v;Vu4);

(c-20) v ∈ Vu7 and t ∈ NU (v;Vf5);

(c-21) v ∈ Vu7 and t ∈ NU (v;Vu5);

(c-22) v ∈ Vu7 and t ∈ NU (v;Vf6);

(c-23) v ∈ Vu7 and t ∈ NU (v;Vu6); and

(c-24) v ∈ Vu7 and t ∈ NU (v;Vu7).

Page 98: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 73

: unforced edges : forced edges

c-2

v

t1

t2t3

e

t4t5

t6

c-5(II)

v

t1

t2t3

e

t4t5

t6

c-1

t7

v

t1

t2t3

e

t4t5

t6

c-3

t7 t8

v

t1

t2t3

e

t4t5

t6

c-5(I)

v

t1

t2t3

e

t4t5

t6

t7

c-8(I)

v

t1

t2t3

e

t4t5

t6

t7 t8

c-8(II)

v

t1

t2t3

e

t4t5

t6

t7

c-8(III)

v

t1

t2t3

e

t4t5

t6

c-11(II)

v

t1

t2t3

e

t4t5

t6

t7 t8

c-11(III)

v

t1

t2t3

e

t4t5

t6

t7

c-11(IV)

v

t1

t2t3

e

t4t5

t6

c-14(III)

v

t1

t2t3

e

t4t5

t6

t7 t8

c-14(IV)

v

t1

t2t3

e

t4t5

t6

t7

c-14(V)

v

t1

t2t3

e

t4t5

t6

c-4

v

t1

t2t3

e

t4t5

t6

t7 t8

c-6

v

t1

t2t3

e

t4t5

t6

c-7

v

t1

t2t3

e

t4t5

t6

t8t7 t9

c-9

v

t1

t2t3

e

t4

t5

t6

c-10

v

t1

t2t3

e

t4t5

t6

t7 t8 t9 t10

c-11(I)

v

t1

t2 t3

e

t4t5

t6

t8t7 t9

c-12

vt1

t2 t3

e

t4t5

t6

c-13

vt1

t2t3

e

t4t5

t6

t7 t8 t9t10 t11

c-14(I)

v

t1

t2 t3

e

t4t5

t6

t7 t8 t9 t10

c-14(II)

v

t1

t2 t3

e

t4t5

t6

t8t7 t9

c-15

vt1

t2 t3

e

t4t5

t6

Figure 6.1: Illustration of the branching rules around an f7-vertex v.

Page 99: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

74 6. The TSP in Degree-7 Graphs

c-16

t7

v

t2t3

e

t4 t5t6

t1

t8

: unforced edges : forced edges

c-17

t7

v

t2t3

e

t4 t5t6

t1

t8 t9c-18

t7

v

t2t3

e

t4 t5t6

t1

t8 t9

c-19

t7

v

t2t3

e

t4 t5t6

t1

c-20

t7

v

t2 t3

e

t4 t5t6

t1

t10t8 t9c-21

t7

v

t2t3

e

t4 t5t6

t1

c-22

t7

v

t2t3

e

t4 t5t6

t1

t11t8 t9 t10

c-23

t7

v

t2t3

e

t4 t5t6

t1

c-24

t7

v

t2t3

e

t4 t5t6

t1

Figure 6.2: Illustration of the branching rules around a u7-vertex v.

Algorithm 4 tsp7(G,F )

Input: An instance (G,F ) such that the maximum degree of G is at most 7.

Output: The minimum cost of a tour of (G,F ); or a message for the infeasibility of (G,F ),

which evaluates to ∞.

1: Run Red(G,F );

2: if Red(G,F ) returns ∞ then

3: return ∞4: else

5: Let (G′, F ′) := Red(G,F );

6: if Vu7 ∪ Vf7 6= ∅ in (G′, F ′) then

7: Choose an optimal unforced edge e;

8: return mintsp7(G′, F ′ ∪ e), tsp7(G′ − e, F ′)9: else /* the maximum degree of any vertex in (G′, F ′) is at most 6 */

10: return tsp6(G′, F ′)

11: end if

12: end if.

Note: The input and output of algorithm tsp6(G,F ) are as follows:

Input: An instance (G,F ) such that the maximum degree of G is at most 6.

Output: The minimum cost of a tour of (G,F ); or a message for the infeasibility of

(G,F ), which evaluates to ∞.

Page 100: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 75

6.2 Main Result

We choose a vertex weight function ω(v) as in Eq. (6.1). For i = 3, 4, 5, 6, 7, we denote by

wi the weight of a ui-vertex, and by w′i the weight of an fi-vertex.

ω(v) =

w7 = 1 for a u7-vertexv

w′7 = 0.508069 for an f7-vertexv

w6 = 0.867483 for a u6-vertex v

w′6 = 0.449136 for an f6-vertex v

w5 = 0.707555 for a u5-vertex v

w′5 = 0.378022 for an f5-vertex v

w4 = 0.503746 for a u4-vertex v

w′4 = 0.285517 for an f4-vertex v

w3 = 0.232828 for a u3-vertex v

w′3 = 0.129815 for an f3-vertex v

0 otherwise

(6.1)

Lemma 7 If the vertex weight function ω(v) is set as in Eq. (6.1), then the branching

factor of each branching operation in Algorithm 4 is not greater than 3.593854.

A proof of Lemma 7 will be derived analytically in the several subsections which follow.

From Lemma 7, we get our main result as stated in Theorem 3.

Theorem 3 The TSP in an n-vertex graph G with maximum degree 7 can be solved in

O∗(3.5939n) time and polynomial space.

6.3 Weight Constraints

In order to obtain a measure which will imply the same running time bound as a function

of the size of a TSP instance, we require that the weight of each vertex be at most 1. In

what follows, we examine necessary constraints which are sufficient for the vertex weights

to satisfy in order to obtain a proper measure.

For i = 3, 4, 5, 6, 7, we denote by wi the weight of a ui-vertex and by w′i the weight of

an fi-vertex. The conditions for a proper measure require that the measure of an instance

obtained through the reduction operation or the branching operation not be greater than

the measure of the original instance. The vertex weight for vertices of degree less than 3

Page 101: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

76 6. The TSP in Degree-7 Graphs

is set to be 0, w7 ≤ 1 and other vertex weights should satisfy the following relations:

w′i ≤ wi, 3 ≤ i ≤ 7, (6.2)

wi ≤ wj , 3 ≤ i < j ≤ 7, and (6.3)

w′i ≤ w′j , 3 ≤ i < j ≤ 7. (6.4)

As a result of the reduction and the branching operations, the degree of some vertices

will decrease, while the degree of other vertices will remain unchanged. A forced edge will

never be eliminated, neither by the reduction nor the branching operations. Conversely,

an unforced edge may be erased or become forced by the reduction or the branching oper-

ations. Thus, the measure of an instance obtained through the reduction or the branching

operations will not be greater than the measure of the original instance. Lemma 8 shows

that the algorithms given in Algorithm 1 and Algorithm 4, setting vertex weights which

satisfy the conditions of Eqs. (6.2) to (6.4) is sufficient to obtain a proper measure. We

can prove this lemma similarly as Lemma 4.

Lemma 8 If the weights of vertices are chosen as in Eqs. (6.2) to (6.4), then the measure

µ(I) never increases as a result of the reduction or the branching operations of Algorithm 1

and Algorithm 4.

To simplify some arguments, we introduce the following notation:

∆i , wi − w′i, 3 ≤ i ≤ 7,

∆i,j , wi − wj , 3 ≤ j < i ≤ 7, and

∆′i,j , w′i − w′j , 3 ≤ j < i ≤ 7.

In the remainder of the analysis, for an optimal edge e = vt1, we denote NU (v) by

t1, t2, . . . , ta, a = dU (v), and NU (t1) \ v by ta+1, ta+2, . . . , ta+b, b = dU (t1) − 1.

We assume without loss of generality that t1+i = ta+i for i = 1, 2, . . . , c, where c =

|NU (v) ∪NU (t1)|, the number of neighbors that v and t1 have in common.

If there exists an f3-vertex ta+i in NU (t1), then let x ∈ NU (ta+i). We see that the

choice of a vertex x is unique, because ta+i is of type f3 and |NU (ta+i)| = 1. This vertex x

will be included in the analysis since it is also affected by the branching operations and

reduction rules as shown in Figure 6.3.

6.4 Branching on Edges around f7-vertices

We will show how we derive the branching vectors for branchings on an optimal edge e = vt,

incident to a vertex of degree 7. We analyze the branching vectors in a similar manner as

Page 102: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 77

: newly forced edges by the branching operation

: newly deleted edges by the branching operation

: forced edges

: newly forced edges by the reduction rules

: newly deleted edges by the reduction rules

(a) force(e)

x

ta+i

t1

e

v

(b) delete(e)

x

ta+i

t1

e

v

Figure 6.3: Illustration of edges that will become forced or deleted due to the branching

operation and reduction rules for an f3 vertex.

used in the algorithm for TSP in degree-5 graphs by Md Yunos et al. [36], as described

in Chapter 4. For this section, there are 15 cases for branching on edges around f7-

vertices, cases c-1 to c-15. Next, we derive branching vectors for branchings on an optimal

edge e = vt, incident to an f7-vertex v.

Case c-1. There exist vertices v ∈ Vf7 and t1 ∈ NU (v;Vf3) such that NU (v)∩NU (t1) = ∅(see Figure 6.4): We branch on the edge vt1. Note that NU (t1) \ v = t7.

t7

v

t1

t2t3

e

t4t5

t6

(a) force(vt1) in c-1 (b) delete(vt1) in c-1

t7

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.4: Illustration of branching rule c-1, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf3) such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6 and t1t7 will be deleted from G′ by the reduction

rules. Both v and t1 will become vertices of degree 2. From Eq. (6.1), the weight of

vertices of degree 2 is 0. Hence, the weight of vertex v decreases by w′7, and the weight of

vertex t1 decreases by w′3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t7 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆′7,6, and the weight of vertex t1 decreases by w′3.

There are two possible cases for the vertex t7; 1) vertex t7 is of type f3, and 2) other-

wise. We will analyze these two cases separately for each of the branches force(vt1) and

delete(vt1).

First, we will analyze the case where the vertex t7 is an f3-vertex (see Figure 6.3).

Recall that in this case, we denote by x the unique neighbor of t7 different from t1. There

are two cases for the vertex x; a) vertex x /∈ NU (v), and b) vertex x ∈ NU (v).

Page 103: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

78 6. The TSP in Degree-7 Graphs

First, we analyze the case where the vertex x /∈ NU (v). In the branch of force(vt1),

the edge xt7 will be added to F ′ by the reduction rules. Hence, the weight of vertex t7

decreases by w′3. Each of the vertices t2, t3, t4, t5 and t6 must be one of types f3, u3,

f4, u4, f5, u5, f6, u6, f7 and u7-vertex, and each of their weights decreases by at least

m1 , minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. If the vertex x is an f3-

vertex (resp., u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex), then the weight decrease α1

of vertex x will be w′3 (resp., ∆3, w′4, ∆4, w

′5, ∆5, w

′6, ∆6, w

′7 and ∆7). Thus, the total

weight decrease for this case in the branch of force(vt1) is at least w′7+w′3+w′3+5m1+α1

= w′7 + 2w′3 + 5m1 + α1.

In the branch of delete(vt1), the edge xt7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t7 decreases by w′3. If the vertex x is an f3-vertex (resp.,

u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex), then the weight decrease β1 of vertex x will

be w′3 (resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6 and ∆7,6). Thus, the total weight

decrease for this case in the branch of delete(vt1) is at least w′7 − w′6 + w′3 + w′3 + β1 =

w′7 − w′6 + 2w′3 + β1.

As a result, for the ordered pair (α1, β1) taking values in (w′3, w′3), (∆3, w3), (w′4,∆′4,3),

(∆4,∆4,3), (w′5,∆′5,4), (∆5,∆5,4), (w′6,∆

′6,5), (∆6,∆6,5), (w′7,∆

′7,6), (∆7,∆7,6), we get the

following 10 branching vectors:

(w′7 + 2w′3 + 5m1 + α1, w′7 − w′6 + 2w′3 + β1). (6.5)

Second, we analyze the case where the vertex x ∈ NU (v). Without loss of generality,

we assume that x is t2. In the branch of force(vt1), the edge t2t7 will be added to F ′ by the

reduction rules. Hence, the weight of vertex t7 decreases by w′3. Each of the vertices t3, t4,

t5 and t6 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and u7-vertex, and each of their

weights decreases by at leastm1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6.

If the vertex t2 is an f3-vertex (resp., u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex), then

the weight decrease α2 of vertex t2 will be w′3 (resp., w3, w′4, w4 − w′3, w′5, w5 − w′4, w′6,

w6 − w′5, w′7 and w7 − w′6). Thus, the total weight decrease for this case in the branch of

force(vt1) is at least w′7 + w′3 + w′3 + 4m1 + α2 = w′7 + 2w′3 + 4m1 + α2.

In the branch of delete(vt1), the edge t2t7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t7 decreases by w′3. If the vertex t2 is an f3-vertex (resp.,

u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex), then the weight decrease β2 of vertex t2 will

be w′3 (resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6 and ∆7,6). Thus, the total weight

decrease for this case in the branch of delete(vt1) is at least w′7 − w′6 + w′3 + w′3 + β2 =

w′7 − w′6 + 2w′3 + β2.

As a result, for the ordered pair (α2, β2) taking values in (w′3, w′3), (w3, w3), (w′4,∆′4,3),

(w4 − w′3,∆4,3), (w′5,∆′5,4), (w5 − w′4,∆5,4), (w′6,∆

′6,5), (w6 − w′5,∆6,5), (w′7,∆

′7,6), (w7 −

Page 104: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 79

w′6,∆7,6), we get the following 10 branching vectors:

(w′7 + 2w′3 + 4m1 + α2, w′7 − w′6 + 2w′3 + β2). (6.6)

Next, we examine the case where the vertex t7 is not an f3-vertex. In the branch

of force(vt1), each of the vertices t2, t3, t4, t5 and t6 must be one of types f3, u3,

f4, u4, f5, u5, f6, u6, f7 and u7-vertex, and each of their weights decreases by at least

m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. If the vertex t7 is a u3-

vertex (resp., f4, u4, f5, u5, f6, u6, f7 and a u7-vertex), then the weight decrease α3 of

vertex t7 will be w3 (resp., ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6 and ∆7,6). Thus, the

total weight decrease for this case in the branch of force(vt1) is at least w′7+w′3+5m1+α3.

In the branch of delete(vt1), if the vertex t7 is a u3-vertex (resp., f4, u4, f5, u5, f6,

u6, f7 and a u7-vertex), then the weight decrease β3 of vertex t7 will be ∆3 (resp., w′4, ∆4,

w′5, ∆5, w′6, ∆6, w

′7 and ∆7). Thus, the total weight decrease for the case where t7 is not

an f3-vertex in the branch of delete(vt1) is at least w′7 − w′6 + w′3 + β3.

As a result, for the ordered pair (α3, β3) taking values in (w3,∆3), (∆′4,3, w′4), (∆4,3,∆4),

(∆′5,4, w′5), (∆5,4,∆5), (∆′6,5, w

′6), (∆6,5,∆6), (∆′7,6, w

′7), (∆7,6,∆7), we get the following

nine branching vectors:

(w′7 + w′3 + 5m1 + α3, w′7 − w′6 + w′3 + β3). (6.7)

Case c-2. Case c-1 is not applicable, and there exist vertices v ∈ Vf7 and t1 ∈ NU (v;Vf3)

such that NU (v)∩NU (t1) 6= ∅. Without loss of generality, assume that |NU (v)∩NU (t1)| =t2 (see Figure 6.5): We branch on the edge vt1.

(a) force(vt1) in c-2

v

t1

t2t3

e

t4t5

t6

(b) delete(vt1) in c-2

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.5: Illustration of branching rule c-2, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf3) such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6 and t1t2 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1 de-

creases by w′3. Each of the vertices t3, t4, t5 and t6 must be one of types f3, u3, f4,

u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least

m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6.

Page 105: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

80 6. The TSP in Degree-7 Graphs

If the vertex t2 is an f3 or a u3-vertex, after applying the branching operation, t2 would

become a vertex of degree 1. From Lemma 1, case (i), this is infeasible, and the algorithm

will return ∞ and terminate. Otherwise, if the vertex t2 is an f4-vertex (resp., u4, f5, u5,

f6, u6, f7 and a u7-vertex), then the weight decrease α4 of vertex t2 will be w′4 (resp., w4,

∆′5,3, ∆5,3, ∆′6,4, ∆6,4, ∆′7,5 and ∆7,5). Thus, the total weight decrease in the branch of

force(vt1) is at least w′7 + w′3 + 4m1 + α4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t2 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆′7,6, and the weight of vertex t1 decreases by w′3. If the vertex t2

is an f4-vertex (resp., u4, f5, u5, f6, u6, f7 and a u7-vertex), then the weight decrease β4

of vertex t2 will be w′4 (resp., ∆4, w′5, ∆5, w

′6, ∆6, w

′7 and ∆7). Thus, the total weight

decrease in the branch of delete(vt1) is at least w′7 − w′6 + w′3 + β4.

As a result, for the ordered pair (α4, β4) taking values in (w′4, w′4), (w4,∆4), (∆′5,3, w′5),

(∆5,3,∆5), (∆′6,4, w′6), (∆6,4,∆6), (∆′7,5, w

′7), (∆7,5,∆7), we get the following eight branch-

ing vectors:

(w′7 + w′3 + 4m1 + α4, w′7 − w′6 + w′3 + β4). (6.8)

Case c-3. Case c-1 and case c-2 are not applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vu3) (see Figure 6.6): We branch on the edge vt1. Note that NU (t1) \ v =

t7, t8.

(a) force(vt1) in c-3

t7 t8

v

t1

t2t3

e

t4t5

t6

(b) delete(vt1) in c-3

t7 t8

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.6: Illustration of branching rule c-3, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vu3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5 and vt6 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1 de-

creases by ∆3. Each of the vertices t2, t3, t4, t5 and t6 must be one of types u3, f4,

u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least

m3 , minw3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. Thus, the total weight decrease

in the branch of force(vt1) is at least w′7 + w3 − w′3 + 5m3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and edges t1t7 and t1t8 will be added to F ′ by the reduction rules. Hence, the

Page 106: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 81

weight of vertex v decreases by ∆′7,6, and the weight of vertex t1 decreases by w3. Each

of the vertices t7 and t8 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex,

and each of their weights decreases by at leastm2 , minw′3,∆3, w′4,∆4, w

′5,∆5, w

′6,∆6, w

′7,∆7.

Thus, the total weight decrease in the branch of delete(vt1) is at least w′7−w′6+w3+2m2.

As a result, we get the following branching vector:

(w′7 + w3 − w′3 + 5m3, w′7 − w′6 + w3 + 2m2). (6.9)

Case c-4. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vf4) such that NU (v) ∩ NU (t1) = ∅ (see Figure 6.7): We branch on the edge

vt1. Note that NU (t1) \ v = t7, t8.

(a) force(vt1) in c-4

v

t1

t2t3

e

t4t5

t6

t7 t8

(b) delete(vt1) in c-4

v

t1

t2t3

e

t4t5

t6

t7 t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.7: Illustration of branching rule c-4, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf4) such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, t1t7 and t1t8 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight of ver-

tex t1 decreases by w′4. Each of the vertices t2, t3, t4, t5 and t6 must be one of types

f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least

m4 , min∆′4,3,∆4,3,∆′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. Each of the vertices t7 and t8 must

be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights

decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6, ∆7,6. Thus,

the total weight decrease in the branch of force(vt1) is at least w′7 + w′4 + 5m4 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w′4 − w′3.

As a result, we get the following branching vector:

(w′7 + w′4 + 5m4 + 2m1, w′7 − w′6 + w′4 − w′3). (6.10)

Case c-5. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

Page 107: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

82 6. The TSP in Degree-7 Graphs

t1 ∈ NU (v;Vf4) such that NU (v) ∩ NU (t1) 6= ∅: We distinguish two sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-5(I) |NU (v) ∩NU (t1)| = 1; and

c-5(II) |NU (v) ∩NU (t1)| = 2.

c-5(I). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2 (see Fig-

ure 6.8): We branch on the edge vt1. Note that NU (t1) \ v, t2 = t7.

(a) force(vt1) in c-5(I)

v

t1

t2t3

e

t4t5

t6

t7

(b) delete(vt1) in c-5(I)

v

t1

t2t3

e

t4t5

t6

t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.8: Illustration of branching rule c-5(I), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf4) such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2 and t1t7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1 decreases

by w′4. The vertex t2 must be one of types f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and its

weight decreases by at least m5 , minw′4, w4,∆′5,3,∆5,3,∆

′6,4,∆6,4,∆

′7,5,∆7,5. Each of

the vertices t3, t4, t5 and t6 must be one of types f4, u4, f5, u5, f6, u6, f7 and a u7-vertex,

and each of their weights decreases by at least m4 = min∆′4,3,∆4,3,∆′5,4,∆5,4,∆

′6,5,∆6,5,

∆′7,6,∆7,6. The vertex t7 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-

vertex, and its weight decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,

∆6,5,∆′7,6,∆7,6. Thus, the total weight decrease in the branch of force(vt1) is at least

w′7 + w′4 +m1 + 4m4 +m5.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w′4 − w′3.

As a result, we get the following branching vector:

(w′7 + w′4 +m1 + 4m4 +m5, w′7 − w′6 + w′4 − w′3). (6.11)

c-5(II). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2, t3 (see

Figure 6.9): We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching

Page 108: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 83

(a) force(vt1) in c-5(II)

v

t1

t2t3

e

t4t5

t6

(b) delete(vt1) in c-5(II)

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.9: Illustration of branching rule c-5(II), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf4) such that NU (v) ∩NU (t1) = t2, t3.

operation, and edges vt2, vt3, vt4, vt5, vt6, t1t2 and t1t3 will be deleted from G′ by

the reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight

of vertex t1 decreases by w′4. Each of the vertices t2 and t3 must be one of types f4,

u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least

m5 = minw′4, w4,∆′5,3,∆5,3,∆

′6,4,∆6,4,∆

′7,5,∆7,5. Each of the vertices t4, t5 and t6 must

be one of types f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases

by at least m4 = min∆′4,3,∆4,3,∆′5,4,∆5,4,∆

′6,5, ∆6,5,∆

′7,6,∆7,6. Thus, the total weight

decrease in the branch of force(vt1) is at least w′7 + w′4 + 3m4 + 2m5.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w′4 − w′3.

As a result, we get the following branching vector:

(w′7 + w′4 + 3m4 + 2m5, w′7 − w′6 + w′4 − w′3). (6.12)

Case c-6. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vu4) (see Figure 6.10): We branch on the edge vt1.

(a) force(vt1) in c-6

v

t1

t2t3

e

t4t5

t6

(b) delete(vt1) in c-6

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.10: Illustration of branching rule c-6, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vu4).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5 and vt6 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1 de-

creases by ∆4. Each of the vertices t2, t3, t4, t5 and t6 must be one of types u4, f5,

Page 109: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

84 6. The TSP in Degree-7 Graphs

u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least m6 ,

min∆4,3,∆′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6, ∆7,6. Thus, the total weight decrease in the branch

of force(vt1) is at least w′7 + w4 − w′4 + 5m6.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w4 − w3.

As a result, we get the following branching vector:

(w′7 + w4 − w′4 + 5m6, w′7 − w′6 + w4 − w3). (6.13)

Case c-7. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vf5) such that NU (v) ∩ NU (t) = ∅ (see Figure 6.11): We branch on the edge

vt1. Note that NU (t1) \ v = t7, t8, t9.

(a) force(vt1) in c-7

v

t1

t2t3

e

t4t5

t6

t8t7 t9

(b) delete(vt1) in c-7

v

t1

t2t3

e

t4t5

t6

t8t7 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.11: Illustration of branching rule c-7, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf5) such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, t1t7, t1t8 and t1t9 will be deleted from G′ by

the reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight of

vertex t1 decreases by w′5. Each of the vertices t2, t3, t4, t5 and t6 must be one of

types f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least

m7 , min∆′5,4,∆5,4,∆′6,5,∆6,5,∆

′7,6,∆7,6. Each of the vertices t7, t8 and t9 must be one

of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decrease

by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. Thus, the total

weight decrease in the branch of force(vt1) is at least w′7 + w′5 + 5m7 + 3m1.

In the branch of delete(vt1), the edge vt1 will be added to F ′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w′5 − w′4.

As a result, we get the following branching vector:

(w′7 + w′5 + 5m7 + 3m1, w′7 − w′6 + w′5 − w′4). (6.14)

Page 110: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 85

Case c-8. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vf5) such that NU (v) ∩NU (t1) 6= ∅: We distinguish three sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-8(I) |NU (v) ∩NU (t1)| = 1;

c-8(II) |NU (v) ∩NU (t1)| = 2; and

c-8(III) |NU (v) ∩NU (t1)| = 3.

c-8(I). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2 (see Fig-

ure 6.12): We branch on the edge vt1. Note that NU (t1) \ v = t7, t8.

(a) force(vt1) in c-8(I)

v

t1

t2t3

e

t4t5

t6

t7 t8

(b) delete(vt1) in c-8(I)

v

t1

t2t3

e

t4t5

t6

t7 t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.12: Illustration of branching rule c-8(I), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf5) such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t7 and t1t8 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1

decreases by w′5. The vertex t2 must be one of types f5, u5, f6, u6, f7 and a u7-vertex, and

its weight decreases by at least m8 , min∆′5,3,∆5,3,∆′6,4,∆6,4,∆

′7,5,∆7,5. Each of the

vertices t3, t4, t5 and t6 must be one of types f5, u5, f6, u6, f7 and a u7-vertex, and each of

their weights decreases by at least m7 = min∆′5,4,∆5,4,∆′6,5,∆6,5,∆

′7,6,∆7,6. Each of the

vertices t7 and t8 must be one of types of f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex,

and each of their weights decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,

∆′6,5, ∆6,5,∆′7,6,∆7,6. Thus, the total weight decrease in the branch of force(vt1) is at

least w′7 + w′5 +m8 + 4m7 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w′5 − w′4.

As a result, we get the following branching vector:

(w′7 + w′5 +m8 + 4m7 + 2m1, w′7 − w′6 + w′5 − w′4). (6.15)

c-8(II). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2, t3 (see

Figure 6.13): We branch on the edge vt1. Note that NU (t1) \ v = t7.

Page 111: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

86 6. The TSP in Degree-7 Graphs

(a) force(vt1) in c-8(II)

v

t1

t2t3

e

t4t5

t6

t7

(b) delete(vt1) in c-8(II)

v

t1

t2t3

e

t4t5

t6

t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.13: Illustration of branching rule c-8(II), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf5) such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3 and t1t7 will be deleted from G′ by

the reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight

of vertex t1 decreases by w′5. Each of the vertices t2 and t3 must be one of types f5,

u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least m8 =

min∆′5,3,∆5,3,∆′6,4,∆6,4,∆

′7,5,∆7,5. Each of the vertices t4, t5 and t6 must be one

of types f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at

least m7 = min∆′5,4,∆5,4,∆′6,5,∆6,5,∆

′7,6,∆7,6. The vertex t7 must be one of types of

f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and its weight decreases by at least

m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. Thus, the total weight de-

crease in the branch of force(vt1) is at least w′7 + w′5 + 2m8 + 3m7 +m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w′5 − w′4.

As a result, we get the following branching vector:

(w′7 + w′5 + 2m8 + 3m7 +m1, w′7 − w′6 + w′5 − w′4). (6.16)

c-8(III). Without loss of generality, assume that |NU (v) ∩NU (t1)| = t2, t3, t4 (see

Figure 6.14): We branch on the edge vt1.

(a) force(vt1) in c-8(III)

v

t1

t2t3

e

t4t5

t6

(b) delete(vt1) in c-8(III)

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.14: Illustration of branching rule c-8(III), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf5) such that NU (v) ∩NU (t1) = t2, t3, t4.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

Page 112: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 87

eration, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3 and t1t4 will be deleted from G′ by

the reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight of

vertex t1 decreases by w′5. Each of the vertices t2, t3 and t4 must be one of types f5,

u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least m8 =

min∆′5,3,∆5,3,∆′6,4,∆6,4,∆

′7,5,∆7,5. Each of the vertices t5 and t6 must be one of

types f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least

m7 = min∆′5,4,∆5,4,∆′6,5,∆6,5,∆

′7,6,∆7,6. Thus, the total weight decrease in the branch

of force(vt1) is at least w′7 + w′5 + 3m8 + 2m7.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w′5 − w′4.

As a result, we get the following branching vector:

(w′7 + w′5 + 3m8 + 2m7, w′7 − w′6 + w′5 − w′4). (6.17)

Case c-9. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vu5) (see Figure 6.15): We branch on the edge vt1.

(a) force(vt1) in c-9

v

t1

t2t3

e

t4t5

t6

(b) delete(vt1) in c-9

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.15: Illustration of branching rule c-9, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vu5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5 and vt6 will be deleted from G′ by the reduction rules.

Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1 decreases by ∆5.

Each of the vertices t2, t3, t4, t5 and t6 must be one of types u5, f6, u6, f7 and a u7-vertex,

and each of their weights decreases by at least m9 , min∆5,4,∆′6,5,∆6,5,∆

′7,6,∆7,6.

Thus, the total weight decrease in the branch of force(vt1) is at least w′7 +w5−w′5 +5m9.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w5 − w4.

Page 113: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

88 6. The TSP in Degree-7 Graphs

As a result, we get the following branching vector:

(w′7 + w5 − w′5 + 5m9, w′7 − w′6 + w5 − w4). (6.18)

Case c-10. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vf6) such that NU (v) ∩ NU (t) = ∅ (see Figure 6.16): We branch on the edge

vt1. Note that NU (t1) \ v = t7, t8, t9, t10.

(a) force(vt1) in c-10

v

t1

t2t3

e

t4t5

t6

t7 t8 t9 t10

(b) delete(vt1) in c-10

v

t1

t2t3

e

t4t5

t6

t7 t8 t9 t10

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.16: Illustration of branching rule c-10, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, t1t7, t1t8, t1t9 and t1t10 will be deleted from G′

by the reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight

of vertex t1 decreases by w′6. Each of the vertices t2, t3, t4, t5 and t6 must be one

of types f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least

m10 , min∆′6,5,∆6,5,∆′7,6,∆7,6. Each of the vertices t7, t8, t9 and t10 must be one

of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights de-

creases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. Thus,

the total weight decrease in the branch of force(vt1) is at least w′7 + w′6 + 5m10 + 4m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease in the branch of delete(vt1) is at

least w′7 − w′6 + w′6 − w′5 = w′7 − w′5.

As a result, we get the following branching vector:

(w′7 + w′6 + 5m10 + 4m1, w′7 − w′5). (6.19)

Case c-11. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vf6) such that NU (v) ∩NU (t1) 6= ∅: We distinguish four sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-11(I) |NU (v) ∩NU (t1)| = 1;

c-11(II) |NU (v) ∩NU (t1)| = 2;

Page 114: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 89

c-11(III) |NU (v) ∩NU (t1)| = 3; and

c-11(IV) |NU (v) ∩NU (t1)| = 4.

c-11(I). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2 (see Fig-

ure 6.17): We branch on the edge vt1. Note that NU (t1) \ v = t7, t8, t9.

(a) force(vt1) in c-11(I)

v

t1

t2 t3

e

t4t5

t6

t8t7 t9

(b) delete(vt1) in c-11(I)

v

t1

t2 t3

e

t4t5

t6

t8t7 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.17: Illustration of branching rule c-11(I), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t7, t1t8 and t1t9 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1

decreases by w′6. The vertex t2 must be one of types f6, u6, f7 and a u7-vertex, and its

weight decreases by at least m11 , min∆′6,4,∆6,4,∆′7,5,∆7,5. Each of the vertices t3, t4,

t5 and t6 must be one of types f6, u6, f7 and a u7-vertex, and each of their weights decreases

by at least m10 = min∆′6,5,∆6,5,∆′7,6,∆7,6. Each of the vertices t7, t8 and t9 must be

one of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and each of their weights

decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. Thus,

the total weight decrease in the branch of force(vt1) is at least w′7+w′6+m11+4m10+3m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease in the branch of delete(vt1) is at

least w′7 − w′6 + w′6 − w′5 = w′7 − w′5.

As a result, we get the following branching vector:

(w′7 + w′6 +m11 + 4m10 + 3m1, w′7 − w′5). (6.20)

c-11(II). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2, t3 (see

Figure 6.18): We branch on the edge vt1. Note that NU (t1) \ v = t7, t8.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3, t1t7 and t1t8 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1

decreases by w′6. Each of the vertices t2 and t3 must be one of types f6, u6, f7 and a u7-

vertex, and each of their weights decreases by at least m11 = min∆′6,4,∆6,4,∆′7,5,∆7,5.

Page 115: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

90 6. The TSP in Degree-7 Graphs

(a) force(vt1) in c-11(II)

v

t1

t2 t3

e

t4t5

t6

t7 t8

(b) delete(vt1) in c-11(II)

v

t1

t2 t3

e

t4t5

t6

t7 t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.18: Illustration of branching rule c-11(II), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3.

Each of the vertices t4, t5 and t6 must be one of types f6, u6, f7 and a u7-vertex, and

each of their weights decreases by at least m10 = min∆′6,5,∆6,5,∆′7,6,∆7,6. Each of the

vertices t7 and t8 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and

each of their weights decreases by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,

∆6,5, ∆′7,6,∆7,6. Thus, the total weight decrease in the branch of force(vt1) is at least

w′7 + w′6 + 2m11 + 3m10 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease in the branch of delete(vt1) is at

least w′7 − w′6 + w′6 − w′5 = w′7 − w′5.

As a result, we get the following branching vector:

(w′7 + w′6 + 2m11 + 3m10 + 2m1, w′7 − w′5). (6.21)

c-11(III). Without loss of generality, assume that |NU (v)∩NU (t1)| = t2, t3, t4 (see

Figure 6.19): We branch on the edge vt1. Note that NU (t1) \ v = t7.

(a) force(vt1) in c-11(III)

v

t1

t2t3

e

t4t5

t6

t7

(b) delete(vt1) in c-11(III)

v

t1

t2t3

e

t4t5

t6

t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.19: Illustration of branching rule c-11(III), where the vertex v ∈ Vf7 and ver-

tex t1 ∈ NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3, t4.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3, t1t4 and t1t7 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1

decreases by w′6. Each of the vertices t2, t3 and t4 must be one of types f6, u6, f7 and a u7-

vertex, and each of their weights decreases by at least m11 = min∆′6,4,∆6,4,∆′7,5,∆7,5.

Page 116: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 91

Each of the vertices t5 and t6 must be one of types f6, u6, f7 and a u7-vertex, and each of

their weights decreases by at least m10 = min∆′6,5,∆6,5,∆′7,6,∆7,6. The vertex t7 must

be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7 and a u7-vertex, and its weight decreases

by at least m1 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆

′7,6,∆7,6. Thus, the total

weight decrease in the branch of force(vt1) is at least w′7 + w′6 + 3m11 + 2m10 +m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease in the branch of delete(vt1) is at

least w′7 − w′6 + w′6 − w′5 = w′7 − w′5.

As a result, we get the following branching vector:

(w′7 + w′6 + 3m11 + 2m10 +m1, w′7 − w′5). (6.22)

c-11(IV). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2, t3, t4, t5(see Figure 6.20): We branch on the edge vt1.

v

t1

t2t3

e

t4t5

t6

(a) force(vt1) in c-11(IV) (b) delete(vt1) in c-11(IV)

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.20: Illustration of branching rule c-11(IV), where the vertex v ∈ Vf7 and ver-

tex t1 ∈ NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3, t4, t5.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching

operation, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3, t1t4 and t1t5 will be deleted

from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′7, and

the weight of vertex t1 decreases by w′6. Each of the vertices t2, t3, t4 and t5 must be

one of types f6, u6, f7 and a u7-vertex, and each of their weights decreases by at least

m11 = min∆′6,4,∆6,4,∆′7,5,∆7,5. The vertex t6 must be one of types f6, u6, f7 and a

u7-vertex, and its weight decreases by at least m10 = min∆′6,5,∆6,5,∆′7,6,∆7,6. Thus,

the total weight decrease in the branch of force(vt1) is at least w′7 + w′6 + 4m11 +m10.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w′6 − w′5 = w′7 − w′5.

As a result, we get the following branching vector:

(w′7 + w′6 + 4m11 +m10, w′7 − w′5). (6.23)

Page 117: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

92 6. The TSP in Degree-7 Graphs

Case c-12. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vu6) (see Figure 6.21): We branch on the edge vt1.

(a) force(vt1) in c-12

vt1

t2 t3

e

t4t5

t6

(b) delete(vt1) in c-12

vt1

t2 t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.21: Illustration of branching rule c-12, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vu6).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5 and vt6 will be deleted from G′ by the reduction rules.

Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1 decreases by ∆6.

Each of the vertices t2, t3, t4, t5 and t6 must be one of types u6, f7 and a u7-vertex, and

each of their weights decreases by at least m12 , min∆6,5,∆′7,6,∆7,6. Thus, the total

weight decrease in the branch of force(vt1) is at least w′7 + w6 − w′6 + 5m12.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆6,5. Thus, the total weight decrease in the branch of delete(vt1) is at least

w′7 − w′6 + w6 − w5.

As a result, we get the following branching vector:

(w′7 + w6 − w′6 + 5m12, w′7 − w′6 + w6 − w5). (6.24)

Case c-13. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vf7) such that NU (v) ∩ NU (t) = ∅ (see Figure 6.22): We branch on the edge

vt1.

(a) force(vt1) in c-13

vt1

t2 t3

e

t4t5

t6

t7t8 t9 t10 t11

(b) delete(vt1) in c-13

vt1

t2 t3

e

t4t5

t6

t7t8 t9 t10t11

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.22: Illustration of branching rule c-13, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf7) such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t7, t1t8, t1t9, t1t10 and t1t11 will be deleted from G′

Page 118: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 93

by the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′7.

Each of the vertices t2, t3, t4, t5, t6, t7, t8, t9, t10 and t11 must be either a type f7 or a

u7-vertex, and each of their weights decreases by at least m13 , min∆′7,6,∆7,6. Thus,

the total weight decrease in the branch of force(vt1) is at least 2w′7 + 10m13.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′7,6. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′7 − 2w′6.

As a result, we get the following branching vector:

(2w′7 + 10m13, 2w′7 − 2w′6). (6.25)

Case c-14. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vf7) such that NU (v) ∩ NU (t1) 6= ∅: We distinguish five sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-14(I) |NU (v) ∩NU (t1)| = 1;

c-14(II) |NU (v) ∩NU (t1)| = 2;

c-14(III) |NU (v) ∩NU (t1)| = 3;

c-14(IV) |NU (v) ∩NU (t1)| = 4; and

c-14(V) |NU (v) ∩NU (t1)| = 5.

c-14(I). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2 (see Fig-

ure 6.23): We branch on the edge vt1. Note that NU (t1) \ v = t7, t8, t9, t10.

(a) force(vt1) in c-14(I)

v

t1

t2 t3

e

t4t5

t6

t7 t8 t9 t10

(b) delete(vt1) in c-14(I)

v

t1

t2 t3

e

t4t5

t6

t7 t8 t9 t10

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.23: Illustration of branching rule c-14(I), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf7) such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t7, t1t8, t1t9 and t1t10 will be deleted from G′

by the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases

by w′7. The vertex t2 must be either a type f7 or a u7-vertex, and its weight decreases

by at least m14 , min∆′7,5,∆7,5. Each of the vertices t3, t4, t5, t6, t7, t8, t9 and t10

must be either a type f7 or a u7-vertex, and each of their weights decreases by at least

m13 = min∆′7,6,∆7,6. Thus, the total weight decrease in the branch of force(vt1) is at

least 2w′7 +m14 + 8m13.

Page 119: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

94 6. The TSP in Degree-7 Graphs

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′7,6. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′7 − 2w′6.

As a result, we get the following branching vector:

(2w′7 +m14 + 8m13, 2w′7 − 2w′6). (6.26)

c-14(II). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2, t3 (see

Figure 6.24): We branch on the edge vt1. Note that NU (t1) \ v = t7, t8, t9.

(a) force(vt1) in c-14(II)

v

t1

t2 t3

e

t4t5

t6

t8t7 t9

(b) delete(vt1) in c-14(II)

v

t1

t2 t3

e

t4t5

t6

t8t7 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.24: Illustration of branching rule c-14(II), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf7) such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3, t1t7, t1t8 and t1t9 will be deleted from G′

by the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′7.

Each of the vertices t2 and t3 must be either a type f7 or a u7-vertex, and each of their

weights decreases by at least m14 = min∆′7,5,∆7,5. Each of the vertices t4, t5, t6, t7, t8

and t9 must be either a type f7 or a u7-vertex, and each of their weights decreases by at

least m13 = min∆′7,6,∆7,6. Thus, the total weight decrease in the branch of force(vt1)

is at least 2w′7 + 2m14 + 6m13.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′7,6. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′7 − 2w′6.

As a result, we get the following branching vector:

(2w′7 + 2m14 + 6m13, 2w′7 − 2w′6). (6.27)

c-14(III). Without loss of generality, assume that |NU (v)∩NU (t1)| = t2, t3, t4 (see

Figure 6.25): We branch on the edge vt1. Note that NU (t1) \ v = t7, t8.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3, t1t4, t1t7 and t1t8 will be deleted from G′

Page 120: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 95

(a) force(vt1) in c-14(III)

v

t1

t2 t3

e

t4t5

t6

t7 t8

(b) delete(vt1) in c-14(III)

v

t1

t2 t3

e

t4t5

t6

t7 t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.25: Illustration of branching rule c-14(III), where the vertex v ∈ Vf7 and ver-

tex t1 ∈ NU (v;Vf7) such that NU (v) ∩NU (t1) = t2, t3, t4.

by the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′7.

Each of the vertices t2, t3 and t4 must be either a type f7 or a u7-vertex, and each of their

weights decreases by at least m14 = min∆′7,5,∆7,5. Each of the vertices t5, t6, t7 and

t8 must be either a type f7 or a u7-vertex, and each of their weights decreases by at least

m13 = min∆′7,6,∆7,6. Thus, the total weight decrease in the branch of force(vt1) is at

least 2w′7 + 3m14 + 4m13.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′7,6. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′7 − 2w′6.

As a result, we get the following branching vector:

(2w′7 + 3m14 + 4m13, 2w′7 − 2w′6). (6.28)

c-14(IV). Without loss of generality, assume that |NU (v) ∩ NU (t1)| = t2, t3, t4, t5(see Figure 6.26): We branch on the edge vt1. Note that NU (t1) \ v = t7.

(a) force(vt1) in c-14(IV)

v

t1

t2 t3

e

t4t5

t6

t7

(b) delete(vt1) in c-14(IV)

v

t1

t2 t3

e

t4t5

t6

t7

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.26: Illustration of branching rule c-14(IV), where the vertex v ∈ Vf7 and ver-

tex t1 ∈ NU (v;Vf7) such that NU (v) ∩NU (t1) = t2, t3, t4, t5.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3, t1t4, t1t5 and t1t7 will be deleted from G′

by the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′7.

Each of the vertices t2, t3, t4 and t5 must be either a type f7 or a u7-vertex, and each of

their weights decreases by at least m14 = min∆′7,5,∆7,5. Each of the vertices t6 and t7

must be either a type f7 or a u7-vertex, and each of their weights decreases by at least

Page 121: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

96 6. The TSP in Degree-7 Graphs

m13 = min∆′7,6,∆7,6. Thus, the total weight decrease in the branch of force(vt1) is at

least 2w′7 + 4m14 + 2m13.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′7,6. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′7 − 2w′6.

As a result, we get the following branching vector:

(2w′7 + 4m14 + 2m13, 2w′7 − 2w′6). (6.29)

c-14(V). We have that |NU (v) ∩ NU (t1)| = t2, t3, t4, t5, t6 (see Figure 6.27): We

branch on the edge vt1.

(a) force(vt1) in c-14(V)

v

t1

t2t3

e

t4t5

t6

(b) delete(vt1) in c-14(V)

v

t1

t2t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.27: Illustration of branching rule c-14(V), where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vf7) such that NU (v) ∩NU (t1) = t2, t3, t4, t5, t6.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, t1t2, t1t3, t1t4, t1t5 and t1t6 will be deleted from G′

by the reduction rules. Hence, both weights of vertex v and vertex t1 each decreases by w′7.

Each of the vertices t2, t3, t4, t5 and t6 must be either a type f7 or a u7-vertex, and each of

their weights decreases by at least m14 = min∆′7,5,∆7,5. Thus, the total weight decrease

in the branch of force(vt1) is at least 2w′7 + 5m14.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′7,6. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w′7 − 2w′6.

As a result, we get the following branching vector:

(2w′7 + 5m14, 2w′7 − 2w′6). (6.30)

Case c-15. None of the previous cases are applicable, and there exist vertices v ∈ Vf7 and

t1 ∈ NU (v;Vu7) (see Figure 6.28): We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5 and vt6 will be deleted from G′ by the reduction rules.

Page 122: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 97

v

t1

t2 t3

e

t4t5

t6

(a) force(vt1) in c-15 (b) delete(vt1) in c-15

vt1

t2 t3

e

t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.28: Illustration of branching rule c-15, where the vertex v ∈ Vf7 and vertex t1 ∈NU (v;Vu7).

Hence, the weight of vertex v decreases by w′7, and the weight of vertex t1 decreases by ∆7.

Each of the vertices t2, t3, t4, t5 and t6 must only be a type u7-vertex, and each of their

weights decreases by ∆7,6. Thus, the total weight decrease in the branch of force(vt1) is

at least w′7 + w7 − w′7 + 5w7 − 5w6 = 6w7 − 5w6.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′7,6, and the weight of vertex t1

decreases by ∆7,6. Thus, the total weight decrease in the branch of delete(vt1) is at

least w′7 − w′6 + w7 − w6.

As a result, we get the following branching vectors:

(6w7 − 5w6, w′7 − w′6 + w7 − w6). (6.31)

6.5 Branching on Edges around u7-vertices

If none of the first 15 conditions can be executed, this means that the graph has no f7-

vertices. This section derives branching vectors for branchings on an optimal edge e = vt1

incident to a u7-vertex v, distinguishing the nine cases for conditions c-16 to c-24.

Case c-16. There are no more f7-vertices, and there exist vertices v ∈ Vu7 and t1 ∈NU (v;Vf3) (see Figure 6.29): We branch on the edge vt1. Note that NU (t1) \ v = t8.

(a) force(vt1) in c-16

t7

v

t2t3

e

t4 t5t6

t1

t8

(b) delete(vt1) in c-16

t7

v

t2t3

e

t4 t5t6

t1

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.29: Illustration of branching rule c-16, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vf3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and the edge t1t8 will be deleted from G′ by the reduction rules. Hence, the weight

Page 123: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

98 6. The TSP in Degree-7 Graphs

of vertex v decreases by ∆7, and the weight of vertex t1 decreases by w′3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t8 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆7,6, and the weight of vertex t1 decreases by w′3.

There are two cases for the vertex t8; 1) the vertex t8 is of type f3, and 2) otherwise. We

will analyze these two cases separately for each of the branches force(vt1) and delete(vt1).

First, we analyze the case where the vertex t8 is an f3-vertex (see Figure 6.3). In the

branch of force(vt1), the edge xt8 will be added to F ′ by the reduction rules. Hence, the

weight of vertex t8 decreases by w′3. If the vertex x is an f3-vertex (resp., u3, f4, u4, f5, u5,

f6, u6 and a u7-vertex), then the weight decrease α5 of vertex x will be w′3 (resp., ∆3, w′4,

∆4, w′5, ∆5, w

′6, ∆6 and ∆7). Thus, the total weight decrease for this case in the branch

of force(vt1) is at least w7 − w′7 + w′3 + w′3 + α5 = w7 − w′7 + 2w′3 + α5.

In the branch of delete(vt1), the edge xt8 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t8 decreases by w′3. If the vertex x is an f3-vertex

(resp., u3, f4, u4, f5, u5, f6, u6 and a u7-vertex), then the weight decrease β5 of vertex x

will be w′3 (resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5 and ∆7,6). Thus, the total weight

decrease for this case in the branch of delete(vt1) is at least w7 − w6 + w′3 + w′3 + β5 =

w7 − w6 + 2w′3 + β5.

As a result, for the ordered pair (α5, β5) taking values in (w′3, w′3), (∆3, w3), (w′4,∆′4,3),

(∆4,∆4,3), (w′5,∆′5,4), (∆5,∆5,4), (w′6,∆

′6,5), (∆6,∆6,5), (∆7,∆7,6), we get the following

nine branching vectors:

(w7 − w′7 + 2w′3 + α5, w7 − w6 + 2w′3 + β5). (6.32)

Next, we examine the case where the vertex t8 is not an f3-vertex. In the branch of

force(vt1), if the vertex t8 is a u3-vertex (resp., f4, u4, f5, u5, f6, u6 and a u7-vertex),

then the weight decrease α6 of vertex t8 will be w3 (resp., ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5,

∆6,5 and ∆7,6). Thus, the total weight decrease for the case where t8 is not an f3-vertex

in the branch of force(vt1) is at least w7 − w′7 + w′3 + α6.

In the branch of delete(vt1), if the vertex t8 is a u3-vertex (resp., f4, u4, f5, u5, f6,

u6 and a u7-vertex), then the weight decrease β6 of vertex t8 will be ∆3 (resp., w′4, ∆4,

w′5, ∆5, w′6, ∆6 and ∆7). Thus, the total weight decrease for the case where t8 is not an

f3-vertex in the branch of delete(vt1) is at least w7 − w6 + w′3 + β6.

As a result, for the ordered pair (α6, β6) taking values in (w3,∆3), (∆′4,3, w′4), (∆4,3,∆4),

(∆′5,4, w′5), (∆5,4,∆5), (∆′6,5, w

′6), (∆6,5,∆6), (∆7,6,∆7), we get the following eight branch-

Page 124: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 99

ing vectors:

(w7 − w′7 + w′3 + α6, w7 − w6 + w′3 + β6). (6.33)

Case c-17. None of the previous cases are applicable, and there exist vertices v ∈ Vu7 and

t1 ∈ NU (v;Vu3) (see Figure 6.30): We branch on the edge vt1. Note that NU (t1) \ v =

t8, t9.

(b) delete(vt1) in c-17

t8 t9

t7

v

t2t3

e

t4 t5t6

t1

(a) force(vt1) in c-17

t7

v

t2t3

e

t4 t5t6

t1

t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.30: Illustration of branching rule c-17, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vu3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆7, and the weight of vertex t1

decreases by ∆3. Thus, the total weight decrease in the branch of force(vt1) is at least

w7 − w′7 + w3 − w′3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and edges t1t8 and t1t9 will be added to F ′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆7,6, and the weight of vertex t1 decreases by w3. Each of

the vertices t8 and t9 must be one of types f3, u3, f4, u4, f5, u5, f6, u6 and a u7-vertex, and

each of their weights decreases by at least m15 , minw′3,∆3, w′4,∆4, w

′5,∆5, w

′6,∆6,∆7.

Thus, the total weight decrease in the branch of delete(vt1) is at least w7−w6+w3+2m15.

As a result, we get the following branching vector:

(w7 − w′7 + w3 − w′3, w7 − w6 + w3 + 2m15). (6.34)

Case c-18. None of the previous cases are applicable, and there exist vertices v ∈ Vu7 and

t1 ∈ NU (v;Vf4) (see Figure 6.31): We branch on the edge vt1. Note that NU (t1) \ v =

t8, t9.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges t1t8 and t1t9 will be deleted from G′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆7, and the weight of vertex t1 decreases by w′4. Each of the

vertices t8 and t9 must be one of types f3, u3, f4, u4, f5, u5, f6, u6 and a u7-vertex, and each

of their weights decreases by at least m16 , minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,

∆7,6. Thus, the total weight decrease in the branch of force(vt1) is at least w7 − w′7 +

w′4 + 2m16.

Page 125: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

100 6. The TSP in Degree-7 Graphs

(a) force(vt1) in c-18

t7

v

t2t3

e

t4 t5t6

t1

t8 t9

(b) delete(vt1) in c-18

t7

v

t2t3

e

t4 t5t6

t1

t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.31: Illustration of branching rule c-18, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vf4).

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆7,6, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w7 − w6 + w′4 − w′3.

As a result, we get the following branching vector:

(w7 − w′7 + w′4 + 2m16, w7 − w6 + w′4 − w′3). (6.35)

Case c-19. None of the previous cases are applicable, and there exist vertices v ∈ Vu7and t1 ∈ NU (v;Vu4) (see Figure 6.32): We branch on the edge vt1.

(a) force(vt1) in c-19

t7

v

t2t3

e

t4 t5t6

t1

t10t8 t9

(b) delete(vt1) in c-19

t7

v

t2t3

e

t4 t5t6

t1

t10t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.32: Illustration of branching rule c-19, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vu4).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆7, and the weight of vertex t1

decreases by ∆4. Thus, the total weight decrease in the branch of force(vt1) is at least

w7 − w′7 + w4 − w′4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆7,6, and the weight of vertex t1

decreases by ∆4,3. Thus, the total weight decrease in the branch of delete(vt1) is at least

w7 − w6 + w4 − w3.

As a result, we get the following branching vector:

(w7 − w′7 + w4 − w′4, w7 − w6 + w4 − w3). (6.36)

Case c-20. None of the previous cases are applicable, and there exist vertices v ∈ Vu7 and

Page 126: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 101

t1 ∈ NU (v;Vf5) (see Figure 6.33): We branch on the edge vt1. Note that NU (t1) \ v =

t8, t9, t10.

(a) force(vt1) in c-20

t7

v

t2t3

e

t4 t5t6

t1

t10t8 t9

(b) delete(vt1) in c-20

t7

v

t2 t3

e

t4 t5t6

t1

t10t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.33: Illustration of branching rule c-20, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vf5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges t1t8, t1t9 and t1t10 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by ∆7, and the weight of vertex t1 decreases by w′5. Each

of the vertices t8, t9 and t10 must be one of types f3, u3, f4, u4, f5, u5, f6, u6 and a u7-vertex,

and each of their weights decreases by at leastm16 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,

∆6,5,∆7,6. Thus, the total weight decrease in the branch of force(vt1) is at least

w7 − w′7 + w′5 + 3m16.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆7,6, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w7 − w6 + w′5 − w′4.

As a result, we get the following branching vector:

(w7 − w′7 + w′5 + 3m16, w7 − w6 + w′5 − w′4). (6.37)

Case c-21. None of the previous cases are applicable, and there exist vertices v ∈ Vu7and t1 ∈ NU (v;Vu5) (see Figure 6.34): We branch on the edge vt1.

(a) force(vt1) in c-21

t7

v

t2t3

e

t4 t5t6

t1

(b) delete(vt1) in c-21

t7

v

t2t3

e

t4 t5t6

t1

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.34: Illustration of branching rule c-21, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vu5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆7, and the weight of vertex t1

decreases by ∆5. Thus, the total weight decrease in the branch of force(vt1) is at least

w7 − w′7 + w5 − w′5.

Page 127: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

102 6. The TSP in Degree-7 Graphs

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆7,6, and the weight of vertex t1

decreases by ∆5,4. Thus, the total weight decrease in the branch of delete(vt1) is at least

w7 − w6 + w5 − w4.

As a result, we get the following branching vector:

(w7 − w′7 + w5 − w′5, w7 − w6 + w5 − w4). (6.38)

Case c-22. None of the previous cases are applicable, and there exist vertices v ∈ Vu7 and

t1 ∈ NU (v;Vf6) (see Figure 6.35): We branch on the edge vt1. Note that NU (t1) \ v =

t8, t9, t10, t11.

(a) force(vt1) in c-22

t7

v

t2t3

e

t4 t5t6

t1

t11t8 t9t10

(b) delete(vt1) in c-22

t7

v

t2t3

e

t4 t5t6

t1

t11t8 t9 t10

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.35: Illustration of branching rule c-22, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vf6).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆7, and the weight of vertex t1

decreases by w′6. Each of the vertices t8, t9, t10 and t11 must be one of types f3, u3,

f4, u4, f5, u5, f6, u6 and a u7-vertex, and each of their weights decreases by at least

m16 = minw′3, w3,∆′4,3,∆4,3,∆

′5,4,∆5,4,∆

′6,5,∆6,5,∆7,6. Thus, the total weight decrease

in the branch of force(vt1) is at least w7 − w′7 + w′6 + 4m16.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆7,6, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease in the branch of delete(vt1) is at least

w7 − w6 + w′6 − w′5.

As a result, we get the following branching vector:

(w7 − w′7 + w′6 + 4m16, w7 − w6 + w′6 − w′5). (6.39)

Case c-23. None of the previous cases are applicable, and there exist vertices v ∈ Vu7and t1 ∈ NU (v;Vu6) (see Figure 6.36): We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration. Hence, the weight of vertex v decreases by ∆7, and the weight of vertex t1

Page 128: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 103

(a) force(vt1) in c-23

t7

v

t2t3

e

t4 t5t6

t1

(b) delete(vt1) in c-23

t7

v

t2t3

e

t4 t5t6

t1

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.36: Illustration of branching rule c-23, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vu6).

decreases by ∆6. Thus, the total weight decrease in the branch of force(vt1) is at least

w7 − w′7 + w6 − w′6.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆7,6, and the weight of vertex t1

decreases by ∆6,5. Thus, the total weight decrease in the branch of delete(vt1) is at least

w7 − w6 + w6 − w5 = w7 − w5.

As a result, we get the following branching vector:

(w7 − w′7 + w6 − w′6, w7 − w5). (6.40)

Case c-24. None of the previous cases are applicable, and there exist vertices v ∈ Vu7and t1 ∈ NU (v;Vu7) (see Figure 6.37): We branch on the edge vt1.

(b) delete(vt1) in c-24

t7

v

t2t3

e

t4 t5t6

t1

(a) force(vt1) in c-24

t7

v

t2t3

e

t4 t5t6

t1

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 6.37: Illustration of branching rule c-24, where the vertex v ∈ Vu7 and vertex t1 ∈NU (v;Vu7).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, both weights of vertex v and vertex t1 each decreases by ∆7. Thus, the total

weight decrease in the branch of force(vt1) is at least 2w7 − 2w′7.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆7,6. Thus,

the total weight decrease in the branch of delete(vt1) is at least 2w7 − 2w6.

As a result, we get the following branching vector:

(2w7 − 2w′7, 2w7 − 2w6). (6.41)

Page 129: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

104 6. The TSP in Degree-7 Graphs

6.6 Switching to the TSP in Degree-6 Graphs

If none of the 24 cases of Figure 6.1 and Figure 6.2 can be executed, then this means

that all vertices in the graph have degree at most 6. In that case, we can switch and use

a fast algorithm for TSP in degree-6 graphs, called tsp6(G′, F ′), to solve the remaining

instance I ′ = (G′, F ′). Let n′3, n3, n′4, n4, n

′5, n5, n

′6 and n6 be the number of f3, u3, f4, u4,

f5, u5, f6 and u6 vertices in I ′, respectively, where n′3 +n3 +n′4 +n4 +n′5 +n5 +n′6 +n6 =

|V (G′)|, and the measure µ(I ′) of instance I ′ is µ(I ′) = w′3n′3 + w3n3 + w′4n

′4 + w4n4 +

w′5n′5 + w5n5 + w′6n

′6 + w6n6.

At this step, we switch to use the O∗(3.0335n)-time algorithm for the TSP in a degree-6

graphs by Md Yunos et al. [37], as described in Chapter 5. Let µ(I ′) denote the measure

of the TSP in degree-6 instance I ′, where µ(I ′) = w′3n′3 + w3n3 + w′4n

′4 + w4n4 + w′5n

′5 +

w5n5 + w′6n′6 + w6n6, and the weight w′3 for an f3-vertex is 0.149646, the weight w3 for

a u3-vertex is 0.262796, the weight w′4 for an f4-vertex is 0.311647, the weight w4 for

a u4-vertex is 0.580698, the weight w′5 for an f5-vertex is 0.421871, the weight w5 for a

u5-vertex is 0.815641, the weight w′6 for an f6-vertex is 0.502801 and the weight w6 for a

u6-vertex is 1. Hence, the running time bound of the TSP in degree-6 instance I ′ with

the measure µ(I ′) is given by

3.033466µ(I′).

Since the time bound on tsp7(G,F ) is expressed by τµ(I′) in Eq. (2.2), we get a constraint

on τ :

3.033466µ(I′) ≤ τµ(I′)

for any partition n′3, n3, n′4, n4, n′5, n5, n′6, n6 of |V (G′)|. In other words,

3.0334660.149646 ≤ τw′3 ,

3.0334660.262796 ≤ τw3 ,

3.0334660.311647 ≤ τw′4 ,

3.0334660.580698 ≤ τw4 ,

3.0334660.421871 ≤ τw′5 ,

3.0334660.815641 ≤ τw5 ,

3.0334660.502801 ≤ τw′6 , and

3.0334661 ≤ τw6 .

(6.42)

6.7 Quasiconvex Program

As described in Section 4.7, all the branching vectors (a, b) of the branching rules from case

c-1 to case c-24 and the switching constraints of Eq. (6.42) are solved in a quasiconvex

program according to the method introduced by Eppstein [17]. In total, there are 85

Page 130: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

6. The TSP in Degree-7 Graphs 105

constraints generated from all of the branching vectors (ai, bi), for i = 1, 2, . . . , 85, of

case c-1 to case c-24, and there are eight constraints derived for switching to tsp6(G′, F ′).

Generally, our quasiconvex program is described as follows:

min x

subject to

w′i − wi ≤ 0, 3 ≤ i ≤ 7,

wi − wj ≤ 0, 3 ≤ i < j ≤ 7,

w′i − w′j ≤ 0, 3 ≤ i < j ≤ 7,

−1 + x−ai + x−bi ≤ 0, 1 ≤ i ≤ 85,

3.0334660.149646 − xw′3 ≤ 0,

3.0334660.262796 − xw3 ≤ 0,

3.0334660.311647 − xw′4 ≤ 0,

3.0334660.580698 − xw4 ≤ 0,

3.0334660.421871 − xw′5 ≤ 0,

3.0334660.815641 − xw5 ≤ 0,

3.0334660.502801 − xw′6 ≤ 0,

3.0334661 − xw6 ≤ 0, and

wi, w′i ≥ 0, 3 ≤ i ≤ 7.

A full list of constraints used in the algorithm of the TSP in degree-7 graphs written

in our Matlab code are given in Appendix D.

6.8 Overall Analysis

As a result, the branching factor of each of the branching vectors from cases c-1 to c-24 and

the switching constraints of Eq. (6.42) does not exceed 3.593854, and the tight constraints

are in conditions c-7, c-18, c-20, c-21, c-23 and the switching constraints of Eq. (6.42).

This completes a proof of Theorem 3.

Page 131: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

106 6. The TSP in Degree-7 Graphs

Page 132: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Chapter 7

The Traveling Salesman Problem

in Degree-8 Graphs

7.1 Branching Rules for the TSP in Degree-8 Graphs

A set of the branching rules of the algorithm for the TSP in degree-8 graphs contains only

rules to choose an edge incident to a degree-8 vertex. If such a vertex does not exist in

the given instance, then the maximum degree in the graph is at most 7, and we can use

an algorithm for the TSP in degree-7 graphs. The above procedure seems to be simple,

but the most important challenge to be tackled is the fact that when increasing of the

maximum degree bound in a graph, so does the complexity of analyzing the branching

rules.

To describe the algorithm for the TSP in degree-8 graphs, let (G,F ) be a reduced

forced TSP instance such that the maximum degree of G is at most 8. Let Vui (resp., Vfi),

i = 3, 4, . . . , 8, denote the set of ui-vertices (resp., fi-vertices) in (G,F ). In (G,F ), an

unforced edge e = vt incident to a vertex v of degree 8 is called optimal, if it has highest

priority according to our priority assignment as described in Section 3.3. More detail, our

priority assignment gives priority to an f8-vertex over a u8-vertex for the choice of the

vertex v, and for the choice of a vertex t, the order of priorities is as follows: f3, u3, f4,

u4, f5, u5, f6, u6, f7, u7, f8 and u8-vertex. The cases in the list of priorities are labelled

as case “c-j” over all unforced edges vt in (G,F ). In total, there are 29 cases which make

our branching rules.

A set of the branching rules for cases c-1 to c-18 are illustrated in Figure 7.1, and a set

of the branching rules for cases c-19 to c-29 are illustrated in Figure 7.2. For convenience

in the analysis of the algorithm, cases c-5, c-8, c-11, c-14 and c-17 have been subdivided

into sub-cases according to the cardinality of the neighborhood intersection. Intersections

107

Page 133: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

108 7. The TSP in Degree-8 Graphs

of lower cardinality take precedence over higher ones.

Given a reduced instance I = (G,F ), our algorithm first checks whether there exists a

vertex of degree 8, and if it does, chooses an optimal edge according to the branching rules.

If there exists no optimal edge according to the branching rules, then the reduced instance

has no more vertices of degree 8, and the maximum degree of the reduced instance at this

point is at most 7. Then, we can call a polynomial space exact algorithm for the TSP that

is specialized for degree-7 graphs, e.g., the algorithm specialized for degree-7 graphs by

Md Yunos et al. [38]. Details of the algorithm for the TSP in degree-8 graphs is described

in Algorithm 5.

Branching Rules of the Algorithm for the TSP in Degree 8

(c-1) v ∈ Vf8 and t ∈ NU (v;Vf3) such

that NU (v) ∩NU (t) = ∅;(c-2) v ∈ Vf8 and t ∈ NU (v;Vf3) such

that NU (v) ∩NU (t) 6= ∅;(c-3) v ∈ Vf8 and t ∈ NU (v;Vu3);

(c-4) v ∈ Vf8 and t ∈ NU (v;Vf4) such

that NU (v) ∩NU (t) = ∅;(c-5) v ∈ Vf8 and t ∈ NU (v;Vf4) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1; and

(II) |NU (v) ∩NU (t)| = 2;

(c-6) v ∈ Vf8 and t ∈ NU (v;Vu4);

(c-7) v ∈ Vf8 and t ∈ NU (v;Vf5) such

that NU (v) ∩NU (t) = ∅;(c-8) v ∈ Vf8 and t ∈ NU (v;Vf5) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2; and

(III) |NU (v) ∩NU (t)| = 3;

(c-9) v ∈ Vf8 and t ∈ NU (v;Vu5);

(c-10) v ∈ Vf8 and t ∈ NU (v;Vf6) such

that NU (v) ∩NU (t) = ∅;(c-11) v ∈ Vf8 and t ∈ NU (v;Vf6) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2;

(III) |NU (v) ∩NU (t)| = 3; and

(IV) |NU (v) ∩NU (t)| = 4;

(c-12) v ∈ Vf8 and t ∈ NU (v;Vu6);

(c-13) v ∈ Vf8 and t ∈ NU (v;Vf7) such

that NU (v) ∩NU (t) = ∅;

(c-14) v ∈ Vf8 and t ∈ NU (v;Vf7) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2;

(III) |NU (v) ∩NU (t)| = 3;

(IV) |NU (v) ∩NU (t)| = 4; and

(V) |NU (v) ∩NU (t)| = 5;

(c-15) v ∈ Vf8 and t ∈ NU (v;Vu7);

(c-16) v ∈ Vf8 and t ∈ NU (v;Vf8) such

that NU (v) ∩NU (t) = ∅;(c-17) v ∈ Vf8 and t ∈ NU (v;Vf8) such

that NU (v) ∩NU (t) 6= ∅;(I) |NU (v) ∩NU (t)| = 1;

(II) |NU (v) ∩NU (t)| = 2;

(III) |NU (v) ∩NU (t)| = 3;

(IV) |NU (v) ∩NU (t)| = 4;

(V) |NU (v) ∩NU (t)| = 5; and

(VI) |NU (v) ∩NU (t)| = 6;

(c-18) v ∈ Vf8 and t ∈ NU (v;Vu8);

(c-19) v ∈ Vu8 and t ∈ NU (v;Vf3);

(c-20) v ∈ Vu8 and t ∈ NU (v;Vu3);

(c-21) v ∈ Vu8 and t ∈ NU (v;Vf4);

(c-22) v ∈ Vu8 and t ∈ NU (v;Vu4);

(c-23) v ∈ Vu8 and t ∈ NU (v;Vf5);

(c-24) v ∈ Vu8 and t ∈ NU (v;Vu5);

(c-25) v ∈ Vu8 and t ∈ NU (v;Vf6);

(c-26) v ∈ Vu8 and t ∈ NU (v;Vu6);

(c-27) v ∈ Vu7 and t ∈ NU (v;Vf7);

(c-28) v ∈ Vu8 and t ∈ NU (v;Vu7); and

(c-29) v ∈ Vu8 and t ∈ NU (v;Vu8).

Page 134: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 109

c-1

t8

t1

e

t7

t2 t3 t4t5

t6

c-2

t1

e

t7

t2t3 t4

t5

t6

c-3

t1ve

t7

t2 t3 t4t5

t6

t8 t9

c-4

t1ve

t7

t2 t3 t4t5

t6

t8 t9

c-5(I)

t1

ve

t7

t2 t3 t4t5

t6

t8

c-5(II)

v

t1

e

t7

t2 t3 t4t5

t6

c-6

t1

ve

t7

t2 t3 t4t5

t6

c-7

t1ve

t7

t2 t3 t4t5

t6

t9 t10t8

c-8(I)

t1

ve

t7

t2 t3 t4t5

t6t8 t9

c-8(II)

vt1

e

t7

t2 t3 t4t5

t6

t8

c-8(III)

v

t1

e

t7

t2 t3 t4t5

t6

c-9

t1ve

t7

t2 t3t4t5

t6

c-10

t1ve

t7

t2 t3t4t5

t6

t9t10 t11

t8

c-11(I)

t1

ve

t7

t2 t3t4t5

t6

t8 t9t10

c-11(II)

v

t1

e

t7

t2 t3t4t5

t6

t8 t9

c-11(III)

v

t1

e

t7

t2 t3 t4t5

t6

t8

c-11(IV)

v

t1

e

t7

t2 t3 t4t5

t6

c-12

t1ve

t7

t2 t3 t4t5

t6

c-13

t1ve

t7

t2 t3 t4t5

t6

t10 t11t12

t9

t8

c-14(I)

t1

ve

t7

t2 t3t4t5

t6

t9t10t11

t8

c-14(II)

v

t1

e

t7

t2 t3t4t5

t6t8 t9 t10

c-14(III)

v

t1

e

t7

t2 t3 t4t5

t6

t8 t9

c-14(IV)

v

t1

e

t7

t2 t3 t4t5

t6

t8

c-14(V)

v

t1

e

t7

t2 t3 t4t5

t6

: unforced edges : forced edges

Figure 7.1: Illustration of the branching rules c-1 to c-14.

Page 135: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

110 7. The TSP in Degree-8 Graphs

c-19

ve

t7

t2 t3 t4t5

t6

t1

t9

t8

c-20

ve

t7

t2 t3 t4t5

t6

t1

t9

t8

t10

c-21

ve

t7

t2 t3 t4t5

t6

t1

t9

t8

t10

c-22

ve

t7

t2 t3 t4t5

t6

t1t8

c-23

ve

t7

t2 t3 t4t5

t6

t1

t9t10

t8

t11

c-24

ve

t7

t2 t3 t4t5

t6

t1

t8

c-25

ve

t7

t2 t3 t4t5

t6

t1

t9t10t11

t8

t12

c-26

ve

t7

t2 t3 t4t5

t6

t1

t8

c-27

ve

t7

t2 t3 t4t5

t6

t1

t10t11 t12

t9

t8

t13

c-28

ve

t7

t2 t3 t4t5

t6

t1t8

c-29

ve

t7

t2 t3 t4t5

t6

t1t8

c-15

t1ve

t7

t2 t3 t4t5

t6

c-16

t1ve

t7

t2 t3 t4t5

t6t11t12 t13

t10

t9

t8

c-17(I)

t1

ve

t7

t2 t3 t4t5

t6t10t11t12

t9

t8

c-17(II)

v

t1

e

t7

t2 t3 t4t5

t6t9t10 t11

t8

vt1

e

t7

t2 t3t4t5

t6

t8

c-17(IV)c-17(III)

v

t1

e

t7

t2 t3t4t5

t6t8 t9t10

c-17(IV)

v

t1

e

t7

t2 t3t4t5

t6

t8 t9

c-17(VI)

v

t1

e

t7

t2 t3 t4t5

t6

c-18

ve

t7

t2 t3 t4t5

t6

t1

: unforced edges : forced edges

Figure 7.2: Illustration of the branching rules c-15 to c-29.

Page 136: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 111

Algorithm 5 tsp8(G,F )

Input: An instance (G,F ) such that the maximum degree of G is at most 8.

Output: The minimum cost of a tour of (G,F ); or a message for the infeasibility of (G,F ),

which evaluates to ∞.

1: Run Red(G,F );

2: if Red(G,F ) returns ∞ then

3: return ∞4: else

5: Let (G′, F ′) := Red(G,F );

6: if Vu8 ∪ Vf8 6= ∅ in (G′, F ′) then

7: return mintsp8(G′, F ′ ∪ e), tsp8(G′ − e, F ′)8: else /* the maximum degree of any vertex in (G′, F ′) is at most 7 */

9: return tsp7(G′, F ′)

10: end if

11: end if.

Note: The input and output of algorithm tsp7(G,F ) are as follows:

Input: An instance (G,F ) such that the maximum degree of G is at most 7.

Output: The minimum cost of a tour of (G,F ); or a message for the infeasibility of

(G,F ), which evaluates to ∞.

Page 137: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

112 7. The TSP in Degree-8 Graphs

7.2 Main Result

We choose a vertex weight function ω(v) as in Eq. (7.1). For i = 3, 4, . . . , 8, we denote by

wi the weight of a ui-vertex, and by w′i the weight of an fi-vertex.

ω(v) =

w8 = 1 for a u8-vertex v

w′8 = 0.511408 for an f8-vertex v

w7 = 0.899125 for a u7-vertex v

w′7 = 0.464207 for an f7-vertex v

w6 = 0.779980 for a u6-vertex v

w′6 = 0.406737 for an f6-vertex v

w5 = 0.636678 for a u5-vertex v

w′5 = 0.349262 for an f5-vertex v

w4 = 0.454096 for a u4-vertex v

w′4 = 0.259477 for an f4-vertex v

w3 = 0.219789 for a u3-vertex v

w′3 = 0.116726 for an f3-vertex v

0 otherwise

(7.1)

The vertex weight function ω(v) given in Eq. (7.1) is obtained as a solution to a quasiconvex

program, according to the method introduced by Eppstein [17], where all the branching

vectors are constraints in the quasiconvex program.

Lemma 9 If the vertex weight function ω(v) is set as in Eq. (7.1), then the branching

factor of each branching operation in Algorithm 5 is not greater than 4.148493.

A proof of Lemma 9 can be derived analytically by analyzing the branching vectors

which result by applying the branching and reduction operations. From Lemma 9, we get

our main result as stated in Theorem 4.

Theorem 4 The TSP in an n-vertex graph G with maximum degree 8 can be solved in

O∗(4.1485n) time and polynomial space.

7.3 Weight Constraints

In order to obtain a measure which will imply the same running time bound as a function

of the size of a TSP instance, we require that the weight of each vertex be at most 1. For

Page 138: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 113

i = 3, 4, . . . , 8, we denote wi to be the weight of a ui-vertex and w′i to be the weight of

an fi-vertex. The conditions for a proper measure require that the measure of an instance

obtained through the reduction operation or the branching operation not be greater than

the measure of the original instance. The vertex weight for vertices of degree less than 3

is set to be 0, w8 ≤ 1 and other vertex weights should satisfy the following relations:

w′i ≤ wi, 3 ≤ i ≤ 8, (7.2)

wi ≤ wj , 3 ≤ i < j ≤ 8, and (7.3)

w′i ≤ w′j , 3 ≤ i < j ≤ 8. (7.4)

As a result of the reduction and the branching operations, the degree of some vertices

will decrease, while the degree of other vertices will remain unchanged. A forced edge will

never be eliminated, neither by the reduction nor the branching operations. Conversely,

an unforced edge may be erased or become forced by the reduction or the branching oper-

ations. Thus, the measure of an instance obtained through the reduction or the branching

operations will not be greater than the measure of the original instance. Lemma 10 shows

that regarding to the algorithms given in Algorithm 1 and Algorithm 5, setting vertex

weights which satisfy the conditions of Eqs. (7.2) to (7.4) is sufficient to obtain a proper

measure. We can prove this lemma similarly as Lemma 4.

Lemma 10 If the weights of vertices are chosen as in Eqs. (7.2) to (7.4), then the measure

µ(I) never increases as a result of the reduction or the branching operations of Algorithm 1

and Algorithm 5.

To simplify some arguments, we introduce the following notation:

∆i , wi − w′i, 3 ≤ i ≤ 8,

∆i,j , wi − wj , 3 ≤ j < i ≤ 8, and

∆′i,j , w′i − w′j , 3 ≤ j < i ≤ 8.

In the remainder of the analysis, for an optimal edge e = vt1, we refer to NU (v) by

t1, t2, . . . , ta, a = dU (v), and to NU (t1) \ v by ta+1, ta+2, . . . , ta+b, b = dU (t1) − 1.

We assume without loss of generality that t1+i = ta+i for i = 1, 2, . . . , c, where c =

|NU (v) ∩NU (t1)| is the number of common neighbors of v and t1.

If there exists an f3-vertex ta+i in NU (t1) \ v, let x ∈ NU (ta+i) \ v, t1. We see that

the choice of vertex x is unique, because ta+i is of type f3 and |NU (ta+i) \ v, t1| = 1.

This vertex x will play a key role in our analysis, as shown in Figure 7.3.

Page 139: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

114 7. The TSP in Degree-8 Graphs

: newly forced edges by the branching operation

: newly deleted edges by the branching operation

: forced edges

: newly forced edges by the reduction rules

: newly deleted edges by the reduction rules

(a) force(e)

x

ta+i

t1

e

v

(b) delete(e)

x

ta+i

t1

e

v

Figure 7.3: Illustration of edges that will become forced or deleted due to the branching

operation and reduction rules for an f3 vertex.

7.4 Branching on Edges around f8-vertices

We will show how we derive the branching vectors for branchings on an optimal edge e = vt,

incident to a forced vertex of degree 8. For this section, there are 18 cases for branching on

edges around f8-vertices, cases c-1 to c-18. We analyze the branching vectors in a similar

manner as used in the algorithm for TSP in degree-5 graphs by Md Yunos et al. [36].

Case c-1. There exist vertices v ∈ Vf8 and t1 ∈ NU (v;Vf3) such that NU (v)∩NU (t1) = ∅(see Figure 7.4): We branch on the edge vt1. Note that NU (t1) \ v = t8.

(a) force(vt1) in c-1

v

t1

e

t7

t2t3 t4

t5

t6

t8

(b) delete(vt1) in c-1

t8

t1

e

t7

t2t3 t4

t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.4: Illustration of branching rule c-1, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf3)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, vt7, and t1t8 will be deleted from G′ by the reduction

rules. Both v and t1 will become vertices of degree 2. From Eq. (7.1), the weight of vertices

of degree 2 is 0. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1

decreases by w′3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t8 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆′8,7, and the weight of vertex t1 decreases by w′3.

There are two cases for the vertex t8; 1) the vertex t8 is of type f3, and 2) otherwise. We

will analyze these two cases separately for each of branches force(vt1) and delete(vt1).

First, we will analyze the case where vertex t8 is an f3-vertex (see Figure 7.3). Recall

that in this case, we denote by x the unique vertex in NU (t8) \ t1. There are two cases

Page 140: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 115

for the vertex x; a) vertex x /∈ NU (v), and b) vertex x ∈ NU (v).

First, we will analyze the case where the vertex x /∈ NU (v). In the branch of force(vt1),

the edge xt8 will be added to F ′ by the reduction rules. Hence, the weight of vertex t8

decreases by w′3. Each of the vertices t2, t3, t4, t5, t6 and t7 must be one of types f3, u3,

f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at

least m1 , minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. If the

vertex x is an f3-vertex (resp., u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex), then

the weight decrease α1 of vertex x will be w′3 (resp., ∆3, w′4, ∆4, w

′5, ∆5, w

′6, ∆6, w

′7, ∆7,

w′8 and ∆8). Thus, the total weight decrease for this case in the branch of force(vt1) is

at least w′8 + w′3 + w′3 + 6m1 + α1 = w′8 + 2w′3 + 6m1 + α1.

In the branch of delete(vt1), the edge xt8 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t8 decreases by w′3. If the vertex x is an f3-vertex

(resp., u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex), then the weight decrease β1

of vertex x will be w′3 (resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7 and

∆8,7). Thus, the total weight decrease for this case in the branch of delete(vt1) is at least

w′8 − w′7 + w′3 + w′3 + β1 = w′8 − w′7 + 2w′3 + β1.

As a result, for the ordered pair (α1, β1) taking values in (w′3, w′3), (∆3, w3), (w′4,∆′4,3),

(∆4,∆4,3), (w′5,∆′5,4), (∆5,∆5,4), (w′6,∆

′6,5), (∆6,∆6,5), (w′7,∆

′7,6), (∆7,∆7,6), (w′8,∆

′8,7),

(∆8,∆8,7), we get the following 12 branching vectors:

(w′8 + 2w′3 + 6m1 + α1, w′8 − w′7 + 2w′3 + β1). (7.5)

Second, we will analyze the case where the vertex x ∈ NU (v). Without loss of gen-

erality, we assume that x is t2. In the branch of force(vt1), the edge t2t8 will be added

to F ′ by the reduction rules. Hence, the weight of vertex t8 decreases by w′3. Each of

the vertices t3, t4, t5, t6 and t7 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7,

u7, f8 and a u8-vertex, and each of their weights decreases by at least m1 = minw′3, w3,

∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. If the vertex t2 is an f3-vertex

(resp., u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex), then the weight decrease α2 of

vertex t2 will be w′3 (resp., w3, w′4, w4 − w′3, w′5, w5 − w′4, w′6, w6 − w′5, w′7, w7 − w′6, w′8

and w8 −w′7). Thus, the total weight decrease for this case in the branch of force(vt1) is

at least w′8 + w′3 + w′3 + 5m1 + α2 = w′8 + 2w′3 + 5m1 + α2.

In the branch of delete(vt1), the edge t2t8 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t8 decreases by w′3. If the vertex t2 is an f3-vertex

(resp., u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex), then the weight decrease β2

of vertex t2 will be w′3 (resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7 and

∆8,7). Thus, the total weight decrease for this case in the branch of delete(vt1) is at least

w′8 − w′7 + w′3 + w′3 + β2 = w′8 − w′7 + 2w′3 + β2.

Page 141: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

116 7. The TSP in Degree-8 Graphs

As a result, for the ordered pair (α2, β2) taking values in (w′3, w′3), (w3, w3), (w′4,∆′4,3),

(w4 − w′3,∆4,3), (w′5,∆′5,4), (w5 − w′4,∆5,4), (w′6,∆

′6,5), (w6 − w′5,∆6,5), (w′7,∆

′7,6), (w7 −

w′6,∆7,6), (w′8,∆′8,7), (w8 − w′7,∆8,7), we get the following 12 branching vectors:

(w′8 + 2w′3 + 5m1 + α2, w′8 − w′7 + 2w′3 + β2). (7.6)

Next, we examine the case where the vertex t8 is not an f3-vertex. In the branch of

force(vt1), each of the vertices t2, t3, t4, t5, t6 and t7 must be one of types f3, u3, f4, u4,

f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m1

= minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. If the vertex t8

is a u3-vertex (resp., f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex), then the weight

decrease α3 of vertex t8 will be w3 (resp., ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6,

∆′8,7 and ∆8,7). Thus, the total weight decrease for this case in the branch of force(vt1)

is at least w′8 + w′3 + 6m1 + α3.

In the branch of delete(vt1), if the vertex t8 is a u3-vertex (resp., f4, u4, f5, u5, f6,

u6, f7, u7, f8 and a u8-vertex), then the weight decrease β3 of vertex t8 will be ∆3 (resp.,

w′4, ∆4, w′5, ∆5, w

′6, ∆6, w

′7, ∆7, w

′8 and ∆8). Thus, the total weight decrease for this case

in the branch of delete(vt1) is at least w′8 − w′7 + w′3 + β3.

As a result, for the ordered pair (α3, β3) taking values in (w3,∆3), (∆′4,3, w′4), (∆4,3,∆4),

(∆′5,4, w′5), (∆5,4,∆5), (∆′6,5, w

′6), (∆6,5,∆6), (∆′7,6, w

′7), (∆7,6,∆7), (∆′8,7, w

′8), (∆8,7,∆8),

we get the following 11 branching vectors:

(w′8 + w′3 + 6m1 + α3, w′8 − w′7 + w′3 + β3). (7.7)

Case c-2. Case c-1 is not applicable, and there exist vertices v ∈ Vf8 and t1 ∈ NU (v;Vf3)

such that NU (v)∩NU (t1) 6= ∅. Without loss of generality, assume that NU (v)∩NU (t1) =

t2 (see Figure 7.5): We branch on the edge vt1.

(a) force(vt1) in c-2

v

t1

e

t7

t2t3 t4

t5

t6

(b) delete(vt1) in c-2

t1

e

t7

t2t3 t4

t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.5: Illustration of branching rule c-2, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf3)

such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, vt7 and t1t2 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1 decreases

Page 142: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 117

by w′3. Each of the vertices t3, t4, t5, t6 and t7 must be one of types f3, u3, f4, u4, f5,

u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m1

= minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7.

If the vertex t2 is an f3 or a u3-vertex, after applying the branching operation, t2 would

become a vertex of degree 1. From Lemma 1, case (i), this is infeasible, and the algorithm

will return ∞ and terminate. Otherwise, if the vertex t2 is an f4-vertex (resp., u4, f5,

u5, f6, u6, f7, u7, f8 and a u8-vertex), then the weight decrease α4 of vertex t2 will be

w′4 (resp., w4, ∆′5,3, ∆5,3, ∆′6,4, ∆6,4, ∆′7,5, ∆7,5, ∆′8,6 and ∆8,6). Thus, the total weight

decrease for this case in the branch of force(vt1) is at least w′8 + w′3 + 5m1 + α4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t2 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆′8,7, and the weight of vertex t1 decreases by w′3. If the vertex t2

is an f4-vertex (resp., u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex), then the weight decrease

β4 of vertex t2 will be w′4 (resp., ∆4, w′5, ∆5, w

′6, ∆6, w

′7, ∆7, w

′8 and ∆8). Thus, the total

weight decrease for this case in the branch of delete(vt1) is at least w′8 − w′7 + w′3 + β4.

As a result, for the ordered pair (α4, β4) taking values in (w′4, w′4), (w4,∆4), (∆′5,3, w′5),

(∆5,3,∆5), (∆′6,4, w′6), (∆6,4,∆6), (∆′7,5, w

′7), (∆7,5,∆7), (∆′8,6, w

′8), (∆8,6,∆8), we get the

following 10 branching vectors:

(w′8 + w′3 + 5m1 + α4, w′8 − w′7 + w′3 + β4). (7.8)

Case c-3. Case c-1 and case c-2 are not applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vu3) (see Figure 7.6): We branch on the edge vt1. Note that NU (t1) \ v =

t8, t9.

(b) delete(vt1) in c-3

t1ve

t7

t2 t3 t4t5

t6t8 t9

(a) force(vt1) in c-3

ve

t7

t2 t3 t4t5

t6

t1

t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.6: Illustration of branching rule c-3, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vu3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6 and vt7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1 decreases

by ∆3. Each of the vertices t2, t3, t4, t5, t6 and t7 must be one of types u3, f4, u4, f5, u5,

f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m2 ,

minw3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight

decrease for this case in the branch of force(vt1) is at least w′8 + w3 − w′3 + 6m2.

Page 143: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

118 7. The TSP in Degree-8 Graphs

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and edges t1t8 and t1t9 will be added to F ′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆′8,7, and the weight of vertex t1 decreases by w3. Each

of vertices t8 and t9 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a

u8-vertex, and each of their weights decreases by at least m3 , minw′3, ∆3, w′4, ∆4, w

′5,

∆5, w′6, ∆6, w

′7, ∆7, w

′8, ∆8. Thus, the total weight decrease for this case in the branch

of delete(vt1) is at least w′8 − w′7 + w3 + 2m3.

As a result, we get the following branching vector:

(w′8 + w3 − w′3 + 6m2, w′8 − w′7 + w3 + 2m3). (7.9)

Case c-4. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf4) such that NU (v) ∩ NU (t1) = ∅ (see Figure 7.7): We branch on the edge

vt1. Note that NU (t1) \ v = t8, t9.

(b) delete(vt1) in c-4

t1ve

t7

t2 t3 t4t5

t6t8 t9

(a) force(vt1) in c-4

ve

t7

t2 t3 t4t5

t6

t1

t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.7: Illustration of branching rule c-4, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf4)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t8, and t1t9 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1

decreases by w′4. Each of the vertices t2, t3, t4, t5, t6 and t7 must be one of types f4, u4,

f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least

m4, min∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Each of the vertices

t8 and t9 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and

each of their weights decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5,

∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for this case in the branch

of force(vt1) is at least w′8 + w′4 + 6m4 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′4 − w′3.

Page 144: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 119

As a result, we get the following branching vector:

(w′8 + w′4 + 6m4 + 2m1, w′8 − w′7 + w′4 − w′3). (7.10)

Case c-5. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf4) such that NU (v) ∩ NU (t1) 6= ∅: We distinguish two sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-5(I) |NU (v) ∩NU (t1)| = 1; and

c-5(II) |NU (v) ∩NU (t1)| = 2.

Case c-5(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see

Figure 7.8): We branch on the edge vt1. Note that NU (t1) \ v = t8.

(a) force(vt1) in c-5(I)

vt1

e

t7

t2 t3 t4t5

t6

t8

(b) delete(vt1) in c-5(I)

t1

ve

t7

t2 t3 t4t5

t6

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.8: Illustration of branching rule c-5(I), where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf4)

such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2 and t1t8 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex

t1 decreases by w′4. The vertex t2 must be one of types f4, u4, f5, u5, f6, u6, f7, u7, f8 and

a u8-vertex, and its weight decreases by at least m5 , minw′4, w4, ∆′5,3, ∆5,3, ∆′6,4, ∆6,4,

∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each of the vertices t3, t4, t5, t6, and t7 must be one of types

f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at

least m4= min∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. The vertex t8

must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and its weight

decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7,

∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w′8 + w′4 +m5 + 5m4 +m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′4 − w′3.

Page 145: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

120 7. The TSP in Degree-8 Graphs

As a result, we get the following branching vector:

(w′8 + w′4 +m5 + 5m4 +m1, w′8 − w′7 + w′4 − w′3). (7.11)

Case c-5(II). Without loss of generality, assume that NU (v)∩NU (t1) = t2, t3 (see

Figure 7.9): We branch on the edge vt1.

(a) force(vt1) in c-5(II)

v

t1

e

t7

t2 t3 t4t5

t6

(b) delete(vt1) in c-5(II)

v

t1

e

t7

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.9: Illustration of branching rule c-5(II), where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf4)

such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2 and t1t3 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1

decreases by w′4. Each of the vertices t2 and t3 must be one of types f4, u4, f5, u5, f6, u6,

f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m5 = minw′4,w4, ∆′5,3, ∆5,3, ∆′6,4, ∆6,4, ∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each of the vertices t4, t5, t6 and t7

must be one of types f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their

weights decreases by at least m4= min∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7,

∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w′8 + w′4 + 2m5 + 4m4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′4 − w′3.

As a result, we get the following branching vector:

(w′8 + w′4 + 2m5 + 4m4, w′8 − w′7 + w′4 − w′3). (7.12)

Case c-6. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vu4) (see Figure 7.10): We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6 and vt7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1 decreases

Page 146: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 121

(b) delete(vt1) in c-6

t1ve

t7

t2 t3 t4t5

t6

(a) force(vt1) in c-6

ve

t7

t2 t3 t4t5

t6

t1

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.10: Illustration of branching rule c-6, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vu4).

by ∆4. Each of the vertices t2, t3, t4, t5, t6 and t7 must be one of types u4, f5, u5, f6, u6,

f7, u7 f8 and a u8-vertex, and each of their weights decreases by at least m6 , min∆4,3,

∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for this

case in the branch of force(vt1) is at least w′8 + w4 − w′4 + 6m6.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆4,3. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w4 − w3.

As a result, we get the following branching vector:

(w′8 + w4 − w′4 + 6m6, w′8 − w′7 + w4 − w3). (7.13)

Case c-7. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf5) such that NU (v) ∩NU (t1) = ∅ (see Figure 7.11): We branch on the edge

vt1. Note that NU (t1) \ v = t8, t9, t10.

(b) delete(vt1) in c-7

t1ve

t7

t2 t3 t4t5

t6

t9t10

t8

(a) force(vt1) in c-7

ve

t7

t2 t3 t4t5

t6

t1

t9t10

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.11: Illustration of branching rule c-7, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf5)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t8, t1t9 and t1t10 will be deleted from G′

by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight

of vertex t1 decreases by w′5. Each of the vertices t2, t3, t4, t5, t6 and t7 must be one of

types f5, u5, f6, u6, f7, u7 f8 and a u8-vertex, and each of their weights decreases by at

least m7 , min∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Each of the vertices t8, t9

and t10 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and

Page 147: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

122 7. The TSP in Degree-8 Graphs

each of their weights decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5,

∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for this case in the branch

of force(vt1) is at least w′8 + w′5 + 6m7 + 3m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′5 − w′4.

As a result, we get the following branching vector:

(w′8 + w′5 + 6m7 + 3m1, w′8 − w′7 + w′5 − w′4). (7.14)

Case c-8. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf5) such that NU (v) ∩NU (t1) 6= ∅: We distinguish three sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-8(I) |NU (v) ∩NU (t1)| = 1;

c-8(II) |NU (v) ∩NU (t1)| = 2; and

c-8(III) |NU (v) ∩NU (t1)| = 3.

Case c-8(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see

Figure 7.12): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9.

(a) force(vt1) in c-8(I)

vt1

e

t7

t2 t3 t4t5

t6t8 t9

(b) delete(vt1) in c-8(I)

t1

ve

t7

t2 t3 t4t5

t6t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.12: Illustration of branching rule c-8(I), where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf5)

such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t8 and t1t9 will be deleted from G′

by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of

vertex t1 decreases by w′5. The vertex t2 must be one of types f5, u5, f6, u6, f7, u7, f8 and

a u8-vertex, and its weight decreases by at least m8 , min∆′5,3, ∆5,3, ∆′6,4, ∆6,4, ∆′7,5,

∆7,5, ∆′8,6, ∆8,6. Each of the vertices t3, t4, t5, t6 and t7 must be one of types f5, u5,

f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m7 =

min∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Each of the vertices t8 and t9 must

be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their

Page 148: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 123

weights decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6,

∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1)

is at least w′8 + w′5 +m8 + 5m7 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′5 − w′4.

As a result, we get the following branching vector:

(w′8 + w′5 +m8 + 5m7 + 2m1, w′8 − w′7 + w′5 − w′4). (7.15)

Case c-8(II). Without loss of generality, assume that NU (v)∩NU (t1) = t2, t3 (see

Figure 7.13): We branch on the edge vt1. Note that NU (t1) \ v = t8.

(a) force(vt1) in c-8(II)

v

t1

e

t7

t2 t3 t4t5

t6

t8

(b) delete(vt1) in c-8(II)

v

t1

e

t7

t2 t3 t4t5

t6

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.13: Illustration of branching rule c-8(II), where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf5)

such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3 and t1t8 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1

decreases by w′5. Each of the vertices t2 and t3 must be one of types f5, u5, f6, u6, f7,

u7, f8 and a u8-vertex, and each of their weights decreases by at least m8 = min∆′5,3,∆5,3, ∆′6,4, ∆6,4, ∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each of the vertices t4, t5, t6 and t7 must be

one of types f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases

by at least m7 = min∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. The vertex t8 must

be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and its weight

decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7,

∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w′8 + w′5 + 2m8 + 4m7 +m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′5 − w′4.

Page 149: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

124 7. The TSP in Degree-8 Graphs

As a result, we get the following branching vector:

(w′8 + w′5 + 2m8 + 4m7 +m1, w′8 − w′7 + w′5 − w′4). (7.16)

Case c-8(III). Without loss of generality, assume that NU (v) ∩NU (t1) = t2, t3, t4(see Figure 7.14): We branch on the edge vt1.

(a) force(vt1) in c-8(III)

v

t1

e

t7

t2 t3 t4t5

t6

(b) delete(vt1) in c-8(III)

v

t1

e

t7

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.14: Illustration of branching rule c-8(III), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf5) such that NU (v) ∩NU (t1) = t2, t3, t4.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3 and t1t4 will be deleted from G′ by the

reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1

decreases by w′5. Each of the vertices t2, t3 and t4 must be one of types f5, u5, f6, u6, f7,

u7, f8 and a u8-vertex, and each of their weights decreases by at least m8 = min∆′5,3,∆5,3, ∆′6,4, ∆6,4, ∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each of the vertices t5, t6 and t7 must be one

of types f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by

at least m7 = min∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight

decrease for this case in the branch of force(vt1) is at least w′8 + w′5 + 3m8 + 3m7.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′5 − w′4.

As a result, we get the following branching vector:

(w′8 + w′5 + 3m8 + 3m7, w′8 − w′7 + w′5 − w′4). (7.17)

Case c-9. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vu5) (see Figure 7.15): We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6 and vt7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1 decreases

by ∆5. Each of the vertices t2, t3, t4, t5, t6 and t7 must be one of types u5, f6, u6, f7, u7,

f8 and a u8-vertex, and each of their weights decreases by at least m9 , min∆5,4, ∆′6,5,

Page 150: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 125

(b) delete(vt1) in c-9

t1ve

t7

t2 t3 t4t5

t6

(a) force(vt1) in c-9

ve

t7

t2 t3 t4t5

t6

t1

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.15: Illustration of branching rule c-9, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vu5).

∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for this case in the branch

of force(vt1) is at least w′8 + w5 − w′5 + 6m9.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆5,4. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w5 − w4.

As a result, we get the following branching vector:

(w′8 + w5 − w′5 + 6m9, w′8 − w′7 + w5 − w4). (7.18)

Case c-10. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf6) such that NU (v) ∩NU (t1) = ∅ (see Figure 7.16): We branch on the edge

vt1. Note that NU (t1) \ v = t8, t9, t10, t11.

(b) delete(vt1) in c-10

t1ve

t7

t2 t3 t4t5

t6t9 t10 t11

t8

(a) force(vt1) in c-10

ve

t7

t2 t3 t4t5

t6

t1

t9 t10 t11

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.16: Illustration of branching rule c-10, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf6)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t8, t1t9, t1t10 and t1t11 will be deleted from

G by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight

of vertex t1 decreases by w′6. Each of the vertices t2, t3, t4, t5, t6 and t7 must be one of

types f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m10

, min∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Each of the vertices t8, t9, t10 and t11 must

be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their

weights decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6,

∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1)

is at least w′8 + w′6 + 6m10 + 4m1.

Page 151: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

126 7. The TSP in Degree-8 Graphs

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′6 − w′5.

As a result, we get the following branching vector:

(w′8 + w′6 + 6m10 + 4m1, w′8 − w′7 + w′6 − w′5). (7.19)

Case c-11. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf6) such that NU (v) ∩NU (t1) 6= ∅: We distinguish four sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

c-11(I) |NU (v) ∩NU (t1)| = 1;

c-11(II) |NU (v) ∩NU (t1)| = 2;

c-11(III) |NU (v) ∩NU (t1)| = 3; and

c-11(IV) |NU (v) ∩NU (t1)| = 4.

Case c-11(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see

Figure 7.17): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9, t10.

(a) force(vt1) in c-11(I)

vt1

e

t7

t2 t3 t4t5

t6

t8 t9 t10

(b) delete(vt1) in c-11(I)

t1

ve

t7

t2 t3 t4t5

t6

t8 t9 t10

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.17: Illustration of branching rule c-11(I), where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf6)

such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t8, t1t9 and t1t10 will be deleted

from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the

weight of vertex t1 decreases by w′6. The vertex t2 must be one of types f6, u6, f7, u7, f8

and a u8-vertex, and its weight decreases by at least m11 , min∆′6,4, ∆6,4, ∆′7,5, ∆7,5,

∆′8,6, ∆8,6. Each of the vertices t3, t4, t5, t6 and t7 must be one of types f6, u6, f7,

u7, f8 and a u8-vertex, and each of their weights decreases by at least m10 = min∆′6,5,∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Each of the vertices t8, t9 and t10 must be one of types

f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights de-

creases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7,

∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w′8 + w′6 +m11 + 5m10 + 3m1.

Page 152: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 127

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′6 − w′5.

As a result, we get the following branching vector:

(w′8 + w′6 +m11 + 5m10 + 3m1, w′8 − w′7 + w′6 − w′5). (7.20)

Case c-11(II). Without loss of generality, assume that NU (v)∩NU (t1) = t2, t3 (see

Figure 7.18): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9.

(a) force(vt1) in c-11(II)

v

t1

e

t7

t2 t3 t4t5

t6

t8 t9

(b) delete(vt1) in c-11(II)

v

t1

e

t7

t2 t3 t4t5

t6

t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.18: Illustration of branching rule c-11(II), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t8 and t1t9 will be deleted from G′

by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of

vertex t1 decreases by w′6. Each of the vertices t2 and t3 must be one of types f6, u6, f7,

u7, f8 and a u8-vertex, and each of their weights decreases by at least m11 = min∆′6,4,∆6,4, ∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each of the vertices t4, t5, t6 and t7 must be one of types

f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m10 =

min∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Each of the vertices t8 and t9 must be one of

types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights

decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7,

∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w′8 + w′6 + 2m11 + 4m10 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′6 − w′5.

As a result, we get the following branching vector:

(w′8 + w′6 + 2m11 + 4m10 + 2m1, w′8 − w′7 + w′6 − w′5). (7.21)

Page 153: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

128 7. The TSP in Degree-8 Graphs

Case c-11(III). Without loss of generality, assume that NU (v)∩NU (t1) = t2, t3, t4(see Figure 7.19): We branch on the edge vt1. Note that NU (t1) \ v = t8.

(a) force(vt1) in c-11(III)

v

t1

e

t7

t2 t3 t4t5

t6

t8

(b) delete(vt1) in c-11(III)

v

t1

e

t7

t2 t3 t4t5

t6

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.19: Illustration of branching rule c-11(III), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3, t4.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4 and t1t8 will be deleted from G′

by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of

vertex t1 decreases by w′6. Each of the vertices t2, t3 and t4 must be one of types f6, u6,

f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m11 = min∆′6,4,∆6,4, ∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each of the vertices t5, t6 and t7 must be one of types f6, u6,

f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m10 = min∆′6,5,∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. The vertex t8 must be one of types f3, u3, f4, u4, f5, u5,

f6, u6, f7, u7, f8 and a u8-vertex, and its weight decreases by at least m1 = minw′3, w3,

∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease

for this case in the branch of force(vt1) is at least w′8 + w′6 + 3m11 + 3m10 +m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′6 − w′5.

As a result, we get the following branching vector:

(w′8 + w′6 + 3m11 + 3m10 +m1, w′8 − w′7 + w′6 − w′5). (7.22)

Case c-11(IV). Without loss of generality, assume thatNU (v)∩NU (t1) = t2, t3, t4, t5(see Figure 7.20): We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4 and t1t5 will be deleted from G′

by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the weight of

vertex t1 decreases by w′6. Each of the vertices t2, t3, t4 and t5 must be one of types f6, u6,

f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m11 = min∆′6,4,∆6,4, ∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each of the vertices t6 and t7 must be one of types f6, u6,

f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m10 = min∆′6,5,

Page 154: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 129

(a) force(vt1) in c-11(IV)

v

t1

e

t7

t2 t3 t4t5

t6

(b) delete(vt1) in c-11(IV)

v

t1

e

t7

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.20: Illustration of branching rule c-11(IV), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf6) such that NU (v) ∩NU (t1) = t2, t3, t4, t5.

∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for this case in the branch

of force(vt1) is at least w′8 + w′6 + 4m11 + 2m10.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′6 − w′5.

As a result, we get the following branching vector:

(w′8 + w′6 + 4m11 + 2m10, w′8 − w′7 + w′6 − w′5). (7.23)

Case c-12. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vu6) (see Figure 7.21): We branch on the edge vt1.

(b) delete(vt1) in c-12

t1ve

t7

t2 t3 t4t5

t6

(a) force(vt1) in c-12

ve

t7

t2 t3 t4t5

t6

t1

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.21: Illustration of branching rule c-12, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vu6).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6 and vt7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1 decreases

by ∆6. Each of vertices t2, t3, t4, t5, t6 and t7 must be one of types u6, f7, u7, f8 and

a u8-vertex, and each of their weights decreases by at least m12 , min∆6,5, ∆′7,6, ∆7,6,

∆′8,7, ∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1) is at

least w′8 + w6 − w′6 + 6m12.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

Page 155: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

130 7. The TSP in Degree-8 Graphs

decreases by ∆6,5. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w6 − w5.

As a result, we get the following branching vector:

(w′8 + w6 − w′6 + 6m12, w′8 − w′7 + w6 − w5). (7.24)

Case c-13. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf7) such that NU (v) ∩NU (t1) = ∅ (see Figure 7.22): We branch on the edge

vt1. Note that NU (t1) \ v = t8, t9, t10, t11, t12.

(b) delete(vt1) in c-13

t1ve

t7

t2 t3 t4t5

t6

t10 t11t12

t9

t8

(a) force(vt1) in c-13

ve

t7

t2 t3 t4t5

t6

t1

t10 t11t12

t9

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.22: Illustration of branching rule c-13, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf7)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t8, t1t9, t1t10, t1t11 and t1t12 will be deleted

from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the

weight of vertex t1 decreases by w′7. Each of the vertices t2, t3, t4, t5, t6 and t7 must be

one of types f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m13

, min∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Each of the vertices t8, t9, t10, t11 and t12 must be one of

types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8 and a u8-vertex, and each of their weights

decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7,

∆8,7. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w′8 + w′7 + 6m13 + 5m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′7 − w′6 = w′8 − w′6.

As a result, we get the following branching vector:

(w′8 + w′7 + 6m13 + 5m1, w′8 − w′6). (7.25)

Case c-14. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf7) such that NU (v) ∩ NU (t1) 6= ∅: We distinguish five sub-cases, according

to the cardinality of the intersection NU (v) ∩NU (t1),

Page 156: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 131

c-14(I) |NU (v) ∩NU (t1)| = 1;

c-14(II) |NU (v) ∩NU (t1)| = 2;

c-14(III) |NU (v) ∩NU (t1)| = 3;

c-14(IV) |NU (v) ∩NU (t1)| = 4; and

c-14(V) |NU (v) ∩NU (t1)| = 5.

Case c-14(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see

Figure 7.23): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9, t10, t11.

(a) force(vt1) in c-14(I)

vt1

e

t7

t2 t3 t4t5

t6t9 t10 t11

t8

(b) delete(vt1) in c-14(I)

t1

ve

t7

t2 t3 t4t5

t6t9 t10 t11

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.23: Illustration of branching rule c-14(I), where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf7)

such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t8, t1t9, t1t10 and t1t11 will be deleted

from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the

weight of vertex t1 decreases by w′7. The vertex t2 must be one of types f7, u7, f8 and a

u8-vertex, and its weight decreases by at least m14 , min∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each

of the vertices t3, t4, t5, t6 and t7 must be one of types f7, u7, f8 and a u8-vertex, and

each of their weights decreases by at least m13 = min∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Each of

the vertices t8, t9, t10 and t11 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8

and a u8-vertex, and each of their weights decreases by at least m1 = minw′3, w3, ∆′4,3,

∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for

this case in the branch of force(vt1) is at least w′8 + w′7 +m14 + 5m13 + 4m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′7 − w′6 = w′8 − w′6.

As a result, we get the following branching vector:

(w′8 + w′7 +m14 + 5m13 + 4m1, w′8 − w′6). (7.26)

Case c-14(II). Without loss of generality, assume that NU (v)∩NU (t1) = t2, t3 (see

Figure 7.24): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9, t10.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

Page 157: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

132 7. The TSP in Degree-8 Graphs

(a) force(vt1) in c-14(II)

v

t1

e

t7

t2 t3 t4t5

t6

t8 t9 t10

(b) delete(vt1) in c-14(II)

v

t1

e

t7

t2 t3 t4t5

t6

t8 t9 t10

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.24: Illustration of branching rule c-14(II), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf7) such that NU (v) ∩NU (t1) = t2, t3.

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t8, t1t9 and t1t10 will be deleted

from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the

weight of vertex t1 decreases by w′7. Each of the vertices t2 and t3 must be one of types f7,

u7, f8 and a u8-vertex, and each of their weights decreases by at least m14 = min∆′7,5,∆7,5, ∆′8,6, ∆8,6. Each of the vertices t4, t5, t6 and t7 must be one of types f7, u7, f8 and

a u8-vertex, and each of their weights decreases by at least m13 = min∆′7,6, ∆7,6, ∆′8,7,

∆8,7. Each of the vertices t8, t9 and t10 must be one of types f3, u3, f4, u4, f5, u5, f6, u6,

f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m1 = minw′3,w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight

decrease for this case in the branch of force(vt1) is at least w′8 +w′7 + 2m14 + 4m13 + 3m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′7 − w′6 = w′8 − w′6.

As a result, we get the following branching vector:

(w′8 + w′7 + 2m14 + 4m13 + 3m1, w′8 − w′6). (7.27)

Case c-14(III). Without loss of generality, assume that NU (v)∩NU (t1) = t2, t3, t4(see Figure 7.25): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9.

(a) force(vt1) in c-14(III)

v

t1

e

t7

t2 t3t4t5

t6

t8 t9

(b) delete(vt1) in c-14(III)

v

t1

e

t7

t2 t3t4t5

t6

t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.25: Illustration of branching rule c-14(III), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf7) such that NU (v) ∩NU (t1) = t2, t3, t4.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

Page 158: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 133

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4, t1t8 and t1t9 will be deleted

from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the

weight of vertex t1 decreases by w′7. Each of the vertices t2, t3 and t4 must be one of types

f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m14 = min∆′7,5,∆7,5, ∆′8,6, ∆8,6. Each of the vertices t5, t6 and t7 must be one of types f7, u7, f8 and

a u8-vertex, and each of their weights decreases by at least m13 = min∆′7,6, ∆7,6, ∆′8,7,

∆8,7. Each of the vertices t8 and t9 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7,

u7, f8 and a u8-vertex, and each of their weights decreases by at least m1 = minw′3, w3,

∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease

for this case in the branch of force(vt1) is at least w′8 + w′7 + 3m14 + 3m13 + 2m1.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′7 − w′6 = w′8 − w′6.

As a result, we get the following branching vector:

(w′8 + w′7 + 3m14 + 3m13 + 2m1, w′8 − w′6). (7.28)

Case c-14(IV). Without loss of generality, assume thatNU (v)∩NU (t1) = t2, t3, t4, t5(see Figure 7.26): We branch on the edge vt1. Note that NU (t1) \ v = t8.

(a) force(vt1) in c-14(IV)

v

t1

e

t7

t2 t3 t4t5

t6

t8

(b) delete(vt1) in c-14(IV)

v

t1

e

t7

t2 t3 t4t5

t6

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.26: Illustration of branching rule c-14(IV), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf7) such that NU (v) ∩NU (t1) = t2, t3, t4, t5.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4, t1t5 and t1t8 will be deleted

from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the

weight of vertex t1 decreases by w′7. Each of the vertices t2, t3, t4 and t5 must be one of

types f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m14 =

min∆′7,5, ∆7,5, ∆′8,6, ∆8,6. Each of the vertices t6 and t7 must be one of types f7, u7,

f8 and a u8-vertex, and each of their weights decreases by at least m13 = min∆′7,6, ∆7,6,

∆′8,7, ∆8,7. The vertex t8 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7, f8

and a u8-vertex, and its weight decreases by at least m1 = minw′3, w3, ∆′4,3, ∆4,3, ∆′5,4,

∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total weight decrease for this case in

the branch of force(vt1) is at least w′8 + w′7 + 4m14 + 2m13 +m1.

Page 159: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

134 7. The TSP in Degree-8 Graphs

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′7 − w′6 = w′8 − w′6.

As a result, we get the following branching vector:

(w′8 + w′7 + 4m14 + 2m13 +m1, w′8 − w′6). (7.29)

Case c-14(V). Without loss of generality, assume thatNU (v)∩NU (t1) = t2, t3, t4, t5, t6(see Figure 7.27): We branch on the edge vt1.

(a) force(vt1) in c-14(V)

v

t1

e

t7

t2 t3 t4t5

t6

(b) delete(vt1) in c-14(V)

v

t1

e

t7

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.27: Illustration of branching rule c-14(V), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf7) such that NU (v) ∩NU (t1) = t2, t3, t4, t5, t6.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4, t1t5 and t1t6 will be deleted

from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′8, and the

weight of vertex t1 decreases by w′7. Each of the vertices t2, t3, t4, t5 and t6 must be one

of types f7, u7, f8 and a u8-vertex, and each of their weights decreases by at least m14 =

min∆′7,5, ∆7,5, ∆′8,6, ∆8,6. The vertex t7 must be one of types f7, u7, f8 and a u8-vertex,

and its weight decreases by at least m13 = min∆′7,6, ∆7,6, ∆′8,7, ∆8,7. Thus, the total

weight decrease for this case in the branch of force(vt1) is at least w′8 +w′7 + 5m14 +m13.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆′7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w′7 − w′6 = w′8 − w′6.

As a result, we get the following branching vector:

(w′8 + w′7 + 5m14 +m13, w′8 − w′6). (7.30)

Case c-15. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vu7) (see Figure 7.28): We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges vt2, vt3, vt4, vt5, vt6 and vt7 will be deleted from G′ by the reduction rules.

Page 160: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 135

(a) force(vt1) in c-15

ve

t7

t2 t3 t4t5

t6

t1

(b) delete(vt1) in c-15

t1ve

t7

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.28: Illustration of branching rule c-15, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vu7).

Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1 decreases by ∆7.

Each of the vertices t2, t3, t4, t5, t6 and t7 must be one of types u7, f8 and a u8-vertex, and

each of their weights decreases by at least m15 , min∆7,6, ∆′8,7, ∆8,7. Thus, the total

weight decrease for this case in the branch of force(vt1) is at least w′8 +w7 −w′7 + 6m15.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w7 − w6.

As a result, we get the following branching vector:

(w′8 + w7 − w′7 + 6m15, w′8 − w′7 + w7 − w6). (7.31)

Case c-16. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf8) such that NU (v) ∩NU (t1) = ∅ (see Figure 7.29): We branch on the edge

vt1. Note that NU (t1) \ v = t8, t9, t10, t11, t12, t13.

(b) delete(vt1) in c-16

t1ve

t7

t2 t3 t4t5

t6

t11t12t13

t10

t9

t8

(a) force(vt1) in c-16

ve

t7

t2 t3 t4t5

t6

t1

t11t12t13

t10

t9

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.29: Illustration of branching rule c-16, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf8)

such that NU (v) ∩NU (t1) = ∅.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t8, t1t9, t1t10, t1t11, t1t12 and t1t13 will be

deleted from G′ by the reduction rules. Hence, the weight of vertex v decreases by w′8,

and the weight of vertex t1 decreases by w′8. Each of the vertices t2, t3, t4, t5, t6, t7, t8,

t9, t10, t11, t12 and t13 must be either a type f8 or a u8-vertex, and each of their weights

decreases by at least m16 , min∆′8,7, ∆8,7. Thus, the total weight decrease for this case

in the branch of force(vt1) is at least w′8 + w′8 + 12m16 = 2w′8 + 12m16.

Page 161: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

136 7. The TSP in Degree-8 Graphs

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′8,7. Thus,

the total weight decrease for this case in the branch of delete(vt1) is at least 2w′8 − 2w′7.

As a result, we get the following branching vector:

(2w′8 + 12m16, 2w′8 − 2w′7). (7.32)

Case c-17. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vf8) such that NU (v)∩NU (t1) 6= ∅: We distinguish six sub-cases, according to

the cardinality of the intersection NU (v) ∩NU (t1),

c-14(I) |NU (v) ∩NU (t1)| = 1;

c-14(II) |NU (v) ∩NU (t1)| = 2;

c-14(III) |NU (v) ∩NU (t1)| = 3;

c-14(IV) |NU (v) ∩NU (t1)| = 4;

c-14(V) |NU (v) ∩NU (t1)| = 5; and

c-14(VI) |NU (v) ∩NU (t1)| = 6.

Case c-17(I). Without loss of generality, assume that NU (v) ∩ NU (t1) = t2 (see

Figure 7.30): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9, t10, t11, t12.

(a) force(vt1) in c-17(I)

vt1

e

t7

t2 t3 t4t5

t6

t10 t11 t12

t9

t8

(b) delete(vt1) in c-17(I)

t1

ve

t7

t2 t3 t4t5

t6

t10 t11 t12

t9

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.30: Illustration of branching rule c-17(I), where vertex v ∈ Vf8 and t1 ∈ NU (v;Vf8)

such that NU (v) ∩NU (t1) = t2.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t8, t1t9, t1t10, t1t11 and t1t12 will be

deleted from G′ by the reduction rules. Hence, both weights of vertex v and vertex t1 each

decreases by w′8. The vertex t2 must be either a type f8 or a u8-vertex, and its weight

decreases by at least m17 , min∆′8,6, ∆8,6. Each of the vertices t3, t4, t5, t6, t7, t8, t9,

t10, t11 and t12 must be either a type f8 or a u8-vertex, and each of their weights decreases

by at least m16 = min∆′8,7, ∆8,7. Thus, the total weight decrease for this case in the

branch of force(vt1) is at least 2w′8 +m17 + 10m16.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′8,7. Thus,

the total weight decrease for this case in the branch of delete(vt1) is at least 2w′8 − 2w′7.

Page 162: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 137

As a result, we get the following branching vector:

(2w′8 +m17 + 10m16, 2w′8 − 2w′7). (7.33)

Case c-17(II). Without loss of generality, assume that NU (v)∩NU (t1) = t2, t3 (see

Figure 7.31): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9, t10, t11.

(a) force(vt1) in c-17(II)

v

t1

e

t7

t2 t3 t4t5

t6

t9 t10 t11

t8

(b) delete(vt1) in c-17(II)

v

t1

e

t7

t2 t3 t4t5

t6

t9 t10 t11

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.31: Illustration of branching rule c-17(II), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf8) such that NU (v) ∩NU (t1) = t2, t3.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t8, t1t9, t1t10 and t1t11 will be

deleted from G′ by the reduction rules. Hence, both weights of vertex v and vertex t1 each

decreases by w′8. Each of the vertices t2 and t3 must be either a type f8 or a u8-vertex, and

each of their weights decreases by at least m17 = min∆′8,6, ∆8,6. Each of the vertices

t4, t5, t6, t7, t8, t9, t10 and t11 must be either a type f8 or a u8-vertex, and each of their

weights decreases by at least m16 = min∆′8,7, ∆8,7. Thus, the total weight decrease for

this case in the branch of force(vt1) is at least 2w′8 + 2m17 + 8m16.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′8,7. Thus,

the total weight decrease for this case in the branch of delete(vt1) is at least 2w′8 − 2w′7.

As a result, we get the following branching vector:

(2w′8 + 2m17 + 8m16, 2w′8 − 2w′7). (7.34)

Case c-17(III). Without loss of generality, assume that NU (v)∩NU (t1) = t2, t3, t4(see Figure 7.32): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9, t10.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4, t1t8, t1t9 and t1t10 will be

deleted from G′ by the reduction rules. Hence, both weights of vertex v and vertex t1 each

decreases by w′8. Each of the vertices t2, t3 and t4 must be either a type f8 or a u8-vertex,

and each of their weights decreases by at least m17 = min∆′8,6, ∆8,6. Each of the vertices

t5, t6, t7, t8, t9 and t10 must be either a type f8 or a u8-vertex, and each of their weights

Page 163: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

138 7. The TSP in Degree-8 Graphs

(a) force(vt1) in c-17(III)

v

t1

e

t7

t2 t3t4t5

t6

t8 t9 t10

(b) delete(vt1) in c-17(III)

v

t1

e

t7

t2 t3t4t5

t6

t8 t9 t10

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.32: Illustration of branching rule c-17(III), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf8) such that NU (v) ∩NU (t1) = t2, t3, t4.

decreases by at least m16 = min∆′8,7, ∆8,7. Thus, the total weight decrease for this case

in the branch of force(vt1) is at least 2w′8 + 3m17 + 6m16.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′8,7. Thus,

the total weight decrease for this case in the branch of delete(vt1) is at least 2w′8 − 2w′7.

As a result, we get the following branching vector:

(2w′8 + 3m17 + 6m16, 2w′8 − 2w′7). (7.35)

Case c-17(IV). Without loss of generality, assume thatNU (v)∩NU (t1) = t2, t3, t4, t5(see Figure 7.33): We branch on the edge vt1. Note that NU (t1) \ v = t8, t9.

(a) force(vt1) in c-17(IV)

v

t1

e

t7

t2 t3t4t5

t6

t8 t9

(b) delete(vt1) in c-17(IV)

v

t1

e

t7

t2 t3t4t5

t6

t8 t9

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.33: Illustration of branching rule c-17(IV), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf8) such that NU (v) ∩NU (t1) = t2, t3, t4, t5.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4, t1t5, t1t8 and t1t9 will be

deleted from G′ by the reduction rules. Hence, both weights of vertex v and vertex t1

each decreases by w′8. Each of the vertices t2, t3, t4 and t5 must be either a type f8 or a

u8-vertex, and each of their weights decreases by at least m17 = min∆′8,6, ∆8,6. Each

of the vertices t6, t7, t8 and t9 must be either a type f8 or a u8-vertex, and each of their

weights decreases by at least m16 = min∆′8,7, ∆8,7. Thus, the total weight decrease for

this case in the branch of force(vt1) is at least 2w′8 + 4m17 + 4m16.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′8,7. Thus,

Page 164: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 139

the total weight decrease for this case in the branch of delete(vt1) is at least 2w′8 − 2w′7.

As a result, we get the following branching vector:

(2w′8 + 4m17 + 4m16, 2w′8 − 2w′7). (7.36)

Case c-17(V). Without loss of generality, assume thatNU (v)∩NU (t1) = t2, t3, t4, t5, t6(see Figure 7.34): We branch on the edge vt1. Note that NU (t1) \ v = t8.

(a) force(vt1) in c-17(V)

v

t1

e

t7

t2 t3 t4t5

t6

t8

(b) delete(vt1) in c-17(V)

v

t1

e

t7

t2 t3 t4t5

t6

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.34: Illustration of branching rule c-17(V), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf8) such that NU (v) ∩NU (t1) = t2, t3, t4, t5, t6.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4, t1t5, t1t6 and t1t8 will be

deleted from G′ by the reduction rules. Hence, both weights of vertex v and vertex t1 each

decreases by w′8. Each of the vertices t2, t3, t4, t5 and t6 must be either a type f8 or a

u8-vertex, and each of their weights decreases by at least m17 = min∆′8,6, ∆8,6. Each

of the vertices t7 and t8 must be either a type f8 or a u8-vertex, and each of their weights

decreases by at least m16 = min∆′8,7, ∆8,7. Thus, the total weight decrease for this case

in the branch of force(vt1) is at least 2w′8 + 5m17 + 2m16.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′8,7. Thus,

the total weight decrease for this case in the branch of delete(vt1) is at least 2w′8 − 2w′7.

As a result, we get the following branching vector:

(2w′8 + 5m17 + 2m16, 2w′8 − 2w′7). (7.37)

Case c-17(VI). We have that NU (v)∩NU (t1) = t2, t3, t4, t5, t6, t7 (see Figure 7.35):

We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching op-

eration, and edges vt2, vt3, vt4, vt5, vt6, vt7, t1t2, t1t3, t1t4, t1t5, t1t6 and t1t7 will be

deleted from G′ by the reduction rules. Hence, both weights of vertex v and vertex t1 each

decreases by w′8. Each of the vertices t2, t3, t4, t5, t6 and t7 must be either a type f8 or a

u8-vertex, and each of their weights decreases by at least m17 = min∆′8,6, ∆8,6. Thus,

the total weight decrease for this case in the branch of force(vt1) is at least 2w′8 + 6m17.

Page 165: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

140 7. The TSP in Degree-8 Graphs

(a) force(vt1) in c-17(VI)

v

t1

e

t7

t2 t3 t4t5

t6

(b) delete(vt1) in c-17(VI)

v

t1

e

t7

t2 t3 t4t5

t6

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.35: Illustration of branching rule c-17(VI), where vertex v ∈ Vf8 and t1 ∈NU (v;Vf8) such that NU (v) ∩NU (t1) = t2, t3, t4, t5, t6, t7.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆′8,7. Thus,

the total weight decrease for this case in the branch of delete(vt1) is at least 2w′8 − 2w′7.

As a result, we get the following branching vector:

(2w′8 + 6m17, 2w′8 − 2w′7). (7.38)

Case c-18. None of the previous cases are applicable, and there exist vertices v ∈ Vf8 and

t1 ∈ NU (v;Vu8) (see Figure 7.36): We branch on the edge vt1.

(b) delete(vt1) in c-18

ve

t7

t2 t3 t4t5

t6

t1

(a) force(vt1) in c-18

ve

t7

t2 t3 t4t5

t6

t1

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.36: Illustration of branching rule c-18, where vertex v ∈ Vf8 and t1 ∈ NU (v;Vu8).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching oper-

ation, and edges vt2, vt3, vt4, vt5, vt6 and vt7 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex v decreases by w′8, and the weight of vertex t1 decreases

by ∆8. Each of the vertices t2, t3, t4, t5, t6 and t7 must be a u8-vertex, and each of their

weights decreases by ∆8,7. Thus, the total weight decrease for this case in the branch of

force(vt1) is at least w′8 + w8 − w′8 + 6w8 − 6w7 = 7w8 − 6w7.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆′8,7, and the weight of vertex t1

decreases by ∆8,7. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w′8 − w′7 + w8 − w7.

As a result, we get the following branching vector:

(7w8 − 6w7, w′8 − w′7 + w8 − w7). (7.39)

Page 166: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 141

7.5 Branching on Edges around u8-vertices

If none of the first 18 conditions can be executed, this means that the graph has no f8-

vertices. This section derives branching vectors for branchings on an optimal edge e = vt1

incident to a u8-vertex v, distinguishing the 11 cases for conditions c-19 to c-29.

Case c-19. There are no more f8-vertices, and there exist vertices v ∈ Vu8 and t1 ∈NU (v;Vf3) (see Figure 7.37): We branch on the edge vt1. Note that NU (t1) \ v = t9.

(a) force(vt1) in c-19

ve

t7

t2 t3 t4t5

t6

t1

t9

t8

(b) delete(vt1) in c-19

ve

t7

t2 t3 t4t5

t6

t1

t9

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.37: Illustration of branching rule c-19, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vf3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and the edge t1t9 will be deleted from G′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆8, and the weight of vertex t1 decreases by w′3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and the edge t1t9 will be added to F ′ by the reduction rules. Hence, the weight

of vertex v decreases by ∆8,7, and the weight of vertex t1 decreases by w′3.

There are two cases for the vertex t9; 1) the vertex t9 is of type f3, and 2) otherwise. We

will analyze these two cases separately for each of branches force(vt1) and delete(vt1).

First, we analyze the case where the vertex t9 is an f3-vertex (see Figure 7.3). Recall

that in this case, we denote by x the unique vertex in NU (t9) \ t1. In the branch of

force(vt1), the edge xt9 will be added to F ′ by the reduction rules. Hence, the weight of

vertex t9 decreases by w′3. If the vertex x is an f3-vertex (resp., u3, f4, u4, f5, u5, f6, u6,

f7, u7 and a u8-vertex), then the weight decrease α5 of vertex x will be w′3 (resp., ∆3, w′4,

∆4, w′5, ∆5, w

′6, ∆6, w

′7, ∆7 and ∆8). Thus, the total weight decrease for this case in the

branch of force(vt1) is at least w8 − w′8 + w′3 + w′3 + α5 = w8 − w′8 + 2w′3 + α5.

In the branch of delete(vt1), the edge xt9 will be deleted from G′ by the reduction

rules. Hence, the weight of vertex t9 decrease by w′3. If the vertex x is an f3-vertex (resp.,

u3, f4, u4, f5, u5, f6, u6, f7, u7 and a u8-vertex), then the weight decrease β5 of vertex x will

be w′3 (resp., w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6 and ∆8,7). Thus, the total

weight decrease for this case in the branch of delete(vt1) is at least w8−w7+w′3+w′3+β5

= w8 − w7 + 2w′3 + β5.

Page 167: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

142 7. The TSP in Degree-8 Graphs

As a result, for the ordered pair (α5, β5) taking values in (w′3, w′3), (∆3, w3), (w′4,∆′4,3),

(∆4,∆4,3), (w′5,∆′5,4), (∆5,∆5,4), (w′6,∆

′6,5), (∆6,∆6,5), (w′7,∆

′7,6), (∆7,∆7,6), (∆8,∆8,7),

we get the following 11 branching vectors:

(w8 − w′8 + 2w′3 + α5, w8 − w7 + 2w′3 + β5). (7.40)

Next, we examine the case where the vertex t9 is not an f3-vertex. In the branch

of force(vt1), if the vertex t9 is a u3-vertex (resp., f4, u4, f5, u5, f6, u6, f7, u7 and a

u8-vertex), then the weight decrease α6 of vertex t9 will be w3 (resp., ∆′4,3, ∆4,3, ∆′5,4,

∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6 and ∆8,7). Thus, the total weight decrease for this case in the

branch of force(vt1) is at least w8 − w′8 + w′3 + α6.

In the branch of delete(vt1), if the vertex t9 is a u3-vertex (resp., f4, u4, f5, u5, f6,

u6, f7, u7 and a u8-vertex), then the weight decrease α6 of vertex t9 will be ∆3 (resp., w′4,

∆4, w′5, ∆5, w

′6, ∆6, w

′7, ∆7 and ∆8). Thus, the total weight decrease for this case in the

branch of delete(vt1) is at least w8 − w7 + w′3 + β6.

As a result, for the ordered pair (α6, β6) taking values in (w3,∆3), (∆′4,3, w′4), (∆4,3,∆4),

(∆′5,4, w′5), (∆5,4,∆5), (∆′6,5, w

′6), (∆6,5,∆6), (∆′7,6, w

′7), (∆7,6,∆7), (∆8,7,∆8), we get the

following 10 branching vectors:

(w8 − w′8 + w′3 + α6, w8 − w7 + w′3 + β6). (7.41)

Case c-20. None of the previous cases are applicable, and there exist vertices v ∈ Vu8 and

t1 ∈ NU (v;Vu3) (see Figure 7.38): We branch on the edge vt1. Note that NU (t1) \ v =

t9, t10.

(a) force(vt1) in c-20

ve

t7

t2 t3 t4t5

t6

t1

t9

t8

t10

(b) delete(vt1) in c-20

ve

t7

t2 t3 t4t5

t6

t1

t9

t8

t10

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.38: Illustration of branching rule c-20, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vu3).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, the weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases

by ∆3. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w8 − w′8 + w3 − w′3.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation, and edges t1t9 and t1t10 will be added to F ′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆8,7, and the weight of vertex t1 decreases by w3. Each

Page 168: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 143

of the vertices t9 and t10 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7 and a

u8-vertex, and each of their weights decreases by at least m18 , minw′3, ∆3, w′4, ∆4, w

′5,

∆5, w′6, ∆6, w

′7, ∆7, ∆8. Thus, the total weight decrease for this case in the branch of

delete(vt1) is at least w8 − w7 + w3 + 2m18.

As a result, we get the following branching vector:

(w8 − w′8 + w3 − w′3, w8 − w7 + w3 + 2m18). (7.42)

Case c-21. None of the previous cases are applicable, and there exist vertices v ∈ Vu8 and

t1 ∈ NU (v;Vf4) (see Figure 7.39): We branch on the edge vt1. Note that NU (t1) \ v =

t9, t10.

(a) force(vt1) in c-21

ve

t7

t2 t3 t4t5t6

t1

t9

t8

t10

(b) delete(vt1) in c-21

ve

t7

t2 t3 t4t5t6

t1

t9

t8

t10

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.39: Illustration of branching rule c-21, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vf4).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges t1t9 and t1t10 will be deleted from G′ by the reduction rules. Hence, the

weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases by w′4. Each

of the vertices t9 and t10 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7 and a

u8-vertex, and each of their weights decreases by at least m19 , minw′3, w3, ∆′4,3, ∆4,3,

∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆8,7. Thus, the total weight decrease for this case in

the branch of force(vt1) is at least w8 − w′8 + w′4 + 2m19.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆8,7, and the weight of vertex t1

decreases by ∆′4,3. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w8 − w7 + w′4 − w′3.

As a result, we get the following branching vector:

(w8 − w′8 + w′4 + 2m19, w8 − w7 + w′4 − w′3). (7.43)

Case c-22. None of the previous cases are applicable, and there exist vertices v ∈ Vu8and t1 ∈ NU (v;Vu4) (see Figure 7.40): We branch on the edge vt1.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, the weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases

Page 169: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

144 7. The TSP in Degree-8 Graphs

(a) force(vt1) in c-22

ve

t7

t2 t3 t4t5

t6

t1

t8

(b) delete(vt1) in c-22

ve

t7

t2 t3 t4t5

t6

t1

t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.40: Illustration of branching rule c-22, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vu4).

by ∆4. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w8 − w′8 + w4 − w′4.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆8,7, and the weight of vertex t1

decreases by ∆4,3. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w8 − w7 + w4 − w3.

As a result, we get the following branching vector:

(w8 − w′8 + w4 − w′4, w8 − w7 + w4 − w3). (7.44)

Case c-23. None of the previous cases are applicable, and there exist vertices v ∈ Vu8 and

t1 ∈ NU (v;Vf5) (see Figure 7.41): We branch on the edge vt1. Note that NU (t1) \ v =

t9, t10, t11.

(a) force(vt1) in c-23

ve

t7

t2 t3 t4t5

t6

t1

t9t10

t8

t11

(b) delete(vt1) in c-23

ve

t7

t2 t3 t4t5

t6

t1

t9t10

t8

t11

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.41: Illustration of branching rule c-23, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vf5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges t1t9, t1t10 and t1t11 will be deleted from G′ by the reduction rules. Hence,

the weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases by w′5. Each

of the vertices t9, t10 and t11 must be one of types f3, u3, f4, u4, f5, u5, f6, u6, f7, u7 and

a u8-vertex, and each of their weights decreases by at least m19 = minw′3, w3, ∆′4,3, ∆4,3,

∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆8,7. Thus, the total weight decrease for this case in

the branch of force(vt1) is at least w8 − w′8 + w′5 + 3m19.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆8,7, and the weight of vertex t1

decreases by ∆′5,4. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w8 − w7 + w′5 − w′4.

Page 170: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 145

As a result, we get the following branching vector:

(w8 − w′8 + w′5 + 3m19, w8 − w7 + w′5 − w′4). (7.45)

Case c-24. None of the previous cases are applicable, and there exist vertices v ∈ Vu8and t1 ∈ NU (v;Vu5) (see Figure 7.42): We branch on the edge vt1.

(a) force(vt1) in c-24

ve

t7

t2 t3 t4t5

t6

t1t8

(b) delete(vt1) in c-24

ve

t7

t2 t3 t4t5

t6

t1t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.42: Illustration of branching rule c-24, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vu5).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, the weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases

by ∆5. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w8 − w′8 + w5 − w′5.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆8,7, and the weight of vertex t1

decreases by ∆5,4. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w8 − w7 + w5 − w4.

As a result, we get the following branching vector:

(w8 − w′8 + w5 − w′5, w8 − w7 + w5 − w4). (7.46)

Case c-25. None of the previous cases are applicable, and there exist vertices v ∈ Vu8 and

t1 ∈ NU (v;Vf6) (see Figure 7.43): We branch on the edge vt1. Note that NU (t1) \ v =

t9, t10, t11, t12.

(a) force(vt1) in c-25

ve

t7

t2 t3 t4t5t6

t1

t9t10t11

t8

t12

(b) delete(vt1) in c-25

ve

t7

t2 t3 t4t5t6

t1

t9t10t11

t8

t12

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.43: Illustration of branching rule c-25, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vf6).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges t1t9, t1t10, t1t11 and t1t12 will be deleted from G′ by the reduction rules.

Hence, the weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases by w′6.

Page 171: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

146 7. The TSP in Degree-8 Graphs

Each of the vertices t9, t10, t11 and t12 must be one of types f3, u3, f4, u4, f5, u5, f6, u6,

f7, u7 and a u8-vertex, and each of their weights decreases by at least m19 = minw′3, w3,

∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆8,7. Thus, the total weight decrease for

this case in the branch of force(vt1) is at least w8 − w′8 + w′6 + 4m19.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆8,7, and the weight of vertex t1

decreases by ∆′6,5. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w8 − w7 + w′6 − w′5.

As a result, we get the following branching vector:

(w8 − w′8 + w′6 + 4m19, w8 − w7 + w′6 − w′5). (7.47)

Case c-26. None of the previous cases are applicable, and there exist vertices v ∈ Vu8and t1 ∈ NU (v;Vu6) (see Figure 7.44): We branch on the edge vt1.

(a) force(vt1) in c-26

ve

t7

t2 t3 t4t5

t6

t1t8

(b) delete(vt1) in c-26

ve

t7

t2 t3 t4t5

t6

t1t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.44: Illustration of branching rule c-26, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vu6).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, the weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases

by ∆6. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w8 − w′8 + w6 − w′6.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆8,7, and the weight of vertex t1

decreases by ∆6,5. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w8 − w7 + w6 − w5.

As a result, we get the following branching vector:

(w8 − w′8 + w6 − w′6, w8 − w7 + w6 − w5). (7.48)

Case c-27. None of the previous cases are applicable, and there exist vertices v ∈ Vu8 and

t1 ∈ NU (v;Vf7) (see Figure 7.45): We branch on the edge vt1. Note that NU (t1) \ v =

t9, t10, t11, t12, t13.

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion, and edges t1t9, t1t10, t1t11, t1t12 and t1t13 will be deleted from G′ by the reduction

Page 172: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 147

(a) force(vt1) in c-27

ve

t7

t2 t3 t4t5

t6

t1

t10t11t12

t9

t8

t13

(b) delete(vt1) in c-27

ve

t7

t2 t3 t4t5

t6

t1

t10t11t12

t9

t8

t13

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.45: Illustration of branching rule c-27, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vf7).

rules. Hence, the weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases

by w′7. Each of the vertices t9, t10, t11, t12 and t13 must be one of types f3, u3, f4, u4, f5,

u5, f6, u6, f7, u7 and a u8-vertex, and each of their weights decreases by at least m19 =

min w′3, w3, ∆′4,3, ∆4,3, ∆′5,4, ∆5,4, ∆′6,5, ∆6,5, ∆′7,6, ∆7,6, ∆8,7. Thus, the total weight

decrease for this case in the branch of force(vt1) is at least w8 − w′8 + w′7 + 5m19.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆8,7, and the weight of vertex t1

decreases by ∆′7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w8 − w7 + w′7 − w′6.

As a result, we get the following branching vector:

(w8 − w′8 + w′7 + 5m19, w8 − w7 + w′7 − w′6). (7.49)

Case c-28. None of the previous cases are applicable, and there exist vertices v ∈ Vu8and t1 ∈ NU (v;Vu7) (see Figure 7.46): We branch on the edge vt1.

(a) force(vt1) in c-28

ve

t7

t2 t3 t4t5

t6

t1t8

(b) delete(vt1) in c-28

ve

t7

t2 t3 t4t5

t6

t1t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.46: Illustration of branching rule c-28, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vu7).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, the weight of vertex v decreases by ∆8, and the weight of vertex t1 decreases

by ∆7. Thus, the total weight decrease for this case in the branch of force(vt1) is at least

w8 − w′8 + w7 − w′7.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, the weight of vertex v decreases by ∆8,7, and the weight of vertex t1

decreases by ∆7,6. Thus, the total weight decrease for this case in the branch of delete(vt1)

is at least w8 − w7 + w7 − w6 = w8 − w6.

Page 173: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

148 7. The TSP in Degree-8 Graphs

As a result, we get the following branching vector:

(w8 − w′8 + w7 − w′7, w8 − w6). (7.50)

Case c-29. None of the previous cases are applicable, and there exist vertices v ∈ Vu8and t1 ∈ NU (v;Vu8) (see Figure 7.47): We branch on the edge vt1.

(a) force(vt1) in c-29

ve

t7

t2 t3 t4t5

t6

t1t8

(b) delete(vt1) in c-29

ve

t7

t2 t3 t4t5

t6

t1t8

: unforced edges

: forced edges

: newly deleted edges

: newly forced edges

Figure 7.47: Illustration of branching rule c-29, where vertex v ∈ Vu8 and t1 ∈ NU (v;Vu8).

In the branch of force(vt1), the edge vt1 will be added to F ′ by the branching opera-

tion. Hence, both weights of vertex v and vertex t1 each decreases by ∆8. Thus, the total

weight decrease for this case in the branch of force(vt1) is at least 2w8 − 2w′8.

In the branch of delete(vt1), the edge vt1 will be deleted from G′ by the branching

operation. Hence, both weights of vertex v and vertex t1 each decreases by ∆8,7. Thus,

the total weight decrease for this case in the branch of delete(vt1) is at least 2w8 − 2w7.

As a result, we get the following branching vector:

(2w8 − 2w′8, 2w8 − 2w7). (7.51)

7.6 Switching to the TSP in Degree-7 Graphs

If none of the 29 cases of Figures 7.1 and 7.2 can be executed, this means that all vertices

in the graph have degree at most 7. Hence, we can use a fast algorithm for the TSP in

degree-7 graphs, called tsp7(G′, F ′), to solve the remaining instance I ′ = (G′, F ′). Let n′3,

n3, n′4, n4, n

′5, n5, n

′6, n6, n

′7 and n7 be the number of f3, u3, f4, u4, f5, u5, f6, u6, f7 and u7

vertices in I ′, respectively, where n′3 +n3 +n′4 +n4 +n′5 +n5 +n′6 +n6 +n′7 +n7 = |V (G′)|,and the measure µ(I ′) of instance I ′ is µ(I ′) = w′3n

′3 + w3n3 + w′4n

′4 + w4n4 + w′5n

′5 +

w5n5 + w′6n′6 + w6n6 + w′7n

′7 + w7n7.

At this step, we switch to use the O∗(3.5939n)-time algorithm for the TSP in a degree-7

graphs by Md Yunos et al. [38], as described in Chapter 6. Let µ(I ′) denote the measure

of the TSP in degree-7 instance I ′, where µ(I ′) of instance I ′ is µ(I ′) = w′3n′3 + w3n3 +

w′4n′4 + w4n4 + w′5n

′5 + w5n5 + w′6n

′6 + w6n6 + w′7n

′7 + w7n7, and the weight w′3 for an

f3-vertex is 0.129815, the weight w3 for a u3-vertex is 0.232828, the weight w′4 for an

Page 174: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

7. The TSP in Degree-8 Graphs 149

f4-vertex is 0.285517, the weight w4 for a u4-vertex is 0.503746, the weight w′5 for an f5-

vertex is 0.378022, the weight w5 for a u5-vertex is 0.707555, the weight w′6 for an f6-vertex

is 0.449136, the weight w6 for a u6-vertex is 0.867483, the weight w′7 for an f7-vertex is

0.508069 and the weight w7 for a u7-vertex is 1. Hence, the running time bound of the

TSP in degree-7 instance I ′ with the measure µ(I ′) is given by

3.593854µ(I′).

Since the running time bound on tsp7(G,F ) is expressed by τµ(I′) in Eq. (2.2), we get a

constraint on τ :

3.593854µ(I′) ≤ τµ(I′)

for any partition n′3, n3, n′4, n4, n′5, n5, n′6, n6, n′7, n7 of |V (G′)|. In other words,

3.5938540.129815 ≤ τw′3 ,

3.5938540.232828 ≤ τw3 ,

3.5938540.285517 ≤ τw′4 ,

3.5938540.503746 ≤ τw4 ,

3.5938540.378022 ≤ τw′5 ,

3.5938540.707555 ≤ τw5 ,

3.5938540.449136 ≤ τw′6 ,

3.5938540.867483 ≤ τw6 ,

3.5938540.508069 ≤ τw′7 , and

3.5938541 ≤ τw7 .

(7.52)

7.7 Quasiconvex Program

As described in Section 4.7, all the branching vectors (a, b) of the branching rules from case

c-1 to case c-29 and the switching constraints of Eq. (7.52) are solved in a quasiconvex

program according to the method introduced by Eppstein [17]. In total, there are 107

constraints generated from all of the branching vectors (ai, bi), for i = 1, 2, . . . , 107, of

case c-1 to case c-29, and there are 10 constraints derived for switching to tsp7(G′, F ′).

Page 175: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

150 7. The TSP in Degree-8 Graphs

Generally, our quasiconvex program is described as follows:

min x

subject to

w′i − wi ≤ 0, 3 ≤ i ≤ 8,

wi − wj ≤ 0, 3 ≤ i < j ≤ 8,

w′i − w′j ≤ 0, 3 ≤ i < j ≤ 8,

−1 + x−ai + x−bi ≤ 0, 1 ≤ i ≤ 107,

3.5938540.129815 − xw′3 ≤ 0,

3.5938540.232828 − xw3 ≤ 0,

3.5938540.285517 − xw′4 ≤ 0,

3.5938540.503746 − xw4 ≤ 0,

3.5938540.378022 − xw′5 ≤ 0,

3.5938540.707555 − xw5 ≤ 0,

3.5938540.449136 − xw′6 ≤ 0,

3.5938540.867483 − xw6 ≤ 0,

3.5938540.508069 − xw′7 ≤ 0,

3.5938541 − xw7 ≤ 0, and

wi, w′i ≥ 0, 3 ≤ i ≤ 8.

A full list of constraints used in the algorithm of the TSP in degree-8 graphs written

in our Matlab code are given in Appendix E.

7.8 Overall Analysis

As a result, the branching factor of each of the branching vectors from cases c-1 to c-29 and

the switching constraints of Eq. (7.52) does not exceed 4.148493, and the tight constraints

are in conditions c-10, c-21, c-23, c-25 and the switching constraints of Eq. (7.52). This

completes a proof of Theorem 4.

Page 176: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Chapter 8

Conclusion

8.1 Conclusion

We have presented exact algorithms specialized for the TSP in degree-5, 6, 7 and 8

graphs. Our algorithms are simple branching algorithms, following the branch-and-reduce

paradigm, and they operate in space which is polynomial of the size of an input in-

stance. These algorithms are a result of a progressive track of research by Md Yunos et

al. [36, 37, 38, 39] on the TSP in degree-limited graphs. Based on a polynomial-space

algorithm for the TSP in degree-4 graphs due to Xiao and Nagamochi [50], Md Yunos et

al. have proposed exact polynomial-space algorithms for the TSP in degree-5 graphs [36],

degree-6 graphs [37], degree-7 graphs [38] and degree-8 graph [39]. In fact, for i = 5, 6, 7, 8,

none of the results on the TSP in degree-i graphs is possible without a detailed knowledge

of the mechanism behind the result on the TSP in degree-(i− 1) graphs.

We used the measure-and-conquer method for the analysis of the running time of the

proposed algorithm. We have obtained an upper bound of O∗(2.4723n) for the TSP in

degree-5 graphs [36], O∗(3.0335n) for the TSP in degree-6 graphs [37] and O∗(3.5939n)

for the TSP in degree-7 graphs [38], where n is the number of vertices in a given instance.

These results compare favorably with the polynomial-space TSP algorithm for general

graphs given by Gurevich and Shelah [25], which runs in O∗(4nnlogn) time.

We also obtained an upper bound of O∗(4.1485n) for the TSP in degree-8 graphs [39]

and this result has breached the time bound of O∗(4n). This result does not give an

advantageous algorithm for the TSP in degree-8 graphs over Gurevich and Shelah’s algo-

rithm, but gives a limit as to the applicability of our choice of branching rules and analysis

method for designing a polynomial-space exact algorithm for the TSP in graphs of limited

degree.

For i = 3, 4, . . . , 8, Figure 8.1 shows the time complexity for general TSP and summa-

151

Page 177: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

152 8. Conclusion

rizes the currently lowest time complexity for the TSP in degree-i graphs. Note that the

case of i = 2 is trivial and can be solved in polynomial, i.e., O∗(1) time.

1.2312

1.6920

2.4723

3.0335

3.5939

4.1485

0.0000

0.5000

1.0000

1.5000

2.0000

2.5000

3.0000

3.5000

4.0000

4.5000

TSP3 TSP4 TSP5 TSP6 TSP7 TSP8

The base of the best known polynomial-space TSP algorithm for general graphs

The base of the best known polynomial-space TSP algorithm for degree bounded graphs

Figure 8.1: The base of the exponential running time bound of the best known polynomial-

space algorithm for the TSP in general graphs versus the base of the exponential running

time bound of the best known polynomial-space algorithms developed specifically for the

TSP in graphs with bounded degree.

8.2 Discussion

It remains an open question whether time bounds can be further improved by a modified

analysis technique, or by a careful re-examination of the branching rules. Figure 8.1 shows

that there has been a linear increase in the lowest known time complexity of the TSP in

degree-3 to degree-8 graphs, but the lowest known time complexity of the TSP in degree-

3 and degree-4 graphs fall slightly below the linear line. This is a remarkable outcome

where we can directly compare the tendency of algorithms’ time complexity for the TSP

in degree-3 to degree-4 graphs and the tendency of algorithms’ time complexity for the

TSP in degree-5 to degree-8 graphs.

As described in Chapter 4 to Chapter 7, the algorithms for the TSP in degree-5 to

degree-8 graphs use a natural and simple branching algorithm with a basic strategy for

assigning priority in a set of branching rules. In contrast, the algorithms for the TSP in

degree-3 and degree-4 graphs have undergone a more in-depth investigation and undergone

Page 178: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

8. Conclusion 153

a series of improvements, and the lowest known time complexity of the TSP in degree-3 and

degree-4 graphs use a sophisticated scheme of branching rules. Thus, this is one important

point for future research. This means that in the quest for designing polynomial-space

exact algorithms for the TSP in graphs of limited degree, possibly different priority list

of the branching rules, or improving the branching rules with a sophisticated scheme and

analysis method should be sought for in order to achieve better results.

Indeed, it would be most interesting to obtain a polynomial-space algorithm with a

better running time as compared to Figure 8.1, or even show that this cannot be achieved.

Page 179: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

154 8. Conclusion

Page 180: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Bibliography

[1] Akiba, T., Iwata, Y. : Branch-and-reduce Exponential/FPT Algorithms in Practice:

A Case Study of Vertex Cover. In: Theoretical Computer Science, Vol. 609, Part 1,

pp. 211–225 (2016)

[2] Angel, R. D., Caudle, W. L., Noonan, R., Whinston, A. : Computer-Assisted School

Bus Scheduling. In: Management Science, Vol. 18, No. 6, pp. B279–B288 (1972)

[3] Arora, S. : PTAS for Euclidean Traveling Salesman and Other Geometric Problems.

In: Journal of the ACM, Vol. 45, No. 5, pp. 753–782 (1998)

[4] Asadpour, A., Goemans, M. X., Madry, A., Oveis Gharan, S., Saberi, A. : An

O(log n/ log logn)-approximation Algorithm for the Asymmetric Traveling Salesman

Problem. In: Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete

Algorithms (SODA 2010), pp. 379–389 (2010)

[5] Basart, J. M., Huguet, L. : An Approximation Algorithm for the TSP. In: Information

Processing Letters, Vol. 31, pp. 77–81 (1989)

[6] Bellman, R. : Combinatorial Processes and Dynamic Programming. In: Proceedings

of the 10th Symposium in Applied Mathematics, Amer. Math. Soc., Providence, RI,

(1960)

[7] Berman, P., Karpinski, M. : 87 -approximation Algorithm for (1, 2)-TSP. In: Pro-

ceedings of the 17th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA

2006), pp. 641–648 (2006)

[8] Bland, R. E., Shallcross, D. E. : Large Traveling Salesman Problem Arising from

Experiments in X-ray Crystallography: A Preliminary Report on Computation. In:

Operations Research Letters, Vol. 8, No. 3, pp. 125–128 (1989)

[9] Blaser, M. : A New Approximation Algorithm for the Asymmetric TSP with triangle

inequality. In: Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete

Algorithms (SODA 2003), pp. 638–645 (2003)

[10] Bodlaender, H.L., Cygan, M., Kratsch, S., Nederlof, J. : Deterministic Single Expo-

nential Time Algorithms for Connectivity Problems Parameterized by Treewidth. In:

Information and Computation, Vol. 243, pp. 86–111 (2015)

155

Page 181: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

156 Bibliography

[11] Christofides, N. : Worst-case Analysis of a New Heuristic for the Traveling Salesman

Problem. In: Technical Report 388, Graduate School of Industrial Administration,

Carnegie-Mellon University, Pittsburgh (1976)

[12] Cook, S. A. : The Complexity of Theorem-Proving Procedures. In: Proceedings of 3rd

Annual ACM Symposium Theory of Computing, pp. 151–158 (1971)

[13] Cook, W. J. : In Pursuit of the Traveling Salesman Problem. Princeton University

Press (2012)

[14] Cormen, T. H., Leiserson, C. E., Rivest, R. L., Stein, C. : Introduction to Algorithms.

The MIT press (2009)

[15] Dantzig, G. B., Fulkerson, D. R., Johnson, S. M. : Solution of a Large Scale Traveling-

Salesman Problem. In: Operations Research, Vol. 2, pp. 393–410 (1954)

[16] Dasgupta, S., Papadimitriou, C., Vazirani, U. : Algorithms. McGraw Hill Higher

Education (2006)

[17] Eppstein, D. : Quasiconvex Analysis of Backtracking Algorithms. In: Proceedings

of The 15th Annual ACM-SIAM Symposium On Discrete Algorithms (SODA 2004),

ACM Press, pp. 781–790 (2004)

[18] Eppstein, D. : The Traveling Salesman Problem for Cubic Graphs. In: Journal of

Graph Algorithms and Applications, Vol. 11, No. 1, pp. 61–81 (2007)

[19] Fomin, F. V., Grandoni, F, Kratsch, D. : A Measure and Conquer Approach for the

Analysis of Exact Algorithms. In: Journal of the ACM, Vol. 56, No. 6, Article 25

(2009)

[20] Fomin, F. V., Kratsch, D. : Exact Exponential Algorithms. Springer (2010)

[21] Garey, M. R., Johnson, D. S. : Computers and Intractability: A Guide to the Theory

of NP-Completeness. W. H. Freeman and Company (1979)

[22] Gebauer, H. : Finding and Enumerating Hamilton Cycles in 4-regular Graphs. In:

Theoretical Computer Science, Vol. 412, No. 35, pp. 4579–4591 (2011)

[23] Giorgi, G., Guerraggio, A., Thierfelder, J. : Mathematics of Optimization: Smooth

and Nonsmooth Case. Elsevier (2004)

[24] Grotschel, M., Junger, M., Reinelt, G. : Optimal Control of Plotting and Drilling

Machines: A Case Study. In: Mathematical Methods of Operations Research, Vol.

35, No. 1, pp. 61–84 (1991)

[25] Gurevich, Y., Shelah, S. : Expected Computation Time for Hamiltonian Path Problem.

In: SIAM Journal on Computing, Vol. 16, No. 3, pp. 486–502 (1987)

[26] Held, M., Karp, R. M. : A Dynamic Programming Approach to Sequencing Problems.

In: Journal of the Society for Industrial and Applied Mathematics (SIAM), Vol. 10,

No. 1, pp. 196–210 (1962)

Page 182: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Bibliography 157

[27] Iwama, K., Nakashima, T. : An Improved Exact Algorithm for Cubic Graph TSP. In:

Computing and Combinatorics, Lecture Notes in Computer Science, Vol. 4598, pp.

108–117 (2007)

[28] Johnson, D. S., McGeoch, L. A., Rothberg, E. E. : Asymptotic Experimental Analysis

for the Held-Karp Traveling Salesman Bound. In: Proceedings of the Annual ACM-

SIAM Symposium on Discrete Algorithms, pp. 341–350 (1996)

[29] Junger, M., Reinelt, G., Rinaldi, G. : The Traveling Salesman Problem. In: Hand-

books in Operations Research and Management Science, Vol. 7, Chapter 4, pp. 225–

330 (1995)

[30] Jungnickel, D. : Graphs, Networks and Algorithms. Springer (2005)

[31] Kaplan, H., Lewenstein, M., Shafrir, N., Sviridenko, M. : Approximation Algorithms

for Asymmetric TSP by decomposing Directed Regular Multigraphs. In: Journal of

the ACM, Vol. 52, pp. 602–626 (2005)

[32] Laporte, G. : The Traveling Salesman Problem: An Overview of Exact and Approxi-

mate Algorithms. In: European Journal of Operational Research, Vol. 59, pp. 231–247

(1992)

[33] Lenstra, J. K., Rinnooy Kan, A. H. G. : Some Simple Applications of the Traveling

Salesman Problem. In: Journal of the Operational Research Society (JORS), Vol.

26, No. 4, pp. 717–733 (1975)

[34] Lin, S., Kernighan, B. W. : An Effective Heuristic Algorithm for the Traveling Sales-

man Problem. In: Operations Research, Vol. 21, No. 2, pp. 498–516 (1973)

[35] Liskiewicz, M., Schuster, M.R. : A New Upper Bound for the Traveling Salesman

Problem in Cubic Graphs. In: Journal of Discrete Algorithms, Vol. 27, pp. 1–20

(2014)

[36] Md Yunos, N., Shurbevski, A., Nagamochi, H. : A Polynomial-space Exact Algorithm

for TSP in Degree-5 Graphs. In: Proceedings of the 12th International Symposium

on Operations Research and Its Applications in Engineering, Technology and Man-

agement (ISORA 2015), pp. 45–58 (2015)

[37] Md Yunos, N., Shurbevski, A., Nagamochi, H. : A Polynomial-space Exact Algorithm

for TSP in Degree-6 Graphs. In: Discrete and Computation Geometry and Graphs,

Lecture Notes in Computer Science, Vol. 9943, pp. 228–240 (2016)

[38] Md Yunos, N., Shurbevski, A., Nagamochi, H. : A Polynomial-space Exact Algorithm

for TSP in Degree-7 Graphs. In: Proceedings of the 9th Annual Meeting of Asian

Association for Algorithms and Computation (AAAC 2016), pp. 49 (2016)

[39] Md Yunos, N., Shurbevski, A., Nagamochi, H. : A Polynomial-space Exact Algorithm

for TSP in Degree-8 Graphs. In: Proceedings of the 19th Japan-Korea Joint Workshop

on Algorithms and Computation (WAAC 2016), Session 1, Talk 3 (2016)

Page 183: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

158 Bibliography

[40] Mucha, M. : 139 -approximation for Graphic TSP. In: Proceedings of the 29th Inter-

national Symposium on Theoretical Aspects of Computer Science, pp. 30–41 (2012)

[41] Papadimitriou, C. H., Vempala, S. : On the Approximability of Traveling Salesman

Problem. In: Combinatorica, Vol. 26, No. 1, pp. 101–120 (2006)

[42] Ratliff, H. D., Rosenthal, A. S. : Order-Picking in a Rectangular Warehouse: A

Solvable Case of the Traveling Salesman Problem. In: Operations Research, Vol. 31,

No. 3, pp. 507–521 (1983)

[43] Rubin, F. : A Search Procedure for Hamilton Paths and Circuits. In: Journal of the

ACM, Vol. 21, No. 4, pp. 576–580 (1974)

[44] Schrijver, A. : Theory of Linear and Integer Programming. John Wiley & Sons (1998)

[45] Sedgewick, R. : Algorithms in C. Addison-Wesley (2014)

[46] Vazirani, V. V. : Approximation Algorithms. Springer (2001)

[47] Vygen, J. : New Approximation Algorithms for the TSP. In: Optima: Mathematical

Optimization Society Newsletter, Vol. 90 (2012)

[48] Williamson, D. P., Shmoys, D. B. : The Design of Approximation Algorithms. Cam-

bridge University Press (2011).

[49] Xiao, M., Nagamochi, H. : An Exact Algorithm for TSP in Degree-3 Graphs via

Circuit Procedure and Amortization on Connectivity Structure. In: Algorithmica, Vol.

74, No. 2, pp. 713–741 (2016)

[50] Xiao, M., Nagamochi, H. : An Improved Exact Algorithm for the TSP in Graphs of

Maximum Degree 4. In: Theory of Computing Systems, Vol. 58, No. 2, pp. 241–272

(2016)

[51] Xiao, M., Nagamochi, H. : Exact Algorithms for Maximum Independent Set. In:

Algorithms and Computation, Lecture Notes in Computer Science, Vol. 8283, pp.

328–338 (2013)

Page 184: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Appendix A: List of Author’s Work

Conference Proceedings

1. Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi Nagamochi. A Polynomial-

space Exact Algorithm for TSP in Degree-5 Graphs. In: 12th International Sympo-

sium on Operations Research and Its Applications in Engineering, Technology and

Management (ISORA 2015), pp. 45–58, August 22-24, 2015 in Luoyang, China.

2. Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi Nagamochi. A Polynomial-

space Exact Algorithm for TSP in Degree-6 Graphs. In: The 18th Japan Conference

on Discrete and Computational Geometry and Graphs (JCDCGG 2015), pp. 102–

103, September 14-16, 2015 in Kyoto, Japan.

3. Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi Nagamochi. A Polynomial-

space Exact Algorithm for TSP in Degree-7 Graphs. In: The 9th Annual Meeting

of Asian Association for Algorithms and Computation (AAAC 2016), pp. 49, May

14-16, 2016, in Taipei, Taiwan.

4. Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi Nagamochi. A Polynomial-

space Exact Algorithm for TSP in Degree-8 Graphs. In: The 19th Japan-Korea Joint

Workshop on Algorithms and Computation (WAAC 2016), Paper 1-3, August 30-31,

2016, in Hakodate, Japan.

5. Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi Nagamochi. A Polynomial-

space Exact Algorithm for TSP in Degree-6 Graphs. In: Discrete and Computation

Geometry and Graphs, Lecture Notes in Computer Science, Vol. 9943, pp. 228–240

(2016).

159

Page 185: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

160 A. List of Author’s Work

Page 186: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Appendix B: Matlab Code for the TSP in

Degree-5 Graphs

Objective function:

1 f u n c t i o n f = o b j e c t i v e f u n c t i o n ( x )

2 f = x (1 ) ;

3 end

Lower bound and upper bound constraints:

1 l b = [1 z e r o s (1 , 6) ] ’ ;

2 ub = [20 ones (1 , 6) ] ’ ;

Main constraints:

1 f u n c t i o n [ c , ceq ] = cond ( x )

2

3 % A l i a s e s f o r v a r i a b l e s

4 % Note : f u n c t i o n s g i v en x

5 a = @( x ) x (1 ) ; % branch i ng f a c t o r

6 w5 = @( x ) x (2 ) ; % w5

7 w5p = @( x ) x (3 ) ; % w5 ’

8 w4 = @( x ) x (4 ) ; % w4

9 w4p = @( x ) x (5 ) ; % w4 ’

10 w3 = @( x ) x (6 ) ; % w3

11 w3p = @( x ) x (7 ) ; % w3 ’

12 m1 = @( x ) min ( [ w3p( x ) , w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4(x ) ] ) ;

13 m2 = @( x ) min ( [ w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) ] ) ;

14 m3 = @( x ) min ( [ w3p( x ) , w3( x )−w3p( x ) , w4p( x ) , w4( x )−w4p( x ) , w5p( x ) , w5( x )−w5p( x ) ] ) ;

15 m4 = @( x ) min ( [ w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) ] ) ;

16 m5 = @( x ) min ( [ w4p( x ) , w4( x ) , w5p( x )−w3p( x ) , w5( x )−w3( x ) ] ) ;

17 m6 = @( x ) min ( [ w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) ] ) ;

18 m7 = @( x ) min ( [ w5p( x )−w4p( x ) , w5( x )−w4( x ) ] ) ;

19 m8 = @( x ) min ( [ w5p( x )−w3p( x ) , w5( x )−w3( x ) ] ) ;

20 m9 = @( x ) min ( [ w3p( x ) , w3( x )−w3p( x ) , w4p( x ) , w4( x )−w4p( x ) , w5( x )−w5p( x ) ] ) ;

21 m10 = @( x ) min ( [ w3p( x ) , w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5( x )−w4( x ) ] ) ;

22

23

24 %% FIRST : Branch ing r u l e s around f5 v e r t i c e s %%

25

26 % Case c−1:

27 a lpha1 = [ w3p( x ) ; % f3 v e r t e x

161

Page 187: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

162 B. Matlab Code for the TSP in Degree-5 Graphs

28 w3( x ) ; % u3 v e r t e x

29 w4p( x ) − w3p( x ) ; % f4 v e r t e x

30 w4( x ) − w3( x ) ; % u4 v e r t e x

31 w5p( x ) − w4p( x ) ; % f5 v e r t e x

32 w5( x ) − w4( x ) . . . % u5 v e r t e x

33 ] ;

34

35 beta1 = [ w3p( x ) ; % f3 v e r t e x

36 w3( x ) − w3p( x ) ; % u3 v e r t e x

37 w4p( x ) ; % f4 v e r t e x

38 w4( x ) − w4p( x ) ; % u4 v e r t e x

39 w5p( x ) ; % f5 v e r t e x

40 w5( x ) − w5p( x ) . . . % u5 v e r t e x

41 ] ;

42

43 % i n s e r t a lpha1 and beta1 i n b1 :

44 b1 = [ w5p( x ) + w3p( x ) + 3∗m1( x ) + alpha1 , . . . % f o r c e

45 w5p( x ) − w4p( x ) + w3p( x ) + beta1 . . . % d e l e t e

46 ] ;

47

48

49 % Case c−2:

50 a lpha2 = [ w4p( x ) ; % f4 v e r t e x

51 w4( x ) ; % u4 v e r t e x

52 w5p( x ) − w3p( x ) ; % f5 v e r t e x

53 w5( x ) − w3( x ) . . . % u5 v e r t e x

54 ] ;

55

56 beta2 = [ w4p( x ) ; % f4 v e r t e x

57 w4( x ) − w4p( x ) ; % u4 v e r t e x

58 w5p( x ) ; % f5 v e r t e x

59 w5( x ) − w5p( x ) . . . % u5 v e r t e x

60 ] ;

61

62 % i n s e r t a lpha2 and beta2 i n b2 :

63 b2 = [ w5p( x ) + w3p( x ) + 2∗m1( x ) + alpha2 , . . . % f o r c e

64 w5p( x ) − w4p( x ) + w3p( x ) + beta2 . . . % d e l e t e

65 ] ;

66

67

68 % Case c−3:

69 b3 = [ w5p( x ) + w3( x ) − w3p( x ) + 3∗m2( x ) , . . . % f o r c e

70 w5p( x ) − w4p( x ) + w3( x ) + 2∗m3( x ) . . . % d e l e t e

71 ] ;

72

73

74 % Case c−4:

75 b4 = [ w5p( x ) + w4p( x ) + 3∗m4( x ) + 2∗m1( x ) , . . . % f o r c e

76 w5p( x ) − w3p( x ) . . . % d e l e t e

77 ] ;

78

79

80 % Case c−5:

81 % c−5( I ) :82 b5 = [ w5p( x ) + w4p( x ) + m5( x ) + 2∗m4( x ) + m1( x ) , . . . % f o r c e

83 w5p( x ) − w3p( x ) . . . % d e l e t e

84 ] ;

Page 188: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

B. Matlab Code for the TSP in Degree-5 Graphs 163

85

86 % c−5( I I ) :87 b5 = [ b5 ;

88 w5p( x ) + w4p( x ) + m4( x ) + 2∗m5( x ) , . . . % f o r c e

89 w5p( x ) − w3p( x ) . . . % d e l e t e

90 ] ;

91

92

93 % Case c−6:

94 b6 = [ w5p( x ) + w4( x ) − w4p( x ) + 3∗m6( x ) , . . . % f o r c e

95 w5p( x ) − w4p( x ) + w4( x ) − w3( x ) . . . % d e l e t e

96 ] ;

97

98

99 % Case c−7:

100 b7 = [ 2∗w5p( x ) + 6∗m7( x ) , . . . % f o r c e

101 2∗w5p( x ) − 2∗w4p( x ) . . . % d e l e t e

102 ] ;

103

104

105 % Case c−8:

106 % c−8( I ) :107 b8 = [ 2∗w5p( x ) + m8( x ) + 4∗m7( x ) , . . . % f o r c e

108 2∗w5p( x ) − 2∗w4p( x ) . . . % d e l e t e

109 ] ;

110

111 % c−8( I I ) :112 b8 = [ b8 ;

113 2∗w5p( x ) + 2∗m7( x ) + 2∗m8( x ) , . . . % f o r c e

114 2∗w5p( x ) − 2∗w4p( x ) . . . % d e l e t e

115 ] ;

116

117 % c−8( I I I ) :118 b8 = [ b8 ;

119 2∗w5p( x ) + 3∗m8( x ) , . . . % f o r c e

120 2∗w5p( x ) − 2∗w4p( x ) . . . % d e l e t e

121 ] ;

122

123

124 % Case c−9:

125 b9 = [ 4∗w5( x ) − 3∗w4( x ) , . . . % f o r c e

126 w5p( x ) − w4p( x ) + w5( x ) − w4( x ) . . . % d e l e t e

127 ] ;

128

129 %% FINISH f5 CASES %%

130

131

132 %% SECOND: Branch ing r u l e s around u5 v e r t i c e s %%

133

134 % Case c−10:

135 a lpha3 = [ w3p( x ) ; % f3 v e r t e x

136 w3( x ) ; % u3 v e r t e x

137 w4p( x ) − w3p( x ) ; % f4 v e r t e x

138 w4( x ) − w3( x ) ; % u4 v e r t e x

139 w5( x ) − w4( x ) . . . % u5 v e r t e x

140 ] ;

141

Page 189: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

164 B. Matlab Code for the TSP in Degree-5 Graphs

142 beta3 = [ w3p( x ) ; % f3 v e r t e x

143 w3( x ) − w3p( x ) ; % u3 v e r t e x

144 w4p( x ) ; % f4 v e r t e x

145 w4( x ) − w4p( x ) ; % u4 v e r t e x

146 w5( x ) − w5p( x ) . . . % u5 v e r t e x

147 ] ;

148

149 b10 = [ w5( x ) − w5p( x ) + w3p( x ) + alpha3 , . . . % f o r c e

150 w5( x ) − w4( x ) + w3p( x ) + beta3 . . . % d e l e t e

151 ] ;

152

153

154 % Case c−11:

155 b12 = [ w5( x ) − w5p( x ) + w3( x ) − w3p( x ) , . . . % f o r c e

156 w5( x ) − w4( x ) + w3( x ) + 2∗m9( x ) . . . % d e l e t e

157 ] ;

158

159

160 % Case c−12:

161 b11 = [ w5( x ) − w5p( x ) + w4p( x ) + 2∗m10( x ) , . . . % f o r c e

162 w5( x ) − w4( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e

163 ] ;

164

165

166 % Case c−13:

167 b13 = [ w5( x ) − w5p( x ) + w4( x ) − w4p( x ) , . . . % f o r c e

168 w5( x ) − w3( x ) . . . % d e l e t e

169 ] ;

170

171

172 % Case c−14:

173 b14 = [ 2∗w5( x )−2∗w5p( x ) , . . . % f o r c e

174 2∗w5( x )−2∗w4( x ) . . . % d e l e t e

175 ] ;

176

177 %% FINISH u5 CASES %%

178

179 % Let ’ s make a s i n g l e b r anch i ng v e c t o r w i th 2 b ranche s

180 bb = [ b1 ; b2 ; b3 ; b4 ; b5 ; b6 ; b7 ; b8 ; b9 ; b10 ; b11 ; b12 ; b13 ; b14 ] ;

181

182

183 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

184 %% FINISHED WITH THE BRANCHING VECTORS. NOW HAVE TO BUILD CONSTRAINTS %%

185 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

186

187 % Recu r r enc e s

188 % I n e q u a l i t y c o n d i t i o n s

189 c = [ −1 + a ( x ) .ˆ(−bb ( : , 1 ) ) + a ( x ) .ˆ(−bb ( : , 2 ) ) ; % A l l b r anch i ng v e c t o r s from c

−1 to c−14190 1 .69193ˆ(0 .21968/w3p( x ) ) − a ( x ) ; % Sw i t ch i ng to TSP4

191 1 .69193ˆ(0 .4554/w3( x ) ) − a ( x ) ;

192 1 .69193ˆ(0 .59804/w4p( x ) ) − a ( x ) ;

193 1 .69193ˆ(1/w4( x ) ) − a ( x ) ;

194 w5p( x ) − w5( x ) ; % b a s i c i n e q u a l i t i e s

195 w4p( x ) − w4( x ) ;

196 w3p( x ) − w3( x ) ;

197 w4( x ) − w5( x ) ;

Page 190: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

B. Matlab Code for the TSP in Degree-5 Graphs 165

198 w3( x ) − w5( x ) ;

199 w3( x ) − w4( x ) ;

200 w4p( x ) − w5p( x ) ;

201 w3p( x ) − w5p( x ) ;

202 w3p( x ) − w4p( x ) ;

203 ] ;

204

205

206 % No e q u a l i t y c o n d i t i o n s

207 ceq = [ ] ;

208

209 end

Page 191: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

166 B. Matlab Code for the TSP in Degree-5 Graphs

Page 192: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Appendix C: Matlab Code for the TSP in

Degree-6 Graphs

Objective function:

1 f u n c t i o n f = o b j e c t i v e f u n c t i o n ( x )

2 f = x (1 ) ;

3 end

Lower bound and upper bound constraints:

1 l b = [1 z e r o s (1 , 8) ] ’ ;

2 ub = [20 ones (1 , 8) ] ’ ;

Main constraints:

1 f u n c t i o n [ c , ceq ] = c o n d i t i o n s ( x )

2

3 % A l i a s e s f o r v a r i a b l e s

4 % Note : f u n c t i o n s g i v en x

5 a = @( x ) x (1 ) ; % branch i ng f a c t o r

6 w6 = @( x ) x (2 ) ; % w6

7 w6p = @( x ) x (3 ) ; % w6 ’

8 w5 = @( x ) x (4 ) ; % w5

9 w5p = @( x ) x (5 ) ; % w5 ’

10 w4 = @( x ) x (6 ) ; % w4

11 w4p = @( x ) x (7 ) ; % w4 ’

12 w3 = @( x ) x (8 ) ; % w3

13 w3p = @( x ) x (9 ) ; % w3 ’

14 m1 = @( x ) min ( [ w3p( x ) , w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4(x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) ] ) ;

15 m2 = @( x ) min ( [ w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p(

x )−w5p( x ) , w6( x )−w5( x ) ] ) ;

16 m3 = @( x ) min ( [ w3p( x ) , w3( x )−w3p( x ) , w4p( x ) , w4( x )−w4p( x ) , w5p( x ) , w5( x )−w5p( x ) ,

w6p( x ) , w6( x )−w6p( x ) ] ) ;

17 m4 = @( x ) min ( [ w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p(

x ) , w6( x )−w5( x ) ] ) ;

18 m5 = @( x ) min ( [ w4p( x ) , w4( x ) , w5p( x )−w3p( x ) , w5( x )−w3( x ) , w6p( x )−w4p( x ) , w6( x )−w4(x ) ] ) ;

19 m6 = @( x ) min ( [ w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x )] ) ;

20 m7 = @( x ) min ( [ w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) ] ) ;

21 m8 = @( x ) min ( [ w5p( x )−w3p( x ) , w5( x )−w3( x ) , w6p( x )−w4p( x ) , w6( x )−w4( x ) ] ) ;

22 m9 = @( x ) min ( [ w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) ] ) ;

167

Page 193: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

168 C. Matlab Code for the TSP in Degree-6 Graphs

23 m10 = @( x ) min ( [ w6p( x )−w5p( x ) , w6( x )−w5( x ) ] ) ;

24 m11 = @( x ) min ( [ w6p( x )−w4p( x ) , w6( x )−w4( x ) ] ) ;

25 m12 = @( x ) min ( [ w3p( x ) , w3( x )−w3p( x ) , w4p( x ) , w4( x )−w4p( x ) , w5p( x ) , w5( x )−w5p( x ) ,

w6( x )−w6p( x ) ] ) ;

26 m13 = @( x ) min ( [ w3p( x ) , w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6( x )−w5( x ) ] ) ;

27

28

29 %% FIRST : Branch ing r u l e s around f6 v e r t i c e s %%

30

31 % Case c−1:

32 % c−1(1) ( a ) : t6 i s an f3 v e r t e x

33 a lpha1 = [ w3p( x ) ; % f3 v e r t e x

34 w3( x ) − w3p( x ) ; % u3 v e r t e x

35 w4p( x ) ; % f4 v e r t e x

36 w4( x ) − w4p( x ) ; % u4 v e r t e x

37 w5p( x ) ; % f5 v e r t e x

38 w5( x ) − w5p( x ) ; % u5 v e r t e x

39 w6p( x ) ; % f6 v e r t e x

40 w6( x ) − w6p( x ) . . . % u6 v e r t e x

41 ] ;

42

43 beta1 = [ w3p( x ) ; % f3 v e r t e x

44 w3( x ) ; % u3 v e r t e x

45 w4p( x ) − w3p( x ) ; % f4 v e r t e x

46 w4( x ) − w3( x ) ; % u4 v e r t e x

47 w5p( x ) − w4p( x ) ; % f5 v e r t e x

48 w5( x ) − w4( x ) ; % u5 v e r t e x

49 w6p( x ) − w5p( x ) ; % f6 v e r t e x

50 w6( x ) − w5( x ) . . . % u6 v e r t e x

51 ] ;

52

53 % i n s e r t a lpha1 and beta1 i n b1 :

54 b1 = [ w6p( x ) + 2∗w3p( x ) + 4∗m1( x ) + alpha1 , . . . % f o r c e ( e )

55 w6p( x ) − w5p( x ) + 2∗w3p( x ) + beta1 . . . % d e l e t e ( e )

56 ] ;

57

58 % c−1(1) ( b ) : t6 i s an f3 v e r t e x

59 a lpha2 = [ w3p( x ) ; % f3 v e r t e x

60 w3( x ) ; % u3 v e r t e x

61 w4p( x ) ; % f4 v e r t e x

62 w4( x ) − w3p( x ) ; % u4 v e r t e x

63 w5p( x ) ; % f5 v e r t e x

64 w5( x ) − w4p( x ) ; % u5 v e r t e x

65 w6p( x ) ; % f6 v e r t e x

66 w6( x ) − w5p( x ) . . . % u6 v e r t e x

67 ] ;

68

69 beta2 = [ w3p( x ) ; % f3 v e r t e x

70 w3( x ) ; % u3 v e r t e x

71 w4p( x ) − w3p( x ) ; % f4 v e r t e x

72 w4( x ) − w3( x ) ; % u4 v e r t e x

73 w5p( x ) − w4p( x ) ; % f5 v e r t e x

74 w5( x ) − w4( x ) ; % u5 v e r t e x

75 w6p( x ) − w5p( x ) ; % f6 v e r t e x

76 w6( x ) − w5( x ) . . . % u6 v e r t e x

77 ] ;

Page 194: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

C. Matlab Code for the TSP in Degree-6 Graphs 169

78

79 b1 = [ b1 ;

80 w6p( x ) + 2∗w3p( x ) + 3∗m1( x ) + alpha2 , . . . % f o r c e ( e )

81 w6p( x ) + 2∗w3p( x ) + beta2 . . . % d e l e t e ( e )

82 ] ;

83

84 % c−1(2) : t6 i s not an f3 v e r t e x

85 a lpha3 = [ w3( x ) ; % u3 v e r t e x

86 w4p( x ) − w3p( x ) ; % f4 v e r t e x

87 w4( x ) − w3( x ) ; % u4 v e r t e x

88 w5p( x ) − w4p( x ) ; % f5 v e r t e x

89 w5( x ) − w4( x ) ; % u5 v e r t e x

90 w6p( x ) − w5p( x ) ; % f6 v e r t e x

91 w6( x ) − w5( x ) . . . % u6 v e r t e x

92 ] ;

93

94 beta3 = [ w3( x ) − w3p( x ) ; % u3 v e r t e x

95 w4p( x ) ; % f4 v e r t e x

96 w4( x ) − w4p( x ) ; % u4 v e r t e x

97 w5p( x ) ; % f5 v e r t e x

98 w5( x ) − w5p( x ) ; % u5 v e r t e x

99 w6p( x ) ; % f6 v e r t e x

100 w6( x ) − w6p( x ) . . . % u6 v e r t e x

101 ] ;

102

103 % i n s e r t a lpha2 and beta2 i n b1 :

104 b1 = [ b1 ;

105 w6p( x ) + w3p( x ) + 4∗m1( x ) + alpha3 , . . . % f o r c e ( e )

106 w6p( x ) − w5p( x ) + w3p( x ) + beta3 . . . % d e l e t e ( e )

107 ] ;

108

109

110 % Case c−2:

111 a lpha4 = [ w4p( x ) ; % f4 v e r t e x

112 w4( x ) ; % u4 v e r t e x

113 w5p( x ) − w3p( x ) ; % f5 v e r t e x

114 w5( x ) − w3( x ) ; % u5 v e r t e x

115 w6p( x ) − w4p( x ) ; % f6 v e r t e x

116 w6( x ) − w4( x ) . . . % u6 v e r t e x

117 ] ;

118

119 beta4 = [ w4p( x ) ; % f4 v e r t e x

120 w4( x ) − w4p( x ) ; % u4 v e r t e x

121 w5p( x ) ; % f5 v e r t e x

122 w5( x ) − w5p( x ) ; % u5 v e r t e x

123 w6p( x ) ; % f6 v e r t e x

124 w6( x ) − w6p( x ) . . . % u6 v e r t e x

125 ] ;

126

127 % i n s e r t a lpha3 and beta3 i n b2 :

128 b2 = [ w6p( x ) + w3p( x ) + 3∗m1( x ) + alpha4 , . . . % f o r c e ( e )

129 w6p( x ) − w5p( x ) + w3p( x ) + beta4 . . . % d e l e t e ( e )

130 ] ;

131

132

133 % Case c−3:

134 b3 = [ w6p( x ) + w3( x ) − w3p( x ) + 4∗m2( x ) , . . . % f o r c e ( e )

Page 195: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

170 C. Matlab Code for the TSP in Degree-6 Graphs

135 w6p( x ) − w5p( x ) + w3( x ) + 2∗m3( x ) . . . % d e l e t e ( e )

136 ] ;

137

138

139 % Case c−4:

140 b4 = [ w6p( x ) + w4p( x ) + 4∗m4( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

141 w6p( x ) − w5p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

142 ] ;

143

144

145 % Case c−5:

146 % c−5( I ) :147 b5 = [ w6p( x ) + w4p( x ) + m5( x ) + 3∗m4( x ) + m1( x ) , . . . % f o r c e ( e )

148 w6p( x ) − w5p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

149 ] ;

150

151 % c−5( I I ) :152 b5 = [ b5 ;

153 w6p( x ) + w4p( x ) + 2∗m5( x ) + 2∗m4( x ) , . . . % f o r c e ( e )

154 w6p( x ) − w5p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

155 ] ;

156

157

158 % Case c−6:

159 b6 = [ w6p( x ) + w4( x ) − w4p( x ) + 4∗m6( x ) , . . . % f o r c e ( e )

160 w6p( x ) − w5p( x ) + w4( x ) − w3( x ) . . . % d e l e t e ( e )

161 ] ;

162

163

164 % Case c−7:

165 b7 = [ w6p( x ) + w5p( x ) + 4∗m7( x ) + 3∗m1( x ) , . . . % f o r c e ( e )

166 w6p( x ) − w4p( x ) . . . % d e l e t e ( e )

167 ] ;

168

169

170 % Case c−8:

171 % c−8( I ) :172 b8 = [ w6p( x ) + w5p( x ) + m8( x ) + 3∗m7( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

173 w6p( x ) − w4p( x ) . . . % d e l e t e ( e )

174 ] ;

175

176 % c−8( I I ) :177 b8 = [ b8 ;

178 w6p( x ) + w5p( x ) + 2∗m8( x ) + 2∗m7( x ) + m1( x ) , . . . % f o r c e ( e )

179 w6p( x ) − w4p( x ) . . . % d e l e t e ( e )

180 ] ;

181

182 % c−8( I I I ) :183 b8 = [ b8 ;

184 w6p( x ) + w5p( x ) + 3∗m8( x ) + m7( x ) , . . . % f o r c e ( e )

185 w6p( x ) − w4p( x ) . . . % d e l e t e ( e )

186 ] ;

187

188

189 % Case c−9:

190 b9 = [ w6p( x ) + w5( x ) − w5p( x ) + 4∗m9( x ) , . . . % f o r c e ( e )

191 w6p( x ) − w5p( x ) + w5( x ) − w4( x ) . . . % d e l e t e ( e )

Page 196: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

C. Matlab Code for the TSP in Degree-6 Graphs 171

192 ] ;

193

194

195 % Case c−10:

196 b10 = [ 2∗w6p( x ) + 8∗m10( x ) , . . . % f o r c e ( e )

197 2∗w6p( x ) − 2∗w5p( x ) . . . % d e l e t e ( e )

198 ] ;

199

200

201 % Case c−11:

202 % c−11( I ) :203 b11 = [ 2∗w6p( x ) + m11( x ) + 6∗m10( x ) , . . . % f o r c e ( e )

204 2∗w6p( x ) − 2∗w5p( x ) . . . % d e l e t e ( e )

205 ] ;

206

207 % c−11( I I ) :208 b11 = [ b11 ;

209 2∗w6p( x ) + 2∗m11( x ) + 4∗m10( x ) , . . . % f o r c e ( e )

210 2∗w6p( x ) − 2∗w5p( x ) . . . % d e l e t e ( e )

211 ] ;

212

213 % c−11( I I I ) :214 b11 = [ b11 ;

215 2∗w6p( x ) + 3∗m11( x ) + 2∗m10( x ) , . . . % f o r c e ( e )

216 2∗w6p( x ) − 2∗w5p( x ) . . . % d e l e t e ( e )

217 ] ;

218

219 % c−11( IV ) :

220 b11 = [ b11 ;

221 2∗w6p( x ) + 4∗m11( x ) , . . . % f o r c e ( e )

222 2∗w6p( x ) − 2∗w5p( x ) . . . % d e l e t e ( e )

223 ] ;

224

225

226 % Case c−12:

227 b12 = [ 5∗w6( x ) − 4∗w5( x ) , . . . % f o r c e ( e )

228 w6( x ) − w5( x ) + w6p( x ) − w5p( x ) . . . % d e l e t e ( e )

229 ] ;

230

231 %% FINISH f6 CASES %%

232

233

234 %% SECOND: Branch ing r u l e s around u6 v e r t i c e s %%

235

236 % Case c−13:

237 % c−13(1) : t7 i s an f3 v e r t e x

238 a lpha5 = [ w3p( x ) ; % f3 v e r t e x

239 w3( x ) − w3p( x ) ; % u3 v e r t e x

240 w4p( x ) ; % f4 v e r t e x

241 w4( x ) − w4p( x ) ; % u4 v e r t e x

242 w5p( x ) ; % f5 v e r t e x

243 w5( x ) − w5p( x ) ; % u5 v e r t e x

244 w6( x ) − w6p( x ) . . . % u6 v e r t e x

245 ] ;

246

247 beta5 = [ w3p( x ) ; % f3 v e r t e x

248 w3( x ) ; % u3 v e r t e x

Page 197: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

172 C. Matlab Code for the TSP in Degree-6 Graphs

249 w4p( x ) − w3p( x ) ; % f4 v e r t e x

250 w4( x ) − w3( x ) ; % u4 v e r t e x

251 w5p( x ) − w4p( x ) ; % f5 v e r t e x

252 w5( x ) − w4( x ) ; % u5 v e r t e x

253 w6( x ) − w5( x ) . . . % u6 v e r t e x

254 ] ;

255

256 % i n s e r t a lpha4 and beta4 i n b13 :

257 b13 = [ w6( x ) − w6p( x ) + 2∗w3p( x ) + alpha5 , . . . % f o r c e ( e )

258 w6( x ) − w5( x ) + 2∗w3p( x ) + beta5 . . . % d e l e t e ( e )

259 ] ;

260

261 % c−13(2) : t7 i s not an f3 v e r t e x

262 a lpha6 = [ w3( x ) ; % u3 v e r t e x

263 w4p( x ) − w3p( x ) ; % f4 v e r t e x

264 w4( x ) − w3( x ) ; % u4 v e r t e x

265 w5p( x ) − w4p( x ) ; % f5 v e r t e x

266 w5( x ) − w4( x ) ; % u5 v e r t e x

267 w6( x ) − w5( x ) . . . % u6 v e r t e x

268 ] ;

269

270 beta6 = [ w3( x ) − w3p( x ) ; % u3 v e r t e x

271 w4p( x ) ; % f4 v e r t e x

272 w4( x ) − w4p( x ) ; % u4 v e r t e x

273 w5p( x ) ; % f5 v e r t e x

274 w5( x ) − w5p( x ) ; % u5 v e r t e x

275 w6( x ) − w6p( x ) . . . % u6 v e r t e x

276 ] ;

277

278 % i n s e r t a lpha5 and beta5 i n b13 :

279 b13 = [ b13 ;

280 w6( x ) − w6p( x ) + w3p( x ) + alpha6 , . . . % f o r c e ( e )

281 w6( x ) − w5( x ) + w3p( x ) + beta6 . . . % d e l e t e ( e )

282 ] ;

283

284

285 % Case c−14:

286 b14 = [ w6( x ) − w6p( x ) + w3( x ) − w3p( x ) , . . . % f o r c e ( e )

287 w6( x ) − w5( x ) + w3( x ) + 2∗m12( x ) . . . % d e l e t e ( e )

288 ] ;

289

290

291 % Case c−15:

292 b15 = [ w6( x ) − w6p( x ) + w4p( x ) + 2∗m13( x ) , . . . % f o r c e ( e )

293 w6( x ) − w5( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

294 ] ;

295

296

297 % Case c−16:

298 b16 = [ w6( x ) − w6p( x ) + w4( x ) − w4p( x ) , . . . % f o r c e ( e )

299 w6( x ) − w5( x ) + w4( x ) − w3( x ) . . . % d e l e t e ( e )

300 ] ;

301

302

303 % Case c−17:

304 b17 = [ w6( x ) − w6p( x ) + w5p( x ) + 3∗m13( x ) , . . . % f o r c e ( e )

305 w6( x ) − w5( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

Page 198: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

C. Matlab Code for the TSP in Degree-6 Graphs 173

306 ] ;

307

308

309 % Case c−18:

310 b18 = [ w6( x ) − w6p( x ) + w5( x ) − w5p( x ) , . . . % f o r c e ( e )

311 w6( x ) − w4( x ) . . . % d e l e t e ( e )

312 ] ;

313

314

315 % Case c−19:

316 b19 = [ 2∗w6( x ) − 2∗w6p( x ) , . . . % f o r c e ( e )

317 2∗w6( x ) − 2∗w5( x ) . . . % d e l e t e ( e )

318 ] ;

319

320 %% FINISH u6 CASES %%

321

322 % Let ’ s make a s i n g l e b r anch i ng v e c t o r w i th 2 b ranche s

323 bb = [ b1 ; b2 ; b3 ; b4 ; b5 ; b6 ; b7 ; b8 ; b9 ; b10 ; b11 ; b12 ; b13 ; b14 ; b15 ; b16 ; b17 ;

b18 ; b19 ] ;

324

325

326 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

327 %% FINISHED WITH THE BRANCHING VECTORS. NOW HAVE TO BUILD CONSTRAINTS %%

328 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

329

330 % Recu r r enc e s

331 % I n e q u a l i t y c o n d i t i o n s

332 c = [ −1 + a ( x ) .ˆ(−bb ( : , 1 ) ) + a ( x ) .ˆ(−bb ( : , 2 ) ) ; % A l l b r anch i ng v e c t o r s from c

−1 to c−19333 2 .472232ˆ(0 .183471/w3p( x ) )−a ( x ) ; % Sw i t ch i ng to TSP5

334 2 .472232ˆ(0 .322196/w3( x ) )−a ( x ) ;335 2 .472232ˆ(0 .347458/w4p( x ) )−a ( x ) ;336 2 .472232ˆ(0 .700651/w4( x ) )−a ( x ) ;337 2 .472232ˆ(0 .491764/w5p( x ) )−a ( x ) ;338 2 .472232ˆ(1/w5( x ) )−a ( x ) ;339 w6p( x ) − w6( x ) ; % b a s i c i n e q u a l i t i e s

340 w5p( x ) − w5( x ) ;

341 w4p( x ) − w4( x ) ;

342 w3p( x ) − w3( x ) ;

343 w3( x ) − w4( x ) ;

344 w4( x ) − w5( x ) ;

345 w5( x ) − w6( x ) ;

346 w3( x ) − w5( x ) ;

347 w3( x ) − w6( x ) ;

348 w4( x ) − w6( x ) ;

349 w3p( x ) − w4p( x ) ;

350 w4p( x ) − w5p( x ) ;

351 w5p( x ) − w6p( x ) ;

352 w3p( x ) − w5p( x ) ;

353 w3p( x ) − w6p( x ) ;

354 w4p( x ) − w6p( x ) ;

355 ] ;

356

357

358 % No e q u a l i t y c o n d i t i o n s

359 ceq = [ ] ;

360

Page 199: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

174 C. Matlab Code for the TSP in Degree-6 Graphs

361 end

Page 200: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Appendix D: Matlab Code for the TSP in

Degree-7 Graphs

Objective function:

1 f u n c t i o n f = o b j e c t i v e f u n c t i o n ( x )

2 f = x (1 ) ;

3 end

Lower bound and upper bound constraints:

1 l b = [1 z e r o s (1 , 10) ] ’ ;

2 ub = [20 ones (1 , 10) ] ’ ;

Main constraints:

1 f u n c t i o n [ c , ceq ] = cond ( x )

2

3 % A l i a s e s f o r v a r i a b l e s

4 % Note : f u n c t i o n s g i v en x

5 a = @( x ) x (1 ) ; % branch i ng f a c t o r

6 w7 = @( x ) x (2 ) ; % w7

7 w7p = @( x ) x (3 ) ; % w7 ’

8 w6 = @( x ) x (4 ) ; % w6

9 w6p = @( x ) x (5 ) ; % w6 ’

10 w5 = @( x ) x (6 ) ; % w5

11 w5p = @( x ) x (7 ) ; % w5 ’

12 w4 = @( x ) x (8 ) ; % w4

13 w4p = @( x ) x (9 ) ; % w4 ’

14 w3 = @( x ) x (10) ; % w3

15 w3p = @( x ) x (11) ; % w3 ’

16 m1 = @( x ) min ( [ w3p( x ) , w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4(x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) ] ) ;

17 m2 = @( x ) min ( [ w3p( x ) , w3( x )−w3p( x ) , w4p( x ) , w4( x )−w4p( x ) , w5p( x ) , w5( x )−w5p( x ) ,

w6p( x ) , w6( x )−w6p( x ) , w7p( x ) , w7( x )−w7p( x ) ] ) ;

18 m3 = @( x ) min ( [ w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p(

x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) ] ) ;

19 m4 = @( x ) min ( [ w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p(

x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) ] ) ;

20 m5 = @( x ) min ( [ w4p( x ) , w4( x ) , w5p( x )−w3p( x ) , w5( x )−w3( x ) , w6p( x )−w4p( x ) , w6( x )−w4(x ) , w7p( x )−w5p( x ) , w7( x )−w5( x ) ] ) ;

21 m6 = @( x ) min ( [ w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ), w7p( x )−w6p( x ) , w7( x )−w6( x ) ] ) ;

22 m7 = @( x ) min ( [ w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p(

x ) , w7( x )−w6( x ) ] ) ;

175

Page 201: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

176 D. Matlab Code for the TSP in Degree-7 Graphs

23 m8 = @( x ) min ( [ w5p( x )−w3p( x ) , w5( x )−w3( x ) , w6p( x )−w4p( x ) , w6( x )−w4( x ) , w7p( x )−w5p(

x ) , w7( x )−w5( x ) ] ) ;

24 m9 = @( x ) min ( [ w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x )] ) ;

25 m10 = @( x ) min ( [ w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) ] ) ;

26 m11 = @( x ) min ( [ w6p( x )−w4p( x ) , w6( x )−w4( x ) , w7p( x )−w5p( x ) , w7( x )−w5( x ) ] ) ;

27 m12 = @( x ) min ( [ w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) ] ) ;

28 m13 = @( x ) min ( [ w7p( x )−w6p( x ) , w7( x )−w6( x ) ] ) ;

29 m14 = @( x ) min ( [ w7p( x )−w5p( x ) , w7( x )−w5( x ) ] ) ;

30 m15 = @( x ) min ( [ w3p( x ) , w3( x )−w3p( x ) , w4p( x ) , w4( x )−w4p( x ) , w5p( x ) , w5( x )−w5p( x ) ,

w6p( x ) , w6( x )−w6p( x ) , w7( x )−w7p( x ) ] ) ;

31 m16 = @( x ) min ( [ w3p( x ) , w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7( x )−w6( x ) ] ) ;

32

33

34 %% FIRST : Branch ing r u l e s around f7 v e r t i c e s %%

35

36 % Case c−1:

37 % c−1(1) ( a ) : t7 i s an f3−v e r t e x

38 a lpha1 = [ w3p( x ) ; % f3 v e r t e x

39 w3( x ) − w3p( x ) ; % u3 v e r t e x

40 w4p( x ) ; % f4 v e r t e x

41 w4( x ) − w4p( x ) ; % u4 v e r t e x

42 w5p( x ) ; % f5 v e r t e x

43 w5( x ) − w5p( x ) ; % u5 v e r t e x

44 w6p( x ) ; % f6 v e r t e x

45 w6( x ) − w6p( x ) ; % u6 v e r t e x

46 w7p( x ) ; % f7 v e r t e x

47 w7( x ) − w7p( x ) . . . % u7 v e r t e x

48 ] ;

49

50 beta1 = [ w3p( x ) ; % f3 v e r t e x

51 w3( x ) ; % u3 v e r t e x

52 w4p( x ) − w3p( x ) ; % f4 v e r t e x

53 w4( x )− w3( x ) ; % u4 v e r t e x

54 w5p( x ) − w4p( x ) ; % f5 v e r t e x

55 w5( x ) − w4( x ) ; % u5 v e r t e x

56 w6p( x ) − w5p( x ) ; % f6 v e r t e x

57 w6( x ) − w5( x ) ; % u6 v e r t e x

58 w7p( x ) − w6p( x ) ; % f7 v e r t e x

59 w7( x ) − w6( x ) . . . % u7 v e r t e x

60 ] ;

61

62 % i n s e r t a lpha1 and beta1 i n b1 :

63 b1 = [ w7p( x ) + 2∗w3p( x ) + 5∗m1( x ) + alpha1 , . . . % f o r c e ( e )

64 w7p( x ) − w6p( x ) + 2∗w3p( x ) + beta1 . . . % d e l e t e ( e )

65 ] ;

66

67 % c−1(1) ( b ) : t7 i s an f3−v e r t e x

68 a lpha2 = [ w3p( x ) ; % f3 v e r t e x

69 w3( x ) ; % u3 v e r t e x

70 w4p( x ) ; % f4 v e r t e x

71 w4( x ) − w3p( x ) ; % u4 v e r t e x

72 w5p( x ) ; % f5 v e r t e x

73 w5( x ) − w4p( x ) ; % u5 v e r t e x

74 w6p( x ) ; % f6 v e r t e x

75 w6( x ) − w5p( x ) ; % u6 v e r t e x

Page 202: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

D. Matlab Code for the TSP in Degree-7 Graphs 177

76 w7p( x ) ; % f7 v e r t e x

77 w7( x ) − w6p( x ) . . . % u7 v e r t e x

78 ] ;

79

80 beta2 = [ w3p( x ) ; % f3 v e r t e x

81 w3( x ) ; % u3 v e r t e x

82 w4p( x ) − w3p( x ) ; % f4 v e r t e x

83 w4( x )− w3( x ) ; % u4 v e r t e x

84 w5p( x ) − w4p( x ) ; % f5 v e r t e x

85 w5( x ) − w4( x ) ; % u5 v e r t e x

86 w6p( x ) − w5p( x ) ; % f6 v e r t e x

87 w6( x ) − w5( x ) ; % u6 v e r t e x

88 w7p( x ) − w6p( x ) ; % f7 v e r t e x

89 w7( x ) − w6( x ) . . . % u7 v e r t e x

90 ] ;

91

92 % i n s e r t a lpha1 and beta1 i n b1 :

93 b1 = [ b1 ;

94 w7p( x ) + 2∗w3p( x ) + 4∗m1( x ) + alpha2 , . . . % f o r c e ( e )

95 w7p( x ) − w6p( x ) + 2∗w3p( x ) + beta2 . . . % d e l e t e ( e )

96 ] ;

97

98 % c−1(2) : t7 i s not an f3 v e r t e x

99 a lpha3 = [ w3( x ) ; % u3 v e r t e x

100 w4p( x ) − w3p( x ) ; % f4 v e r t e x

101 w4( x )− w3( x ) ; % u4 v e r t e x

102 w5p( x ) − w4p( x ) ; % f5 v e r t e x

103 w5( x ) − w4( x ) ; % u5 v e r t e x

104 w6p( x ) − w5p( x ) ; % f6 v e r t e x

105 w6( x ) − w5( x ) ; % u6 v e r t e x

106 w7p( x ) − w6p( x ) ; % f7 v e r t e x

107 w7( x ) − w6( x ) . . . % u7 v e r t e x

108 ] ;

109

110 beta3 = [ w3( x ) − w3p( x ) ; % u3 v e r t e x

111 w4p( x ) ; % f4 v e r t e x

112 w4( x ) − w4p( x ) ; % u4 v e r t e x

113 w5p( x ) ; % f5 v e r t e x

114 w5( x ) − w5p( x ) ; % u5 v e r t e x

115 w6p( x ) ; % f6 v e r t e x

116 w6( x ) − w6p( x ) ; % u6 v e r t e x

117 w7p( x ) ; % f7 v e r t e x

118 w7( x ) − w7p( x ) . . . % u7 v e r t e x

119 ] ;

120

121 % i n s e r t a lpha2 and beta2 i n b1 :

122 b1 = [ b1 ;

123 w7p( x ) + w3p( x ) + 5∗m1( x ) + alpha3 , . . . % f o r c e ( e )

124 w7p( x ) − w6p( x ) + w3p( x ) + beta3 . . . % d e l e t e ( e )

125 ] ;

126

127

128 % Case c−2:

129 a lpha4 = [ w4p( x ) ; % f4 v e r t e x

130 w4( x ) ; % u4 v e r t e x

131 w5p( x ) − w3p( x ) ; % f5 v e r t e x

132 w5( x ) − w3( x ) ; % u5 v e r t e x

Page 203: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

178 D. Matlab Code for the TSP in Degree-7 Graphs

133 w6p( x ) − w4p( x ) ; % f6 v e r t e x

134 w6( x ) − w4( x ) ; % u6 v e r t e x

135 w7p( x ) − w5p( x ) ; % f7 v e r t e x

136 w7( x ) − w5( x ) . . . % u7 v e r t e x

137 ] ;

138

139 beta4 = [ w4p( x ) ; % f4 v e r t e x

140 w4( x ) − w4p( x ) ; % u4 v e r t e x

141 w5p( x ) ; % f5 v e r t e x

142 w5( x ) − w5p( x ) ; % u5 v e r t e x

143 w6p( x ) ; % f6 v e r t e x

144 w6( x ) − w6p( x ) ; % u6 v e r t e x

145 w7p( x ) ; % f7 v e r t e x

146 w7( x ) − w7p( x ) . . . % u7 v e r t e x

147 ] ;

148

149 % i n s e r t a lpha3 and beta3 i n b2 :

150 b2 = [ w7p( x ) + w3p( x ) + 4∗m1( x ) + alpha4 , . . . % f o r c e ( e )

151 w7p( x ) − w6p( x ) + w3p( x ) + beta4 . . . % d e l e t e ( e )

152 ] ;

153

154

155 % Case c−3:

156 b3 = [ w7p( x ) + w3( x ) − w3p( x ) + 5∗m3( x ) , . . . % f o r c e ( e )

157 w7p( x ) − w6p( x ) + w3( x ) + 2∗m2( x ) . . . % d e l e t e ( e )

158 ] ;

159

160

161 % Case c−4:

162 b4 = [ w7p( x ) + w4p( x ) + 5∗m4( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

163 w7p( x ) − w6p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

164 ] ;

165

166

167 % Case c−5:

168 % c−5( I ) :169 b5 = [ w7p( x ) + w4p( x ) + m1( x ) + 4∗m4( x ) + m5( x ) , . . . % f o r c e ( e )

170 w7p( x ) − w6p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

171 ] ;

172

173 % c−5( I I ) :174 b5 = [ b5 ;

175 w7p( x ) + w4p( x ) + 3∗m4( x ) + 2∗m5( x ) , . . . % f o r c e ( e )

176 w7p( x ) − w6p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

177 ] ;

178

179

180 % Case c−6:

181 b6 = [ w7p( x ) + w4( x ) − w4p( x ) + 5∗m6( x ) , . . . % f o r e ( e )

182 w7p( x ) − w6p( x ) + w4( x ) − w3( x ) . . . % d e l e t e ( e )

183 ] ;

184

185

186 % Case c−7:

187 b7 = [ w7p( x ) + w5p( x ) + 5∗m7( x ) + 3∗m1( x ) , . . . % f o r c e ( e )

188 w7p( x ) − w6p( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

189 ] ;

Page 204: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

D. Matlab Code for the TSP in Degree-7 Graphs 179

190

191

192 % Case c−8:

193 % c−8( I ) :194 b8 = [ w7p( x ) + w5p( x ) + m8( x ) + 4∗m7( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

195 w7p( x ) − w6p( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

196 ] ;

197

198 % c−8( I I ) :199 b8 = [ b8 ;

200 w7p( x ) + w5p( x ) + 2∗m8( x ) + 3∗m7( x ) + m1( x ) , . . . % f o r c e ( e )

201 w7p( x ) − w6p( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

202 ] ;

203

204 % c−8( I I I ) :205 b8 = [ b8 ;

206 w7p( x ) + w5p( x ) + 3∗m8( x ) + 2∗m7( x ) , . . . % f o r c e ( e )

207 w7p( x ) − w6p( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

208 ] ;

209

210

211 % Case c−9:

212 b9 = [ w7p( x ) + w5( x ) − w5p( x ) + 5∗m9( x ) , . . . % f o r c e ( e )

213 w7p( x ) − w6p( x ) + w5( x ) − w4( x ) . . . % d e l e t e ( e )

214 ] ;

215

216

217 % Case c−10:

218 b10 = [ w7p( x ) + w6p( x ) + 5∗m10( x ) + 4∗m1( x ) , . . . % f o r c e ( e )

219 w7p( x ) − w5p( x ) . . . % d e l e t e ( e )

220 ] ;

221

222

223 % Case c−11:

224 % c−11( I ) :225 b11 = [ w7p( x ) + w6p( x ) + m11( x ) + 4∗m10( x ) + 3∗m1( x ) , . . . % f o r c e ( e )

226 w7p( x ) − w5p( x ) . . . % d e l e t e ( e )

227 ] ;

228

229 % c−11( I I ) :230 b11 = [ b11 ;

231 w7p( x ) + w6p( x ) + 2∗m11( x ) + 3∗m10( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

232 w7p( x ) − w5p( x ) . . . % d e l e t e ( e )

233 ] ;

234

235 % c−11( I I I ) :236 b11 = [ b11 ;

237 w7p( x ) + w6p( x ) + 3∗m11( x ) + 2∗m10( x ) + m1( x ) , . . . % f o r c e ( e )

238 w7p( x ) − w5p( x ) . . . % d e l e t e ( e )

239 ] ;

240

241 % c−11( IV ) :

242 b11 = [ b11 ;

243 w7p( x ) + w6p( x ) + 4∗m11( x ) + m10( x ) , . . . % f o r c e ( e )

244 w7p( x ) − w5p( x ) . . . % d e l e t e ( e )

245 ] ;

246

Page 205: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

180 D. Matlab Code for the TSP in Degree-7 Graphs

247

248 % Case c−12:

249 b12 = [ w7p( x ) + w6( x ) − w6p( x ) + 5∗m12( x ) , . . . % f o r c e ( e )

250 w7p( x ) − w6p( x ) + w6( x ) − w5( x ) . . . % d e l e t e ( e )

251 ] ;

252

253

254 % Case c−13:

255 b13 = [ 2∗w7p( x ) + 10∗m13( x ) , . . . % f o r c e ( e )

256 2∗w7p( x ) − 2∗w6p( x ) . . . % d e l e t e ( e )

257 ] ;

258

259

260 % Case c−14:

261 % c−14( I ) :262 b14 = [ 2∗w7p( x ) + m14( x ) + 8∗m13( x ) , . . . % f o r c e ( e )

263 2∗w7p( x ) − 2∗w6p( x ) . . . % d e l e t e ( e )

264 ] ;

265

266 % c−14( I I ) :267 b14 = [ b14 ;

268 2∗w7p( x ) + 2∗m14( x ) + 6∗m13( x ) , . . . % f o r c e ( e )

269 2∗w7p( x ) − 2∗w6p( x ) . . . % d e l e t e ( e )

270 ] ;

271

272 % c−14( I I I ) :273 b14 = [ b14 ;

274 2∗w7p( x ) + 3∗m14( x ) + 4∗m13( x ) , . . . % f o r c e ( e )

275 2∗w7p( x ) − 2∗w6p( x ) . . . % d e l e t e ( e )

276 ] ;

277

278 % c−14( IV ) :

279 b14 = [ b14 ;

280 2∗w7p( x ) + 4∗m14( x ) + 2∗m13( x ) , . . . % f o r c e ( e )

281 2∗w7p( x ) − 2∗w6p( x ) . . . % d e l e t e ( e )

282 ] ;

283

284 % c−14(V) :

285 b14 = [ b14 ;

286 2∗w7p( x ) + 5∗m14( x ) , . . . % f o r c e ( e )

287 2∗w7p( x ) − 2∗w6p( x ) . . . % d e l e t e ( e )

288 ] ;

289

290 % Case c−15:

291 b15 = [ 6∗w7( x ) − 5∗w6( x ) , . . . % f o r c e ( e )

292 w7p( x ) − w6p( x ) + w7( x ) − w6( x ) . . . % d e l e t e ( e )

293 ] ;

294

295 %% FINISH f7 CASES %%

296

297 %% SECOND: Branch ing r u l e s around u7 v e r t i c e s %%

298

299 % Case c−16:

300 % c−16(1) : t8 i s an f3−v e r t e x

301 a lpha5 = [ w3p( x ) ; % f3 v e r t e x

302 w3( x ) − w3p( x ) ; % u3 v e r t e x

303 w4p( x ) ; % f4 v e r t e x

Page 206: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

D. Matlab Code for the TSP in Degree-7 Graphs 181

304 w4( x ) − w4p( x ) ; % u4 v e r t e x

305 w5p( x ) ; % f5 v e r t e x

306 w5( x ) − w5p( x ) ; % u5 v e r t e x

307 w6p( x ) ; % f6 v e r t e x

308 w6( x ) − w6p( x ) ; % u6 v e r t e x

309 w7( x ) − w7p( x ) . . . % u7 v e r t e x

310 ] ;

311

312 beta5 = [ w3p( x ) ; % f3 v e r t e x

313 w3( x ) ; % u3 v e r t e x

314 w4p( x ) − w3p( x ) ; % f4 v e r t e x

315 w4( x )− w3( x ) ; % u4 v e r t e x

316 w5p( x ) − w4p( x ) ; % f5 v e r t e x

317 w5( x ) − w4( x ) ; % u5 v e r t e x

318 w6p( x ) − w5p( x ) ; % f6 v e r t e x

319 w6( x ) − w5( x ) ; % u6 v e r t e x

320 w7( x ) − w6( x ) . . . % u7 v e r t e x

321 ] ;

322

323 % i n s e r t a lpha4 and beta4 i n b16 :

324 b16 = [ w7( x ) − w7p( x ) + 2∗w3p( x ) + alpha5 , . . . % f o r c e ( e )

325 w7( x ) − w6( x ) + 2∗w3p( x ) + beta5 . . . % d e l e t e ( e )

326 ] ;

327

328 % c−16(2) : t8 i s not an f3 v e r t e x

329 a lpha6 = [ w3( x ) ; % u3 v e r t e x

330 w4p( x ) − w3p( x ) ; % f4 v e r t e x

331 w4( x )− w3( x ) ; % u4 v e r t e x

332 w5p( x ) − w4p( x ) ; % f5 v e r t e x

333 w5( x ) − w4( x ) ; % u5 v e r t e x

334 w6p( x ) − w5p( x ) ; % f6 v e r t e x

335 w6( x ) − w5( x ) ; % u6 v e r t e x

336 w7( x ) − w6( x ) . . . % u7 v e r t e x

337 ] ;

338

339 beta6 = [ w3( x ) − w3p( x ) ; % u3 v e r t e x

340 w4p( x ) ; % f4 v e r t e x

341 w4( x ) − w4p( x ) ; % u4 v e r t e x

342 w5p( x ) ; % f5 v e r t e x

343 w5( x ) − w5p( x ) ; % u5 v e r t e x

344 w6p( x ) ; % f6 v e r t e x

345 w6( x ) − w6p( x ) ; % u6 v e r t e x

346 w7( x ) − w7p( x ) . . . % u7 v e r t e x

347 ] ;

348

349 % i n s e r t a lpha5 and beta5 i n b16 :

350 b16 = [ b16 ;

351 w7( x ) − w7p( x ) + w3p( x ) + alpha6 , . . . % f o r c e ( e )

352 w7( x ) − w6( x ) + w3p( x ) + beta6 . . . % d e l e t e ( e )

353 ] ;

354

355

356 % Case c−17:

357 b17 = [ w7( x ) − w7p( x ) + w3( x ) − w3p( x ) , . . . % f o r c e ( e )

358 w7( x ) − w6( x ) + w3( x ) + 2∗m15( x ) . . . % d e l e t e ( e )

359 ] ;

360

Page 207: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

182 D. Matlab Code for the TSP in Degree-7 Graphs

361

362 % Case c−18:

363 b18 = [ w7( x ) − w7p( x ) + w4p( x ) + 2∗m16( x ) , . . . % f o r c e ( e )

364 w7( x ) − w6( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

365 ] ;

366

367

368 % Case c−19:

369 b19 = [ w7( x ) − w7p( x ) + w4( x ) − w4p( x ) , . . . % f o r c e ( e )

370 w7( x ) − w6( x ) + w4( x ) − w3( x ) . . . % d e l e t e ( e )

371 ] ;

372

373

374 % Case c−20:

375 b20 = [ w7( x ) − w7p( x ) + w5p( x ) + 3∗m16( x ) , . . . % f o r c e ( e )

376 w7( x ) − w6( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

377 ] ;

378

379

380 % Case c−21:

381 b21 = [ w7( x ) − w7p( x ) + w5( x ) − w5p( x ) , . . . % f o r c e ( e )

382 w7( x ) − w6( x ) + w5( x ) − w4( x ) . . . % d e l e t e ( e )

383 ] ;

384

385

386 % Case c−22:

387 b22 = [ w7( x ) − w7p( x ) + w6p( x ) + 4∗m16( x ) , . . . % f o r c e ( e )

388 w7( x ) − w6( x ) + w6p( x ) − w5p( x ) . . . % d e l e t e ( e )

389 ] ;

390

391

392 % Case c−23:

393 b23 = [ w7( x ) − w7p( x ) + w6( x ) − w6p( x ) , . . . % f o r c e ( e )

394 w7( x ) − w5( x ) . . . % d e l e t e ( e )

395 ] ;

396

397

398 % Case c−24:

399 b24 = [ 2∗w7( x ) − 2∗w7p( x ) , . . . % f o r c e ( e )

400 2∗w7( x ) − 2∗w6( x ) . . . % d e l e t e ( e )

401 ] ;

402

403 %% FINISH u7 CASES %%

404

405 % Let ’ s make a s i n g l e b r anch i ng v e c t o r w i th 2 b ranche s

406 bb = [ b1 ; b2 ; b3 ; b4 ; b5 ; b6 ; b7 ; b8 ; b9 ; b10 ; b11 ; b12 ; b13 ; b14 ; b15 ; b16 ; b17 ;

b18 ; b19 ; b20 ; b21 ; b22 ; b23 ; b24 ] ;

407

408

409 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

410 %% F i n i s h e d wi th the b ranch i ng v e c t o r s . Now have to b u i l d c o n t r a i n t s %%

411 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

412

413 % Recu r r enc e s

414 % I n e q u a l i t i e s c o n d i t i o n s

415 c = [ −1 + a ( x ) .ˆ(−bb ( : , 1 ) ) + a ( x ) .ˆ(−bb ( : , 2 ) ) ; % Added a l l b r anch i ng v e c t o r s

from c−1 to c24

Page 208: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

D. Matlab Code for the TSP in Degree-7 Graphs 183

416 3 .033466ˆ(0 .149646/w3p( x ) ) − a ( x ) ; % Sw i t ch i ng to TSP6

417 3 .033466ˆ(0 .262796/w3( x ) ) − a ( x ) ;

418 3 .033466ˆ(0 .311647/w4p( x ) ) − a ( x ) ;

419 3 .033466ˆ(0 .580698/w4( x ) ) − a ( x ) ;

420 3 .033466ˆ(0 .421871/w5p( x ) ) − a ( x ) ;

421 3 .033466ˆ(0 .815641/w5( x ) ) − a ( x ) ;

422 3 .033466ˆ(0 .502801/w6p( x ) ) − a ( x ) ;

423 3 .033466ˆ(1/w6( x ) ) − a ( x ) ;

424 w7p( x ) − w7( x ) ; % b a s i c i n e q u a l i t i e s

425 w6p( x ) − w6( x ) ;

426 w5p( x ) − w5( x ) ;

427 w4p( x ) − w4( x ) ;

428 w3p( x ) − w3( x ) ;

429 w3( x ) − w4( x ) ;

430 w4( x ) − w5( x ) ;

431 w5( x ) − w6( x ) ;

432 w6( x ) − w7( x ) ;

433 w3( x ) − w5( x ) ;

434 w3( x ) − w6( x ) ;

435 w3( x ) − w7( x ) ;

436 w4( x ) − w6( x ) ;

437 w4( x ) − w7( x ) ;

438 w3p( x ) − w4p( x ) ;

439 w4p( x ) − w5p( x ) ;

440 w5p( x ) − w6p( x ) ;

441 w6p( x ) − w7p( x ) ;

442 w3p( x ) − w5p( x ) ;

443 w3p( x ) − w6p( x ) ;

444 w3p( x ) − w7p( x ) ;

445 w4p( x ) − w6p( x ) ;

446 w4p( x ) − w7p( x ) ;

447 ] ;

448

449

450 % No e q u a l i t y c o n d i t i o n s

451 ceq = [ ] ;

452

453 end

Page 209: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

184 D. Matlab Code for the TSP in Degree-7 Graphs

Page 210: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

Appendix E: Matlab Code for the TSP in

Degree-8 Graphs

Objective function:

1 f u n c t i o n f = o b j e c t i v e f u n c t i o n ( x )

2 f = x (1 ) ;

3 end

Lower bound and upper bound constraints:

1 l b = [1 z e r o s (1 , 12) ] ’ ;

2 ub = [20 ones (1 , 12) ] ’ ;

Main constraints:

1 f u n c t i o n [ c , ceq ] = cond ( x )

2

3 % A l i a s e s f o r v a r i a b l e s

4 % Note : f u n c t i o n s g i v en x

5 a = @( x ) x (1 ) ; % branch i ng f a c t o r

6 w8 = @( x ) x (2 ) ; % w8

7 w8p = @( x ) x (3 ) ; % w8 ’

8 w7 = @( x ) x (4 ) ; % w7

9 w7p = @( x ) x (5 ) ; % w7 ’

10 w6 = @( x ) x (6 ) ; % w6

11 w6p = @( x ) x (7 ) ; % w6 ’

12 w5 = @( x ) x (8 ) ; % w5

13 w5p = @( x ) x (9 ) ; % w5 ’

14 w4 = @( x ) x (10) ; % w4

15 w4p = @( x ) x (11) ; % w4 ’

16 w3 = @( x ) x (12) ; % w3

17 w3p = @( x ) x (13) ; % w3 ’

18 m1 = @( x ) min ( [ w3p( x ) , w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4(x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) , w8p( x )−w7p( x ) , w8( x

)−w7( x ) ] ) ;

19 m2 = @( x ) min ( [ w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p(

x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) , w8p( x )−w7p( x ) , w8( x )−w7( x )] ) ;

20 m3 = @( x ) min ( [ w3p( x ) , w3( x )−w3p( x ) , w4p( x ) , w4( x )−w4p( x ) , w5p( x ) , w5( x )−w5p( x ) ,

w6p( x ) , w6( x )−w6p( x ) , w7p( x ) , w7( x )−w7p( x ) , w8p( x ) , w8( x )−w8p( x ) ] ) ;

21 m4 = @( x ) min ( [ w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p(

x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) , w8p( x )−w7p( x ) , w8( x )−w7( x ) ] ) ;

22 m5 = @( x ) min ( [ w4p( x ) , w4( x ) , w5p( x )−w3p( x ) , w5( x )−w3( x ) , w6p( x )−w4p( x ) , w6( x )−w4(x ) , w7p( x )−w5p( x ) , w7( x )−w5( x ) , w8p( x )−w6p( x ) , w8( x )−w6( x ) ] ) ;

185

Page 211: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

186 E. Matlab Code for the TSP in Degree-8 Graphs

23 m6 = @( x ) min ( [ w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ), w7p( x )−w6p( x ) , w7( x )−w6( x ) , w8p( x )−w7p( x ) , w8( x )−w7( x ) ] ) ;

24 m7 = @( x ) min ( [ w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p(

x ) , w7( x )−w6( x ) , w8p( x )−w7p( x ) , w8( x )−w7( x ) ] ) ;

25 m8 = @( x ) min ( [ w5p( x )−w3p( x ) , w5( x )−w3( x ) , w6p( x )−w4p( x ) , w6( x )−w4( x ) , w7p( x )−w5p(

x ) , w7( x )−w5( x ) , w8p( x )−w6p( x ) , w8( x )−w6( x ) ] ) ;

26 m9 = @( x ) min ( [ w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ), w8p( x )−w7p( x ) , w8( x )−w7( x ) ] ) ;

27 m10 = @( x ) min ( [ w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) , w8p( x )−w7p

( x ) , w8( x )−w7( x ) ] ) ;

28 m11 = @( x ) min ( [ w6p( x )−w4p( x ) , w6( x )−w4( x ) , w7p( x )−w5p( x ) , w7( x )−w5( x ) , w8p( x )−w6p

( x ) , w8( x )−w6( x ) ] ) ;

29 m12 = @( x ) min ( [ w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) , w8p( x )−w7p( x ) , w8( x )−w7( x) ] ) ;

30 m13 = @( x ) min ( [ w7p( x )−w6p( x ) , w7( x )−w6( x ) , w8p( x )−w7p( x ) , w8( x )−w7( x ) ] ) ;

31 m14 = @( x ) min ( [ w7p( x )−w5p( x ) , w7( x )−w5( x ) , w8p( x )−w6p( x ) , w8( x )−w6( x ) ] ) ;

32 m15 = @( x ) min ( [ w7( x )−w6( x ) , w8p( x )−w7p( x ) , w8( x )−w7( x ) ] ) ;

33 m16 = @( x ) min ( [ w8p( x )−w7p( x ) , w8( x )−w7( x ) ] ) ;

34 m17 = @( x ) min ( [ w8p( x )−w6p( x ) , w8( x )−w6( x ) ] ) ;

35 m18 = @( x ) min ( [ w3p( x ) , w3( x )−w3p( x ) , w4p( x ) , w4( x )−w4p( x ) , w5p( x ) , w5( x )−w5p( x ) ,

w6p( x ) , w6( x )−w6p( x ) , w7p( x ) , w7( x )−w7p( x ) , w8( x )−w8p( x ) ] ) ;

36 m19 = @( x ) min ( [ w3p( x ) , w3( x ) , w4p( x )−w3p( x ) , w4( x )−w3( x ) , w5p( x )−w4p( x ) , w5( x )−w4( x ) , w6p( x )−w5p( x ) , w6( x )−w5( x ) , w7p( x )−w6p( x ) , w7( x )−w6( x ) , w8( x )−w7( x ) ] ) ;

37

38

39 %% FIRST : Branch ing r u l e s around f8 v e r t i c e s %%

40

41 % Case c−1:

42 % c−1(1) ( a ) : t8 i s an f3−v e r t e x

43 a lpha1 = [ w3p( x ) ; % f3 v e r t e x

44 w3( x ) − w3p( x ) ; % u3 v e r t e x

45 w4p( x ) ; % f4 v e r t e x

46 w4( x ) − w4p( x ) ; % u4 v e r t e x

47 w5p( x ) ; % f5 v e r t e x

48 w5( x ) − w5p( x ) ; % u5 v e r t e x

49 w6p( x ) ; % f6 v e r t e x

50 w6( x ) − w6p( x ) ; % u6 v e r t e x

51 w7p( x ) ; % f7 v e r t e x

52 w7( x ) − w7p( x ) ; % u7 v e r t e x

53 w8p( x ) ; % f8 v e r t e x

54 w8( x ) − w8p( x ) . . . % u8 v e r t e x

55 ] ;

56

57 beta1 = [ w3p( x ) ; % f3 v e r t e x

58 w3( x ) ; % u3 v e r t e x

59 w4p( x ) − w3p( x ) ; % f4 v e r t e x

60 w4( x )− w3( x ) ; % u4 v e r t e x

61 w5p( x ) − w4p( x ) ; % f5 v e r t e x

62 w5( x ) − w4( x ) ; % u5 v e r t e x

63 w6p( x ) − w5p( x ) ; % f6 v e r t e x

64 w6( x ) − w5( x ) ; % u6 v e r t e x

65 w7p( x ) − w6p( x ) ; % f7 v e r t e x

66 w7( x ) − w6( x ) ; % u7 v e r t e x

67 w8p( x ) − w7p( x ) ; % f8 v e r t e x

68 w8( x ) − w7( x ) . . . % u8 v e r t e x

69 ] ;

70

Page 212: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

E. Matlab Code for the TSP in Degree-8 Graphs 187

71 % i n s e r t a lpha1 and beta1 i n b1 :

72 b1 = [ w8p( x ) + 2∗w3p( x ) + 6∗m1( x ) + alpha1 , . . . % f o r c e ( e )

73 w8p( x ) − w7p( x ) + 2∗w3p( x ) + beta1 . . . % d e l e t e ( e )

74 ] ;

75

76 % c−1(1) ( b ) : t8 i s an f3−v e r t e x

77 a lpha2 = [ w3p( x ) ; % f3 v e r t e x

78 w3( x ) ; % u3 v e r t e x

79 w4p( x ) ; % f4 v e r t e x

80 w4( x ) − w3p( x ) ; % u4 v e r t e x

81 w5p( x ) ; % f5 v e r t e x

82 w5( x ) − w4p( x ) ; % u5 v e r t e x

83 w6p( x ) ; % f6 v e r t e x

84 w6( x ) − w5p( x ) ; % u6 v e r t e x

85 w7p( x ) ; % f7 v e r t e x

86 w7( x ) − w6p( x ) ; % u7 v e r t e x

87 w8p( x ) ; % f8 v e r t e x

88 w8( x ) − w7p( x ) . . . % u8 v e r t e x

89 ] ;

90

91 beta2 = [ w3p( x ) ; % f3 v e r t e x

92 w3( x ) ; % u3 v e r t e x

93 w4p( x ) − w3p( x ) ; % f4 v e r t e x

94 w4( x )− w3( x ) ; % u4 v e r t e x

95 w5p( x ) − w4p( x ) ; % f5 v e r t e x

96 w5( x ) − w4( x ) ; % u5 v e r t e x

97 w6p( x ) − w5p( x ) ; % f6 v e r t e x

98 w6( x ) − w5( x ) ; % u6 v e r t e x

99 w7p( x ) − w6p( x ) ; % f7 v e r t e x

100 w7( x ) − w6( x ) ; % u7 v e r t e x

101 w8p( x ) − w7p( x ) ; % f8 v e r t e x

102 w8( x ) − w7( x ) . . . % u8 v e r t e x

103 ] ;

104

105 % i n s e r t a lpha1 and beta1 i n b1 :

106 b1 = [ b1 ;

107 w8p( x ) + 2∗w3p( x ) + 5∗m1( x ) + alpha2 , . . . % f o r c e ( e )

108 w8p( x ) − w7p( x ) + 2∗w3p( x ) + beta2 . . . % d e l e t e ( e )

109 ] ;

110

111 % c−1(2) : t8 i s not an f3 v e r t e x

112 a lpha3 = [ w3( x ) ; % u3 v e r t e x

113 w4p( x ) − w3p( x ) ; % f4 v e r t e x

114 w4( x )− w3( x ) ; % u4 v e r t e x

115 w5p( x ) − w4p( x ) ; % f5 v e r t e x

116 w5( x ) − w4( x ) ; % u5 v e r t e x

117 w6p( x ) − w5p( x ) ; % f6 v e r t e x

118 w6( x ) − w5( x ) ; % u6 v e r t e x

119 w7p( x ) − w6p( x ) ; % f7 v e r t e x

120 w7( x ) − w6( x ) ; % u7 v e r t e x

121 w8p( x ) − w7p( x ) ; % f8 v e r t e x

122 w8( x ) − w7( x ) . . . % u8 v e r t e x

123 ] ;

124

125 beta3 = [ w3( x ) − w3p( x ) ; % u3 v e r t e x

126 w4p( x ) ; % f4 v e r t e x

127 w4( x ) − w4p( x ) ; % u4 v e r t e x

Page 213: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

188 E. Matlab Code for the TSP in Degree-8 Graphs

128 w5p( x ) ; % f5 v e r t e x

129 w5( x ) − w5p( x ) ; % u5 v e r t e x

130 w6p( x ) ; % f6 v e r t e x

131 w6( x ) − w6p( x ) ; % u6 v e r t e x

132 w7p( x ) ; % f7 v e r t e x

133 w7( x ) − w7p( x ) ; % u7 v e r t e x

134 w8p( x ) ; % f8 v e r t e x

135 w8( x ) − w8p( x ) . . . % u8 v e r t e x

136 ] ;

137

138 % i n s e r t a lpha2 and beta2 i n b1 :

139 b1 = [ b1 ;

140 w8p( x ) + w3p( x ) + 6∗m1( x ) + alpha3 , . . . % f o r c e ( e )

141 w8p( x ) − w7p( x ) + w3p( x ) + beta3 . . . % d e l e t e ( e )

142 ] ;

143

144

145 % Case c−2:

146 a lpha4 = [ w4p( x ) ; % f4 v e r t e x

147 w4( x ) ; % u4 v e r t e x

148 w5p( x ) − w3p( x ) ; % f5 v e r t e x

149 w5( x ) − w3( x ) ; % u5 v e r t e x

150 w6p( x ) − w4p( x ) ; % f6 v e r t e x

151 w6( x ) − w4( x ) ; % u6 v e r t e x

152 w7p( x ) − w5p( x ) ; % f7 v e r t e x

153 w7( x ) − w5( x ) ; % u7 v e r t e x

154 w8p( x ) − w6p( x ) ; % f8 v e r t e x

155 w8( x ) − w6( x ) . . . % u8 v e r t e x

156 ] ;

157

158 beta4 = [ w4p( x ) ; % f4 v e r t e x

159 w4( x ) − w4p( x ) ; % u4 v e r t e x

160 w5p( x ) ; % f5 v e r t e x

161 w5( x ) − w5p( x ) ; % u5 v e r t e x

162 w6p( x ) ; % f6 v e r t e x

163 w6( x ) − w6p( x ) ; % u6 v e r t e x

164 w7p( x ) ; % f7 v e r t e x

165 w7( x ) − w7p( x ) ; % u7 v e r t e x

166 w8p( x ) ; % f8 v e r t e x

167 w8( x ) − w8p( x ) . . . % u8 v e r t e x

168 ] ;

169

170 % i n s e r t a lpha3 and beta3 i n b2 :

171 b2 = [ w8p( x ) + w3p( x ) + 5∗m1( x ) + alpha4 , . . . % f o r c e ( e )

172 w8p( x ) − w7p( x ) + w3p( x ) + beta4 . . . % d e l e t e ( e )

173 ] ;

174

175

176 % Case c−3:

177 b3 = [ w8p( x ) + w3( x ) − w3p( x ) + 6∗m2( x ) , . . . % f o r c e ( e )

178 w8p( x ) − w7p( x ) + w3( x ) + 2∗m3( x ) . . . % d e l e t e ( e )

179 ] ;

180

181

182 % Case c−4:

183 b4 = [ w8p( x ) + w4p( x ) + 6∗m4( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

184 w8p( x ) − w7p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

Page 214: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

E. Matlab Code for the TSP in Degree-8 Graphs 189

185 ] ;

186

187

188 % Case c−5:

189 % c−5( I ) :190 b5 = [ w8p( x ) + w4p( x ) + m5( x ) + 5∗m4( x ) + m1( x ) , . . . % f o r c e ( e )

191 w8p( x ) − w7p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

192 ] ;

193

194 % c−5( I I ) :195 b5 = [ b5 ;

196 w8p( x ) + w4p( x ) + 2∗m5( x ) + 4∗m4( x ) , . . . % f o r c e ( e )

197 w8p( x ) − w7p( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

198 ] ;

199

200

201 % Case c−6:

202 b6 = [ w8p( x ) + w4( x ) − w4p( x ) + 6∗m6( x ) , . . . % f o r e ( e )

203 w8p( x ) − w7p( x ) + w4( x ) − w3( x ) . . . % d e l e t e ( e )

204 ] ;

205

206

207 % Case c−7:

208 b7 = [ w8p( x ) + w5p( x ) + 6∗m7( x ) + 3∗m1( x ) , . . . % f o r c e ( e )

209 w8p( x ) − w7p( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

210 ] ;

211

212

213 % Case c−8:

214 % c−8( I ) :215 b8 = [ w8p( x ) + w5p( x ) + m8( x ) + 5∗m7( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

216 w8p( x ) − w7p( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

217 ] ;

218

219 % c−8( I I ) :220 b8 = [ b8 ;

221 w8p( x ) + w5p( x ) + 2∗m8( x ) + 4∗m7( x ) + m1( x ) , . . . % f o r c e ( e )

222 w8p( x ) − w7p( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

223 ] ;

224

225 % c−8( I I I ) :226 b8 = [ b8 ;

227 w8p( x ) + w5p( x ) + 3∗m8( x ) + 3∗m7( x ) , . . . % f o r c e ( e )

228 w8p( x ) − w7p( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

229 ] ;

230

231

232 % Case c−9:

233 b9 = [ w8p( x ) + w5( x ) − w5p( x ) + 6∗m9( x ) , . . . % f o r c e ( e )

234 w8p( x ) − w7p( x ) + w5( x ) − w4( x ) . . . % d e l e t e ( e )

235 ] ;

236

237

238 % Case c−10:

239 b10 = [ w8p( x ) + w6p( x ) + 6∗m10( x ) + 4∗m1( x ) , . . . % f o r c e ( e )

240 w8p( x ) − w7p( x ) + w6p( x ) − w5p( x ) . . . % d e l e t e ( e )

241 ] ;

Page 215: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

190 E. Matlab Code for the TSP in Degree-8 Graphs

242

243

244 % Case c−11:

245 % c−11( I ) :246 b11 = [ w8p( x ) + w6p( x ) + m11( x ) + 5∗m10( x ) + 3∗m1( x ) , . . . % f o r c e ( e )

247 w8p( x ) − w7p( x ) + w6p( x ) − w5p( x ) . . . % d e l e t e ( e )

248 ] ;

249

250 % c−11( I I ) :251 b11 = [ b11 ;

252 w8p( x ) + w6p( x ) + 2∗m11( x ) + 4∗m10( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

253 w8p( x ) − w7p( x ) + w6p( x ) − w5p( x ) . . . % d e l e t e ( e )

254 ] ;

255

256 % c−11( I I I ) :257 b11 = [ b11 ;

258 w8p( x ) + w6p( x ) + 3∗m11( x ) + 3∗m10( x ) + m1( x ) , . . . % f o r c e ( e )

259 w8p( x ) − w7p( x ) + w6p( x ) − w5p( x ) . . . % d e l e t e ( e )

260 ] ;

261

262 % c−11( IV ) :

263 b11 = [ b11 ;

264 w8p( x ) + w6p( x ) + 4∗m11( x ) + 2∗m10( x ) , . . . % f o r c e ( e )

265 w8p( x ) − w7p( x ) + w6p( x ) − w5p( x ) . . . % d e l e t e ( e )

266 ] ;

267

268

269 % Case c−12:

270 b12 = [ w8p( x ) + w6( x ) − w6p( x ) + 6∗m12( x ) , . . . % f o r c e ( e )

271 w8p( x ) − w7p( x ) + w6( x ) − w5( x ) . . . % d e l e t e ( e )

272 ] ;

273

274

275 % Case c−13:

276 b13 = [ w8p( x ) + w7p( x ) + 6∗m13( x ) + 5∗m1( x ) , . . . % f o r c e ( e )

277 w8p( x ) − w6p( x ) . . . % d e l e t e ( e )

278 ] ;

279

280

281 % Case c−14:

282 % c−14( I ) :283 b14 = [ w8p( x ) + w7p( x ) + m14( x ) + 5∗m13( x ) + 4∗m1( x ) , . . . % f o r c e ( e )

284 w8p( x ) − w6p( x ) . . . % d e l e t e ( e )

285 ] ;

286

287 % c−14( I I ) :288 b14 = [ b14 ;

289 w8p( x ) + w7p( x ) + 2∗m14( x ) + 4∗m13( x ) + 3∗m1( x ) , . . . % f o r c e ( e )

290 w8p( x ) − w6p( x ) . . . % d e l e t e ( e )

291 ] ;

292

293 % c−14( I I I ) :294 b14 = [ b14 ;

295 w8p( x ) + w7p( x ) + 3∗m14( x ) + 3∗m13( x ) + 2∗m1( x ) , . . . % f o r c e ( e )

296 w8p( x ) − w6p( x ) . . . % d e l e t e ( e )

297 ] ;

298

Page 216: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

E. Matlab Code for the TSP in Degree-8 Graphs 191

299 % c−14( IV ) :

300 b14 = [ b14 ;

301 w8p( x ) + w7p( x ) + 4∗m14( x ) + 2∗m13( x ) + m1( x ) , . . . % f o r c e ( e )

302 w8p( x ) − w6p( x ) . . . % d e l e t e ( e )

303 ] ;

304

305 % c−14(V) :

306 b14 = [ b14 ;

307 w8p( x ) + w7p( x ) + 5∗m14( x ) + m13( x ) , . . . % f o r c e ( e )

308 w8p( x ) − w6p( x ) . . . % d e l e t e ( e )

309 ] ;

310

311

312 % Case c−15:

313 b15 = [ w8p( x ) + w7( x ) − w7p( x ) + 6∗m15( x ) , . . . % f o r c e ( e )

314 w8p( x ) − w7p( x ) + w7( x ) − w6( x ) . . . % d e l e t e ( e )

315 ] ;

316

317

318 % Case c−16:

319 b16 = [ 2∗w8p( x ) + 12∗m16( x ) , . . . % f o r c e ( e )

320 2∗w8p( x ) − 2∗w7p( x ) . . . % d e l e t e ( e )

321 ] ;

322

323

324 % Case c−17:

325 % c−17( I ) :326 b17 = [ 2∗w8p( x ) + m17( x ) + 10∗m16( x ) , . . . % f o r c e ( e )

327 2∗w8p( x ) − 2∗w7p( x ) . . . % d e l e t e ( e )

328 ] ;

329

330 % c−17( I I ) :331 b17 = [ b17 ;

332 2∗w8p( x ) + 2∗m17( x ) + 8∗m16( x ) , . . . % f o r c e ( e )

333 2∗w8p( x ) − 2∗w7p( x ) . . . % d e l e t e ( e )

334 ] ;

335

336 % c−17( I I I ) :337 b17 = [ b17 ;

338 2∗w8p( x ) + 3∗m17( x ) + 6∗m16( x ) , . . . % f o r c e ( e )

339 2∗w8p( x ) − 2∗w7p( x ) . . . % d e l e t e ( e )

340 ] ;

341

342 % c−17( IV ) :

343 b17 = [ b17 ;

344 2∗w8p( x ) + 4∗m17( x ) + 4∗m16( x ) , . . . % f o r c e ( e )

345 2∗w8p( x ) − 2∗w7p( x ) . . . % d e l e t e ( e )

346 ] ;

347

348 % c−17(V) :

349 b17 = [ b17 ;

350 2∗w8p( x ) + 5∗m17( x ) + 2∗m16( x ) , . . . % f o r c e ( e )

351 2∗w8p( x ) − 2∗w7p( x ) . . . % d e l e t e ( e )

352 ] ;

353

354 % c−17(VI ) :

355 b17 = [ b17 ;

Page 217: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

192 E. Matlab Code for the TSP in Degree-8 Graphs

356 2∗w8p( x ) + 6∗m17( x ) , . . . % f o r c e ( e )

357 2∗w8p( x ) − 2∗w7p( x ) . . . % d e l e t e ( e )

358 ] ;

359

360

361 % Case c−18:

362 b18 = [ 7∗w8( x ) − 6∗w7( x ) , . . . % f o r c e ( e )

363 w8p( x ) − w7p( x ) + w8( x ) − w7( x ) . . . % d e l e t e ( e )

364 ] ;

365

366 %% FINISH f8 CASES %%

367

368

369 %% SECOND: Branch ing r u l e s around u8 v e r t i c e s %%

370

371 % Case c−19: u8−f 3372 % c−19(1) : t9 i s an f3−v e r t e x

373 a lpha5 = [ w3p( x ) ; % f3 v e r t e x

374 w3( x ) − w3p( x ) ; % u3 v e r t e x

375 w4p( x ) ; % f4 v e r t e x

376 w4( x ) − w4p( x ) ; % u4 v e r t e x

377 w5p( x ) ; % f5 v e r t e x

378 w5( x ) − w5p( x ) ; % u5 v e r t e x

379 w6p( x ) ; % f6 v e r t e x

380 w6( x ) − w6p( x ) ; % u6 v e r t e x

381 w7p( x ) ; % f7 v e r t e x

382 w7( x ) − w7p( x ) ; % u7 v e r t e x

383 w8( x ) − w8p( x ) . . . % u8 v e r t e x

384 ] ;

385

386 beta5 = [ w3p( x ) ; % f3 v e r t e x

387 w3( x ) ; % u3 v e r t e x

388 w4p( x ) − w3p( x ) ; % f4 v e r t e x

389 w4( x )− w3( x ) ; % u4 v e r t e x

390 w5p( x ) − w4p( x ) ; % f5 v e r t e x

391 w5( x ) − w4( x ) ; % u5 v e r t e x

392 w6p( x ) − w5p( x ) ; % f6 v e r t e x

393 w6( x ) − w5( x ) ; % u6 v e r t e x

394 w7p( x ) − w6p( x ) ; % f7 v e r t e x

395 w7( x ) − w6( x ) ; % u7 v e r t e x

396 w8( x ) − w7( x ) . . . % u8 v e r t e x

397 ] ;

398

399 % i n s e r t a lpha4 and beta4 i n b16 :

400 b19 = [ w8( x ) − w8p( x ) + 2∗w3p( x ) + alpha5 , . . . % f o r c e ( e )

401 w8( x ) − w7( x ) + 2∗w3p( x ) + beta5 . . . % d e l e t e ( e )

402 ] ;

403

404 % c−19(2) : t9 i s not an f3 v e r t e x

405 a lpha6 = [ w3( x ) ; % u3 v e r t e x

406 w4p( x ) − w3p( x ) ; % f4 v e r t e x

407 w4( x )− w3( x ) ; % u4 v e r t e x

408 w5p( x ) − w4p( x ) ; % f5 v e r t e x

409 w5( x ) − w4( x ) ; % u5 v e r t e x

410 w6p( x ) − w5p( x ) ; % f6 v e r t e x

411 w6( x ) − w5( x ) ; % u6 v e r t e x

412 w7p( x ) − w6p( x ) ; % f7 v e r t e x

Page 218: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

E. Matlab Code for the TSP in Degree-8 Graphs 193

413 w7( x ) − w6( x ) ; % u7 v e r t e x

414 w8( x ) − w7( x ) . . . % u8 v e r t e x

415 ] ;

416

417 beta6 = [ w3( x ) − w3p( x ) ; % u3 v e r t e x

418 w4p( x ) ; % f4 v e r t e x

419 w4( x ) − w4p( x ) ; % u4 v e r t e x

420 w5p( x ) ; % f5 v e r t e x

421 w5( x ) − w5p( x ) ; % u5 v e r t e x

422 w6p( x ) ; % f6 v e r t e x

423 w6( x ) − w6p( x ) ; % u6 v e r t e x

424 w7p( x ) ; % f7 v e r t e x

425 w7( x ) − w7p( x ) ; % u7 v e r t e x

426 w8( x ) − w8p( x ) . . . % u8 v e r t e x

427 ] ;

428

429 % i n s e r t a lpha5 and beta5 i n b16 :

430 b19 = [ b19 ;

431 w8( x ) − w8p( x ) + w3p( x ) + alpha6 , . . . % f o r c e ( e )

432 w8( x ) − w7( x ) + w3p( x ) + beta6 . . . % d e l e t e ( e )

433 ] ;

434

435

436 % Case c−20:

437 b20 = [ w8( x ) − w8p( x ) + w3( x ) − w3p( x ) , . . . % f o r c e ( e )

438 w8( x ) − w7( x ) + w3( x ) + 2∗m18( x ) . . . % d e l e t e ( e )

439 ] ;

440

441

442 % Case c−21:

443 b21 = [ w8( x ) − w8p( x ) + w4p( x ) + 2∗m19( x ) , . . . % f o r c e ( e )

444 w8( x ) − w7( x ) + w4p( x ) − w3p( x ) . . . % d e l e t e ( e )

445 ] ;

446

447

448 % Case c−22:

449 b22 = [ w8( x ) − w8p( x ) + w4( x ) − w4p( x ) , . . . % f o r c e ( e )

450 w8( x ) − w7( x ) + w4( x ) − w3( x ) . . . % d e l e t e ( e )

451 ] ;

452

453

454 % Case c−23:

455 b23 = [ w8( x ) − w8p( x ) + w5p( x ) + 3∗m19( x ) , . . . % f o r c e ( e )

456 w8( x ) − w7( x ) + w5p( x ) − w4p( x ) . . . % d e l e t e ( e )

457 ] ;

458

459

460 % Case c−24:

461 b24 = [ w8( x ) − w8p( x ) + w5( x ) − w5p( x ) , . . . % f o r c e ( e )

462 w8( x ) − w7( x ) + w5( x ) − w4( x ) . . . % d e l e t e ( e )

463 ] ;

464

465

466 % Case c−25:

467 b25 = [ w8( x ) − w8p( x ) + w6p( x ) + 4∗m19( x ) , . . . % f o r c e ( e )

468 w8( x ) − w7( x ) + w6p( x ) − w5p( x ) . . . % d e l e t e ( e )

469 ] ;

Page 219: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

194 E. Matlab Code for the TSP in Degree-8 Graphs

470

471

472 % Case c−26:

473 b26 = [ w8( x ) − w8p( x ) + w6( x ) − w6p( x ) , . . . % f o r c e ( e )

474 w8( x ) − w7( x ) + w6( x ) − w5( x ) . . . % d e l e t e ( e )

475 ] ;

476

477

478 % Case c−27:

479 b27 = [ w8( x ) − w8p( x ) + w7p( x ) + 5∗m19( x ) , . . . % f o r c e ( e )

480 w8( x ) − w7( x ) + w7p( x ) − w6p( x ) . . . % d e l e t e ( e )

481 ] ;

482

483

484 % Case c−28:

485 b28 = [ w8( x ) − w8p( x ) + w7( x ) − w7p( x ) , . . . % f o r c e ( e )

486 w8( x ) − w6( x ) . . . % d e l e t e ( e )

487 ] ;

488

489

490 % Case c−29:

491 b29 = [ 2∗w8( x ) − 2∗w8p( x ) , . . . % f o r c e ( e )

492 2∗w8( x ) − 2∗w7( x ) . . . % d e l e t e ( e )

493 ] ;

494

495 %% FINISH u8 CASES %%

496

497 % Let ’ s make a s i n g l e b r anch i ng v e c t o r w i th 2 b ranche s

498 bb = [ b1 ; b2 ; b3 ; b4 ; b5 ; b6 ; b7 ; b8 ; b9 ; b10 ; b11 ; b12 ; b13 ; b14 ; b15 ; b16 ; b17 ;

b18 ; b19 ; b20 ; b21 ; b22 ; b23 ; b24 ; b25 ; b26 ; b27 ; b28 ; b29 ] ;

499

500

501 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

502 %% FINISHED WITH THE BRANCHING VECTORS. NOW HAVE TO BUILD CONTRAINTS %%

503 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

504

505 % Recu r r enc e s

506 % I n e q u a l i t i e s c o n d i t i o n s

507 c = [ −1 + a ( x ) .ˆ(−bb ( : , 1 ) ) + a ( x ) .ˆ(−bb ( : , 2 ) ) ; % Added a l l b r anch i ng v e c t o r s

o f s i z e 2

508 3 .593854ˆ(0 .129815/w3p( x ) ) − a ( x ) ; % Sw i t ch i ng to TSP7

509 3 .593854ˆ(0 .232828/w3( x ) ) − a ( x ) ;

510 3 .593854ˆ(0 .285517/w4p( x ) ) − a ( x ) ;

511 3 .593854ˆ(0 .503746/w4( x ) ) − a ( x ) ;

512 3 .593854ˆ(0 .378022/w5p( x ) ) − a ( x ) ;

513 3 .593854ˆ(0 .707555/w5( x ) ) − a ( x ) ;

514 3 .593854ˆ(0 .449136/w6p( x ) ) − a ( x ) ;

515 3 .593854ˆ(0 .867483/w6( x ) ) − a ( x ) ;

516 3 .593854ˆ(0 .508069/w7p( x ) ) − a ( x ) ;

517 3 .593854ˆ(1/w7( x ) ) − a ( x ) ;

518 w8p( x ) − w8( x ) ; % b a s i c i n e q u a l i t i e s

519 w7p( x ) − w7( x ) ;

520 w6p( x ) − w6( x ) ;

521 w5p( x ) − w5( x ) ;

522 w4p( x ) − w4( x ) ;

523 w3p( x ) − w3( x ) ;

524 w3( x ) − w4( x ) ;

Page 220: Title Polynomial-Space Exact Algorithms for Traveling ...€¦ · of polynomial-space branching algorithms for the TSP in degree bounded graphs, namely the TSP in degree-5, degree-6,

E. Matlab Code for the TSP in Degree-8 Graphs 195

525 w3( x ) − w5( x ) ;

526 w3( x ) − w6( x ) ;

527 w3( x ) − w7( x ) ;

528 w3( x ) − w8( x ) ;

529 w4( x ) − w5( x ) ;

530 w4( x ) − w6( x ) ;

531 w4( x ) − w7( x ) ;

532 w4( x ) − w8( x ) ;

533 w5( x ) − w6( x ) ;

534 w5( x ) − w7( x ) ;

535 w5( x ) − w8( x ) ;

536 w6( x ) − w7( x ) ;

537 w6( x ) − w8( x ) ;

538 w7( x ) − w8( x ) ;

539 w3p( x ) − w4p( x ) ;

540 w3p( x ) − w5p( x ) ;

541 w3p( x ) − w6p( x ) ;

542 w3p( x ) − w7p( x ) ;

543 w3p( x ) − w8p( x ) ;

544 w4p( x ) − w5p( x ) ;

545 w4p( x ) − w6p( x ) ;

546 w4p( x ) − w7p( x ) ;

547 w4p( x ) − w8p( x ) ;

548 w5p( x ) − w6p( x ) ;

549 w5p( x ) − w7p( x ) ;

550 w5p( x ) − w8p( x ) ;

551 w6p( x ) − w7p( x ) ;

552 w6p( x ) − w8p( x ) ;

553 w7p( x ) − w8p( x ) ;

554 ] ;

555

556

557 % No e q u a l i t y c o n d i t i o n s

558 ceq = [ ] ;

559

560 end