View
7
Download
0
Category
Preview:
Citation preview
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
Polynomial-Space Exact Algorithms
for Traveling Salesman Problem
in Degree Bounded Graphs
Norhazwani Md Yunos
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
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)
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
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
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
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.
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
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
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
viii Contents
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
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
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
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
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
xiv List of Figures
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
xvi List of Tables
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
xviii List of Algorithms
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
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:
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
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
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-
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
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
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.
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
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
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.
12 1. Introduction
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
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
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.
16 2. Preliminaries
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
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 ′).
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.
20 3. A Polynomial-Space Branching Algorithm
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
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 ∞.
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
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
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;
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
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
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
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),
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
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
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.
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-
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.
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
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
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.
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)
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:
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.
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.
42 4. The TSP in Degree-5 Graphs
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
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).
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.
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.
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.
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.
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
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
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.
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
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.
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.
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.
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)
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.
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)
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
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
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
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.
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.
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.
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
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.
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.
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)
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.
70 5. The TSP in Degree-6 Graphs
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
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).
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.
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 ∞.
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
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
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).
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 −
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.
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
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
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
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,
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)
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.
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-
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.
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;
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.
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.
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)
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′
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.
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′
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
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.
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
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-
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.
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
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.
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
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)
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
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.
106 6. The TSP in Degree-7 Graphs
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
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).
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.
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.
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 ∞.
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
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.
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
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.
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
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.
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.
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.
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
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
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
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.
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,
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.
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.
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)
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,
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
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),
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-
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-
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.
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.
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.
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.
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
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,
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.
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)
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.
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
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
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.
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.
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
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.
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
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 ′).
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.
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
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
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.
154 8. Conclusion
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
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)
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)
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)
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
160 A. List of Author’s Work
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
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 ] ;
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
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 ) ;
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
166 B. Matlab Code for the TSP in Degree-5 Graphs
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
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 ] ;
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 )
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 )
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
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 )
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
174 C. Matlab Code for the TSP in Degree-6 Graphs
361 end
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
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
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
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 ] ;
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
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
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
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
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
184 D. Matlab Code for the TSP in Degree-7 Graphs
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
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
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
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 )
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 ] ;
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
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 ;
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
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 ] ;
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 ) ;
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
Recommended