Upload
dinhkiet
View
224
Download
0
Embed Size (px)
Citation preview
Rita Alexandra Santos Gonçalves de Macedo
Janeiro de 2011
UM
inho
|201
0
Models and Algorithms for Hard Optimization Problems
Universidade do Minho
Escola de Engenharia
Rita
Ale
xand
ra S
anto
s G
onça
lves
de
Mac
edo
Mo
de
ls a
nd
Alg
ori
thm
s fo
r H
ard
O
pti
miz
ati
on
Pro
ble
ms
Programa Doutoral em Engenharia Industrial e de Sistemas
Trabalho efectuado sob a orientação doProfessor Doutor Cláudio Manuel Martins Alvese doProfessor Doutor José Manuel Vasconcelos Valério de Carvalho
Rita Alexandra Santos Gonçalves de Macedo
Janeiro de 2011
Models and Algorithms for Hard Optimization Problems
Universidade do Minho
Escola de Engenharia
É AUTORIZADA A REPRODUÇÃO PARCIAL DESTA TESE APENAS PARA EFEITOSDE INVESTIGAÇÃO, MEDIANTE DECLARAÇÃO ESCRITA DO INTERESSADO, QUE A TAL SECOMPROMETE;
Universidade do Minho, ___/___/______
Assinatura: ________________________________________________
Summary
“If you can’t explain it simply
you don’t understand it well enough.”
Albert Einstein
This thesis is devoted to exact solution methods for NP -hard integer program-
ming models. We consider two of these problems, the cutting stock problem and
the vehicle routing problem. Both problems have been studied for several decades
by researchers and practitioners of the Operations Research field. Their interest
and contribution to real-world applications in business, industry and several kinds
of organizations are irrefutable.
Our solution approaches are always exact. We contribute with new lower
bounds, families of valid inequalities, integer programming models and exact al-
gorithms for the problems we explore. More precisely, we address two variants of
each of the referred problems.
In what concerns cutting stock problems, we analyze the one-dimensional pat-
tern minimization problem and the two-dimensional cutting stock problem with
the guillotine constraint. The one-dimensional pattern minimization problem is a
cutting and packing problem that becomes relevant in situations where changing
from one pattern to another involves, for example, a cost for setting up the cut-
ting machine. It is the problem of minimizing the number of different patterns of
a given cutting stock solution. For this problem, we contribute with new lower
bounds. The two-dimensional cutting stock problem with the guillotine constraint
and two stages is also addressed. We propose a pseudo-polynomial network flow
model, along with some reduction criteria to reduce its symmetry. We strengthen
the model with a new family of cutting planes and propose a new lower bound.
For this variant, we also consider some variations of the problem.
i
ii
Regarding vehicle routing problems, we address the vehicle routing problem
with time windows and multiple use of vehicles and the location routing problem,
with capacitated vehicles and depots and multiple use of vehicles. The first of
these problems considers the well know case of vehicle routing with time windows
with the additional consideration that vehicles can be assigned to several routes
within the same planning period. The second variant considers the combination
of the first problem, without time windows, with a location problem. This means
that the depots to be used must be selected from a set of available ones. For both
of these variants, we propose a network flow model whose nodes of the underlying
graph correspond to time instants of the planning period and whose arcs correspond
to vehicle routes. We reduce their symmetry by deriving several reduction criteria.
For the vehicle routing problem with time windows and multiple use of vehicles,
we propose an iterative algorithm to solve the problem exactly.
Our proposed procedures are tested and compared with other methods from
the literature. All the computational results produced by the series of experiments
are presented and discussed.
Resumo
“Se nao es capaz de o explicar de forma simples
e porque nao o compreendes suficientemente bem.”
Albert Einstein
Esta tese e dedicada a metodos de resolucao exacta para problemas de pro-
gramacao inteira NP -difıceis. Sao considerados dois desses problemas, nomeada-
mente o problema de corte e empacotamento e o problema de encaminhamento
de veıculos. Ambos os problemas tem vindo a ser abordados por investigadores
e profissionais da area da Investigacao Operacional ha ja varias decadas. O seu
interesse e contribuicao para aplicacoes reais do mundo dos negocios e industria,
assim como para inumeros outros tipos de organizacoes sao, hoje em dia, inegaveis.
A nossa abordagem para a resolucao dos problemas descritos e exacta. Con-
tribuimos com novos limites inferiores, novas famılias de desigualdades validas,
novos modelos de programacao inteira e algoritmos de resolucao exacta para os
problemas que nos propomos explorar. Em particular, abordamos duas variantes
de cada um dos referidos problemas.
Em relacao ao problema de corte e empacotamento, analisamos o problema de
minimizacao de padroes a uma dimensao e o problema de corte e empacotamento
a duas dimensoes, com restricao de guilhotina. O problema de minimizacao de
padroes a uma dimensao e pertinente em situacoes em que a mudanca de padrao
envolve, por exemplo, custos de reconfiguracao nas maquinas de corte. E o pro-
blema de minimizacao do numero de padroes diferentes de uma dada solucao de
um problema de corte. Para este problema contribuimos com novos limites in-
feriores. O problema de corte e empacotamento a duas dimensoes com restricao
de guilhotina e dois estagios e tambem abordado. Propomos um modelo pseudo-
polinomial de rede de fluxos, assim como criterios de reducao que eliminam parte
iii
iv
da sua simetria. Reforcamos o modelo com uma nova famılia de planos de corte e
propomos novos limites inferiores. Para esta variante, consideramos tambem outras
variacoes do problema original.
No que se refere ao problema de encaminhamento de veıculos, abordamos um
problema de encaminhamento de veıculos com janelas temporais e multiplas via-
gens, e tambem um problema de localizacao e encaminhamento de veıculos com
capacidades nos veıculos e depositos e multiplo uso dos veıculos. O primeiro destes
problemas considera o conhecido caso de encaminhamento de veıculos com janelas
temporais, com a consideracao adicional de que os veıculos podem ser alocados a
varias rotas no decurso do mesmo perıodo de planeamento. A segunda variante
considera a combinacao do primeiro problema, embora sem janelas temporais, com
um problema de localizacao. Isto significa que os depositos a usar sao selecciona-
dos de um conjunto de localizacoes disponıveis. Para ambas as variantes, propomos
um modelo pseudo-polinomial de rede de fluxos cujos nodos do grafo correspon-
dente representam instantes de tempo do perıodo de planeamento, e cujos arcos
representam rotas. Derivamos criterios de reducao com o intuito de reduzir a sime-
tria. Para o problema com janelas temporais e multiplas viagens, propomos um
algoritmo iterativo que o resolve de forma exacta.
Os procedimentos propostos sao testados e comparados com outros metodos
da literatura. Todos os resultados obtidos pelas experiencias computacionais sao
apresentados e discutidos.
Acknowledgments
“If I have seen further than others,
it is by standing upon the shoulders of giants.”
Isaac Newton
This thesis is the culmination of a three years journey of hard work but also
of great professional and personal growth. It represents a milestone in my life and
there are many people to whom I need to thank and acknowledge for their positive
influence and for contributing in many ways to the accomplishment of this project.
First of all, I feel truly fortunate for the opportunity I had to work with my
supervisor, Professor Claudio Alves, and my co-supervisor, Professor Valerio de
Carvalho. What I have learned from them, first as my teachers and then as my
supervisors, provided me strong foundations for my work. I thank them for all the
valuable opportunities they offered me, for all the people they introduced me and
for all the important experiences they provided me. This thesis would not have
been possible without their guidance and support, and for that I owe them my
deepest gratitude.
Professor Claudio has been for me an example of competence, dynamism and
hard, serious work. He is an outstanding professional, whose profound knowledge,
experience and know-how guided me through my research, enhancing my work sig-
nificantly. He was demanding but very supporting, always gave me the confidence
to pursuit any project, and I just could not have asked for a better supervisor. His
commitment to this project went far beyond his obligation, and his kindness and
friendship provided me a fruitful and enjoyable work environment. I just hope I
can reward him for his generosity by making him proud of my work in the future.
Professor Valerio introduced me to the field of combinatorial and integer pro-
gramming. It was his exceptional expertise in this subject that inspired me to
v
vi
love and appreciate it. He has been a great role model and a source of inspiration
to my work. I am profoundly grateful for his precious help, advice and constant
availability.
The friends I made in the lab also played a major role in the pursuit of this
project. Each one of them, in their peculiar and special way, enriched my work
days and my whole experience as a PhD student. One of them deserves special at-
tention: Elsa enrolled in this adventure with me from the beginning, and together
we faced all kinds of new challenges. It was side by side that we found our way in
this journey, and the precious friendship and companionship we built will certainly
remain forever. Without forgetting any of the others, I must also mention Pedro,
Telmo, Raid, Tiago, To and Carina. They were there for the good and bad days,
always willing to cheer me up in my whining moments and celebrate my accom-
plishments. We share countless memorable stories and these years would not have
been the same without them. Thank you all guys!
I cannot forget to sincerely thank all the precious technical support, but also
the good mood and kind presence of Eng. Acacio, and the administrative work
and patience of Conceicao. They were always there and helped me in numerous
ways through all these years.
I am greatly indebted to my coauthors, Francois Clautiaux and Saıd Hanafi, for
our joint work in this thesis. Working with them was a precious experience that
I truly cherish. I must also thank them dearly for their hospitality and friendship
during my two months stay in France. I do not forget the friends I made in the lab
during that time, who welcomed me with so much warmth and kindness. I would
like to thank especially to Mathieu, for his generous assistance running instances
for me, and to Jean Claude, for all his priceless help, encouragement and wonderful
friendship.
In addition, I would like to acknowledgement FCT (Fundacao para a Ciencia e
Tecnologia) for financially supporting my research with a grant (SFRH/BD/39607/
vii
2007), and to University of Minho, in particular to the Production and Systems
Department of the Engineering School, which provided me all the technical support,
equipment and work conditions for the development of my research.
A very special thanks goes to my close friends, for their caring and affection,
and to Gabriel, for his patience and understanding.
Finally, and perhaps most important, this thesis would not have been possible
without the unquestioning encouragement and love of my family, especially of my
parents and brothers.
I dedicate this thesis to my parents, for all the opportunities they have provided
me and for their constant support in everything I choose to do.
Braga, January 2011
Rita Macedo
Para ser grande, se inteiro: nada
Teu exagera ou exclui.
Se todo em cada coisa. Poe quanto es
No mınimo que fazes.
Assim em cada lago a lua toda
Brilha, porque alta vive.
Fernando Pessoa
(Odes de Ricardo Reis)
ix
Contents
1 Introduction 1
1.1 Motivation and Contributions . . . . . . . . . . . . . . . . . . . . . 2
1.2 Outline of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Combinatorial and Integer Programming 7
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Algorithms and Computational Complexity . . . . . . . . . . . . . . 11
2.3.1 Complexity Classes . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Big-O Notation . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Methods for Linear Programming . . . . . . . . . . . . . . . . . . . 15
2.4.1 The Simplex Method . . . . . . . . . . . . . . . . . . . . . . 15
2.4.2 Interior Point Methods . . . . . . . . . . . . . . . . . . . . . 15
2.5 Branch-and-Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 Network Flow Models . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 Dantzig-Wolfe Decomposition . . . . . . . . . . . . . . . . . . . . . 19
2.8 Constraint Programming . . . . . . . . . . . . . . . . . . . . . . . . 24
2.9 Heuristic Solution Methods . . . . . . . . . . . . . . . . . . . . . . 26
3 Cutting & Packing Problems 29
3.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 One-dimensional Cutting Stock Problems . . . . . . . . . . . . . . . 34
3.3 Two-dimensional Cutting Stock Problems . . . . . . . . . . . . . . 39
4 New Lower Bounds based on CG and CP for the PMP 45
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Mathematical Programming Models: State-of-the-art . . . . . . . . 52
xi
xii CONTENTS
4.2.1 A Nonlinear Compact Formulation . . . . . . . . . . . . . . 52
4.2.2 The Gilmore and Gomory Model with Setup Variables . . . 53
4.2.3 The IP Model of Vanderbeck [193] . . . . . . . . . . . . . . 54
4.2.4 An Arc-flow Formulation . . . . . . . . . . . . . . . . . . . . 55
4.3 Exploring a New IP Formulation . . . . . . . . . . . . . . . . . . . 56
4.3.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.2 Strengthening the Model . . . . . . . . . . . . . . . . . . . . 61
4.4 A CP Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.2 Deriving Lower Bounds from the CP Model . . . . . . . . . 69
4.4.3 Using the CP to Derive Valid Inequalities for SP1 . . . . . . 69
4.5 Comparative Computational Results . . . . . . . . . . . . . . . . . 71
4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5 Models and Bounds for the 2D-CSP and its Variants 79
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2 Network Flow Model . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3 Arc Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4 Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5 A New Family of Cutting Planes . . . . . . . . . . . . . . . . . . . 89
5.6 A New Lower Bound . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.7 Variants of the Problem . . . . . . . . . . . . . . . . . . . . . . . . 90
5.7.1 The Non-Oriented Case . . . . . . . . . . . . . . . . . . . . 90
5.7.2 Orientation of the First Stage’s Cuts . . . . . . . . . . . . . 91
5.8 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6 The Vehicle Routing Problem 115
6.1 Problem Definition and Some of its Variants . . . . . . . . . . . . . 116
CONTENTS xiii
6.1.1 Depot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.1.2 Vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.1.3 Customers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.1.4 Planning Period . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.1.5 Type of Input Data . . . . . . . . . . . . . . . . . . . . . . . 120
6.1.6 Objective Function . . . . . . . . . . . . . . . . . . . . . . . 121
6.2 Mathematical Formulations . . . . . . . . . . . . . . . . . . . . . . 121
6.2.1 Two-index Network Flow Model . . . . . . . . . . . . . . . . 121
6.2.2 Multicommodity Flow Model . . . . . . . . . . . . . . . . . 122
6.2.3 Set Partitioning Model . . . . . . . . . . . . . . . . . . . . . 123
6.3 Solution Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.3.1 Exact Approaches . . . . . . . . . . . . . . . . . . . . . . . . 124
6.3.2 Heuristic and Meta-Heuristic Approaches . . . . . . . . . . . 125
7 An Exact Algorithm for the MVRPTW 127
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.2 Integer Programming Models: State-of-the-art . . . . . . . . . . . . 129
7.2.1 Problem Definition and Notation . . . . . . . . . . . . . . . 129
7.2.2 A Compact Formulation . . . . . . . . . . . . . . . . . . . . 130
7.2.3 A Column Generation Model . . . . . . . . . . . . . . . . . 132
7.3 A New Pseudo-Polynomial Network Flow Model . . . . . . . . . . . 133
7.3.1 Vehicle Routes . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.2 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.3.3 Arc Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.4 Iteratively Refining the Discretization . . . . . . . . . . . . . . . . . 141
7.4.1 Initial Rounding Strategy . . . . . . . . . . . . . . . . . . . 142
7.4.2 Iterative Algorithm . . . . . . . . . . . . . . . . . . . . . . . 144
7.5 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
xiv CONTENTS
8 A Network Flow Model for the MLRP 155
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
8.3 Mathematical Programming Models . . . . . . . . . . . . . . . . . . 161
8.3.1 Three-index Commodity Flow Model . . . . . . . . . . . . . 161
8.3.2 Set-partitioning Model . . . . . . . . . . . . . . . . . . . . . 162
8.4 Network Flow Model . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.4.1 Arc Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.5 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
9 Conclusions 173
9.1 Contributions of the Thesis . . . . . . . . . . . . . . . . . . . . . . 174
9.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Bibliography 177
List of Figures
3.1 Cutting and packing typology [200] . . . . . . . . . . . . . . . . . . 32
3.2 1D-CSP representation . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 1D-CSP representation . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4 Solution representation (example 3.1) . . . . . . . . . . . . . . . . . 43
4.1 One-dimensional pattern minimization problem . . . . . . . . . . . 47
5.1 Non-exact two-stage guillotine cutting patterns . . . . . . . . . . . 85
5.2 Graph G0 of the network flow model (example 5.1). . . . . . . . . . 88
5.3 Graph G2 of the network flow model (example 5.1). . . . . . . . . . 88
5.4 Rotating items in a wood stock sheet . . . . . . . . . . . . . . . . . 91
7.1 First and last beginning and ending instants of route r . . . . . . . 134
7.2 Example of one path on the network flow model . . . . . . . . . . . 135
7.3 Complete network flow graph (example 7.1) . . . . . . . . . . . . . 138
7.4 Optimal solution (example 7.1) . . . . . . . . . . . . . . . . . . . . 139
7.5 Arc reduction (example 7.2) . . . . . . . . . . . . . . . . . . . . . . 141
7.6 Node disaggregation (example 7.3) . . . . . . . . . . . . . . . . . . 145
7.7 Node disaggregation (example 7.4) . . . . . . . . . . . . . . . . . . 146
xv
List of Tables
3.1 LP formulation (example 3.1) . . . . . . . . . . . . . . . . . . . . . 42
4.1 Restricted master problem (example 4.1). . . . . . . . . . . . . . . . 59
4.2 Benchmark instances [193]. . . . . . . . . . . . . . . . . . . . . . . . 73
4.4 Comparing the new IP model with the model of [193]. . . . . . . . . 74
4.5 Comparing the new IP model with cuts (4.40) with the model of [193]. 75
4.6 Deriving lower bounds using the CP model. . . . . . . . . . . . . . 76
4.7 Benchmark instances randomly generated using CUTGEN1. . . . . 77
4.8 Comparing the lower bounds for the randomly generated instances. 78
5.1 Description of the set A instances. . . . . . . . . . . . . . . . . . . 95
5.2 Description of the set B instances. . . . . . . . . . . . . . . . . . . 97
5.3 Results for the set A instances. . . . . . . . . . . . . . . . . . . . . 101
5.4 Results for the set B instances. . . . . . . . . . . . . . . . . . . . . 102
5.5 Variants for the set A instances. . . . . . . . . . . . . . . . . . . . 107
5.6 Variants for the set B instances. . . . . . . . . . . . . . . . . . . . 109
7.1 Instances description (example 7.1) . . . . . . . . . . . . . . . . . . 137
7.2 Feasible routes (example 7.1) . . . . . . . . . . . . . . . . . . . . . 138
7.3 Arc reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
7.4 Computational results for 25 customers and tmax 75 and 220 . . . . 149
7.5 Computational results for 40 customers and tmax 75 and 220 . . . . 150
7.6 Computational results for 25 customers and tmax 100 and 250 . . . 151
7.7 Computational results for 40 customers and tmax 100 and 250 . . . 152
8.1 Instances description. . . . . . . . . . . . . . . . . . . . . . . . . . . 167
8.2 Computational results for 20 customers. . . . . . . . . . . . . . . . 167
8.3 Computational results for 25 customers. . . . . . . . . . . . . . . . 169
xvii
Chapter 1
Introduction
“However high we climb in the pursuit
of knowledge we shall still see heights
above us, and the more we extend
our view, the more conscious we shall
be of the immensity which lies beyond.”
William Armstrong
Contents
1.1 Motivation and Contributions . . . . . . . . . . . . . . . 2
1.2 Outline of the Thesis . . . . . . . . . . . . . . . . . . . . 3
1
2 1. Introduction
1.1 Motivation and Contributions
Integer programming problems are a special case of the broader area of optimization
or mathematical programming. From the computational complexity theory, we
known that many of these problems are NP -hard, which means that they are easy
to state but very hard to solve, even becoming intractable for instances that are
not very small.
The applicability of these problems in both theoretical issues and practical
real-world situations is widespread, but despite all the recent advances in math-
ematical programming theory and computer technology, these problems remain
very difficult to solve exactly. Approaches like the Dantzig-Wolfe decomposition
and column generation represent techniques designed to overcome the complexity
of these problems, and have been explored by researchers, who have so far applied
them to several integer programming problems.
In this thesis, we intend to contribute with new models and exact solution tech-
niques for integer programming problems. We explore pseudo-polynomial models
for some of these difficult problems. We also propose a column generation model
and a constraint programming model for one of them, as well as new lower bounds.
Two challenging NP -hard integer programming problems are addressed. They
have been widely approached in the literature, probably because of their difficulty
to solve and practical application in the real-world, where more and more complex
decisions must be taken in order to efficiently manage scarce resources. This rich
literature may also be the consequence of the fact that their standard versions can
be adapted and extended to numerous variants, addressing several practical issues
that are overly simplified in the standard versions of the problems.
The focus of our work goes to the cutting stock and vehicle routing problems.
We propose a column generation model and a constraint programming model to
derive lower bounds for the pattern minimization problem. We also propose three
1.2. Outline of the Thesis 3
network flow models, one for the two-dimensional cutting stock problem, one for
the vehicle routing problem with time windows and multiple routes and one for
the location routing problem with multiple routes. The three network flow models
are pseudo-polynomial and are solved exactly. Our approach consists of taking
advantage of that characteristic and using existing solvers to directly solve the
integer problem. To improve the algorithms’ efficiency, we derive several reduction
criteria, lower bounds and families of valid inequalities.
In order to investigate the effectiveness of our proposed methods, they are tested
on instances from the literature and, in the particular case of chapter 5, on real
instances from the furniture industry. All the computational results produced by
the series of experiments are presented and discussed.
1.2 Outline of the Thesis
In this thesis, we explore four variants of two well known integer programming
problems, the cutting and packing problem and the vehicle routing problem. It is
is organized as follows.
Chapter 2 presents an overview of some aspects of integer and combinato-
rial problems, providing a theoretical basis for the forthcoming chapters. In this
chapter, we present some definitions and notations regarding these problems. We
present the concept of lower bounds, refer to important computational complexity
issues, outline some linear programming solution methods, refer to some models
and introduce important solution techniques, namely branch-and-bound, Dantzig-
Wolfe decomposition, column generation and constraint programming. Although
this thesis concerns exact solution methods, we also briefly refer to some heuristic
solution approaches.
Chapter 3 introduces the cutting and packing problem, providing a description
of its main variants. Generally speaking, in cutting and packing problems there is
4 1. Introduction
a set of smaller items that must be placed, without overlapping, in a set of larger
objects. Given its great connection to a variety of commercial and industrial real-
world situations, cutting and packing problems have been widely approached in
the literature, which originated a variety of different definitions and notations for
problems with similar logical structure. Therefore, many surveys and categorized
bibliographies on this subject have emerged, and we describe a recent typology for
these problems. Finally, we present different formulations for the one and two-
dimensional versions of the cutting stock problem and a general literature review.
Chapter 4 addresses the pattern minimization problem. It is a cutting and
packing problem that consists of finding a cutting plan with the minimum num-
ber of different patterns. This objective may be relevant when changing from one
pattern to another involves a cost for setting up the cutting machine. Most of the
approaches described in the literature are based on heuristics and only very few ex-
act solution methods have been reported so far in the literature. In this chapter, we
intend to contribute to the exact solution of the pattern minimization problem with
new lower bounds. We explore a different column generation model, and describe
different strategies to strengthen it. Among the different procedures discussed in
this chapter, one is based on constraint programming. An exact branch-and-price-
and-cut algorithm is also described. We test our approaches on a set of benchmark
instances from the literature and present the computational results.
In chapter 5, we describe an exact model for the two-dimensional cutting stock
problem with two stages and the guillotine constraint. It is an integer linear pro-
gramming network flow model, formulated as a minimum flow problem. In this
chapter, we explore the behavior of this model when it is solved with a commercial
software, explicitly considering all its variables and constraints. We also derive a
new family of cutting planes and a new lower bound, and consider some variants
of the original problem. The model is tested on a set of real instances from the
wood industry and the computational results are discussed.
1.2. Outline of the Thesis 5
With chapter 6, we intend to address the vehicle routing problem and its vari-
ants. This problem, which was formally stated for the first time more than fifty
years ago, has a very wide application area and a major practical relevance for
several different types of organizations. It is, generally speaking, the problem of
scheduling a fleet of vehicles to visit a set of customers, taking into account certain
operational constraints. The standard problem is defined, and we discuss some of
its variants. This chapter also provides an overview of several standard formula-
tions of the problem. A literature review of both exact and heuristic methods for
the vehicle routing problem and its variants is also presented.
In chapter 7, we explore a variant of the vehicle routing problem with time
windows and multiple use of vehicles. It considers that a given vehicle can be
assigned to more than one route per planning period. In this chapter, we propose
a new exact algorithm for this problem. Our algorithm is iterative and it relies
on a pseudo-polynomial network flow model, whose nodes represent time instants,
and whose arcs represent feasible vehicle routes. This algorithm is tested on a set
of benchmark instances from the literature and the corresponding computational
results are presented.
Chapter 8 addresses a variant of the location routing problem where vehicles
can perform several routes in the same planning period. This problem represents
a combination of two problems, a vehicle routing problem, which determines the
optimal set of routes to fulfill the demands of a set of customers, and a location
problem, as the depots from which the vehicles performing the routes can be asso-
ciated must be chosen from a set of possible locations. In this chapter, we explore
a new network flow model, whose nodes represent time instants, and whose arcs
represent feasible vehicle routes. It is tested on a set of adapted instances from the
literature.
Finally, in chapter 9 some conclusions are drawn, regarding the research results
of each of the addressed problems and the overall work in the thesis. The contribu-
6 1. Introduction
tions to the state-of-the-art of the tackled subjects are outlined, and some future
work directions are discussed.
Chapter 2
Combinatorial and Integer
Programming
“True optimization is the revolutionary contribution
of modern research to decision processes.”
George Dantzig
Contents2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Algorithms and Computational Complexity . . . . . . 11
2.3.1 Complexity Classes . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Big-O Notation . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Methods for Linear Programming . . . . . . . . . . . . 15
2.4.1 The Simplex Method . . . . . . . . . . . . . . . . . . . . 15
2.4.2 Interior Point Methods . . . . . . . . . . . . . . . . . . . 15
2.5 Branch-and-Bound . . . . . . . . . . . . . . . . . . . . . . 16
2.6 Network Flow Models . . . . . . . . . . . . . . . . . . . . 17
2.7 Dantzig-Wolfe Decomposition . . . . . . . . . . . . . . . 19
2.8 Constraint Programming . . . . . . . . . . . . . . . . . . 24
2.9 Heuristic Solution Methods . . . . . . . . . . . . . . . . 26
7
8 2. Combinatorial and Integer Programming
2.1 Introduction
Optimization or mathematical programming is a branch of applied Mathematics
that roughly consists of finding the best possible scenario for a given system. This
system is usually defined by an objective function f (to be maximized or mini-
mized), a set of variables whose values must be chosen in order to optimize the
objective function, and a domain, X, called the solution space, which represents
the intersection of all the problem’s constraints, defining the complete set of fea-
sible solutions. It is an important branch of the Operations Research field, and a
useful tool to choose the very best solution among a potentially exponentially large
number of feasible options. Optimization programming arises in a wide variety of
practical problems, from management to engineering, and can be applied to im-
prove all kinds of processes in the industrial and business fields, in several fields of
applied science and technology, and even in a variety of everyday life problems.
When the objective function and the constraint functions that define the so-
lution space are linear, the problem is said to be a Linear Programming (LP)
problem, and X is a polyhedron (or a polytope, if X is bounded).
Optimization problems can also be divided into two categories: the ones in
which x ∈ Rn+,∀x ∈ X, called continuous optimization problems, and the ones in
which x ∈ X can only take a finite number of discrete values, called Combinatorial
Optimization (CO) problems. The latter are in general much more difficult to
solve.
This thesis concerns combinatorial integer programming problems. In [53], the
author provides a general overview of the main developments of this particular area
in the last five decades. A thorough theoretical overview of combinatorial and inte-
ger programming problems is provided in [175, 201]. In [106], Grotschel describes
several examples of applications of CO problems that arise in the manufacturing
industry.
2.1. Introduction 9
Let A ∈ Rm×n be a real matrix, c ∈ Rn and b ∈ Rm real vectors of constants,
and x ∈ Rn a real vector of variables. A general optimization problem can be
defined as
zOP = McTx : x ∈ X, X = x ∈ Rn : Ax ./ b,
with M representing minimization or maximization, and ./ representing one of
the three symbols, ≤, ≥ or =. Set X ⊆ Rn is a polyhedron that represents the
feasible region, i.e., the set of all points in Rn that are feasible for the optimization
problem.
Some problems require the use of variables that are indivisible. For example,
if a variable represents a person, a machine or a project, it is clear that its value
must be integer. An Integer Programming (IP) model can be generally stated as
zIP = mincTx : x ∈ XIP, XIP = X ∩ Zn+.
Set X is a formulation of set XIP . There can be several different formulations for
XIP . If X ⊆ Rn and X ′ ⊆ Rn are two formulations for XIP (XIP = X ∩ Zn+and XIP = X ′ ∩ Zn+), and X ⊂ X ′, formulation X is a stronger formulation than
formulation X ′. The convex hull of a set of points is the smallest convex set that
contains it. Therefore, the convex hull of XIP , conv(XIP ), is the strongest possible
formulation for XIP . This concept can be very important when we are solving IP
problems, as we will discuss later. In fact, the developments in polyhedral combi-
natorics theory [176] and its application to IP problems have greatly contributed
to the increasingly efficiency of their solution algorithms.
A special case of IP problems is the one that requires that all variables are
binary, the Binary Integer Programming (BIP) problems, which are defined as
follows,
zBIP = mincTx : x ∈ XBIP, XBIP = X ∩ 0, 1n.
When only some of the variables have the integrality constraint, a model is said
10 2. Combinatorial and Integer Programming
to be a Mixed Integer Program (MIP), and can be stated as
zMIP = mincTx+ dTy : (x, y) ∈ XMIP,
XMIP = (Zn+ ×Rp+) ∩ (x, y) ∈ Rn
+ ×Rp+ : Ax+By ≤ b,
being B ∈ Rm×p a real matrix, d ∈ Rp a real vector of constants and y ∈ Rp a real
vector of variables. When the integrality constraint does not apply to any of the
problem’s variables, it is said to be a LP problem.
zLP = mincTx : x ∈ X, X = x ∈ Rn+ : Ax ≤ b.
LP problems are much easier to solve than IP problems. In fact, some exact
solution techniques for IP problems, like branch-and-bound, include the solution of
LP-relaxations within their algorithms, which represent the integer problem with
the integrality constraints relaxed.
Generally speaking, given an optimization problem
(P ) z = mincTx : x ∈ X ⊆ Rn,
a problem RP is called a relaxation of P if
(RP ) z = minϕ(x) : x ∈ XRP ⊆ Rn,
with X ⊆ XRP and ϕ(x) ≤ cTx, ∀x ∈ X. The optimal solution of a relaxation
of a minimization problem is, therefore, a lower bound for the original problem. If
the optimal solution of RP, x∗, is such that x∗ ∈ X and ϕ(x∗) = cTx∗, x∗ is the
optimal solution of the original problem. The difference between the optimal value
of an IP problem and the optimal value of its LP-relaxation problem is called the
integrality gap.
Two other well know relaxations, besides the LP-relaxation, are the combinato-
rial relaxation and the lagrangian relaxation. In combinatorial relaxation problems,
a set of constraints is removed from the problem, in order to make it easier to solve
2.2. Lower Bounds 11
(for example, the subtour elimination constraints in a shortest path problem). In
lagrangian relaxation problems, a set of constraints is also removed, and the ob-
jective function penalizes solutions that violate the removed constraints.
2.2 Lower Bounds
Let z∗ be the optimal solution of an IP problem P . Values z and z are called,
respectively, a lower bound and an upper bound of P if
z ≤ z∗ ≤ z.
Every feasible solution of P provides an upper bound, if P is a minimization prob-
lem, or a lower bound, if P is a maximization problem.
For a minimization problem P , if dze = bzc = k, z = k is an optimal solution of
P . Lower bounds (and correspondingly, upper bounds for maximization problems)
play a very important role in what concerns the solution of integer problems. They
not only prove optimality but can also assess the quality of both exact and heuristic
methods. Moreover, they often play a crucial role in the effectiveness of some
solution methods, like the branch-and-bound algorithm, whose efficiency greatly
depends on the quality of the lower bounds that limit the search tree. In [45, 37,
84, 145, 42], the authors provide lower bounds for several IP problems.
2.3 Algorithms and Computational Complexity
An important concept when dealing with CO problems is the measure of their
computational complexity. Such a measure can assess how difficult it is to solve
the problem.
Let fA : N → N be a time function for a given algorithm A. This means that
the algorithm running time is at most fA(n) for an input with size n ∈ N. We say
that A is a polynomial time algorithm if, for a given polynomial p, fA(n) ≤ p(n),
12 2. Combinatorial and Integer Programming
∀n ∈ N. Problems that can be solved by a polynomial time algorithm are usually
addressed as easy problems. Problems that cannot be solved by a polynomial time
algorithm are considered to be intractable for instances that are not very small.
A decision problem is a problem that, for any given input, has only two possible
outputs: yes (or 1) and no (or 0). We say that a decision problem Π is polynomially
reducible to a decision problem Π∗ (Π ∝ Π∗) if there is a polynomial time algorithm
which transforms instances i ∈ Π into instances i∗ ∈ Π∗ in such a way that instance
i has an answer yes if and only if instance i∗ has an answer yes.
In 1971, Stephen Cook [52] defined the complexity class NP , laying the foun-
dations of complexity theory. The author proved that any problem in this class
can be converted in polynomial time to the boolean satisfiability problem (SAT),
with the famous Cook’s theorem. With this theorem, the author introduced the
notion of NP -completeness, and SAT became the fist proven NP -complete prob-
lem. Later on, Karp [125] proved other twenty one problems to be NP -complete,
followed by Garey and Johnson [91], who provided a more comprehensive list of
300 NP -complete problems.
Given an optimization problem, for example, mincx : x ∈ X, a corresponding
decision problem (also called recognition problem) would be the problem in the
form of the question: Is there any x ∈ X such that cx ≤ k?, being k a constant.
From a complexity point of view, both the optimization and decision problems are
equivalent in the sense that if we can answer the second one in polynomial time,
the solution for the first one can also be found in polynomial time. Having said
that, we stress the fact that, formally, the NP -completeness theory only addresses
decision problems.
2.3.1 Complexity Classes
Let us now define four classes of problems:
(i) the class of NP (nondeterministic polynomial time) problems is the subset of
2.3. Algorithms and Computational Complexity 13
decision problems for which any instance with an answer yes has a polynomial
proof for it;
(ii) the class of P problems is the subset of decision problems that belong to NP
and for which there is a polynomial algorithm;
(iii) the class of NP -complete problems is the subset of problems Π ∈ NP such
that for every problem ∆ ∈ NP , ∆ is polynomially reducible to Π. This
means that problems Π are at least as hard as every other problem in class
NP ;
(iv) the class of NP -hard problems is the subset of problems Π such that for every
problem ∆ ∈ NP , ∆ is polynomially reducible to Π. Π does not necessarily
belong to class NP . Therefore, the intersection between class NP and class
NP -hard is the class NP -complete. An optimization problem is, therefore,
said to be NP -hard if its recognition version is NP -complete.
It is clear that P ⊆ NP and that NP -complete ⊆ NP . The fundamental
question is P = NP? If someone proves that there is a problem in the class NP -
hard that is polynomially reducible to a problem in the class P , then it would be
proved that all problems could be solved in polynomial time, and thus P = NP .
Neither this nor its contrary has ever been proved. The fact that no one has ever
found a polynomial algorithm for a NP -hard problem may be an empirical evidence
that P 6= NP , although not everyone in the research community is convinced of
that. This is one of the most famous open problems in theoretical computer science,
and it is commonly addressed as the P vs NP problem. The Claus Mathematics
Institute established this problem as one of the seven Millennium Problems, with
a prize of one million dollars for who ever formally proves either that P = NP or
P 6= NP .
NP -complete problems can still be divided into two categories. The weakly
NP -complete and the strongly NP -complete problems. The first are the ones that
14 2. Combinatorial and Integer Programming
can be solved with a pseudo-polynomial algorithm and the second are the ones that
cannot be solved with a pseudo-polynomial algorithm unless P = NP .
Pseudo-polynomial algorithms are polynomial in the dimension of the input and
the size of the numerical data. They differ from strongly polynomial algorithms as
strongly polynomial algorithms have a running time that is independent of the nu-
merical size of the input. An integer sorting algorithm is an example of a strongly
polynomial algorithm. The number os steps required to solve it is independent
of the sizes of the input data, depending only on the number of integers to sort.
The size of an instance is the number of bits required to encode it. Numerical
data are encoded in binary notation. This means that an integer x takes log2x
bits to encode. Technically speaking, pseudo-polynomial algorithms are, therefore,
exponential, but, according to Garey and Johnson [91], they only express an ex-
ponential behavior when the input data contains exponentially large numbers, and
thus can efficiently solve instances where that does not happen. Strongly NP -
complete problems are those that remain NP -complete even if the input data is
encoded in unary notation (an integer number x takes x bits to encode in unary
notation).
2.3.2 Big-O Notation
The efficiency of an algorithm can also be described by the so called Big-O nota-
tion. It measures an algorithm efficiency by its worst-case behavior, i.e., the worst
performance of all inputs possible.
Given two real functions f and g, f(n) is O(g(n)) if |f(n)| ≤ k|g(n)| for all
n > 0 and some k > 0.
The Big-O notation uses an asymptotic analysis to provide an approximate
upper bound on the computational effort for the algorithm to solve an instance of
size n.
2.4. Methods for Linear Programming 15
2.4 Methods for Linear Programming
2.4.1 The Simplex Method
The simplex method is considered as one of the most important algorithms devel-
oped in the last century. It was devised in 1947 by Dantzig, known as the father
of linear programming and, although its worst-case run-time is exponential, it has
proven to be, in practice, a very efficient algorithm.
If the underlying polyhedron of LP problem is nonempty and bounded, the op-
timal solution of the problem is in one of its vertices (extreme points). The main
idea of the simplex method is to visit the vertices of the polyhedron, moving from
one vertex to an adjacent vertex, in a process called pivoting. It is an iterative al-
gorithm that tries to improve the solution, until no further improvement is possible
and, therefore, the optimal solution is found.
In [62], Dantzig provides a comprehensive description of this well known algo-
rithm that revolutionized the way of solving linear programming problems.
2.4.2 Interior Point Methods
In 1984, Karmarkar [124] proposed an algorithm for LP problems that belongs to
the class of interior point methods. These methods had been used for nonlinear
programming problems since the sixties. However, it was only after the revolution-
ary publication of Karmarkar that several of these methods were proposed in the
literature for LP problems.
Unlike the simplex method, interior point methods have polynomial complexity.
Their main concept differs from the simplex algorithm in the sense that the search
for the optimal solution is done through the convergence of points belonging to the
interior of the solution space polyhedron, rather than to its vertices. One of the
most efficient interior point methods is the one proposed in [156], which belongs to
16 2. Combinatorial and Integer Programming
the class of primal-dual path-following interior point methods.
2.5 Branch-and-Bound
One of the most widespread approaches to solve integer programming problems is
the Branch-and-Bound (B&B) algorithm, first proposed to solve an IP problem in
[129]. It is an enumerative technique, whose principle relies on a strategy of dividing
the search space into several subsets, and consecutively solving their relaxations,
until the optimal (integer) solution is found, once certain conditions are verified.
The algorithm is structured as a search tree, being its root node the LP-relaxation
of the original problem. From each node of the tree, two new nodes can be created,
by adding the so called branching constraints. These two nodes partition the search
space represented in the previous node into two subspaces, that are to be solved
independently. This division process continues at each node, unless the node is
pruned (or fathomed). This happens when at least one of three conditions holds:
(i) the optimal solution of the subproblem represented by the node is worse than an
integer solution previously found at another node, (ii) the optimal solution found
at the node is integer or (iii) if the subproblem represented by the node is infeasible.
This pruning process represents an elimination of many possible solutions that are
proved to be either dominated or infeasible.
The main idea on which this technique is based is that, given a MIP problem
and the subsets XMIP1 , . . . , XMIP
d such that XMIP = XMIP1 ∪ . . . ∪XMIP
d ,
zMIP = mincTx+ dTy : (x, y) ∈ XMIP
is equivalent to
zMIP = min1≤i≤d
mincTx+ dTy : (x, y) ∈ XMIPi .
After solving the LP problem at a given node, the question of which node should
be selected next arises. It is known that the search strategy to adopt influences
2.6. Network Flow Models 17
the performance of the algorithm. Although other, eventually more sophisticated,
search strategies can be devised, there are two traditional ones: the Depth-First
Search and the Best-First Search. The former implies that the next node to tackle
is always the one corresponding to the first subset created by the branching at that
node. When there is no such node to explore, the first unexplored node of the
previous levels should be chosen. This strategy typically provides integer feasible
solutions quickly. The latter implies that the next node to go to has been generated
by the node who provides the best lower bound. This strategy typically provides
good lower bounds earlier in the search.
2.6 Network Flow Models
Graphs are very useful to model many combinatorial problems, even some that
have no apparent underlying physical network structure. It is so, not only because
of their intuitive representation, but also because their structure makes them, in
a computational point of view, more efficient than other optimization techniques.
They can represent any problem that may be described by relationships between
pairs of a set of elements. They can model assignment, inventory planning, machine
sequencing or facilities location problems, flows of liquids going through pipes,
current going through electrical circuits or messages going through communications
systems, and even traffic flows going through road networks, just to state a few
examples.
A graph G = (V,A) is a structure that is defined by a set of nodes (or vertices)
V and a set of arcs (or edges) A, each arc (i, j) connecting two nodes i, j ∈ V .
A graph is said to be directed if arc (i, j) ∈ A is considered to be different
from arc (j, i). It is complete if every possible pair of nodes is connected by an
arc. A path between a pair of nodes is a sequence of arcs that connects them. If
all those arcs are either directed or undirected, the path is directed or undirected,
18 2. Combinatorial and Integer Programming
respectively. A graph is connected if there is an undirected path between every
pair of nodes. A cycle is a path that begins and ends in the same node. A tree is
a connected graph with no cycles. A spanning tree of a graph is a subgraph that
is a tree and contains all nodes of the graph, and thus has exactly |V | − 1 arcs.
When nodes or arcs have associated characteristics like a demand or supply, for
the nodes, or a cost, for the arcs, the graph is called a network. In a network flow
model, there is a flow that goes through the arcs, visiting all nodes in V , or even
just a subset of them, in order to satisfy a given set of constraints. The flow in
the network goes from the source node, s, to the sink (or terminal) node, t. For
every node of the graph that is neither the source nor the sink, there must be a
flow conservation, which means that the amount of inflow of a node must equal the
amount of outflow of that same node. Being the source and the sink the beginning
and the end of the network, respectively, there is only flow getting out of the source
node and flow getting in the sink node.
According to the specificities and objective of each optimization problem, the
network that models it may have quite different characteristics. Some of the most
common general classes of network optimization problems are the shortest path,
minimum spanning tree, maximum flow and minimum cost flow problems. The
shortest path problem arises whenever it is necessary to find a path with the small-
est cost or length between two given nodes of a graph. Some of the most known
algorithms to solve this problem are the Dijkstra’s, Ford’s and Floyd’s algorithms.
The minimum spanning tree is the problem of selecting the arcs to include in the
graph, in order to find a spanning tree with the smallest cost or length. This prob-
lem can be solved with the well known Kruskal’s algorithm. The maximum flow
problem arises whenever there is a network whose arcs have capacity constraints
and the objective is to send the maximum amount of flow through the graph. On
the other hand, when it is necessary to send a given amount of flow through the
graph, with the minimum possible cost, we are in the presence of a minimum cost
2.7. Dantzig-Wolfe Decomposition 19
flow problem.
A minimum cost flow problem can be formulated as a LP model (2.1)-(2.3),
where variables xij represent the flow that goes through arc (i, j).
min∑
(i,j)∈A
cijxij (2.1)
s.t.∑
b:(i,j)∈A
xij −∑
j:(i,j)∈A
xji = bi, ∀i ∈ N, (2.2)
0 ≤ xij ≤ ubij ∀(i, j) ∈ A (2.3)
The amount of flow that is absorbed or produced in node i is defined by bi. De-
pending on the value of bi, node i is one of three different kinds of nodes: a supply
node, if this value is positive, a demand node, if it is negative or a transhipment
node, if bi = 0. All minimum flow cost problems must satisfy the so called feasible
solutions property in order to be feasible. It states that∑n
i=1 bi = 0, which ensures
that the total flow supplied to the network equals the flow that is absorbed by it.
In chapters 5 and 7 we use network flow graphs to model a two-dimensional
cutting stock problem and a multi trip vehicle routing problem, respectively, that
are generalizations of the minimum cost flow problem, with additional constraints
on the arcs. Their objective is to minimize the amount of flow that goes through
the network, while satisfying some constraints. All arcs have identical costs and
there is flow conservation in all nodes. All nodes are transhipment nodes, except
for the source, s, which is a supply node, and the sink, t, which is a demand node.
This means that −bs = bt.
2.7 Dantzig-Wolfe Decomposition
Solving integer programming models can be, as discussed before, a hard task and
it often relies on techniques that imply the use of the corresponding LP-relaxation
solution, like the branch-and-bound algorithm (section 2.5). Therefore, it can be
20 2. Combinatorial and Integer Programming
significantly important that the LP-relaxation of the IP model represents a strong
formulation of it.
A method to strengthen an IP formulation is to introduce cutting planes to the
model. These are valid inequalities, i.e., inequalities aTx ≤ d, with a ∈ Rn and
d ∈ R, that are satisfied by every point of the set of feasible solutions XIP of the
IP model. In a general cutting plane algorithm, the inequalities that are violated
by an optimal solution of the LP-relaxation are iteratively introduced in the IP
model, in order to cut off the optimal LP-relaxation solution without removing
any integral solution. This improves the formulation, by reducing the search space
of the LP-relaxation.
Another important technique consists of using reformulation methods, which
usually rely on a decomposition of the model. Examples of reformulation methods
are the Lagrangian decomposition [107], the Benders’ decomposition [31] and the
Dantzig-Wolfe decomposition methods.
The Dantzig-Wolfe decomposition is a problem reformulation technique that
may improve the LP-relaxation bound and can be applied to problems whose con-
straint matrix has a block angular structure.
This means that the constraint matrix can be written as
A01x1 + A0
2x2 + . . . + A0pxp ≤ b0
A1x1 ≤ b1
A2x2 ≤ b2
. . .
Apxp ≤ bp
with A0i ∈ Rn0×mi , Ai ∈ Rni×mi , b0 ∈ Rn0 and bi ∈ Rni , ∀i ∈ 1, . . . , p. Note that
sets Xi = xi ∈ Zmi+ : Aixi ≤ bi, ∀i ∈ 1, . . . , p, are independent except for the
linking constraints∑p
i=1A0ixi ≤ b0, and thus, the IP problem could be expressed
as
2.7. Dantzig-Wolfe Decomposition 21
zIP = min
cTx :
p∑i=1
A0ixi ≤ b0, xi ∈ Xi,∀i = 1, . . . , p
.
In practice, this block angular structure of the problem happens when there are
subsets of constraints that represent disjoint subsystems within the main system,
and a subset of linking constraints that integrate all the subsystems, dealing with
the common characteristics and coordinating them. Examples of these subsystems
are each depot of a vehicle routing problem with multiple depots, each different
cutting pattern in a cutting stock problem, each different machine in a sequencing
problem, among many others.
This method consists of a reformulation of the variables that allows the prob-
lem to be split into smaller subproblems, to be solved independently. This division
results in a master problem and in a set of pricing subproblems. The master prob-
lem is equivalent to the original problem, but typically has a tighter LP-relaxation
bound (if the subproblems do not have the integrality property, i.e., the polyhedron
that describes its feasible region, Q, is such that Q = conv(Q ∩ Zn+)).
This reformulation of variables implies that the formulation X of the feasible
region of the integer problem XIP is replaced by its convex hull, conv(XIP ), which
is its strongest possible formulation, as mentioned before.
According to Minkowski’s Theorem [166], a nonempty polyhedron X = x ∈
Rn+ : Ax ≤ b can be described asX = x ∈ Rn
+ : x =∑P
p=1 λpxp+
∑Rr=1 δ
rxr,∑
p λp
= 1, δr ≥ 0, being xpp∈P the set of extreme points and xrr∈R the set of extreme
rays of X. If X is bounded, the polyhedron can be described solely by the convex
combination of its extreme points, i.e., X = x ∈ Rn+ : x =
∑Pp=1 λ
pxp,∑
p λp = 1.
Consider the IP problem:
(P ) mincTx : A0x ≤ b0, A1x ≤ b1, x ≥ 0.
Suppose that X1 = x : A1x ≤ b1 is a nonempty polyhedron. It can, therefore,
22 2. Combinatorial and Integer Programming
be reformulated as
X1 =
x ∈ Rn
+ : x =
P1∑p=1
λpxp +
R1∑r=1
δrxr,∑p
λp = 1, δr ≥ 0
,
being P1 and R1 the set of extreme points and extreme rays of X1. All feasible
solutions x of P must belong to set X1, and thus, the IP model can be reformulated
as
min
cT P1∑p=1
λpxp +
R1∑r=1
δrxr
: A0
P1∑p=1
λpxp +
R1∑r=1
δrxr
≤ b0, P1∑p=1
λp = 1, δr ≥ 0
.
This problem, the master problem, has less constraints but typically an expo-
nential number of variables λi, i ∈ P1∪R1, one for each extreme point and ray of the
polyhedron X1. This implies that it may not be possible to explicitly enumerate all
variables, for any reasonably sized practical problem, and thus, this decomposition
technique is normally applied within a column generation framework.
Column generation is basically identical to the simplex method, with the differ-
ence that it only handles a few non-basic variables at each time, being the remaining
ones fixed to zero. The master problem that only considers explicitly some of the
variables is referred to as the restricted master problem (RMP). The algorithm
dynamically adds new variables, according to their attractiveness in what concerns
their reduced costs at the current basis. These new variables are iteratively gener-
ated by solving the so called pricing subproblems, one for each of the blocks of the
problem’s structure. These subproblems should, therefore, not be very difficult to
solve, otherwise this method becomes inefficient for the considered problem. They
should ideally be well known combinatorial algorithms that can be solved with an
efficient algorithm.
The pricing subproblems use the dual information of the master problem to
price out the most attractive (if there is one) new column to be considered in
the RMP. Considering the previous example, the column must represent a feasible
2.7. Dantzig-Wolfe Decomposition 23
point of X1 and have a negative reduced cost. The subproblem can be formulated
as:
min(c− πA0)x− α) : A1x ≤ b1, x ≥ 0,
being c the cost of the new column and π and α the dual values of the first and
second sets of constraints of the master problem.
In the column generation procedure there is an iterative exchange of information
between the master problem and the pricing subproblems, in order to solve the
global problem. It can be described as follows.
Initialization: A set of columns (variables) must be chosen to belong to the first
RMP to be solved. This set can represent the variables of a heuristic (prefer-
ably good) solution or any other random set, as long as the feasibility of
the problem is ensured. It can be useful to consider some artificial columns,
which are columns that may not be feasible in X1 but always ensure that the
problem remains feasible, so that the iteration does not stop because there
are not enough columns in the RMP to generate a feasible solution. It should
always be guaranteed that those columns only belong to the solution if no
others can be chosen. Typically, this is enforced by setting their costs to very
high values.
Solving the RMP: The LP-relaxation of the RMP is solved. If it is feasible, the
corresponding optimal dual solution (π∗, α∗) is saved.
Solving the pricing subproblems: Each one of the pricing subproblems is solved,
using the previous values (π∗, α∗), as defined above, until (at least) one so-
lution with negative reduced cost is found. If no such solution is found, the
algorithm stops, and the previous optimal solution of the RMP is the optimal
solution of the LP-relaxation of the master problem
24 2. Combinatorial and Integer Programming
Reoptimizing the RMP: If an attractive column is found, it is incorporated in
the RMP, and the LP-relaxation of the problem is reoptimized.
The column generation algorithm only solves the LP-relaxation problem. In
order to solve the integer problem, we need to integrate it in a branch-and-bound
algorithm. The resulting solution scheme is called a branch-and-price (B&P) algo-
rithm [194, 68].
In a B&P algorithm, column generation must be performed in every node of
the branching tree, where a new LP problem is solved. Moreover, the branching
constraints must be such that desirably the structure of the pricing subproblems is
not destroyed.
The B&B algorithm can also be combined with a cutting plane technique. In
this approach, new cuts are added at each node of the branching tree, where a new
LP problem is solved, in order to strengthen its formulation. This methodology is
known as branch-and-cut.
Finally, all the last three methods, column generation, branch-and-bound and
cutting planes, can be combined in a general framework for solving large scale
integer programming problems called branch-and-price-and-cut.
2.8 Constraint Programming
Constraint Programming (CP) is a computational programming approach whose
core is the concept of constraint [151]. The problems are described in terms of the
decision variables, their domains and the relations between them. The idea is to
solve problems by exploring their properties, expressed by constraints. Because of
its natural and declarative way of defining problems through constraints, CP can
be very useful to model optimization problems that are difficult to express, as it
typically allows to define models with fewer decision variables and constraints.
Although the use of constraints has arisen in the sixties [178, 160, 197], in
2.8. Constraint Programming 25
the field of Artificial Intelligence and Computer Graphics, only in the last two
decades has it been considered as an approach to modeling and problem solving.
It has been applied to a wide variety of areas such as combinatorial optimization
problems, numerical analysis, DNA sequencing, graphic systems, computer algebra
and several business applications.
In CP, a problem must be formulated as a constraint satisfaction problem. In
such models, there is a set of variables X1, . . . , Xn, each with a finite domain Di,
i ∈ 1, . . . , n, of possible values and a set of constraints C1, . . . , Cm that restricts
the combinations of values that subsets of variables can simultaneous take. Given
an assignment of variables, it is called consistent if it does not violate any of the
constraints. A solution for the problem is, therefore, a consistent assignment of all
variables. Constraint satisfaction problems are used to find out whether there is a
valid solution for the problem or not, to find one (or more) valid solution or even
to find an optimal (or near optimal) solution (constraint optimization).
The main techniques to solve CP problems consist of constraint propagation and
search methods. The search for a solution to a constraint satisfaction problem can
be made systematically through all the solution space or consistently by removing
inconsistent values from the domains. Usually, a combination of both methods
is used. Constraint propagation algorithms reduce the search space by replacing
the original constraint satisfaction problem by equivalent ones, with smaller search
spaces, obtained by repeatedly reducing domains or even constraints. It works
by propagating the implications of a constraint on a variable onto other variables
[184]. The backtracking algorithm is one of the most common search methods. It
consists of constructing partial assignments of variables and iteratively extending
them by adding another assignment to a variable that is still consistent with the
current partial solution. When no such value is found for a variable, the algorithm
reaches a so-called dead end and goes back to a previous partial solution, until a
consistent solution is found (or the problem proves to be infeasible).
26 2. Combinatorial and Integer Programming
If it is true that CP can be helpful to model complex problems, it is also true
that it may not very efficient to find optimal solutions, specially if the problem
is loosely constrained [119]. On the other hand, optimization methods such as
MIP based algorithms can be efficient when they have strong formulations and
special structures to be exploited. Recently, several authors have proposed hybrid
approaches that integrate CP methods with optimization methods such as MIP
based algorithms, in order to take advantage of both methods’ strengths [110, 119,
113, 2, 157, 67].
2.9 Heuristic Solution Methods
Optimization algorithms can be classified in two main categories: either exact or
heuristic methods. For most NP -hard combinatorial optimization problems, exact
algorithms have very large run times or even become intractable for instances that
are not very small (assuming that P 6= NP ). Despite all the recent advances both
in mathematical programming theory and in the computer technology, in a real-
world context, it may be unrealistic to try to solve these problems with an exact
method. Heuristic algorithms, on the other hand, have typically much smaller
computational times, although their solution is not (proven to be) optimal. This
may also be undesirable in situations where small improvements in the solution are
translated into considerable savings.
The trade between the quality of the solution and computational time must
be contextualized in each particular situation, so that, depending on the reality to
consider, the best method can be chosen.
The heuristic methods [196] may be classified as constructive heuristics, local
search heuristics or metaheuristics. Constructive heuristics build solutions step by
step, incrementing partial solutions iteratively, until a global one is reached. When
2.9. Heuristic Solution Methods 27
the criterion to choose the next part to increment is based on the immediate max-
imization of profit, the heuristic is said to be greedy. Local search heuristics [1]
iteratively try to improve a given solution by searching another one in its neigh-
borhood. This can be achieved by provoking perturbations on the initial solution.
The best solution of a given neighborhood is called a local optimum. Metaheuris-
tics are heuristic solution schemes for optimization problems, whose concept was
introduced in [103]. They represent a heuristic algorithmic framework where the
solution space of a combinatorial optimization problem is explored in a more guided
and efficient way than in the more basic heuristics. They even admit intermedi-
ate non improving or even infeasible solutions in order to escape local optima.
Interestingly, some of the most known metaheuristics are inspired in natural pro-
cesses, like animal behavior, genetic evolution or physical processes. Descriptions
of some of the most important metaheuristics in the literature are provided in
[104, 35]. The following methods are among some of these: tabu search [103, 105],
simulated annealing [127], genetic algorithms [112], ant colony optimization [71],
variable neighborhood search [159]. These methods have shown significant success
in solving difficult combinatorial optimization problems by finding near-optimal,
and sometimes even optimal solutions.
In the last decades, a new approach has been considered, the combination of
metaheuristics and exact algorithms for combinatorial optimization problems. This
combination may be collaborative or integrative [170, 36]. In the former method, the
different algorithms run separately, in a sequential or parallel way, while exchanging
information. In the latter one, there is a main method that embeds the other
in some subroutine. In [121], the authors propose a taxonomy to methods that
hybridize exact and metaheuristic algorithms.
Chapter 3
Cutting & Packing Problems
“To understand is to perceive patterns.”
Isaiah Berlin
Contents3.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . 30
3.2 One-dimensional Cutting Stock Problems . . . . . . . . 34
3.3 Two-dimensional Cutting Stock Problems . . . . . . . 39
29
30 3. Cutting & Packing Problems
3.1 Problem Definition
Cutting and Packing (C&P) problems represent a class of combinatorial optimiza-
tion problems, belonging to the geometric combinatorics field, due to their geomet-
ric structure. Generally speaking, in a C&P problem there is a set of small items
that must be placed, without overlapping, in a set of large objects. These problems
are greatly connected to a wide variety of commercial and industrial real-world sit-
uations, including all those that consider the cutting of raw materials, packing of
objects or loading vehicles but also, in a broader sense, other ones concerning the
cutting or packing of abstract objects, like packing time in scheduling problems.
Most extensions and variants of Cutting Stock Problems (CSP) are well known
to be NP-hard. This means, as discussed in chapter 2, that all algorithms cur-
rently known for finding optimal solutions may require a number of computational
steps that grows exponentially with the problem size rather than according to a
polynomial function. Over the years, many different optimization formulations
and solution approaches have arisen in the literature, all including different dimen-
sions, application fields and special constraints and requirements. This originated a
variety of different definitions and notations for problems with similar logical struc-
ture. Therefore, many researchers provided surveys and categorized bibliographies
on this subject (Dowsland and Dowsland [72], Dyckhoff and Finke [75],Dyckhoff
et al. [76], Hopper and Turton [115] Lodi et al. [142, 144]). Moreover, Dyckoff et
al. [74] developed a typology of these problems. In this typology, there is a classi-
fication scheme that combines four main characteristics in the form of four-tuples
α/β/γ/δ, in order to classify any C&P problem as one of 96 possible subproblems.
These characteristics are:
Dimensionality (α): the minimum number of spatial dimensions necessary
to describe a cutting pattern of a feasible solution, that can be (1), (2), (3)
or (N > 3).
3.1. Problem Definition 31
Kind of assignment (β): describes whether all objects and only a selection
of small items must be used (B), or if all small items and only a selection of
objects are considered (V).
Assortment of large objects (γ): describes whether there is one or many,
identical or different large objects to assign. (O) for one large object, (I) for
many identical large objects and (D) for many different large objects.
Assortment of small items (δ): describes whether there are few/many
identical/different small items to assign. (F) if there are few small items of
different dimensions, (M) or (R) if there are many small items of, respectively,
many or relatively few different dimensions or (C) if there are many identical
small items.
In [200], Wascher et al. developed an improved typology of C&P problems,
based on the previous one [74], with new categorization criteria, in order to over-
come some deficiencies detected in the previous work. They considered five main
criteria to classify problems in standard problem types. The first criterion, kind of
assignment, is similar to the one in [74] and distinguishes the problems according to
their objective functions (input minimization, for the cases where all small items can
be assigned to the large objects, or output maximization, for the cases where only
a subset of small items can be assigned to the large objects). In what concerns the
assortment of small items, there can be three different situations: identical small
items or a weakly or strongly heterogeneous assortment of small items. For the
assortment of large objects, there can be one large object or several large objects.
Whenever there is only one large object, it can have fixed or variable dimensions.
If there are several large objects, they can all be identical or have a weakly or
strongly assortment. With respect to the problem’s dimensionality, the authors
only consider one, two or three-dimensional problems. Finally, they introduce a
new criterion for the two or three-dimensional problems that further distinguishes
32 3. Cutting & Packing Problems
INTERMEDIATE PROBLEM TYPES
Placement Problem (PP)
Identical Item Packing Problem
Knapsack Problem (KP)
Cutting Stock Problem (CSP)
Open Dimension Problem
Bin Packing Problem (BPP)
Cutting and Packing Problems (C&P)
Output maximization
Input minimization
several identical large objects
heterogeneous assortement
of several large objects
one large object
several identical large objects
heterogeneous assortement
of several large objects
one large object
weakly heterogeneous
assortment of large objects
strongly heterogeneous
assortment of large objects
identical large objects
weakly heterogeneous
assortment of large objects
strongly heterogeneous
assortment of large objects
identical large objects
identical
small items
weakly
heterogeneous
assortment of
small items
strongly
heterogeneous
assortment of
small items
arbitrary variable
dimension(s)
weakly
heterogeneous
assortment of
small items
strongly
heterogeneous
assortment of
small items
BASIC PROBLEM TYPES
Identical Item Packing ProblemIIPP
Single Large Object PP SLOPP
Multiple Identical Large Object PP MILOPP
Multiple Heterogeneous Large Object PP MHLOPP
SKP Single KP
MIKP Multiple Identical KP
MHKP Multiple Heterogeneous KP
ODP Open Dimension Problem
SSSCSP Single Stock Size CSP
Multiple Stock Size CSPMSSCSP
Residual CSPRCSP
Single Bin Size BPPSBSBPP
MBSBPP Multiple Bin Size BPP
RBPP Residual BPP
Figure 3.1: Cutting and packing typology [200]
the shape of small items, which can be regular or irregular. By combining the first
two criteria, kind of assignment and assortment of small items, the authors define
six basic types of C&P problems. These types are then structured further into four-
teen intermediate problem types by the additional application of the third criterion
assortment of large objects. Finally, the application of the criterion dimensional-
ity and, for the two and three-dimensional problems, the criterion shape of small
items, provides the refined problem types. The identification of any C&P prob-
lem should be stated in the form dimensionality-shape-intermediate problem
type. Whenever a problem presents all the properties of its refined problem type,
but it also has some additional characteristics or constraints, it is called a second-
level standard problem. Problems of second-level standard types whose additional
constraints are related with aspects that do not belong to the cutting or packing
3.1. Problem Definition 33
field are said to belong to an extended problem type. Finally, when the assump-
tions of a given problem are different from those of the standard problems, it is
considered as a variant.
Some approaches in the literature integrate the standard versions of the problem
with additional aspects. This is the case of the pattern minimization problem,
where there are setup costs to consider, and thus the objective is to minimize the
number of different cutting patterns, within an optimal solution for the standard
CSP [193, 186, 15]. Some versions also include constraints related with due dates
[139, 120, 173], multiple lengths for the large objects [30, 57, 16], minimization of
open stacks [203, 18, 204], which imply constraints with the sequencing of cutting
patterns, or even the reuse of generated waste in a multiperiod context [183], among
others.
The interest in the field of C&P over the last decades, by practitioners and
researchers in this area, has been so significant that the European Journal of Op-
erations Research (EJOR) has published four special issues on C&P problems over
the last twenty years [77, 34, 198, 168]. These special issues are composed by papers
that have covered both exact and heuristic methods, nesting problems, real-world
application problems, surveys and typologies of C&P problems.
A list of classified articles from 1980 to 2005 (according to [200]) concerning
C&P problems can be found in the web page of ESICUP [78]. ESICUP (EURO
Special Group on Cutting and Packing) is a working group of the association of
European Operations Research Societies ( EURO [79]), composed of researchers
with an interest on this particular field.
In chapters 4 and 5, we propose new lower bounds for the one-dimensional pat-
tern minimization problem and an exact solution algorithm for the two-dimensional
cutting stock problem. These two C&P problems are classified according to this
typology as 1D-SSSCSP and 2D-regular-SSSCSP, respectively.
In this thesis, we are, therefore, specially concerned with cutting stock problems
34 3. Cutting & Packing Problems
(CSP), in particular the one-dimensional and two-dimensional cases. The knapsack
problem (KP) is also approached, as a pricing subproblem of a column generation
model framework proposed in chapter 4. A thorough presentation of this last
problem and several of its variants and extensions, as well as a comprehensive
description of its the most relevant algorithmic methods is presented in [152, 126].
The CSP is equivalent to the Bin Packing Problem (BPP), in the sense that
they both have essentially the same logic structure. According to [200], and as
shown in figure 3.1, the only difference between the two problems relies on the fact
that in the CSP there is a weakly heterogeneous assortment of small items, whereas
in the BPP this assortment is strongly heterogeneous. This basically means that
the main difference between these two problems is that in the CSP the demands
are high (there are several copies of each dimension of small items), whereas in the
BPP the demands are very low (there is typically a single copy of each dimension
of small items). Thus, most solution methods devised for one of the problems can
easily be adapted to solve the other, although it can happen that a given algorithm
is more efficient for one of the problems than it is for the other. That is the example
of algorithms that rely on the construction of patterns and the determination of
the number of times those patterns should be used. These algorithms are clearly
more appropriate for the CSP, where there are identical items, and thus patterns to
repeat. A review of LP-based algorithms, sequential heuristics and hybrid solution
procedures for the 1D- and 2D-CSP is provided in [109].
3.2 One-dimensional Cutting Stock Problems
The standard one-dimensional version of the CSP (1D-CSP) can be stated as fol-
lows: a given set of small items, each item i ∈ 1, ...m of size li and demand of
bi pieces, has to be cut out of a virtually infinite supply of large objects, called
rolls, of size L (where 0 < li ≤ L, ∀i ∈ 1, ...,m), usually in order to minimize the
3.2. One-dimensional Cutting Stock Problems 35
number of rolls to be used (figure 3.2).
CUTTING PATTERNS
ROOLS
SMALL ITEMS
+
+
+
Figure 3.2: 1D-CSP representation
The mathematical model proposed by Kantorovich [123] in 1939 (although it
was only translated to English in 1960) for the 1D-CSP is considered to be the first
one to be proposed for this problem. It appears in a section called Minimization
of scrap, in a monograph whose aim was to describe mathematical methods to
improve the organization and planning for production, for the Soviet system.
Let R be an upper bound for the number of available rolls, zj, j ∈ 1, . . . , R,
the binary variable that defines whether or not roll j is used and xij the integer
variable defining the number of items i ∈ 1, . . . ,m in the roll j. The model can
be described as follows:
minR∑j=1
zj (3.1)
s.t.m∑i=1
lixij ≤ Lzj, ∀j ∈ 1, . . . , R, (3.2)
R∑j=1
xij ≥ bi, ∀i ∈ 1, . . . ,m, (3.3)
36 3. Cutting & Packing Problems
xij ∈ Z+, zj ∈ 0, 1, ∀i ∈ 1, . . . ,m, ∀j ∈ 1, . . . , R. (3.4)
The objective is to minimize the number of rolls to be used, and thus the
generated waste (3.1). The first set of constraints (3.2) ensure that the items fit
in the rolls they are assigned to, and constraints (3.3) are concerned with the
fulfillment of demands.
In 1961, Gilmore and Gomory [100] proposed an integer programming model
and a column generation approach, to solve the standard one-dimensional version of
the CSP. The Dantzig-Wolfe decomposition results in a master problem (3.5)-(3.7)
whose variables are feasible cutting patterns, and a pricing problem (3.8)-(3.9) that
is a knapsack problem (denoted as a single knapsack problem (SKP), according to
[200]), to determine, at each step, promising patterns (columns) that might improve
the current solution.
Let us consider J as the set of all feasible valid cutting patterns, i.e., all vectors
(a1j, ..., amj)T such that
∑mi=1 liaij ≤ L, being aij,∀i ∈ 1, ...m,∀j ∈ J , nonneg-
ative integers that represent the number of items i ∈ 1, . . . ,m in the cutting
pattern j ∈ J . The variables λj, ∀j ∈ J , represent the number of times pattern j
is used. The master problem states as follows:
min∑j∈J
λj (3.5)
s.t.∑j∈J
aijλj ≥ bi ∀i ∈ 1, . . . ,m, (3.6)
λj ≥ 0 and integer ∀j ∈ J. (3.7)
The sum of the frequencies of each cutting pattern represents the number of rolls
to be used, and thus, its minimization represents the objective of minimizing waste
(3.5). The other constraints included in the master (3.6) are concerned with the
fulfillment of demands. The feasibility of the cutting patterns is dealt with in the
pricing problem. It represents the following knapsack problem:
maxm∑i=1
πiyi (3.8)
3.2. One-dimensional Cutting Stock Problems 37
s.t. liyi ≤ L ∀i ∈ 1, . . . ,m (3.9)
yi ≥ 0 and integer ∀i ∈ 1, . . . ,m (3.10)
where πi, ∀i ∈ 1, . . . ,m, represents the dual variable associated with constraints
(3.6) and yi is the decision variable which denotes the number of times item i is
selected in a new pattern.
This model has a stronger formulation than the one proposed by Kantorovich.
In fact, the difference between the integer optimal solution and the LP-relaxation
for this model (gap) is conjectured to be always smaller than 2, being it smaller
than 1 for most instances (integer round-up property) [149].
Valerio de Carvalho [188] proposed an IP arc-flow model for the 1D-CSP (3.11)-
(3.14), in which every cutting pattern corresponds to a path in an acyclic directed
graph G = (V,A), with V = 0, 1, ..., L as its set of L + 1 vertices, which define
positions in the stock sheet, and A = (a, b) : 0 ≤ a < b ≤ L and b − a =
li,∀i = 1, ...,m as its set of arcs. It is formulated as a minimum flow problem,
where variables xab correspond to the flow in arc (a, b), i.e., the number of items of
width b− a placed at a distance of a units from the beginning of a given roll, and
variable z corresponds to the total flow through the graph, and can be seen as the
return flow from vertex L to vertex 0.
min z (3.11)
s.t.∑
(a,b)∈A
xab −∑
(b,c)∈A
xbc =
−z , if b = 0
0 , if b = 1, 2, ..., L− 1
z , if b = L
, (3.12)
∑(c,c+li)∈A
xc,c+li ≥ bi, ∀i ∈ 1, ...,m, (3.13)
xab ≥ 0 and integer, ∀(a, b) ∈ A. (3.14)
Constraints (3.12) are related to flow conservation and constraints (3.13) ensure
that the demands are fulfilled. Valerio de Carvalho [188] defined criteria to reduce
38 3. Cutting & Packing Problems
the number of allowable arc-variables, reducing the size of the model and the sym-
metry of the solution space. Symmetry should be avoided, as much as possible,
as it increases the computational effort, because the same physical solution can be
explored in different nodes of the branching tree. For any pattern, the items are
sorted by their decreasing sizes and the arcs corresponding to its waste (unit arcs)
always appear in the last positions of the stock sheet. Furthermore, the number of
items of a given size in a cutting pattern can not be greater than the demand of
those items.
This model belongs to the family of position-indexed models [189], as the deci-
sion variables are indexed according to the position of their associated items in the
rolls. Its formulation is equivalent to the one of the previous model (3.5)-(3.7).
In [189], these and other models for the 1D-CSP are reviewed, including one-
cut models, where decision variables are associated to single cuts on the rolls, and
models associating the bin packing problem as a special case of the vehicle routing.
A wide variety of both exact and heuristic approaches for the 1D-CSP have been
published in the literature. In what concerns heuristic methods, some simple well
known greedy heuristics (first fit, next fit and best fit algorithms, among others)
[51], LP based heuristics [199], and several metaheuristic methods [111, 80, 172,
140, 87, 138] have been devised to tackle this problem.
Exact solution methods for the 1D-CSP are mainly based on branch-and-price
techniques. Several have been proposed in the literature [191, 190, 188, 192, 66,
65, 16].
In [94], the authors propose a problem generator for the 1D-CSP, so that re-
searchers in this area can easily generate appropriate test instances and properly
benchmark their results.
3.3. Two-dimensional Cutting Stock Problems 39
3.3 Two-dimensional Cutting Stock Problems
The standard version of the 2D-CSP can be stated as follows: a given set of small
items, each item i ∈ 1, ...m of width wi, height hi and demand of bi pieces, has to
be cut out of a virtually infinite supply of large objects, called stock sheets, of width
W and height H (where 0 < wi ≤ W and 0 < hi ≤ H, ∀i ∈ 1, ...,m), usually
in order to minimize the number of stock sheets to be used. The 2D-CSP can be
14
1111
222
33333
444
55555
111 1
222
344
33
554
33
555
Stock sheets
Small items
Cutting patterns
Figure 3.3: 1D-CSP representation
further classified into several categories, depending on specific constraints. It can be
regular, if the shapes of the items can be described by few parameters, or irregular,
otherwise. Cutting irregular shapes is also known as nesting. Regular cuts can
be rectangular or non-rectangular, for the cases where the items are rectangles or
have a different shape, respectively. The rectangular cutting can be oriented, if
an item of width w and height h is considered to be different from another one of
40 3. Cutting & Packing Problems
width h and height w, or non-oriented, otherwise. If all cuts must be made straight
from one edge to the opposite edge of the stock sheet (or of one of its already cut
fragments), dividing it in two, the cutting patterns produced are of guillotine type.
Non-guillotine patterns are not restricted by this rule, being the corresponding
problems much harder to solve. A staged pattern is a guillotine pattern whose
items are cut in a limited number of phases. The direction of the first stage cuts
may be either horizontal or vertical (parallel to one side of the stock sheet), and
the cuts of the same stage are in the same direction. The cut directions of any
two adjacent stages must be perpendicular to each other. If the maximum number
of stages is not allowed to exceed a value n, the problem is called n-stage. When
there is no such restriction, the problem is called non-stage. Whenever a final stage
for separating items from waste areas is allowed, the problem is called non-exact ;
otherwise, it is called exact.
Gilmore and Gomory [102] proposed the first model for the 2D-CSP, by extend-
ing their column generation approach to the 1D-CSP [100, 101]. They solve the
two-dimensional guillotine version of the problem as a two-stage one-dimensional
problem, with the first stage corresponding to the cutting of the stock sheets into
strips, and the second stage corresponding to the cutting of those strips into the
demanded items.
In the first stage they consider all the patterns corresponding to cutting items
of heights hi, ∀i ∈ 1, . . . ,m′, where m′ ≤ m is the number of different items’
heights, out of stock sheets of height H, i.e., all the possible combinations of items
i ∈ 1, . . . ,m′ such that∑m′
i=1 aihi ≤ H. In this stage the items’ widths are not
considered. In the second stage there are m′ sets of patterns. Each set s ∈ 1, ...m′
considers patterns that include only items i such that hi ≤ hs and that satisfy the
inequality∑m
i=1 aiwi ≤ W . They formulate the problem as follows.
min∑j∈J0
λ0j (3.15)
3.3. Two-dimensional Cutting Stock Problems 41
s.t. M ′.λ = 0 (3.16)
M ′′.λ ≥ B (3.17)
λ ≥ 0 and integer (3.18)
where J0 is the set of feasible cutting patterns corresponding to the first stage,
λ = (λ01, . . . , λ
11, . . . , λ
m′
1 , . . .)T , λ0j is the jth pattern associated to the first stage
and λsj is the jth pattern associated to the sth set of patterns of the second stage
and B = (b1, . . . , bm)T . M ′ and M ′′ correspond, respectively, to the first m′ rows
and last m rows of the matrix
M =
M0
−1 . . . −1
0...
0
−1 . . . −1
0...
. . .
...
0
−1 . . . −1
0 M1 M2 ... Mm′
,
where submatrix M0 includes all the possible patterns corresponding to the first
stage, and submatrixes Ms include all the patterns that belong to set s ∈ 1, ...m′.
Constraints 3.16 guarantee that the strips cut in the first stage are the ones
that are used in the second stage, to be cut into the demanded items, whereas
constraints 3.17 guarantee that the items’ demands are fulfilled.
Example 3.1 Consider an instance with stock sheets of height H = 20 and width
W = 30 and a set of items i such that (hi, wi) : i ∈ 1, . . . , 5 = (5, 7), (5, 10),
(7, 12), (10, 8), (12, 10) with respective demands b = (4, 3, 5, 3, 5).
Table 3.1 represents the LP formulation for this instance. The integer optimum
solution has a value of 3, with a set of pattern frequencies associated to the first
stage of 1 and 2 for λ03 and λ0
7, respectively. This means that three stock sheets are
used, with one of them being cut into two strips of height 5 and a strip of height
10 and the other two being cut into two strips of heights 7 and 12 (figure 3.4).
42 3. Cutting & Packing Problems
Op
timal
int.
sol.
00
10
00
20
10
01
00
20
00
01
00
00
00
00
01
00
00
01
λ01λ02λ03λ04λ05λ06λ07λ08λ11λ12λ13λ14λ21λ22λ23λ31λ32λ33λ34λ35λ36λ37λ38λ39λ41λ42λ43λ44λ45λ46λ47λ48λ49λ410λ411λ412
(hi ,w
i )=
(5,[7,10])
42
21
1-1
-1-1
-1=
0
(7,1
2)1
21
1-1
-1-1
=0
(10
,8)
11
2-1
-1-1
-1-1
-1-1
-1-1
=0
(12
,10)1
1-1
-1-1
-1-1
-1-1
-1-1
-1-1
-1=
0
(hi ,w
i )=
(5,7)
42
12
13
21
12
11
11
≥4
(5,10
)1
23
12
11
12
11
1≥
3
(7,12
)1
12
11
11
1≥
5
(10,8
)1
21
22
11
13
21
11
1≥
3
(12,1
0)
12
12
12
11
11
13≥
5
O.F
.1
11
11
11
1
Tab
le3.1:
LP
formulation
(exam
ple
3.1)
3.3. Two-dimensional Cutting Stock Problems 43
In the second stage, the variables’ values are associated with the cutting of the
seven strips of the first stage into the demanded items. For example, λ35 = 1 means
that the strip of height 10 was cut into two items (10, 8) and one item (7, 12).
Many heuristics based on this column generation formulation where proposed in
5 x 7 5 x 7 5 x 7 5 x 7
5 x 10 5 x 10 5 x 10
10 x 8 10 x 8
7 x 12
7 x 12 7 x 12
12 x 10 12 x 1010 x 8
7 x 127 x 12
12 x 10 12 x 10 12 x 10
Figure 3.4: Solution representation (example 3.1)
the literature [81, 61, 12, 11]. Moreover, Lodi et al. [143] proposed a general
framework of heuristic and metaheuristic approaches for several variants of the 2D-
BPP. Other greedy heuristics [46, 33], local search algorithms [117] and evolutionary
algorithms [128, 116, 114] were also proposed. Several exact algorithms have also
been described [154, 195, 17, 59, 171, 47]. Reviews on the 2D-BPP problem are
provided in [142, 144, 29].
Chapter 4
New Lower Bounds based on
Column Generation and
Constraint Programming for the
Pattern Minimization Problem 1
“Each problem that I solved became a rulewhich served afterwards to solve other problems.”
René Descartes
Contents4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Mathematical Programming Models: State-of-the-art 52
4.2.1 A Nonlinear Compact Formulation . . . . . . . . . . . . 52
4.2.2 The Gilmore and Gomory Model with Setup Variables . 53
4.2.3 The IP Model of Vanderbeck [193] . . . . . . . . . . . . 54
4.2.4 An Arc-flow Formulation . . . . . . . . . . . . . . . . . 55
4.3 Exploring a New IP Formulation . . . . . . . . . . . . . 56
4.3.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.2 Strengthening the Model . . . . . . . . . . . . . . . . . 61
4.4 A CP Model . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.2 Deriving Lower Bounds from the CP Model . . . . . . . 69
4.4.3 Using the CP to Derive Valid Inequalities for SP1 . . . 69
4.5 Comparative Computational Results . . . . . . . . . . . 71
4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1The work presented in this chapter has been published in [14]
45
46 4. New Lower Bounds based on CG and CP for the PMP
4.1 Introduction
The Pattern Minimization Problem (PMP) is a cutting and packing problem, con-
sidered as a 1D-SSSCSP (one-dimensional single stock size cutting stock problem)
according to the recent typology proposed in [200]. Its goal is to determine a cut-
ting plan with the minimum number of different patterns. This objective may be
relevant when changing from one pattern to another involves a cost for setting up
the cutting machine. As in the standard Cutting Stock Problem (CSP), the input
of the problem is given by a set of item sizes and demands, and by a set of roll
sizes. The PMP can be solved in a single stage or in two stages. In the former, one
tries to find a cutting plan with the best balance between waste and the number of
different patterns. In the latter, the PMP is solved by assuming that no more than
a given number of rolls can be used. Usually, this number is obtained by solving a
standard CSP. In this chapter, we address the latter case and intend to contribute
to the exact resolution of the one-dimensional PMP with new results (figure 4.1).
McDiarmid [155] proved that the PMP is strongly NP-hard, as he showed that
it is so even for the simplest nontrivial restricted problem that only considers items
such that any two fit in a stock roll but no three do. Thus, most of the methods
described in the literature to solve this problem are heuristic approaches. Solving
the problem exactly has been a real challenge, and only very few exact solution
methods have been reported so far in the literature.
Haessler [108] presented one of the first methods to handle the PMP. He pro-
posed a sequential heuristic procedure, where the cutting patterns are determined
successively by an algorithm that tries to find patterns with small wastes and high
usage levels, so that there is a balance between minimizing the waste and the num-
ber of different patterns. This tradeoff can be adjusted by changing the values of
the parameters.
Teghem et al. [180] analyzed a real problem concerning book coverings in the
4.1. Introduction 47
CSP PMP
Number of Rolls: 8
Number of different patterns: 4
Number of Rolls: 8
Number of different patterns: 5
Maximum number of rolls: 8
Minimize number of different patterns
1
3
1
3
1
3
1
3
1
3
1
3
1
5
4
1
5
4
2
3
5
2
3
5
2
3
5
1
3
3
3
4
2
2
1
5
4
2
4
4
12
3 45
b1 = 5 b3 = 6b2 = 3 b5 = 3b4 = 3
rolls
items
Figure 4.1: One-dimensional pattern minimization problem
publishing industry, where all the covers are grouped in subsets of homogeneous
characteristics and one pattern corresponds to a plate where four covers of the same
subset can be placed. To solve this PMP the authors used a simulated annealing
procedure. Chen et al. [44] also proposed a simulated annealing algorithm to solve
the CSP with a model whose objective function considers both material and setup
costs.
Foerster and Wascher [88] defined their approach as a generalization of Diegel
et al.’s [69] heuristic method of combining two different patterns into a single
pattern with a frequency equal to the sum of the frequencies of the previous ones,
maintaining the number of rolls used. The authors extended Diegel et al.’s concept
to combinations of p different patterns into q different ones, only considering p to
48 4. New Lower Bounds based on CG and CP for the PMP
(p-1 ) combinations and limiting p to 4. They proposed a class of methods called
KOMBI, each defining a way and sequence of combining different cutting patterns,
and performed computational experiments in the particular methods KOMBI23
(2 to 1 and 3 to 2 combinations) and KOMBI234 (2 to 1, 3 to 2 and 4 to 3
combinations).
Umetani et al. [186] proposed a metaheuristic approach for the PMP. Their
method begins by fixing a constant number p of different cutting patterns and
then it uses a local search algorithm to find a solution with a small deviation of the
item demands. This process is repeated for different values of p, so as to choose the
most convenient one. To define a neighborhood for the local search, one cutting
pattern is replaced by another one from a set of cutting patterns generated by an
adaptive pattern generation algorithm. To evaluate each solution, the authors used
an heuristic based on the nonlinear Gauss-Seidel method.
In [187], Umetani et al. improved the metaheuristic proposed in [186]. They
proposed a local search algorithm for the 1D-CSP with an additional constraint
on the maximum number of different patterns. They call it the pattern restricted
problem (PRP). This new heuristic uses two different types of local search proce-
dures, in an iterated local search framework. The search of better solutions is made
in a neighborhood alternatively constructed by two different local search processes,
the 1-add neighborhood and the shift neighborhood. The metaheuristic process
consists of repeating the local search algorithm with different initial solutions: the
first one generated by a variant of the first-fit algorithm, and the following ones
randomly selected from the best current solution neighborhood (the shift neighbor-
hood) or by a randomized first-fit algorithm, in the cases where the previous one is
infeasible. To compute the pattern frequencies and evaluate a new solution, they
solve heuristically an auxiliary integer programming (IP) model. To further im-
prove the metaheuristic, some linear programming (LP) techniques are used, both
to reduce the number of candidate solutions in the neighborhood and to accelerate
4.1. Introduction 49
the resolution of the auxiliary problems.
Yanasse and Limeira [205] proposed a three-phase hybrid procedure to solve
the PMP of any dimension. The first phase consists of finding “good” patterns
and corresponding activation levels by applying the Repeated Pattern Exhaustion
Technique (RPET). When RPET is no longer able to find good patterns, a residual
cutting problem is solved as a standard CSP. This residual problem deals with the
remaining items that these patterns do not consider. Finally, when the whole set of
cutting patterns is defined, reduction techniques from the literature are applied. In
their implementation, Yanasse and Limeira solved the residual problem rounding
to the nearest integer the fractional solution of the LP relaxation. The reduction
technique used for the third phase was KOMBI234 of Foerster and Wascher [88].
Cui et al. [60] proposed a sequential heuristic procedure (SHPC) for the PMP.
This procedure iteratively generates cutting patterns by solving a bounded knap-
sack problem, using a selection of items that have not yet been assigned. The best
cutting plan is also determined iteratively, by choosing the one with the minimum
number of different cutting patterns within the ones with minimum wastes. Ac-
cording to the authors, a strong point of this algorithm is the fact that it is simple
to implement and does not need other algorithms to generate cutting plans, as
other approaches do.
Very few publications in the literature report on results for exact solution pro-
cedures or lower bounds for the PMP. Vanderbeck [193] proposed the first exact
approach. The author presented a branch-and-price-and-cut algorithm that solved
to optimality 12 out of 16 real-world instances. His formulation is a Dantzig-Wolfe
decomposition of a compact nonlinear program, where each column represents a fea-
sible cutting pattern associated with a possible multiplicity. As the model implies
the enumeration of an exponentially growing number of columns and associated
binary variables, it is solved using a column generation technique, that implies
solving a quadratic integer subproblem. The author overcame this nonlinearity
50 4. New Lower Bounds based on CG and CP for the PMP
by solving a set of bounded knapsack problems, one for each possible value of
the variable associated with the multiplicity of the pattern. In practice, as the
author described, not all the problems have to be solved since a given knapsack
solution may remain optimal for many successive multiplicities. To strengthen his
model, the author used a cutting plane scheme based on applying a superadditive
function to single rows of the restricted master problem. Vanderbeck proved that
the cuts are equivalent or dominate the rank 1 Chvtal-Gomory cuts. Futhermore,
they have no impact on the complexity of the pricing subproblems. The branching
scheme consists of enforcing a branching rule that is related with a special subset
of columns, selected from a list of seven possible subsets derived by the author.
In [7], Aloisio et al. showed that the model proposed by Vanderbeck may be
weaker than the model based on an extension of the Gilmore and Gomory [100]
for the CSP, which was formulated explicitly by Vanderbeck [193]. In [8], the same
authors addressed the PMP for special instances where no more than two items
fit in a stock roll. They explored two formulations for the problem, and derived
various results concerning the existence of specific solutions.
In [15], Alves and Carvalho proposed a branch-and-price-and-cut algorithm to
solve exactly the PMP, which is based on the model of Vanderbeck [193]. They
added a new constraint to the model bounding the total waste, which not only
strengthened the LP bound but also reduced the number of knapsack problems to
be solved in the column generation process. The authors used three dual-feasible
functions described by Fekete and Schepers [82] to derive valid inequalities. They
proved that the cuts given by these functions are equivalent to or dominate the
function used by Vanderbeck. In a further study, Clautiaux et al. [50] proved that
the function of Vanderbeck is not maximal, which means that it may be dominated
by other superadditive functions. Alves and Carvalho devised an algorithm in which
branching is performed on the variables of an arc-flow model (similar to the model
introduced in [188]), which is equivalent to the original model. This branching
4.1. Introduction 51
scheme avoids symmetry in the branch-and-bound tree.
Belov [29] proposed a formulation for the PMP that considers a tradeoff be-
tween waste and pattern minimization by allowing the use of more rolls than the
ones used in the optimal solution of the corresponding CSP. This tradeoff is ob-
tained by introducing not only setup costs but also material costs in the objective
function. The author used the Gilmore and Gomory model for the CSP with setup
variables. To handle the huge number of constraints, he simplified it, turning it
into a nonlinear model, which he linearized by approximation. To solve the integer
problem, Belov described a branch-and-price algorithm, where the column gener-
ation procedure is identical to the one performed in [193]. The author devised a
branching scheme based on variables, and he enforced branching constraints on
single fractional variables. With this method, Belov solved exactly only 7 out of
the 16 instances presented by Vanderbeck, but he got, on average, better results
than KOMBI234 of Foerster and Wascher [88], on tests with 12 classes of instances.
In this chapter, we explore a different integer programming model that can be
solved using column generation, and describe different strategies to strengthen it,
among which are constraint programming (CP) and new families of valid inequal-
ities. We also describe new lower bounds for the PMP, derived from the new IP
model and also from the CP model. Our computational experiments performed
on a set of real instances from the literature show that these approaches provide
good lower bounds in a short amount of time for these instances. Additionally, we
compare the quality of our new bounds with the continuous bound given by the
model of Vanderbeck [193] for a large set of random benchmark instances also used
in the literature. This chapter is organized as follows. In section 4.2, we briefly
recall the models for the PMP that were described in the literature. In section 4.3,
we introduce a new IP model, and describe different strategies to strengthen it.
The CP model that we use to derive lower bounds and strengthen the new IP
model is described in section 4.4. Our computational experiments are reported in
52 4. New Lower Bounds based on CG and CP for the PMP
section 4.5, while some conclusions are drawn in section 4.6.
4.2 Mathematical Programming Models: State-
of-the-art
The PMP consists of finding a cutting plan with the minimum number of distinct
patterns for a given optimal solution of the standard CSP, with a corresponding
value zCSP . We assume that only zCSP rolls can be used. We address the one-
dimensional version of the PMP (1D-PMP), where an instance of the problem is
defined by a set of m item sizes li with a respective demand of bi units, and a
set of rolls with identical sizes L. The total waste in the optimal solution of the
corresponding CSP is denoted by wCSP . Overproduction is not allowed, and hence
the item demands must be satisfied exactly. From this point forward, we will
assume the items to be sorted by decreasing order of their sizes.
Let z and z be, respectively, a lower and an upper bound on the number of
different patterns. A lower bound z can be computed by solving a bin packing
problem with the same item sizes as in the PMP. An upper bound z can be obtained
from the number of different patterns in the optimal solution of the corresponding
CSP.
Four distinct formulations were reported in the literature. In this section, we
briefly recall them. In the next section, we will present a new model that dominates
these formulations.
4.2.1 A Nonlinear Compact Formulation
The PMP can be formulated in a classical way using variables that represent the
assignment of items to patterns. The resulting model is compact but nonlinear. It
4.2. Mathematical Programming Models: State-of-the-art 53
was formally stated for the first time in [193], and it is defined as follows.
min
zCSP∑k=1
yk (4.1)
s.t.
zCSP∑k=1
zkxik = bi, ∀i ∈ 1, . . . ,m, (4.2)
zCSP∑k=1
zk ≤ zCSP , (4.3)
zk ≤ zCSPyk, ∀k ∈ 1, . . . , zCSP, (4.4)m∑i=1
lixik ≤ Lyk, ∀k ∈ 1, . . . , zCSP, (4.5)
xik ∈ N, ∀i ∈ 1, . . . ,m, ∀k ∈ 1, . . . , zCSP, (4.6)
yk ∈ 0, 1, ∀k ∈ 1, . . . , zCSP, (4.7)
zk ∈ N, ∀k ∈ 1, . . . , zCSP. (4.8)
The number of times an item i appears in a pattern k is represented by xik, while
the activation level of a pattern k is denoted by zk. The nonlinearities of this
model come from the demand constraints (4.2). The sum of all the activation
levels is equal to the number of rolls that are used. This value shall not exceed
zCSP (constraint (4.3)). The yk binary variables indicate if a pattern k is used or
not. They are defined through constraints (4.4), and are used both in the knapsack
constraints (4.6) and in the objective function (4.1).
4.2.2 The Gilmore and Gomory Model with Setup Vari-
ables
The well-known Gilmore and Gomory model for the CSP [100], where columns
represent feasible cutting patterns, can easily be extended to the PMP by adding
a setup variable for each column, to indicate if the pattern is used or not. This
model can be obtained by applying a Dantzig-Wolfe decomposition to (4.1)-(4.8)
54 4. New Lower Bounds based on CG and CP for the PMP
in which (4.2)-(4.4) are dualized. The resulting master problem states as follows.
min∑k∈K
λk (4.9)
s.t.∑k∈K
aikλk = bi, ∀i ∈ 1, . . . ,m, (4.10)∑k∈K
xk ≤ zCSP , (4.11)
xk ≤ ukλk, ∀k ∈ K, (4.12)
xk ∈ N, ∀k ∈ K, (4.13)
λk ∈ 0, 1, ∀k ∈ K. (4.14)
The set of patterns is denoted by K. If a pattern k ∈ K is used, the variable λk
will be set equal to 1. The number of times a pattern k is used is denoted by xk.
Coefficients aik indicate the number of items i in pattern k. Coefficients uk, for k ∈
1, . . . , K, are upper bounds on pattern multiplicities. They strongly determine
the quality of the bounds given by the linear programming (LP) relaxation of
(4.9)-(4.14). When uk = zCSP , for k ∈ 1, . . . , K, the model is very weak: its
continuous bound is never greater than 1 ([193]). In [29], Belov showed that when
the uk = mini=1,...,m
⌊biaik
⌋, the model is as strong as the column generation model of
[193]. In a recent work, Aloisio et al. [7] showed that, in fact, for a given set of
parameters uk, formulation (4.9)-(4.14) may even be stronger than the model of
[193].
Model (4.9)-(4.14) has an exponential number of columns and constraints. In
[29], Belov solved a relaxation where constraints (4.12) are dropped, but he did not
get better results than [193].
4.2.3 The IP Model of Vanderbeck [193]
A different decomposition of (4.1)-(4.8) was explored in [193]. The author defined
his new model by dualizing only constraints (4.2) and (4.3). The resulting model
4.2. Mathematical Programming Models: State-of-the-art 55
has an exponential number of columns that represent patterns with an associated
multiplicity. The master problem is defined as follows.
min∑k∈K
uk∑n=1
λkn (4.15)
s.t.∑k∈K
uk∑n=1
naikλkn = bi, ∀i ∈ 1, . . . ,m, (4.16)
∑k∈K
uk∑n=1
nλkn ≤ zCSP , (4.17)
λkn ∈ 0, 1, ∀k ∈ K, ∀n ∈ 1, . . . , uk. (4.18)
The binary variables λkn indicate if a pattern k with multiplicity n is used or
not. The bounds on the uk parameters are set implicitly in this model. Given the
demand constraints (4.16), the maximum multiplicity uk of a pattern k will always
be smaller than or equal to mini=1,...,m
⌊biaik
⌋.
The pricing subproblem is a nonlinear knapsack problem. In [193], each sub-
problem was solved as a sequence of linear knapsack problems, one for each value
of the pattern multiplicity. For that purpose, an upper bound (nmax) on the value of
the multiplicities is necessary. In [193], the author set nmax = min zCSP − z + 1,maxi bi.
In practice, a complete enumeration of the multiplicities is not always necessary,
since a knapsack solution may remain optimal for many successive multiplicities.
Some improvements to model (4.15)-(4.18) were proposed in [15]. For example,
by considering the waste generated in an optimal solution of the corresponding
CSP, one may reduce the value of the uk parameters to
min
min
i=1,...,m
⌊biaik
⌋,
⌊wCSP
L−∑m
i=1 liaik
⌋.
4.2.4 An Arc-flow Formulation
In [15], the authors described a pseudo-polynomial formulation for the PMP based
on arc-flow variables.
56 4. New Lower Bounds based on CG and CP for the PMP
The model is defined on a acyclic graph G = (V,A) with L + 1 nodes, each
one representing a discrete position within the rolls. For each multiplicity, there
is a set An of arcs (i, j) representing the placement of an item of size j − i at a
position i of the leftmost border of the roll in a pattern of multiplicity n. In this
model, a pattern of multiplicity n is modeled as a path from vertex 0 to vertex
L. Solving the PMP consists of finding the minimum flow over G, such that the
demand constraints are satisfied:
minnmax∑n=1
zn (4.19)
s.t.−∑
(r,s)∈An
xnrs +∑
(s,t)∈An
xnst
=
zn, if s = 0
−zn, if s = L
0, otherwise
, ∀n ∈ 1, . . . , nmax, (4.20)
nmax∑n=1
∑(r,r+li)∈An
nxnr,r+li = bi , ∀i ∈ 1, . . . ,m, (4.21)
xnrs ∈ N, n = 1, . . . , nmax, ∀(r, s) ∈ An, (4.22)
zn ∈ N, ∀n ∈ 1, . . . , nmax. (4.23)
The xnrs variables are general integer variables representing the flow over the arc
(r, s) of An. Variables zn, n ∈ 1, . . . , nmax, indicate the number of patterns of
multiplicity n that are used. The flow conservation constraints are stated in (4.20),
while (4.21) are the demand constraints. The authors use this model to derive a
robust branching scheme for their branch-and-price-and-cut algorithm.
4.3 Exploring a New IP Formulation
In this chapter, we elaborate on a new model for the PMP. The model can be
obtained by applying a different Dantzig-Wolfe decomposition to (4.1)-(4.8). We
4.3. Exploring a New IP Formulation 57
begin by introducing the model, and then we describe the different strategies that
may be used to strengthen it.
4.3.1 The Model
By dualizing only the demand constraints (4.2) of (4.1)-(4.8), and by treating
independently constraints (4.4)-(4.5) (with yk = 1) and constraint (4.3), we get
a reformulation of the problem. The decomposition is based on two independent
subproblems: the first one consists of choosing a combination of multiplicities,
while the second one consists of selecting patterns using these multiplicities. In the
master, the columns defined by these two subproblems are interconnected. The
new model states as follows:
min∑p∈P
dpδp (4.24)
s.t.∑p∈P
amultnp δp −∑k∈K
λkn = 0, ∀n ∈ 1, . . . , nmax, (4.25)
∑k∈K
uk∑n=1
naitemsikn λkn = bi,∀i ∈ 1, . . . ,m, (4.26)∑p∈P
δp = 1, (4.27)
λkn ∈ 0, 1,∀ k ∈ K, ∀n ∈ 1, . . . , uk, (4.28)
δp ∈ 0, 1,∀ p ∈ P. (4.29)
Variables λkn have the same meaning as in (4.15)-(4.18). We denote by P the set of
all the feasible combinations of multiplicities. The binary variables δp represent the
selection of a specific combination of multiplicities. A multiplicity n corresponds to
the usage of n rolls, and each combination of multiplicities must use exactly zCSP
rolls. Hence, only one combination can be used in a feasible solution (constraint
(4.27)). Constraints (4.25) are the linking constraints: for each multiplicity that is
used in the selected combination, there must be a corresponding cutting pattern
associated to it. Coefficients aitemsikn represent the number of times an item is con-
58 4. New Lower Bounds based on CG and CP for the PMP
sidered in the cutting pattern k of multiplicity n. Coefficients amultnp indicate the
number of times the multiplicity of value n is considered in the combination p of
multiplicities. Coefficients dp represent the number of multiplicities that are in a
combination p.
Example 4.1 To illustrate the structure of (4.24)-(4.29), we use the kT05 instance
of [193]. In this instance, there are 10 different item sizes, the roll sizes are equal to
47244, and we have zCSP = 47 and nmax = 15. The set of item sizes and demands
(li, bi) is the following: (22098, 10); (21336, 10); (20574, 10); (19812, 5); (19050, 5);
(18288, 15); (16764, 10); (17018, 15); (13716, 25); (12192, 20). A restricted master
problem for this instance is given in table 4.1. The last row in this table represents
the objective function 4.19. Only the columns that correspond to combinations of
multiplicities have a positive coefficient in this row, representing the number of
multiplicities used in the corresponding combination.
Given the large number of columns in (4.24)-(4.29), the model shall be tackled
by enumerating implicitly its columns, and by generating dynamically the columns
that may improve the master. As referred to above, two independent subproblems
must be solved in order to price the attractive columns. Let SP1 refer to the
subproblem defined by constraint (4.3), and SP2 be the subproblem that results
from the discretization of (4.4)-(4.5). Problem SP2 is the same as the pricing
subproblem related to (4.15)-(4.18). In the next section, we will describe some
strategies to further improve its resolution.
Problem SP1 consists of finding a combination of multiplicities from a set of
successive integer values up to nmax, such that their sum is equal to zCSP . Let π be
the vector of dual variables associated to (4.25), and ρ be the dual variable related
to (4.27). To strengthen the LP-relaxation of the master, some constraints can be
enforced on the SP1 subproblem, in order to force combinations to have at least z
multiplicities and no more than z multiplicities. The optimization problem related
4.3. Exploring a New IP Formulation 59
Table 4.1: Restricted master problem (example 4.1).
δ1 δ2 δ3 δ4 δ5 λ1,11 λ2,5 λ3,10 λ4,10 λ5,11 λ6,12 λ7,7 λ8,5 λ9,9 λ9,10 λ10,5 λ10,10 λ11,8
n = 1 = 02 = 03 = 04 = 05 1 2 2 3 1 -1 -1 -1 = 0
6 = 07 2 3 -1 = 08 4 1 -1 = 09 1 -1 = 010 1 2 2 1 -1 -1 -1 -1 = 0
11 1 1 -1 -1 = 012 1 1 -1 = 013 = 014 = 015 = 0
li= 22098 10 10 = 1021336 10 10 9 10 = 1020574 10 10 = 1019812 5 5 = 519050 5 5 = 518288 11 12 8 = 1517018 11 14 = 1516764 8 = 1013716 11 22 24 10 9 10 10 = 2512192 11 7 9 10 8 = 20
1 1 1 1 1 = 1
O.F. 6 6 6 6 6
to SP1 states as follows:
minnmax∑n=1
qn −nmax∑n=1
πnqn − ρ (4.30)
s.t.nmax∑n=1
nqn = zCSP , (4.31)
nmax∑n=1
qn ≥ z, (4.32)
nmax∑n=1
qn ≤ z, (4.33)
qn ∈ N. (4.34)
60 4. New Lower Bounds based on CG and CP for the PMP
Variables qn represent the number of times a multiplicity of value n is considered
in the combination. Note that SP1 can be solved by using dynamic programming
in O(nmaxzCSP z) time. To reduce its complexity, one may consider to solve SP1
without constraints (4.32) and (4.33). In this case, the problem can be solved
in O(nmaxzCSP ) time, but the continuous bound provided by (4.24)-(4.29) may
become weaker.
Model (4.24)-(4.29) is at least as strong as (4.15)-(4.18), since it is obtained by
dualizing less constraints and SP1 does not have the integrality property. It also
has a pseudo-polynomial number of constraints since its size depends on the value
of nmax, the maximum multiplicity among all the cutting patterns. In [193, 15], the
authors showed how an upper bound on this value could be computed. In the next
section, we will propose new approaches to further reduce this upper bound. An
interesting characteristic of (4.24)-(4.29) is that we clearly know which combination
of multiplicities is being used by a fractional solution, and that allows us to derive
schemes to exclude infeasible combinations of multiplicities.
Note that model (4.24)-(4.29) can be easily extended to the case where there
are multiple stock sizes. For each stock size, there will be a set of constraints of
type (4.25). Instead of using the minimum number of rolls (zCSP ), one would have
to consider the solution of the multiple size CSP, which is the minimum total size
of stock rolls that is necessary to cut all the items. This value would be used in
SP1. Some of the results presented below can be directly extended to the case of
multiple stock sizes. This is the case of inequalities (4.37), (4.38) and (4.40). Other
aspects, like some of the upper bounds on the amultnp coefficients would not apply
directly. Clearly, for large instances, with a large number of different stock sizes,
the model might become very large in terms of the number of rows and columns.
Hence, in this chapter, we focus on the case of identical stock sizes.
4.3. Exploring a New IP Formulation 61
4.3.2 Strengthening the Model
Reducing the Set of Columns Generated by SP1
The LP relaxation of (4.24)-(4.29) can be tightened by reducing the size of the
solution space of SP1. We report on bounds on the amultnp coefficients, and on
bounds on the number of rolls and patterns to be used up to a given multiplicity.
One way of strengthening this formulation is to bound the number of times a
given multiplicity can appear in a combination. Let this upper bound be denoted
by ub(amultnp ). A trivial upper bound on amultnp is given by⌊zCSP
n
⌋, ∀n, p. This bound
is implicitly enforced in SP1. Another obvious bound is the following: amultnp ≤ z,
∀n, p. These two bounds can easily be strengthened for some multiplicities using the
following arguments. Clearly, a combination of multiplicities cannot be composed
only by a single value n ≤ bmin, with bmin being the smallest item demand, if all
the item demands are not divisible by n. Hence, if n does not divide all the item
demands, then amultnp ≤⌊zCSP
n
⌋− 1, ∀p. Furthermore, since an item with demand bi
can only appear in patterns of multiplicity smaller than or equal to bi, for a given
multiplicity n, if there are items i with bi < n, then amultnp ≤ z − 1, ∀p.
Let In be the set of items i such that bi ≥ n, for a given multiplicity n. The
cutting patterns with multiplicity n can only have items from In. In the worst case,
each cutting pattern of multiplicity n will be defined by a single item which belongs
to In. In that case, there will be no more than∑
i∈In
⌊bin
⌋patterns of multiplicity
n, and hence amultnp ≤∑
i∈In
⌊bin
⌋, ∀n, p.
For the highest multiplicities, it may be possible to set the amultnp equal to 0 if
one takes into account the minimum waste that will be generated in the respective
patterns. As a consequence, the value of nmax may also decrease. Let i1 and i2 be
the items with the highest and second highest demand respectively. If bi2 ≤ nmax,
then for bi2 < n ≤ bi1 , we have that |In| = 1, which means that only items with
the same size li1 can be in patterns of multiplicity n. Let ain = min⌊
Lli
⌋,⌊bin
⌋.
62 4. New Lower Bounds based on CG and CP for the PMP
If n × (L − ai1nli1) > wCSP , then amultnp = 0, ∀p. This result can be extended to
other multiplicities, but at the expense of an increase in complexity. Indeed, for
n ≤ bi2 , since |In| ≥ 2, we have to compute the minimum waste of patterns with
multiplicity n by solving, for example, the following knapsack problem:
max znmax =∑i∈In
lixi
s.t.∑i∈In
lixi ≤ L,
xi ≤⌊bin
⌋, ∀i ∈ In,
xi ∈ N.
The set In is defined as above for a given multiplicity n, while the xi variables
indicate the number of items i in the knapsack. The minimum waste of a pattern
with multiplicity n (say wnmin) will be given by L−znmax. Again, if n×wnmin > wCSP ,
then amultnp = 0, ∀p.
Note that if one computes the wnmin for n = 1 up to nmax, by using the minimum
among all these values (say wmin = minn=1,...,nmax wnmin), we can enforce constraints
on the cutting patterns generated by SP2 that may be stronger than constraint
(17) proposed in [15]:
L−m∑i=1
liaitemsikn ≤
⌊w − (wmin(zCSP − n))
n
⌋, ∀k, n, (4.35)
being w = zCSPL −∑m
i=1 libi the maximum waste of a given solution. Another
bound may be derived from the idea that a multiplicity should not be used so many
times that it will not be possible to complete the combination (whose values must
sum zCSP ) with no more than z multiplicities, without using a multiplicity greater
than nmax. If ub(amultnp ) is the best upper bound available for amultnp , ∀p, then we will
have
zCSP − ub(amultnp )n
z − ub(amultnp )≤ nmax,
4.3. Exploring a New IP Formulation 63
and hence, the following upper bound applies:
amultnp ≤⌊nmaxz − zCSPnmax − n
⌋, ∀n, p. (4.36)
This bound is useful only if one does not explicitly enforce an upper bound (z) on
the dp coefficients in SP1 for a given pattern p. Otherwise, this bound is modeled
implicitly.
The final value for the upper bound ub(amultnp ) consists in the minimum value
among all the bounds described above.
As referred to above, since overproduction is not allowed, the demand bi of an
item i can only be satisfied from patterns with a multiplicity n ≤ bi. Let ri be a
lower bound on the number of rolls that are necessary to cut all the items with
a demand smaller than or equal to bi, and m′ be the number of different item
demands. These demands are assumed to be ordered in nonincreasing order. A
combination p of multiplicities will be feasible only if it satisfies
minbi,nmax∑n=1
namultnp ≥ ri, ∀i ∈ 1, . . . ,m′. (4.37)
Note that enforcing these constraints in SP1 does not increase its complexity. The
problem can still be solved as a knapsack problem with some additional constraints
in O(nmaxzCSP ) time, using dynamic programming.
Similarly, if pi is a lower bound on the number of distinct patterns necessary to
cut all the items with a demand smaller than or equal to bi, then a combination p
of multiplicities will be feasible only if
minbi,nmax∑n=1
amultnp ≥ pi, ∀i ∈ 1, . . . ,m. (4.38)
If we consider a whole combination p of multiplicities, constraint (4.38) stands as
follows:
nmax∑n=1
amultnp ≥ z. (4.39)
64 4. New Lower Bounds based on CG and CP for the PMP
These constraints force to impose a set of cardinality constraints on SP1. In that
case, SP1 can be solved in O(nmaxzCSP z) time.
Bounds on the aitemsikn Coefficients
It is possible to bound from below the value of the aitemsikn coefficients. Indeed, in
each roll, we know that there are at most ai =⌊Lli
⌋items i. As a consequence, to
satisfy the demand of items i, we will need at least⌈biai
⌉rolls. This means that if a
pattern k of multiplicity n = zCSP −⌈biai
⌉is used, it must contain at least one item
i (aitemsikn ≥ 1, ∀k). Whenever there is a positive lower bound on one or more aitemsikn
coefficients for a given multiplicity n, the right-hand side of the knapsack constraint
in SP2 can be decreased accordingly. On the other hand, this lower bound must
be checked when computing the highest multiplicity for which a solution to the
knapsack problems related to SP2 remains optimal [193].
We can also strengthen the upper bound ub(aitemsikn ) proposed in [193] for aitemsikn ,
∀k, and for a given multiplicity n. This bound is given by
ub(aitemsikn ) = min
⌊L
li
⌋,
⌊bin
⌋.
For a given multiplicity n and an item i, when aitemsikn is set equal to its upper
bound, the rolls divide into two subsets: zCSP −n rolls of size L, and n rolls of size
L−ub(aitemsikn )li. The remaining items can also be separated in two groups: one with
the item sizes that fit on both types of rolls and a second with the item sizes that
only fit in the largest rolls. By computing a bound on the number of rolls necessary
to cut the items from the second group, we can check if the upper bound ub(aitemsikn )
is set too high or not. Indeed, if this bound is greater than zCSP − n, then there
will be no feasible solution with aitemsikn = ub(aitemsikn ). In this case, the bound can
be decreased by at least one unit. Clearly, updating these upper bounds for each
item and multiplicity may be computationally expensive in some cases. However,
this method can always be applied to a restricted subset of items. As above, this
4.4. A CP Model 65
upper bound must be checked whenever we look for the highest multiplicity that
guarantees the optimality of a knapsack solution for SP2.
A Family of Valid Inequalities
When the demand of an item is odd, in any integer solution for (4.24)-(4.29), there
will be at least one pattern k of some multiplicity n such that n × aitemsikn is odd.
However, when the integrality constraints are relaxed in (4.24)-(4.29), the item
demands with odd values may be satisfied in (4.26) through a linear combination
of coefficients n×aitemsikn with even values. Let Codd be the set of cutting patterns k of
multiplicity n in (4.24)-(4.29) such that n×aitemsikn is odd. The following inequalities
are valid for (4.24)-(4.29)
∑Codd
λkn ≥ 1, ∀i : bi mod 2 = 1. (4.40)
Constraints (4.40) shall be enforced in the LP-relaxation of (4.24)-(4.29) for each
item with a demand that is odd. As we will see in section 4.5, these constraints
effectively cut infeasible solutions, leading to a tighter formulation. Even when we
enforce constraints (4.40), the knapsack problems related to SP2 remain solvable
in O(mW ) time by using a dynamic programming procedure.
Forcing the item demands to be satisfied through a combination of appropriate
n× aitemsikn terms is an important issue that will be explored below.
4.4 A CP Model
In this section, we describe a CP model that can be used to derive both lower
bounds for the PMP, and valid inequalities for SP1 in model (4.24)-(4.29). The
elements of the model are presented in section 7.3.2. The procedure for computing
lower bounds for the PMP using this CP model is described in section 4.4.2, and
the valid inequalities for the SP1 are discussed in section 4.4.3.
66 4. New Lower Bounds based on CG and CP for the PMP
4.4.1 The Model
Let X be the set of multiplicities considered in a given combination, and let Xj,
∀j ∈ 1, . . . , z, denote the value of the jth multiplicity in X. We assume the
multiplicities to be ordered in nondecreasing order, except for the last ones which
may be 0 if less than z multiplicities are considered. With this scheme, we know
that X1 is the first multiplicity in the combination, X2 the second, and so on. The
constraints of our CP model state as follows:
Xj ≤ Xj+1 ∨Xj+1 = 0, ∀j ∈ 1, . . . , z − 1, (4.41)
Xj = 0⇒ Xj+1 = 0, ∀j ∈ 1, . . . , z − 1, (4.42)z∑j=1
AijXj = bi, ∀i ∈ 1, . . . ,m, (4.43)
z∑j=1
Xj = zCSP , (4.44)
count(X,n) ≤ ub(amultnp ), ∀n ∈ 1, . . . , nmax, (4.45)
minbi,nmax∑n=1
n count(X,n) ≥ ri, ∀i ∈ 1, . . . ,m′, (4.46)
minbi,nmax∑n=1
count(X,n) ≥ pi, ∀i ∈ 1, . . . ,m. (4.47)
Constraints (4.41) and (4.42) define the ordering of the Xj variables. Con-
straints (4.43) state that the combination X of multiplicities must be such that
each item demand can be expressed as a linear integer combination of the corre-
sponding Xj, ∀j ∈ 1, . . . , z. The variables Aij are general integer variables that
represent the number of times a multiplicity j should be used so as to recover the
value of the demand bi. A valid upper bound on the Aij variables is⌊Lli
⌋, ∀j. Con-
straint (4.44) forces the use of exactly zCSP rolls, i.e., the sum of all the selected
multiplicities, which represents the total number of rolls used, must be equal to
zCSP . We also incorporate in the CP model the bounds on the amultnp coefficients
4.4. A CP Model 67
and the constraints (4.37) and (4.38) described in section 4.3.2. Given that the
values of ub(amultnp ) are independent of p, constraints (4.45) hold. The counting ex-
pression count(X,n) accounts for the number of elements in X that are equal to n.
This expression is also used to express constraints (4.37) and (4.38), respectively,
through constraints (4.46) and (4.47).
By definition, the domain of the Xj variables is in [1, nmax] for j ∈ 1, . . . , z,
and in [0, nmax] for ∀j ∈ z + 1, . . . , nmax. To improve the solution of the model,
we may reduce the domain of these variables by taking into account constraints
(4.37). For example, given that the items with the smallest demand will only
appear on patterns with a multiplicity smaller than or equal to that demand, the
first multiplicity X1 will never be greater than this smallest demand, and hence,
we have X1 ≤ mini=1,...,m
bi. Generally, we have
Xj ≤ bi, ∀i ∈ 1, . . . ,m′, j ∈
1, . . . ,
⌈ribi
⌉.
Our CP model can be seen as a relaxation of the compact model (4.1)-(4.8) with
additional constraints. The demand constraints (4.2) and (4.3) are enforced in our
CP model, while the remaining constraints of (4.1)-(4.8) are relaxed. In addition,
we enforce the bounds on the amultnp coefficients together with constraints (4.37)
and (4.38) described above. These constraints are easily enforced in the CP model,
while integrating them in (4.1)-(4.8)would increase the size of the model, leading to
a pseudo-polynomial number of variables and constraints. In particular, to model
exactly constraints (4.37) in (4.1)-(4.8), we would need to define additional binary
variables ykn (one for each multiplicity n up to nmax) that take the value 1 only if
pattern k is used n times. The following constraints would complete the model:
zk = nykn, ∀k ∈ 1, . . . , zCSP,∀n ∈ 1, . . . , nmax,bi∑n=1
nykn ≥ ri, ∀i ∈ 1, . . . ,m,
ykn ∈ 0, 1, ∀k ∈ 1, . . . , zCSP,∀n ∈ 1, . . . , nmax.
68 4. New Lower Bounds based on CG and CP for the PMP
Constraints (4.43) may be linked to the demand constraints (4.2), while the vari-
ables Aij may be interpreted as the number of times an item i is considered in the
jth pattern of multiplicity Xj. However, note that we relax the knapsack constraints
(4.5) of (4.1)-(4.8), which are the strongest constraints on the assignment of items
to rolls. That allows us to focus on the relation between the values of the item
demands and the combination of multiplicities, and to apply different procedures
to reduce the number of constraints (4.43) and variables Aij. First, we only need
to consider in (4.43) the largest item among those with the same demand. Without
loss of generality, assume that two items s and t with ls ≥ lt have the same value
of demand (bs = bt). Constraints (4.43) for these two items are as follows.
As1X1 + As2X2 + As3X3 + . . .+ AszXz = bs (4.48)
At1X1 + At2X2 + At3X3 + . . .+ AtzXz = bt (4.49)
Clearly, given that Asj ≤⌊Lls
⌋≤⌊Llt
⌋, if (4.48) is satisfied, the same will happen
with (4.49). The item demands that are equal to the sum of two (or more) other
item demands may also be excluded from constraints (4.43) provided some condi-
tions are fulfilled. For example, assume that we are given three items r, s and t
such that br = bs + bt. For these items, constraints (4.43) stand as follows.
Ar1X1 + Ar2X2 + Ar3X3 + . . .+ ArzXz = br (4.50)
As1X1 + As2X2 + As3X3 + . . .+ AszXz = bs (4.51)
At1X1 + At2X2 + At3X3 + . . .+ AtzXz = bt (4.52)
If⌊Llr
⌋≥⌊Lls
⌋+⌊Llt
⌋, then any combination X that satisfies (4.51) and (4.52) will
satisfy also (4.50). The values of the Arj variables can be obtained by summing
Asj with Atj, ∀j. Hence, we do not have to consider constraint (4.50) and the
corresponding Arj variables in our CP model.
4.4. A CP Model 69
4.4.2 Deriving Lower Bounds from the CP Model
As we mentioned above, a lower bound for the PMP can be computed by solving
a corresponding bin packing problem (with all the demands equal to one) with
the same set of item sizes, and demands that are equal to 1. It is so because
the solution to a bin packing problem corresponds also to the minimum number
of different patterns that are needed to pack the items. These bounds can be
computed efficiently (see for example [50]). We will denote this specific bin packing
lower bound by z, as we already did above.
We can improve this lower bound by using the CP model described above. For
this purpose, we solve a sequence of constraint satisfaction problems. The first step
consists of solving a constraint satisfaction problem based on the previous model
with the additional constraint Xz+1 = 0. By solving this problem, we try to find
out if there is a solution with at most z multiplicities (positive elements in X) that
satisfies all the constraints of the model. If there is no such a solution, then the
lower bound can be increased by one unit, i.e., z will take the value z + 1. The
process is repeated until a feasible solution is found for the constraint satisfaction
problem. In that case, the procedure ends with a lower bound given by z.
4.4.3 Using the CP to Derive Valid Inequalities for SP1
Many combinations of multiplicities in (4.24)-(4.29) are clearly not interesting,
namely those from which we cannot express all the item demands as a linear in-
teger combination of the multiplicities. In example 4.1, a possible combination
of multiplicities could correspond to using 5 times the multiplicity with a value
equal to 9, and once the multiplicity with a value equal to 2. In table 4.1, the
corresponding column for the rows associated to the multiplicities will be defined
as (0, 1, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0)T . The issue is that there is no integer solution
for the problem of determining how many times the item with size 13716 should
70 4. New Lower Bounds based on CG and CP for the PMP
appear in each one of these six different patterns so as to fulfill the correspond-
ing demand, which is of 25 units. Clearly, this demand cannot be expressed as
a linear integer combination of these multiplicities. However, this combination of
multiplicities is feasible for the LP-relaxation of (4.24)-(4.29).
It is difficult to force the combinations of multiplicities in (4.24)-(4.29) to be
such that each item demand can be expressed as a linear integer combination of
the multiplicities. In fact, these constraints are typically nonlinear, and hence they
cannot be considered explicitly in SP1. Our CP model can be used to handle
these hard constraints, and to derive valid inequalities for SP1. The development
of hybrid methods combining CP approaches with IP based techniques has been a
major topic of research in the recent years [119, 157]. These techniques complement
each other, CP being traditionally used to deal with the complicated constraints
that cannot be expressed in a linear form. In our case, solving the related constraint
satisfaction problems will allow us to derive bounds on the variables of SP1.
We used the ILOG CP Optimizer 1.0 to solve this CP model with the objective
of further reducing the domain of the X variables. These domains translate into
valid inequalities in SP1. For this purpose, we enforce additional constraints on
the X variables, and test the satisfiability of the problem. Assume that the domain
of Xj is in [ldj, udj], j = 1, . . . , z. We add a constraint with the form Xj ≥ h, for
some j. If the problem is unsatisfiable, we can update the upper bound on Xj
accordingly setting udj = h − 1. Of course, a complete search may be computa-
tionally expensive. It would require solving O(z log2 nmax) constraint satisfaction
problems. However, the computational experiments that we conducted show that
formulation (4.24)-(4.29) may be strengthened even with a few inequalities on a
subset of the X variables.
4.5. Comparative Computational Results 71
4.5 Comparative Computational Results
To evaluate the quality of the lower bounds given by the LP-relaxation of (4.24)-
(4.29) and by the procedure described in section 4.4.2, we conducted a set of
computational experiments on benchmark instances from the literature. A first set
of experiments were conducted on the real instances used in [193]. We discuss the
corresponding results in the first part of this section. In a second set of experiments,
we compare the lower bounds obtained with the different approaches described in
this chapter for 360 random instances used in [88, 205, 187, 60]. The results from
these experiments are presented in the second part of this section.
The algorithms were coded in C++, and the experiments were performed on
a PC with a 2.20GHz Intel Core Duo processor, and 2GB of RAM. We used the
CPLEX 10.2 Callable Library to implement some optimization subroutines. As
referred to above, the CP model was solved using ILOG CP Optimizer 1.0.
In table 4.2, we list the names of the instances together with the number m of
different item sizes and the value z of the corresponding bin-packing lower bound
for each instance used in [193]. The entry Inst stands for the name of the instance.
We report on three sets of experiments. In the first one, we solved the LP-
relaxation of (4.24)-(4.29) by using dynamic column generation with all the strate-
gies described in section 4.3.2, except the cutting planes (4.40). These cuts are
considered in the second set of experiments. Finally, in the third set, we assess
the performance of the procedure described in section 4.4.2. In all the cases, our
results are compared with the results obtained with the IP model (4.15)-(4.18).
The entries of the forthcoming tables have the following meaning:
zCG continuous lower bound given by the LP-relaxation of (4.15)-
(4.18);
tCG solution time for the LP-relaxation of (4.15)-(4.18)(in seconds);
72 4. New Lower Bounds based on CG and CP for the PMP
zCGnew continuous lower bound given by the LP-relaxation of (4.24)-
(4.29);
tCGnew solution time for the LP-relaxation of (4.24)-(4.29)(in seconds);
zCGcutsnew
continuous lower bound given by the LP-relaxation of (4.24)-(4.29)
with the cutting planes (4.40);
tCGcutsnew
solution time for the LP-relaxation of (4.24)-(4.29)(in seconds)
with the cutting planes (4.40);
zCP lower bound given by the procedure described in section 4.4.2;
tCP computing time for the procedure described in section 4.4.2(in sec-
onds);
best a * in this column identifies an instance for which the new bound
is better than the continuous bound obtained with model (4.15)-
(4.18).
Table 4.4 describes the results of the first set of experiments. We enforced a
minimum number z and maximum number z of multiplicities on the combinations
generated by SP1. The scheme presented in section 4.4.3 was used to derive bounds
for the first multiplicities of these combinations. In each column generation itera-
tion, we generate the most attractive column from SP1 and the set of attractive
columns of SP2. The values of the ri coefficients in (4.37) are computed using the
L2 bound of Martello and Toth [153].
In most of the cases, the continuous bound of (4.24)-(4.29) is greater than the
bound given by the model of [193]. For six instances, the integer bound is also
improved. Furthermore, despite the fact that model (4.24)-(4.29) is larger than
(4.15)-(4.18), convergence seems to be improved since the former takes on average
nearly less than 28% of the time to be solved.
The valid inequalities for SP1 derived by using the procedure described in
section 4.4.3 may have a nonnegligible impact on the quality of the lower bounds.
4.5. Comparative Computational Results 73
Table 4.2: Benchmark instances [193].
Inst. m z
1 kT03 7 32 kT05 10 43 kT01 5 14 kT02 24 135 kT04 16 66 d16p6 16 67 7p18 7 28 d33p20 23 59 12p19 12 210 d43p21 32 711 kT06 9 112 kT07 11 213 14p12 14 214 kT09 14 215 11p4 11 116 30p0 26 4
To evaluate this impact, we repeated the first set of experiments on the instances of
[193] without deriving these inequalities. The bounds of two instances (kT06 and
11p4) decreases when these inequalities are not used. The continuous bound for
kT06 is 2.0 (instead of 3.0 with the inequalities), while the bound of 11p4 becomes
3.0 (instead of 3.003). In both cases, the improvement was enough to reach the next
integer. Note that these results were achieved by deriving only a few inequalities
on the first multiplicities. These inequalities allow to cut many combinations of
multiplicities that would never be used in any integer solution. By reducing the
number of columns in the master problem, they may lead to stronger models.
When the set of inequalities (4.40) is considered, one has to solve explicitly
SP2 for each value of the multiplicities. Hence, in our implementation, we solved
first the model (4.24)-(4.29) without these cuts. The cuts are added to the LP
master once there are no more attractive columns. The results obtained are given
in table 4.5.
74 4. New Lower Bounds based on CG and CP for the PMP
Table 4.4: Comparing the new IP model with the model of [193].
Inst. zCG tCG zCGnew tCGnew Best
1 kT03 4.77 0.06 5.00 0.032 kT05 5.65 0.61 5.65 0.253 kT01 2.10 0.05 2.10 0.014 kT02 15.93 0.12 15.93 0.255 kT04 6.74 1.08 7.00 0.646 d16p6 6.74 1.19 7.00 0.757 7p18 3.74 0.69 4.00 1.208 d33p20 6.18 2.85 7.00 1.789 12p19 2.89 4.54 3.10 1.93 *10 d43p21 7.86 39.39 8.41 19.09 *11 kT06 1.75 18.38 3.00 5.19 *12 kT07 2.86 11.43 3.06 19.72 *13 14p12 3.75 8.20 4.07 5.65 *14 kT09 3.65 47.18 4.00 50.4315 11p4 2.48 21.63 3.003 41.93 *16 30p0 5.51 120.21 6.00 49.56
Avg. 17.35 12.40
With the cuts (4.40), the integer lower bound is improved for 10 instances.
The average computing time increases, but it remains slightly under the average
computing time necessary to solve the model of [193].
We report in table 4.6 the last set of results, which are related to the procedure
described in section 4.4.2.
The results obtained with this procedure are quite impressive. For 12 instances,
the lower bound is at least equal to the bound given by the LP-relaxation of model
(4.15)-(4.18). In three cases, the integer bound is improved. These results were
obtained almost 8 times faster than the time it takes to solve the model of [193].
The second set of experiments were conducted on instances from the literature
[88, 205, 187, 60]. These instances were randomly generated using CUTGEN1 [94].
There are 18 classes of 100 instances each. In our experiments, we used the first
20 instances in each class. Table 4.7 describes the main characteristics of these
4.5. Comparative Computational Results 75
Table 4.5: Comparing the new IP model with cuts (4.40) with the model of [193].
Inst. zCG tCG zCGcutsnew
tCGcutsnew
Best
1 kT03 4.77 0.06 5.00 0.052 kT05 5.65 0.61 6.71 0.75 *3 kT01 2.10 0.05 2.50 0.014 kT02 15.93 0.12 16.16 0.34 *5 kT04 6.74 1.08 7.02 1.22 *6 d16p6 6.74 1.19 7.02 1.34 *7 7p18 3.74 0.69 4.00 1.378 d33p20 6.18 2.85 7.00 1.869 12p19 2.89 4.54 3.20 3.06 *10 d43p21 7.86 39.39 8.42 25.48 *11 kT06 1.75 18.38 3.00 6.70 *12 kT07 2.86 11.43 3.08 28.43 *13 14p12 3.75 8.20 4.33 8.93 *14 kT09 3.65 47.18 4.00 62.0915 11p4 2.48 21.63 3.01 49.70 *16 30p0 5.51 120.21 6.00 80.08
Avg. 17.35 16.96
instances. The entries m and b are the average number of items and the average
demand in each class, respectively. The entries v1 and v2 determine, respectively,
the size of the smallest and largest item compared to the size of the rolls. The size
of the items will be in the interval [v1L, v2L].
In table 4.8, we compare the lower bounds obtained with the three strategies
used in our first set of experiments. The entries zCG, zCGnew and zCGcutsnew
have the
same meaning as in the previous tables. They correspond now to the average values
of the 20 instances in each class. Column zCSP represents the average number of
rolls used. The average lower bound over the 20 instances in each class is given
in column BPP . This bound corresponds to the L2 bound of Martello and Toth
[153] for the corresponding bin packing instance. The percentage improvement of
the lower bound for each approach compared to the continuous bound provided by
model (4.15)-(4.18) is given in columns imp.%. The number of instances for which
76 4. New Lower Bounds based on CG and CP for the PMP
Table 4.6: Deriving lower bounds using the CP model.
Inst. zCG tCG zCP tCP Best
1 kT03 4.77 0.06 5.00 0.472 kT05 5.65 0.61 5.00 0.193 kT01 2.10 0.05 2.00 0.014 kT02 15.93 0.12 14.00 0.195 kT04 6.74 1.08 7.00 0.016 d16p6 6.74 1.19 7.00 0.027 7p18 3.74 0.69 4.00 0.458 d33p20 6.18 2.85 6.00 0.119 12p19 2.89 4.54 4.00 0.06 *10 d43p21 7.86 39.39 8.00 0.2311 kT06 1.75 18.38 3.00 0.17 *12 kT07 2.86 11.43 3.00 0.4513 14p12 3.75 8.20 4.00 0.3714 kT09 3.65 47.18 4.00 0.8715 11p4 2.48 21.63 4.00 3.78 *16 30p0 5.51 120.21 6.00 26.66
Avg. 17.35 2.13
the value of the integer bound was improved is reported in the columns imp.lb.
For the CP approach, we also report the number of instances for which the integer
bound was equal to the bound given by the LP relaxation of (4.15)-(4.18).
The results listed in table 4.8 show a clear improvement of the results for the
first six classes. The percentage of improvement of the lower bounds is up to
almost 27% when the new IP is considered. The CP model also performs well on
these instances. The corresponding bounds are never smaller than the continuous
bounds given by the model of Vanderbeck [193]. There are also improvements for
the remaining instances but to a smaller extent. For large values of zCSP , the
difficulty of solving the new IP model increases. The number of combinations of
multiplicities may become larger, thus impacting both on the convergence and the
quality of the lower bounds.
4.6. Conclusions 77
Table 4.7: Benchmark instances randomly generated using CUTGEN1.
m v1 v2 b1 10 0.01 0.2 102 10 0.01 0.2 1003 20 0.01 0.2 104 20 0.01 0.2 1005 40 0.01 0.2 106 40 0.01 0.2 100
7 10 0.01 0.8 108 10 0.01 0.8 1009 20 0.01 0.8 1010 20 0.01 0.8 10011 40 0.01 0.8 1012 40 0.01 0.8 100
13 10 0.02 0.8 1014 10 0.02 0.8 10015 20 0.02 0.8 1016 20 0.02 0.8 10017 40 0.02 0.8 1018 40 0.02 0.8 100
4.6 Conclusions
The PMP is a very challenging problem that has been approached in several pub-
lications in the literature, although most of them rely on heuristic methods. The
exact solution algorithms proposed so far still have difficulties in solving medium
size instances. With the methods described in this chapter, we intend to contribute
with new results concerning the computation of lower bounds for the PMP. We pro-
pose a new IP model, and different strategies to strengthen it, among which are
the use of a CP model and new families of valid inequalities. Our computational
experiments were conducted on two sets of benchmark instances from the litera-
ture. The results show an improvement in the quality of the lower bounds, and in
the convergence of the methods for some instances.
78 4. New Lower Bounds based on CG and CP for the PMP
Tab
le4.8:
Com
parin
gth
elow
erb
ounds
forth
eran
dom
lygen
eratedin
stances.
zCSP
BP
PzCG
zCG
new
imp.%
imp.
lbzCG
cuts
new
imp.%
imp.
lbzCP
imp.%
imp.
lbeq
.lb
111.30
2.002.26
2.8626.40
22.86
26.453
2.9028.35
218
2108.60
2.102.47
3.0824.67
113.14
27.0312
3.9559.83
182
323.15
2.853.33
4.0020.09
34.01
20.133
4.0019.95
218
4226.05
2.803.69
4.2314.43
54.24
14.766
4.9032.70
146
542.15
4.205.00
5.6713.44
45.71
14.124
5.8015.95
416
6417.55
4.205.41
5.868.43
115.88
8.7312
6.2515.57
1010
748.35
4.955.87
6.327.57
66.36
8.347
6.256.39
312
8482.75
4.956.05
6.395.66
46.52
7.696
6.8012.36
78
998.80
9.4011.02
11.231.91
311.33
2.835
11.00-0.20
010
10983.75
9.4011.44
11.641.73
011.72
2.481
10.85-5.13
07
11171.80
16.3018.80
18.950.81
319.72
1.707
18.15-3.45
05
121715.05
16.3019.60
19.740.71
219.79
0.983
17.55-10.45
00
1362.15
6.106.91
7.427.27
57.49
8.286
7.305.58
115
14620.35
6.107.05
7.536.79
57.60
7.675
7.709.15
414
15125.15
11.9513.62
13.801.32
113.91
2.152
13.45-1.25
07
161248.25
11.9513.80
14.071.95
214.10
2.203
13.05-5.41
04
17219.55
20.7523.65
23.740.36
124.02
1.567
22.85-3.39
03
182191.10
20.7524.12
24.320.82
124.32
0.831
22.10-8.39
01
Chapter 5
Models and Bounds for the
Two-Dimensional Guillotine
Cutting Stock Problem and its
Variants 1
“Divide each difficulty into as many parts
as is feasible and necessary to resolve it.”
René Descartes
Contents5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2 Network Flow Model . . . . . . . . . . . . . . . . . . . . 84
5.3 Arc Reduction . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4 Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5 A New Family of Cutting Planes . . . . . . . . . . . . . 89
5.6 A New Lower Bound . . . . . . . . . . . . . . . . . . . . 90
5.7 Variants of the Problem . . . . . . . . . . . . . . . . . . 90
5.7.1 The Non-Oriented Case . . . . . . . . . . . . . . . . . . 90
5.7.2 Orientation of the First Stage’s Cuts . . . . . . . . . . . 91
5.8 Computational Results . . . . . . . . . . . . . . . . . . . 94
5.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 114
1The work presented in this chapter has been published in [147]
79
80 5. Models and Bounds for the 2D-CSP and its Variants
5.1 Introduction
In this chapter, we describe an exact model for the 2D-CSP with two stages and
the guillotine constraint. It is an IP network flow model, formulated as a minimum
flow problem, which is an extension of a model proposed by Valerio de Carvalho
for the one-dimensional case [188], which we have described in chapter 3. In this
chapter, we explore the behavior of this model when it is solved with a commercial
software, explicitly considering all its variables and constraints. We also derive a
new family of cutting planes and a new lower bound, and consider some variants
of the original problem. The model was tested on a set of real instances from the
wood industry, with very good results. Furthermore, the lower bounds provided by
the LP-relaxation of the model compare favorably with the lower bounds provided
by a model based on assignment variables.
We focus on the exact solution of the two-stage, non-exact 2D-CSP with the
guillotine constraint (figure 5.1). Some exact solution methods concerning this
problem are described in the literature.
Gilmore and Gomory [102] proposed the first model for the 2D-CSP, by ex-
tending their column generation approach to 1D-CSP. They proposed an integer
programming approach [100, 101], with a column generation technique, to solve the
one-dimensional version of the CSP, as described in section 3.2. They introduce a
variable for each feasible cutting pattern, but, as they increase exponentially, not all
of them are explicitly considered. Instead, they use a column generation approach
to determine, at each step, promising patterns (columns) that might improve a cur-
rent solution. This auxiliary problem, a knapsack problem, uses the shadow prices
as the coefficients of the objective function. Later on, they extended this approach
to solve the two-dimensional guillotine version of the problem [102]. They approach
it as a two-stage one-dimensional problem, with the first stage corresponding to
the cutting of the stock sheets into strips, and the second stage corresponding to
5.1. Introduction 81
the cutting of those strips into the requested heights (see section 3.3).
Amossen [17] described a branch-and-bound algorithm for dBPP (where d = 2
is a particular case), with the guillotine cutting constraint. It is based on the
exact branch-and-bound algorithm presented by Martello et al. [152] for the 3BPP,
but generalized to use arbitrary lower bounds and Orthogonal Packing Problems
OPP solvers, so that it is no longer restricted to the three-dimensional case. The
3BPP algorithm proposed by Martello et al. [152] follows a depth-first strategy.
Its main branching tree assigns items to the different bins without specifying their
actual position. The feasibility of the assignments is checked, at each decision node,
first by the computation of a lower bound for the sub-instance, then by applying
an heuristic and finally, when these two methods fail, by using an exact branch-
and-bound algorithm (ONEBIN), which also finds the best pattern. Amossen’s
approach also consists of an outer algorithm that assigns items to bins and an
inner sub-algorithm for solving an OPP for each bin. The OPP problem is solved
by extending the graph theory framework by Fekete and Schepers [83, 85] to handle
guillotine cuttings, as the original version does not take this constraint into account.
Puchinger and Raidl [171] presented an algorithm for three-stage 2D-BPP,
where a feasible solution consists of a set of bins, being each bin partitioned (hor-
izontally) into a set of strips, each strip consisting of a set of slacks, each slack
consisting of a set of items having equal width. They developed two polynomial-
size integer IP models for three-stage 2BPP: a restricted model, particularly useful
for quickly obtaining near-optimal solutions, and the original model, computa-
tionally more expensive. In the restricted version, the highest stack of each strip
always consists of a single item that, consequently, defines its height, helping the
determination of the total height of all strips contained in a bin. Both IP models
only involve polynomial numbers of variables and constraints and effectively avoid
symmetries. The restricted IP model uses O(n2) variables and O(n) constraints,
and the unrestricted one uses O(n3) variables and constraints and is considered,
82 5. Models and Bounds for the 2D-CSP and its Variants
to the authors’ knowledge, as the first polynomial-size IP for three-stage 2D-BPP.
Puchinger and Raidl [171] proposed, as an alternative approach, a branch-and-
price framework for a set covering formulation with column generation, based on
a Dantzig-Wolfe decomposition of the previous IP models. They also apply dual
subset inequalities in order to stabilize the column generation process. Column
generation is performed by applying a four level hierarchy of pricing algorithms,
each one being used only if the previous one fails in finding a pattern with negative
reduced costs:
1. the first level, a greedy heuristic, first fit heuristic respecting branching con-
straints (FFBC), is the fastest of the four methods, but can only solve easy
pricing problems.
2. as a second level pricing strategy, they use a more sophisticated metaheuris-
tic, an evolutionary algorithm, that is slower but can solve harder pricing
problems.
3. the third level is another heuristic approach, defined analogously to the re-
stricted 2D-BPP model as the restricted version of the pricing problem, which
they called restricted three-stage 2D-KP.
4. finally, when all pricing heuristics fail, the complete unrestricted pricing prob-
lem, a three-stage 2D-KP, is solved exactly. This algorithm is more time
consuming.
Vanderbeck [195] proposed an approximate solution method for the two-dimensional
three-stage CSP based on a nested decomposition of the problem, with a recursive
use of the column generation technique. Although this method is only approxi-
mate, it could, according to the author, be adapted to generate exact solutions.
The author described a particular industrial real-world problem, with specific ad-
ditional properties, where the main objective is to minimize waste. Additionally,
5.1. Introduction 83
other issues such as aging stock sheets, urgent or optional orders, and fixed setup
costs are also considered. Stock sheets may have different dimensions and items
have lower and upper bounds on order productions instead of specific demands.
The three stages involved in the problem use only orthogonal guillotine cuts and
consist of the cutting of the stock pieces into sections, the sections into slits and
finally, the slits into items. The solution approach involves three layers of decom-
position: a first layer considering the subproblem associated with the generation
of feasible cutting patterns for a given stock sheet, a second layer considering the
decomposition of the cutting pattern generation problem into subproblems asso-
ciated with the generation of sections, and a third layer considering the section
generation as the selection of horizontal combinations of items and the selection of
the section length. There are constraints imposed on the cutting process, which
make the combinatorial structure of the problem more complex but limit the size of
the solution space. The sections generation subproblem is solved exactly, whereas
the cutting patterns generation subproblem is only solved approximately, although
it could, in principle, be solved to optimality if the presented approach was used
at each node of a branch-and-bound tree.
Cui [59] analyzed the problem of cutting circular blanks for the manufacturing
of electric motors. He considered multi-segment patterns, which are guillotine two-
stage patterns. Parts cut in the first stage are denoted as segments, and the ones
cut in the second stage as strips. Each strip contains identical blanks that can
appear in a given maximum number of rows. The linear programming model is
solved with column generation, being the multi-segment patterns generated with
a knapsack algorithm. This problem could be approached as a two-stage 2D-CSP
with the guillotine constraint and rectangular items if we considered as a different
rectangular item each possible type of strip resulting from the combination of the
heights of all the possible number of rows of each blank size with all their possible
widths, calculated according to the author’s definition of break points. For each
84 5. Models and Bounds for the 2D-CSP and its Variants
different item, the type and number of circular blanks should be considered, in
order to properly fulfill the demands.
Cintra et al. [47] proposed a column generation algorithm for the 2D-CSP with
the guillotine constraint. They introduced two new rectangular knapsack algo-
rithms to generate new columns, and described how to find integer solutions.
Alves et al. [13] presented an exact algorithm for the two-stage 2D-CSP with
the guillotine constraint, and computational experiments with real-world instances
from the furniture industry. It is a plain exact algorithm that does not use any
heuristics or other strategies to accelerate its converge. It consists of a branch-and-
price procedure whose branching scheme is compatible with the pricing subprob-
lems.
5.2 Network Flow Model
Valerio de Carvalho [188] proposed a IP network flow model for the 1D-CSP (3.11)-
(3.14). We extended this formulation for the two-stage 2D-CSP with the guillotine
constraint. We consider that, in the first stage, the stock sheets are cut into
horizontal strips, which are, in the second stage, cut into the demanded items. We
handle the two-dimensional problem as a set of two one-dimensional problems. In
the first stage, we cut strips out of the stock sheets. This means that we only need
to consider the items’ and the stock sheets’ heights. In the second stage, the strips
generated are cut into the demanded items (with vertical cuts). Again, this means
that we only have to consider the items’ and stock sheets’ widths, because we have
defined the set of items that can be cut out of a given strip (the ones whose height
is smaller than or equal to the strip height).
We consider H∗ = h∗1, ..., h∗mh as the set of mh different heights ordered by
their increasing values, a graph G0 = (V 0, A0), with V 0 = 0, 1, ..., H and A0 =
(a, b) : 0 ≤ a < b ≤ H and b − a = h∗i ,∀i ∈ 1, ...,mh, for the first stage,
5.2. Network Flow Model 85
111 1
222
344
33
554
111 1
222
344
111 1
222
443
33
554
33
55 5
3 3
554
3 3
555
33
555
First stageGuillotine patterns Second stage
Figure 5.1: Non-exact two-stage guillotine cutting patterns
and a set of graphs Gs = (V s, As), with V s = 0, 1, ...,W and As = (d, e) : 0 ≤
d < e ≤ W and e− d = wi, ∀i ∈ 1, ...,m : hi ≤ hs, for each of the mh sets of
patterns of the second stage. Every set As, ∀s ∈ 0, 1, ...,mh, includes unit arcs
that represent waste, which are strips of waste of width W when s = 0, and waste
within the strip when s > 0.
min z0 (5.1)
s.t.∑
(a,b)∈A0
x0ab −
∑(b,c)∈A0
x0bc =
−z0 , if b = 0
0 , if b = 1, 2, ..., H − 1
z0 , if b = H
, (5.2)
∑(c,c+h∗s)∈A0
x0c,c+h∗s
− zs = 0, ∀s ∈ 1, ...,mh, (5.3)
86 5. Models and Bounds for the 2D-CSP and its Variants
∑(d, e) ∈ As
h∗ ∈ H∗
xsdeh∗ −∑
(e, f) ∈ As
h∗ ∈ H∗
xsefh∗
=
−zs , if e = 0
0 , if e = 1, 2, ...,W − 1
zs , if e = W
, ∀s ∈ 1, ...,mh, (5.4)
mh∑s=1
∑(f,f+wi)∈As
xsf,f+wi,hi≥ bi, ∀i ∈ 1, ...,m, (5.5)
x0ab ≥ 0 and integer, ∀(a, b) ∈ A0, (5.6)
xsdeh∗ ≥ 0 and integer, ∀(d, e) ∈ As,
∀s ∈ 1, ...,mh, ∀h∗ ∈ H∗. (5.7)
In this formulation, variable z0 represents the number of stock sheets used and
variables zs, ∀s ∈ 1, ...,mh, denote the number of strips of height hs cut in
the first stage. Variables x0ab represent the flow in arc (a, b), on graph G0, and
variables xscdh∗ represent the flow in arc (c, d) ∈ Gs corresponding to items of width
(d− c) and height h∗ ∈ H∗. The third index h∗ differentiates items with the same
width but different heights within the same graph Gs. Constraints (5.3) make the
connection between the two stages of the problem: the number of strips of height
h∗i , ∀i ∈ 1, ...,mh, cut in the first stage must be equal to the number of strips of
height h∗i cut in the second stage into the demanded items. Constraints (5.2) and
(5.4) are related with flow conservation in the first and second stages, respectively,
and constraints (5.5) ensure that all the demands are fulfilled.
5.3 Arc Reduction
The model has a pseudo-polynomial number of variables and constraints. Variables
represent arcs in the network flow model; reducing the number of arcs reduces the
5.3. Arc Reduction 87
size of the model, increasing its efficiency. Three reduction criteria were applied in
order to accomplish this:
(i) only maximal cutting patterns are considered: in the first stage, we only con-
sider combinations of strips whose heights sum Sh is such that H−Sh < hmin,
being hmin the smallest item height, and in the second stage, we only consider
combinations of items whose width sum Sw is such that W − Sw < wmin,
being wmin the smallest item width. This is possible because the demand
constraints (5.5) are inequalities.
(ii) all the strips should contain at least one item with height equal to the strip
height. We guarantee this by enforcing that all arcs leaving node 0, in all
graphs of the second stage, correspond to items whose height is equal to the
strip height.
(iii) in the first or the second stages, the strips and items, respectively, to some
extent, are sorted by their decreasing values of size. This is accomplished
by constructing the graphs in a way such that an arc (b, c), with b 6= 0
(and taking into account reduction criterion (iii) for the graphs of the second
stage), is only considered if there is another arc (a, b) such that b− a ≥ c− b.
None of these criteria eliminates cutting patterns that cannot be replaced by equiv-
alent ones, in what concerns finding the minimum number of used stock sheets.
Example 5.1 Consider an instance with stock sheets of height H = 20 and width
W = 30 and a set of items I = (hi, wi, bi) : i ∈ 1, . . . , 5 = (5, 7, 4), (5, 10, 3),
(7, 12, 5), (10, 8, 3), (12, 10, 5).
By applying the previous criteria, the graph corresponding to the first stage,
G0, and the graph of the second stage, corresponding to strips of height 7, G2,
would be the ones represented in figures 5.2 and 5.3, respectively.
88 5. Models and Bounds for the 2D-CSP and its Variants
r r r r r r r r r r r r r r r r r r r r r0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
I I I I I II
I I I I
I I
I
J
I I I
Figure 5.2: Graph G0 of the network flow model (example 5.1).
r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
I I I
I
I I
J
I I I I I I
Figure 5.3: Graph G2 of the network flow model (example 5.1).
5.4 Symmetry
In this model, symmetry occurs whenever different paths corresponding to an iden-
tical cutting pattern are allowed. Reduction criterion (iii), previously described,
reduces some symmetry, although it does not totally prevent it. To reduce it fur-
ther, additional constraints can be added to the model:
∑(a,b)∈A0
x0ab(b− a) ≥
∑(b,c)∈A0
x0bc(c− b), (5.8)
∑(d, e) ∈ As : d > 0
h∗ ∈ H∗
xsdeh∗(e− d) ≥∑
(e, f) ∈ As
h∗ ∈ H∗
xsefh∗(f − e) ∀s ∈ 1, ...,mh. (5.9)
Constraints (5.8) and (5.9) reinforce the reduction criterion (iii), in the first and
second stage, respectively. At each node k ∈ 1, . . . ,W − 1, constraints (5.2) and
(5.4) ensure that the flow into a node is equal to the flow out of it. With (5.8) and
5.5. A New Family of Cutting Planes 89
(5.9) we force the sum of the lengths of the arcs into a node k ∈ 1, . . . ,W − 1
to be greater than or equal to the sum of lengths of the arcs out of it, in order to
avoid that any unit of flow goes from a given arc to another one with a greater
length.
5.5 A New Family of Cutting Planes
In order to strengthen the model, we derived a new family of cutting planes. They
rely on the fact that any set of items with height greater than or equal to hj must be
cut out of strips with height greater than or equal to hj. To compute a minimum
number of strips needed to cut all items of set Ij = i ∈ 1, ...,m : hi ≥ hj,
∀j ∈ 1, . . . ,mh, two sets of lower bounds, LB Strip 1j and LB Strip 2j are
considered. LB Strip 1j is the continuous lower bound, i.e.,
LB Strip 1j =
⌈∑i∈Ij wibi
W
⌉∀j ∈ 1, . . . ,mh. (5.10)
This lower bound can be tightened using of dual feasible functions (see for example
[82]).
To derive lower bound LB Strip 2j, we consider the maximum number of items
that can be cut of a given strip. To compute this, we consider the item, from the
set of items that could be cut from that strip, with minimum width.
LB Strip 2j =
∑
i∈Ij bi⌊W
mini∈Ij wi
⌋ ∀j ∈ 1, . . . ,mh. (5.11)
The new family of cutting planes is, therefore, described as follows:
mh∑l=j
zl > max(LB Strip 1j, LB Strip 2j) ∀j ∈ 1, . . . ,mh. (5.12)
90 5. Models and Bounds for the 2D-CSP and its Variants
5.6 A New Lower Bound
We derived a new lower bound for the number of required stock sheets. This lower
bound is based on the lower bounds described in section 5.5, but now applied to
the vertical dimension.
In order to obtain a lower bound for the sum of heights of all strips of a
given solution, we use the lower bounds (5.10) and (5.11). Thus, let lb auxj =
max(LB Strip 1j, LB Strip 2j), ∀j ∈ 1, . . . ,mh. Remember that H∗ = h∗1, ...,
h∗mh is the set of mh different heights ordered by their increasing values. Let us
consider the maximum height, i.e., h∗mh. We know that at least lb auxmh
strips of
this height will be used. We also know that at least lb aux(mh−1) strips of heights
h∗mhor h∗(mh−1) will be required. If we are considering the minimum possible sum
of heights, we can say that we would have at least lb auxmhheights h∗mh
and
(lb aux(mh−1) − lb auxmh) heights h∗(mh−1), and so on. Therefore, (5.13) is a lower
bound for the sum of strip heights in the solution.
h strip =
mh∑j=1
lb auxj − ∑i∈Ij\j
lb auxi
× h∗j . (5.13)
To compute our lower bound LB, we consider two lower bounds, LB1 =⌈hstripH
⌉and LB2 =
⌈lb aux1⌊
Hh∗1
⌋⌉
, being LB = max(LB1, LB2).
5.7 Variants of the Problem
5.7.1 The Non-Oriented Case
If the material of the stock sheets has any kind of pattern, rotation of items is
not generally allowed (oriented case). For example, if the stock sheets are made
5.7. Variants of the Problem 91
of wood, the items may not be allowed to be rotated, as the direction of the wood
grain would be modified (figure 5.4). This means that an item of width w and
1
2
1
2
2
Figure 5.4: Rotating items in a wood stock sheet
height h is considered to be different from an item of width h and height w, as
they are meant to have a different orientation. When this does not happen, and
rotation is allowed, the number of feasible cutting patterns increases.
The previous model does not consider item rotation. However, it can easily
be considered by defining a different item i′ for each item i, such that hi′ = wi,
wi′ = hi, bi′ = 0 and the sum of items i and i′ is equal to the demand of item i.
5.7.2 Orientation of the First Stage’s Cuts
So far, we considered that, in the first stage, cuts are horizontal (generating hori-
zontal strips) and, in the second stage, cuts are vertical. Of course, we may begin
with vertical cuts and proceed with horizontal ones. Allowing the first cut to be
either horizontal or vertical can obviously reduce the total number of stock sheets
in the cutting plan, which may have some sheets with horizontal strips and others
with vertical ones.
92 5. Models and Bounds for the 2D-CSP and its Variants
Although this can potentially improve the optimal solution, it increases con-
siderably the size of the model (5.14)-(5.25). Let us consider H∗ = h∗1, ..., h∗mh
and W ∗ = w∗1, ..., w∗mv as the set of mh and mv different heights and widths,
respectively, ordered by their increasing values. We would have to consider two
graphs for the first stage, G0h = (V 0
h , A0h), with V 0
h = 0, 1, ..., H and A0h = (a, b) :
0 ≤ a < b ≤ H and b − a = h∗i ,∀i ∈ 1, ...,mh and G0v = (V 0
v , A0v), with
V 0v = 0, 1, ...,W and A0
v = (c, d) : 0 ≤ c < d ≤ W and d − c = w∗i ,∀i ∈
1, ...,mv, and two sets of graphs for the second stage, Gsh = (V s
h , Ash), with
V sh = 0, 1, ...,W and Ash = (e, f) : 0 ≤ e < f ≤ W and f − e = wi,∀i ∈
1, ...,m : hi ≤ hs,∀s ∈ mh, and Guv = (V u
v , Auv), with V u
v = 0, 1, ..., H and
Auv = (g, h) : 0 ≤ g < h ≤ W and h− g = hi,∀i ∈ 1, ...,m : wi ≤ wu, ∀u ∈
mv.
min z0h + z0
v (5.14)
s.t.∑
(a,b)∈A0h
xh0ab −
∑(b,c)∈A0
h
xh0bc =
−z0
h , if b = 0
0 , if b = 1, 2, ..., H − 1
z0h , if b = H
, (5.15)
∑(c,c+h∗s)∈A0
h
xh0c,c+h∗s
− zsh = 0, ∀s ∈ 1, ...,mh, (5.16)
∑(g,k)∈A0
v
xv0gk −
∑(k,l)∈A0
v
xv0kl =
−z0
v , if k = 0
0 , if k = 1, 2, ...,W − 1
z0v , if k = W
, (5.17)
∑(l,l+w∗u)∈A0
v
xv0l,l+w∗u
− zuv = 0, ∀u ∈ 1, ...,mv, (5.18)
∑(d, e) ∈ As
h
h∗ ∈ H∗
xhsdeh∗ −∑
(e, f) ∈ Ash
h∗ ∈ H∗
xhsefh∗
=
−zsh , if e = 0
0 , if e = 1, 2, ...,W − 1
zsh , if e = W
,∀s ∈ 1, ...,mh, (5.19)
5.7. Variants of the Problem 93
∑(p, q) ∈ Au
v
w∗ ∈W ∗
xvupqw∗ −∑
(q, r) ∈ Auv
w∗ ∈W ∗
xvuqrw∗
=
−zuv , if q = 0
0 , if q = 1, 2, ..., H − 1
zuv , if q = H
,∀u ∈ 1, ...,mv, (5.20)
mh∑s=1
∑(f,f+wi)∈As
h
xhsf,f+wi,hi+
mv∑u=1
∑(r,r+hi)∈Au
v
xvur,r+hi,wi≥ bi,
∀i ∈ 1, ...,m, (5.21)
xh0ab ≥ 0 and integer, ∀(a, b) ∈ A0
h, (5.22)
xhsdeh∗ ≥ 0 and integer, ∀(d, e) ∈ Ash, ∀s ∈ 1, ...,mh
∀h∗ ∈ H∗, (5.23)
xv0gk ≥ 0 and integer, ∀(g, k) ∈ A0
v, (5.24)
xvupqw∗ ≥ 0 and integer, ∀(p, q) ∈ Auv , ∀u ∈ 1, ...,mv
∀w∗ ∈ W ∗. (5.25)
This formulation is similar to formulation (5.1)-(5.7). Variables z0h and z0
v represent
the number of used stock sheets with horizontal and vertical first cuts, respectively,
and variables zsh, ∀s ∈ 1, ...,mh and zuv , ∀u ∈ 1, ...,mv, denote the number of
horizontal and vertical strips of height hs and width wu, respectively, cut in the first
stage. Variables xh0ab and xv0
cd represent the flow that goes through arcs (a, b) and
(c, d) on graphs G0h and G0
v, respectively. Variables xhsdeh∗ and xvupqv∗ represent the
flow on graphs Gsh and Gu
v that goes through arcs (d, e) and (p, q), corresponding to
items of width (e− d) and height h∗ ∈ H∗ and height (q − p) and width w∗ ∈ W ∗,
respectively. The objective function (5.14) minimizes the total number of stock
sheets used (the sum of stock sheets with horizontal cuts, z0h, and vertical cuts, z0
v ,
in the first stage). Constraints (5.15) and (5.17) are related with flow conservation
of the first stage and constraints (5.19) and (5.20) with flow conservation of the
94 5. Models and Bounds for the 2D-CSP and its Variants
second stage. Constraints (5.16) and (5.18) make the connection of the two stages,
ensuring that the number of horizontal or vertical strips cut in the first stage is
the same as the number of horizontal or vertical strips used in the second stage.
Finally, constraints (5.21) guarantee that all the demands are fulfilled.
5.8 Computational Results
The exact network flow model was tested with two sets of real instances from the
furniture industry, set A and set B. The procedure for generating arcs was coded
in C++, and the model was solved with ILOG CPLEX 10.2. The computational
tests were run on a PC with a 1.87 GHz Intel Core Duo processor and a 2GB RAM.
Tables 5.1 and 5.2 characterize the set A and set B instances, respectively.
They show, for each instance, the number of different items, n, the total number
of items, nt, the area of all items, ai, the width, W , and height, H, of the stock
sheets, the area of one stock sheet, as, the minimum, amin, maximum, amax, and
average, aav, percentage of occupied area, in the stock sheet, by one item, and the
minimum, bmin, maximum, bmax, and average, bav, demand.
5.8. Computational Results 95
Tab
le5.1
:D
escr
ipti
on
of
the
setA
inst
an
ces.
Nam
en
nt
ai
WH
as
am
inam
ax
aav
b min
b max
b av
A-1
224
7.45
E+
062750
1220
3.3
6E
+06
5.3
321.0
39.2
56
18
12.0
0A
-24
387.
51E
+07
2750
1220
3.3
6E
+06
3.4
965.6
958.9
01
28
9.5
0A
-32
171.
63E
+07
2750
1220
3.3
6E
+06
5.3
329.9
728.5
21
16
8.5
0A
-42
167.
31E
+06
2750
1220
3.3
6E
+06
0.8
726.3
513.6
18
88.0
0A
-58
138
5.73
E+
072470
2080
5.1
4E
+06
2.2
844.7
38.0
88
32
17.2
5A
-62
173.
96E
+06
2750
1220
3.3
6E
+06
6.8
09.1
16.9
41
16
8.5
0A
-75
583.
15E
+07
2750
1220
3.3
6E
+06
6.0
232.9
216.1
98
16
11.6
0A
-81
162.
41E
+06
2750
1220
3.3
6E
+06
4.4
94.4
94.4
916
16
16.0
0A
-930
770
2.93
E+
082550
2100
5.3
6E
+06
0.7
035.3
27.1
16
68
25.6
7A
-10
344
9.88
E+
062550
2100
5.3
6E
+06
0.7
08.6
34.1
912
16
14.6
7A
-11
2072
42.
32E
+08
2550
2100
5.3
6E
+06
2.1
123.2
25.9
88
140
36.2
0A
-12
344
5.82
E+
072550
2100
5.3
6E
+06
8.6
334.4
924.6
88
20
14.6
7A
-13
830
46.
35E
+07
2550
2100
5.3
6E
+06
0.7
017.0
33.9
08
120
38.0
0A
-14
3180
93.
38E
+08
2550
2100
5.3
6E
+06
1.4
125.1
47.8
08
52
26.1
0A
-15
1233
91.
88E
+08
2550
2100
5.3
6E
+06
2.8
725.1
410.3
48
80
28.2
5A
-16
2774
44.
17E
+08
2550
2100
5.3
6E
+06
0.6
625.1
410.4
84
96
27.5
6A
-17
313
52.
39E
+07
2550
2100
5.3
6E
+06
2.9
63.6
73.3
028
57
45.0
0A
-18
2055
93.
16E
+08
2550
2100
5.3
6E
+06
0.6
625.1
410.5
65
71
27.9
5A
-19
2750
72.
73E
+08
2550
2100
5.3
6E
+06
1.0
837.4
410.0
53
50
18.7
8A
-20
1021
51.
20E
+08
2550
2100
5.3
6E
+06
2.1
937.4
410.4
33
60
21.5
0A
-21
2145
01.
36E
+08
2550
2100
5.3
6E
+06
2.1
014.6
95.6
34
70
21.4
3A
-22
124
1.04
E+
072550
2100
5.3
6E
+06
8.0
68.0
68.0
624
24
24.0
0A
-23
824
86.
32E
+07
2550
2100
5.3
6E
+06
2.9
39.7
84.7
68
60
31.0
0A
-24
107
217
1.65
E+
082550
2100
5.3
6E
+06
1.2
442.3
214.2
41
12
2.0
3A
-25
7515
68.
54E
+07
2550
2100
5.3
6E
+06
1.2
140.0
610.2
21
72.0
8A
-26
3461
3.42
E+
072550
2100
5.3
6E
+06
1.0
733.5
210.4
71
81.7
9A
-27
7918
09.
62E
+07
2550
2100
5.3
6E
+06
0.6
629.6
29.9
81
15
2.2
8A
-28
5410
65.
30E
+07
2550
2100
5.3
6E
+06
1.4
123.6
69.3
51
61.9
6A
-29
8221
81.
35E
+08
2550
2100
5.3
6E
+06
0.5
242.8
211.6
01
18
2.6
6A
-30
2439
1.76
E+
072550
2100
5.3
6E
+06
1.7
619.8
08.4
31
71.6
3A
-31
3664
3.64
E+
072550
2100
5.3
6E
+06
3.0
141.4
710.6
21
61.7
8
96 5. Models and Bounds for the 2D-CSP and its Variants
Tab
le5.
1:D
escr
ipti
on
of
the
setA
inst
an
ces
(conti
nu
ed).
Nam
en
nt
ai
WH
as
am
inam
ax
aav
b min
b max
b av
A-3
299
184
1.30
E+
082550
2100
5.3
6E
+06
1.4
557.4
913.1
71
91.8
6A
-33
134
309
1.75
E+
082550
2100
5.3
6E
+06
1.0
552.6
810.5
61
15
2.3
1A
-34
2646
2.46
E+
072550
2100
5.3
6E
+06
1.5
041.3
59.9
91
10
1.7
7A
-35
6814
48.
09E
+07
2550
2100
5.3
6E
+06
1.4
551.6
510.4
91
14
2.1
2A
-36
1652
3.48
E+
072550
2100
5.3
6E
+06
1.2
956.2
812.4
81
83.2
5A
-37
878
2.22
E+
072550
2100
5.3
6E
+06
1.9
649.5
45.3
11
40
9.7
5A
-38
4216
01.
08E
+08
2550
2100
5.3
6E
+06
1.0
756.2
812.6
11
40
3.8
1A
-39
1122
1.46
E+
072550
2100
5.3
6E
+06
1.6
430.9
812.4
21
42.0
0A
-40
4016
34.
81E
+07
2750
1220
3.3
6E
+06
1.5
661.4
78.7
91
20
4.0
8A
-41
3271
4.73
E+
072750
1220
3.3
6E
+06
1.1
069.6
919.8
71
92.2
2A
-42
813
1.48
E+
072750
1220
3.3
6E
+06
10.1
861.4
733.9
51
31.6
3A
-43
1122
1.59
E+
072750
1220
3.3
6E
+06
1.4
365.6
921.5
41
42.0
0
Average
28.7
419
8.72
9.49
E+
072599.3
01874.4
24.8
4E
+06
2.5
334.7
112.3
14.7
932.3
012.6
8
5.8. Computational Results 97
Tab
le5.2
:D
escr
ipti
on
of
the
setB
inst
an
ces.
Nam
en
nt
ai
WH
as
am
inam
ax
aav
b min
b max
b av
B-1
975
76.
14E
+08
4250
2120
9.0
1E
+06
3.6
923.7
39.0
055
190
84.1
1B
-213
1040
1.35
E+
094250
2120
9.0
1E
+06
3.6
934.1
614.4
128
165
80.0
0B
-34
1342
6.95
E+
084250
1860
7.9
1E
+06
2.5
015.0
36.5
5122
820
335.5
0B
-46
123
1.41
E+
084250
1860
7.9
1E
+06
4.0
137.2
114.4
910
44
20.5
0B
-54
118
7.06
E+
074250
1860
7.9
1E
+06
2.6
822.4
77.5
711
80
29.5
0B
-63
427.
03E
+07
4250
1860
7.9
1E
+06
16.3
837.2
121.1
74
30
14.0
0B
-74
3000
2.22
E+
092440
1860
4.5
4E
+06
3.3
823.1
516.3
4600
1200
750.0
0B
-86
2545
1.46
E+
092800
1860
5.2
1E
+06
4.5
424.0
211.0
3225
1360
424.1
7B
-921
2629
6.45
E+
084250
1860
7.9
1E
+06
1.1
95.4
23.1
128
330
125.1
9B
-10
2128
385.
80E
+08
4250
1860
7.9
1E
+06
1.0
216.5
12.5
811
660
135.1
4B
-11
2861
342.
04E
+09
4250
1860
7.9
1E
+06
1.4
927.7
04.2
227
1300
219.0
7B
-12
665
702.
89E
+09
3760
1860
6.9
9E
+06
1.9
416.7
16.3
0110
2480
1095.0
0B
-13
1158
711.
50E
+09
3760
1860
6.9
9E
+06
1.7
56.7
73.6
5103
2060
533.7
3B
-14
731
82.
67E
+08
4250
2120
9.0
1E
+06
3.4
114.4
29.3
123
84
45.4
3B
-15
510
61.
13E
+08
4250
2200
9.3
5E
+06
5.2
221.6
511.3
85
38
21.2
0B
-16
831
62.
03E
+08
4250
2200
9.3
5E
+06
3.2
815.6
16.8
715
74
39.5
0B
-17
257
6.84
E+
074250
2120
9.0
1E
+06
11.1
115.0
413.3
225
32
28.5
0B
-18
314
71.
08E
+08
4250
2120
9.0
1E
+06
6.0
211.1
18.1
344
55
49.0
0B
-19
1152
94.
06E
+08
4250
2200
9.3
5E
+06
3.2
815.6
28.2
028
97
48.0
9B
-20
610
806.
67E
+08
4250
1860
7.9
1E
+06
2.7
115.9
77.8
150
600
180.0
0B
-21
730
001.
50E
+09
4250
1860
7.9
1E
+06
2.2
615.9
76.3
3110
1420
428.5
7B
-22
624
41.
36E
+08
4250
2120
9.0
1E
+06
3.4
110.8
36.1
828
77
40.6
7B
-23
1314
035.
67E
+08
3770
1860
7.0
1E
+06
2.1
148.6
35.7
69
220
107.9
2B
-24
216
56.
54E
+07
4250
1860
7.9
1E
+06
2.2
010.6
55.0
155
110
82.5
0B
-25
570
81.
94E
+08
2600
1860
4.8
4E
+06
3.2
111.7
15.6
722
334
141.6
0B
-26
836
778.
14E
+08
3760
1860
6.9
9E
+06
1.7
54.4
43.1
7106
1260
459.6
3B
-27
534
131.
39E
+09
3760
1860
6.9
9E
+06
2.2
416.7
15.8
153
1260
682.6
0B
-28
688
02.
84E
+08
4250
1860
7.9
1E
+06
2.1
18.6
24.0
9110
220
146.6
7B
-29
544
01.
34E
+08
4250
1860
7.9
1E
+06
2.8
25.6
13.8
655
110
88.0
0B
-30
1413
074.
34E
+08
4250
1860
7.9
1E
+06
2.1
18.6
24.2
022
220
93.3
6B
-31
539
62.
03E
+08
4250
1860
7.9
1E
+06
3.2
216.4
46.4
822
220
79.2
0
98 5. Models and Bounds for the 2D-CSP and its Variants
Tab
le5.
2:D
escr
ipti
on
of
the
setB
inst
an
ces
(conti
nu
ed).
Nam
en
nt
ai
WH
as
am
inam
ax
aav
b min
b max
b av
B-3
227
2600
1.38
E+
094250
1860
7.9
1E
+06
1.6
221.0
76.7
220
240
96.3
0B
-33
668
93.
54E
+08
4250
1860
7.9
1E
+06
2.2
718.7
66.5
055
220
114.8
3B
-34
1410
855.
36E
+08
4250
1860
7.9
1E
+06
1.6
218.7
66.2
522
165
77.5
0B
-35
447
65.
97E
+08
3760
1860
6.9
9E
+06
4.8
730.2
717.9
252
180
119.0
0B
-36
474
06.
11E
+08
3760
1860
6.9
9E
+06
5.3
915.6
811.8
140
280
185.0
0B
-37
655
03.
50E
+08
4250
1860
7.9
1E
+06
3.9
221.0
78.0
420
180
91.6
7B
-38
236
51.
42E
+08
2820
1870
5.2
7E
+06
6.2
614.3
57.3
750
315
182.5
0B
-39
231
51.
42E
+08
2820
1870
5.2
7E
+06
8.2
49.2
18.5
6105
210
157.5
0B
-40
722
61.
37E
+08
4250
1860
7.9
1E
+06
4.0
911.6
87.6
417
63
32.2
9B
-41
529
41.
36E
+08
4250
2200
9.3
5E
+06
3.2
412.1
44.9
512
163
58.8
0B
-42
718
81.
15E
+08
4250
1860
7.9
1E
+06
4.2
911.8
67.7
114
44
26.8
6B
-43
258
3.53
E+
074250
1860
7.9
1E
+06
6.9
99.2
97.7
018
40
29.0
0B
-44
1142
11.
74E
+08
4250
1860
7.9
1E
+06
1.8
811.6
85.2
34
84
38.2
7B
-45
215
67.
69E
+07
4250
1860
7.9
1E
+06
4.0
911.6
86.2
344
112
78.0
0B
-46
620
91.
75E
+08
4250
1860
7.9
1E
+06
5.0
518.4
810.5
87
108
34.8
3B
-47
494
5.87
E+
074250
1860
7.9
1E
+06
4.2
911.8
67.9
012
34
23.5
0B
-48
627
81.
24E
+08
4250
2200
9.3
5E
+06
2.1
49.2
44.7
512
98
46.3
3B
-49
316
11.
26E
+08
4250
1860
7.9
1E
+06
6.4
014.5
79.9
134
67
53.6
7B
-50
198
54.
79E
+08
4200
1860
7.8
1E
+06
6.2
26.2
26.2
2985
985
985.0
0B
-51
1039
04.
67E
+08
4200
2130
8.9
5E
+06
3.7
826.7
713.3
920
62
39.0
0B
-52
123
908.
90E
+08
4250
2070
8.8
0E
+06
4.2
34.2
34.2
32390
2390
2390.0
0B
-53
410
01.
86E
+07
4250
1860
7.9
1E
+06
1.6
13.5
92.3
510
50
25.0
0B
-54
615
35.
76E
+07
2820
1870
5.2
7E
+06
4.0
915.0
77.1
39
46
25.5
0B
-55
995
03.
72E
+08
4250
1860
7.9
1E
+06
1.1
016.6
64.9
522
330
105.5
6B
-56
1737
811.
42E
+09
3760
1860
6.9
9E
+06
1.8
018.8
35.3
832
1050
222.4
1B
-57
1411
443.
30E
+08
4250
1860
7.9
1E
+06
1.1
76.5
83.6
522
275
81.7
1B
-58
646
51.
42E
+08
4250
1860
7.9
1E
+06
1.8
25.3
13.8
660
165
77.5
0B
-59
223
17.
21E
+07
4250
1860
7.9
1E
+06
2.8
86.9
93.9
560
171
115.5
0B
-60
424
28.
89E
+07
4250
1860
7.9
1E
+06
2.8
88.8
24.6
529
109
60.5
0B
-61
214
83.
71E
+07
4250
1860
7.9
1E
+06
2.3
65.3
43.1
740
108
74.0
0B
-62
434
91.
29E
+08
4250
1860
7.9
1E
+06
2.8
88.8
24.6
738
142
87.2
5B
-63
839
42.
69E
+08
4250
1860
7.9
1E
+06
3.1
917.4
08.6
212
80
49.2
5
5.8. Computational Results 99
Tab
le5.
2:D
escr
ipti
on
of
the
setB
inst
an
ces
(conti
nu
ed).
Nam
en
nt
ai
WH
as
am
inam
ax
aav
b min
b max
b av
B-6
49
295
1.45
E+
084250
1860
7.9
1E
+06
1.7
432.2
96.2
310
83
32.7
8B
-65
2020
131.
27E
+09
4250
1860
7.9
1E
+06
1.8
219.8
17.9
744
198
100.6
5B
-66
1050
22.
85E
+08
4250
1860
7.9
1E
+06
1.7
420.2
77.1
710
138
50.2
0B
-67
3125
001.
87E
+09
4250
1860
7.9
1E
+06
1.8
220.8
89.4
49
280
80.6
5B
-68
1771
03.
65E
+08
4250
1860
7.9
1E
+06
1.7
432.2
96.5
010
130
41.7
6B
-69
320
91.
44E
+08
4250
1860
7.9
1E
+06
1.8
414.2
58.7
455
88
69.6
7B
-70
1613
938.
56E
+08
4250
1860
7.9
1E
+06
1.8
419.8
17.7
826
176
87.0
6B
-71
1090
94.
80E
+08
4250
1860
7.9
1E
+06
1.7
419.1
06.6
822
138
90.9
0B
-72
850
12.
55E
+08
4250
1860
7.9
1E
+06
1.8
414.2
56.4
544
88
62.6
3B
-73
634
71.
34E
+08
4250
1860
7.9
1E
+06
1.7
410.7
04.9
022
88
57.8
3B
-74
610
185
2.56
E+
094050
2200
8.9
1E
+06
1.6
36.0
12.8
2165
6000
1697.5
0B
-75
836
058.
01E
+08
3760
1860
6.9
9E
+06
1.7
54.4
43.1
8106
1260
450.6
3B
-76
534
131.
39E
+09
3760
1860
6.9
9E
+06
2.2
416.7
15.8
153
1260
682.6
0B
-77
1553
591.
16E
+09
2820
2070
5.8
4E
+06
1.6
86.8
23.7
1158
841
357.2
7B
-78
617
343.
87E
+08
2820
2070
5.8
4E
+06
1.7
15.0
63.8
2158
526
289.0
0B
-79
610
522.
37E
+08
2820
1870
5.2
7E
+06
2.4
76.4
34.2
6105
316
175.3
3B
-80
715
753.
17E
+08
2820
2070
5.8
4E
+06
2.2
34.6
53.4
5210
315
225.0
0B
-81
1838
022.
94E
+09
4250
1860
7.9
1E
+06
1.9
019.5
59.7
840
770
211.2
2B
-82
1012
408.
23E
+08
4250
2120
9.0
1E
+06
1.6
717.1
67.3
760
230
124.0
0B
-83
1311
607.
07E
+08
4250
1860
7.9
1E
+06
1.9
016.3
37.7
150
150
89.2
3B
-84
1214
568.
51E
+08
4250
2120
9.0
1E
+06
1.6
712.9
16.4
950
280
121.3
3B
-85
720
658.
04E
+08
4250
1860
7.9
1E
+06
2.1
210.1
74.9
270
1050
295.0
0B
-86
720
658.
04E
+08
4250
1860
7.9
1E
+06
2.1
210.1
74.9
270
1050
295.0
0B
-87
836
788.
15E
+08
3760
1860
6.9
9E
+06
1.7
54.4
43.1
7106
1260
459.7
5B
-88
536
271.
43E
+09
3760
1860
6.9
9E
+06
2.2
416.7
15.6
5267
1260
725.4
0B
-89
1090
902.
30E
+09
3760
1860
6.9
9E
+06
1.7
56.7
73.6
2320
3150
909.0
0B
-90
712
813
5.23
E+
093760
1860
6.9
9E
+06
2.2
416.7
15.8
3155
3708
1830.4
3B
-91
866
952.
30E
+09
3760
2120
7.9
7E
+06
2.0
910.0
94.3
1206
3090
836.8
8B
-92
738
251.
31E
+09
4250
1860
7.9
1E
+06
2.1
410.1
74.3
4110
1900
546.4
3B
-93
843
161.
49E
+09
4250
1860
7.9
1E
+06
2.1
210.1
74.3
8158
1890
539.5
0B
-94
443
08.
15E
+07
4250
1860
7.9
1E
+06
2.1
24.2
52.4
025
200
107.5
0B
-95
313
244.
13E
+08
4250
1860
7.9
1E
+06
2.8
54.2
03.9
5144
880
441.3
3
100 5. Models and Bounds for the 2D-CSP and its Variants
Tab
le5.
2:D
escr
ipti
on
of
the
setB
inst
an
ces
(conti
nu
ed).
Nam
en
nt
ai
WH
as
am
inam
ax
aav
b min
b max
b av
B-9
66
2090
7.67
E+
083760
1860
6.9
9E
+06
2.4
011.5
25.2
5110
660
348.3
3B
-97
212
603.
83E
+08
3760
1860
6.9
9E
+06
2.9
07.2
44.3
4420
840
630.0
0B
-98
811
884.
53E
+08
4250
1860
7.9
1E
+06
2.6
47.0
64.8
355
440
148.5
0B
-99
449
354.
62E
+09
2700
1860
5.0
2E
+06
9.4
629.8
918.6
6615
1860
1233.7
5B
-100
1512
184.
49E
+08
4250
1860
7.9
1E
+06
1.4
212.0
24.6
613
300
81.2
0B
-101
1710
274.
10E
+08
4250
1860
7.9
1E
+06
1.4
212.0
25.0
517
200
60.4
1B
-102
1382
13.
41E
+08
4250
1860
7.9
1E
+06
1.4
132.5
65.2
522
165
63.1
5B
-103
757
82.
55E
+08
3760
1860
6.9
9E
+06
3.2
311.2
56.3
25
136
82.5
7B
-104
135
1.83
E+
074250
2200
9.3
5E
+06
5.6
05.6
05.6
035
35
35.0
0B
-105
140
02.
09E
+08
3760
1860
6.9
9E
+06
7.4
87.4
87.4
8400
400
400.0
0B
-106
1312
225.
11E
+08
4250
1860
7.9
1E
+06
2.7
112.9
95.2
927
206
94.0
0B
-107
3156
542.
19E
+09
4250
1860
7.9
1E
+06
1.5
614.6
34.9
021
1628
182.3
9B
-108
2414
281.
53E
+09
4250
2120
9.0
1E
+06
1.8
627.3
811.8
521
105
59.5
0B
-109
1432
01.
97E
+08
4250
2200
9.3
5E
+06
1.2
632.5
16.5
93
66
22.8
6B
-110
132
2.09
E+
074250
2120
9.0
1E
+06
7.2
57.2
57.2
532
32
32.0
0B
-111
2312
134.
04E
+08
4250
1860
7.9
1E
+06
1.5
614.6
34.2
18
381
52.7
4B
-112
1016
96.
46E
+07
4200
2200
9.2
4E
+06
1.6
15.6
74.1
43
104
16.9
0B
-113
710
710
1.99
E+
094250
2120
9.0
1E
+06
0.8
84.3
62.0
6335
4405
1530.0
0B
-114
6054
991.
89E
+09
3760
1860
6.9
9E
+06
1.1
525.2
94.9
26
1078
91.6
5B
-115
314
29.
32E
+07
4250
2200
9.3
5E
+06
6.0
18.4
17.0
222
63
47.3
3B
-116
2544
701.
76E
+09
4250
2200
9.3
5E
+06
1.6
010.2
44.2
127
526
178.8
0B
-117
153
3.78
E+
074250
1860
7.9
1E
+06
9.0
39.0
39.0
353
53
53.0
0B
-118
444
42.
98E
+08
4200
2200
9.2
4E
+06
4.3
215.7
97.2
722
296
111.0
0B
-119
1320
561.
29E
+09
4250
2200
9.3
5E
+06
3.1
315.6
06.7
331
788
158.1
5B
-120
492
3.30
E+
074250
1860
7.9
1E
+06
3.0
85.2
24.5
310
42
23.0
0B
-121
233
1.41
E+
074200
2200
9.2
4E
+06
4.4
65.0
94.6
39
24
16.5
0
Average
8.92
1758
.67
7.19
E+
0840
29.2
61934.6
37.8
0E
+06
3.1
314.5
06.6
497.0
5606.1
3249.8
2
5.8. Computational Results 101
Tables 5.3 and 5.4 describe the computational results for the set A and set B
instances, respectively. The columns present the results for the original version of
the network flow model, without considering the cutting planes or lower bound, AF ,
and considering them, AFcut+lb, respectively, and also for the ILP model proposed
in [145], Lodi et al., and the branch-and-price algorithm proposed in [13], Alves et
al.. ZRL and Z stand for the values of the linear relaxation and integer solutions,
respectively, and t represents the total computational time, in seconds. An asterisk
(*) represents an instance which was not solved exactly within the time limit of
7200 seconds.
As mentioned in section 5.5, the cutting planes in AFcut+lb can be improved
by using dual feasible functions. We computed them considering function φ(ε), as
described in [82, 49]. This function, derived for the 1D-BPP, does not consider
items that are smaller than a given parameter ε, and separates the remaining items
in two different classes, according to whether they are larger than half of the bin
size, or not. It gives a constant size to the first ones, and computes the others
considering an estimation of the number of the first ones that could be placed in
one bin with them.
Table 5.3: Results for the set A instances.
AF AFcut+lb Lodi et al. Alves et al.
Name Z ZLR t(s) ZLR t(s) ZLR t(s) ZLR t(s)
A-1 4 3.30 0.20 3.30 0.17 2.22 0.06 3.30 0.02A-2 36 36.00 0.33 36.00 0.36 22.42 0.02 36.00 0.02A-3 8 8.00 0.16 8.00 0.16 4.86 0.02 8.00 0.05A-4 3 2.67 0.19 3.00 0.22 2.19 0.02 2.67 0.00A-5 13 12.53 0.75 12.71 0.75 11.16 32.00 12.53 0.75A-6 2 1.89 0.09 2.00 0.09 1.18 0.02 1.89 0.02A-7 14 13.13 0.64 13.13 0.69 9.39 * 13.13 0.03A-8 2 1.07 0.08 2.00 0.09 1.00 0.05 1.07 0.01A-9 61 60.67 27.34 60.67 228.94 54.74 * 60.67 *A-10 3 1.97 0.34 3.00 0.30 1.84 48.13 2.00 0.06A-11 46 45.76 7.72 45.79 224.17 43.33 * 45.76 54.80A-12 14 14.00 0.33 14.00 0.38 10.86 0.14 14.00 0.01A-13 14 13.53 0.91 13.53 0.86 11.86 * 13.53 0.75A-14 67 66.82 183.53 66.82 52.11 63.08 * 66.82 *
102 5. Models and Bounds for the 2D-CSP and its Variants
Table 5.3: Results for the set A instances (continued).
AF AFcut+lb Lodi et al. Alves et al.
Name Z ZLR t(s) ZLR t(s) ZLR t(s) ZLR t(s)
A-15 39 38.94 1.11 38.94 1.16 35.06 * 38.94 3.03A-16 83 82.26 12.03 82.26 108.95 77.94 * 82.26 15.61A-17 5 4.70 0.34 4.73 0.28 4.46 13.83 4.70 *A-18 65 64.39 2.97 64.65 3.38 59.34 * 64.68 *A-19 58 57.23 17.33 57.23 11.39 50.93 * 57.23 15.58A-20 27 26.10 1.22 26.10 1.11 22.42 * 26.10 1.28A-21 28 27.24 57.63 27.29 23.38 25.33 * 27.24 10.08A-22 3 2.40 0.24 3.00 0.09 1.93 0.05 2.40 0.01A-23 14 12.92 0.77 13.12 0.78 11.80 * 12.92 2093.86A-24 35 34.32 1012.61 * * 30.94 * 34.36 1739.19A-25 18 17.02 2595.83 17.29 * 16.26 * 17.33 *A-26 8 7.05 19.98 7.09 59.61 6.44 0.83 7.08 24.38A-27 20 19.04 3965.55 19.18 * 17.98 * 19.20 *A-28 12 10.81 118.88 11.13 338.98 10.25 18.11 11.17 985.02A-29 28 27.28 3155.83 27.28 * 25.32 * 27.29 *A-30 4 3.59 15.50 3.66 8.81 3.41 0.22 3.68 14.08A-31 8 7.47 23.39 7.47 62.20 6.84 2.33 7.49 81.97A-32 27 26.85 83.91 26.85 702.58 24.32 * 26.90 2257.09A-33 35 34.63 4793.70 34.63 * 32.71 * 34.67 *A-34 6 5.20 3.13 5.24 2.63 4.63 0.20 5.22 6.99A-35 17 16.36 44.72 16.37 126.81 15.17 * 16.40 358.70A-36 9 8.88 1.72 8.88 1.73 6.55 0.38 8.88 0.70A-37 5 4.63 0.86 4.63 0.88 4.17 16.48 4.63 *A-38 23 22.11 11.83 22.11 17.64 20.21 * 22.12 54.73A-39 4 3.02 1.00 3.03 1.03 2.78 0.05 3.06 0.38A-40 17 15.81 79.20 15.81 663.89 14.39 * 15.90 *A-41 19 18.50 4.72 18.50 4.06 14.18 0.28 18.50 11.97A-42 8 7.17 0.95 7.38 0.99 4.53 0.00 7.17 0.08A-43 7 6.38 1.00 6.38 1.08 4.80 0.03 6.42 5.03
Table 5.4: Results for the set B instances.
AF AFcut+lb Lodi et al. Alves et al.
Name Z ZLR t(s) ZLR t(s) ZLR t(s) ZLR t(s)
B-1 76 74.95 0.59 74.95 0.64 68.16 * 74.95 8.98B-2 171 170.79 1.08 170.79 1.11 149.82 * 170.79 0.22B-3 110 108.91 0.24 109.06 0.22 87.95 * 108.91 0.11B-4 21 20.70 0.98 20.70 1.00 17.82 334.58 20.70 0.11B-5 11 10.53 0.45 10.53 0.47 8.94 8.42 10.53 0.14B-6 10 9.67 0.38 10.00 0.42 8.89 0.08 9.67 0.01B-7 537 536.25 0.34 536.25 0.39 * * 536.25 0.01
5.8. Computational Results 103
Table 5.4: Results for the set B instances (continued).
AF AFcut+lb Lodi et al. Alves et al.
Name Z ZLR t(s) ZLR t(s) ZLR t(s) ZLR t(s)
B-8 334 333.89 0.30 333.89 0.30 * * 333.89 0.13B-9 85 84.19 63.14 84.19 89.36 * * 84.19 *B-10 78 77.74 388.45 77.80 244.70 * * 77.75 *B-11 271 270.05 20.11 270.05 82.70 * * * *B-12 465 464.96 0.34 464.96 0.36 * * 464.96 0.08B-13 230 229.11 1.30 229.11 0.69 * * 257.95 *B-14 35 34.33 0.78 34.33 0.83 29.60 * 34.33 0.98B-15 16 15.44 1.42 15.44 1.42 12.06 15.92 15.44 0.31B-16 24 23.25 0.85 23.25 0.88 21.71 * 23.25 0.94B-17 12 11.13 0.17 11.13 0.17 7.59 0.25 11.13 0.08B-18 14 13.10 0.27 13.21 0.30 11.95 10.80 13.10 *B-19 47 46.21 1.09 46.21 1.13 43.37 * 46.21 2.17B-20 95 95.00 0.84 95.00 0.83 84.37 * 95.00 0.03B-21 229 228.33 0.42 228.33 0.50 * * 228.33 0.11B-22 17 16.50 0.61 16.50 0.62 15.08 * 16.50 0.23B-23 85 84.33 1.11 84.33 1.13 80.82 * 84.33 3.11B-24 9 8.83 0.20 9.00 0.25 8.27 * 8.83 0.11B-25 47 46.75 0.34 46.75 0.36 40.11 * 46.75 0.03B-26 128 127.71 0.66 127.71 0.70 * * 127.71 *B-27 221 220.51 0.34 220.51 0.34 * * 220.51 0.16B-28 38 36.98 0.30 37.00 0.35 35.99 * 36.98 0.16B-29 19 18.24 0.39 18.26 0.41 16.97 * 18.24 0.41B-30 57 56.77 16.52 56.77 17.64 54.93 * 56.77 5.69B-31 30 29.33 0.61 29.33 0.63 25.64 * 29.33 0.05B-32 192 191.07 3.56 191.07 2.50 * * 191.07 *B-33 52 50.89 0.75 50.89 0.78 44.80 * 50.89 0.78B-34 83 82.67 1.61 82.67 1.63 67.85 * 82.67 1.64B-35 96 95.83 0.39 95.83 0.42 85.32 226.53 95.83 0.08B-36 96 95.83 0.41 95.83 0.44 87.39 * 95.83 0.03B-37 53 52.22 0.39 52.22 0.42 44.23 * 52.22 0.03B-38 35 34.58 0.17 34.63 0.20 26.89 705.75 34.58 0.00B-39 35 35.00 0.19 35.00 0.22 26.96 35.88 35.00 0.00B-40 19 18.64 2.47 18.64 2.53 17.27 * 18.64 0.06B-41 17 16.67 4.22 16.67 4.61 14.55 * 16.67 0.66B-42 16 15.39 0.28 15.39 0.28 14.50 * 15.39 0.09B-43 6 5.33 0.69 5.39 0.70 4.47 0.56 5.33 0.55B-44 24 23.32 12.38 23.32 12.69 22.02 * 23.32 *B-45 11 10.17 2.88 10.17 2.91 9.72 * 10.17 0.11B-46 28 26.99 1.06 26.99 1.09 22.12 * 26.99 0.03B-47 8 7.92 0.13 8.00 0.19 7.43 4.06 7.92 0.06B-48 14 13.45 10.41 13.45 11.13 13.22 * 13.45 1.31B-49 21 20.07 0.44 20.14 0.45 15.96 1.31 20.07 0.03B-50 71 70.36 0.11 71.00 0.13 61.28 5293.47 70.36 0.00B-51 63 62.14 1.05 62.14 1.09 52.23 * 62.14 0.19B-52 120 119.50 0.14 120.00 0.16 * * 119.50 0.00B-53 3 2.80 0.47 2.80 0.47 2.35 6.70 2.80 0.03
104 5. Models and Bounds for the 2D-CSP and its Variants
Table 5.4: Results for the set B instances (continued).
AF AFcut+lb Lodi et al. Alves et al.
Name Z ZLR t(s) ZLR t(s) ZLR t(s) ZLR t(s)
B-54 13 12.20 0.27 12.40 0.27 10.92 * 12.20 4.72B-55 51 49.94 0.86 49.94 0.86 47.06 * 49.94 26.33B-56 214 213.83 4.05 213.83 3.73 * * 213.83 16.63B-57 44 43.86 34.55 43.86 32.91 41.75 * 43.86 *B-58 20 19.12 0.36 19.12 0.31 17.97 * 19.12 0.14B-59 11 10.39 0.22 10.39 0.27 9.12 1648.48 10.39 0.01B-60 13 12.17 0.53 12.19 0.56 11.25 * 12.17 0.09B-61 6 5.33 0.24 5.33 0.23 4.69 * 5.33 0.01B-62 18 17.55 0.53 17.57 0.55 16.30 * 17.55 0.06B-63 38 37.76 1.06 37.76 1.08 33.98 * 37.76 0.31B-64 20 19.28 1.16 19.28 1.27 18.38 * 19.28 2.78B-65 172 171.56 3.17 171.56 2.45 * * 171.56 10.17B-66 41 40.00 1.17 40.05 1.30 36.00 * 40.00 1.52B-67 262 260.96 21.86 261.01 18.03 * * 260.96 3049.28B-68 49 48.94 2.28 48.94 2.30 46.14 * 48.94 *B-69 20 19.94 0.22 19.94 0.25 18.27 * 19.94 0.16B-70 117 116.16 2.02 116.16 2.03 108.34 * 116.16 *B-71 66 65.08 1.34 65.08 1.39 60.68 * 65.08 17.50B-72 34 33.78 0.55 33.78 0.56 32.32 * 33.78 1.58B-73 19 18.26 0.64 18.27 0.67 17.00 * 18.26 0.48B-74 309 308.59 1.55 308.64 1.50 * * 308.59 *B-75 126 125.86 0.70 125.86 0.70 * * 125.86 1.36B-76 221 220.51 0.33 220.51 0.38 * * 220.51 0.16B-77 208 207.00 1.61 207.02 1.41 * * 207.00 67.67B-78 73 72.53 0.28 72.54 0.27 * * 72.53 0.13B-79 50 49.53 0.50 49.53 0.58 44.86 * 49.53 2.81B-80 57 56.91 0.50 56.91 0.66 * * 56.91 1.24B-81 425 424.04 1.83 424.04 1.84 * * 424.04 62.45B-82 105 104.83 1.19 104.84 1.23 91.38 * 104.83 4.44B-83 97 96.55 1.64 96.59 2.56 89.38 * 96.55 9.70B-84 103 102.17 1.27 102.23 1.33 94.45 * 110.50 *B-85 106 105.05 0.58 105.05 0.52 * * 105.05 0.53B-86 106 105.05 0.56 105.05 0.50 * * 105.05 0.53B-87 128 127.73 0.67 127.73 0.67 * * 127.73 0.94B-88 226 225.62 0.33 225.62 0.36 * * 225.62 0.61B-89 353 352.44 0.66 352.44 0.72 * * 352.44 4.14B-90 841 840.42 0.50 840.42 0.50 * * 840.42 0.13B-91 317 316.50 0.81 316.50 0.88 * * 316.50 *B-92 176 175.24 0.34 175.26 0.39 * * 175.24 0.25B-93 201 200.07 0.78 200.11 0.80 * * 200.07 4.70B-94 12 11.08 0.44 11.08 0.44 10.30 * 11.08 0.05B-95 60 59.60 0.34 59.66 0.39 52.31 * 59.60 *B-96 124 123.75 0.63 123.75 0.66 * * 123.75 *B-97 60 60.00 0.20 60.00 0.23 * * 60.00 0.01B-98 68 67.02 1.27 67.02 0.45 57.34 * 67.02 3.28B-99 1095 1095.00 0.78 1095.00 0.81 * * 1095.00 0.01
5.8. Computational Results 105
Table 5.4: Results for the set B instances (continued).
AF AFcut+lb Lodi et al. Alves et al.
Name Z ZLR t(s) ZLR t(s) ZLR t(s) ZLR t(s)
B-100 59 58.57 15.86 58.60 4.19 56.81 * 58.57 13.64B-101 59 58.34 3.81 58.55 8.14 51.90 * 58.34 *B-102 46 45.22 2.13 45.22 2.17 43.11 * 45.22 *B-103 41 39.86 3.27 40.02 3.27 36.52 * 39.86 *B-104 3 2.33 0.14 3.00 0.16 1.96 0.05 2.33 0.02B-105 34 33.33 0.11 34.00 0.13 29.92 73.41 33.33 0.00B-106 71 70.18 2.05 70.18 2.02 64.67 * 70.18 *B-107 300 299.00 586.72 299.00 417.27 * * 299.00 *B-108 185 183.72 * 183.72 16.73 169.27 * 183.72 *B-109 26 25.14 4.61 25.14 3.44 21.09 * 25.14 9.23B-110 4 3.20 0.13 4.00 0.14 2.32 0.08 3.20 0.00B-111 56 55.17 79.60 55.17 1022.19 51.11 * 55.17 186.77B-112 9 8.10 1.17 8.11 1.17 6.99 * 8.10 1.38B-113 231 230.44 0.42 230.44 0.25 * * 230.44 0.66B-114 * 279.98 * 279.98 * * * 279.99 *B-115 15 14.19 9.03 14.19 8.47 9.97 116.97 14.19 0.01B-116 192 191.27 1765.78 191.28 6396.39 * * 191.27 *B-117 6 5.30 0.66 6.00 0.66 4.79 0.22 5.30 0.00B-118 36 35.25 4.19 35.25 4.12 32.30 * 35.25 0.02B-119 144 143.32 8.14 143.32 11.08 * * 143.32 *B-120 5 4.65 0.61 4.68 0.59 4.17 10.16 4.65 *B-121 3 2.10 0.27 2.11 0.27 1.53 * 2.10 0.27
The cutting planes and the lower bound applied to the network flow model improved
its linear relaxations in 46.5% of the set A instances, and 32.2% of the set B
instances. In three instances, for the set A, and four instances, for the set B, the
lower bound provided by the linear relaxation increased one unit. With the cuts
and lower bounds, only one instance of the set A and six instances of the set B
have a lower bound that is not equal to the optimal integer solution. Although
the linear relaxations improved considerably with the cutting planes and the lower
bound, the computational times did not. We were able to solve one extra instance
of the set B, but we could not solve five of the set A instances that were solved
otherwise.
The IP model proposed in [145] was not able to solve to optimality about 49%
106 5. Models and Bounds for the 2D-CSP and its Variants
of the set A instances and about 83% of the set B instances. In fact, it did not
even solve the linear relaxations of about 32% of the set B instances. Moreover,
the lower bounds provided by its linear relaxations are considerably weaker than
the ones provided by the network flow model.
The branch-and-price algorithm described in [13] solved 77% of the instances
within the time limit of 7200 seconds, while the network flow model was able to
solve all the instances, according to table 5.3 (column AF ). Moreover, considering
the set of instances solved in both methods, the network flow model took 19% of
the time spent by the branch-and-price algorithm. We also tested the algorithm
proposed by Alves et al. using the set B instances. It solved 79% of the instances
within the time limit of 7200 seconds, while the network flow model was only not
able to solve two instances, according to table 5.4 (column AF ). Again, considering
the set of instances that both methods solved, the network flow model took 6% of
the time spent by the branch-and-price algorithm.
The set A and set B instances were also tested for the non-oriented case, AFRot,
for the horizontal or vertical first cut case, AFH/V , and finally, for the non-oriented
case with horizontal or vertical first cut, AFH/V+Rot.
Tables 5.5 and 5.6 describe the computational results for the set A and set B
instances, respectively, for the original version of the network flow model, AF , and
for the three other variants AFRot, AFH/V and AFH/V+Rot. Again, the values of
Z marked with an asterisk (*) represent instances in which the algorithm did not
find the optimal solution within the time limit of 7200 seconds.
5.8. Computational Results 107
Tab
le5.5
:V
ari
ants
for
the
setA
inst
an
ces.
AF
AFRot
AFH/V
AFH/V+Rot
Nam
eZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
A-1
3.30
40.
203.
30
40.3
13.0
03
0.7
03.0
03
1.0
0A
-236
.00
360.
3336
.00
36
0.5
036.0
036
0.4
236.0
036
0.8
6A
-38.
008
0.16
8.00
80.2
58.0
08
0.2
78.0
08
0.4
4A
-42.
673
0.19
2.67
30.2
22.6
73
0.2
82.6
73
0.4
1A
-512
.53
130.
7511
.87
12
7.0
312.2
113
2.0
311.8
712
8.3
8A
-61.
892
0.09
1.55
20.2
81.8
92
0.1
71.7
02
0.4
4A
-713
.13
140.
6410
.81
11
1.0
913.0
013
0.8
010.8
111
2.3
6A
-81.
072
0.08
0.89
10.1
61.0
72
0.1
40.8
91
0.2
7A
-960
.67
6127
.34
57.2
3*
*58.0
359
442.1
4*
**
A-1
01.
973
0.34
1.93
31.8
11.9
73
0.5
91.9
12
2.3
1A
-11
45.7
646
7.72
44.5
045
2929.4
545.6
146
137.5
544.3
3*
*A
-12
14.0
014
0.33
14.0
014
0.9
714.0
014
0.7
514.0
014
2.4
4A
-13
13.5
314
0.91
12.5
813
7.6
113.2
014
1.5
912.3
513
48.8
9A
-14
66.8
267
183.
5365
.51
**
66.2
167
1015.0
5*
**
A-1
538
.94
391.
1137
.31
38
7.0
638.5
139
2.6
937.1
838
18.9
5A
-16
82.2
683
12.0
381
.66
**
81.9
282
750.8
480.5
7*
*A
-17
4.70
50.
344.
53
51.3
84.7
05
0.6
64.5
35
3.6
6A
-18
64.3
965
2.97
62.8
263
1006.9
264.0
565
12.8
162.7
263
2068.1
9A
-19
57.2
358
17.3
351
.83
**
54.7
2*
*51.7
5*
*A
-20
26.1
027
1.22
24.3
225
15.7
325.0
226
2.7
323.7
624
175.8
9A
-21
27.2
428
57.6
325
.42
26
3171.9
726.3
827
328.6
125.2
526
5726.9
1A
-22
2.40
30.
242.
40
30.8
62.4
03
0.5
02.4
03
1.7
3A
-23
12.9
214
0.77
12.2
513
6.4
512.5
213
1.5
512.1
813
16.0
5A
-24
34.3
235
1012
.61
**
**
**
**
*A
-25
17.0
218
2595
.83
**
**
**
**
*A
-26
7.05
819
.98
**
*6.8
87
14.7
0*
**
A-2
719
.04
2039
65.5
5*
**
**
**
**
A-2
810
.81
1211
8.88
**
*10.3
2*
**
**
A-2
927
.28
2831
55.8
3*
**
**
**
**
108 5. Models and Bounds for the 2D-CSP and its Variants
Tab
le5.5
:V
ari
ants
for
the
setA
inst
an
ces
(conti
nu
ed).
AF
AFRot
AFH/V
AFH/V+Rot
Nam
eZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
A-3
03.
594
15.5
03.
43
45295.1
63.5
14
409.3
43.3
9*
*A
-31
7.47
823
.39
7.28
84665.3
47.3
78
3875.4
9*
**
A-3
226
.85
2783
.91
**
**
**
**
*A
-33
34.6
335
4793
.70
**
**
**
**
*A
-34
5.20
63.
134.
78
5311.6
35.0
86
13.9
14.7
55
3666.5
6A
-35
16.3
617
44.7
2*
**
**
**
**
A-3
68.
889
1.72
7.17
88.5
88.8
89
2.8
67.0
58
19.1
1A
-37
4.63
50.
864.
39
52.8
84.5
35
1.4
54.3
15
6.5
9A
-38
22.1
123
11.8
321
.44
22
2337.3
621.7
7*
**
**
A-3
93.
024
1.00
2.90
48.1
32.9
54
1.9
12.8
93
23.8
6A
-40
15.8
117
79.2
015
.28
16
603.2
815.3
916
51.8
414.9
6*
*A
-41
18.5
019
4.72
18.1
719
18.6
317.2
018
6.2
717.2
018
33.0
8A
-42
7.17
80.
956.
50
72.0
07.1
38
1.3
36.5
07
3.4
5A
-43
6.38
71.
006.
18
73.8
06.3
87
1.6
35.8
06
6.5
5
5.8. Computational Results 109
Tab
le5.6
:V
ari
ants
for
the
setB
inst
an
ces.
AF
AFRot
AFH/V
AFH/V+Rot
Nam
eZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
B-1
74.9
576
0.59
71.8
772
4.4
171.8
072
1.8
070.5
871
12.5
5B
-217
0.79
171
1.08
161.
89
162
6.1
1159.5
5160
2.5
2157.0
0158
10.7
8B
-310
8.91
110
0.24
99.1
0100
0.6
1107.9
0108
0.5
897.7
698
1.2
7B
-420
.70
210.
9819
.79
20
1.9
118.6
719
1.4
718.5
119
3.8
4B
-510
.53
110.
4510
.53
11
0.5
29.8
110
0.5
99.8
110
0.6
6B
-69.
6710
0.38
9.33
10
0.8
69.0
09
0.7
89.0
09
1.8
6B
-753
6.25
537
0.34
531.
43
532
0.6
7533.4
4534
0.5
5530.0
0530
1.4
4B
-833
3.89
334
0.30
313.
88
314
1.3
8333.8
9334
0.9
1302.0
0302
3.2
8B
-984
.19
8563
.14
**
*84.1
885
1229.2
8*
**
B-1
077
.74
7838
8.45
**
*77.5
678
1318.5
5*
**
B-1
127
0.05
271
20.1
1*
**
269.7
4270
521.1
3*
**
B-1
246
4.96
465
0.34
463.
49
464
2.1
4462.8
7463
0.7
0443.2
6444
4.2
5B
-13
229.
1123
01.
3021
8.05
219
119.0
0229.1
1230
1.6
9217.6
7218
118.5
8B
-14
34.3
335
0.78
31.3
132
3.0
834.3
335
1.3
131.2
032
6.5
2B
-15
15.4
416
1.42
15.4
416
2.6
115.0
516
1.7
714.1
815
4.1
7B
-16
23.2
524
0.85
22.4
523
4.6
923.0
524
1.6
122.4
423
9.4
1B
-17
11.1
312
0.17
11.1
312
0.3
011.1
312
0.3
39.1
310
0.6
1B
-18
13.1
014
0.27
13.1
014
0.9
713.1
014
0.5
212.6
113
1.7
2B
-19
46.2
147
1.09
45.3
746
7.3
346.1
847
2.0
945.1
346
15.3
3B
-20
95.0
095
0.84
93.0
494
0.9
195.0
095
0.8
090.7
091
2.0
6B
-21
228.
3322
90.
4221
9.75
220
4.7
5228.3
3229
1.4
5214.2
5215
8.2
2B
-22
16.5
017
0.61
15.7
316
2.1
116.3
817
1.0
815.7
316
4.6
6B
-23
84.3
385
1.11
82.4
883
51.8
884.2
985
2.4
982.4
783
89.5
2B
-24
8.83
90.
208.
73
90.5
28.8
39
0.3
68.7
39
0.9
5B
-25
46.7
547
0.34
46.1
347
1.1
946.7
547
0.7
443.6
744
2.4
2B
-26
127.
7112
80.
6612
0.02
121
163.6
9126.9
2127
1.8
9119.1
2120
58.2
8B
-27
220.
5122
10.
3421
9.05
220
1.2
5219.7
3220
0.6
1210.8
9211
3.5
9B
-28
36.9
838
0.30
36.3
737
4.4
236.7
537
1.0
236.3
737
10.5
9B
-29
18.2
419
0.39
17.3
118
2.0
517.6
618
0.7
517.2
618
4.5
2
110 5. Models and Bounds for the 2D-CSP and its Variants
Tab
le5.6
:V
ari
ants
for
the
setB
inst
an
ces
(conti
nu
ed).
AF
AFRot
AFH/V
AFH/V+Rot
Nam
eZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
B-3
056
.77
5716
.52
55.4
656
336.8
056.1
057
6.5
555.3
856
1420.7
8B
-31
29.3
330
0.61
28.8
129
1.1
328.5
529
0.8
927.6
928
2.1
4B
-32
191.
0719
23.
5618
5.98
186
969.1
3187.4
8188
7.8
3182.4
5183
453.2
8B
-33
50.8
952
0.75
47.9
949
1.7
249.7
850
0.9
547.9
048
5.0
6B
-34
82.6
783
1.61
78.4
579
12.9
776.1
777
2.8
875.1
776
22.2
8B
-35
95.8
396
0.39
94.1
795
1.2
295.8
396
0.7
492.7
293
2.5
6B
-36
95.8
396
0.41
95.5
696
0.8
895.5
696
0.6
695.5
696
2.2
7B
-37
52.2
253
0.39
50.9
551
0.9
250.9
851
0.8
350.0
050
2.8
0B
-38
34.5
835
0.17
34.5
835
0.3
432.5
033
0.3
432.5
033
0.7
2B
-39
35.0
035
0.19
35.0
035
0.3
435.0
035
0.2
829.1
730
0.8
9B
-40
18.6
419
2.47
18.6
419
2.3
918.6
419
1.1
618.2
719
5.2
8B
-41
16.6
717
4.22
15.2
616
2.8
115.6
216
1.2
315.2
616
5.3
6B
-42
15.3
916
0.28
15.1
516
2.4
515.0
716
1.0
314.9
215
4.8
0B
-43
5.33
60.
695.
33
60.6
75.3
36
0.4
45.1
36
1.2
2B
-44
23.3
224
12.3
822
.86
23
215.9
922.8
123
3.0
222.5
623
2051.2
0B
-45
10.1
711
2.88
10.1
711
0.2
510.1
711
0.2
510.1
711
0.5
5B
-46
26.9
928
1.06
24.3
525
1.6
626.6
327
0.9
424.3
525
3.0
2B
-47
7.92
80.
137.
80
80.6
17.9
28
0.4
57.7
58
1.2
0B
-48
13.4
514
10.4
113
.44
14
5.3
113.4
514
1.1
113.4
414
10.7
8B
-49
20.0
721
0.44
17.4
718
0.7
520.0
721
0.6
317.4
718
1.4
5B
-50
70.3
671
0.11
70.3
671
0.2
570.3
671
0.2
065.6
766
0.4
7B
-51
62.1
463
1.05
61.6
662
2.6
662.1
463
1.4
154.2
855
7.6
9B
-52
119.
5012
00.
1411
3.81
114
0.2
7119.5
0120
0.2
0113.8
1114
0.4
5B
-53
2.80
30.
472.
46
31.1
42.8
03
0.5
82.4
53
4.0
0B
-54
12.2
013
0.27
11.4
912
1.2
212.1
013
0.5
911.4
412
2.5
3B
-55
49.9
451
0.86
49.8
550
110.8
649.6
250
1.6
149.3
650
83.3
0B
-56
213.
8321
44.
0521
0.37
211
471.7
7213.4
7214
9.5
6209.1
0210
834.1
9B
-57
43.8
644
34.5
542
.55
43
737.0
943.8
344
123.7
742.4
7*
-B
-58
19.1
220
0.36
18.7
619
7.6
318.9
719
0.9
418.4
319
9.1
3B
-59
10.3
911
0.22
9.88
10
0.5
310.3
911
0.4
29.8
810
1.1
6
5.8. Computational Results 111
Tab
le5.6
:V
ari
ants
for
the
setB
inst
an
ces
(conti
nu
ed).
AF
AFRot
AFH/V
AFH/V+Rot
Nam
eZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
B-6
012
.17
130.
5311
.93
12
1.7
812.0
813
0.8
911.9
312
3.9
4B
-61
5.33
60.
244.
91
50.5
85.3
36
0.3
64.9
15
1.0
2B
-62
17.5
518
0.53
17.2
618
1.7
517.4
218
0.8
317.2
418
4.1
9B
-63
37.7
638
1.06
36.9
537
4.6
637.3
638
1.8
135.8
736
10.3
4B
-64
19.2
820
1.16
19.2
520
13.3
919.1
720
1.9
718.7
419
27.4
2B
-65
171.
5617
23.
1716
8.93
169
2291.1
6170.6
1171
9.2
0166.3
0*
*B
-66
40.0
041
1.17
37.9
438
14.8
838.6
339
2.2
237.7
338
26.4
4B
-67
260.
9626
221
.86
259.
78
**
252.1
1253
84.6
7*
**
B-6
848
.94
492.
2847
.56
48
1909.6
648.4
049
6.0
547.5
548
2869.8
0B
-69
19.9
420
0.22
19.6
720
0.3
719.8
020
0.4
519.6
720
0.7
5B
-70
116.
1611
72.
0211
4.14
115
454.9
8115.2
7116
4.1
1113.3
9114
843.5
3B
-71
65.0
866
1.34
63.5
964
21.8
163.6
864
2.3
862.6
963
46.5
9B
-72
33.7
834
0.55
33.6
234
8.0
233.7
834
1.3
033.5
234
17.9
2B
-73
18.2
619
0.64
17.6
418
7.2
418.1
819
1.0
017.6
118
12.6
7B
-74
308.
5930
91.
5530
8.59
309
4.5
8308.5
9309
1.0
0308.5
9309
7.7
7B
-75
125.
8612
60.
7011
8.09
119
31.0
9124.9
2125
1.0
8117.2
5118
101.8
0B
-76
220.
5122
10.
3321
9.05
220
1.2
4219.7
3220
0.6
6210.8
9211
3.5
9B
-77
207.
0020
81.
6120
1.88
**
206.3
8207
3.6
6201.4
9202
3235.3
3B
-78
72.5
373
0.28
68.4
269
3.0
671.8
172
0.7
768.4
269
7.5
9B
-79
49.5
350
0.50
46.8
747
3.3
149.5
250
0.8
946.7
047
8.9
5B
-80
56.9
157
0.50
55.0
756
6.4
556.2
557
0.9
255.0
656
39.5
8B
-81
424.
0442
51.
8341
8.34
419
143.6
6409.9
6411
4.1
6396.6
7397
129.9
5B
-82
104.
8310
51.
1910
3.97
104
12.1
999.1
8100
2.2
797.2
598
33.8
8B
-83
96.5
597
1.64
95.3
496
57.5
895.2
796
3.2
894.4
495
96.7
2B
-84
102.
1710
31.
2798
.41
99
20.8
8100.1
9101
2.2
597.5
198
318.0
8B
-85
105.
0510
60.
5810
4.19
105
9.3
8104.0
1105
1.6
4104.0
0104
26.5
2B
-86
105.
0510
60.
5610
4.19
105
9.3
9104.0
1105
1.6
3104.0
0104
26.4
7B
-87
127.
7312
80.
6712
0.04
121
29.1
3126.9
4127
0.9
9119.1
5120
308.7
4B
-88
225.
6222
60.
3322
4.32
225
1.1
9225.0
8226
0.6
2216.4
4217
2.4
2B
-89
352.
4435
30.
6633
4.43
335
25.7
3352.4
4353
1.0
2334.1
9335
118.3
0
112 5. Models and Bounds for the 2D-CSP and its Variants
Tab
le5.6
:V
ari
ants
for
the
setB
inst
an
ces
(conti
nu
ed).
AF
AFRot
AFH/V
AFH/V+Rot
Nam
eZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
B-9
084
0.42
841
0.50
802.
98
803
3.2
7830.3
9831
0.8
6781.8
7782
7.2
4B
-91
316.
5031
70.
8130
0.42
301
6.4
7316.5
0317
1.2
7299.9
3300
21.7
2B
-92
175.
2417
60.
3417
1.51
172
6.3
3171.1
8172
0.8
8169.4
3170
9.7
3B
-93
200.
0720
10.
7819
4.68
195
11.8
0195.1
5196
2.0
9192.9
7193
49.9
2B
-94
11.0
812
0.44
10.7
811
0.6
910.5
411
0.6
110.5
411
1.1
1B
-95
59.6
060
0.34
54.0
054
0.8
359.6
060
0.5
253.2
654
1.4
7B
-96
123.
7512
40.
6311
4.13
115
1.9
1123.7
5124
0.7
7111.8
2112
5.4
2B
-97
60.0
060
0.20
58.3
359
0.5
060.0
060
0.3
458.3
359
1.1
3B
-98
67.0
268
1.27
60.6
761
6.7
566.6
867
0.9
759.7
960
21.1
6B
-99
1095
.00
1095
0.78
1077
.75
1078
1.0
61095.0
01095
0.9
21076.2
91077
2.1
1B
-100
58.5
759
15.8
657
.86
58
525.3
458.0
759
2.6
457.8
558
1796.4
4B
-101
58.3
459
3.81
52.7
153
698.5
058.2
959
4.3
352.6
953
2263.5
6B
-102
45.2
246
2.13
43.8
244
195.5
944.2
345
3.9
743.8
244
1147.6
4B
-103
39.8
641
3.27
37.8
238
7.4
439.7
540
1.5
337.6
138
17.7
2B
-104
2.33
30.
142.
33
30.2
32.3
33
0.2
42.1
93
0.4
9B
-105
33.3
334
0.11
33.3
334
0.2
233.3
334
0.2
233.3
334
0.4
5B
-106
70.1
871
2.05
66.0
267
530.6
967.2
068
3.2
865.9
266
2496.7
0B
-107
299.
0030
058
6.72
**
*298.8
8299
5400.1
3*
**
B-1
0818
3.72
**
177.
41
178
29.0
0178.8
9179
4.6
3174.2
1175
94.6
3B
-109
25.1
426
4.61
23.6
024
346.5
022.7
123
74.5
922.4
623
4123.8
6B
-110
3.20
40.
133.
20
40.1
33.2
04
0.2
23.2
04
0.3
0B
-111
55.1
756
79.6
0*
**
55.0
856
2287.8
6*
**
B-1
128.
109
1.17
7.29
8154.7
78.0
79
2.5
27.1
28
567.8
6B
-113
230.
4423
10.
4222
9.44
230
20.8
6230.4
4231
0.6
3228.8
5229
7.7
0B
-114
279.
98*
**
**
278.7
7*
**
**
B-1
1514
.19
159.
0311
.04
12
0.5
914.1
915
0.3
911.0
412
1.1
3B
-116
191.
2719
217
65.7
8*
**
190.9
7*
**
**
B-1
175.
306
0.66
5.30
60.1
35.3
06
0.2
25.3
06
0.2
2B
-118
35.2
536
4.19
33.7
634
1.1
635.2
536
0.7
033.7
634
2.1
6B
-119
143.
3214
48.
1414
1.47
142
116.6
9142.4
7143
3.3
1141.3
5142
294.0
2
5.8. Computational Results 113
Tab
le5.6
:V
ari
ants
for
the
setB
inst
an
ces
(conti
nu
ed).
AF
AFRot
AFH/V
AFH/V+Rot
Nam
eZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
ZLR
Zt(s)
B-1
204.
655
0.61
4.42
52.0
84.5
95
0.9
54.3
85
5.5
8B
-121
2.10
30.
271.
66
20.6
22.0
02
0.5
01.6
22
1.4
2
114 5. Models and Bounds for the 2D-CSP and its Variants
In what concerns these variants, AFRot, AFH/V , AFH/V+Rot, the network flow
model solved, respectively, about 70%, 77% and 58% of the set A instances, and
93%, 98% and 92% of the set B instances, within the time limit of 7200 seconds.
There was a reduction in the number of stock sheets used of about 4%, 2% and 7%
for the set A instances, and 3%, 1% and 5% for the set B instances.
5.9 Conclusions
In this chapter, we presented an exact network flow model for the 2D-CSP, with
two stages and the guillotine constraint. We solved it with a commercial software
(CPLEX), considering explicitly all its variables and constraints. Reduction cri-
teria were applied to reduce the size and symmetry of the model, and increase
its efficiency. We derived a new family of cutting planes and a new lower bound.
We also explored some variants of the problem such as the rotation of items, and
the possibility of considering the horizontal or vertical orientation for the first cut.
Finally, we presented computational results based on real instances from the fur-
niture industry. For the sets of tested instances, the model proved to be stronger
and more efficient than other methods presented in the literature.
Chapter 6
The Vehicle Routing Problem
“He who loves practice without theoryis like the sailor who boards ship
without a rudder and compassand never knows where he may cast.”
Leonardo da Vinci
Contents6.1 Problem Definition and Some of its Variants . . . . . . 116
6.1.1 Depot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.1.2 Vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.1.3 Customers . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.1.4 Planning Period . . . . . . . . . . . . . . . . . . . . . . 120
6.1.5 Type of Input Data . . . . . . . . . . . . . . . . . . . . 120
6.1.6 Objective Function . . . . . . . . . . . . . . . . . . . . . 121
6.2 Mathematical Formulations . . . . . . . . . . . . . . . . 121
6.2.1 Two-index Network Flow Model . . . . . . . . . . . . . 121
6.2.2 Multicommodity Flow Model . . . . . . . . . . . . . . . 122
6.2.3 Set Partitioning Model . . . . . . . . . . . . . . . . . . . 123
6.3 Solution Methods . . . . . . . . . . . . . . . . . . . . . . 124
6.3.1 Exact Approaches . . . . . . . . . . . . . . . . . . . . . 124
6.3.2 Heuristic and Meta-Heuristic Approaches . . . . . . . . 125
115
116 6. The Vehicle Routing Problem
6.1 Problem Definition and Some of its Variants
The Vehicle Routing Problem (VRP) belongs to the class of routing problems
and is related with the issue of finding paths along the edges of a graph. This
problem was formally stated for the first time in [64]. The authors introduced it
as a generalization of the Traveling Salesman Problem (TSP), another well know
routing problem. In this chapter, we give an overview of the VRP, we define it,
discuss several of its variants and present some models and solution methods from
the literature.
The VRP is a combinatorial optimization problem whose application area is
very wide. It is of major practical relevance for every activity that implies any
kind of route design, whether we are talking about a transportation system where
there is a fleet of vehicles to manage (public transports, courier services, trans-
portation of materials, distribution services) or of less intuitive fields as robotics
or microprocessors. It is well known that the transportation costs represent a big
percentage of the total logistics costs, and the great growth in the number of soft-
ware packages concerning the VRP, available in the market, illustrates the fact
that industries understand the economical savings that come with a more efficient
use of their resources. A more efficient planning of routes may also translate into
environmental, social and energy benefits. Therefore, and not surprisingly, this is
one of the most studied problems in the Operations Research field.
Generally speaking, the VRP is the problem of scheduling a fleet of vehicles to
visit a set of customers, to whom (or from whom) they must deliver (or collect)
a demanded quantity of supplies. The problem consists of finding the best set of
routes, according to a given objective function, such that all operational constraints
of the vehicles are respected, and the set of customers is covered. The classical
version of the VRP is commonly called the Capacitated Vehicle Routing Problem
(CVRP). For this version, there is a single depot, o, which is the beginning and the
6.1. Problem Definition and Some of its Variants 117
end of all vehicle routes, and a fleet of homogeneous vehicles, with a capacity of
Q units. It is assumed that there are K available vehicles in the fleet. The set of
customers is represented by N = 1, ..., n. There is a distance, dij, and a traveling
time, tij, associated to every pair i, j ∈ N ∪ o, and a non-negative demand, di,
associated to every customer i ∈ N .
Naturally, any real-world system requires more flexibility than the overly sim-
plified classical version of the problem. There are several specific constraints and
particularities that have to be taken into account in a real system. In order to
deal with this, many variants and extensions of this model have been presented in
the literature, featuring some aspects that occur in real-world applications. These
versions are usually called Rich Vehicle Routing Problems (RVRP). They consider
additional constraints to the basic model, in order to adapt it to specific scenarios.
Of course, considering additional assumptions in the model implies increasing its
complexity. Therefore, these additional constraints are often considered separately.
We can say that there are six fundamental aspects to consider in the VRP: the
depots, the vehicles, the customers, the planning period, the type of input data and
the objective function. Each of these entities may have different assumptions that
originate several variants of the problem. Annotated bibliographies of the VRP
and its variants can be found in [136, 131, 150].
6.1.1 Depot
There can be one single depot, to which all vehicles are associated and from which
they all must begin their routes and return to, or multiple depots. In the latter case,
there are several aspects to consider. Each depot may have identical or different
capacities, there can be customers that must be served by a certain depot, or not.
When the depots to be open must be chosen from a set of available ones, the variant
is known as the Location Routing Problem (LRP). In the multiple depot version,
the problem becomes harder, as it is necessary not only to define the set of routes
118 6. The Vehicle Routing Problem
to perform, but also the depot to which each customer is associated. In the Open
Vehicle Routing Problem (OVRP), vehicles are not required to return to the depot
at the end of the routes, which means that a route corresponds to a hamiltonian
path rather than to a hamiltonian cycle.
6.1.2 Vehicles
The fleet of vehicles can be homogeneous or heterogeneous. This means that differ-
ent vehicles may have different characteristics, like different capacities, the ability
of reaching or not some of the customers locations, the presence of some specific
equipments as refrigerators or other containers or even different operational costs.
Depending on the kind of goods, the capacity constraint of the vehicles may not
be enough to ensure that the vehicle can carry its assigned load. Vehicles must
be packed with the customers’ loads. Some authors have combined the problem of
selecting routes with the problem of loading the vehicles that perform them. This
is a combination of two NP -hard problems, the VRP and the Bin Packing Problem
(BPP). This problem is known as the Capacitated Vehicle Routing Problem with
n-Dimensional Loading Constraints (nL-CVRP). Some heuristic approaches for the
n = 2 and n = 3 cases have been proposed in the literature [70, 96, 161, 89], but
only one exact solution method has been presented. In [118], the authors propose
a branch-and-cut algorithm to solve exactly the 2L-CVRP.
Operating a vehicle implies the use of driver. In practice, this means that there
can be additional operational constraints, like a maximum number of driving hours,
drivers breaks or other scheduling aspects. The variant that combines these aspects
is called the Vehicle Routing and Crew Scheduling Problem (VRCSP). There can
also be additional constraints on the routes. The most common is the existence of
a maximum route duration. This means that if a route takes more than a given
time, it is not considered as being feasible. This can be very relevant if we consider
legal restrictions on the drivers’ working hours or even in the delivery of perishable
6.1. Problem Definition and Some of its Variants 119
supplies. Similarly, a maximum route length can be considered. Some authors
have approached a VRP variant that considers that a vehicle can be assigned to
more than one route per planning period. This variant has been addressed as the
Multi Trip Vehicle Routing Problem or Vehicle Routing Problem with multiple
routes (MVRP). It was first approached in [86]. Some heuristic solution methods
[179, 39, 169, 174, 167, 9] are described in the survey provided in [58].
6.1.3 Customers
Different additional constraints concerning customers are often considered in the
VRP, giving rise to different variants of the problem. In the Pickup and Delivery
VRP, it is assumed that the vehicles may deliver or pickup supplies from customers.
The VRP with Backhauls is similar but with the additional constraint that all
deliveries must be performed before the pickups begin. In the Split Delivery VRP,
customers can be served by more than one vehicle.
An also very known and studied variant of the problem is the VRP with Time
Windows. For this problem, there is a time period associated to each customer,
and also to the depot. Each customer must be served within its established period
of time, and all routes must be performed within the depot’s time window. Along
with the distances between all customers and depots, there are also traveling and
service times. Sometimes it is admissible to start the service at a customer after
its time window has closed, with some penalty. In this case, the time windows are
said to be soft. A survey on the Vehicle Routing Problem with Time Windows
is presented in [40, 41], where the authors describe heuristic and metaheuristic
solution methods from the literature.
The visit to all customers may or may not be mandatory. It can happen that
the available fleet of vehicles does not have the capacity to serve the complete set
of customers, or that the effort to do so is not compensated by the revenue that
would come from it. When this is the case, usually there is a penalty associated to
120 6. The Vehicle Routing Problem
each customer whose service is not performed. This penalty may be different for
different customers.
The Arc Routing Problem (ARP) is a variant of the VRP that considers that
customers are located along the arcs of the graph rather than at its nodes [73].
This variant of the VRP arises in areas like garbage collection or mail delivery.
6.1.4 Planning Period
The Periodic VRP (PVRP) considers planning periods of multiple days, in opposi-
tion to the classical version that considers planning periods of a single day. There
is a frequency associated to each customer, which represents the number of times
the customer needs to be visited during the planning horizon. The visits to the
customer must be made according to an allowable combination. Let us consider the
case where the planning horizon is equal to seven days D1, D2, D3, D4, D5, D6, D7.
If a given customer has a visiting frequency of three, it means that during those
seven days it must be visited three times. Suppose it does not want to be visited in
consecutive days nor in D7, and demands to be visited in D1. In that case, the only
allowable combinations of visiting days for that customer would be D1, D3, D5,
D1, D3, D6 or D1, D4, D6. In [162], the authors provide a classification of prob-
lems concerning this variant.
6.1.5 Type of Input Data
When there is any component of the problem with a random behavior, i.e., if there
is uncertainty aspects like the customer’s demands, the costs or the service times,
the classic deterministic problem becomes a Stochastic Vehicle Routing Problem
(SVRP). Some examples of applications of the SVRP are the refuse collection or
snow removal. A summary of the literature concerning this variant is given in [97].
6.2. Mathematical Formulations 121
6.1.6 Objective Function
The most common objective of VRPs is the minimization of costs, whether these
costs only represent the traveled distances or a combination of several direct or
indirect operational expenses and revenues. But there can be other objectives, like
the maximization of the service level or customer satisfaction, the minimization of
the number of vehicles to be used, the maximization of the balance between the
different assigned routes to each vehicle or the minimization of the environmental
impact, among others. In [122], the authors present a survey of multi-objective
algorithms for routing problems.
6.2 Mathematical Formulations
Over the years, several formulations for the CVRP have been proposed in the
literature. In this section we present a Two-index Network Flow Model, with an
integer variable associated to each arc, a Multicommodity Flow Model, and a Set
Partitioning Model, which is usually used in a column generation framework, as all
feasible routes are implicitly enumerated.
Let us consider graph G = (V,A), being V = N ∪ o its set of nodes and
A = (i, j) : i, j ∈ V its set of arcs. The cost of selecting arc (i, j) for the solution
is cij and binary variables xij are equal to 1 if and only if arc (i, j) belongs to the
solution.
6.2.1 Two-index Network Flow Model
This formulation is an extension of the model proposed by Dantzig et al. [63] for
the TSP, and was originally presented by Laporte et al. [134]. It was the base of
the formulation of the branch-and-cut algorithms proposed by Naddef and Rinaldi
[163] and Lysgaard et al. [146].
122 6. The Vehicle Routing Problem
Let r(S) be the minimum number of vehicles needed to serve all customers in
set S ⊆ N . Computing this number is NP-hard (it requires solving a BPP) and
thus, it can be replaced by a lower bound, for example⌈∑
i∈S diQ
⌉. The model states
as follows.
min∑
(i,j)∈A
cijxij (6.1)
s.t.∑j∈V
xoj = K, (6.2)∑j∈V
xjo = K, (6.3)∑i∈V
xij = 1 ∀j ∈ V, (6.4)∑j∈V
xij = 1 ∀i ∈ V, (6.5)∑i∈S
∑j∈S
xij ≤ |S| − r(S), ∀S ⊆ V \o, S 6= ∅, (6.6)
xij ∈ 0, 1 ∀i, j ∈ V. (6.7)
Constraints (6.2)-(6.5) ensure that exactly K routes are created, and all customers
are visited once and only once (degree constraints). Constraints (6.6) ensure that
no subtours are created and that the capacity constraints are not violated.
6.2.2 Multicommodity Flow Model
A multicommodity flow formulation was originally proposed by Garvin et al. [92]
and later extended by Gavish and Graves [95]. Baldacci et al. [22] proposed a
branch-and-cut algorithm based on a formulation of this type for the CVRP.
For this formulation, it is necessary to consider an extended graph G′ = (V ′, A′),
where V ′ = V ∪o′, being o′ a copy of the depot, to where vehicles must return at
the end of the routes, and A′ = (i, j) : i, j ∈ V ′. Additional variables yij related
to the load of a vehicle on arc (i, j) must also be considered. Variable yji represents
the empty space of the vehicle on arc (i, j) and thus, yji = K − yij (6.13).
6.2. Mathematical Formulations 123
min∑
(i,j)∈A′cijxij (6.8)
s.t.∑j∈V ′
(yji − yij) = 2di ∀i ∈ V ′\o, o′, (6.9)∑j∈V ′\o,o′
yoj =∑
i∈V \o,o′
di, (6.10)
∑j∈V ′\o,o′
yjo = KQ−∑
i∈V \o,o′
di, (6.11)
∑j∈V ′\o,o′
yo′,j = KQ, (6.12)
yij + yji = Qxij ∀(i, j) ∈ A′, (6.13)∑i∈V ′
xik +∑j∈V ′
xkj = 2 ∀k ∈ V ′\o, o′, (6.14)
yij ≥ 0 ∀(i, j) ∈ A′, (6.15)
xij ∈ 0, 1 ∀(i, j) ∈ A′. (6.16)
Constraints (6.9) are flow conservation constraints for the commodity flow vari-
ables and constraints (6.14) are degree constraints. Consistent flows between o and
o′ are imposed by constraints (6.10)-(6.12).
6.2.3 Set Partitioning Model
This formulation was originally proposed by Balisty and Quandt [25], and it implies
the use of column generation to dynamically generate feasible routes. Fukasawa et
al. [90] combine both two-index and set partitioning formulations in a branch-and-
cut-and-price method for the CVRP. Let R be the set of all feasible routes, xj a
binary variable equal to 1 if and only if route j is in the solution and aij a binary
coefficient equal to 1 if and only if customer i belongs to route j. The model states
124 6. The Vehicle Routing Problem
as follows.
min∑
i∈1,...,|R|
cjxj (6.17)
s.t.
|R|∑j=1
aijxj = 1 ∀i ∈ V \o, (6.18)
|R|∑j=1
xj = K, (6.19)
xj ∈ 0, 1 ∀j = 1, . . . , |R|. (6.20)
Constraints (6.18) ensure that every customer is visited once, while constraints
(6.19) define that K feasible routes are created.
6.3 Solution Methods
Several exact and heuristic methods for the VRP and its variants have been pre-
sented in the literature for the past decades. General surveys on these problems are
provided in Toth and Vigo [182] and Cordeau et al. [56]. Laporte [132] reports on
the main solution methods for the CVRP, in what concerns exact algorithms and
mathematical formulations, classical heuristics (namely, constructive and improve-
ment heuristics) and metaheuristics (local search, population search and learning
mechanisms).
In this section, we give a general overview of the state-of-art publications con-
cerning the VRP.
6.3.1 Exact Approaches
Chapters 2, 3 and 4 in the book edited by Toth and Vigo [182] provide an up to
date (2002) overview of exact algorithms for the CVRP, namely, branch-and-bound
algorithms (Toth and Vigo [181]), branch-and-cut algorithms (Naddef and Rinaldi
[163]) and set-covering-based algorithms (Bramel and Simchi-Levi [38]). This work
6.3. Solution Methods 125
was updated in the survey of Cordeau et al. [56], for both heuristics and exact
methods. Baldacci et al. [24] compares three exact approaches for the CVRP
[146, 90, 21] in an updated version of the authors’ previous survey [23]. These are,
according to the authors, the most effective exact methods currently available for
the CVRP.
Lysgaard et al. [146] proposed a branch-and-cut algorithm based on a two-
index vehicle flow model. The authors use several separation algorithms to derive
classes of valid inequalities. These valid inequalities work as cutting planes and are
used, according to the authors, to strengthen the very weak linear programming
relaxation of the original model.
Fukasawa et al. [90] proposed an exact algorithm for the CVRP that con-
sistently solves instances with up to 135 customers. It combines both two-index
vehicle flow and set partitioning formulations.
Baldacci et al. [21] proposed an exact solution method for the CVRP that,
according to the authors, can be adapted to other variants of the VRP. It is based
on a set partitioning formulation with additional capacity and clique inequalities.
They use a dynamic route generation algorithm, named GENROUTE, to generate
feasible routes, and a bounding procedure that consists of computing a lower bound
for the linear relaxation based on a near-optimal solution for the dual problem.
6.3.2 Heuristic and Meta-Heuristic Approaches
When dealing with large-scale problems, it is clear that heuristic methods are
more suitable than the state-of-the-art exact methods, which until now cannot
consistently deal with CVRP instances with much more than 100 customers.
Chapters 5 and 6 of the book edited by Toth and Vigo [182] provide an up
to date (2002) overview of, respectively, classical heuristics (Laporte and Semet
[137]) and metaheuristics (Gendreau et al. [98]) for the CVRP. Cordeau et al.
[55] described and compared several heuristics and metaheuristics for the CVRP,
126 6. The Vehicle Routing Problem
in what concerns their accuracy, speed, simplicity and flexibility. Gendreau et al.
[99] presented a categorized bibliography of metaheuristics for the VRP and its
variants.
Classical heuristics for the VRP are often classified in one of two categories:
constructive heuristics, where routes are constructed by sequentially adding arcs
until a feasible solution is found, or improvement heuristics, where efficient solutions
are found by the exchange of sets of arcs from an initial solution. One of the first
and most know classical heuristics for the VRP is the savings heuristic proposed
by Clarke and Wright [48]. Several enhancements of this algorithm have been
proposed by other authors [93, 206, 10, 27].
Metaheuristics are among the most efficient methods for the VRP, and have
been applied to this problem for the last two decades. Among these are simulated
annealing, tabu search, VNS and genetic algorithms. Some methods are hybridiza-
tions of two or more of these algorithms.
Chapter 7
An Exact Algorithm for the
Vehicle Routing Problem with
Time Windows and Multiple
Routes1
“If you don’t know where you are goingany road will get you there.”
Lewis Carroll
Contents7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.2 Integer Programming Models: State-of-the-art . . . . 129
7.2.1 Problem Definition and Notation . . . . . . . . . . . . . 129
7.2.2 A Compact Formulation . . . . . . . . . . . . . . . . . . 130
7.2.3 A Column Generation Model . . . . . . . . . . . . . . . 132
7.3 A New Pseudo-Polynomial Network Flow Model . . . 133
7.3.1 Vehicle Routes . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.2 The Model . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.3.3 Arc Reduction . . . . . . . . . . . . . . . . . . . . . . . 137
7.4 Iteratively Refining the Discretization . . . . . . . . . . 141
7.4.1 Initial Rounding Strategy . . . . . . . . . . . . . . . . . 142
7.4.2 Iterative Algorithm . . . . . . . . . . . . . . . . . . . . . 144
7.5 Computational Results . . . . . . . . . . . . . . . . . . . 146
7.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 153
1The work presented in this chapter has been submitted [148]
127
128 7. An Exact Algorithm for the MVRPTW
7.1 Introduction
In this chapter, we address the Vehicle Routing Problem with Time Windows
and Multiple Routes (MVRPTW). It is a variant of the VRP with time windows
that considers that a vehicle can be assigned to more than one route per planning
period. Despite its apparent practical relevance (delivering perishable goods, for
example), this variant of the classical VRP has not been the subject of a large
number of studies. It was first approached in [86] and some heuristic solution
methods [179, 39, 169, 167, 174, 9] are described in the survey provided in [58]. In
what concerns exact methods, to our knowledge there is only one contribution in
the literature [20]. It is a generalization of a previous method [19], which considers
the same problem but with a single vehicle available. It is a branch-and-price
algorithm, with a master problem that is a set-covering problem with variables
representing workdays, i.e., sequences of routes assigned to one vehicle for one
planning period. The pricing problem is an elementary shortest path problem
with resource constraints, formulated in a graph whose nodes represent vehicle
routes. The vehicle routes are generated a priori. This is possible because there
is an additional constraint on their duration, which makes the number of feasible
routes decrease drastically. With this exact solution method, the authors were
able to solve instances with up to 40 customers. We present a new exact solution
approach for the MVRPTW. As in [20], we consider the additional route duration
constraint and generate all feasible vehicle routes a priori. We propose a new
algorithm that is based on a pseudo-polynomial network flow model, whose nodes
represent discrete time instants and whose solution is composed of a set of paths,
each representing a workday. An issue of this model is that its size depends on the
duration of the workdays. The time instants we consider in the model are integer,
and so, when non integer traveling times occur, we use rounding procedures that
allow us to obtain a (strong) lower bound. Our model is then embedded in an exact
7.2. Integer Programming Models: State-of-the-art 129
algorithm that iteratively adds new time instants to the network flow model, and re-
optimizes it, until the solution found is proved to be feasible. Practically speaking,
the number of iterations is generally rather small (one in most of the cases). We
tested our algorithm on the benchmark used in [20] to compare our results with
theirs. Our method outperforms the column-generation based algorithm of [20]
in many cases. In the cases where the two methods find a solution, our method
drastically reduces the computational time needed. The chapter is organized as
follows. In section 7.2, we define our problem, along with its notation, and briefly
recall some integer programming models from the literature. We contribute to
the solution of this problem with a new network flow formulation, where variables
represent feasible vehicles routes. This model is described in section 7.3, as well as
some reduction criteria to eliminate some of the vehicle routes, in order to improve
its efficiency. The network flow model is embedded in an exact solution algorithm
that is thoroughly described in section 7.4. This algorithm was tested on a set of
benchmark instances from the literature. In section 7.5 we present the results of
those computational tests. Finally, some conclusions are drawn in section 7.6.
7.2 Integer Programming Models: State-of-the-
art
7.2.1 Problem Definition and Notation
In the MVRPTW, there is a single depot, denoted by o, which is the beginning
and the end of all the vehicle routes. The fleet of vehicles is homogeneous. All
the vehicles have a capacity of Q units. It is assumed that there are K available
vehicles in the fleet. The set of customers is represented by N = 1, ..., n. There
is a distance, dij, and a traveling time, tij, associated to every pair i, j ∈ N ∪ o.
Each customer i has a demand qi, a revenue gi, a service time si and a time window
130 7. An Exact Algorithm for the MVRPTW
[ai, bi], where ai is the earliest time and bi the latest time to start the service at
customer i. This means that if a vehicle arrives at customer i earlier than ai, it
must wait. We assume, without loss of generality, that a vehicle starts the service
at a customer as soon as possible. The service time for the depot is defined as
so = 0, and all the vehicle routes must respect the depot’s time window, [ao, bo],
which means that no vehicle can leave the depot before ao, nor access it after
bo. This time window represents the duration W of a workday. We assume that
bi + si + di0 ≤ b0, ∀i ∈ N .
Each vehicle can perform several routes during a workday. It means that it can
perform one route, reload at the depot and leave to the following route, until the
end of the workday. A route r is defined by a sequence of visits to a subset of
customers Nr ⊆ N . It is feasible if the sum of the demands of all customers that
belong to Nr does not exceed the vehicle capacity and if its sequence of visits is
such that it is possible to visit every customer within its time window. We also
consider that the service of all customers in the route cannot start later that tmax
time units after the route begins. We denote by R the set of all feasible routes.
For each route, there is also a setup time to consider. Before leaving the depot to
perform route r, the vehicle needs β∑
i∈Nrsi time units to load, β ∈ R+. Note that
it may not be possible to visit all customers due to the limitation on the number
of available vehicles. However, it is always desirable to visit as many customers as
possible.
7.2.2 A Compact Formulation
The problem can be formulated in a complete directed graph G = (V,A), being
V = N ∪ o its set of nodes and A = (i, j) : i, j ∈ V its set of arcs. This
compact formulation, where binary variables assign customers to routes and define
7.2. Integer Programming Models: State-of-the-art 131
consecutive pairs of routes, is defined in [20], and states as follows:
min∑r∈R
∑(i,j)∈A
dijxrij − α
∑r∈R
∑i∈N
giyri (7.1)
s.t.∑j∈V
xrij = yri , ∀i ∈ N, ∀r ∈ R, (7.2)∑r∈R
yri ≤ 1, ∀i ∈ N, (7.3)∑i∈V
xrih −∑j∈V
xrhj = 0, ∀h ∈ N, ∀r ∈ R, (7.4)∑i∈V
xroi = 1, ∀r ∈ R, (7.5)∑i∈V
xrio = 1, ∀r ∈ R, (7.6)∑i∈N
qiyri ≤ Q, ∀r ∈ R, (7.7)
tri + si + tij −M(1− xrij) ≤ trj , ∀(i, j) ∈ A, ∀r ∈ R, (7.8)
aiyri ≤ tri ≤ biy
ri , ∀i ∈ N, ∀r ∈ R, (7.9)
tro ≥ β∑i∈N
siyri , ∀r ∈ R, (7.10)
tri ≤ tro + tmax, ∀i ∈ N, ∀r ∈ R, (7.11)
tso +M(1− zrs) ≥ t′ro + β
∑i∈N
siysi , ∀r, s ∈ R, r < s, (7.12)∑
r∈R
∑s∈R|r<s
zrs ≥ |R| −K, (7.13)
xrij ∈ 0, 1, ∀(i, j) ∈ A, ∀r ∈ R, (7.14)
yri ∈ 0, 1, ∀i ∈ N, ∀r ∈ R, (7.15)
zrs ∈ 0, 1, ∀r, s ∈ R, r < s, (7.16)
tri ≥ 0, ∀i ∈ N, r ∈ R. (7.17)
The binary variables xrij and yri define, respectively, if arc (i, j) and customer i
belong to route r (7.2), whereas the binary variables zrs define if there is a vehicle
that performs route r followed by route s in its workday. Notation r < s means
that a same vehicle is assigned to perform route s after having performed route r.
132 7. An Exact Algorithm for the MVRPTW
Variables tri (7.15) represent the starting instant of service at customer i, if it is
served by route r, and tro and t′ro represent the starting and ending times of route
r, respectively. The objective function (7.1) translates the fact that it is always
desirable to visit as many customers as possible. Note that for the model to be
valid, constant α has to be set to a value that ensures that. Constraints (7.4)-(7.6)
are flow conservation constraints, and (7.7) and (7.13) define the vehicles’ capacity
and the size of the fleet, respectively. The fact that the visits to customers must
respect their time windows is expressed in (7.9). Every two clients with consecutive
visits in a same route must have compatible visit times (7.8), the same happening
with two consecutive routes performed by a same vehicle (7.12). Finally, the setup
time for every route must always be considered (7.10), (7.12).
7.2.3 A Column Generation Model
In [20], the authors propose a branch-and-price algorithm to solve the MVRPTW.
The master problem of the column generation scheme is a set covering model, where
each column represents a vehicle’s workday, w. A workday is a sequence of routes
assigned to a vehicle, to be performed during the stipulated planning period.
Let Ω be the set of all feasible workdays, dw and gw the total traveled distance
and revenue of workday w ∈ Ω, and aiw a binary coefficient that indicates whether
or not customer i is served in workday w. The formulation of [20] states as follows.
min∑w∈Ω
(dw − αgw)xw (7.18)
s.t.∑w∈Ω
aiwxw ≤ 1, i ∈ V, (7.19)∑w∈Ω
xw ≤ K, (7.20)
xw ∈ 0, 1, w ∈ Ω. (7.21)
Binary variables xw (7.21) define if workday w ∈ Ω belongs to the solution. The
objective function (7.18) must ensure that a customer may only not be visited if
7.3. A New Pseudo-Polynomial Network Flow Model 133
it is not possible due to time or vehicle constraints. Parameter α must be set to a
value that guarantees that. Constraints (7.19) state that each customer is visited
at most once. The number of workdays in a solution can never exceed the number
of available vehicles in the fleet (7.20).
The pricing problem generates feasible workdays, and it is formulated as an
elementary shortest path problem with resource constraints, defined in a graph
whose nodes represent vehicle routes, and whose arcs represent pairs of consecutive
routes. This means that all feasible routes must be generated a priori.
7.3 A New Pseudo-Polynomial Network Flow Model
In this section, we present a new network flow model for the MVRPTW, whose
variables represent feasible vehicle routes. As in [20], all vehicle routes are pre-
viously generated. The integer model is then solved with a commercial software
(CPLEX), explicitly considering all its variables. Because the nodes of the graph
represent time instants, a discretization of time is required. The discretization will
be discussed in the next section.
7.3.1 Vehicle Routes
A route r ∈ R may remain feasible when it begins at different time instants.
Therefore, for every route r, we consider that there are several routes rt, one for
each possible departure instant t. The duration of a route r, σr, may be different
for different departure instants, as the waiting times to serve customers may vary.
Let (i1, . . . , i|Nr|) be the sequence of customers visited in route r ∈ R. The first
possible time instant to end route r is T′−r = θri|Nr |
+si|Nr |+ti|Nr |o
, being θri|Nr |the first
possible instant to start service at the last customer i|Nr| in route r. It is possible
to recursively calculate T′−r , considering that θrih = maxθrih−1
+ sih−1+ tih−1ih , aih,
for h ∈ 1, . . . , |Nr|, with θri0 = ao. This means that beginning route r at any
134 7. An Exact Algorithm for the MVRPTW
instant t∗r ≤ T−r = θri1 − toi1 implies ending it at instant T′−r . Therefore, it is clear
that such a route is dominated by the route r that begins at instant T−r , and thus
it may not be considered. Figure 7.1 illustrates this situation.
Similarly, the last possible time instant to end route r is T′+r = φri|Nr |
+ si|Nr |+
ti|Nr |o, being φri|Nr |
the last possible instant to start service at customer i|Nr| in route
r and φirh = minφirh−1+ sih−1
+ tih−1ih , bih, for h ∈ 1, . . . , |Nr| with φri0 = bo.
This means that beginning a route in any instant after T+r = φri1 − toi1 implies that
the route is not feasible, as it does not respect at least one of the customers’ time
windows.
Note that if route r begins within the time interval [T−r , T+r ], it will have the
minimum duration, as the waiting times are minimized.
For each r ∈ R, the interval [T−r , T+r ] is computed as described. The number of
different feasible routes we consider is, therefore, equal to∑
r∈R
⌈T+r −T−r +1
U
⌉, being
U the time unit. We consider U = 1.
0 W
Figure 7.1: First and last beginning and ending instants of route r
7.3.2 The Model
In our network flow model, one workday of every vehicle corresponds to a path
in an acyclic directed graph Π = (∆,Ψ) (Figure 7.2). Its set of vertices ∆ =
7.3. A New Pseudo-Polynomial Network Flow Model 135
0, 1, ...,W represents discrete time instants from 0 to the workday length W and
Ψ = (u, v)r : 0 ≤ u < v ≤ W,u ∈ [T−r , T+r ], v = u + σr, r ∈ R
⋃(u, v)o :
0 ≤ u < v ≤ W, v = u + 1 represents its set of arcs. Arcs correspond either to
feasible vehicle routes or to waiting time periods (unit arcs). These waiting time
arcs represent the instants of time, in a workday, that are spent by the vehicle at
the depot. Note that in this model, we adjust the beginning time instant of each
route r ∈ R to β∑
i∈Nrsi time instants before, in order to consider the loading
time of the vehicle. The model is formulated as a minimum flow problem, and
DEPOT
8
3
7
12
4
r
s
t
0
r
Wa b c d e
s t
11
10
1
2
9
6
5
(e,W)o
(a,b)o, (c,d)
o,
Figure 7.2: Example of one path on the network flow model
it has a pseudo-polynomial number of variables and constraints. Its variables λruv
correspond to the flow in arc (u, v)r, i.e., to the number of vehicles that go through
route r, leaving the depot at instant u and arriving at instant v of their workday.
Variable z corresponds to the total flow through the graph, and can be seen as the
136 7. An Exact Algorithm for the MVRPTW
return flow from vertex W to vertex 0. Coefficient dr represents the cost of route r,
i.e., the sum of the total traveled distance in r. The model states as follows.
min∑
(u,v)r∈Ψ
(dr − α
∑i∈Nr
gi
)λruv (7.22)
s.t.∑
(u,v)r∈Ψ|i∈Nr
λruv ≤ 1, ∀i ∈ N, (7.23)
−∑
(u,v)r∈Ψ
λruv +∑
(v,y)s∈Ψ
λsvy =
z , if v = 0
0 , if v = 1, . . . ,W − 1,
−z , if v = W
(7.24)
z ≤ K, (7.25)
λruv ≥ 0 and integer, ∀(u, v)r ∈ Ψ, (7.26)
z ≥ 0 and integer. (7.27)
The objective is to minimize the total traveled distance of all vehicles during
one workday (7.22). It may not be possible to visit all customers due to the
limited number of available vehicles (7.25). The inequalities in constraints (7.23)
express that. It is, however, always desirable to visit as many customers as possible.
Constraints (7.24) are the flow conservation constraints of the network. They
ensure that the amount of flow that goes into a node is equal to the amount of flow
that goes out of it.
The following example illustrates the structure of our model.
Example 7.1 Consider an instance of MVRPTW with five customers (n = 5),
two available vehicles (K = 2) with a capacity of Q = 10 units, tmax = 5 and
β = 0.2. Table 7.1 describes the coordinates (xi, yi), time window [ai, bi], demand
bi and service time si for node i ∈ N = 1, . . . , 5⋃o. The distance between
two nodes i and j is equal to the Euclidian distance between them. Table 7.2 lists
all feasible routes, their beginning intervals and durations, as described in section
7.3.1, and all arcs to consider in the model. Figure 7.3 represents the network flow
7.3. A New Pseudo-Polynomial Network Flow Model 137
graph generated for this instance, and the corresponding optimal solution is shown
in Figure 7.4. In this solution, two vehicles are required, each with two routes to
perform in the workday. One of the vehicles would perform routes b and e, visiting
customers 4, 2 and 3. It would start loading to perform route b at time instant 3.44,
arrive at the depot at time instant 12.16, wait for 0.04 time instants, start loading
for route e at time instant 12.20, arriving at the depot at time instant 21.65, where
it would remain until the end of the workday. The second vehicle would perform
routes f and a, visiting customers 1 and 5. It would start loading to perform route
f at time instant 3.60, arrive at the depot at time instant 8.00, wait for 2.99 time
instants, start loading for route a at time instant 10.99, arriving at the depot at
time instant 20.60, where it would remain until the end of the workday. In this
solution, all customers are visited.
Table 7.1: Instances description (example 7.1)
Customer Coordinates Time Windows Demand Service
i (xi, yi) [ai, bi] bi si
o (0, 0) [0, 25] 0 01 (1, 0) [5, 6] 1 22 (0, 1) [12, 15] 7 23 (1, 2) [15, 18] 1 24 (3, 1) [7, 9] 2 25 (2, 3) [10, 15] 3 2
7.3.3 Arc Reduction
The variables represent feasible vehicle routes in our network flow model. Clearly,
reducing the number of arcs reduces the size of the model, increasing its efficiency.
The next four propositions define dominance rules that allow us to discard some
routes that are never interesting when compared to some other one, and also to
138 7. An Exact Algorithm for the MVRPTW
Table 7.2: Feasible routes (example 7.1)
Route Customers Beginning Interval Duration Arcs
r [T−r , T+r ] σr (u, v)r
a (5) [5.99, 10.99] 9.61 (6, 15)a; (7, 16)a; (8, 17)a;(9, 18)a; (10, 19)a; (11, 20)a
b (4) [3.44, 5.44] 8.72 (4, 12)b; (5, 13)b; (6, 14)b
c (3) [12.36, 15.36] 6.88 (13, 19)c; (14, 20)c;((15, 21)c; (16, 22)c
d (2) [10.60, 13.60] 4.40 (11, 15)d; (12, 16)d;(13, 17)d; (14, 18)d
e (2, 3) [10.20, 12.79] 9.45 (11, 19)e; (12, 20)e; (13, 21)ef (1) [3.60, 4.60] 4.40 (4, 8)f ; (5, 9)f
0 15 25105 20
Figure 7.3: Complete network flow graph (example 7.1)
reduce the number of different beginning instants for some of the routes.
The first dominance rule states that if two routes serve the same customers, a
route can be dropped if it has a larger or equal cost and if it does not begin after
nor end before the other.
Proposition 1 Let r, s ∈ R be two vehicle routes such that Nr = Ns. Let t ∈
[T−r , T+r ] and t′ ∈ [T−s , T
+s ]. If dr ≥ ds, t ≤ t′ and t + σr ≥ t′ + σs, route st′
7.3. A New Pseudo-Polynomial Network Flow Model 139
0 15 25105 20
Figure 7.4: Optimal solution (example 7.1)
dominates route rt.
Proof. It is never better to consider route rt over route st′, as the first one
does not begin after nor end before the second one, both routes visit the same set
of customers and the cost of r is not smaller than the cost of s.
The second dominance procedure states that if all replications of a given route r end
after the beginning of any other route, then the latest replication of r dominates
the other replications of r.
Proposition 2 Let r ∈ R be a route such that T−r +σr ≥ maxT+s : s ∈ R, s 6= r.
All routes rt, t ∈ [T−r , T+r [, are dominated by route rT+
r.
Proof. Let T = maxT+s : s ∈ R. No route can begin after time instant T
and route r will always end after time instant T . Consequently, if route r belongs to
a vehicle’s workday, it is always the last one. Therefore, any route rt, t ∈ [T−r , T+r [,
can be replaced by the route rT+r
without losing the optimal solution, as t ≤ T+r and
no other route will be performed after r.
The third dominance rule states that if no routes begin in the interval of possible
ends for a route s, then the latest replication of s dominates the other replications
of s.
Proposition 3 If⋃r∈R[T−r , T
+r ]⋂
[T−s + σs, T+s + σs] = ∅, route sT+
sdominates
140 7. An Exact Algorithm for the MVRPTW
all routes st, with t ∈ [T−s , T+s [.
Proof. Let (λ∗, z∗) be an optimal solution for the flow model of an instance of
MVRPTW, where the route s−t− (respectively s+t+) precedes (resp. follows) the route
st, in the same workday. This means that we have λ∗s−
t−,t′− = λ∗st,t′ = λ∗s+
t+,t′+ = 1.
Since the the solution (λ∗, z∗) is feasible, T+s ≥ t ≥ t′−. If
⋃r∈R[T−r , T
+r ]⋂
[T−s +
σs, T+s + σs] = ∅, we have that t+ > T+
s + σs. Therefore, a solution (λ′, z∗), where
λ′ equals λ∗ by changing only the two components λ′st,t′ = 0 and λ′sT+s ,T
+s +σs
= 1,
remains feasible and has the same cost as (λ∗, z∗), and thus is an optimal solution.
The fourth dominance rule is similar to the third. It states that if no routes end
in the interval of possible beginning of a route s, then the earliest replication of s
dominates the other replications of s.
Proposition 4 If⋃r∈R[T−r + σr, T
+r + σr]
⋂[T−s , T
+s ] = ∅, route sT−s dominates
all routes st, t ∈]T−s , T+s ].
Proof. Let (λ∗, z∗) be an optimal solution for the flow model of an instance of
MVRPTW, where the route s−t− (respectively s+t+) precedes (resp. follows) the route
st, in the same workday. This means that we have λ∗s−
t−,t′− = λ∗st,t′ = λ∗s+
t+,t′+ = 1.
Since the solution (λ∗, z∗) is feasible, T−s + σs ≤ t′ ≤ t+. If⋃r∈R[T−r + σr, T
+r +
σr]⋂
[T−s , T+s ] = ∅, we have that t′− < T−s . Therefore, a solution (λ′, z∗), where
λ′ equal to λ∗ by changing only the two components λ′st,t′ = 0 and λ′sT−s ,T
−s +σs
= 1,
remains feasible and has the same cost as (λ∗, z∗), and thus is an optimal solution.
Example 7.2 Consider an instance of the MVRPTW for which eight feasible ve-
hicle routes, a, b, c, d, e, f , g and h, can be generated. The first graph in Figure
7.5 represents the complete graph with all the replications of those eight routes, as
described in section 7.3.1. In the second graph, there are only the routes that need to
be considered, after the arc reduction criteria described in section 7.3.3 are applied.
7.4. Iteratively Refining the Discretization 141
T sets represent the beginning time instants of the routes and T′
the ending time
Tb T’bTc
Td
T’c
T’dTe T’e
b
c
d e
0 W
T
Tf
Ta T’a
a
T’f
f
Th T’hhg
Tc T’c
b
c
d e
0 W
T
Tf
Ta T’a
a
T’f
f
Tg T’gTh T’h
hg
Tb T’b
Td Te T’e T’d
T’gTg
Figure 7.5: Arc reduction (example 7.2)
instants. Set Tb was reduced to its first point as it does not intersect any ending
set (Proposition 4). Sets Td and Te were reduced to their last points, as all points
in T′
d and T′e are greater than T (Proposition 2). Finally, Tg was also reduced to
its last point, as set T′g does not intersect any beginning set (Proposition 3).
7.4 Iteratively Refining the Discretization
Our approach to solve an instance of a MVRPTW problem consists of enumer-
ating all feasible routes, as described in sections 7.3.1 and 7.3.3, and solving the
corresponding network flow model.
The nodes of model (7.22)–(7.27) represent time instants. The distances (and
142 7. An Exact Algorithm for the MVRPTW
thus the time) in the benchmarks we use are not integer, and thus we have two
alternatives. Either we use a finely grained discretization (for example, each time
unit would be 0.01), or we use some rounding procedures to use an integer time unit.
The former alternative would lead to an network flow model with a huge number
of variables and constraints, and would not allow a fast solution. Consequently, we
used the latter alternative.
We discuss in the following the different ways of rounding the values. We chose
a rounding strategy which slightly relaxes the problem. In many cases, the solution
found remains feasible. However, it may happen that the solution found by model
(7.22)–(7.27) is not feasible. Since our solution approach intends to be exact, we
developed an algorithm that iteratively refines the discretization. It allows us to
achieve the optimal value, despite our initial coarse discretization of time.
7.4.1 Initial Rounding Strategy
Recall that an arc (u, v)r in model (7.22)–(7.27) is related to a route r beginning at
time instant u and ending at time instant v. Given that the set of vertices of graph
Π is defined as a discrete set of values ∆ = 0, ...,W, it might be necessary for some
arcs (u, v)r ∈ Ψ, to round u and v to a value that belongs to set ∆. As mentioned
before, we initially consider time units equal to 1, i.e., ∆ = 0, 1, 2, ...,W − 1,W.
Several rounding procedures are possible, which are commented below.
• u = buc and v = dve. In this case, in the model, a route begins slightly before
and ends slightly after it actually does. It means that we may miss some
solutions, but each feasible solution of (7.22)–(7.27) using this relaxation will
be feasible for the initial problem. Consequently, this relaxation leads to a
heuristic.
• u = due and v = bvc. In this case, the model is slightly relaxed. It may
happen that the solution found is not feasible. However it leads to a valid
7.4. Iteratively Refining the Discretization 143
lower bound.
• (u = due and v = dve) or (u = buc and v = bvc). In this case, a valid
solution of (7.22)–(7.27) can be infeasible, and yet some parts of the problem
are relaxed. This technique neither leads to a lower bound, nor to an upper
bound.
In our algorithm, we used the second rounding procedure: considering u = due and
v = bvc. We chose this technique for two reasons: the relaxation is expected to be
tight, and infeasibilities are local and can be corrected, as we will explain below.
Note that infeasible solutions are only related to paths of the flow model (work-
days) including two consecutive routes r and r′ with one or less units of waiting
time between them. For example, if a replication of route r ends at time instant
15.35, and a replication of route r′ begins at time instant 15.15, our rounding pro-
cedure will make route r end at time instant 15 and route r′ start at time instant
16, allowing r and r′ to belong to the same working day even though this is not
possible in the initial problem.
A first idea is to correct the solution by shifting route r backward or route
r′ forward to avoid this problem. If it makes the solution feasible, we prove the
optimality, because the feasible solution will have the same set of routes and thus
a cost equal to the lower bound. Practically speaking, after having obtained a
solution x∗, we try to build a feasible solution, using the same routes found in
solution x∗.
The algorithm works as follows. For each workday, we try to build a new
path, only maintaining the sequence of routes. Let (r1, . . . , rp) be the sequence of
routes in the workday, and Tri the new beginning and T′ri
the new end of route ri,
∀i ∈ 1, . . . , p. We set Tri = max(T−ri , T′ri−1
). If Tri ≤ T+ri,∀i ∈ 1, . . . , p, the
solution is feasible. If not, we cannot prove feasibility, and another algorithm has
to be used.
144 7. An Exact Algorithm for the MVRPTW
7.4.2 Iterative Algorithm
Our solution approach consists of iteratively fixing the infeasibilities due to dis-
cretization issues. At each step of the algorithm, we detect all the time instants
where infeasibilities occur. For each of these time instants, we locally modify the
discretization, adding the fractional values needed to refine the relaxation entailed
by the initial discretization.
The initial relaxation can be seen as an aggregation of many time instants into
an unique integer one. Our refinement technique is equivalent to a disaggregation
of some nodes of the current graph. For each pair of conflicting arcs (u, v)r and
(u′, v′)r′, we consider the fractional values of v and u′ in order to correct the solution.
Our solution approach is summarized in Algorithm 1. The node disaggregation
Algorithm 1: Iterative Disaggregation Algorithm
Input: Instance I of the MVRPTW
Output: Optimal solution x∗
optimal=False;
while optimal=False do
Solve I with model (7.22)–(7.27), possibly obtaining an infeasible
solution x∗;
Check if x∗ is feasible;
if x∗ is feasible then
optimal=True;
elseApply node disaggregation;
process works as follows. We check all the arcs that belong to the solution. If
there are at least two conflicting arcs (u, P )r, (P, v)s in the solution, we decompose
the integer node P . In order to do so, we check all arcs of the model (w, z)r ∈ Ψ
such that w = P or z = P (except the waiting arcs), setting them to their original
7.4. Iteratively Refining the Discretization 145
values w′ = P − 1 + ξa or z′ = P + ξb, with 0 ≤ ξa, ξb < 1. We also check for all
arcs (x, y)r ∈ Ψ such that y = P − 1 or x = P + 1, setting them to their original
values y′ = P − 1 + ξc or x′ = P + ξd, with 0 ≤ ξc, ξd < 1. When all the new
η values are calculated, we sort them by their increasing values, and add the new
nodes Pq, q ∈ 1, . . . , η, to the graph, always respecting their order.
Example 7.3 Consider an instance of the MVRPTW with an optimal solution
with two incident arcs in node P , (a, b)r, (c, d)s with b = c = P , an arc (e, f)t with
e = P , an arc (g, h)u with h = P − 1 and an arc (i, j)v with i = P + 1. Let Pb, Pc,
Pe, Ph and Pi be the original non rounded values of b, c, e, h and i respectively.
Figure 7.6 illustrates the graph transformation.
PP-1 P+1
PP-1 P+1
Pc Pe Pb
(a,P)r (P,d)
s
(P,f)t
(a,Pb)r
(Pc,d)s
(Pe,f)t
(g,P-1)u
(P+1,j)v
(g,Ph)u (Pi,j)
v
Ph Pi
Figure 7.6: Node disaggregation (example 7.3)
We also need to check if there are pairs of arcs in the solution, (u, v)r and (x, z)s,
146 7. An Exact Algorithm for the MVRPTW
such that v = P and x = P + 1 and their original non rounded values v′ = P + ξv
and x′ = P + ξx are such that ξv > ξx. In such cases, all beginning points incident
in P + 1 or ending points incident in P must be set to their non rounded values.
Example 7.4 Consider an instance of the MVRPTW for which arcs (a, b)s and
(c, d)t, with b = P and c = P + 1, belong to the optimal solution. All ending points
incident in P or beginning points incident in P + 1 must be set to their original
values. Figure 7.7 illustrates the disaggregation procedure for this case.
PP-1 P+1
PP-1 P+1
Pc Pe Pb
(a,P)r
(P,d)s
(P,f)t
(a,Pb)r
(Pc,d)s
(Pe,f)t
(g,P-1)u
(P+1,j)v
(g,Ph)u (Pi,j)
v
Ph Pi
Figure 7.7: Node disaggregation (example 7.4)
7.5 Computational Results
Our algorithm was tested and compared with the branch-and-price algorithm de-
scribed in [20]. In order to do so, we used the same set of instances and the same
7.5. Computational Results 147
values of parameters.
The comparisons are performed on the well known Solomon instances for the
VRP with time windows [177] that were used by [20]. The instances are divided
into three different categories, RC with 8 instances, R with 11 instances and C
with 8 instances, according to the distribution of the customers’ locations. Each
category is divided into two groups (1 and 2). We are only considering the second
group instances, as the first group ones have small time windows, which would
compromise the existence of workdays with more than one route. Originally, each
instance has 100 customers but we only consider the n first ones, similarly to [20].
The value n is specified for each set of computational results.
The algorithm was implemented in C++ and the network flow model was solved
with ILOG CPLEX 12.1. Note that the computational tests were run on a PC with
a 2.66 GHz Quad-Core processor and 4GB of RAM, whereas the tests in [20] were
run on an AMD Opteron 3.1 GHz with 16GB of RAM.
The tests were run for K = 2, α = 2maxi,j∈Ndij + 1, β = 0.2, gi = 1,∀i ∈ N
and tij = dij,∀i, j ∈ V . All instances were run considering the first 25 and 40
clients. Each of these instances was tested for two different values of tmax. First for
a smaller one (75 for instances of groups RC and R, and 220 for group C) which
results in less routes to consider, making the problem easier to solve, and then for
a larger one (100 for instances of groups RC and R, and 250 for group C).
Table 7.3 shows the impact of the arc reduction described in section 7.3.3. Each
line represents the average values of a group of instances, belonging to one of the
three different categories, RC, R, or C, with n clients and a given tmax. The other
columns represent the following: |R| is the number of different routes and |Υ| is
the number of all routes for all their beginning instants, as described in section
7.3.1; |Rred| and |Υred| represent these same values, after the reduction procedure
has been applied; finally, DifR% = |R|−|Rred||R| % and DifΥ% = |Υ|−|Υred|
|Υ| %. We
were able to reduce approximately 29% of the number of variables to include in the
148 7. An Exact Algorithm for the MVRPTW
Table 7.3: Arc reduction
Inst n tmax |R| |Υ| |Rred| |Υred| DifR% DifΥ%
RC 25 75 516.75 116631.13 419.13 71673.63 18.90 34.13R 25 75 702.64 216311.18 618.82 149259.09 12.64 28.89C 25 220 336.00 183614.25 318.86 128034.00 16.55 28.58
RC 40 75 641.13 154921.25 520.75 96329.75 19.07 33.44R 40 75 3661.82 1247141.73 3266.73 899976.00 11.36 25.62C 40 220 1530.63 1153261.75 804.57 313353.29 16.83 26.40
RC 25 100 4463.88 746806.00 3374.88 411120.38 21.48 37.63R 25 100 4705.91 1226177.91 4154.18 816231.18 12.15 29.98C 25 250 1308.25 610079.88 1237.29 452880.29 16.34 26.84
RC 40 100 5648.88 1096099.38 4357.13 614915.63 21.51 37.41R 40 100 5995.50 424145.00 5057.50 342092.50 14.38 16.80C 40 250 2891.00 835131.67 2291.83 576158.67 16.92 22.53
Average 2700.20 667526.76 2201.80 406002.03 16.51 29.02
model .
We now report the results obtained by our algorithm on the instances used
by [20]. For these results, the reduction procedures are applied before running
the algorithm. Tables 7.4-7.7 describe the computational results for the instances
that were solved to optimality by at least one of the two methods tested. Several
combinations of the number of customers and values tmax are tested. We ran the
instances for a maximum time of 7200 seconds. The number of iterations of the
iterative disaggregation algorithm is represented by nit and zIDA stands for the
optimal value obtained with our approach. Columns tIDA and tAGP show the time,
in seconds, required to solve the iterative disaggregation algorithm and the branch-
and-price algorithm in [20], respectively . The percentage of visited customers is
represented by %Cust, and the last column tRed represents [(tAGP − tIDA)/tAGP ]%.
7.5. Computational Results 149
Table 7.4: Computational results for 25 customers and tmax 75 and 220
Inst n tmax nit %Cust zIDA tIDA tAGP tRed
RC201 25 75 1 100% 988.2 0.3 3.1 91.29%RC202 25 75 1 100% 881.6 37.2 - -RC203 25 75 1 100% 749.26 54.2 - -RC204 25 75 1 100% 744.83 171.0 - -RC205 25 75 1 100% 840.47 1.6 28.8 94.48%RC206 25 75 1 100% 761.14 2.0 7156.8 99.97%
R201 25 75 1 100% 762.53 0.5 68.3 99.22%R202 25 75 1 100% 645.86 3.1 205.2 98.51%R203 25 75 1 100% 622.04 10.6 1333.2 99.21%R204 25 75 1 100% 579.75 106.2 30983.3 99.66%R205 25 75 1 100% 634.17 1.5 354.1 99.59%R206 25 75 1 100% 596.81 4.7 318.4 98.52%R207 25 75 1 100% 585.81 19.4 2853.5 99.32%R208 25 75 1 100% 579.75 66.0 9270.3 99.29%R209 25 75 1 100% 602.47 4.9 262.6 98.12%R210 25 75 1 100% 636.24 11.8 5094.1 99.77%R211 25 75 1 100% 575.97 64.5 5648.6 98.86%
C201 25 220 1 100% 659.15 10.6 40361.2 99.97%C202 25 220 1 100% 653.5 212.4 - -C203 25 220 1 100% 646.51 233.9 - -C204 25 220 1 100% 602.58 423.0 - -C205 25 220 1 100% 636.52 34.7 - -C206 25 220 1 100% 636.52 40.2 - -C207 25 220 1 100% 603.34 29.5 - -C208 25 220 1 100% 613.34 12.9 - -
SolvedAF : 92.59% SolvedAGP : 55.56% Average tRed: 98.39%
150 7. An Exact Algorithm for the MVRPTW
Table 7.5: Computational results for 40 customers and tmax 75 and 220
Inst n tmax nit %Cust zIDA tIDA tAGP tRed
RC201 40 75 4 77.50% 1292.35 29.4 14.6 -50.37%RC202 40 75 1 92.50% 1458.09 40.2 6823.2 99.41%RC205 40 75 3 85% 1290.75 6992.6 1904.2 -72.77%
R201 40 75 1 95% 1130.73 2358.8 2979.5 20.83%R203 40 75 1 100% 962.42 436.0 - -R205 40 75 4 100% 1019.89 3263.7 244494.0 98.67%R206 40 75 1 100% 931.94 209.9 - -R209 40 75 1 100% 935.95 771.3 - -R210 40 75 4 100% 963.45 1803.9 - -
C201 40 220 1 100% 1169.04 25.5 19978.9 99.87%C202 40 220 1 100% 1111.34 79.4 - -C203 40 220 1 100% 1089.24 342.3 - -C205 40 220 1 100% 1084.02 63.6 - -C206 40 220 1 100% 1081.57 109.3 - -C207 40 220 1 100% 1055.24 659.0 - -C208 40 220 1 100% 1072.22 112.7 3221.7 96.5%
SolvedAF : 59.26% SolvedAGP : 25.93% Average tRed: 41.73%
7.5. Computational Results 151
Table 7.6: Computational results for 25 customers and tmax 100 and 250
Inst n tmax nit %Cust zIDA tIDA tAGP tRed
RC201 25 100 1 100% 849.45 2.0 46.3 95.7%RC202 25 100 1 100% 679.95 11.6 1096.3 98.94%RC203 25 100 1 100% 593.63 47.0 - -RC205 25 100 1 100% 702.61 8.2 262.8 96.86%RC206 25 100 1 100% 604.23 8.0 222.7 96.42%RC207 25 100 2 100% 514.9 91.7 - -
R201 25 100 1 100% 698.26 1.3 43.6 96.95%R202 25 100 1 100% 617.6 32.6 25249.9 99.87%R203 25 100 1 100% 577.8 64.1 75729.3 99.92%R205 25 100 1 100% 559.21 9.4 1202.3 99.22%R206 25 100 1 100% 523.7 40.0 28498.1 99.86%R209 25 100 1 100% 517.74 47.7 11173.9 99.57%R210 25 100 1 100% 547.29 58.9 26690.2 99.78%
C201 25 250 1 100% 541.02 0.4 1.3 68.46%C202 25 250 1 100% 533.55 167.9 - -C205 25 250 1 100% 530.05 3.7 116.6 96.87%C206 25 250 1 100% 527.95 20.7 1987.2 98.96%C207 25 250 1 100% 525.57 44.2 - -C208 25 250 1 100% 525.57 63.2 - -
SolvedAF : 70.37% SolvedAGP : 51.85% Average tRed: 96.2%
152 7. An Exact Algorithm for the MVRPTW
Table 7.7: Computational results for 40 customers and tmax 100 and 250
Inst n tmax nit %Cust zIDA tIDA tAGP tRed
RC201 40 100 1 85% 1157.65 3.6 77.8 95.36%RC202 40 100 4 97.5% 1322.08 1013.8 - -RC205 40 100 1 95% 1195.51 35.7 4733.3 99.25%
R201 40 100 - - - - 127424.0 -
C201 40 250 1 100% 966.89 6.4 659.2 99.03%C205 40 250 1 100% 921.37 88.5 - -C206 40 250 1 100% 919.24 290.5 - -C208 40 250 1 100% 915.61 491.5 - -
SolvedAF : 25.93% SolvedAGP : 14.81% Average tRed: 97.88%
We solved around 62% of all instances, whereas in [20] only about 37% of the
instances were solved to optimality. We were able to solve 28 instances that were
not solved by [20]. On the contrary, one instance is solved by this latter method
and not by ours. Note that the computational time spent to solve that instance
in [20] was much superior to our time limit of 7200 seconds. The difference in the
number of instances solved is larger for the instances with n = 40 and with smaller
tmax. For this set of instances, we were able to solve 16 instances, whereas the
method of [20] only solved 7 instances.
If we consider the instances solved by both methods, ours solved them in ap-
proximately 2% of the time reported in [20]. Our method is faster for every case
with a reduction of at least 91%, except for two instances where the reduction is
smaller, and the notable exception of two other instances for which our method
is slower than the method of [20]. These two instances involve 40 customers and
a tmax equal to 75. In one of these two instances, the number of disaggregation
iterations is 4, and in the other, the model ran three times.
7.6. Conclusions 153
In what concerns the number of iterations of the algorithm, only in six cases
out of the sixty seven solved was it necessary to run the model more than once.
The model was solved twice and thrice in one case each and four times for four test
cases. This means that our algorithm always converged in four or less iterations.
As expected, when the number of customers increases it becomes harder to
solve the problem to optimality. This also happens when we increase the value of
tmax, as the bigger this parameter is, the larger is the number of feasible routes,
and thus variables, to consider.
7.6 Conclusions
The MVRPTW is a variant of the classical vehicle routing problem that has re-
ceived little attention in the literature. In this chapter, we described a new network
flow model, and an exact solution algorithm to solve this problem. Our algorithm
is iterative and it relies on a pseudo-polynomial network flow model whose nodes
represent time instants, and whose arcs represent feasible vehicle routes. We con-
ducted some computational experiments on a set of benchmark instances and com-
pared the results with the only other exact method in the literature. Our approach
proved to be more efficient, by solving more instances and clearly outperforming
the other method in terms of computational time, for most of the cases.
Chapter 8
A Network Flow Model for the
Location Routing Problem with
Multiple Routes
“There in no higher or lower knowledge,but only one, flowing out of experimentation.”
Leonardo da Vinci
Contents8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . 160
8.3 Mathematical Programming Models . . . . . . . . . . . 161
8.3.1 Three-index Commodity Flow Model . . . . . . . . . . . 161
8.3.2 Set-partitioning Model . . . . . . . . . . . . . . . . . . . 162
8.4 Network Flow Model . . . . . . . . . . . . . . . . . . . . 163
8.4.1 Arc Reduction . . . . . . . . . . . . . . . . . . . . . . . 165
8.5 Computational Results . . . . . . . . . . . . . . . . . . . 166
8.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 171
155
156 8. A Network Flow Model for the MLRP
8.1 Introduction
In this chapter, we analyze the Location Routing Problem (LRP). It is an inte-
grated problem, combining two difficult ones, the vehicle routing problem and the
location problem. The integration of these two important optimization problems
to distribution networks can translate into considerable savings. Its standard ver-
sion represents an interrelation of a vehicle routing problem, which determines the
optimal set of routes to fulfill the demands of a set of customers, and a location
problem, as the depots from which the vehicles performing the routes can be as-
sociated must be chosen from a set of possible locations. Being a generalization of
the VRP it is also a NP -hard problem.
Laporte [130] describes application areas, different formulations and solution
methods in a survey of deterministic LRP. Based on the work published up to
1988, the author concludes by proposing promising future research areas for this
problem. In [158], the authors propose a taxonomy for the LRP and a classification
scheme that categorizes the up to date exact and heuristic approaches in the liter-
ature, according to their specific solution method and to eleven other features that
characterize the problem’s assumptions, in what the authors call a two-way clas-
sification. They also provide an annotated literature review, organized according
to the proposed classification. A more recent survey of LRPs is provided in [165].
The authors also propose a classification scheme and a review of deterministic exact
and heuristic methods, and also of stochastic and dynamic solution approaches to
the problem. Laporte et al. [133] applied an exact algorithm based on an integer
programming formulation to the LRP. The procedure consists of a branch-and-cut
algorithm where subtour eliminating constraints and chain barring constraints are
introduced. It solved instances with up to 20 customers and 8 depots. Although
the depots have no capacity, there are lower and upper bounds on the number of
depots to consider and on the number of capacitated vehicles to be associated to
8.1. Introduction 157
each depot. Laporte et al. [135] solve an asymmetrical LRP with lower and upper
bounds on the number of vehicles based at each depot, and a constraint on the
total cost of a route. They reformulate the problem as a constrained assignment
problem through the use of a graph transformation. They use a variant of the
branch-and-bound algorithm proposed in [43] for the traveling salesman problem
to solve the integer problem. The authors report on computational results with up
to 3 possible depots and 80 customers Berger et al. [32] proposed a branch-and-
price algorithm, based on a set-partitioning formulation, with distance constraints
and uncapacitated vehicles and depots. They also introduce a set of valid inequal-
ities in order to strengthen the proposed formulation. Akca et al. [4] proposed an
exact solution method for the LRP with capacities on both vehicles and depots.
It is a branch-and-price algorithm based on a set-partitioning formulation. The
proposed model is an adaptation of a previously presented formulation [3] for the
location routing and scheduling problem. The authors presented four variants of
the algorithm, based on different heuristic approaches to solve the pricing problem
of their column generation scheme. Belenger et al.[28] provided a branch-and-cut
algorithm for the LRP with capacitated facilities and capacitated vehicles. The
integer programming model uses only binary variables and is based on the one
proposed in [133], with the additional depots’ capacity constraints. Both heuris-
tic and exact separation algorithms are proposed, in order to find violated valid
inequalities in the embedded cutting plane scheme.
According to the classification scheme presented in [165], heuristic methods
for the LRP can be clustering-based, iterative or hierarchical. Clustering-based
heuristics are composed by two phases. In a first phase, the set of customers is
grouped in clusters, which are, in the second phase, allocated either to depots or
to a vehicle route. In the first case, the algorithm concludes by solving a VRP
(or TSP) for each depot and in the second case a TSP is solved for each cluster
which is posteriorly associated to a depot. In iterative methods, the subproblems
158 8. A Network Flow Model for the MLRP
of location and routing are solved separately, in an iterative scheme that exchanges
information between these two phases, in order to improve the solution. Finally,
hierarchical heuristics tackle the problem as a location problem, incorporating the
routing problem as a subproblem in some phases of the routine.
Nagy and Salhi [164] propose a hierarchical heuristic method for the LRP, based
on a tabu search algorithm. It is a nested method, where the routing problem is
considered in the evaluation of possible moves, which can be add moves (opening
a closed depot), drop moves (closing an open depot) or shift moves (closing an
open depot and opening a closed one). Tuzun et Burke [185] propose a hierar-
chical two-phase tabu search for the LRP with capacitated vehicles. These two
coordinated phases correspond either to a location or a routing problem. Every
time a neighborhood move is performed in the location phase, the routing phase is
started. The search in the routing phase is not global. Only the routing sections
affected by the previous location move are explored, in order to, according to the
authors, explore the solution space efficiently. Wu et al. [202] decompose the LRP
into a location-allocation problem and a vehicle routing problem and solve it with
an iterative heuristic, on a combined tabu search and simulated annealing frame-
work. The authors consider the problem with capacitated heterogeneous vehicles.
Albareda-Sambola et al. [5] approached the LRP with capacitated depots with one
single vehicle associated to each depot. The authors solve the LP-relaxation of a
compact model and use it as a lower bound and as a base for the first solution in a
tabu search framework. The problem is solved with a hierarchical heuristic where
the intensification and diversification phases are concerned, respectively, with the
location and the routing problems. They allow infeasible solutions in the intensifi-
cation phase, which are controlled with a penalty in the objective function. They
propose an additional lower bound that presents a better quality than the one pro-
vided by the LP-relaxation. Barreto et al. [26] used a clustering-based heuristic for
the LRP with capacity constraints both for the vehicles and the depots. Customers
8.1. Introduction 159
are grouped in clusters with a capacity limit, by using one of four grouping meth-
ods. A TSP is then solved for each of these groups, by using an exact method, if the
group has 40 or less elements, or a two stages heuristic procedure, otherwise. After
improving the routes with a local search procedure, a location problem is solved
in order to assign them to the selected depots. By combining the four clustering
methods and six proximity measures, the authors present several versions of this
routing-first, location-second heuristic.
We address a variant of this problem, the location routing problem with multiple
routes (MLRP), where each vehicle can perform several routes in the same planning
period. This variant has been explored exactly in [3], and heuristically in [141],
although in the latter the authors also propose a branch-and-bound algorithm for
the problem. In [3], the authors propose a three-index commodity flow model
and also a branch-and-price algorithm based on a set-partitioning formulation of
the problem. The branch-and-price algorithm is based on a column generation
framework, where each column represents what the authors define as pairings. The
pricing problem is an elementary shortest path problem with resource constraints.
Finally, the authors propose valid inequalities in order to strengthen the model. In
[6], the authors define several formulations for the case where only one customer
is visited in each route. The problem is addressed as the capacity and distance
constrained plant location problem. For one of the formulations, they propose
families of valid inequalities in order to strengthen it, and assess its effectiveness
when it is directly solved with a commercial solver. As they do not devise any
column generation scheme, they propose an extension of the problem, which can
have practical applicabilities, as they describe, where there is a constraint on the
number of customers that each vehicle can visit during the planning period. This
constraint is addressed as the cardinality constraint.
The remainder of this chapter is organized as follows. In section 8.2, we define
our problem, along with its notation. Some mathematical formulations from the
160 8. A Network Flow Model for the MLRP
literature are briefly recalled in section 8.3. In section 8.4 we describe our network
flow model, as well as some reduction criteria derived for it. Computational ex-
periments are reported in section 8.5, while some conclusions are drawn in section
8.6.
8.2 Problem Definition
In this section, we define our problem, along with its notation. There is a set
D of available depots that can be selected to be open, and a set of customers
N = 1, . . . , n to visit. Customers are served by a single depot and a single
vehicle. Each depot d ∈ D has a finite capacity Ld and has several associated
vehicles, which perform routes that begin and end at that same depot.
The fleet of vehicles is homogeneous, and each vehicle has a capacity Q. A
same vehicle can perform several routes in the same planning period, although
it can never travel for more than W units of time. A route r corresponds to a
sequence of customers to be visited by a vehicle, always beginning and ending at
the same depot. Its duration is represented by tr. Given that vehicles have finite
capacities, a route r can never consider the visit to a set of customers Nr ⊆ N
whose sum of demands is greater than Q. The load of route r is represented by lr.
When a depot d is selected to be open, there is a fixed cost Cdf to consider.
Similarly, the decision of using a given vehicle incurs in a fixed cost Cv. Apart
from these fixed costs, there are also variable costs to contemplate, corresponding
to the traveled distances to serve customers. The subsequent cost of a route r is
represented by Cr. No service or setup times are considered.
Finally, we consider an adaptation of the cardinality constraint considered in
[6]. For each route, there is an upper bound α on the number of customers that
can be visited.
8.3. Mathematical Programming Models 161
8.3 Mathematical Programming Models
In [3], the authors propose two different formulations for the MLRP, a three-index
commodity flow formulation (8.1)-(8.12) and a set partitioning formulation (8.13)-
(8.17). We briefly recall them in this section.
8.3.1 Three-index Commodity Flow Model
This model is represented in a graph G = ((N ∪ D), A), where A = (D × N) ∪
(N ×N). Let H be the set of available vehicles and Hd the set of vehicles assigned
to depot d ∈ D. The time it takes to go through arc (i, j) ∈ A is represented
by tij, and the operational cost of one unit of traveled time is represented by Co.
Variables xikh (8.9) define if vehicle h ∈ H goes through arc (i, k) ∈ A and variables
yikh (8.10) represent the flow that vehicle h ∈ H carries on arc (i, k) ∈ A. Binary
variables λd (8.11) and vh (8.12) define whether depot d ∈ D opens or not and
whether vehicle h ∈ H is used or not, respectively. The model states as follows.
min∑d∈D
Cdfλd + Cv
∑h∈H
vh + Co∑h∈H
∑(i,k)∈A
tikxikh (8.1)
s.t.∑h∈H
∑k∈(N∪D)
xikh = 1 ∀i ∈ N, (8.2)
∑k∈(N∪D)
xikh −∑
k∈(N∪D)
xkih = 0 ∀i ∈ N ∪D, ∀h ∈ H, (8.3)
∑h∈Hd
∑k∈N
ydkh − Ldλd ≤ 0 ∀d ∈ D, (8.4)
yikh −Qxikh ≤ 0 ∀(i, k) ∈ A, ∀ h ∈ H, (8.5)∑k∈N
yikh −∑k∈N
ykih + bi∑
k∈(N∪D)
xikh = 0 ∀i ∈ N,∀h ∈ H, (8.6)
∑(i,k)∈A
tikxikh −Qvh ≤ 0 ∀h ∈ H, (8.7)
xdkh = 0 ∀d ∈ D, ∀k ∈ (N ∪D),∀h ∈ Ht,∀t ∈ D\d, (8.8)
162 8. A Network Flow Model for the MLRP
xikh ∈ 0, 1, ∀(i, k) ∈ A,∀h ∈ H, (8.9)
yikh ≥ 0, ∀(i, k) ∈ A, ∀h ∈ H, (8.10)
λd ∈ 0, 1 ∀d ∈ D, (8.11)
vh ∈ 0, 1 ∀h ∈ H. (8.12)
The objective function (8.1) considers the minimization of all fixed and variable
costs. Each customer is visited exactly once, which is guaranteed by constraints
(8.2)-(8.3). Constraints (8.4) and (8.5)-(8.6) state that the capacities associated to
depots and to vehicles, respectively, must be respected. The time limit W is taken
into account with constraints (8.7). Finally, if a vehicle is associated to a depot d,
it can only travel through arcs associated to that depot (8.8).
8.3.2 Set-partitioning Model
The authors define the concept of pairing, which is the schedule of one vehicle for
the planning period, i.e., the set of routes one vehicle is scheduled to perform. Let
Pd be the set of all feasible pairing associated to facility d ∈ D and Cp the associated
cost of a pairing p, including the fixed cost of one vehicle and the operational cost
of the route. Coefficients aip define whether or not customer i ∈ N is visited in
pairing p ∈ Pd. Binary variables λd (8.16) define whether depot d ∈ D opens or
not and binary variables δd determine if a pairing p ∈ Pd is associated to depot d.
The model states as follows
min∑d∈D
Cdfλd +
∑d∈D
∑p∈Pd
Cpδp (8.13)
s.t.∑d∈D
∑p∈Pd
aipδp = 1, ∀i ∈ N, (8.14)∑p∈Pd
aip∑i∈N
aipbiδp − Cdfλd ≤ 0, ∀d ∈ D, (8.15)
λd ∈ 0, 1, ∀d ∈ D, (8.16)
8.4. Network Flow Model 163
δp ∈ 0, 1, ∀p ∈ Pd, d ∈ D. (8.17)
The objective function (8.13) considers the minimization of all fixed and variable
costs. Each customer is visited exactly once, and therefore belongs to one and
only one pairing of the solution (8.2). Constraints (8.3) state that the capacities
associated to depots must be respected.
The generation of pairings is done by the solution of a pricing problem that
is an elementary shortest path problem with resource constraints. The authors
propose two heuristic algorithms to solve it and only solve it exactly when no more
attractive columns are identified by the heuristic methods.
8.4 Network Flow Model
We propose a pseudo-polynomial network flow model whose variables are explicitly
generated and represent feasible vehicle routes. The integer model is solved with a
commercial software (CPLEX).
Let Rd, ∀d ∈ D, be the set of all feasible routes for depot d ∈ D, i.e., all
routes r such that lr ≤ Q and whose duration is not greater than the maximum
pre-defined amount of time W . We consider a set of acyclic directed graphs Πd =
(∆,Ψd), ∀d ∈ D. The set of vertices ∆ = 0, 1, ...,W represents discrete time
instants from 0 to the time limit W . Each set of arcs Ψd, ∀d ∈ D, is defined as
Ψd = (u, v)r : 0 ≤ u < v ≤ W, r ∈ Rd⋃(u, v)o : 0 ≤ u < v ≤ W, v = u + 1.
Arcs correspond either to feasible vehicle routes or to waiting time periods (unit
arcs). These waiting time arcs represent the instants of time spent by the vehicle
at the depot. An arc (u, v)r ∈ Ψd represents route r beginning at time instant u
and ending at time instant v. This means that tr = v − u for depot d.
Binary variables λd (8.25) define whether depot d ∈ D opens or not. Each arc
(u, v)r corresponds to route r ∈ R starting at instant u and ending at instant v.
Variables xduvr (8.23) represent the flow of arc (u, v)r on graph Ψd. Finally, variables
164 8. A Network Flow Model for the MLRP
zd (8.24) represent the total flow that goes through graph d ∈ D, which equals the
number of vehicles that are used in the corresponding depot. The model states as
follows.
min∑d∈D
∑(u,v)r∈Ψ
Crxduvr + Cv
∑d∈D
zd +∑d∈D
Cdfλd (8.18)
s.t.∑d∈D
∑(u,v)r∈Ψ|i∈Nr
xduvr = 1, ∀i ∈ N, (8.19)
−∑
(u,v)r∈Ψ
xduvr +∑
(v,y)t∈Ψ
xdvyt (8.20)
=
zd if v = 0
0 if v = 1, . . . ,W − 1
−zd if v = W
, ∀d ∈ D,
∑(u,v)r∈Ψ
lrxduvr ≤ Ld, ∀d ∈ D, (8.21)
Mλd ≥ zd, ∀d ∈ D, (8.22)
xduvr ≥ 0 and integer, ∀(u, v)r ∈ Ψd, ∀d ∈ D, (8.23)
zd ≥ 0 and integer, ∀d ∈ D, (8.24)
λd ∈ 0, 1. (8.25)
The objective function (8.18) contemplates the minimization of all fixed and
variable costs regarding vehicles, depots and routes, as it has been previously de-
scribed. Every customer must be visited exactly once (8.19). Constraints (8.21)
stipulate that there is flow conservation in all graphs, and constraints (8.21) state
that the capacities associated to depots must be respected. Let M be a sufficiently
large number, for example, an upper bound for the total number of used vehicles.
Constraint (8.22) certify that a depot must open if there are routes, and therefore
vehicles, associated to it in the solution.
8.4. Network Flow Model 165
8.4.1 Arc Reduction
Given that we are explicitly considering all feasible routes in our model, it is im-
portant to eliminate the ones that, although feasible, do not have any potential
interest to the optimal solution. By reducing the number of routes to take into
account, we need to consider less arcs in the model, increasing its efficiency. In
order to do this, we defined two reduction criteria.
Each path of a graph Πd corresponds to a set of routes to be performed by one
vehicle throughout the planning period, which has a maximum duration of W units
of time. The sum of the durations of the routes associated to a same path cannot,
therefore, exceed W . Given that there are no time windows to consider, the order
on which the routes are performed is irrelevant, as well as the specific time instants
at which routes begin, providing that the time limit is respected. Given that, it
is possible to only consider paths with routes sorted by their decreasing values of
duration. By doing so, the symmetry of the model is greatly reduced. On the
other hand, it is also possible to consider sequences of routes without waiting times
between them.
This considerations allow us to define the following reduction criterion:
(i) For every possible route r in Rd, ∀d ∈ D, there is an arc (0, tr)r in graph d.
For every other nodes i ∈ ∆\0,W of graph d, there is an arc (i, i + tr)r if
and only if there is an arc (a, i)s in that same graph, with a ∈ ∆ and s ∈ Rd,
such that i− a ≥ tr and i+ tr <= W .
The same set of n customers originates n! different routes, by exchanging the
sequence on which customers are visited. A different sequence of clients may have
a different cost but it always has the same load. From the list of n! different
routes associated to a depot d, let us consider two, r and s, with costs Cr and Cs,
respectively. If Cr < Cs, it is not necessary to consider route r for depot d, as they
both visit the same customers, have the same load, and the sequence defined in r
166 8. A Network Flow Model for the MLRP
represents a greater cost than the one defined in s. Therefore, the second reduction
criterion is the following:
(ii) From each set of routes visiting the same set of customers, we choose, for each
depot, the one with the lowest cost and ignore all the others. This means
that for each graph corresponding to each depot, there are no two different
routes visiting the same set of clients.
8.5 Computational Results
To evaluate the quality of model (8.18)-(8.25), with the implementation details
described in section 8.4, we conducted a set of computational experiments. The
algorithm was implemented in C++ and the network flow model was solved with
ILOG CPLEX 12.0. The computational tests were run on a PC with Intel Core i3,
CPU with 2.27 GHz and 4GB of RAM.
The considered test instances are an adaptation of the instances with 20 and
25 customers described in [3], with Cdf = 1900 and Cv = 225. These instances
were generated from instances p01, p03 and p07 described in [54]. There are five
available depots, whose coordinates are the same ones proposed in [3]. For every
instance Ca,b, a stands for the number of customers and b identifies the instance in
[54] from which Ca,b is derived, as well as the considered customers, according to
table 8.1. The duration of every route equals its traveled distance . As in [3],
distances between customers and depots are rounded. Each of these instances was
tested for two different values of W , 100 and 140, and two different values of α, 3
and 4.
Tables 8.2 and 8.3 report the results obtained for the 20 and 25 customers in-
stances, respectively. Column nArcs describes the number of arcs that correspond
to routes, without considering the unit waiting arcs. The computational times, in
seconds, required to generate the problem and to solve it are represented by tr and
8.5. Computational Results 167
Table 8.1: Instances description.
Ca,b customers Ca,b customers
p01C20,1 1 - 20 C25,1 1 - 25C20,2 31 - 50 C25,2 26 - 50
p03C20,3 1 - 20 C25,3 1 - 25C20,4 28 - 47 C25,4 26 - 50C20,5 56 - 75 C25,5 51 - 75
p07C20,6 1 - 20 C25,6 1 - 25C20,7 21 - 40 C25,7 26 - 50C20,8 31 - 50 C25,8 51 - 75
tNFM , respectively. Columns #routes, #vehic and #dep represent the number of
routes, vehicles and selected depots in the optimal solution, and in column z the
optimal value of the solution is given.
Table 8.2: Computational results for 20 customers.
Inst α W Q nArcs tr (s) tNFM (s) z #routes #vehic #dep
C20,1 3 100 50 5916 0.14 11.46 5059 9 4 2C20,1 3 100 70 8310 0.27 23.40 5050 8 4 2C20,2 3 100 50 4098 0.23 9.23 5347 7 5 2C20,2 3 100 70 4697 0.31 18.14 5347 7 5 2C20,3 3 100 60 5955 * * * * * *C20,3 3 100 80 7573 * * * * * *C20,4 3 100 60 5275 0.25 14.90 5063 8 4 2C20,4 3 100 80 6926 0.49 34.91 5030 7 4 2C20,5 3 100 60 3650 * * * * * *C20,5 3 100 80 3806 0.41 9.44 5357 7 5 2C20,6 3 100 50 5692 0.27 574.41 5304 7 5 2C20,6 3 100 70 6095 0.34 974.44 5300 7 5 2C20,7 3 100 50 3368 0.19 69.37 5619 8 6 2C20,7 3 100 70 3875 0.30 2.38 5406 9 5 2C20,8 3 100 50 1605 0.16 3.97 5643 8 6 2C20,8 3 100 70 1953 0.25 10.74 5599 7 6 2
C20,1 3 140 50 21991 0.20 981.08 4836 9 3 2C20,1 3 140 70 33045 * * * * * *C20,2 3 140 50 16498 * * * * * *C20,2 3 140 70 19019 * * * * * *C20,3 3 140 60 22457 0.22 188.96 4863 9 3 2
168 8. A Network Flow Model for the MLRP
Table 8.2: Computational results for 20 customers (continued).
Inst α W Q nArcs tr (s) tNFM (s) z #routes #vehic #dep
C20,3 3 140 80 30081 0.42 851.03 4847 7 3 2C20,4 3 140 60 18032 0.20 299.99 4842 9 2 2C20,4 3 140 80 24702 0.44 1637.93 4814 7 2 2C20,5 3 140 60 16321 0.31 5486.65 5149 7 4 2C20,5 3 140 80 17358 * * * * * *C20,6 3 140 50 23586 0.33 84.43 4864 8 3 2C20,6 3 140 70 25572 0.48 220.54 4860 7 3 2C20,7 3 140 50 14789 0.25 359.57 5170 8 4 2C20,7 3 140 70 17499 0.41 2743.39 5151 7 4 2C20,8 3 140 50 8212 0.23 47.89 5218 9 4 2C20,8 3 140 70 10295 0.33 130.79 5168 7 4 2
C20,1 4 100 50 6778 1.48 25.41 5050 8 4 2C20,1 4 100 70 11496 5.43 173.63 5020 7 4 2C20,2 4 100 50 4658 2.76 15.26 5336 7 5 2C20,2 4 100 70 6946 7.84 143.22 5312 5 5 2C20,3 4 100 60 6246 * * * * * *C20,3 4 100 80 10604 5.44 60.02 5039 6 4 2C20,4 4 100 60 5429 0.66 25.19 5063 8 4 2C20,4 4 100 80 8838 * * * * * *C20,5 4 100 60 4637 4.59 11.61 5351 7 5 2C20,5 4 100 80 5406 7.91 300.48 5306 6 5 2C20,6 4 100 50 7392 4.27 15.39 5051 6 4 2C20,6 4 100 70 9345 8.80 66.67 5044 6 4 2C20,7 4 100 50 3976 2.91 2.08 5375 7 5 2C20,7 4 100 70 5634 7.14 19.60 5342 6 5 2C20,8 4 100 50 1745 2.42 3.18 5597 7 6 2C20,8 4 100 70 2244 5.76 6.47 5339 6 5 2
C20,1 4 140 50 25207 2.11 2618.32 4827 8 3 2C20,1 4 140 70 47463 * * * * * *C20,2 4 140 50 19777 4.26 55.40 4891 7 3 2C20,2 4 140 70 31155 11.86 120.92 4853 5 2 2C20,3 4 140 60 23897 1.27 171.42 4863 9 3 2C20,3 4 140 80 43763 * * * * * *C20,4 4 140 60 18997 0.99 161.92 4842 9 3 2C20,4 4 140 80 36865 * * * * * *C20,5 4 140 60 23227 * * * * * *C20,5 4 140 80 28531 11.19 117.59 4845 6 3 2C20,6 4 140 50 34062 6.15 1042.68 4819 6 3 2C20,6 4 140 70 46913 * * * * * *C20,7 4 140 50 18519 3.82 1136.23 5144 8 4 2C20,7 4 140 70 28601 * * * * * *C20,8 4 140 50 10366 3.63 99.91 5157 7 4 2C20,8 4 140 70 15409 8.54 2163.29 5114 6 4 2
8.5. Computational Results 169
Table 8.3: Computational results for 25 customers.
Inst α W Q nArcs tr (s) tNFM (s) z #routes #vehic #dep
C25,1 3 100 50 9178 0.36 260.90 5354 11 5 2C25,1 3 100 70 13117 * * * * * *C25,2 3 100 50 7164 0.84 19.99 5676 9 6 2C25,2 3 100 70 8192 1.21 45.64 5655 9 6 2C25,3 3 100 60 7868 0.47 343.86 5660 11 6 2C25,3 3 100 80 9941 * * * * * *C25,4 3 100 60 11135 0.51 565.45 5366 11 5 2C25,4 3 100 80 14436 * * * * * *C25,5 3 100 60 6255 0.89 12.55 5718 10 6 2C25,5 3 100 80 6732 1.16 11.84 5713 10 6 2C25,6 3 100 50 7622 0.85 314.07 5640 9 6 2C25,6 3 100 70 8201 1.19 523.33 5629 9 5 2C25,7 3 100 50 4328 0.50 97.79 5970 10 7 2C25,7 3 100 70 5365 1.02 7.74 5715 11 6 2C25,8 3 100 50 7640 0.73 706.79 5646 9 6 2C25,8 3 100 70 8730 1.17 4.51 5405 11 5 2
C25,1 3 140 50 35102 * * * * * *C25,1 3 140 70 52120 * * * * * *C25,2 3 140 50 29235 1.36 186.43 5217 9 4 2C25,2 3 140 70 33443 1.74 793.46 5206 9 4 2C25,3 3 140 60 31402 0.71 1132.22 5209 10 4 2C25,3 3 140 80 41637 * * * * * *C25,4 3 140 60 37655 * * * * * *C25,4 3 140 80 51036 * * * * * *C25,5 3 140 60 28880 * * * * * *C25,5 3 140 80 31706 * * * * * *C25,6 3 140 50 32691 1.34 5277.95 5187 9 4 2C25,6 3 140 70 35990 * * * * * *C25,7 3 140 50 19877 * * * * * *C25,7 3 140 70 25142 * * * * * *C25,8 3 140 50 30993 1.04 4032.81 5196 9 4 2C25,8 3 140 70 36295 * * * * * *
C25,1 4 100 50 10983 4.92 1756.64 5343 11 5 2C25,1 4 100 70 20304 16.13 59.47 5078 8 4 2C25,2 4 100 50 9059 9.02 108.02 5634 8 6 2C25,2 4 100 70 14027 22.59 38.91 5394 7 5 2C25,3 4 100 60 8487 3.42 732.26 5660 11 6 2C25,3 4 100 80 14903 15.54 373.65 5409 8 5 2C25,4 4 100 60 11671 3.12 937.88 5348 10 5 2C25,4 4 100 80 21694 * * * * * *C25,5 4 100 60 8385 12.44 31.13 5677 8 6 2C25,5 4 100 80 10729 22.86 418.45 5635 7 6 2C25,6 4 100 50 10175 11.81 33.87 5369 7 5 2C25,6 4 100 70 13227 23.43 63.27 5350 8 5 2C25,7 4 100 50 5007 6.60 2670.68 5931 10 7 2
170 8. A Network Flow Model for the MLRP
Table 8.3: Computational results for 25 customers (continued).
Inst α W Q nArcs tr (s) tNFM (s) z #routes #vehic #dep
C25,7 4 100 70 7408 17.29 214.84 5638 8 6 2C25,8 4 100 50 10507 9.70 2600.30 5638 9 6 2C25,8 4 100 70 14805 21.14 40.23 5332 7 5 2
C25,1 4 140 50 45404 * * * * * *C25,1 4 140 70 91802 * * * * * *C25,2 4 140 50 40584 12.78 1051.81 5178 8 4 2C25,2 4 140 70 68122 * * * * * *C25,3 4 140 60 36751 4.87 2385.73 5209 10 4 2C25,3 4 140 80 72567 * * * * * *C25,4 4 140 60 42567 * * * * * *C25,4 4 140 80 94182 * * * * * *C25,5 4 140 60 45778 17.95 386.67 5213 8 4 2C25,5 4 140 80 61318 31.67 660.31 5185 7 4 2C25,6 4 140 50 54060 * * * * * *C25,6 4 140 70 78969 * * * * * *C25,7 4 140 50 26783 * * * * * *C25,7 4 140 70 45041 24.67 403.39 5195 8 4 2C25,8 4 140 50 47802 * * * * * *C25,8 4 140 70 72464 * * * * * *
We ran the instances for a maximum time of 7200 seconds. In the instances
marked with an asterisk (*), we could not find the optimal solution, either because
of the time limit or because they had memory problems when being solved with
CPLEX. Note, however, that in the vast majority of the cases, it is the memory
problem that occurs.
The percentage of instances solved within the time limit was around 68%. Con-
sidering the instances with 20 customers, 77% were solved, while only 59% of the
instances with 25 customers were solved. When parameter α increases from 3 to
4, the percentage of solved instances decreases from 67% to 66%. Considering pa-
rameter W , 86% of the instances with W = 100 are solved to optimality, while
only 50% are solved for W = 140.
As expected, by increasing parameter W from 100 to 140, the number of vari-
ables increases considerably. This increase on the number of variables is much
8.6. Conclusions 171
more significant than the one that occurs when α goes from 3 to 4, or even the one
that occurs when the number of customers goes from 20 to 25. Not surprisingly,
the number of instances solved always decreases when parameter W increases and
the other parameters remain the same (81% to 75% and 88% to 63% for the in-
stances with 20 customers and 81% to 31% and 94% to 31% for the instances with
25 customers), which does not always happen when parameters α and number of
customers increase.
Only about 17% of the solved instances took more than 1000 seconds to solve,
and 44% took less than 100 seconds.
8.6 Conclusions
Location routing is an integrated problem that combines two difficult ones, the
vehicle routing problem and the location problem. In this chapter, we explored a
variant of this problem in which vehicles can perform several consecutive routes
during one planning period. This is relevant for the many situations where the
vehicle routes have smaller durations than, for example, one workday. We also
considered an additional constraint on the maximum number of customers per
route and capacities both on the depots and vehicles.
Some reduction criteria were applied to reduce the size and symmetry of the
model, whose nodes of the corresponding graph represent time instants and whose
arcs represent feasible routes. The model is pseudo-polynomial and was solved with
a commercial solver (CPLEX). It was tested with a set of instances with up to 25
customers. For the solved instances, the computational times were reasonable.
This model can easily be adapted to other variants of the considered problem.
Chapter 9
Conclusions
“We can only see a short distance ahead,but we can see plenty there that needs to be done”.
Alan Turing
Contents9.1 Contributions of the Thesis . . . . . . . . . . . . . . . . 174
9.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . 175
173
174 9. Conclusions
9.1 Contributions of the Thesis
In this thesis, several variants of the cutting stock problem and vehicle routing
problem were addressed. New column generation, constraint programming and
pseudo-polynomial models were described, as well as several exact solution algo-
rithms, lower bounds and valid inequalities. To assess the effectiveness of the pro-
posed methods, we performed extensive computational experiments using instances
from the literature and also from the real-world.
For the challenging pattern minimization problem addressed in chapter 4, we
contributed with new results concerning the computation of lower bounds. For that,
we proposed an integer programming model and different strategies to strengthen
it. These strategies include new families of valid inequalities and the use of a new
constraint programming model.
For the remainder of the studied problems, we explored pseudo-polynomial
network flow models, and assessed their efficiency to solve the proposed problems.
The results obtained with the pseudo-polynomial model for the two-dimensional
cutting stock problem, analyzed in chapter 5, outperformed the other methods
presented in the literature, for the set of tested instances. This problem was greatly
inspired in a practical real-world situation and, therefore, it was tested with a
set of real-world instances. We proposed several reduction criteria in order to
eliminate most of the model’s symmetry and strengthened it with a new family of
cutting planes. We also derived a new lower bound. Moreover, we presented the
reformulations of the model for some variants of the problem such as the rotation
of items, and the possibility of considering the horizontal or vertical orientation for
the first cut. For those, we also presented the results of computational experiments,
and assessed the savings that could be accomplished when considering them.
For the vehicle routing problem with time windows and multiple use of vehicles,
we proposed an iterative exact solution algorithm. We formulated the problem as a
9.2. Future Research 175
network flow model for two main reasons. On the one hand, the time windows and
constraints in the duration of routes allowed us to explicitly generate all feasible
routes. On the other hand, the multiple use of each vehicle within a given workday
resembles a packing problem, which we suspected could be efficiently solved with a
network flow formulation, due to the results presented in chapter 5. This variant of
the classical vehicle routing problem has received little attention in the literature.
To our knowledge, there is only other exact method proposed for it. Our model
proved to be more efficient, by solving more instances and clearly outperforming
the other method in terms of computational time, for most of the cases.
Finally, we intended to explore how an adaptation of the network flow model
proposed in chapter 7 for the vehicle routing problem with time windows and
multiple use of vehicles behaved for the location routing problem with multiple use
of vehicles. The results are presented in chapter 8. For this problem, there are no
time windows for the clients and depots and most part of the network flow model is
repeated, with some variation, for each depot. We derived some reduction criteria
and tested the model with some adapted instances from the literature. For the set
of tested instances, it did not prove to be as efficient as the model described in the
previous chapter, but it is important to emphasize that the second problem is a
combination of two hard problems, rather than one. Even so, the model seems to
be promising to be further explored.
9.2 Future Research
Throughout the development of all the work presented in this thesis, several ideas
for future research have occurred. In this section, we expose some of them, which
will certainly be tackled in the near future.
Given some encouraging results obtained with the network flow models for the
studied problems, we intend to explore algorithmic frameworks based on them that
176 9. Conclusions
could be applied to generalized integer problems. In particular, we hope to do it
with the iterative algorithm described in chapter 7, for the vehicle routing problem
with time windows and multiple routes.
One of the weaknesses of the network flow models is the huge number of arcs
that they may require, even for not very large instances. This often translates into
memory problems. An interesting investigation course would be to try to generate
arcs dynamically, instead of explicitly considering them all from the beginning,
even if some reduction criteria is devised. This would probably make it possible to
solve larger instances than the ones presented in this thesis.
In what concerns the model considered in chapter 8, it is our intention to further
explore it, and to address other variants, namely the one considering time windows
for the vehicles and depots.
Bibliography
[1] E. Aarts and J. Lenstra. Local search in combinatorial optimization. Wiley,
Chichester, U.K, 1993.
[2] T. Achterberg. Scip – a framework to integrate constraint and mixed integer
programming. Technical report, 2004.
[3] Z. Akca, R. Berger, and T. Ralphs. Modeling and solving location routing
and scheduling problems. Technical report, 2008.
[4] Z. Akca, R. Berger, and T. Ralphs. A branch-and-price algorithm for
combined location and routing problems under capacity restrictions. In
R. Sharda, S. Vo, J. Chinneck, B. Kristjansson, and M. Saltzman, edi-
tors, Operations Research and Cyber-Infrastructure, volume 47 of Operations
Research/Computer Science Interfaces Series, pages 309–330. Springer US,
2009.
[5] M. Albareda-Sambola, J. Dıaz, and E. Fernandez. A compact model and tight
bounds for a combined location-routing problem. Computers & Operations
Research, 32(3):407 – 428, 2005.
[6] M. Albareda-Sambola and E. Fernandez. A computational comparison of
several models for the exact solution of the capacity and distance constrained
plant location problem. Computers & Operations Research, 38(8):1109 –
1116, 2011.
[7] A. Aloisio, C. Arbib, and F. Marinelli. A note on integer programming models
for cutting stock problems with setup costs. Technical report, 2006.
177
178 BIBLIOGRAPHY
[8] A. Aloisio, C. Arbib, and F. Marinelli. Cutting stock with no three parts per
pattern: Work-in-process and pattern minimization. Discrete Optimization,
In Press, Corrected Proof, 2010.
[9] F. Alonso, M. J. Alvarez, and J. E. Beasley. A tabu search algorithm for the
periodic vehicle routing problem with multiple vehicle trips and accessibil-
ity restrictions. Journal of the Operational Research Society, 59(7):963–976,
2008.
[10] I. Altinel and T. Oncan. A new enhancement of the clarke and wright savings
heuristic for the capacitated vehicle routing problem. The Journal of the
Operational Research Society, 56(8):954–961, 2005.
[11] R. Alvarez-Valdes, A. Parajon, and J.M. Tamarit. A computational study
of LP-based heuristic algorithms for two-dimensional guillotine cutting stock
problems. OR Spectrum, 24(2):179–192, 2002.
[12] R. Alvarez-Valdes, A. Parajon, and J.M. Tamarit. A tabu search algorithm
for large-scale guillotine (un)constrained two-dimensional cutting problems.
Computers & Operations Research, 29(7):925 – 947, 2002.
[13] C. Alves, R. Macedo, M. Mrad, J.M. Valerio de Carvalho, F. Alvelos, T.M.
Chan, and E. Silva. An exact branch-and-price algorithm for the two-
dimensional cutting stock problem. Technical report, 2009.
[14] C. Alves, R. Macedo, and J.M. Valerio de Carvalho. New lower bounds
based on column generation and constraint programming for the pattern
minimization problem. Computers & Operations Research, 36(11):2944–2954,
2009.
BIBLIOGRAPHY 179
[15] C. Alves and J.M. Valerio de Carvalho. A branch-and-price-and-cut algo-
rithm for the pattern minimization problem. RAIRO - Operations Research,
42(4):435–453, 2008.
[16] C. Alves and J.M. Valerio de Carvalho. A stabilized branch-and-price-and-
cut algorithm for the multiple length cutting stock problem. Computers &
Operations Research, 35(4):1315 – 1328, 2008.
[17] R. Amossen. Constructive algorithms and lower bounds for guillotine cuttable
orthogonal bin packing problems. Master’s thesis, Department of Computer
Science, University of Copenhagen, Denmark, 2005.
[18] M. Armbruster. A solution procedure for a pattern sequencing problem as
part of a one-dimensional cutting stock problem in the steel industry. Euro-
pean Journal of Operational Research, 141(2):328 – 340, 2002.
[19] N. Azi, M. Gendreau, and J.-Y. Potvin. An exact algorithm for a single-
vehicle routing problem with time windows and multiple routes. European
Journal of Operational Research, 178(3):755 – 766, 2007.
[20] N. Azi, M. Gendreau, and J.-Y. Potvin. An exact algorithm for a vehicle
routing problem with time windows and multiple use of vehicles. European
Journal of Operational Research, 202(3):756 – 763, 2010.
[21] R. Baldacci, N. Christofides, and A. Mingozzi. An exact algorithm for the
vehicle routing problem based on the set partitioning formulation with addi-
tional cuts. Mathematical Programming, 115(2):351–385, 2008.
[22] R. Baldacci, E. Hadjiconstantinou, and A. Mingozzi. An exact algorithm for
the capacitated vehicle routing problem based on a two-commodity network
flow formulation. Operations Research, 52(5):723–738, 2004.
180 BIBLIOGRAPHY
[23] R. Baldacci, P. Toth, and D. Vigo. Recent advances in vehicle routing exact
algorithms. 4OR: A Quarterly Journal of Operations Research, 5(4):269–298,
2007.
[24] R. Baldacci, P. Toth, and D. Vigo. Exact algorithms for routing problems un-
der vehicle capacity constraints. Annals of Operations Research, 175(1):213–
245, 2010.
[25] M. Balinski and R. Quandt. On an integer program for a delivery problem.
Operations Research, 12(2):300–304, 1964.
[26] S. Barreto, C. Ferreira, J. Paixao, and B. Santos. Using clustering analysis
in a capacitated location-routing problem. European Journal of Operational
Research, 179(3):968 – 977, 2007.
[27] M. Battarra, B. Golden, and D. Vigo. Tuning a parametric clarke-wright
heuristic via a genetic algorithm. Technical report, 2006.
[28] J.-M. Belenguer, E. Benavent, C. Prins, C. Prodhon, and R. Calvo. A branch-
and-cut method for the capacitated location-routing problem. Computers &
Operations Research, 38(6):931 – 941, 2011.
[29] G. Belov. Problems, models and algorithms in one- and two- dimensional
cutting. PhD thesis, Dresden University, 2003.
[30] G. Belov and G. Scheithauer. A cutting plane algorithm for the one-
dimensional cutting stock problem with multiple stock lengths. European
Journal of Operational Research, 141(1):274 – 294, 2002.
[31] J. Benders. Partitioning procedures for solving mixed-variables programming
problems. Numerische Mathematik, 4(1):238–252, 1962.
[32] R. Berger, C. Coullard, and M. Daskin. Location-routing problems with
distance constraints. Transportation Science, 41(1):29 – 43, 2007.
BIBLIOGRAPHY 181
[33] J. Berkey and P. Wang. Two-dimensional finite bin-packing algorithms. The
Journal of the Operational Research Society, 38(5):423–429, 1987.
[34] E. Bischoff and G. Wascher. Cutting and packing. European Journal of
Operational Research, 84(3):503 – 505, 1995.
[35] C. Blum and A. Roli. Metaheuristics in combinatorial optimization:
Overview and conceptual comparison. ACM Computing Surveys, 35(3):268–
308, 2003.
[36] C. Blum and A. Roli. Hybrid metaheuristics: An introduction. In C. Blum,
M. Aguilera, A. Roli, and M. Sampels, editors, Hybrid Metaheuristics, volume
114 of Studies in Computational Intelligence, pages 1–30. Springer Berlin /
Heidelberg, 2008.
[37] M. Boschetti and A. Mingozzi. The two-dimensional finite bin packing prob-
lem. part i: New lower bounds for the oriented case. 4OR, 1:27–42, 2003.
[38] J. Bramel and D. Simchi-Levi. Set-covering-based algorithms for the capac-
itated vrp. In P. Toth and D. Vigo, editors, The Vehicle Routing Problem,
pages 85–108. SIAM Monographs on Discrete Mathematics and Applications,
Philadelphia, 2002.
[39] J. Brandao and A. Mercer. The multi-trip vehicle routing problem. The
Journal of the Operational Research Society, 49(8):799–805, 1998.
[40] O. Braysy and M. Gendreau. Vehicle routing problem with time windows,
part I: route construction and local search algorithms. Transportation Sci-
ence, 39(1):104–118, 2005.
[41] O. Braysy and M. Gendreau. Vehicle routing problem with time windows,
part II: metaheuristics. Transportation Science, 39(1):119–139, 2005.
182 BIBLIOGRAPHY
[42] J. Carlier, F. Clautiaux, and A. Moukrim. New reduction procedures and
lower bounds for the two-dimensional bin packing problem with fixed orien-
tation. Computers & Operations Research, 34(8):2223 – 2250, 2007.
[43] G. Carpaneto and P. Toth. Some new branching and bounding criteria for the
asymmetric travelling salesman problem. Management Science, 26(7):736–
743, 1980.
[44] C. Chen, S. Hart, and W. Tham. A simulated annealing heuristic for the
one-dimensional cutting stock problem. European Journal of Operational
Research, 93(3):522 – 535, 1996.
[45] N. Christofides, A. Mingozzi, and P. Toth. State-space relaxation procedures
for the computation of bounds to routing problems. Networks, 11(2):145–164,
1981.
[46] F. Chung, M. Garey, and D. Johnson. On packing two-dimensional bins.
SIAM Journal on Algebraic and Discrete Methods, 3(1):66–76, 1982.
[47] G. Cintra, F. Miyazawa, Y. Wakabayashi, and E. Xavier. Algorithms for
two-dimensional cutting stock and strip packing problems using dynamic
programming and column generation. European Journal of Operational Re-
search, 191(1):61 – 85, 2008.
[48] G. Clarke and J.W. Wright. Scheduling of vehicles from a central depot to a
number of delivery points. Operations Research, 12(4):568–581, 1964.
[49] F. Clautiaux. Bornes inferieurs et methodes exactes pour le probleme de bin
packing en deux dimensions avec orientation fixe. PhD thesis, Universite de
Technologie Compiegne, France, 2005.
BIBLIOGRAPHY 183
[50] F. Clautiaux, C. Alves, and J.M. Valerio de Carvalho. A survey of
dual-feasible and superadditive functions. Annals of Operations Research,
179(1):317–342, 2010.
[51] E. Coffman, M. Garey, and D. Johnson. Approximation algorithms for bin
packing: a survey, pages 46–93. PWS Publishing Co., Boston, 1997.
[52] S. Cook. The complexity of theorem-proving procedures. In STOC ’71:
Proceedings of the third annual ACM symposium on Theory of computing,
pages 151–158, New York, 1971.
[53] W. Cook. Fifty-plus tears of combinatorial integer programming. In M. J
editor, 50 years of integer programming 1958–2008. Springer-Verlag Berlin
Heidelberg, 2010.
[54] J-F. Cordeau, M. Gendreau, and G. Laporte. A tabu search heuristic for
periodic and multi-depot vehicle routing problems. Networks, 30:105–119,
2007.
[55] J-F. Cordeau, M. Gendreau, G. Laporte, J-Y. Potvin, and F. Semet. A
guide to vehicle routing heuristics. The Journal of the Operational Research
Society, 53(5):512–522, 2002.
[56] J.-F. Cordeau, G. Laporte, M. Savelsbergh, and D. Vigo. Vehicle routing. In
C. Barnhart and G. Laporte, editors, Transportation, Handbooks in Opera-
tions Research and Management Science, volume 14. Elsevier, Amsterdam.
[57] I. Correia, L. Gouveia, and F. Saldanha da Gama. Solving the variable size
bin packing problem with discretized formulations. Computers & Operations
Research, 35(6):2103–2113, 2008.
184 BIBLIOGRAPHY
[58] A. Sen and K. Bulbul. A survey on multiple vehicle routing problem. VI.
International Logistics and Supply Chain Congress’ 2008, Istanbul, Turkiye,
pages 6–7, 2008.
[59] Y. Cui. Generating optimal multi-segment cutting patterns for circular blanks
in the manufacturing of electric motors. European Journal of Operational
Research, 169(1):30 – 40, 2006.
[60] Y. Cui, X. Zhao, Y. Yang, and P. Yu. A heuristic for the one-dimensional
cutting stock problem with pattern reduction. Proceedings of the Institu-
tion of Mechanical Engineers, Part B: Journal of Engineering Manufacture,
222(6):677–685, 2008.
[61] V.-D. Cung, M. Hifi, and B. Le Cun. Constrained two-dimensional cut-
ting stock problems a best-first branch-and-bound algorithm. International
Transactions in Operational Research, 7(3):185 – 210, 2000.
[62] G. Dantzig. Linear programming and extensions. Santa Monica, CA: RAND
Corporation, 1963.
[63] G. Dantzig, D. Fulkerson, and S. Johnson. Solution of a large-scale travelling-
salesman problem. Operations Research, 2(4):393 – 410, 1954.
[64] G. Dantzig and J. Ramser. The truck dispatching problem. Management
Science, 6(1):80–91, 1959.
[65] Z. Degraeve and M. Peeters. Optimal integer solutions to industrial cutting-
stock problems: Part 2, benchmark results. INFORMS Journal on Comput-
ing, 15(1):58–81, 2003.
[66] Z. Degraeve and L. Schrage. Optimal integer solutions to industrial cutting
stock problems. INFORMS Journal on Computing, 11(4):406–419, 1999.
BIBLIOGRAPHY 185
[67] S. Demassey and P. Michelon C. Artigues. Constraint-propagation-based
cutting planes: An application to the resource-constrained project scheduling
problem. INFORMS Journal on Computing, 17(1):52–65, 2005.
[68] G. Desaulniers, J. Desrosiers, and M.M. Solomon, editors. Column Genera-
tion. Springer, Berlin, 2005.
[69] A. Diegel, M. Chetty, S. Van Schalkwyck, and S. Naidoo. Setup combining
in the trim loss problem - 3-to-2 & 2-to-1. Working Paper, 1993.
[70] K. Doerner, G. Fuellerer, R. Hartl, M. Gronalt, and M. Iori. Metaheuris-
tics for the vehicle routing problem with loading constraints. Networks,
49(4):294–307, 2007.
[71] M. Dorigo, V. Maniezzo, and A. Colorni. The ant system: Optimization by a
colony of cooperating agents. IEEE Transactions on Systems, Management,
and Cybernetics - Part B, 26(1):1–13, 1996.
[72] K.A. Dowsland and W.B. Dowsland. Packing problems. European Journal
of Operational Research, 56(1):2 – 14, 1992.
[73] M. Dror. Arc routing : Theory, solutions and applications. Kluwer Academic
Publishers, Boston, 2000.
[74] H. Dyckhoff. A typology of cutting and packing problems. European Journal
of Operational Research, 44(2):145 – 159, 1990.
[75] H. Dyckhoff and U. Finke. Cutting and Packing in Production and Distribu-
tion. Physical Verlag, Heidelberg, 1990.
[76] H. Dyckhoff, G. Scheithauer, and J. Terno. Cutting and packing: An anno-
tated bibliography. In F. Maffioli M. Dell ’ Amico and S. Martello, editors,
Annotated Bibliographies in Combinatorial Optimization, pages 393–412. Wi-
ley, 1997.
186 BIBLIOGRAPHY
[77] H. Dyckhoff and G. Wascher. Cutting and packing. European Journal of
Operational Research, 44(2):133 – 133, 1990.
[78] ESICUP. Euro Special Interest Group in Cutting and Packing. Available
from: < http://www.fe.up.pt/esicup>.
[79] EURO. The Association of European Operational Research Societies. Avail-
able from: < http://www.euro-online.org >.
[80] E. Falkenauer. A hybrid grouping genetic algorithm for bin packing. Journal
of Heuristics, 2:5–30, 1996.
[81] A. Farley. Practical adaptations of the Gilmore-Gomory approach to cutting
stock problems. OR Spektrum, 10(2):113–123, 1988.
[82] S. Fekete and J. Schepers. New classes of fast lower bounds for bin packing
problems. Mathematical Programming, 91(1):11–31, 2001.
[83] S. Fekete and J. Schepers. A combinatorial characterization of higher-
dimensional orthogonal packing. Mathematics of Operations Research,
29(2):353–368, 2004.
[84] S. Fekete and J. Schepers. A general framework for bounds for higher-
dimensional orthogonal packing problems. Mathematical Methods of Opera-
tions Research, 60:311–329, 2004.
[85] S. Fekete, J. Schepers, and J. van der Veen. An exact algorithm for higher-
dimensional orthogonal packing. Operations Research, 55(3):569–587, 2007.
[86] B. Fleischmann. The vehicle routing problem with multiple use of vehicles.
Working Paper, Fachbereich Wirtschaftswissenschaften, Universitat Ham-
burg, Germany, 1990.
BIBLIOGRAPHY 187
[87] K. Fleszar and K.S. Hindi. New heuristics for one-dimensional bin-packing.
Computers & Operations Research, 29(7):821 – 839, 2002.
[88] H. Foerster and G. Wascher. Pattern reduction in one-dimensional cutting
stock problems. International Journal of Production Research, 38(7):1657–
1676, 2000.
[89] G. Fuellerer, K. Doerner, R. Hartl, and M. Iori. Metaheuristics for vehi-
cle routing problems with three-dimensional loading constraints. European
Journal of Operational Research, 201(3):751–759, 2010.
[90] R. Fukasawa, H. Longo, J. Lysgaard, M. Poggi de Aragao, M. Reis, E. Uchoa,
and R.F. Werneck. Robust branch-and-cut-and-price for the capacitated ve-
hicle routing problem. Mathematical Programming, 106(3):491–511, 2006.
[91] M. Garey and D. Johnson. Computers and intractability: a guide to the theory
of NP-Completeness. W.H. Freeman and Co., San Francisco, CA, 1979.
[92] W. Garvin, H. Crandall, J. John, and R. Spellman. Applications of linear
programming in the oil industry. Management Science, 3(4):407–430, 1957.
[93] T. Gaskell. Bases for vehicle fleet scheduling. Operational Research Quarterly,
18(3):281–295, 1967.
[94] T. Gau and G. Wascher. CUTGEN1: A problem generator for the standard
one-dimensional cutting stock problem. European Journal of Operational
Research, 84(3):572 – 579, 1995.
[95] B. Gavish and S. Graves. Scheduling and routing in transportation and
distributions systems: Formulations and new relaxations. Working Paper,
Graduate School of Management, University of Rochester, 1982.
188 BIBLIOGRAPHY
[96] M. Gendreau, M. Iori, G. Laporte, and S. Martello. A tabu search heuristic
for the vehicle routing problem with two-dimensional loading constraints.
Networks, 51(1):4–18, 2008.
[97] M. Gendreau and G. Laporte. Stochastic vehicle routing. European Journal
of Operational Research, 88(1):3–12, 1996.
[98] M. Gendreau, G. Laporte, and J.-Y. Potvin. Metaheuristics for the capac-
itated VRP. In P. Toth and D. Vigo, editors, The vehicle routing problem,
pages 129–154. SIAM Monographs on Discrete Mathematics and Applica-
tions, Philadelphia, 2002.
[99] M. Gendreau, J.-Y. Potvin, O. Braumlaysy, G. Hasle, and A. Løkketangen.
Metaheuristics for the vehicle routing problem and its extensions: A cate-
gorized bibliography. In R. Sharda, S. Voß, B. Golden, S. Raghavan, and
E. Wasil, editors, The Vehicle Routing Problem: Latest Advances and New
Challenges, volume 43 of Operations Research/Computer Science Interfaces
Series, pages 143–169. Springer US, 2008.
[100] P. Gilmore and R. Gomory. A linear programming approach to the cutting-
stock problem. Operations Research, 9(6):849–859, 1961.
[101] P. Gilmore and R. Gomory. A linear programming approach to the cutting
stock problem–Part II. Operations Research, 11(6):863–888, 1963.
[102] P. Gilmore and R. Gomory. Multistage cutting stock problems of two and
more dimensions. Operations Research, 13(1):94–120, 1965.
[103] F. Glover. Future paths for integer programming and links to artificial intel-
ligence. Computers & Operations Research, 13(5):533–549, 1986.
[104] F. Glover and G. Kochenberger, editors. Handbook of Metaheuristics. Kluwer,
Boston, 2002.
BIBLIOGRAPHY 189
[105] F. Glover and M. Laguna. Tabu Search. Kluwer, Boston, 1997.
[106] M. Grotschel. Discrete mathematics in manufacturing. In Proceedings of
the Second International Conference on Industrial and Applied Mathematics,
pages 119–145. SIAM, 1992.
[107] M. Guignard and S. Kim. Lagrangean decomposition: A model yielding
stronger lagrangean bounds. Mathematical Programming, 39(2):215–228,
1987.
[108] R. Haessler. Controlling cutting pattern changes in one-dimensional trim
problems. Operations Research, 23(3):483–493, 1975.
[109] R. Haessler and P. Sweeney. Cutting stock problems and solution procedures.
European Journal of Operational Research, 54(2):141 – 150, 1991.
[110] I. Harjunkoski, V. Jain, and I. Grossman. Hybrid mixed-integer/constraint
logic programming strategies for solving scheduling and combinatorial opti-
mization problems. Computers & Chemical Engineering, 24(2-7):337 – 343,
2000.
[111] R. Hinterding and L. Khan. Genetic algorithms for cutting stock problems:
With and without contiguity. In Xin Yao, editor, Progress in Evolutionary
Computation, volume 956 of Lecture Notes in Computer Science, pages 166–
186. Springer Berlin / Heidelberg, 1995.
[112] J. Holland. Adaptation in natural and artificial systems. an introductory anal-
ysis with applications to biology, control and artificial intelligence. University
of Michigan Press, 1992.
[113] J. Hooker. Logic, optimization, and constraint programming. INFORMS
Journal on Computing, 14(4):295–321, 2002.
190 BIBLIOGRAPHY
[114] E. Hopper. Two-dimensional Packing utilising Evolutionary Algorithms and
other Meta-Heuristic Methods. PhD thesis, University of Wales, Cardiff, 2000.
[115] E. Hopper and B. Turton. A review of the application of meta-heuristic
algorithms to 2D strip packing problems. Artificial Intelligence Review,
16(4):257–300, 2001.
[116] S. Hwang, Y. Cheng, and J. Horng. Discrete mathematics in manufacturing.
In Proceedings of the IEEE International Conference on Systems, Manage-
ment, and Cybernetics, Part 2 (of 3), pages 1583–1590, 1994.
[117] S. Imahori. Studies on Local Search Algorithms for Cutting and Packing
Problmes. PhD thesis, Kyoto University, 2004.
[118] M. Iori, J.-J. Salazar-Gonzalez, and D. Vigo. An exact approach for the vehi-
cle routing problem with two-dimensional loading constraints. Transportation
Science, 41(2):253–264, 2007.
[119] V. Jain and I. Grossmann. Algorithms for hybrid MILP/CP models for a class
of optimization problems. INFORMS Journal on Computing, 13(4):258–276,
2001.
[120] R. Johnston and E. Sadinlija. A new model for complete solutions to one-
dimensional cutting stock problems. European Journal of Operational Re-
search, 153(1):176 – 183, 2004.
[121] L. Jourdan, M. Basseur, and E.-G. Talbi. Hybridizing exact methods and
metaheuristics: A taxonomy. European Journal of Operational Research,
199(3):620 – 629, 2009.
[122] N. Jozefowiez, F. Semet, and E.-G. Talbi. Multi-objective vehicle routing
problems. European Journal of Operational Research, 189(2):293 – 309, 2008.
BIBLIOGRAPHY 191
[123] L. V. Kantorovich. Mathematical methods of organizing and planning pro-
duction. Management Science, 6(4):366–422, 1960.
[124] N. Karmarkar. A new polynomial-time algorithm for linear programming.
Combinatorica, 4(4):373–395, 1984.
[125] R. Karp. Reducibility among combinatorial problems. In R. Miller and
J. Thatcher, editors, Complexity of Computer Computations, pages 85–103.
Plenum Press, 1972.
[126] H. Kellerer, U. Pferschy, and D. Pisinger. Knapsack Problems. Springer,
2004.
[127] S. Kirkpatrick, C. Gelatt, and M. Vecchi. Optimization by simulated anneal-
ing. Science, New Series, 220(4598):671–680, 1983.
[128] B. Kroger. Guillotineable bin packing: A genetic approach. European Journal
of Operational Research, 84(3):645–661, 1995.
[129] A.H. Land and A.G Doig. An automatic method of solving discrete program-
ming problems. Econometrica, 28(3):497–520, 1960.
[130] G. Laporte. Location-routing problems. In B.L. Golden and A.A. Assad,
editors, Vehicle routing: Methods and studies, volume 16 of Studies in Man-
agement Science and Systems. Elsevier Science Publishers B.V., 1988.
[131] G. Laporte. Vehicle routing. In M. Amico, F. Maffioli, and S. Martello,
editors, Annotated Bibliographies in Combinatorial Optimization, pages 223
– 240. Wiley, Chichester, 1997.
[132] G. Laporte. Fifty years of vehicle routing. Transportation Science, 43(4):408–
416, 2009.
192 BIBLIOGRAPHY
[133] G. Laporte, Y. Nobert, and D. Arpin. An exact algorithm for solving a capaci-
tated location-routing problem. Annals of Operations Research, 6(9):291–310,
1986.
[134] G. Laporte, Y. Nobert, and M. Desrochers. Optimal routing under capacity
and distance restrictions. Operations Research, 33(5):1050–1073, 1985.
[135] G. Laporte, Y. Nobert, and S. Taillefer. Solving a family of multi-depot vehi-
cle routing and location-routing problems. Transportation Science, 22(3):161–
172, 1988.
[136] G. Laporte and I. Osman. Routing problems: A bibliography. Annals of
Operations Research, 61:227–262, 1995.
[137] G. Laporte and F. Semet. Classical heuristics for the capacitated VRP. In
P. Toth and D. Vigo, editors, The vehicle routing problem, pages 109–128.
SIAM Monographs on Discrete Mathematics and Applications, Philadelphia,
2002.
[138] J. Levine and F. Ducatelle. Ant colony optimization and local search for
bin packing and cutting stock problems. Journal of the Operational Research
Society, (55):705–716, 2004.
[139] S. Li. Multi-job cutting stock problem with due dates and release dates. The
Journal of the Operational Research Society, 47(4):490–510, 1996.
[140] K.-H. Liang, X. Yao, and C. Newton. A new evolutionary approach to cut-
ting stock problems with and without contiguity. Computers & Operations
Research, 29(12):1641–1659, 2001.
[141] C. Lin, C. Chow, and C. Chen. A location-routing-loading problem for bill
delivery services. Computers & Industrial Engineering, 43(1 – 2):5 – 25, 2002.
BIBLIOGRAPHY 193
[142] A. Lodi, S. Martello, and M. Monaci. Two-dimensional packing problems: A
survey. European Journal of Operational Research, 141(2):241 – 252, 2002.
[143] A. Lodi, S. Martello, and D. Vigo. Heuristic and metaheuristic approaches
for a class of two-dimensional bin packing problems. INFORMS Journal on
Computing, 11(4):345–357, 1999.
[144] A. Lodi, S. Martello, and D. Vigo. Recent advances on two-dimensional bin
packing problems. Discrete Applied Mathematics, 123(1-3):379–396, 2002.
[145] A. Lodi, S. Martello, and D. Vigo. Models and bounds for two-dimensional
level packing problems. Journal of Combinatorial Optimization, 8:363–379,
2004.
[146] J. Lysgaard, A.N. Letchford, and R.W. Eglese. A new branch-and-cut algo-
rithm for the capacitated vehicle routing problem. Mathematical Program-
ming, 100(2):423–445, 2004.
[147] R. Macedo, C. Alves, and J.M. Valerio de Carvalho. Arc-flow model for the
two-dimensional guillotine cutting stock problem. Computers & Operations
Research, 37(6):991–1001, 2010.
[148] R. Macedo, C. Alves, J.M. Valerio de Carvalho, F. Clautiaux, and S. Hanafi.
Solving exactly the vehicle routing problem with time windows and multiple
routes using a pseudo-polynomial model. Technical report, 2010.
[149] O. Marcotte. The cutting stock problem and integer rounding. Mathematical
Programming, 33(1):82–92, 1985.
[150] Y. Marinakis and A. Migdalas. Annotated bibliography in vehicle routing.
Operational Research, 7(1):27–46, 2007.
[151] K. Marriott and P. Stuckey. Programming with Constraints: an Introduction.
MIT Press, 1998.
194 BIBLIOGRAPHY
[152] S. Martello, D. Pisinger, and D. Vigo. The three-dimensional bin packing
problem. Operations Research, 48(2):256–267, 2000.
[153] S. Martello and P. Toth. Knapsack problems: algorithms and computer im-
plementations. John Wiley & Sons, Inc., New York, 1990.
[154] S. Martello and D. Vigo. Exact solution of the two-dimensional finite bin
packing problem. Management Science, 44(3):388–399, 1998.
[155] C. McDiarmid. Pattern minimisation in cutting stock problems. Discrete
Applied Mathematics, 98:121 – 130, 1999.
[156] S. Mehrotra. On the implementation of a (primal-dual) interior point method.
SIAM Journal on Optimization, 2(4):575–601, 1992.
[157] M. Milano. Constraint and Integer Programming: Toward a Unified Method-
ology. Kluwer Academic Publishers, Norwell, 2004.
[158] H. Min, V. Jayaraman, and R. Srivastava. Combined location-routing prob-
lems: A synthesis and future research directions. European Journal of Oper-
ational Research, 108(1):1–15, 1998.
[159] N. Mladenovic and P. Hansen. Variable neighborhood search. Computers &
Operations Research, 24(11):1097 – 1100, 1997.
[160] U. Montanari. Networks of constraints: Fundamental properties and appli-
cations to picture processing. Information Sciences, 7:95 – 132, 1974.
[161] A. Moura and J. Oliveira. An integrated approach to the vehicle routing and
container loading problems. OR Spectrum, 31(4):775–800, 2009.
[162] M. Mourgaya and F. Vanderbeck. Probleme de tournees de vehicules mul-
tiperiodiques: classification et heuristique pour la planification tactique.
RAIRO - Operations Research, 40(2):169–194, 2006.
BIBLIOGRAPHY 195
[163] D. Naddef and G. Rinaldi. Branch-and-cut algorithms for the capacitated
vrp. In P. Toth and D. Vigo, editors, The Vehicle Routing Problem, pages 53–
84. SIAM Monographs on Discrete Mathematics and Applications, Philadel-
phia, 2002.
[164] G. Nagy and S. Salhi. Nested heuristic methods for the location-routeing
problem. The Journal of the Operational Research Society, 47(9):1166–1174,
1996.
[165] G. Nagy and S. Salhi. Location-routing: Issues, models and methods. Euro-
pean Journal of Operational Research, 177(2):649 – 672, 2007.
[166] G. Nemhauser and L. Wolsey. Integer and Combinatorial Optimization.
Wiley-Interscience Series in Discrete Mathematics and Optimization, 1999.
[167] A. Oliveira and O. Vieira. Adaptive memory programming for the vehi-
cle routing problem with multiple trips. Computers & Operations Research,
34(1):28 – 47, 2007.
[168] J.F. Oliveira and G. Wascher. Cutting and packing. European Journal of
Operational Research, 183(3):1106 – 1108, 2007.
[169] R. Petch and S. Salhi. A multi-phase constructive heuristic for the vehicle
routing problem with multiple trips. Discrete Applied Mathematics, 133:69 –
92, 2003.
[170] J. Puchinger and G. Raidl. Combining metaheuristics and exact algorithms
in combinatorial optimization: A survey and classification. In Jos Mira and
Jos lvarez, editors, Artificial Intelligence and Knowledge Engineering Appli-
cations: A Bioinspired Approach, volume 3562 of Lecture Notes in Computer
Science, pages 41–53. Springer Berlin / Heidelberg, 2005.
196 BIBLIOGRAPHY
[171] J. Puchinger and G. Raidl. Models and algorithms for three-stage two-
dimensional bin packing. European Journal of Operational Research,
183(3):1304 – 1327, 2007.
[172] C. Reeves. Hybrid genetic algorithms for bin-packing and related problems.
Annals of Operations Research, 63(3):371–396, 1996.
[173] H. Reinertsen and T. Vossen. The one-dimensional cutting stock problem
with due dates. European Journal of Operational Research, 201(3):701 – 711,
2010.
[174] S. Salhi and R. J. Petch. A ga based heuristic for the vehicle routing prob-
lem with multiple trips. Journal of Mathematical Modelling and Algorithms,
6:591–613, 2007.
[175] A. Schrijver. Theory of Linear and Integer Programming. John Wiley &
Sons, 1986.
[176] A. Schrijver. Combinatorial Optimization: Polyhedra and Efficiency.
Springer, Berlin, 2003.
[177] M. Solomon. Algorithms for the vehicle routing and scheduling problems
with time window constraints. Operations Research, 35(2):254–265, 1987.
[178] I. Sutherland. Sketch pad a man-machine graphical communication system.
In Proceedings of the SHARE design automation workshop, DAC ’64, pages
6.329–6.346, New York, 1964. ACM.
[179] E. Taillard, G. Laporte, and M. Gendreau. Vehicle routeing with multiple
use of vehicles. The Journal of the Operational Research Society, 47(8):1065–
1070, 1996.
[180] J. Teghem, M. Pirlot, and C. Antoniadis. Embedding of linear programming
in a simulated annealing algorithm for solving a mixed integer production
BIBLIOGRAPHY 197
planning problem. Journal of Computational and Applied Mathematics, 64:91
– 102, 1995.
[181] P. Toth and D. Vigo. Branch-and-bound algorithms for the capacitated VRP.
In P. Toth and D. Vigo, editors, The Vehicle Routing Problem, pages 29–51.
SIAM Monographs on Discrete Mathematics and Applications, Philadelphia,
2002.
[182] P. Toth and D. Vigo. The Vehicle Routing Problem. SIAM Monographs on
Discrete Mathematics and Applications, Philadelphia, 2002.
[183] P. Trkman and M. Gradisar. One-dimensional cutting stock optimization
in consecutive time periods. European Journal of Operational Research,
179(2):291 – 301, 2007.
[184] E. Tsang. Foundations of Constraint Satisfaction. Academic Press, 1993.
[185] D. Tuzun and L. Burke. A two-phase tabu search approach to the location
routing problem. European Journal of Operational Research, 116(1):87 – 99,
1999.
[186] S. Umetani, M. Yagiura, and T. Ibaraki. One-dimensional cutting stock
problem to minimize the number of different patterns. European Journal of
Operational Research, 146(2):388 – 402, 2003.
[187] S. Umetani, M. Yagiura, and T. Ibaraki. One-dimensional cutting stock
problem with a given number of setups: A hybrid approach of metaheuristics
and linear programming. Journal of Mathematical Modelling and Algorithms,
5(1):43–64, 2006.
[188] J.M. Valerio de Carvalho. Exact solution of bin-packing problems using
column generation and branch-and-bound. Annals of Operations Research,
86:629–659, 1999.
198 BIBLIOGRAPHY
[189] J.M. Valerio de Carvalho. LP models for bin packing and cutting stock
problems. European Journal of Operational Research, 141(2):253 – 273, 2002.
[190] P. Vance. Branch-and-price algorithms for the one-dimensional cutting stock
problem. Computational Optimization and Applications, 9:211–228, 1998.
[191] P. Vance, C. Barnhart, E. Johnson, and G. Nemhauser. Solving binary cut-
ting stock problems by column generation and branch-and-bound. Compu-
tational Optimization and Applications, 3(2):111–130, 1994.
[192] F. Vanderbeck. Computational study of a column generation algorithm for
bin packing and cutting stock problems. Mathematical Programming, 86:565–
594, 1999.
[193] F. Vanderbeck. Exact algorithm for minimising the number of setups in the
one-dimensional cutting stock problem. Operations Research, 48(6):915–926,
2000.
[194] F. Vanderbeck. On dantzig-wolfe decomposition in integer programming and
ways to perform branching in a branch-and-price algorithm. Operations Re-
search, 48(1):111–128, 2000.
[195] F. Vanderbeck. A nested decomposition approach to a three-stage, two-
dimensional cutting-stock problem. Management Science, 47(6):864–879,
2001.
[196] V. Vazirani. Approximation Algorithms. Springer Verlag, 2001.
[197] D. Waltz. Understanding line drawings of scenes with shadows. In The
Psychology of Computer Vision. McGraw-Hill, 1975.
[198] P. Wang and G. Wascher. Cutting and packing. European Journal of Oper-
ational Research, 141(2):239 – 240, 2002.
BIBLIOGRAPHY 199
[199] G. Wascher and T. Gau. Heuristics for the integer one-dimensional cutting
stock problem: A computational study. OR Spektrum, 18(3):131–144, 1996.
[200] G. Wascher, H. Hauner, and H. Schumann. An improved typology of
cutting and packing problems. European Journal of Operational Research,
183(3):1109 – 1130, 2007.
[201] L. Wolsey. Integer Programming. Wiley-Interscience, 1998.
[202] T.-H. Wu, C. Low, and J.-W. Bai. Heuristic solutions to multi-depot location-
routing problems. Computers & Operations Research, 29(10):1393 – 1415,
2002.
[203] H. Yanasse. On a pattern sequencing problem to minimize the maximum
number of open stacks. European Journal of Operational Research, 100(3):454
– 463, 1997.
[204] H. Yanasse and M.J. Lamosa. An integrated cutting stock and sequencing
problem. European Journal of Operational Research, 183(3):1353 – 1370,
2007.
[205] H. Yanasse and M. Limeira. A hybrid heuristic to reduce the number of dif-
ferent patterns in cutting stock problems. Computers & Operations Research,
33(9):2744 – 2756, 2006.
[206] P. Yellow. A computational modification to the savings method of vehicle
scheduling. Operational Research Quarterly, 21(2):281–283, 1970.