Stefano Novellani ModelsandAlgorithmsfortheOptimizationofRealWorldRoutingandLogisticsProblems

Stefano Novellani ModelsandAlgorithmsfortheOptimizationofRealWorldRoutingandLogisticsProblems
ALMA MATER STUDIORUM - UNIVERSITÀ
DI BOLOGNA
Consorzio Spinner
Dottorato di Ricerca in
Automatica e Ricerca Operativa
Settore Concorsuale di afferenza: 01/A6 - RICERCA OPERATIVA
Settore Scientifico disciplinare: Mat/09 - RICERCA OPERATIVA
Ciclo XXVII
Models and Algorithms for the
Optimization of Real-World
Routing and Logistics Problems
Stefano Novellani
Coordinatore Dottorato
Prof. Daniele Vigo
Supervisore
Prof. Manuel Iori
Supervisore
Prof. Daniele Vigo
Esame finale anno 2015
Contents
Acknowledgments
v
List of figures
viii
List of tables
x
Preface
I
xi
Introduction
1
1 Introduction to Routing Problems
1.1 The Vehicle Routing Problems . . . . . . . .
1.1.1 The Network Characteristics . . . . .
1.1.2 The Type of Transportation Requests
1.1.3 Intra-route Constraints . . . . . . . .
1.1.4 Fleet Characteristics . . . . . . . . . .
1.1.5 Inter-route Constraints . . . . . . . . .
1.1.6 The Objective Function . . . . . . . .
1.2 Solution Methods for the VRPs . . . . . . . .
1.2.1 Exact Algorithms . . . . . . . . . . . .
1.2.2 Heuristic Algorithms . . . . . . . . . .
1.2.3 Hybridization and Unified Methods . .
1.3 Pickup and Delivery Problems . . . . . . . .
1.3.1 Many-to-Many . . . . . . . . . . . . .
1.3.2 One-to-Many-to-One . . . . . . . . . .
1.3.3 One-to-One . . . . . . . . . . . . . . .
1.4 Stochastic Vehicle Routing Problems . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
5
6
6
6
6
7
8
9
9
9
10
10
10
II Models and Algorithms for the Bike sharing Rebalancing Problems
15
2 The Bike Sharing Rebalancing Problem
i
17
ii
CONTENTS
2.1
2.2
2.3
2.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
20
23
26
26
28
28
29
31
31
33
34
36
40
42
3 Destroy and Repair for the BRP
3.1 Introduction . . . . . . . . . . . . . . . . . . . . .
3.2 Problem description . . . . . . . . . . . . . . . .
3.2.1 Formulation for the BRP . . . . . . . . .
3.2.2 A special case of the BRP: the 1-PDVRP
3.2.3 Prior Work . . . . . . . . . . . . . . . . .
3.3 Properties of feasible paths for the BRP . . . . .
3.4 Algorithm Framework . . . . . . . . . . . . . . .
3.4.1 Constructive algorithm . . . . . . . . . .
3.4.2 Destroy Procedure . . . . . . . . . . . . .
3.4.3 Repair Procedures . . . . . . . . . . . . .
3.4.4 Local Search Procedures . . . . . . . . . .
3.5 Adaptation to the 1-PDVRP . . . . . . . . . . .
3.5.1 Metaheuristic algorithm for the 1-PDVRP
3.5.2 Branch-and-Cut for the 1-PDVRP . . . .
3.6 Computational Results . . . . . . . . . . . . . . .
3.6.1 Small-size Instances . . . . . . . . . . . .
3.6.2 Medium-size Instances . . . . . . . . . . .
3.6.3 Large-size Instances . . . . . . . . . . . .
3.6.4 Local Searches Evaluation . . . . . . . . .
3.6.5 1-PDVRP Instances . . . . . . . . . . . .
3.7 Conclusions . . . . . . . . . . . . . . . . . . . . .
3.A Annex . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
50
51
51
53
53
55
60
60
62
62
63
65
65
65
68
69
70
71
72
73
75
76
2.5
2.6
2.7
2.8
4 The
4.1
4.2
4.3
Introduction . . . . . . . . . . . . . . . .
Data analysis of a real-world case . . . .
Problem description and previous work .
MILP formulations for the BRP . . . . .
2.4.1 Formulation F1 . . . . . . . . . .
2.4.2 Formulation F2 . . . . . . . . . .
2.4.3 Formulation F3 . . . . . . . . . .
2.4.4 Formulation F4 . . . . . . . . . .
Branch-and-Cut algorithm . . . . . . . .
2.5.1 Valid inequalities . . . . . . . . .
2.5.2 Separation procedures . . . . . .
Benchmark Instances . . . . . . . . . . .
Computational results . . . . . . . . . .
2.7.1 Randomly generated instances .
Conclusions . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Stochastic BRP
85
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Literature Review . . . . . . . . . . . . . . . . . . . . . . . . 86
Problems description . . . . . . . . . . . . . . . . . . . . . . . 87
iii
CONTENTS
4.4
4.5
4.6
4.7
4.8
Formulations for the SBRP . . . . . . . . . . .
4.4.1 Deterministic Equivalent Program . . .
4.4.2 Two-stage Formulation . . . . . . . . .
4.4.3 Multi-cut Formulation . . . . . . . . . .
Formulation for the SBRPF . . . . . . . . . . .
Heuristic algorithm based on correlations . . .
4.6.1 Closest neighborhood with correlations .
4.6.2 Savings with correlations . . . . . . . .
Computational Results . . . . . . . . . . . . . .
4.7.1 Instances . . . . . . . . . . . . . . . . .
4.7.2 Results . . . . . . . . . . . . . . . . . .
Conclusions . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 88
. 88
. 90
. 93
. 95
. 96
. 97
. 98
. 99
. 99
. 100
. 104
III Models and Algorithms for Earthwork Optimization
Problems
107
5 Earthwork Optimization Models
5.1 Introduction . . . . . . . . . . . . .
5.1.1 Main Contributions . . . .
5.2 Problem Description . . . . . . . .
5.3 Literature Review . . . . . . . . .
5.4 Modeling Analysis and Notation .
5.5 Aggregate Formulation . . . . . . .
5.6 Disaggregate Models . . . . . . . .
5.7 Computational Results . . . . . . .
5.7.1 Realistic instances . . . . .
5.7.2 Aggregate model results . .
5.7.3 Disaggregate model results
5.8 Conclusions . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 A DSS for Highway Construction
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
6.2 The Autostrada Pedemontana Lombarda
Project . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Strabag AG: a Leader in the construction industry
6.4 The Decision Support System . . . . . . . . . . . .
6.5 Computational Evaluation . . . . . . . . . . . . . .
6.6 Conclusions . . . . . . . . . . . . . . . . . . . . . .
6.A Mathematical Models . . . . . . . . . . . . . . . .
6.A.1 Disaggregate Formulation . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
109
110
111
113
115
117
119
124
126
126
128
128
130
135
. . . . . . 136
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
138
139
140
146
148
150
154
iv
IV
CONTENTS
Models and Algorithms for 3D Printing Problems
7 Optimizing the 3D Printing Process
7.1 Introduction . . . . . . . . . . . . . . . . . .
7.1.1 The 3DP Process . . . . . . . . . . .
7.1.2 Advantages and disadvantages . . .
7.1.3 Contribution of this Chapter . . . .
7.2 The Rural Postman Problems . . . . . . . .
7.3 Problem Description . . . . . . . . . . . . .
7.4 The 3D Printing Routing Problem . . . . .
7.5 Heuristic Algorithms . . . . . . . . . . . . .
7.5.1 Closest 3DP . . . . . . . . . . . . . .
7.5.2 Clustered 3DP . . . . . . . . . . . .
7.5.3 Look Ahead 3DP . . . . . . . . . . .
7.5.4 Shortest Path Based 3DP . . . . . .
7.6 Computational Results . . . . . . . . . . . .
7.6.1 Instances . . . . . . . . . . . . . . .
7.6.2 Results . . . . . . . . . . . . . . . .
7.7 Conclusions and Future Research Directions
Conclusions
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
159
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
161
161
162
162
163
164
165
166
167
168
168
169
169
170
170
170
177
185
Acknowledgments
Ringrazio le persone che hanno viaggiato al mio fianco in questa parte di
percorso. Ringrazio la famiglia, gli amici, i colleghi. In maggior parte
per il sostegno, i sorrisi, le leggerezze, il filosofeggiare, la qualità dei discorsi. Ringrazio il mio supervisore Manuel Iori, per la disponibilità, il
tempo, la pazienza. Ma soporattutto per i suggerimenti, le esortazioni, i
proficui scambi d’idee, l’avermi insegnato -bene o male- a fare questo lavoro. Ringrazio Mauro Dell’Amico, Daniele Vigo, Eleni Hadjiconstantinou,
Thomas Stützle e Anand Subramanian per i consigli, le collaborazioni, le
opportunità, tutte innumerevoli.
v
vi
CONTENTS
List of Figures
2.1
2.2
2.3
2.4
The bike sharing system of Reggio Emilia. The depot is depicted by 0. Stars, circles and triangles represent stations of
the first, second and third group, respectively. . . . . . . . . .
Net flow of bicycles per day, following (a) a normal-like distribution in station 4 and (b) a bimodal distribution in station
5 (∆ = difference between arrivals and departures, Φ = frequence of occurrence). . . . . . . . . . . . . . . . . . . . . .
Typical arrivals and departures per hour in a station of (a)
the first group, (b) the second group and (c) the third group
(τ = hour of the day, ν = cumulative number of bikes arriving
into or departing from a station within a seven-months period).
Optimal solutions for Reggio Emilia with (a) Q=10, (b) Q=20,
and (c) Q=30. . . . . . . . . . . . . . . . . . . . . . . . . . .
20
21
43
44
4.1
Picture of the parameters of a station.
. . . . . . . . . . . .
90
5.1
5.2
5.3
Activities flow chart. . . . . . . . . . . . . . . . . . . . . . . .
Network representation. . . . . . . . . . . . . . . . . . . . . .
The New Via Emilia layout: on the left the overall construction site planned is depicted, while a highlight is given on the
right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solution time of the disaggregate models with respect to the
number of arcs. . . . . . . . . . . . . . . . . . . . . . . . . . .
113
117
5.4
6.1
6.2
6.3
6.4
6.5
6.6
127
129
Flow chart representing the main activities involved in the
project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
The Autostrada Pedemontana Lombarda project in Northern
Italy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
The characteristics of the main highway. . . . . . . . . . . . . 139
Operation Diagram of the developed Decision Support System.140
Network visualization of the basic instance , the highway section used for computational tests. . . . . . . . . . . . . . . . . 143
Flows in temporary depot T D2 during the construction time
horizon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
vii
viii
LIST OF FIGURES
6.7
6.9
Graphical representations of the use of material during the
construction time horizon. . . . . . . . . . . . . . . . . . . . . 144
Graphical representation of digging and filling activities in a
vertex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Graphical output of the disaggregate model. . . . . . . . . . . 146
7.1
7.2
Scheme of the 3DP process. . . . . . . . . . . . . . . . . . . 162
An example of polygon with outer, inner, and filling parts. . . 168
6.8
List of Tables
2.1
2.2
2.3
2.4
2.5
2.6
2.7
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
4.1
4.2
4.3
4.4
BRP notation summary. . . . . . . . . . . . . . . . . . . . . .
Benchmark instances (notation explained in Table 2.1). . . .
Implementation of formulations F1−F4. . . . . . . . . . . . .
Computational results for formulations F1−F4 on all problem
instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Root node – Comparison of various separation procedures on
the core formulation F3. . . . . . . . . . . . . . . . . . . . . .
Root node – Comparison of various separation procedures on
the full formulation F3. . . . . . . . . . . . . . . . . . . . . .
Tests on randomly generated instances . . . . . . . . . . . . .
24
35
36
New BRP instances. . . . . . . . . . . . . . . . . . . . . . . .
Parameters used for computational tests. . . . . . . . . . . .
Results on small-size instances . . . . . . . . . . . . . . . . .
Results on medium-size instances . . . . . . . . . . . . . . . .
Results on large-size instances . . . . . . . . . . . . . . . . . .
Evaluation of local search components. . . . . . . . . . . . . .
Comparison with the SZG algorithm with proportionate time
limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Results on small-size instances for the 1-PDVRP. . . . . . . .
Results on medium-size and large-size instances for the 1PDVRP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
69
70
71
72
73
Percentage gap between the solution of the closest with correlations and the best lower bound for all instances by changing
the parameter α. . . . . . . . . . . . . . . . . . . . . . . . . .
Percentage gap between the solution of the savings with correlations and the best lower bound for all instances by changing
the parameter α. . . . . . . . . . . . . . . . . . . . . . . . . .
Results obtained by running the DEP Formulation. . . . . . .
Results obtained by using the L-shaped method to solve the
L-Shaped Formulation. . . . . . . . . . . . . . . . . . . . . . .
ix
38
39
40
41
74
74
75
101
101
102
102
x
LIST OF TABLES
4.5
4.6
4.7
4.8
5.1
5.2
5.3
6.1
6.2
7.1
7.2
7.3
7.4
7.5
7.6
Results obtained by using the L-shaped multi-cut method to
solve the Multi-cut Formulation . . . . . . . . . . . . . . . . .
Results obtained by using the One-cut B&C algorithm with
the L-Shaped method derived cuts. . . . . . . . . . . . . . . .
Results obtained by using the Multi-cut B&C algorithm with
the L-Shaped multi-cut method derived cuts. . . . . . . . . .
Results for the SBRPF on the test instances obtained by running the corresponding DEP Formulation. . . . . . . . . . . .
103
103
103
104
Characteristics of the 10 instances and computational times
obtained by running the aggregate model on Xpress 7.4 by
using Dual, Primal, and Barrier algorithms. . . . . . . . . . . 128
Characteristics of the 10 instances and computational times
obtained by running the aggregate model on Xpress 7.4 by
using Dual, Primal, and Barrier algorithms. . . . . . . . . . . 131
Evaluation of the multi-commodity and path-based disaggregate models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Results obtained by solving the aggregate model with Dual,
Primal, and Barrier algorithm . . . . . . . . . . . . . . . . . . 148
Sensitivity analysis on the quality of materials. . . . . . . . . 148
Instances Description . . . . . . . . . . . . . . . . . . . .
Results of the Closest algorithm on test instances. . . .
Results of the Clustered algorithm on test instances. . .
Results of the Look Ahead algorithm on test instances. .
Average results of the shortest path based algorithm on
test instances. . . . . . . . . . . . . . . . . . . . . . . . .
Average results of the shortest path based algorithm on
test instances. . . . . . . . . . . . . . . . . . . . . . . . .
. . .
. . .
. . .
. . .
the
. . .
the
. . .
171
173
174
175
176
176
Preface
Logistics involves planning, managing, and organizing the flows of goods
from the point of origin to the point of destination in order to meet some
requirements. Logistics and transportation aspects are very important and
represent a relevant costs for producing and shipping companies, but also
for public administration and private citizens. The optimization of resources
and the improvement in the organization of operations is crucial for all
branches of logistics, from the operation management to the transportation.
As we will have the chance to see in this work, optimization techniques,
models, and algorithms represent important methods to solve the always
new and more complex problems arising in different segments of logistics.
Many operation management and transportation problems are related to
the optimization class of problems called Vehicle Routing Problems (VRPs).
In this work, we consider several real-world deterministic and stochastic
problems that are included in the wide class of the VRPs, and we solve
them by means of exact and heuristic methods. In Chapter 1 we briefly
describe the VRPs, their characteristics, the most used solving techniques,
and we highlight some subclasses of the VRPs related to our work. In the
following chapters we treat three classes of real-world routing and logistics
problems. In Part II we deal with one of the most important tactical problems that arises in the managing of the bike sharing systems, that is the
Bike sharing Rebalancing Problem (BRP). In Chapter 2 we formally define the BRP, for which we supply a set of formulations and inequalities
included in branch-and-cut algorithms. In Chapter 3 we tackle the BRP
with a destroy and repair algorithm including novel properties to reduce
the complexity of the components of the algorithm. In the same chapter,
we also solve the generalization of the BRP where maximum duration constraints for the routes are considered, the so-called one-commodity Pickup
and Delivery VRP (1-PDVRP), for which we propose new inequalities included in a branch-and-cut framework. We also show the adaptation of the
destroy and repair algorithm to solve the 1-PDVRP. In Chapter 4 we define the stochastic BRP (SBRP), the version of the BRP with stochastic
demands. We provide different models for the SBRP and solve them with
L-Shaped methods and branch-and-cut algorithms. Moreover, we present
heuristic algorithms for the SBRP that account for the negative and posxi
xii
LIST OF TABLES
itive correlations between the nodes in the solution construction. In Part
III we propose models and algorithms for real-world earthwork optimization
problems. In Chapter 5 we present a novel two-phase earthwork optimization model for highway construction, considering many real-world features
for the first time. In Chapter 6 we present a Decision Support System (DSS)
for highway construction developed for the Autostrada Pedemontana Lombarda highway project in collaboration with one of the major construction
companies in Europe. The DSS includes easy-to-use graphical and optimization components and it can be applied to several highway construction
projects. In Part IV we consider the optimization of the 3D Printing (3DP)
process. In Chapter 7 we describe the 3DP process and we highlight several
optimization issues in 3DP. Among those, we define the problem related
to the tool path definition in the 3DP process, the 3D Routing Problem
(3DRP), which is a generalization of the arc routing problem. We present
an ILP model and several heuristic algorithms to solve the 3DRP.
Part I
Introduction
1
Chapter 1
Introduction to Routing
Problems
We can say, without exaggeration, that one of the most studied class of
problems in optimization and logistics is the class of the Vehicle Routing
Problems (VRPs). In this work, many facets of the VRPs are considered:
we propose models and algorithms for real-world new routing and logistics
problems. We thus report in this chapter a brief description of the most
classic characteristics of the family of the VRPs, the most used solving
techniques, and some highlights on the problem related to those tackled in
the following of this PhD thesis.
1.1
The Vehicle Routing Problems
The vehicle routing problem has been introduced for the first time by Dantzig
and Ramsel [12] in 1959 for a real-world application for gasoline delivery to
gas stations and it was then called truck dispatching problem. By citing
Irnish, Toth, and Vigo [26], the family of VRPs can be summarized as
”determine a set of vehicle routes to perform all (or some) transportation
requests with the given vehicle fleet at minimum cost; in particular, decide
which vehicle handles which request in which sequence so that all vehicles
routes can be feasibly executed”.
The VRPs are normally defined on graphs that are made of nodes and
arcs (and/or edges) that model the road network. Thus, the family of VRPs
can be divided into problems where the requests are set on the nodes (the
node routing problems, that are the one normally referred as to VRPs) and
problems where the requests are set on the arcs (and/or edges), the so-called
Arc Routing Problems (ARPs) (see, e.g., Dror [18], Wøhlk [50], and Corberán
and Laporte [9]). In this thesis we tackle versions of both problems, in
particular we consider VRPs (node routing problems) in Chapters 2–6, and
a generalization of the ARPs in Chapter 7. Also for this reason we discuss
3
4
CHAPTER 1. INTRODUCTION TO ROUTING PROBLEMS
now the most common version of the VRPs and the most used techniques
to solve them.
The relevance of the VRPs and the wide space they have in the international academic and industrial community in all its facets and variants is
mostly due to its practical and economical importance. Indeed, the algorithmic results yielded in more than 50 years of academic and industrial research
on the VRPs allowed considerable cost and time savings, improvement in
planning and organizing activities, and, in practice, allowed to produce software tools, decision support systems, phone applications, etc. to respond to
real-world problems. In the following chapters we present many algorithms
and a decision support system made to respond to real-world problems of
public administrations, private citizens, and private companies.
To give an idea of the wideness of the family of VRPs, in the following
we catalog the characteristics of the most important versions of the VRPs
treated in the literature. We follow the classification delineated in Toth and
Vigo [48].
1.1.1
The Network Characteristics
When considering the characteristics of the network we can refer to problems where the tasks to be performed are identified on nodes (node routing
problems), on arcs (or edges) (ARPs), or on both as in the general routing
problem (see, e.g., Orloff [34]). In the case of node routing problem we have
traveling costs or times on the links (arcs or edges), that can be symmetric
(in case of edges) or asymmetric (in case of arcs). The traveling cost between
two nodes is considered, most of the times, as the shortest distance between
them, even if in real-world problems costs and times strongly depend on the
hour of the day in which an arc (edge) is traveled. These types of data, such
as traveling times, can become known during the traveling operations and
this is the case of the dynamic VRP. If those data can be described by a
random variable with a given distribution probability, then it is the case of
the stochastic VRP.
1.1.2
The Type of Transportation Requests
The type of requests can be very diverse, in the following are reported some
characteristics of the requests.
• Delivery and collection: different type of demands representing deliveries and collections can be given, we can divide them into: distribution
of goods from a depot to customers, which is the classic Capacitated
Vehicle Routing Problem (CVRP) (see, e.g., Toth and Vigo [48]); collection of goods from customers to the depots (see, e.g., Sankaran and
Ugabe[43], Gouden et al. [24]); and pickup and delivery, where both
distribution and collection are required (see, e.g., Berbeglia et al. [3]).
1.1. THE VEHICLE ROUTING PROBLEMS
5
• Visit and vehicle scheduling: in this case nor delivery or collection is
consider as the request, but simply the fact of visiting a customer or
a location is required (see, e.g., Desrosier et al. [15]).
• Point-to-point transportation: we are considering here pickup and delivery problems where the origin and destination of a customer are
paired (see, e.g., Parragh [35]).
• Repeated requests: sometimes it occurs that a certain set of requests
can be repeated in the time horizon, these are called repeated requests.
This is the case of the periodic VRP (see, e.g., Cordeau et al [10]) and
of the inventory routing problems (see, e.g., Bertazzi and Speranza
[4]).
• Split and non-split services: if splitting services is allowed, requests
can be satisfied with more than one visit of one or more vehicle. We
thus have the split delivery VRP (see, e.g. Dror and Trudeau [19]).
• Combined shipment and multi-modal service: this is the case where
the services can be performed by making use of consolidation centers,
hubs, and cross-docking (see, e.g., Perboli et al. [36]).
• Routing with profits and service selection: in this case a complete
service to all the request is not possible due to the constraints, thus
we must decide a set of request to satisfy such that the maximum
profit is gained (see, e.g. Fillet et al. [20]).
• Dynamic and stochastic routing: it is the case where uncertainty is a
relevant factor. In such a case the problem can be seen as dynamic,
if part of the data are revealed during the operations, or stochastic, if
the uncertain data are described with random variables and having a
probability distribution.
1.1.3
Intra-route Constraints
We refer here to constraints whose feasibility can be checked on single routes.
These occur in the following cases:
• Loading constraints: loading constraints can depend on the maximum
capacity of the vehicle (as in the CVRP), but they can depend also
on weight, space, and volume (see, e.g., Iori et al. [25]), the order
of loading (see, e.g., Cordeau et al. [11]), but also considering the
compatibility of different goods (see, e.g., Xu et al. [51]), and the use
of several compartments on a vehicle (see, e.g., Derigis et al. [13]).
• Route length: route length constraint considers not to exceed a maximum duration in time or distance for the routes (see, e.g., Christophides
et al. [7]).
6
CHAPTER 1. INTRODUCTION TO ROUTING PROBLEMS
• Multiple use of vehicles: contemplating that vehicles can perform more
than one route over the planning horizon (see, e.g., Taillard et al. [46]).
• Time windows and scheduling aspects: constraints related to schedules are very important in many VRP variants, accounting for travel,
service, and waiting times together with the time windows in which
services must be performed (see, e.g., Dasaulniers et al. [14]).
1.1.4
Fleet Characteristics
We can consider the use of vehicles with different characteristics such as
dimension, costs, speed, the possibility of loading just a set of goods, the
possibility of visiting just a set of customers, the possibility of using transshipment (see, e.g., Drexel [17]). The vehicles (homogeneous or not) can
start or end their journeys in different depots (see, e.g., Renard et al. [40]),
and the routes can also be opened (vehicles can start or end their journeys
in visiting nodes) (see, e.g., Li et al. [30]).
1.1.5
Inter-route Constraints
Inter-route constraints are constraints whose feasibility, and thus the feasibility of the solution, depend on how the routes are combined. In this
class we have balancing constraints between the maximum and the minimum route duration (see, e.g., Bodin et al. [6]). Another constraint can
be related to the synchronization issues among the routes (see, e.g., Drexel
[16]).
1.1.6
The Objective Function
The classic objective function for the VRPs is to minimize the traveling
costs expressed in distances or times of the routes, but other single or multiobjectives can be evaluated. For example the customer satisfaction, the minmax objective (minimizing the objective of the longest route), minimizing
the number of vehicles used, and using non-linear cost functions.
1.2
Solution Methods for the VRPs
Since the very first introduction in 1959, many solution methods have been
used and developed to solve and tackle the VRPs. These solving methodologies can be divided into two classes of optimization algorithms: the exact
algorithms, that are proven to converge to the optimal solution, if it exist,
and the heuristic algorithms, that can obtain very good solutions in short
computational times. In the following we report some classic methodologies
and algorithms used to solve VRPs, in accordance with the Toth and Vigo
[48], in particular see, e.g, [44], [37], and [29]. The classification is far from
1.2. SOLUTION METHODS FOR THE VRPS
7
being exhaustive, for the interested reader we refer to Toth and Vigo [47]
and [48].
1.2.1
Exact Algorithms
To give an idea of the exact algorithms for the VRPs, we report here some
of the classic exact algorithms to solve the Capacitated VRP (CVRP).
• Branch-and-bound. Branch-and-Bound (B&B) algorithms are enumerating algorithms that decompose the problem in subproblems easier to solve creating a branching tree. The branching is performed
on the variables and informations on bounds are used in order not to
explore the entire branching tree to obtain the optimal solution. The
B&B algorithms for the CVRP are based on the relaxation of some
set of constraints of the classic 2-index formulation for the CVRP (see,
e.g. Toth and Vigo [48]). These relaxations result in a Assignment
Problems or Shortest Spanning Tree problems on whose solutions is
performed the tree search. In addition, different branching techniques
and reduction strategies are applied, and the introduction of cutting
planes can be attempted.
• Column Generation. The Column Generation (CG) methods are based
on the classic set partitioning and set covering formulations (see, e.g.,
Balinski and Quandt [1]). THe CG method starts from a small subset
of routes, each one represented by a variables, and solves the linear
relaxation of the corresponding reduced model deriving the optimal
dual variables associated with the constraints. Thanks to the dual
information, the CG problem (called pricing) tries to find the route,
not in the subset, that has the most negative reduced cost or proved
that no such a route exists. In this latter case the solution of the
linear relaxation on the subset of routes is the solution of the complete
model and the algorithm terminates. Otherwise the route with smaller
reduced cost that the pricing algorithm found is added to the subset
of routes and a new iteration is performed. Recently, the CG methods
have been extended to branch-and-cut-and-price algorithms, which are
hybrid methods between the CG and the branch-and-cut algorithms,
that are presented in the following.
• Branch-and-cut. The Branch-and-Cut (B&C) algorithms involve running a B&B algorithm and using cutting planes to tighten a relaxation
of the problem considered. Given the solution of the relaxation, if this
is feasible for the relaxed constraints then the solution found is optimal, otherwise we have to separate the obtained solution from the
optimal one by identifying violated inequalities. To do so, exact and
heuristic separation algorithms can be used. We then include the generated constraint to the relaxed model and reiterate (see, e.g., Laporte
8
CHAPTER 1. INTRODUCTION TO ROUTING PROBLEMS
et al. [28]). The branching strategies are normally applied on variables
with fractional values.
1.2.2
Heuristic Algorithms
As reported by Toth and Vigo [48], very sophisticated exact algorithms
have been developed, but only instances with around 100 customers can be
solved to optimality and in high computing times. On the other hand, reallife problems and instances need good solutions in short times: this is the
reason why, since the first appearance of the VRPs, heuristic algorithms have
been designed and used to solve them. Without intending to furnish with
an exhaustive classification of the heuristic algorithms, in the following we
give and overview on the constructive heuristics, the two-phase heuristics,
the improvement heuristics, and the metaheuritics.
• Constructive Heuristics. Constructive heuristics are algorithms that
build step by step a solution, and are normally used to provide a
starting solution for the improvement heuristics. The constructive
heuristics can be divided into sequential constructive heuristics and
parallel constructive heuristics. In the first case the solution is built
one route at the time, while in the second case more routes are build
in parallel. The most known constructive heuristic for the VRP is the
savings algorithm (see, e.g., Clarke and Wright [8]), that builds routes
made of single vertices and then tries to merge them by using a savings
criterion. This algorithms can be used in both parallel and sequential
way.
• Two-phase Heuristics. The two-phase heuristics can be divided into
route-first cluster-second algorithms and cluster-first route-second algorithms (see, e.g., Gillet and Miller [22]). In the first type one route
is built and then separated into several routes in order to obtain a
feasible solution, in the second case the nodes are grouped in clusters
and then the routes are formed with respect to the clusters.
• Improvement Algorithms. Improvement algorithms are algorithms
that perform inter-route and intra-route moves on a solution to obtain better quality solutions. Some examples can be the swap between
two nodes on a solution, the k-opt exchange (see, e.g., Lin [31]), etc.
These moves can also be seen as destroy and repair operators that
destroy and repair the solution. In the adaptive large neighborhood
search (see, e.g., Ropke and Pisinger [42]) destroy and repair moves
are selected randomly in a roulette wheel mechanism obtaining very
good results.
• Metaheuristic Algorithms. The metaheuristics for the VRPs can be
classified into local search methods and population based heuristics.
1.3. PICKUP AND DELIVERY PROBLEMS
9
– Local Search Methods. Local search methods explore the solution
space by moving, at each iteration, from one solution to another
in its neighborhood trying to escape from local optima. Just to
name some metaheuritic algorithms based on local searches we
have: simmulated annealing (see, e.g., Kirckpatrick et al. [27]),
tabu search (see, e.g., Glover [23]), iterated local search (see,
e.g., Lourenço et al. [32]), variable neighborhood search (see,
e.g., Mladenović and Hansen [33]).
– Population Based Heuristics. Population based heuristics starts
from a population of solutions that evolves during the iterations
of the algorithm, for example by combining the population solutions to obtain better ones. These algorithms normally take
the inspiration from natural concepts. Just to name some population based algorithms, we have: ant colony optimization (see,
e.g., Reiman et al. [39]), genetic algorithms (see, e.g., Prins [38]),
scatter search, and path relinking (see, e.g., Glover [23] and Resende et al. [41]).
1.2.3
Hybridization and Unified Methods
In the last years, two research directions have emerged: a large use of hybrid
methods and the research for unified algorithms. In the first case a hybridization of different techniques and paradigms such as local search, population
based search, and exact algorithms has occurred (see, e.g., Subramanian et
al. [45]). In the second case, the creation of unified methods attempts at
assessing many different VRPs, moving from problem-specific methods to
more flexible approaches that could solve a wide range of problems (see,
e.g., Vidal et al. [49]).
1.3
Pickup and Delivery Problems
In this thesis we widely treat Pickup and Delivery Problems (PDPs), in
particular we consider PDPs for good transportation. For this reason we
give a short recall to the PDPs and e brief classification following the one
delineated by Battarra et al. [2]. PDPs is a class of VRPs where commodities
have to be transported from different origins to different destinations. We
can have:
1.3.1
Many-to-Many
Many-to-Many (M-M) problems represent the class in which each commodity have multiple origins and destinations and in which any location can be
the origin and destination of multiple commodities. The problem of redis-
10
CHAPTER 1. INTRODUCTION TO ROUTING PROBLEMS
tributing bikes in a bike sharing system, that we also tackle in the following,
lays in this class.
1.3.2
One-to-Many-to-One
One-to-Many-to-one (1-M-1) problems represent the class in which some
commodities must be delivered from a depot to the customers and some
others must be collected from customers and carried back to the depot.
1.3.3
One-to-One
The one-to-one (1-1) class of problems is the one where each commodity and
request is given with an origin-destination pair.
1.4
Stochastic Vehicle Routing Problems
A particular class of problems, part of the wider class of VRPs, has received
the interest of many researcher recently: the class of Stochastic Vehicle
Routing Problems (SVRPs). In the SVRPs not all informations are deterministic, and hence some level of uncertainty has to be accounted for. The
uncertainty can derive from diverse events end on one or more set of data:
we can thus have stochastic demands, stochastic customers, and stochastic
traveling times/costs (see, e.g., Gendreau et al. [21]).
One of the most common way of modeling and solving stochastic problems is Stochastic Programming (SP). In SP the stochastic parameters are
formulated as random variables given with a probability distribution. The
SP models are obtained by determining the informational process. Based on
this process the SP models are defined in two or more stages depending to
when random variables become known. This problems are normally modeled
in two-stage formulation with recourse, represented by a first stage decisions
to be made a priori, and the recourse decisions to be made after the realization of the stochastic variables, i.e. when the information is available. The
recourse decisions are related to the outcome of the stochastic parameters
and can lead to an increase of the costs depending on the recourse function,
that gives the average recourse cost after a first stage decision, or impose the
first stage decisions to be changed. Both linear and integer SP models are
normally solved by using the L-Shaped method and the Integer L-Shaped
method (see, e.g., Birge and Louveaux [5]).
Another method to model the stochastic problems is to include probabilistic constraints, which means that some constraints can be satisfied
within a certain probability. We refer the reader to Birge and Louveaux [5]
for more details.
Bibliography
[1] M. L. Balinski and R. E. Quandt. On an integer program for a delivery
problem. Operations Research, 12:300–304, 1964.
[2] M. Battarra, J.-F. Cordeau, and M. Iori. Vehicle Routing: Problems,
Methods, and Applications, Chapter 6: Pickup-and-Delivery Problems
for Goods Transportation. In [48], 2014.
[3] G. Berbeglia, J.-F. Cordeau, I. Gribkovskaia, and G. Laporte. Static
pickup and delivery problems: a classification scheme and survey. Top,
15:1–31, 2007.
[4] L. Bertazzi and M. G. Speranza. Inventory routing problems: an introduction. EURO Journal on Transportation and Logistics, 1:307–326,
2012.
[5] J. R. Birge and F. Louveaux. Introduction to stochastic programming.
Springer Science & Business Media, 2011.
[6] L. Bodin, V. Maniezzo, and A. Mingozzi. Street routing and scheduling problems. In Handbook of Transportation Science, pages 395–432.
Springer, 1999.
[7] N. Christofides, A. Mingozzi, P. Toth, and C. Sandi. The travelling
salesman problem, combinatorial optimisation, 1979.
[8] G. Clarke and J. W. Wright. Scheduling of vehicles from a central depot
to a number of delivery points. Operations research, 12:568–581, 1964.
[9] Á. Corberán and G. Laporte. (eds.) Arc Routing: Problems, Methods,
and Applications. SIAM, 2014.
[10] J.-F. Cordeau, M. Gendreau, and G. Laporte. A tabu search heuristic
for periodic and multi-depot vehicle routing problems. Networks, 105–
119, 1997.
[11] J.-F. Cordeau, M. Iori, G. Laporte, and J.-J. Salazar González. A
branch-and-cut algorithm for the pickup and delivery traveling salesman problem with lifo loading. Networks, 55:46–59, 2010.
11
12
BIBLIOGRAPHY
[12] G. B. Dantzig and J. H. Ramser. The truck dispatching problem. Management science, 6:80–91, 1959.
[13] U. Derigs, J. Gottlieb, J. Kalkoff, M. Piesche, F. Rothlauf, and U. Vogel. Vehicle routing with compartments: applications, modelling and
heuristics. OR spectrum, 33:885–914, 2011.
[14] G. Desaulniers, O. B- G. Madsen, and S. Ropke. Vehicle Routing:
Problems, Methods, and Applications, Chapter 5: The Vehicle Routing
Problem with Time Windows. In [48], 2014.
[15] J. Desrosiers, Y. Dumas, M. M. Solomon, and F. Soumis. Time constrained routing and scheduling. Handbooks in operations research and
management science, 8:35–139, 1995.
[16] M. Drexl. Synchronization in vehicle routing-a survey of vrps with
multiple synchronization constraints. Transportation Science, 46:297–
316, 2012.
[17] M. Drexl. Applications of the vehicle routing problem with trailers and
transshipments. European Journal of Operational Research, 227:275–
283, 2013.
[18] M. Dror. Arc routing: theory, solutions, and applications. Springer
Science & Business Media, 2000.
[19] M. Dror and P. Trudeau. Savings by split delivery routing. Transportation Science, 141–145, 1989.
[20] D. Feillet, P. Dejax, and M. Gendreau. Traveling salesman problems
with profits. Transportation science, 39:188–205, 2005.
[21] M. Gendreau, O. Jabali, and W. Rei. Vehicle Routing: Problems, Methods, and Applications, Chapter 8: Stochastic Vehicle Routing Problems.
In [48], 2014.
[22] B. E. Gillett and L. R. Miller. A heuristic algorithm for the vehicledispatch problem. Operations research, 22:340–349, 1974.
[23] F. Glover. Heuristics for integer programming using surrogate constraints. Decision Sciences, 8:156–166, 1977.
[24] B. L Golden, A. A. Assad, and E. A. Wasil. Routing vehicles in the
real world: applications in the solid waste, beverage, food, dairy, and
newspaper industries. In The vehicle routing problem, 245–286. SIAM,
2001.
BIBLIOGRAPHY
13
[25] M. Iori, J.-J. Salazar-González, and D. Vigo. An exact approach for
the vehicle routing problem with two-dimensional loading constraints.
Transportation Science, 41:253–264, 2007.
[26] S. Irnich, P. Toth, and D. Vigo. Vehicle Routing: Problems, Methods,
and Applications, Chapter 1: The Family of Vehicle Routing Problems.
In [48], 2014.
[27] S. Kirkpatrick, C.D. Gelatt Jr, M.P. Vecchi, and A. McCoy. Optimization by simulated annealing. Science, 220:671–679, 1983.
[28] G. Laporte, Y. Nobert, and M. Desrochers. Optimal routing under
capacity and distance restrictions. Operations research, 33:1050–1073,
1985.
[29] G. Laporte, S. Ropke, and T. Vidal. Vehicle Routing: Problems, Methods, and Applications, Chapter 3: Heuristics for the Vehicle Routing
Problems. In [48], 2014.
[30] F. Li, B. Golden, and E. Wasil. The open vehicle routing problem: Algorithms, large-scale test problems, and computational results. Computers & Operations Research, 34:2918–2930, 2007.
[31] S. Lin. Computer solutions of the traveling salesman problem. Bell
System Technical Journal, The, 44:2245–2269, 1965.
[32] H. R. Lourenço, O. C. Martin, and T. Stützle. Iterated local search.
Springer, 2003.
[33] N. Mladenović and P. Hansen. Variable neighborhood search. Computers & Operations Research, 24:1097–1100, 1997.
[34] C. S. Orloff. Routing a fleet of m vehicles to/from a central facility.
Networks, 4:147–162, 1974.
[35] S. N. Parragh, K. F. Doerner, and R. F. Hartl. A survey on pickup and
delivery problems. Journal für Betriebswirtschaft, 58:21–51, 2008.
[36] G. Perboli, R. Tadei, and D. Vigo. The two-echelon capacitated vehicle
routing problem: Models and math-based heuristics. Transportation
Science, 45:364–380, 2011.
[37] M. Poggi and E. Uchoa. Vehicle Routing: Problems, Methods, and
Applications, Chapter 3: New Exact Algorithms for the Capacitated
Vehicle Routing Problems. In [48], 2014.
[38] C. Prins. A simple and effective evolutionary algorithm for the vehicle
routing problem. Computers & Operations Research, 31:1985–2002,
2004.
14
BIBLIOGRAPHY
[39] M. Reimann, K. Doerner, and R. F. Hartl. D-ants: Savings based
ants divide and conquer the vehicle routing problem. Computers &
Operations Research, 31:563–591, 2004.
[40] J. Renaud, G. Laporte, and F. F. Boctor. A tabu search heuristic
for the multi-depot vehicle routing problem. Computers & Operations
Research, 23:229–235, 1996.
[41] M. G. C. Resende, C. C. Ribeiro, F. Glover, and R. Martı́. Scatter
search and path-relinking: Fundamentals, advances, and applications.
In Handbook of metaheuristics, 87–107. Springer, 2010.
[42] S. Ropke and D. Pisinger. An adaptive large neighborhood search
heuristic for the pickup and delivery problem with time windows. Transportation science, 40:455–472, 2006.
[43] J. K. Sankaran and R. R. Ubgade. Routing tankers for dairy milk
pickup. Interfaces, 24:59–66, 1994.
[44] F. Semet, P. Toth, and D. Vigo. Vehicle Routing: Problems, Methods, and Applications, Chapter 2: Classical Exact Algorithms for the
Capacitated Vehicle Routing Problems. In [48], 2014.
[45] A. Subramanian, E. Uchoa, and L. S. Ochi. A hybrid algorithm for a
class of vehicle routing problems. Computers & Operations Research,
40:2519–2531, 2013.
[46] E. D. Taillard, G. Laporte, and M. Gendreau. Vehicle routeing with
multiple use of vehicles. Journal of the Operational research society,
1065–1070, 1996.
[47] P. Toth and D. Vigo. (eds.) The vehicle routing problem. SIAM, 2001.
[48] P. Toth and D. Vigo. (eds.) Vehicle Routing: Problems, Methods, and
Applications. SIAM, 2014.
[49] T. Vidal, T. G. Crainic, M. Gendreau, and C. Prins. A unified solution framework for multi-attribute vehicle routing problems. European
Journal of Operational Research, 234:658–673, 2014.
[50] S. Wøhlk. A decade of capacitated arc routing. In The vehicle routing
problem: latest advances and new challenges, 29–48. Springer, 2008.
[51] H. Xu, Z.-L. Chen, S. Rajagopal, and S. Arunapuram. Solving a practical pickup and delivery problem. Transportation science, 37:347–364,
2003.
Part II
Models and Algorithms for
the Bike sharing Rebalancing
Problems
15
Chapter 2
The Bike Sharing
Rebalancing Problem:
Mathematical Formulations
and Benchmark Instances
1
Bike sharing systems offer a mobility service whereby public bicycles, located at different stations across an urban area, are available for shared use.
These systems contribute towards obtaining a more sustainable mobility and
decreasing traffic and pollution caused by car transportation. Since the first
bike sharing system was installed in Amsterdam in 1965, the number of such
applications has increased remarkably so that hundreds of systems are now
operating all over the world.
In a bike sharing system, users can take a bicycle from a station, use it
to perform a journey and then leave it at a station, not necessarily the same
one of departure. This behaviour typically leads to a situation in which
some stations become full and others are empty. Hence, a balanced system
requires the redistribution of bicycles among stations.
In this chapter, we address the Bike sharing Rebalancing Problem (BRP),
in which a fleet of capacitated vehicles is employed in order to re-distribute
the bikes with the objective of minimizing total cost. This can be viewed
as a special one-commodity pickup-and-delivery capacitated vehicle routing
problem. We present four mixed integer linear programming formulations
of this problem. It is worth noting that the proposed formulations include
an exponential number of constraints, hence, tailor-made branch-and-cut
algorithms are developed in order to solve them.
1
The results of this chapter appear in: M. Dell’Amico, E. Hadjicostantinou, M. Iori,
and S. Novellani. The bike sharing rebalancing problem: Mathematical formulations and
benchmark instances. Omega, 45:7–19, 2014.
17
18
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
The mathematical formulations of the BRP were first computationally
tested using data obtained for the city of Reggio Emilia, Italy. Our computational study was then extended to include bike sharing systems from other
parts of the world. The information derived from the study was used to build
a set of benchmark instances for the BRP which we made publicly available
on the web. Extensive experimentation of the branch-and-cut algorithms
presented in this chapter was carried out and an interesting computational
comparison of the proposed mathematical formulations is reported. Finally,
several insights on the computational difficulty of the problem are highlighted.
Keywords: Integer programming, Routing, Traveling salesman, Vehicle
scheduling.
2.1
Introduction
Bike sharing systems offer a mobility service in which public bicycles are
available for shared use. These bicycles are located at stations that are
displayed across an urban area. The users of the system can take a bicycle
from a station, use it for a journey, leave it into a station (not necessarily
the one of departure), and then pay according to the time of usage.
These systems are an important instrument used by public administrations to obtain a more sustainable mobility, decrease traffic and pollution
caused by car transportation, and solve the so-called last mile problem related to proximity travels. From the first bike sharing system installed in
Amsterdam in 1965, their number increased in the following years to reach,
in 2014, more than 700 systems only in Europe, see, e.g., DeMaio [10] and
project OBIS [23]. In North America the implementation of bike sharing
systems started only in 2008, see Pucher et al. [26], but as far as we know
it already counts more than 20 operating systems. In the rest of the world
the number of systems is rising at a very high rate, as discussed, e.g., by
Shaheen et al. [28].
Stations are made of different slots, each of which hosts a single bicycle.
In modern systems, stations are connected to the Internet and display in
real time the occupation status of each slot. In this way users can easily
check where it is possible to pick up or drop a bicycle. The usage of the
system is monitored continuously, and the collected information is used to
improve the level of service.
Operating bike sharing systems has a cost that may vary greatly (depending on the system itself, the population density, the service area and
the fleet size), with a consistent impact on the budget of the public administration. The setup costs for installing the system include, among others,
the cost of purchasing the bikes, the slots, and the stations, and the cost of
2.1. INTRODUCTION
19
the back-end system used to operate the equipment, see, e.g., DeMaio [10].
The daily operating costs include maintenance, insurance, possibly website
hosting and electricity, and, most important, the cost due to the redistribution of bikes among the stations. Indeed, at the end of a day some stations
are typically full and others are empty.
A commonly adopted rule for rebalancing is to keep each station only
partly occupied, i.e., there should always be in a station some slots occupied
by bicycles, to allow users to pick them up, and some free slots, to allow
users to drop a bicycle at the end of their journey. Let us suppose that a
desired level of occupation is present in the early morning in a given bike
station, then the number of bikes may change drastically during the day
from the desired level because of the users’ travel behavior. This happens
typically in cities characterized by a hilly territory, see, e.g., Kaltenbrunner
et al. [18], where users take a bike from a station located at the top of a
hill, leave it at the bottom and then take the journey back with different
means of transportation. It is also common for cities located in flat areas,
where some stations have large inflows or outflows at different times of the
day. In the next section we report the results of the analysis of the system
at the city of Reggio Emilia (Italy) used over a period of seven months.
Repositioning is usually done by means of capacitated vehicles based
at a central depot, that pick up bicycles from stations where the level of
occupation is too high and deliver them to stations where the level is too
low. Usually a buffer of bicycles is kept at the depot, and used to allow a
more flexible redistribution. The resulting optimization problem of deciding
how to route the vehicles so as to perform the redistribution at minimum cost
is known in the literature as the Bike sharing Rebalancing Problem (BRP),
and has recently attracted the interest of many researchers and practitioners
in the area. It can be modeled either as a dynamic or a static optimization
problem. In the static version, a snapshot of the level of occupation at the
stations is taken and then used to plan the redistribution. In the dynamic
version, the real-time usage of the system is taken into account, and the
redistribution plan is possibly updated as soon as the information required
to make decisions is revealed over time.
Usually, static rebalancing is associated with a redistribution process
that is performed during the night, when the system is kept closed or the
demand is very low, whereas dynamic rebalancing is associated to redistributions operated during the day, when demand may be high. In the real-world
case that we studied in detail the redistribution is performed during the
night, and hence we focus on the static version of the problem.
In this chapter we provide several contributions. In Section 2.2 we briefly
present the real-world case study that we conducted at the city of Reggio
Emilia, by analyzing the travel flows, the users behavior and the resulting
levels of occupation at the stations. In Section 4.3 we formally describe
the BRP and discuss the related literature. In Section 4.4 we propose four
20
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
Figure 2.1: The bike sharing system of Reggio Emilia. The depot is depicted
by 0. Stars, circles and triangles represent stations of the first, second and
third group, respectively.
Mixed Integer Linear Programming (MILP) formulations to model the problem. All these formulations involve an exponential number of constraints, so
Section 3.5.2 presents the branch-and-cut algorithms that we implemented
to solve them. We present a large set of benchmark instances in Section
2.6, obtained by analyzing the usage of several bike systems around the
world; we make these instances publicly available on the Internet. Extensive computational results of the branch-and-cut algorithms are reported in
Section 2.7. Finally, conclusions are given in Section 2.8 and future research
directions are discussed.
2.2
Data analysis of a real-world case
The first real-world case that we studied is the bike sharing system of Reggio
Emilia, a city of around 170 thousand inhabitants located in a very flat area
in northern Italy. The system, which is depicted in Figure 2.1, is quite small
and now counts one depot (indicated by 0 in the figure), 13 stations and
about 100 bicycles. It operates all day but is kept closed during the night,
which is quite common for bike sharing systems in small/medium cities. The
redistribution of the bicycles is carried out during the night, by means of a
single vehicle that visits each station exactly once.
The data associated with a seven-month usage of the system was provided to us by the municipality of the city. It contains the list of journeys
performed by the users in the considered period, including time and station
of departure and arrival of each journey. For each station we evaluated the
net flow of bicycles on a daily basis, computed as the difference between
21
2.2. DATA ANALYSIS OF A REAL-WORLD CASE
the inflow and the outflow. This gives the difference between the bicycles
available at the beginning of the day and those left at the end of the day
in each station. We then plotted the distribution of the net flow over the
period, see the distribution graphs in Figure 2.2. The x-axis gives the difference ∆ between arrivals and departures in a station per day, and the y-axis
gives the percentage of times Φ (frequence of occurrence) this number appears throughout the period that we studied. We mostly found normal-like
distributions, as the one depicted in Figure 2.2-(a) for station 4, but also a
bimodal one for station 5, see Figure 2.2-(b). In both cases, for the majority of the days over the observation the stations ended up with a number
of bikes different from that available at the beginning of the day, and this
supports the choice of performing rebalancing operations.
Furthermore, by analyzing the net flow per hour of all the stations we
have been able to determine the diverse variability in usage by the customers.
We could consequently divide the stations into three groups, as shown in
Φ
60
50
40
30
20
10
0
-2
-1
0
1
Δ
2
(a)
Φ
35
30
25
20
15
10
5
0
-4
-3
-2
-1
0
1
2
3
Δ
(b)
Figure 2.2: Net flow of bicycles per day, following (a) a normal-like distribution in station 4 and (b) a bimodal distribution in station 5 (∆ = difference
between arrivals and departures, Φ = frequence of occurrence).
22
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
Figure 2.3. In this figure, the x-axis represents the hour τ of the day, and
the y-axis states the cumulative number ν of bikes arriving into or departing
from the station within a seven-months period. More specifically:
1. The first group, see Figure 2.3-(a), has a peak of incoming bikes between 7 and 9 am, and a smaller one between 1 and 3 pm. The peaks
of outgoing bikes occur between 12 am and 2 pm and between 4 and
6 pm. These stations are all situated in the city center, with the exception of one that is located near the hospital (stations 1, 2, 3, 4, 5
and 13). This usage fits well with the behavior of users that work in
the city center but live outside;
2. The second group is complementary to the first one, see Figure 2.3-(b).
These stations (6, 7, 8, 9 and 12) are in the so-called park-and-ride
areas, where users can leave their cars and continue their ride on a
public bike;
3. The third group, see Figure 2.3-(c), contains stations where arrivals
and departures follow a similar pattern during the day. These stations
(10 and 11) are located close to places, such as the train station, that
are used all day long.
More enhanced studies on bike traveling habits are out of the scope of
this chapter, so the interested reader is referred to the relevant literature.
Vogel and Mattfeld [33] present a business model for bike sharing systems.
They model the repositioning activities with the help of a system dynamics
approach, that they solve with a simulation tool. They conclude that “more
effort spent on repositioning leads to a better corporate performance in
terms of satisfied customers”. Kaltenbrunner et al. [18] provide an analysis
of human mobility data in the urban area of Barcelona (Spain) using the
amount of available bikes in the stations of the local bike sharing program.
By using data sampled from the operator’s website, they detect temporal
and geographic mobility patterns within the city. Lin and Yang [19] address
the strategic planning of public bicycle sharing systems. These authors
propose a model that attempts to determine the number and locations of
bike stations, the users’ travel paths, and the network structure of bike trips
connecting the stations.
The determination of the most suitable bike trips has been studied by
Souffriau et al. [29], for a problem arising in East Flanders (Belgium),
and motivated by the problem that a cyclist deals with when looking for
a nice route of a certain length. They propose a mathematical model and
a metaheuristic. The metaheuristic obtained good computational results
and was then embedded into a web-based cycle route planner. We also
mention that a similar problem was faced in a different context by Boctor
et al. [7], who studied the assignment of trips to vehicles in petrol stations
replenishment problems.
2.3. PROBLEM DESCRIPTION AND PREVIOUS WORK
2.3
23
Problem description and previous work
We are given a complete digraph G = (V, A), where the set of vertices
V = {0, 1, . . . , n} is partitioned into the depot, vertex 0, and the stations,
vertices {1, 2, . . . , n}. Each station i has a request qi , which can be either
positive or negative. If qi ≥ 0 then i is a pickup vertex, where qi bikes should
be removed; if qi < 0 then i is a delivery vertex, where qi bikes should be
supplied, for i ∈ V \ {0}. The bikes removed from pickup vertices can either
go to a delivery vertex or back to the depot. Bikes supplied to delivery
vertices can either come from the depot of from pickup vertices. A fleet of
m identical vehicles of capacity Q is available at the depot to transport the
bikes. A traveling cost cij is associated with each arc (i, j) ∈ A.
The BRP involves determining how to drive at most m vehicles through
the graph, with the aim of minimizing the total cost and ensuring that the
following constraints are not violated: (i) each vehicle performs a route that
starts and ends at the depot, (ii) each vehicle starts from the depot empty
or with some initial load (i.e., with a number of bikes that vary from 0 to
Q), (iii) each station is visited exactly once and its request is completely
fulfilled by the vehicle visiting it, and (iv) the sum of requests of the visited
stations plus the initial load is never negative or greater than Q in the route
performed by a vehicle.
In our study, each request qi is computed as the difference between the
number of bikes present at station i when performing the redistribution,
and the number of bikes in the station in the final required configuration.
Note that we impose that a station with request qi = 0 must be visited,
even if this implies that no bike has to be dropped off or picked up there.
This case arises, for example, when the driver of the vehicle is supposed to
check that the station is correctly working. The case in which stations with
null requests have to be skipped can be simply obtained by removing in a
preprocessing phase those stations from the set of vertices.
The fact that each vehicle is allowed to start its route with some bikes
enlarges the space of feasible BRP solutions, and allows to obtain a more
flexible redistribution plan. Note also that we do not impose the sum of
redistributed bikes to be null, and hence there can be a positive or a negative
flow of bikes on the depot. This consideration is useful to model cases in
which some bikes enter or leave the depot for maintenance.
The traveling cost cij is computed in our case as the shortest length of a
path in the road network connecting i and j, for i, j ∈ V . It is important to
work on a directed graph, because all bike sharing systems we are aware of
are located in urban areas, and thus one-way streets typically have a strong
impact on the choice of the routes performed by the vehicles during the
redistribution.
The notation defined for the BRP is summarized in Table 2.1.
The BRP belongs to the wide class of Pickup and Delivery Vehicle Rout-
24
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
V
A
n
m
Q
qi
cij
set of vertices
set of arcs
number of stations
number of vehicles
vehicle capacity
demand at vertex i
cost of the arc (i, j)
Table 2.1: BRP notation summary.
ing Problems (PDVRPs), where a fleet of vehicles is used to transport requests from the depot and/or some vertices to the depot and/or other vertices in the network. In particular, some pickup customers require a certain
amount of freight to be picked up by a vehicle and then transported elsewhere, whereas some delivery customers require a certain amount of freight
to be delivered there. The BRP generalizes the well-known Capacitated Vehicle Routing Problem (CVRP), where customers are either all pickup vertices or all delivery vertices, but not both, and thus it is a strongly NP-hard
problem.
Detailed reviews and classifications of the PDVRPs have been proposed
by Berbeglia et al. [6] and Parragh et al. [24, 25]. More recent surveys have
been presented by Battarra et al. [3], for what concerns the transportation
of freight, and Doerner and Salazar-González [11], for the transportation
of people. Following the notation introduced in Berbeglia et al. [6], the
BRP can be classified as a Many-to-Many (M-M) vehicle routing problem,
in which a request has multiple origins (in our case pickup stations) and
multiple destinations (in our case delivery stations).
The most basic problem in the class of M-M PDVRPs is probably the
One-commodity Pickup and Delivery Traveling Salesman Problem (1-PDTSP),
which calls for routing a single capacitated vehicle to meet M-M requests.
The 1-PDTSP was formally introduced by Hernández-Pérez and SalazarGonzález [15], who presented mathematical formulations and branch-andcut algorithms. The mathematical formulations were given for both the
symmetric and asymmetric version of the problem, and were based on the
use of a binary variable xij taking value one if the edge or arc (i, j) was
used, 0 otherwise, and a non-negative variable fij giving the flow of the single commodity on edge or arc (i, j). Computational results were provided
only for the symmetric formulation, that was solved by means of a branchand-cut algorithm. The results of this approach were later improved by
Hernández-Pérez and Salazar-González [17], with an enhanced branch-andcut algorithm working again on the symmetric formulation but exploiting
only the binary variable xij . To address larger instances, Hernández-Pérez
and Salazar-González [16] proposed two simple heuristics, whereas a wellperforming variable neighborhood descent metaheuristic was introduced by
Hernández-Pérez et al. [14]. All these works considered the case in which
2.3. PROBLEM DESCRIPTION AND PREVIOUS WORK
25
vehicles can leave the depot with some load, but the sum of all requests is
equal to zero.
The 1-PDTSP has also attracted the interests of other researchers. Wang
et al. [34] studied some variants of the 1-PDTSP that involve unit-load requests. They developed polynomial-time exact algorithms for the case of
distribution on a path, and for the cases of distribution on a tree having
Q = 1 or Q = +∞. Martinovic et al. [20] presented a simulated annealing approach, whereas Zhao et al. [35] developed a genetic algorithm. The
results of these two metaheuristics were later improved by Hosny and Mumford [13] by means of a Variable Neighborhood Search (VNS), but at the
expense of very high computing times. A more recent VNS has been proposed by Mladenović et al. [22], that used a binary tree to efficiently perform
feasibility checks and obtained very good computational results.
The multiple-vehicle case, known as the One-commodity Pickup and Delivery Vehicle Routing Problem (1-PDVRP), was formally introduced by Shi
et al. [30], who studied the case in which a maximum duration limit is imposed on each route. They presented a genetic algorithm and a three-index
mathematical formulation making use of a binary variable xijk , taking value
1 if vehicle k travels along edge or arc (i, j), 0 otherwise, and a non-negative
variable fij representing the flow of the single commodity on edge or arc
(i, j). Computational experiments were performed only for the genetic algorithm, that was tested on a set of randomly generated instances with
symmetric costs.
The BRP is a generalization of the 1-PDTSP which involves more than
one vehicle. Indeed, in the next sections we use successful properties and
algorithmic ideas adapted for the BRP from [15] and [17]. Moreover, the
BRP can be seen as a special case of the 1-PDVRP, because it does not
consider maximum route duration.
As previously mentioned, the issue of rebalancing a bike sharing system
has attracted the interest of many researchers in recent years. Benchimol et
al. [5] study the case in which the redistribution is performed by a single
capacitated vehicle, split deliveries are allowed (i.e., a vertex may be visited
more than once) and the sum of all requests is balanced to zero. They
present complexity results, lower bounding techniques, and approximation
algorithms, but do not provide computational results.
In a recent paper, Chemla et al. [8] focus again on the single vehicle
case, allowing split deliveries. Vertices with null demand are not forced to be
visited, but can be used by vehicles as temporary buffer when transporting
bikes among other stations. In their paper, the authors obtain a lower bound
by solving the relaxation of the problem in which a limit is imposed on the
maximum number of times that a vertex can be visited. They also obtain
an upper bound by using a tabu search algorithm and run their bounding
procedures on instances obtained by modifying those randomly created in
[15].
26
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
In another recent paper, Raviv et al. [27] define the static bicycle repositioning problem in which they do not only minimize total traveling costs of
a fleet of heterogeneous vehicles, but also users’ dissatisfaction that is linked
with a convex function to the inventory level of each station. The authors
present two MILP formulations, an arc-indexed and a time-indexed one,
each of them represents a different version of the problem. They allow limited or unlimited split delivery, limited or unlimited transshipment, dwelling
with a maximum duration of each route and with synchronized transshipment. Exact and heuristics methods to speed up the computational times
for solving the formulations are also presented in this paper.
Contardo et al. [9] present a formulation for the dynamic version of the
bike rebalancing problem, allowing the use of more than one vehicle. Their
objective function is the maximization of the serviced demand. An arc flow
formulation working on a discretized time horizon is proposed and solved
with with Dantzig-Wolfe and Benders decomposition. Extensive tests on
several randomly created instances are presented.
2.4
MILP formulations for the BRP
In this section we present four Mixed Integer Linear Programming (MILP)
formulations of the BRP. Computational evidence obtained from preliminary
experiments suggested to us that it would be better to adopt two-index
formulations for the BRP.
2.4.1
Formulation F1
The starting point of the aforementioned two-index formulations is the wellknown Multiple Traveling Salesman Problem (m-TSP), see, e.g., Bektas [4],
in which at most m uncapacitated vehicles based at a central depot have to
visit a set of vertices, with the constraint that each vertex is visited exactly
once. By defining a binary variable xij , taking value 1 if arc (i, j) is used by
a vehicle, 0 otherwise, the m-TSP can be modeled as:
XX
(m-TSP)
min
cij xij
(2.1)
i∈V j∈V
X
xij = 1
j ∈ V \ {0}
(2.2)
xji = 1
j ∈ V \ {0}
(2.3)
i∈V
X
i∈V
X
x0j ≤ m
(2.4)
X
(2.5)
j∈V
X
j∈V \{0}
x0j =
j∈V \{0}
xj0
27
2.4. MILP FORMULATIONS FOR THE BRP
XX
xij ≤ |S| − 1
S ⊆ V \ {0} , S 6= ∅ (2.6)
i∈S j∈S
xij ∈ {0, 1}
i, j ∈ V.
(2.7)
Objective function (2.1) minimizes the traveling cost. Constraints (2.2)
and (2.3) impose that every vertex but the depot is visited exactly once.
Constraints (2.4) and (2.5) ensure, respectively, that at most m vehicles
leave the depot, and that all vehicles that are used return to the depot at
the end of their route. Constraints (2.6) are the classical subtour elimination
constraints, see, e.g., Gutin and Punnen [12], that impose the connectivity
of the solution. These constraints increase exponentially, so, as usual, we
proceed in branch-and-cut fashion, by invoking a separation procedure to
identify the violated ones from the non-violated ones, and then adding to
the model only the violated constraints in an iterative way. The details will
be given in the next section.
To guarantee the feasibility of a solution with respect to the BRP, we
need to include additional constraints in the m-TSP formulation, so as to
ensure that demands are satisfied and vehicle capacities are not exceeded.
This may be done in different ways.
The first option is to define an additional continuous variable θj , representing the load of a vehicle after it visited vertex j, for j ∈ V . The load
should be updated along the route by taking into consideration the fact that,
if the vehicle travels along arc (i, j), then θj should be equal to θi + qj . The
aforementioned restriction can be imposed by the non-linear constraints:
θj ≥ (θi + qj ) xij
i ∈ V, j ∈ V \ {0}
(2.8)
θi ≥ (θj − qj ) xij
i ∈ V \ {0} , j ∈ V
(2.9)
max {0, qj } ≤ θj ≤ min {Q, Q + qj }
j ∈ V.
(2.10)
Constraints (2.8) and (2.9) impose that, if xij takes value 1, then θj =
θi + qj , and hence model the flow conservation independently of the sign of
qj . Constraints (2.10) simply give lower and upper bounds on the loads.
These constraints generalize the Miller-Tucker-Zemlin subtour elimination constraints for the TSP, see Miller et al. [21], to the case where vertices
have demands unrestricted in sign. They can be linearized with the standard
“big M” method, obtaining:
θj ≥ θi + qj − M (1 − xij )
i ∈ V, j ∈ V \ {0}
(2.11)
θi ≥ θj − qj − M (1 − xij )
i ∈ V \ {0} , j ∈ V.
(2.12)
Constraints (2.8) and (2.9) are linearized to (2.11) and (2.12), respectively.
In our implementation we set the “big M” equal to min {Q, Q + qj } in (2.11),
and equal to min {Q, Q − qj } in (2.12).
28
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
Our formulation F1 for the BRP is thus given by (2.1)–(2.7), (2.10)–
(2.12). Note that subtour elimination constraints must be kept in the formulation, because (2.10)–(2.12) are not enough to ensure connectivity of the
solution when some demands are non-positive and some are non-negative.
2.4.2
Formulation F2
Our second formulation also builds upon the m-TSP, but makes use of
an additional variable fij giving the flow over arc (i, j), i.e., the load on the
vehicle traveling along arc (i, j), if any, for (i, j) ∈ A. To impose feasibility
with respect to the BRP, it is then enough to include in the m-TSP:
X
X
fji −
fij = qj j ∈ V \ {0} (2.13)
i∈V
i∈V
max{0, qi , −qj }xij ≤ fij ≤ min{Q, Q + qi , Q − qj }xij
(i, j) ∈ A. (2.14)
Constraints (2.13) model the balance of the flows on the arcs entering and
leaving a given vertex. Constraints (2.14) impose lower and upper bounds
on the flows on each arc, and make these bounds as tight as possible by
considering whether or not an arc is traveled by a vehicle. Indeed, for what
concerns the lower bound, if arc (i, j) is used, then fij should be at least
greater than qi if qi > 0 (because qi has just been collected) or greater than
−qj if qj < 0 (because qj has to be supplied to the next vertex). Similar
considerations apply to the upper bound.
Formulation F2 of the BRP is thus given by (2.1)–(2.7), (2.13)–(2.14).
2.4.3
Formulation F3
We use the approach proposed by Hernández-Pérez and Salazar-González
[15, 17] for the 1-PDTSP in order to develop another formulation of the BRP.
We start again from the m-TSP, but ensure that solutions satisfy demands,
without exceeding the vehicle capacity, by adding to the model the following
family of constraints:
( & P
')
XX
i∈S qi
xij ≤ |S| − max 1,
S ⊆ V \ {0} , S 6= ∅. (2.15)
Q
i∈S j∈S
Constraints (2.15) are similar to the generalized subtour elimination constraints for the CVRP. They state that, for each subset S of vertices, the
number of arcs with both tail and head in S should not exceed the cardinality of S minus the minimum number of vehicles required to serve S.
An estimation of the minimum number of vehicles is simply obtained by
computing the absolute value of the sum of the demands, dividing it by the
vehicle capacity and then rounding up the result. This value can be zero
when the sum of the qj is null. In such a case the value 1 is used instead,
29
2.4. MILP FORMULATIONS FOR THE BRP
because at least one vehicle is needed (notice that S does not contain the
depot).
Our formulation F3 is thus given by (2.1)–(2.5), (2.7), and (2.15). Note
that constraints (2.15) are exponentially many, and hence, as already observed for (2.6), we need a separation procedure that identifies violated constraints from non-violated ones. Also note that these constraints are valid
for formulations F1 and F2, and may be used to improve their convergence
to the optimum.
2.4.4
Formulation F4
We propose a fourth formulation of the BRP that builds upon the twocommodity flow model originally presented by Baldacci et al. [2] for the
symmetric CVRP. This formulation first requires to modify the graph by
adding a copy of the depot, defined in the following by a new vertex n+1. We
e = A ∪ {(j, n + 1) :
define Ve = V ∪ {n + 1} the resulting set of vertices, and A
j ∈ Ve } ∪ {(n + 1, j) : j ∈ Ve }Pthe resulting set of arcs. Let us also define
Ve0 = Ve \{0, n+1} and Qtot = j∈Ve0 qj . We set qn+1 = 0, cn+1,j = +∞, and
cj,n+1 = cj0 for j ∈ Ve , knowing that c0,n+1 = 0, and then we set cj0 = +∞
for j ∈ Ve .
We use three sets of variables. The first two have already been used
in formulation F2: xij takes value 1 if arc (i, j) is used, 0 otherwise, for
e and fij gives the flow over arc (i, j), i.e., the load of the vehicle
(i, j) ∈ A,
e The third variable is another
passing over arc (i, j), if any, for (i, j) ∈ A.
continuous variable gji that gives the residual space of the vehicle traveling
e
along arc (i, j), if any, for (i, j) ∈ A.
In this formulation, vehicles leave the initial depot, vertex 0, visit customers, and then end their route in the final depot, vertex n + 1. Variable
fij gives the load along the route performed by the vehicle, starting from
the initial depot, vertex 0, following the vertices visited by the route and
then ending in the final depot, vertex n + 1. In opposite way, gji gives the
free space on the vehicle, starting from n + 1, retracing back the route and
then ending 0. The resulting model is then:
(Formulation F4)
min
XX
(2.16)
cij xij
i∈Ve j∈Ve
X
xij = 1
j ∈ Ve0
(2.17)
xji = 1
j ∈ Ve0
(2.18)
i∈Ve
X
i∈Ve
X
j∈Ve
x0j ≤ m
(2.19)
30
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
X
j∈Ve0
XX
X
xj,n+1
(2.20)
xij ≤ |S| − 1
S ⊆ Ve0 , S 6= ∅ (2.21)
x0j =
j∈Ve0
i∈S j∈S
fij + gji = Qxij
X
X
(fij − gji ) = 2qj
(fji − gij ) −
e
(i, j) ∈ A
j ∈ Ve0
(2.22)
(2.23)
i∈Ve
i∈Ve
X
f0j ≥ max {0, −Qtot }
(2.24)
fj,n+1 ≥ max {0, Qtot }
(2.25)
gj0 ≤ min {mQ, mQ + Qtot }
(2.26)
j∈Ve0
X
j∈Ve0
X
j∈Ve0
max{0, qi , −qj }xij ≤ fij
fij ≤ min{Q, Q + qi , Q − qj }xij
(Q − min{Q, Q + qi , Q − qj })xij ≤ gji
gji ≤ (Q − max{0, qi , −qj })xij
xij ∈ {0, 1}
e
(i, j) ∈ A
(2.27)
e
(i, j) ∈ A
(2.28)
i, j ∈ Ve .
(2.29)
Constraints (2.17)–(2.20) and (2.29) are equivalent to the ones discussed
for formulation F1, but adapted to the new sets of vertices and arcs. Constraints (2.22) state that, if a vehicle travels along arc (i, j), then the sum of
the load and the residual space on that arc is equal to the vehicle capacity.
Constraints (2.23) impose that the difference between loads and residual
capacities that enter and leave a vertex is double of the demand of that
vertex.
The total load leaving the initial depot should be in any case nonnegative, and moreover, in case Qtot takes a negative value, it should be
not lower than this value. This fact is imposed by constraints (2.24). Similarly, constraints (2.25) state that the total load entering the final depot is
in any case non-negative, and not lower than the sum of all demands in case
this is positive. Inequalities (2.26) state that the free space on the vehicles
leaving the depot must be not greater than the minimum value between the
total capacity of the m vehicles, and the total capacity plus Qtot . Finally,
constraints (2.27) and (2.28) enforce lower and upper bounds on the continuous variables.
2.5. BRANCH-AND-CUT ALGORITHM
2.5
31
Branch-and-Cut algorithm
The models presented in the previous section include an exponential number of constraints, hence we solve them with a Branch-and-Cut (B&C) algorithm. We use the B&C framework of CPLEX 12.2, that solves at every
vertex of an enumeration tree the linear relaxation of a MILP model, and
then invokes user-developed separation procedures for the possible addition
of cuts.
At the root node of the B&C procedure we obtain an initial solution by
using a simple greedy heuristic. The greedy method builds routes one at a
time, using the principle of the closest neighbor. It starts from the depot
and then visits the closest, yet unserved, customer. It then extends the path
by moving to the next closest neighbor for which the sum of collected and
delivered demands is feasible (see Section 2.5.2 below for the algorithm used
to determine if a path is feasible), if any. When no extension is possible,
the route is closed by going back to the depot, and possibly a new route
is initialized in an iterative fashion. The model is then initialized with the
generalized subtour elimination constraints for sets of one or two vertices,
hence xii = 0 for all i ∈ V and xij + xji ≤ 2 − max{1, d|qi + qj |/Qe}, for
all (i, j) ∈ A. After testing a few branching strategies, we adopted the
automatic strong branching procedure by CPLEX, that provides the best
computational performance on our test bed.
In Section 2.5.1 we present some valid inequalities that we use to improve
the convergence of the algorithm to the optimum, whereas in Section 2.5.2 we
discuss the separation procedures that we implemented. Since inequalities
and separation procedures are based only on the xij variables, they apply
directly to formulations 1, 2 and 3. The adaptation to formulation 4 is
trivial, and is outlined in Section 2.5.2.
2.5.1
Valid inequalities
We first propose two new simple families of clique inequalities with three
vertices. Consider a pair of vertices i and j, and let S(i, j) ⊂ V \ {0} be the
subset of vertices whose demand results in a total greater than Q or smaller
than −Q. Namely, S(i, j) = {h ∈ V0 , h 6= i, h 6= j : |qi + qj + qh | > Q}. Then
the following inequalities are valid for the BRP:
X
xij +
xjh ≤ 1
i, j ∈ V \ {0}, h ∈ S(i, j)
(2.30)
h∈S(i,j)
X
xhi + xij ≤ 1
i, j ∈ V \ {0}, h ∈ S(i, j).
(2.31)
h∈S(i,j)
We note that, in (2.30), at most one among the xjh variables may take
the value of 1 because of the degree constraint, and that all of them are
32
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
incompatible with xij because of the capacity constraint. Thus the sum of
all these variables is at most 1 in a feasible solution. A similar consideration
applies to (2.31).
For the next family of inequalities we need some further notation. Let P
denote a path consisting of a sequence of vertices starting from the depot.
Let also |P | denote the number of vertices in P , and P (i) denote the index of
the i-th vertex of path P , for i = 0, 1, . . . , |P |−1, with P (0) = 0. Given P , we
|P |−1 P
|P |−1 P
compute qPmin = mini=1 { ij=1 qP (j) } and qPmax = maxi=1 { ij=1 qP (j) },
that denote, respectively, the minimum and maximum of the cumulative
demand along P .
As observed by Hernández-Pérez and Salazar-González [15], a path P is
infeasible with respect to the capacity constraint if qPmax −qPmin > Q. Indeed,
if the vehicle leaves the depot with an empty load, then along the path it
will reach a maximum load equal to qPmax , that clearly cannot exceed Q.
Now notice that qPmin may be negative even in a feasible solution, but in this
case the vehicle has to start from the depot by carrying −qPmin bikes. Hence,
the maximum load becomes qPmax − qPmin , which also cannot exceed Q.
Let P be the family of all infeasible paths, the following infeasible path
constraints are thus valid inequalities for the BRP:
|P |−2
X
xP (i),P (i+1) ≤ |P | − 2
P ∈ P.
(2.32)
i=0
Inequality (2.32) simply states that, if path P is infeasible then not all
the arcs connecting two consecutive vertices of P may belong to a feasible
solution. A way to enforce them is to consider also the arcs connecting
non-consecutive vertices of P . Indeed, any arc (P (i), P (j)) with j 6= i + 1
is incompatible with arcs (P (i), P (i + 1)) and (P (j − 1), P (j)), because of,
respectively, out-degree and in-degree constraints. Hence we can add the
corresponding variable, xP (i),P (j) to the left-hand side of (2.32), without
affecting the right-hand side value. This process can be repeated for all arcs
connecting two non-consecutive vertices in the path, with the exception of
those arcs leaving the depot, because up to m of them may belong to a
feasible solution. Hence, we obtain the following:
|P |−2 |P |−1
x0,P (1) +
X X
xP (i),P (j) ≤ |P | − 2
P ∈ P.
(2.33)
i=1 j=i+1
Inequalities (2.33) generalize, in the case of multiple vehicles, the tournament
constraints, discussed by Ascheuer et al. [1] for the Traveling Salesman
Problem. Note that these constraints can be used in directed formulations
(where a variable is associated to each directed arc), but cannot be applied
to undirected ones (where variables are associated to undirected edges).
2.5. BRANCH-AND-CUT ALGORITHM
2.5.2
33
Separation procedures
The aim of this section is to present the procedures that we use to determine
whether or not the valid inequalities we proposed in Section 2.5.1 are violated
by a given solution x (possibly fractional).
Separations S1 and S2. The inequalities of type (2.30) and (2.31)
are separated exactly, by enumerating all possible pairs of vertices i and j,
computing the set Sij , and then evaluating if the sum of the x involved in
the inequality exceeds one. In the following we will refer the separation of
(2.30) and (2.31) as separation S1 and separation S2, respectively.
Separation S3. To separate constraints (2.6) and (2.15), we first build
a supporting graph G = (V , A), where V = V , A = {(i, j) ∈ A : xij > 0},
and a capacity xij is assigned to every arc (i, j) ∈ A. Constraints (2.6) may
be separated exactly as usually done for the TSP, by computing O(n) max
flows on G, using the depot as a source and any vertex i, in turn, as a sink.
If the max flow value obtained is lower than one, then i is disconnected
from the depot, and hence the cut that corresponds to the set S induced by
the min cut may be added to the model. For the BRP, we obtain a simple
algorithmic improvement by checking, for any set S induced by a min cut,
if the minimum number of vehicles required to serve S is lower than the
max flow value obtained, and, in such a case, we add the corresponding
(stronger) constraint (2.15). In this way the exact separation of (2.6) is
used as a heuristic for separating (2.15). We refer to this procedure as
separation S3.
Separation S4. To separate constraint (2.15), we extend the procedure
developed in Hernández-Pérez and Salazar-González [15] for the 1-PDTSP
to the directed case. First of all we associate a demand q0 = Qtot to the
0
depot. Then we build a new supporting graph G , obtained by adding two
dummy nodes, n + 1 and n + 2, to G. We connect n + 1 to any i ∈ V having
qi > 0 with an arc of capacity qi /Q, and then connect any i ∈ V having
qi < 0 to n + 2 with an arc of capacity −qi /Q (in this way, the capacities
associated with the arcs are always non-negative) . We then compute the
0
max flow on G , using n + 1 as a source and n + 2 as a sink. The constraint
(2.15) corresponding to the set S induced by the min cut is then checked,
and, if violated, it is added to the model. We refer to Hernández-Pérez and
Salazar-González [15] for further details.
Conforming to the fact that we are solving a problem on an asymmetric graph, we perform a second separation for (2.15). We build a second
00
modified supporting graph G , adding again two new dummy vertices, n + 1
00
and n + 2, to G. In this case however we include in G new arcs (n + 1, i)
of capacity −qi /Q for all i ∈ V having qi < 0, and new arcs (i, n + 2) of
capacity qi /Q for all i ∈ V having qi > 0. Once more, we use the max
flow procedure on the resulting supporting graph, from n + 1 to n + 2, and
check the constraints (2.15) for the sets S induced by the min cuts. In the
34
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
following, these procedures are referred to as separation S4.
Separation S5. The tournament constraints (2.33) are separated exactly, by generating all possible paths starting from the depot and using a
depth-first strategy. We initialize vector P with P (0) = 0, then select the
first outgoing arc having a positive value of x, say, (0, i), and extend the path
to include the head of the selected arc by setting P (1) = i. The process is
then reiterated. Every time we add a vertex to the path, we check if it is
infeasible. If so, then we add the cut and backtrack to the previous vertex,
otherwise we continue extending the path. The path extension continues
as long as the sum of the involved xij is large enough to possibly lead to a
violated cut, i.e., as long as it is strictly greater than |P | − 2. As soon as
the sum becomes smaller, we backtrack to the previous vertex. Anytime we
backtrack, we continue the depth-first search by selecting the next arc with
positive value of x and then extend the path consequently.
Suppose a violated cut of type (2.33) has been found, then we know that
the set S = {P (1), P (2), . . . , P (|P |)} is currently visited by a single vehicle
(the one performing the path P ). Now P
we estimate the minimum number
of vehicles required to serve S using d| i∈S qi |/Qe, and, if this is greater
than one, we add the violated generalized subtour elimination constraint
(2.15) for this set S. Constraints (2.15) are usually stronger than (2.33),
but do not dominate them (because the latter involves variable x0,P (1) , not
contained in the former), and hence they are both profitable for the model
solution. The current procedure is called separation S5.
The separation procedures (S1-S5) are invoked at every node of the enumeration tree in the order in which we described them. With regards to
formulation F4, there is only a slight modification to implement. Recall
that this formulation works on a modified graph Ve , where n + 1 is a copy of
the original depot 0. When creating the supporting graph G, we merge again
0 and n+1 into a unique vertex 0 (this is done by simply setting xj,0 = xj,n+1
for all j ∈ V ), and then use the separation process just described for the
previous formulations. The resulting cut, if any, is then mapped back on Ve .
On the basis of computational evidence resulting from detailed experimentation, the separation process for all formulations is terminated as soon as
a violated cut is found.
2.6
Benchmark Instances
In our attempt to solve real-world instances, we collected real data from
the web sites of twenty-two bike sharing systems characterized by diverse
size. The cities included in our studies are: Bari, Brescia, Bergamo, La
Spezia, Parma, Rome, Torino, Treviso, and Reggio Emilia, in Italy; Dublin
in Ireland; Boston, Denver, Madison, Miami, Minneapolis, and San Anto-
35
2.6. BENCHMARK INSTANCES
nio in the USA; Ottawa and Toronto in Canada; Ciudad de Mexico and
Guadalajara in Mexico; Buenos Aires in Argentina and Rio de Janeiro in
Brazil.
We have been in touch with the bike sharing operators of these cities,
in particular with those people responsible for the bike repositioning, to
obtain information regarding the depot location, the desirable level of occupation, the characteristics of the available fleet of vehicles and the type
of repositioning performed. Not all of them furnished us with all the required information. In general, we can state that some of them perform the
repositioning during the night, some others also during the day. From the
web sites we collected the coordinates of the stations and of the depot. If
no information for the depot was available, we assumed that the depot was
located at the same place as one of the stations. We used a Geographical
Information System to compute the shortest traveling distances cij (in meters) between each pair of points, considering the two possible directions.
We then took a snapshot of the nightly level of occupation at each station,
and fixed the demand of the station to be the difference between the level of
occupation encountered and the desired level of occupation of the station.
Indeed, according to the information provided by the majority of operators,
the most common rule adopted to rebalance the stations is to fill half of the
slots in each station, thus we set the desired level of occupation of a station
to half its number of slots. Also note that, for those cities where the depot
was allocated to a bike station, we set the demand of that station to 0.
|V | min{qi } avg{qi } max{qi } dev{qi } min{cij } avg{cij } max{cij } dev{cij }
City
Country
Bari
Reggio Emilia
Bergamo
Parma
Treviso
La Spezia
Buenos Aires
Ottawa
San Antonio
Brescia
Roma
Madison
Guadalajara
Dublin
Denver
Rio de J.
Boston
Torino
Toronto
Miami
Ciudad de M.
Minneapolis
Italy
13
Italy
14
Italy
15
Italy
15
Italy
18
Italy
20
Argentina 21
Canada
21
U. S.
23
Italy
27
Italy
28
U. S.
28
Mexico
41
Ireland
45
U. S.
51
Brazil
55
U. S.
59
Italy
75
U. S.
80
U. S.
82
Mexico
90
U. S.
116
-5
-10
-12
-6
-4
-5
-20
-5
-4
-11
-17
-6
-11
-11
-8
-7
-8
-7
-11
-8
-17
-9
-1.54
-2.00
-1.00
-1.07
-0.83
0.05
-0.43
-0.05
1.74
-1.41
-2.36
0.29
-1.07
-1.42
-0.69
-1.47
-0.27
-0.49
0.15
-2.24
-0.97
-0.79
5
3
10
4
3
6
20
5
8
4
18
8
1
6
7
7
16
9
12
9
17
5
2.70
4.17
5.39
2.76
2.23
2.93
17.15
2.58
3.43
3.69
9.45
2.93
1.94
3.73
3.28
3.82
5.28
3.73
5.17
3.99
8.48
2.87
400
300
100
200
340
193
689
180
98
200
200
53
60
203
211
420
243
23
150
68
15
6
2283.97
2095.05
1532.86
3121.43
3510.99
2521.61
4676.75
2219.15
1950.98
2571.65
5989.55
3085.99
3278.30
2190.50
3873.94
5328.35
3911.82
2527.84
2339.03
4000.00
2551.94
6045.24
5400
5500
3200
8800
8398
6128
12780
5030
4808
6600
27400
9922
14728
4734
12000
16591
19239
7200
6283
13771
7264
19468
1067.62
1110.44
631.94
1857.86
2133.37
1279.82
2246.80
1012.63
944.61
1174.49
7361.37
1780.75
2440.40
933.16
2643.54
2587.97
2378.22
1157.14
1103.70
3336.49
1409.34
3558.17
Table 2.2: Benchmark instances (notation explained in Table 2.1).
According to the data we collected, the most common vehicle capacities
encountered in practice are 30, 20 and 10 bikes for each vehicle. We applied
these three values to the data obtained for each city. For some instances
the minimum vehicle capacity used is set to maxi∈V {|qi |}, when the number
of the latter exceeds 10. For Buenos Aires, whose maximum demand was
36
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
20, we tested only 20 and 30. We generated 65 instances in total, that
are summarized in Table 2.2. The values min{qi }, avg{qi }, max{qi }, and
dev{qi } give, respectively, the minimum, average, and maximum demand,
and the standard deviation. Similar information is provided for the distances
cij . The number of vertices varies from 13 to 116 stations. All test instances
have variability in the number of bikes leaving the depot (since avg{qi } is
not 0). All distances are given in meters. All instances are available online
at http://www.or.unimore.it/resources.htm.
2.7
Computational results
All algorithms described in Sections 4.4 and 3.5.2 were coded in C/C++ and
run on an Intel Core i3-2100 CPU, 3.10 GHz, 4.00 GB. We used CPLEX
12.2 as the MILP solver imposing the selection of a single processor. Formulations F1−F4 were computationally tested on the problem instances
described in Section 2.6. For clarity purposes, details of the computational
implementation of the formulations we tested are given in Table 2.3, where
we also include the additional separation procedures described in Section
2.5.2.
Formulation
Formulation
Formulation
Formulation
F1
F2
F3
F4
variables
core formulation
additional separations
xij , θj
xij , fij
xij
xij , fij , gij
(2.1)–(2.7), (2.10)–(2.12), S3
(2.1)–(2.7), (2.13)–(2.14), S3
(2.1)–(2.5), (2.7), (2.15), S3, S4
(2.16)–(2.29), S3
S1,
S1,
S1,
S1,
S2,
S2,
S2,
S2,
S4, S5
S4, S5
S5
S4, S5
Table 2.3: Implementation of formulations F1−F4.
In this section, we present the computational results of the B&C algorithm using formulations F1−F4. The B&C algorithm was terminated when
either the optimal solution was found or a predetermined time-limit elapsed.
The time-limit imposed was 3600 CPU seconds. Table 2.4 reports the computational results obtained for the complete set of 65 problem instances. In
this table, the following information is provided for each problem instance:
• City (|V |, Q): City name associated with a given problem instance
which is uniquely identified by the number of vertices |V | of the corresponding digraph and the vehicle capacity Q used to transport the
bikes at the specified city;
• U B: The value of the best feasible solution found by the B&C algorithm using formulations F1 to F4;
• Gap1 −Gap4 : Percentage deviation from U B of LB1 −LB4 , best lower
bounds obtained by the B&C algorithm using core formulations F1 to
F4 including the set of additional separations for each formulation,
2.7. COMPUTATIONAL RESULTS
37
respectively, as shown in Table 3. Gapi = 100/(1 − LBi /U B), for
i = 1, . . . , 4.
• T ime: Computational time for running the B&C algorithm, in CPU
seconds.
To compare the average performance of formulations F1−F4 over the complete set of problem instances, the following additional information is given
in Table 2.4:
• Opt: The total number of problem instances solved to optimality by
the B&C algorithm within 3600 seconds;
• #N odes: Average number of nodes (over all instances) explored by
the B&C algorithm;
• #Cuts: Average number of cuts generated by the B&C algorithm.
As shown in Table 2.4, the first 25 problem instances and a large number of other instances are easily solved by all formulations within a few
seconds. Formulation F1 gives the worst results in terms of average gap,
computational time, and number of generated cuts, whereas, formulations
F2 and F4 demonstrate similar performance for all performance indicators.
On the other hand, F3 performs best over all formulations with average
Gap3 = 2.24% and it optimally solves all problem instances including up to
50 vertices. Indeed, formulation F3 finds the optimal solution for 49 out
of 65 instances within an average time of 15 minutes generating an average
of approximately 1200 B&C nodes. However, it is worth noting that, for
some of the larger instances, Gap3 is larger than Gap2 , (e.g., Ciudad de
Mexico (90, 17)) or Gap4 (e.g., Miami (82, 10)). Further insight into the
best performing formulation F3 was gained by computationally evaluating
the impact of each separation procedure on the resulting percentage gaps
computed at the root node of the B&C tree for the most difficult problem
instances.
In Table 2.5 we test the core formulation F3, see Table 2.3, and the ones
obtained by including just one of the separation procedures at a time. We
denote with Gapcore the percentage deviation from U B of the lower bound
obtained with the core version, while we use Gap+ (Sx) to denote the results
of the core version plus separation Sx.
In Table 2.6 we present the results of the full version of formulation F3
(i.e., core formulation plus all separation procedures) and those obtained
by removing from it one separation procedure at a time. We denote with
Gapf ull the percentage deviation from U B of the lower bound obtained
with the full version, while we use Gap− (Sx) to denote the results of the
full version minus separation Sx.
38
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
F1
Inst.
City (|V |, Q)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Bari (13, 30)
Bari (13, 20)
Bari (13, 10)
Reggio Emilia (14, 30)
Reggio Emilia (14, 20)
Reggio Emilia (14, 10)
Bergamo (15, 30)
Bergamo (15, 20)
Bergamo (15, 12)
Parma (15, 30)
Parma (15, 20)
Parma (15, 10)
Treviso (18, 30)
Treviso (18, 20)
Treviso (18, 10)
La Spezia (20, 30)
La Spezia (20, 20)
La Spezia (20, 10)
Buenos Aires (21, 30)
Buenos Aires (21, 20)
Ottawa (21, 30)
Ottawa (21, 20)
Ottawa (21, 10)
San Antonio (23, 30)
San Antonio (23, 20)
San Antonio (23, 10)
Brescia (27, 30)
Brescia (27, 20)
Brescia (27, 11)
Roma (28, 30)
Roma (28, 20)
Roma (28, 18)
Madison (28, 30)
Madison (28, 20)
Madison (28, 10)
Guadalajara (41, 30)
Guadalajara (41, 20)
Guadalajara (41, 11)
Dublin (45, 30)
Dublin (45, 20)
Dublin (45, 11)
Denver (51, 30)
Denver (51, 20)
Denver (51, 10)
Rio de J. (55, 30)
Rio de J. (55, 20)
Rio de J. (55, 10)
Boston (59, 30)
Boston (59, 20)
Boston (59, 16)
Torino (75, 30)
Torino (75, 20)
Torino (75, 10)
Toronto (80, 30)
Toronto (80, 20)
Toronto (80, 12)
Miami (82, 30)
Miami (82, 20)
Miami (82, 10)
Ciudad de M. (90, 30)
Ciudad de M. (90, 20)
Ciudad de M. (90, 17)
Minneapolis (116, 30)
Minneapolis (116, 20)
Minneapolis (116, 10)
Average Gaps and Times
Opt
#Nodes
#Cuts
F2
F3
F4
UB
Gap1
Time
Gap2
Time
Gap3
Time
Gap4
Time
14600
15700
20600
16900
23200
32500
12600
12700
13500
29000
29000
32500
29259
29259
31443
20746
20746
22811
76999
91619
16202
16202
17576
22982
24007
40149
30300
31100
35200
61900
66600
68300
29246
29839
33848
57476
59493
64981
33548
39786
54392
51583
53465
67459
122547
156140
259049
65669
71879
75065
47634
50204
64797
41549
47898
60763
156104
229237
415762
88227
116418
109573
137843
186449
298886
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
5.36
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.18
0.00
2.43
7.70
0.00
0.00
1.47
4.16
8.57
28.58
0.00
0.00
0.99
0.00
2.38
11.30
3.54
11.81
13.15
23.68
38.43
38.14
28.67
29.95
20.00
4.58
23.45
37.08
0.06
0.06
0.16
0.03
0.09
5.59
0.05
0.06
0.27
0.05
0.05
0.22
0.12
0.12
0.27
0.09
0.09
0.16
1.36
23.26
0.06
0.06
0.30
0.19
3.63
3600.00
0.70
6.07
24.46
4.27
22.04
16.15
0.09
0.31
6.02
1.16
2.29
3600.00
435.69
3600.00
3600.00
66.57
410.05
3600.00
3600.00
3600.00
3600.00
255.25
1899.07
3600.00
464.46
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.14
1.17
0.00
0.00
0.00
1.57
2.29
2.07
0.00
1.70
2.59
0.00
2.70
9.66
4.47
11.02
10.74
8.43
11.02
6.07
23.28
23.59
9.00
5.82
18.61
17.65
0.11
0.10
0.39
0.03
0.52
0.67
0.05
0.26
0.74
0.03
0.02
0.26
0.14
0.20
0.75
0.16
0.10
1.45
3.54
3.58
0.05
0.06
1.90
2.74
1.36
7.07
0.77
6.38
10.83
5.48
7.61
3.26
0.10
0.44
16.56
2.97
8.18
39.15
180.81
3600.00
3600.00
11.01
372.78
1535.62
3600.00
3600.00
3600.00
1136.46
3600.00
3600.00
919.59
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.44
2.23
0.00
0.00
0.37
0.00
0.00
9.25
1.82
11.05
11.84
2.48
8.66
6.49
23.05
23.61
9.56
1.23
15.40
17.96
0.02
0.02
0.03
0.02
0.03
0.05
0.03
0.00
0.11
0.02
0.02
0.05
0.05
0.03
0.09
0.03
0.03
0.09
0.37
16.80
0.02
0.02
0.11
0.08
0.09
1.06
0.06
0.20
1.37
0.84
1.72
0.58
0.02
0.05
0.53
0.22
0.34
1.79
6.05
76.72
610.80
0.67
25.33
231.52
65.57
3600.00
3600.00
28.14
473.84
3600.00
13.79
859.69
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.97
1.82
2.23
0.00
1.63
2.94
0.00
3.50
9.23
4.42
11.39
10.88
9.01
10.99
6.12
23.74
23.63
10.73
5.96
18.41
18.93
0.27
0.11
0.32
0.06
0.33
0.22
0.10
0.21
0.95
0.06
0.06
0.45
0.62
0.45
0.79
0.31
0.24
1.34
12.40
7.35
0.09
0.09
1.26
4.38
7.52
17.86
2.22
9.11
9.31
8.46
33.38
4.99
0.24
0.84
6.36
6.22
7.21
17.99
280.05
3140.89
3513.55
15.88
1096.95
3443.68
3600.00
3600.00
3600.00
975.97
3600.00
3600.00
1703.46
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
5.33 1330.02
2.69 1228.99
2.24
42
44
49
2134.32
1847.74
1240.91
2233.02
630.14
1908.28
923.37
2.73 1272.84
46
1440.65
578.09
Table 2.4: Computational results for formulations F1−F4 on all problem
instances.
39
2.7. COMPUTATIONAL RESULTS
City (|V |, Q)
Dublin (45 ,30)
Dublin (45 , 20)
Dublin (45, 11)
Denver (51, 30)
Denver (51, 20)
Denver (51, 10)
Rio de Janeiro (55, 30)
Rio de Janeiro (55, 20)
Rio de Janeiro (55, 10)
Boston (59, 30)
Boston (59, 20)
Boston (59, 16)
Torino (75, 30)
Torino (75, 20)
Torino (75, 10)
Toronto (80, 30)
Toronto (80, 20)
Toronto (80, 12)
Miami (82, 30)
Miami (82, 20)
Miami (82, 10)
Ciudad de Mexico (90, 30)
Ciudad de Mexico (90, 20)
Ciudad de Mexico (90, 17)
Minneapolis (116, 30)
Minneapolis (116, 20)
Minneapolis (116, 10)
Average gaps (%)
Gapcore
Gap+ (S1)
Gap+ (S2)
Gap+ (S5)
1.45
4.56
5.52
0.52
2.58
3.34
2.05
2.51
4.12
1.87
3.31
4.63
1.35
3.38
11.73
5.55
15.19
14.40
3.28
8.91
6.71
24.62
25.43
11.81
2.97
15.97
19.44
1.45
4.31
5.61
0.52
2.58
3.05
2.05
2.51
3.99
1.76
3.45
4.25
1.35
3.81
11.44
5.55
13.48
14.87
3.28
9.17
7.03
25.23
24.96
11.31
2.97
15.97
19.14
1.45
3.68
4.69
0.52
2.58
4.29
2.05
2.51
3.35
1.76
3.11
4.13
1.35
3.30
11.50
5.55
14.10
14.97
3.28
9.29
6.86
25.18
24.94
11.85
2.97
15.97
18.83
1.45
4.56
4.86
0.52
2.56
3.32
2.05
2.51
4.12
1.87
3.28
4.63
1.35
3.38
11.73
5.55
15.19
14.40
3.28
8.91
6.71
24.62
25.43
11.80
2.97
15.97
19.44
7.67
7.60
7.56
7.65
Table 2.5: Root node – Comparison of various separation procedures on the
core formulation F3.
The results reported in Table 2.5 demonstrate that the average gap of
the core formulation F3 is close to 7% but slightly greater than 25% in
the worst case – Ciudad De Mexico (90, 20). The average gap Gapcore is
only slightly improved by separately adding either separation S1, S2 or S5;
however, it is worth noting that separations S1, S2 and S5 are computed
very fast. The importance of separations S3 and, more clearly, S4 is evident
from the results presented in Table 2.6, namely, removing S3 and S4 from
the full formulation F3 leads to an increase of the percentage gap from an
average value of Gapf ull = 7.53% to Gap− (S3) = 8.18% and Gap− (S4) =
14.56%, respectively. Notably, this gap increases from 18.52% to 36.39% for
separation S4 in the case of Minneapolis (116, 10).
Based on the overall computational results presented in this section, we
note that the computational difficulty of the instances grows not only with
the number of vertices, as it is expected, but also when the capacity of
the vehicles decreases. This behaviour was also noted for the 1-PDTSP
by Hernández-Pérez and Salazar-González [15] and is due to the fact that
small capacity vehicles are forced to perform long and complicated routes
for pickups and deliveries. An illustrative example is given in Figure 2.4,
which depicts the three optimal solutions obtained for the problem instance
40
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
City (|V |, Q)
Dublin (45 ,30)
Dublin (45 , 20)
Dublin (45, 11)
Denver (51, 30)
Denver (51, 20)
Denver (51, 10)
Rio de J. (55, 30)
Rio de J. (55, 20)
Rio de J. (55, 10)
Boston (59, 30)
Boston (59, 20)
Boston (59, 16)
Torino (75, 30)
Torino (75, 20)
Torino (75, 10)
Toronto (80, 30)
Toronto (80, 20)
Toronto (80, 12)
Miami (82, 30)
Miami (82, 20)
Miami (82, 10)
Ciudad de M. (90, 30)
Ciudad de M. (90, 20)
Ciudad de M. (90, 17)
Minneapolis (116, 30)
Minneapolis (116, 20)
Minneapolis (116, 10)
Average gaps (%)
Gapf ull
Gap− (S1)
Gap− (S2)
Gap− (S3)
Gap− (S4)
Gap− (S5)
1.45
3.68
5.16
0.52
2.56
3.49
2.05
2.51
3.30
1.76
3.45
3.87
1.35
3.81
11.56
5.55
13.30
14.99
3.28
9.14
7.00
25.46
25.04
11.48
2.97
15.97
18.52
1.45
3.68
4.43
0.52
2.56
4.29
2.05
2.51
3.35
1.76
3.11
4.13
1.35
3.30
11.50
5.55
14.10
14.97
3.28
9.25
6.86
25.18
24.94
11.48
2.97
15.97
18.83
1.45
4.31
5.61
0.52
2.56
2.98
2.05
2.51
3.41
1.76
3.45
4.25
1.35
3.81
11.44
5.55
13.48
14.87
3.28
9.14
7.03
25.23
24.96
11.31
2.97
15.97
19.14
3.75
6.38
5.26
1.31
2.60
4.82
2.05
2.51
3.30
2.75
4.08
4.48
2.50
4.68
12.84
7.25
14.62
15.36
3.36
9.17
7.01
25.51
25.04
11.50
3.59
16.50
18.72
3.47
12.08
13.95
1.64
3.33
6.65
6.45
10.56
21.50
1.68
3.88
4.33
1.61
4.41
15.15
6.08
14.90
18.99
20.32
28.36
35.36
32.58
34.97
24.47
6.73
23.42
36.39
1.45
3.68
5.16
0.52
2.58
3.49
2.05
2.51
3.30
1.76
3.45
3.87
1.35
3.81
11.56
5.55
13.30
14.99
3.28
9.17
7.00
25.46
25.04
11.55
2.97
15.97
18.83
7.53
7.53
7.57
8.18
14.56
7.54
Table 2.6: Root node – Comparison of various separation procedures on the
full formulation F3.
arising in Reggio Emilia for the following cases:
(i) Q=10, three vehicle routes are needed. The first one visits stations 2, 6,
13, 5, 8 and 7, the second vehicle visits stations 1, 3, 10, 4, 9, and 11
but the third one visits only station 12. The total distance travelled
is 32.5 km.
(ii) Q=20, two vehicle routes are needed. The first one visits stations 13,
2, 10, 4, 6, 3, 1, 5, 8 and 7 while stations 9, 11, and 12 are visited by
the second vehicle. Total distance travelled is 23.2 km.
(iii) Q=30, a single vehicle route visits all stations (traveling for 16.9 km)
in the following sequence: 7, 5, 8, 13, 2, 10, 4, 6, 3, 1, 11, 9, and 12.
2.7.1
Randomly generated instances
It is well known that TSP formulations perform differently on clustered and
randomized data set. To this end, we created a set of random instances,
in addition to the real-world ones, to evaluate the quality of our algorithm.
41
2.7. COMPUTATIONAL RESULTS
F1
Name
|V | Q
F2
F3
F4
UB
Gap1
Time
Gap2
Time
Gap3
Time
Gap4
Time
59429
67789
102941
52980
58204
75223
60960
67212
94465
67491
74429
103117
76574
89762
133824
1.45
1.92
3.85
0.00
0.00
2.42
0.00
0.00
4.55
0.00
0.00
12.37
6.15
9.96
12.95
3600.00
3600.00
3600.00
70.23
825.68
3600.00
14.59
2348.79
3600.00
872.29
2744.08
3600.00
3600.00
3600.00
3600.00
0.00
0.00
0.00
0.00
0.00
2.84
0.00
1.19
1.23
0.00
0.00
1.86
3.08
4.39
1.90
451.32
1171.56
890.31
42.42
1860.36
3600.00
52.95
3600.00
3600.00
403.45
1143.11
3600.00
3600.00
3600.00
3600.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.07
0.00
0.88
0.78
13.23
115.25
217.83
2.81
56.08
591.15
7.83
41.82
248.73
11.83
33.71
3600.00
1025.23
3600.00
3600.00
0.00
0.00
0.00
0.00
0.63
3.18
0.00
0.95
0.28
0.00
0.00
2.17
3.52
3.27
1.78
241.58
845.35
842.11
115.88
3600.00
3600.00
210.09
3600.00
3600.00
1155.85
1333.42
3600.00
3600.00
3600.00
3600.00
Average Gaps and Times
3.71 2618.38
1.10 2081.03
0.18
Opt
6
8
12
#Nodes
7741.20
6479.47
4664.30
#Cuts
2822.73
903.27
1145.80
877.70
R40
R40
R40
R45
R45
R45
R50
R50
R50
R55
R55
R55
R60
R60
R60
30
20
10
30
20
10
30
20
10
30
20
10
30
20
10
40
40
40
45
45
45
50
50
50
55
55
55
60
60
60
30
20
10
30
20
10
30
20
10
30
20
10
30
20
10
1.05 2236.28
7
4958.07
758.67
Table 2.7: Tests on randomly generated instances
We followed a classical random generation method adopted in the CVRP
literature, see e.g. Toth and Vigo [31]. We randomly generated instances
including 40, 45, 50, 55 and 60 vertices, because problems of this size are
challenging to solve for real-world cases. The coordinates of the vertices
are randomly generated between 0 and 100, while the depot is set in (50,
50). Distances between vertices are computed as the Euclidean ones, but
perturbed by a factor δ, randomly chosen between −20% and 20% to induce
asymmetry on the costs. In more detail, let bij be the Euclidean distance
between the two vertices i and j, for i, j, ∈ V, j > i. The cost matrix is
computed by setting cij = bij (1 + δ), for i, j ∈ V , then the resulting cij
values are multiplied by 100 and rounded up to the next integer value. A
check on triangularity of distances is then performed to adjust non-triangular
distances. We considered 10, 20 and 30 as plausible values for Q. The
demand of each vertex is randomly generated between −10 and 10 but other
than zero, while the demand of the depot is set to zero.
In Table 2.7 we report the instance name, the number of vertices, the
vehicle capacity, the best upper bound found and, for each formulation, the
percentage gap between the best upper bound and the best lower bound,
and the solution time. The average gaps and computational times are also
reported. The number of instances solved to optimality is indicated by Opt,
while #N odes and #Cuts illustrate the average number of visited nodes and
added cuts for each formulation. The time limit was set to 3600 seconds.
The results confirm the computational experience derived from solving
the real-world instances. When increasing the number of vertices and the
vehicle capacity the instances get harder to solve. The formulation having
better results is, once again, F3. As reported in Table 2.7, 12 instances
out of 15 are solved to optimality by F3, and the percentage gap between
the best upper bound and the best lower bound is, on average, lower than
42
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
0.20%. The average solution time is less than 15 minutes. Overall, tests on
randomly generated instances confirm the quality of the proposed algorithms
and formulations.
2.8
Conclusions
In this chapter we considered the Bike sharing Rebalancing Problem, which
calls for the repositioning of public bikes of a bike sharing program at minimum cost, using a fleet of capacitated vehicles. We modeled the problem
proposing four different formulations, which take into account different types
of variables and constraints. All formulations involve an exponential number
of constraints, so we solved them by using a branch-and-cut algorithm.
By collecting data from several web sites, we produced an interesting test
bed containing 65 instances. We made the test bed publicly available, and
used it to computationally evaluate the branch-and-cut algorithm. Computational evidence suggests that the best computational results are produced
by formulation F3. This formulation efficiently solves instances with up to
50 vertices, but may fail in solving some larger ones in one hour of computational time on a standard PC.
Acknowledgments
We thank the Mobility Concilorship of Reggio Emilia, and Alessandro Meggiato, Mobility Manager of the Municipality of Reggio Emilia, for the data
and information supplied. We also thank Scott Mullen (General Manager of
Hubway, Boston bike sharing system), Matt Verlee (Customer Relations &
Low Income Outreach Manager of Denver B-Cycle), Marco Verità (of Brescia
Mobilità, Brescia bike sharing system), Ben Kunde (Tech Manager, Madison
B-Cycle), Caleb Cohate (San Antonio B-Cycle), Sonia Fakiel (Mejor en Bici,
Buenos Aires bike sharing system) and ATB Mobilità (La BiGi, Bergamo
bike sharing system) for the information they furnished us with.
43
2.8. CONCLUSIONS
(a)
(b)
(c)
Figure 2.3: Typical arrivals and departures per hour in a station of (a)
the first group, (b) the second group and (c) the third group (τ = hour of
the day, ν = cumulative number of bikes arriving into or departing from a
station within a seven-months period).
44
CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM
(a)
(b)
(c)
Figure 2.4: Optimal solutions for Reggio Emilia with (a) Q=10, (b) Q=20,
and (c) Q=30.
Bibliography
[1] N. Ascheuer, M. Fischetti, M. Grötschel. A polyhedral study of the
asymmetric travelling salesman problem with time windows. Networks,
36:69–79, 2000.
[2] R. Baldacci, E. Hadjiconstantinou, A. Mingozzi, An exact algorithm
for the capacitated vehicle routing problem based on a two-commodity
network flow formulation, Operations Research, 52:723–738, 2004.
[3] M. Battarra, J.-F. Cordeau, and M. Iori. Vehicle Routing: Problems,
Methods, and Applications, Chapter 6: Pickup-and-Delivery Problems
for Goods Transportation. In [32], 2014.
[4] T. Bektas, The multiple traveling salesman problem: an overview of
formulations and solution procedures, Omega, 34:209 – 219, 2006.
[5] M. Benchimol, P. Benchimol, B. Chappert, A. De La Taille, F. Laroche,
F. Meunier, L. Robinet, Balancing the stations of a self service ”Bike
Hire” system, RAIRO-Operations Reserach, 45:37–61, 2011.
[6] G. Berbeglia, J.-F. Cordeau, I. Gribkovskaia, G. Laporte, Static pickup
and delivery problems: A classification scheme and survey, TOP, 15:1–
31, 2007.
[7] F. Boctor, J. Renaud, F. Cornillier, Trip packing in petrol stations
replenishment, Omega, 39:86 – 98, 2011.
[8] D. Chemla, F. Meunier, R. Wolfler Calvo, Bike sharing systems: Solving the static rebalancing problem, Discrete Optimization, 10:120–146,
2013.
[9] C. Contardo, C. Morency, L.-M. Rousseau, Balancing a Dynamic Public
Bike-Sharing System, Technical Report CIRRELT-2012-09, CIRRELT,
2012.
[10] P. DeMaio, Bike Sharing: History, Impacts, Model of Provision and
Future, Journal of Public Transportation, 10:41–56, 2009.
45
46
BIBLIOGRAPHY
[11] K. Doerner,J.-J. Salazar-González Vehicle Routing: Problems, Methods, and Applications, Chapter 7: Pickup-and-Delivery Problems for
People Transportation. In [32], 2014.
[12] G. Gutin, A. Punnen (eds.), The Traveling Salesman and its Variations,
Kluwer, Dordrecht, 2002.
[13] M. Hosny, C. Mumford, Solving the one-commodity pickup and delivery
problem using an adaptive hybrid VNS/SA approach, in: R. Schaefer,
C. Cotta, J. Kolodziej, G. Rudolph (eds.), Parallel Problem Solving
from Nature, PPSN XI, volume 6239 of Lecture Notes in Computer
Science, Springer, Berlin, 2010, pp. 189–198.
[14] H. Hernández-Pérez, I. Rodrı́guez-Martı́n, J.-J. Salazar-González, A
hybrid GRASP/VND heuristic for the one-commodity pickup-anddelivery traveling salesman problem, Computers & Operations Research, 36:1639–1645, 2009.
[15] H. Hernández-Pérez, J.-J. Salazar-González, A branch-and-cut algorithm for a traveling salesman problem with pickup and delivery, Discrete Applied Mathematics, 145:126–139, 2009.
[16] H. Hernández-Pérez, J.-J. Salazar-González, Heuristics for the onecommodity pickup-and-delivery traveling salesman problem, Transportation Science, 38:245–255, 2004.
[17] H. Hernández-Pérez, J.-J. Salazar-González, The one-commodity
pickup-and-delivery traveling salesman problem: Inequalities and algorithms, Networks, 50:258–272, 2007.
[18] A. Kaltenbrunner, R. Meza, J. Grivolla, J. Codina, R. Banchs, Urban cycles and mobility patterns: Exploring and predicting trends in a
bicycle-based public transport system, Pervasive and Mobile Computing, 6:455–466, 2010.
[19] J.-R. Lin, T. Yang, Strategic design of public bicycle sharing systems
with service level constraints, Transportation Research Part E 47:284–
294, 2010.
[20] G. Martinovic, I. Aleksi, A. Baumgartner, Single-commodity vehicle
routing problem with pickup and delivery service, Mathematical Problems in Engineering, Article ID 697981, 2008.
[21] C. Miller, A. Tucker, R. Zemlin, Integer programming formulations and
traveling salesman problems, em J. Association Comput. Machinery
7:326–329, 1960.
BIBLIOGRAPHY
47
[22] N. Mladenović, D. Urošević, S. Hanafi, A. Ilić, A general variable
neighborhood search for the one-commodity pickup-and-delivery travelling salesman problem, European Journal of Operational Research
220:270–285, 1960.
[23] OBIS Project, Optimization Bike Sharing in European cities. A handbook, 2011.
[24] S. N. Parragh, K. F. Doerner, R. F. Hartl, A survey on pickup and
delivery problems. Part I: Transportation between customers and depot,
Journal für Betriebswirtschaft, 58:21–51, 2008.
[25] S. N. Parragh, K. F. Doerner, l. R. F. Hart, A survey on pickup and
delivery problems. Part II: Transportation between pickup and delivery
locations, Journal für Betriebswirtschaft 58:81–117, 2008.
[26] J. Pucher, R. Buehler, M. Seinen, Bicycling renaissance in North America? An update and re-appraisal of cycling trends and policies, Transportation Research Part A, 45:451–475, 2011.
[27] T. Raviv, M. Tzur, I. Forma, Static repositioning in a bike-sharing system: models and solution approaches, EURO Journal of Transportation
and Logistics,2:187–229,2013.
[28] S. Shaheen, S. Guzman, H. Zhang, Bikesharing in Europe, the Americas, and Asia: Past, Present, and Future, Transportation Research
Record 2143:159–167, 2010.
[29] W. Souffriau, P. Vansteenwegen, G. Vanden Berghe, D. Van Oudheusden, The planning of cycle trips in the province of East Flanders,
Omega 39:209–213, 2011.
[30] X. Shi, F. Zhao, Y. Gong, Genetic algorithm for the one-commodity
pickup-and-delivery vehicle routing problem, in: IEEE International
Conference on Intelligent Computing and Intelligent Systems, volume 1:
175–179, 2009.
[31] P. Toth and D. Vigo. (eds.) The Vehicle Routing Problem. SIAM,
2002.
[32] P. Toth and D. Vigo. (eds.) Vehicle Routing: Problems, Methods, and
Applications. SIAM, 2014.
[33] P. Vogel, D. Mattfeld, Modeling of repositioning activities in bikesharing systems, in: 12th WCTR, Lisbon, Portugal, 1–13, 2010
[34] F. Wang, A. Lim, Z. Xu, The one-commodity pickup and delivery
travelling salesman problem on a path or a tree, Networks 48:24–35,
2006.
48
BIBLIOGRAPHY
[35] F. Zhao, S. Li, J. Sun, D. Mei, Genetic algorithm for the one-commodity
pickup-and-delivery traveling salesman problem, Computers & Industrial Engineering, 56:1642–1648, 2009.
Chapter 3
A Destroy and Repair
Algorithm for the Bike
sharing Rebalancing Problem
In this chapter, we deal with the Bike sharing Rebalancing Problem (BRP),
the problem of driving a fleet of capacitated vehicles to redistribute bicycles
among the stations of a bike sharing system that we have already described
in Chapter 2. We tackle the BRP with a newly developed metaheuristic
algorithm that includes the use of an effective new constructive heuristic
and of seven local search procedures for which we propose some techniques
to reduce the complexity of the neighborhood exploration. In addition, we
adapted the algorithm for the BRP to solve the one-commodity Pickup and
Delivery Vehicle Routing Problem (1-PDVRP), a problem similar to the
BRP where a maximum duration is imposed for each route. Moreover, we
adapted an available branch-and-cut algorithm for the BRP to solve the
1-PDVRP and we show how to effectively handle the duration constraint in
a two-index formulation for the general VRP. Our metaheuristic algorithm
for the BRP improved the best known solutions of instances from the literature. We also tested our algorithm on newly collected, very large real-world
instances obtaining good quality solutions. Morover, we solved literature
1-PDVRP instances with our algorithm improving remarkably the quality
of the solutions and obtaining some new solution that were proved to be
optimal by the developed branch-and-cut algorithm.
Keywords: Bike sharing, Rebalancing, Metaheuristic, 1-PDVRP, Speedup, Maximum duration, Branch-and-cut
49
50
3.1
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
Introduction
Bike sharing systems are public or private systems designed to increase the
use of bicycles and decrease congestion, to solve the last mile problem, and to
provide a mobility service to the users where other means of transportation
are not available. These systems were born in the 1960s in Amsterdam
(see, e.g., DeMaio [9]) and spread all over the world counting more than 700
operating systems and more than 200 systems planned, under construction
or about to be implemented (see e.g., DeMaio and Meddin [10]).
Bike sharing systems are composed of several bike stations located in different sites of the city and each station is composed of a number of bike slots
where bicycles can be returned or collected. In a balanced situation, each
bike station must have a certain number of empty slots, to allow arrivals,
and a certain number of full slots, to allow departures.
Let us define the level of occupation of a station as the number of bicycles
out of the number of slots present in that station, and the balanced level of
occupation as the level of occupation that the system operator desires in a
station in a balanced situation. After a certain amount of time, the users
will have moved the bicycles among the stations of the system and the level
of occupation will have gone far from the balanced one. For example, the
stations on the top of a hill will be typically empty and the stations at
the bottom will typically be full. This situation creates inefficiency in the
system such that users cannot collect or return bicycles when needed. The
system operators want the stations to be brought to their balanced levels of
occupation to avoid the inefficiency created by full and/or empty stations
and they perform a redistribution of bicycles that is called rebalancing. The
rebalancing is performed by vehicles and it is normally required every day at
the end of the day, when the system is closed or when the use of the system
can be considered negligible. In this case, the rebalancing is called static.
Some bike sharing operators may require that the rebalancing is performed
when the system is open, that is a dynamic rebalancing. In this chapter we
study the static case.
The Bike sharing Rebalancing Problem (BRP) is a problem related to
the static rebalancing of a bike sharing system and, in particular, drives a
fleet of homogeneous and capacitated vehicles to rebalance the stations of
a bike sharing system at minimum cost. In this chapter, we present a new
constructive heuristic and a set of efficient local searches that are included
into a metaheuristic algorithm for the BRP. This new algorithm provides
shorter solving times for the easiest instances and better upper bounds for
the hardest instances when compared to the branch-and-cut algorithm developed by Dell’Amico et al. [8] and good quality solutions for newly collected,
large real-world instances. Moreover, we adapted the metaheuristic algorithm to the one-commodity Pickup and Delivery Vehicle Routing Problem
(1-PDVRP), a variation of the BRP where a maximum duration constraint
3.2. PROBLEM DESCRIPTION
51
is imposed to each route. Instances of the 1-PDVRP from the literature have
been solved and the best known solutions been strongly improved. When
solving the 1-PDVRP, we adapted a previously available branch-and-cut
algorithm and we show how to efficaciously handle the maximum duration
constraint in a two-index formulation for general VRP problems. We believe
this to be an additional interesting contribution in the field of capacitated
vehicle routing.
The chapter is structured as follows. In Section 4.3, we formally define
the BRP and its variation with maximum duration constraint, known as
the 1-PDVRP. A mathematical model is proposed for both problems and a
brief literature review is reported. In Section 3.3, we describe some properties of the BRP that allow us to speed up local searches. In Section 3.4,
we present the framework of the proposed algorithm for the BRP and we
describe its components. In Section 3.5, we describe the adaptation of the
algorithm to the 1-PDVRP and the adaptation of a branch-and-cut algorithm by Dell’Amico et al. [8] to solve the same problem. In Section 3.6,
extensive computational results on newly collected real instances and on
literature instances are presented. We conclude in Section 7.7.
3.2
Problem description
The Bike sharing Rebalancing Problem (BRP) is modeled on a complete
digraph G = (V, A), where V = {0, 1, . . . , n} is the set of vertices including
the n stations and the depot (vertex 0) and A is the set of arcs between
each pair of vertices. Let cij be the non-negative cost associated with the
arc (i, j) ∈ A. For each vertex i ∈ V a request qi is given. Requests can
be positive or negative. If a station has a positive request, we call it pickup
station; if it has a negative request we call it delivery station. The quantities
picked up at pickup stations can be used to respond to requests of delivery
stations or go to the depot. Vehicles can leave the depot not necessarily
empty, if needed. The objective is to drive a fleet of m identical vehicles of
capacity Q available at the depot to respond to requests and to minimize
the total cost. We impose that a station with request qi = 0 must be visited,
even if this implies that no bike has to be dropped off or picked up there.
The case in which stations with null request have to be skipped can be
simply obtained by removing in a preprocessing phase those stations from
the set of vertices.
3.2.1
Formulation for the BRP
In this section, we present a mixed integer linear programming (MILP)
formulation to solve the BRP. The starting point is Formulation F3 by
Dell’Amico et al. [8] built on the multiple traveling salesman problem (mTSP), in which at most m uncapacitated vehicles based at a central depot
52
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
have to visit a set of vertices, with the constraint that each vertex is visited exactly once. By defining a binary variable xij , taking value 1 if arc
(i, j) is traveled by a vehicle, and 0 otherwise, the BRP can be modeled as
(3.1)–(3.6).
min z =
XX
(3.1)
cij xij
i∈V j∈V
X
xij = 1
j ∈ V \ {0}
(3.2)
xji = 1
j ∈ V \ {0}
(3.3)
i∈V
X
i∈V
X
x0j ≤ m
(3.4)
j∈V
XX
i∈S j∈S
( & P
')
q
i
i∈S
xij ≤ |S| − max 1,
Q
S ⊆ V \ {0} , S 6= ∅.
(3.5)
xij ∈ {0, 1}
i, j ∈ V.
(3.6)
Objective function (3.1) minimizes the traveling costs. Constraints (3.2)
and (3.3) impose that every node but the depot is visited once. Constraints
(3.4) ensure that at most m vehicles leave the depot. To guarantee the
feasibility of a solution with respect to the BRP, we need to substitute the
typical subtour elimination constraints by the family of constraints (3.5)
in the m-TSP formulation, so as to ensure that requests are satisfied and
vehicles capacities are not exceeded. Constraints (3.5) are similar to the
generalized subtour elimination constraints for the CVRP. They state that,
for each subset S of vertices, the number of arcs with both tail and head
in S should not exceed the cardinality of S minus the minimum number
of vehicles required to serve S. An estimation of the minimum number of
vehicles is simply obtained by computing the absolute value of the sum of
the requests, dividing it by the vehicle capacity and then rounding up the
result. This value can be zero when the sum of the qi is null; in such a
case, the value one is used instead, because at least one vehicle is needed
(notice that S does not contain the depot) to impose the connectivity of the
solution. Constraints (3.5) are exponentially many, so the above formulation
can be solved in branch-and-cut fashion, by invoking a separation procedure
to divide the violated ones from the non-violated ones, and then adding
the violated cuts to the model in an iterative way. For details we refer to
Dell’Amico et al. [8] and to Section 3.5.2 below.
3.2. PROBLEM DESCRIPTION
3.2.2
53
A special case of the BRP: the 1-PDVRP
The one-commodity Pickup and Delivery Vehicle Routing Problem (1-PDVRP)
is a generalization of the BRP in which a maximum duration constraint is
imposed for the routes. The problem was introduced by Shi et al. [32],
where the authors impose a maximum distance M D to each route. In this
chapter, we solve a more general version of the 1-PDVRP where the maximum distance M D is considered as a maximum duration in time, T , where
a time tij of traveling the arc (i, j) ∈ A is introduced and it is proportional
to the cost between i and j such that cij = τ tij . Moreover, we consider a
service time si in each station that depends on the quantity to be picked up
or dropped, such that si = σ|qi |. The scalars τ and σ are non-negative. We
solve the version of the 1-PDVRP that takes into account the traveling time
tij , the service time si , and the maximum duration of a route T because it
fits better with the BRP. The 1-PDVRP proposed by Shi et. al [32] is a
particular case of our version, where τ = 1, σ = 0, and T = M D.
When addressing the 1-PDVRP we need to express the maximum duration constraints. To do so, we define the set P of routes that identify paths
starting and ending at the depot. We guarantee that each route does not
exceed the maximum duration limit considering the traveling times of the
arcs of the path P and the service times of the visited stations as follows:
XX
(tij + sj )xij ≤ T
P ∈ P.
(3.7)
i∈P j∈P
Note that constraints (3.7) are exponentially many, and, hence, as already observed for (3.5), we need a separation procedure that divides violated constraints from non-violated ones.
3.2.3
Prior Work
The BRP and the 1-PDVRP belong to the class of Pickup and Delivery
Vehicle Routing Problems (PDVRP), and generalize the Capacitated Vehicle
Routing Problem (CVRP). Thus, they are both strongly NP-hard problems.
According to the classification introduced by Berbeglia et al. [3] and
followed by Battarra et al. [1] the BRP is a Many-to-Many (M-M) vehicle
routing problem, where M-M means that the origins and destinations of the
requests are multiple. The simplest M-M PDVRP is the one-commodity
Pickup and Delivery Traveling Salesman Problem (1-PDTSP), which has
been introduced by Hernández-Pérez and Salazar-González [18]. The 1PDTSP aims at traveling a single capacitated vehicle to meet the multiple
requests of a single commodity and minimize the costs. Hernández-Pérez
and Salazar-González [16] presented asymmetric and symmetric formulations for the 1-PDTSP and solved the symmetric one by means of a branchand-cut algorithm, which is then improved in Hernández-Pérez and SalazarGonzález [19]. Hernández-Pérez et al. [17, 15] presented also two simple
54
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
heuristics and a variable neighborhood descent. Other metaheuristic algorithms for the 1-PDTSP have been proposed, lately, by Martinovic et al.
[25] (iterated modified simulated annealing), Zhao et al. [35] (genetic algorithm), Hosny and Mumford [20] (hybrid variable neighborhood search
and simulated annealing approach), and Mladenović et al. [26] (variable
neighborhood search).
The BRP is a generalization of the 1-PDTSP to the case of multiple
vehicles, and has been formally introduced by Dell’Amico et al. [8]. They
proposed four formulations for the BRP and solved them by branch-and-cut.
They evaluated the algorithms on 65 real-world instances and 15 random
instances solving to optimality all instances with up to 51 vertices.
The multiple vehicle case with a maximum duration limit imposed for
every route, i.e., the 1-PDVRP, has been formally introduced by Shi et al.
[32]. They proposed a three-index formulation for which they did not report
any computational evaluation. They also presented a genetic algorithm and
tested it on a set of randomly generated symmetric instances derived from
those proposed by Hernández-Pérez and Salazar-González [17].
Many other papers deal with the balancing of bike sharing systems considering different aspects. We report a relevant collection of these papers by
dividing them in static rebalancing with split delivery, rich static rebalancing, and dynamic rebalancing. The static rebalancing with split delivery, the
case where customers can be visited more than once and their requests split,
is examined in Benchimol et al. [2]. They present complexity results, lower
bounding techniques and approximation algorithms for the single vehicle
case where the sum of all requests is equal to zero. A computational evaluation of the techniques was not given. Chemla et al. [5] also considered the
single vehicle case where split delivery is allowed, but they imposed a limit
on the maximum number of times a vertex can be visited. Stations with
null requests can be used as buffers. The authors presented a formulation
and a tabu search algorithm.
Several papers on rich static rebalancing problems have been presented
recently. We refer to rich static rebalancing problems as those where the
static rebalancing problem is considered and many features, such as transshipment, different objectives, multiple depots, and inventory policies, in
addition to split delivery, are accounted. Raviv et al. [28] defined the static
bicycle repositioning problem as the problem of minimizing the traveling
costs of a fleet of heterogeneous vehicles and the users’ dissatisfaction that
is linked to the inventory level of each station. They presented two MILP
formulations allowing, respectively, limited and unlimited split delivery and
transshipment, and considering also a maximum duration for each route.
They also developed exact and heuristic methods to solve the presented formulations. Rainer-Harbach et al. [27] solved another rich static problem
defined as the balancing bicycle sharing system problem, which intends to
find the routes of an heterogeneous fleet of vehicles to minimize the devia-
3.3. PROPERTIES OF FEASIBLE PATHS FOR THE BRP
55
tion from the target level of request of each station. They also considered,
as secondary objectives, the duration of the routes and the number of loading actions performed. The problem allows split delivery and transshipment
and it is imposed that the vehicles return empty to the depot. The authors
proposed a greedy constructive heuristic and some metaheuristic algorithms.
Di Gaspero et al. [12] solved a similar rich static rebalancing problem where
split delivery is allowed but intermediate storages are not. The problem
considers multiple depots and multiple vehicles, and a maximum duration
time imposed on each vehicle. The aim is to find routes that operate pickups and deliveries to bring the level of occupation in each station as close
as possible to the balanced one and that minimize the total traveling time.
The authors introduced two different constraint programming models and
proposed two branching strategies. Then they included the constraint programming models in a large neighborhood search approach obtaining good
computational results. Schuijbroek et al. [34] combined the inventory policy
and the routing optimization. The authors solved the problem of minimizing the makespan of the routes respecting a lower and a upper bound on the
number of bikes required in each station. The stations that do not need a
visit can be used as a buffer, the routes can be open and a limited number
of transshipment is allowed. The authors proposed a MILP formulation, a
constraint programming approach and a cluster-first route-second heuristic.
A solution method for the dynamic rebalancing, where requests can
change during the rebalancing operations, has been presented by Contardo
et al. [7]. The objective is to maximize the serviced requests by using a set
of vehicles. The authors presented a formulation using discretized time and
solved it heuristically with Dantzig-Wolfe and Benders decompositions.
3.3
Properties of feasible paths for the BRP
In this section, we present some properties of feasible BRP paths that allow
us to speed up the computation of several procedures that are at the basis
of our metaheuristic algorithm. These procedures are formally defined in
Section 3.4 and they are all based on the following set of operators:
• Remove a vertex i from its current position in the solution;
• Insert a vertex i in a position;
• Move a vertex i from its position to another one (composition of remove
and insert);
• Swap two vertices i and j by moving i to the position of j and j to
the position of i (once again, composition of remove and insert);
• Merge two (partial) routes.
56
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
Our speed-up techniques build on the basic route feasibility property
presented in [17], and that we recall here briefly. We recall that a path P
is an ordered sequence of vertices P (0), P (1), . . . , P (|P |), while a route is a
path that starts and ends at the depot, i.e., P (0) = P (|P |) = 0. Let us
first compute the cumulative request along a route by using the following
recursion
lP (0) (P ) = 0, and lP (i) (P ) =
i
X
qP (k) for i = 1, . . . , |P |.
(3.8)
k=0
In other words lP (i) (P ) gives the value of the load on the vehicle after visiting
vertex P (i) of path P , if the vehicle left the depot with no load. Negative
lP (i) (P ) values may still lead to feasible routes, because the initial load of
the vehicle is not restrained to be 0. In particular, a route is feasible if the
following inequality is satisfied
|P |−1
|P |−1
i=0
i=0
max {lP (i) (P )} − min {lP (i) (P )} ≤ Q.
(3.9)
In the following we make use of a parameter ∆P , that we call the amount
of feasibility of P and set as
|P |−1
|P |−1
i=0
i=0
∆P = Q − max {lP (i) (P )} + min {lP (i) (P )}.
(3.10)
Intuitively, routes with a small ∆P value have a tight constraint on the choice
of the initial load. This parameter can be used to define some sufficient
conditions, called ∆-checks in the following, for quick feasibility checks of
the previously introduced neighborhood operators.
Property 1 If |qi | ≤ ∆P , then vertex i can be feasibly inserted in any
position of route P .
Proof. Let P 0 be the route obtained after the insertion of vertex i in route
P . By applying (3.9), P 0 is feasible if
|P 0 |−1
|P 0 |−1
k=0
k=0
max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤ Q.
(3.11)
To prove that (3.11) holds if the hypothesis is satisfied, let us consider two
cases:
-) qi ≥ 0. In this case, with respect to the route P , the insertion of vertex
i may reduce or keep unchanged both the max and the min terms in
(3.11). The maximum difference between the two emerges when the
max increases by the maximum possible quantity, i.e., by qi , and the
min does not change. We can thus bound this difference as
3.3. PROPERTIES OF FEASIBLE PATHS FOR THE BRP
|P 0 |−1
57
|P 0 |−1
max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤
k=0
k=0
|P |−1
|P |−1
max {lP (k) (P )} + qi − min {lP (k) (P )} =
k=0
k=0
|P |−1
|P |−1
k=0
k=0
max {lP (k) (P )} + qi − min {lP (k) (P )} ≤
|P |−1
|P |−1
k=0
k=0
max {lP (k) (P )} + ∆P − min {lP (k) (P )} = Q,
where the last two steps follows, respectively, from the hypothesis and
from (3.10).
-) qi < 0. In this case we consider instead that the maximum difference between the two terms in (3.11) is obtained when the min term
decreases by qi and the max remains unchanged, thus we can state
that
|P 0 |−1
|P 0 |−1
max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤
k=0
k=0
|P |−1
|P |−1
k=0
k=0
max {lP (k) (P )} −
|P |−1
!
min {lP (k) (P )} + qi
≤
|P |−1
max {lP (k) (P )} − min {lP (k) (P )} − qi ≤
k=0
k=0
|P |−1
|P |−1
k=0
k=0
max {lP (k) (P )} − min {lP (k) (P )} + ∆P = Q,
and the thesis is verified.
Similar proofs, reported in the Annex 3.A, lead to the following results.
Property 2 Given a feasible route P :
a) If i ∈ P and |qi | ≤ ∆P , then vertex i can be feasibly removed from
route P ;
b) If i ∈ P and |qi | ≤ ∆P , then vertex i can be feasibly moved in any
position along route P ;
c) If i, j ∈ P and |qi − qj | ≤ ∆P , then the swap of vertices i and j is
feasible;
Moreover, given a pair of feasible routes P and R:
58
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
d) If i ∈ P , j ∈ R, and |qi −qj | ≤ min{∆P , ∆R }, then the swap of vertices
i and j is feasible.
Proof. See the Annex 3.A.
When the quick ∆-checks are not enough to certify feasibility of a move,
an exact check must be performed. We consider more elaborated data structures to reduce the computational complexity of the exact check. In this
sense, our contribution follows a well established line of research on difficult
combinatorial problems such as the vehicle routing with time windows and
scheduling with release and due dates (see, e.g., Ergun and Orlin [13], Liao
et al. [23], and Ibaraki et al. [21]).
We use the concept of load windows, that express the feasible intervals
of load that can be carried on the vehicle before or after visiting a vertex
along a given route, by extending the basic result in (3.9). In particular, we
use FP (i) (P ) = [f P (i) (P ), f P (i) (P )] to define the forward load window along
route P , i.e., the feasible interval for the load on the vehicle after leaving
vertex P (i), and supposing that P (i) is the last vertex of the route before
returning to the depot. This can be obtained by
h
i
FP (i) (P ) = f P (i) (P ), f P (i) (P ) =
(3.12)
i
i
lP (i) (P ) − min{lP (j) (P )}, lP (i) (P ) + Q − max{lP (j) (P )} .
j=0
j=0
The computation of (3.12) can be performed in linear time by using a simple
structure that keeps track of the minimum and maximum values without
recalculating them from scratch. Note that the amount of feasibility of P
can be quickly computed as ∆P = f P (|P |−1) (P ) − f P (|P |−1) (P ).
We similarly define the backward load window along route P , as BP (i) (P ) =
[bP (i) (P ), bP (i) (P )]. This load window gives the feasible interval for the
load on the vehicle before it visits vertex P (i), and considering that P (i)
is the first vertex in the route after the depot. This can be computed
by first using a recursion that gives the cumulative load rP (i) in the reverse route starting from the depot and visiting the vertices in the order
P (|P |), P (|P | − 1), . . . , P (i). Formally
rP (|P |) (P ) = 0, and rP (i) (P ) = −
i
X
qP (k) for i = |P | − 1, . . . , 0. (3.13)
k=|P |
We thus compute, again in linear time, the backward load window as
h
i
BP (i) (P ) = bP (i) (P ), bP (i) (P ) =
"
#
(3.14)
|P |
|P |
rP (i) (P ) − min{rP (j) (P )}, rP (i) (P ) + Q − max{rP (j) (P )} .
j=i
j=i
3.3. PROPERTIES OF FEASIBLE PATHS FOR THE BRP
59
The forward and backward windows are used to construct the following
property.
Property 3 Two disjoint and feasible routes P and R can be merged in a
feasible route P ⊕ R, where the last vertex of P before returning to the depot,
P (|P | − 1), is followed by the first vertex of R after the depot, R(1), if and
only if
FP (|P |−1) (P ) ∩ BR(1) (R) 6= ∅.
Proof. See the Annex 3.A.
By applying similar reasonings, we obtain the following additional results.
Property 4 Given a feasible BRP solution, the following moves lead to
another feasible solution.
a) Removing the first vertex after the depot or the last vertex before the
depot from a route is always feasible.
b) Removing a vertex P (i) from a route P is feasible if and only if
FP (i−1) (P ) ∩ BP (i+1) (P ) 6= ∅
c) Let I be the single-vertex route formed by vertex i, i.e., (0, i, 0). The
insertion of i into a route P after a node P (p) ∈ P is feasible if and
only if the two following conditions are satisfied. The first condition is
that i can be feasibly inserted after the first part of P , i.e., FP (p) (P ) ∩
Bi (I) 6= ∅. If this is true, then let
h
i
Fi (P ) = max{f P (p) (P ), bi (I)} + li (I), min{f P (p) (P ), bi (I)} + li (I) ,
and so obtain the second condition, that is Fi (P ) ∩ BP (p+1) (P ) 6= ∅.
d) Let I = (0, i, 0) and J = (0, j, 0). The swap of a vertex i ∈ P (let
P (h) = i) with another vertex j ∈ R is feasible if and only if the
following conditions are satisfied for route P and for route R. The
first condition for route P is FP (h−1) (P ) ∩ Bj (J) 6= ∅. If this is valid,
then let us compute
Fj (P ) =
h
i
max{f P (h−1) (P ), bj (J)} + lj (J), min{f P (h−1) (P ), bj (J)} + lj (J) .
The second condition is then Fj (P )∩BP (h+1) (P ) 6= ∅. Similarly, being
R(k) = j, for route R we have the following condition FR(k−1) (R) ∩
Bi (I) 6= ∅. If this is valid we can compute
Fi (R) =
i
h
max{f R(k−1) (R), bi (I)} + li (I), min{f R(k−1) (R), bi (I)} + li (I) .
60
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
Then the last condition to be satisfied is Fi (R) ∩ BR(k+1) (R) 6= ∅.
We conclude this section by discussing the update of the load windows.
Let us consider, for example, that a merging of two routes P and R has
been performed in this order. Let us consider the intersection between the
forward load window of the last node before the depot of route P , P (|P |−1),
and the first node after the depot of route R, R(1), that is: FP (|P |−1) (P ) ∩
h
i
BR(1) (R) = max{f P (|P |−1) (P ), bR(1) (R)}, min{f P (|P |−1) (P ), bR(1) (R)} =
φ, φ . It is convenient to update the existing forward and backward load
windows, without recomputing them from scratch. To update the forward
load window for the vertices of route R we can compute: FR(i) (P ⊕ R) =
φ + lR(i) (R), φ + lR(i) (R) , i = 1, . . . , |R|−1, while for the vertices of route
P the forward load window does not change. To update the backward
load windows for the vertices of route P we can compute: BP (j) (P ⊕ R) =
φ + rP (j) (P ), φ + rP (j) (P ) , j = 1, . . . , |P | − 1, while for the vertices of
route R the backward load window does not change.
3.4
Algorithm Framework
The overall framework of the algorithm that we use to solve the BRP is
reported in Algorithm 1. It mainly consist of an iterated destroy and repair
mechanism, enriched with local search procedures. The principle of using
solution destruction with a subsequent solution re-construction or repair
has been proposed in a number of different algorithms using names such as
simulated annealing (see, e.g., Jacobs and Brusco [22]), ruin-and-recreate
(see, e.g., Schrimpf et al. [33]), large neighborhood search (see, e.g., Shaw
[31]), iterated greedy (see, e.g., Ruiz and Stützle [30]), iterative constructive
search (see, e.g., Richmond and J. E. Beasley [29]), or iterative flattening
(see, e.g., Cesta et al. [4]). We first construct a feasible initial solution by
using a greedy algorithm (Savings&Losses, described in Section 3.4.1) and
we refine it by using a set of local search procedures (explained in Section
3.4.4). This solution is then iteratively destroyed and repaired by using
in order DestroyProcedure and RepairProcedure (presented in Sections 3.4.2
and 3.4.3, respectively), and again improved by the local search procedures,
until a StoppingCriterion is reached. Note that our algorithm works with
routes that are feasible with respect to the capacity constraint, but accepts
solutions in which the number of routes is larger than m. This number is
implicitly minimized by several of the adopted local search procedures.
3.4.1
Constructive algorithm
The constructive algorithm that we developed starts from the well-known
Savings algorithm by Clarke and Wright [6], but adapts it to the new prob-
3.4. ALGORITHM FRAMEWORK
61
Savings&Losses → (x∗ , z ∗ )
LocalSearches (x∗ ) → (xls , zls )
if zls < z ∗ then
z ∗ ← zls and x∗ ← xls
end if
repeat
DestroyProcedure (xls ) → (x̃)
RepairProcedure (x̃) → (x0 )
LocalSearches (x0 ) → (xls , zls )
if zls < z ∗ then
z ∗ ← zls and x∗ ← xls
end if
until StoppingCriterion
return x∗ and z ∗
Algorithm 1: Algorithm DR BRP
lem at hand by introducing the concept of loss of flexibility. We start by
building n routes, each containing a single vertex. We then iteratively select two routes and merge them into a single one, until no more merging is
possible.
To select the pair of routes to be merged, we take into account all possible
combinations. When considering the merging of routes, say, P and R, we
evaluate the feasibility of the resulting route P ⊕R by making use of Property
3. If feasible, then we evaluate the saving obtained in the cost function, if
any, as SP ⊕R = cP (|P |−1),R(1) − c0,R(1) − cP (|P |−1),0 . We also evaluate the
loss of flexibility induced by the merging, as the difference between the
amount of feasibility (as defined in Section 3.3) of the two original routes,
∆P and ∆R , and that of the resulting route ∆P ⊕R , computed as LP ⊕R =
∆P + ∆R − 2∆P ⊕R . In practice, a high value of LP ⊕R means that the size of
the resulting load window would be consistently reduced with respect to the
sizes of the original windows, and so the resulting route would be harder to
be feasibly merged with other routes in the successive iterations. We then
set an evaluation function that takes both terms into account, as
EP ⊕R = αSP ⊕R + (1 − α)LP ⊕R ,
(3.15)
where α is a parameter of the algorithm that takes values between 0 and 1. A
feasible merge of two routes leading to the lowest value according to (3.15),
is then selected. The value taken by α in our computational experiments is
discussed in Section 3.6.
We can note that only the backward load window of the first node after
the depot of route P and the forward load window of the last node before
the depot of route R are needed to determine the feasibility of merging the
62
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
two routes for Savings&Losses. Let us call FP (|P |−1) (P ) ∩ BR(1) (R) = φ, φ ,
then we can compute: FP ⊕R (P ⊕ R) = φ + lR(|R|−1) (R), φ + lR(|R|−1) (R)
and BP ⊕R (1) = φ + rP (1) (P ), φ + rP (1) (P ) .
Moreover rP (1) (P ) = −lR(|R|−1) (R) and lP ⊕R (|P ⊕ R| − 1)(P ⊕ R) =
lR(|R|−1) (R) + lP (|P |−1) (P ).
3.4.2
Destroy Procedure
To insert diversification into the metaheuristic algorithm, we make use of a
component called DestroyProcedure. It randomly selects a number of vertices one at a time, independently one from the other and with uniform
probability, and removes them from the current solution. The number of
vertices to be removed is also selected randomly with a uniform probability in an interval defined by the parameters π and δ; more precisely:
[max{3, π − δπ}, π + δπ]. Each selected vertex is removed from its current
route by applying the remove operator introduced in Section 3.3. If the
selected vertex is the first one (right after the depot) or the last one (right
before the depot) of a route, its removal can be operated without causing
infeasibility on the remaining route because of Property 4-(a). In all other
cases, we check the feasibility of the remaining route by checking Properties
2-(a) and 4-(b). If the remaining route is feasible, we perform the removal
of the selected vertex; if it is infeasible, we perform the removal and divide
the remaining route into the two separate routes defined by the removal
(which are then feasible again because of Property 4-(b)). The values taken
by the parameters π and δ were set after computational tests, as described
in Section 3.6. We found it computationally convenient to halve/double the
number of vertices to destroy every ten iterations of the main algorithm
loop.
3.4.3
Repair Procedures
After using DestroyProcedure, we have a partial solution where not every
vertex is allocated to a route, and some vertices that have not been assigned
to any route. To restore feasibility, we apply two repair procedures that
use the insert operator to include the non-assigned vertices into existing or
newly formed routes. In details:
1. RepairInsertion. We randomly select, with uniform probability, one of
the non-assigned vertices. We evaluate the feasibility and the cost of
inserting this vertex in any position in any route, plus the option of
creating a new route containing only this vertex. Among the feasible
options, we select the one having minimum cost, and then re-iterate
with the next non-assigned vertex until all of them are assigned. To
check the feasibility of the insertion we make use of Properties 1 and
4-(c) of Section 3.3.
3.4. ALGORITHM FRAMEWORK
63
2. Savings&Losses. We use the constructive algorithm of Section 3.4.1,
by considering the existing routes in the partial solution and each
non-assigned vertex as if it were a single-vertex route. Merging of the
routes follows the previously described process.
According to preliminary computational tests, we set RepairProcedure to
execute at each iteration of the algorithm either RepairInsertion or Savings&Losses, by alternating them.
3.4.4
Local Search Procedures
To improve the solution obtained by the constructive algorithm and/or after
a destroy and repair phase, we implemented several local search procedures
based on the operators introduced in Section 3.3.
Apart from ∆-checks, load windows, and fast update techniques previously described, we also make use of a simple but effective idea called Dont’
look bit, that we describe here for the insert operator. If we determine that
the insertion of a vertex into a route is infeasible, then we keep track of this
infeasibility as long as the route is not modified by other procedures, so as
to avoid useless feasibility reevaluations. A slight variation applies to the
swap neighborhood. We now give the details of the local search procedures
that we implemented.
1. MoveLS. Select a vertex, remove it from its current position and insert
it into another position, either in the same route or in a different one.
Feasibility is quickly checked by means of Properties 1, 2-(a), 2-(b),
4-(b), and 4-(c). If the selected vertex is the only vertex in its route,
then the route is deleted.
2. MoveConsecutiveLS. Select at most κ consecutive vertices in a route,
remove them from their current position and insert them into another
position, either in the same route or in a different one. Let us call
P the route from which we remove the κ vertices and R the one in
which we insert them. The feasibility of the removal is checked by
merging the two remaining subroutes of P as discussed in Property 3.
The feasibility of the insertion is instead performed in O(κ), by first
evaluating the κ forward and backward load windows of the removed
vertices as if they were a single route, and then merging them with
the first part of R by using again Property 3. If this is feasible, we
update the load windows and check the feasibility of merging this new
subroute with the second part of R. The value κ is a parameter of
the algorithm to be defined after computational tests, as described in
Section 3.6.
3. SwapLS. Select two vertices in the same route or in different routes
and swap them. The feasibility is checked by applying Properties 2-(c),
64
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
2-(d), and 4-(d).
4. SwapCoupleLS. It extends the previous local search by selecting two
pairs of consecutive vertices and swapping them, maintaining the same
order of the vertices in each pair. The process for checking feasibility
is similar to the one described for MoveConsecutiveLS, but simpler
because only pairs of vertices are moved in this case and no longer
lists of κ vertices.
5. SwapThreeLS. Select three nodes, say, v1 , v2 , and v3 , belonging to
either, one, two, or three routes, and swap them in the two possible
ways (v1 with v2 , v2 with v3 , v3 with v1 , or v1 with v3 , v3 with v2 , v2
with v1 ). Use Properties 2-(c), 2-(d), and 4-(d) for feasibility check.
6. CrossingLS. Select two routes, P and R, and two positions along the
routes. Cut each route right after the selected position, and merge the
first part of P with the second part of R, and the first part of R with
the second part of P . Use Property 3 for feasibility check. Note that
a particular case arises when a position is at the very beginning of
its route and the other position is at the very end of the other route,
when CrossingLS consequently attempts a merging of the two routes
into a single one.
7. CrossingThreeLS. It extends the previous local search, by selecting
three routes, and attempting the two possible ways of cutting and
merging them.
The number of routes in the solution is possibly decreased by the procedures MoveLS, MoveConsecutiveLS, CrossingLS, and CrossingThreeLS.
Every procedure is run in first improvement fashion, which is computationally preferable to best improvement on our instances (as defined by the
parameter ι). The procedures are inserted in a Variable Neighborhood Descent (VND) type framework (see, e.g., Hansen and Mladenović [14]), where
they are invoked one after the other according to a given order. Our implementation is a VND type framework because we do not come back to the
previous neighborhood if an improvement is found. In details, we continue
invoking local searches following the given order until the last one, then we
come back to the first local search procedure and repeat the order until no
improvement in the current solution is provided by all local search procedures. This method is similar to the piped VND (see, e.g., den Besten and
Stützle [11]), where the procedure stops at the end of the last local search
procedure. According to the preliminary computational tests, the order of
the local searches was set to 1, 3, 5, 4, 6, 2, and 7.
In terms of complexity, we first note that a straightforward implementation of MoveLS would require O(n3 ) time, because the number of possible
moves is O(n2 ) (considering each vertex to be removed and each insertion
3.5. ADAPTATION TO THE 1-PDVRP
65
position), and evaluating each move would require O(n) for computing feasibility of the at most two routes involved by the move. With the use of
the load windows we reduce this complexity to O(n2 ), because feasibility
is checked in O(1). Similar reasonings apply to the next local searches,
leading to the following complexities: O(n2 ) for MoveConsecutiveLS considering a fixed value of κ; O(n2 ) for SwapLS and SwapCoupleLS; O(n3 ) for
SwapThreeLS; O(n2 ) for CrossingLS and O(n3 ) for CrossingThreeLS.
3.5
Adaptation to the 1-PDVRP
In this section, we describe how we adapted the algorithm presented in
the previous section and the branch-and-cut of Dell’Amico et al. [8], both
originally developed for the BRP, to include the maximum route duration
constraint and to solve the 1-PDVRP.
3.5.1
Metaheuristic algorithm for the 1-PDVRP
To solve the 1-PDVRP making use of the metaheuristic algorithm developed
for the BRP, we must perform additional tests when checking the feasibility
of a solution, as the feasibility for the BRP is a necessary but not sufficient
condition for the feasibility of the 1-PDVRP. Thus, after checking that a
solution is feasible for the BRP, we evaluate that the sum of the travel and
service times of each route does not exceed the maximum duration.
The inclusion of this additional check can be performed without increasing the complexity when using the data structure as above. This inclusion
is easy for every component of our algorithm so we do not describe it in
details. We mention here the fact that the remove operator is always feasible because of the triangular inequality that we assumed to be valid for
the cost matrix, and thus the time matrix, whilst the insert operator needs
an additional check on the times of the routes. For local searches based on
the merge operator, it is convenient to keep track of the cumulative time
(service and travel) from the depot to any node in a route. This is useful, for
example, when performing a move of CrossingLS that attempts to merge the
first part of a route P with the second part of a route R. The total duration
of the resulting route can be obtained by summing the total time of the first
part of P , the time to travel along the connecting arc, and the total time
of the second part of R (obtained by subtracting the total time of the first
part of R from the total time of R).
3.5.2
Branch-and-Cut for the 1-PDVRP
To solve to optimality model (3.1)-(3.7) for the 1-PDVRP, a branch-and-cut
algorithm is required since an exponential number of constraints is considered. The branch-and-cut algorithm that we used is directly derived from
66
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
the one presented in Dell’Amico et al. [8]. We developed some new valid
inequalities for the different features of the problem and several separation
procedures have been added to the mentioned branch-and-cut algorithm.
We use the branch-and-cut framework of CPLEX 12.2, that solves at every
node of an enumeration tree the linear relaxation of a MILP model, and
then invokes user-developed separation procedures to possibly add cuts.
We first present some valid inequalities that we use to strengthen constraint (3.7), thus to improve the convergence of the algorithm to the optimum, and then we discuss the separation procedures that we implemented.
Valid inequalities
For the next family of inequalities we need some further notation. Let P be a
path. We recall that P (i) denotes the index of the i-th vertex of path P , for
i = 0, 1, . . . , |P |, with P (0) = 0. A path is called infeasible with respect to
P|P |−1
the maximum duration if i=0 (tP (i)P (i+1) + sP (i+1) ) > T . Adding tP (|P |),0
to the left hand side the check can be improved.
Let P be the family of all infeasible paths, the following infeasible path
constraints are thus valid inequalities for the BRP:
|P |−1
X
xP (i),P (i+1) ≤ |P | − 2
P ∈ P.
(3.16)
i=0
Inequality (3.16) simply states that, if path P is infeasible then not all
the arcs connecting two consecutive vertices of P may belong to a feasible
solutions. A way to enforce them is to consider the related tournament
constraints, by taking into account also the arcs connecting non-consecutive
vertices of P . Indeed, any arc (P (i), P (j)) with j 6= i+1 is incompatible with
arcs (P (i), P (i+1)) and (P (j −1), P (j)), because of, respectively, out-degree
and in-degree constraints. Hence, we can add the corresponding variable,
xP (i),P (j) to the left-hand side of (3.16), without affecting the right-hand
side value. This process can be repeated for all arcs connecting two nonconsecutive vertices in the path, with the exception of those arcs leaving the
depot, because up to m of them may belong to a feasible solution. We thus
obtain the following:
|P |−1
x0,P (1) +
|P |
X X
xP (i),P (j) ≤ |P | − 2
P ∈ P.
(3.17)
i=1 j=i+1
Inequalities (3.16) and (3.17) enforce the maximum route duration constraints, but are computationally very weak. To strengthen them in some
favored cases, we take advantage of a new type of constraint, similar to the
well-known capacity cut constraint, which we call time-packing constraint.
3.5. ADAPTATION TO THE 1-PDVRP
67
To express the time-packing constraint family of inequalities we need to
introduce a lower bound on the time needed to reach a node and serve it. Let
us define lbi (V ) = minj∈V :|qj +qi |≤Q {tji } + si , i ∈ V . If we compute the lower
bound in a subset S ⊆ V we have lbi (S) = minj∈S:|qj +qi |≤Q {tji } + si , i ∈ V .
Thus we can write the inequality (3.18), which computes a bound on the
number of vehicles needed to serve the customers in S while respecting the
maximum time constraint. Note that the equation also considers the time
needed to return to the depot 0. If the summation of all the lower bounds
is greater than the maximum time T then more routes are needed to serve
the subset S.
P
X X
i∈S lbi (V ) + lb0 (S)
xij ≥
S ⊆ V \ {0} , S 6= ∅, S ∩ {0} = ∅.
T
i∈S j∈V \S
(3.18)
Separation procedures
The aim of this subsection is to present the procedures that we use to determine if the valid inequalities that we proposed are violated by a given
possibly fractional solution x.
To separate constraints (3.18), we first build a supporting graph G =
(V , A), where the set of vertices is V = V ∪ {n + 1}, where {n + 1} is a
dummy node, and the set of arcs is A = A0 ∪ A00 . We have A0 = {(i, j) ∈ A :
xij > 0}, and a capacity xij is assigned to every arc (i, j) ∈ A0 ; moreover
A00 = {(n+1, i) : i ∈ V0 }. To each arc (n+1, i) ∈ A00 is associated a capacity
equal to lbi (V )/T . We then compute the max flow on G, using n + 1 as a
source and 0 as a sink. The constraint (3.18) corresponding to the set S
induced by the min-cut is then checked, and, if violated, it is added to the
model.
The tournament constraints (3.17) are separated exactly, by generating
all possible paths starting from the depot and using a depth-first strategy.
We initialize path P with P (0) = 0, then select the outgoing arc having the
largest value of x, and extend the path to include the head of the selected
arc. Every time we add a node to the path, we check if it is infeasible. If
so, then we add the cut and backtrack to the previous node, otherwise we
continue extending the path. The path extension continues as long as the
sum of the involved xij is large enough to possibly lead to a violated cut,
i.e., as long as it is strictly greater than |P | − 2. When it becomes smaller,
we backtrack to the previous node. Anytime we backtrack, we continue the
depth-first search by selecting the next arc with positive value of x and then
extend the path consequently.
Suppose a violated cut of type (3.17) has been found, then we know
that the set S = {P (1), P (2), . . . , P (|P |)} is currently visited by a single
vehicle (the one performing the path P ). This procedure can also be used
68
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
to separate the constraints (3.7). Indeed, when an infeasible path is found
we can impose a constraint (3.7) where the route is the path found.
The separation procedures are invoked at every node of the enumeration
tree in the order in which we described them. On the basis of computational
evidence on the instances we tested, we stop the separation process as soon
as we find a violated cut, if any.
3.6
Computational Results
In this section, we present the computational results for the metaheuristic
and the branch-and-cut algorithms that we implemented to solve the BRP
and the 1-PDVRP. To evaluate the quality of the metaheuristic algorithm
when solving the BRP, we used the instances by Dell’Amico et al. [8] and,
according to their method, we collected some new larger instances in terms of
number of stations. The new instances use real data of bike sharing systems
of the following cities: Brisbane, Milano, Lille, Toulouse, Sevilla, Valencia,
Bruxelles, Lyon, Barcelona and London. Some characteristics of the new
instances are reported in Table 3.1, where we depict the name of the city
and country in which the bike sharing system is located, and the number of
vertices of each instance. We then present the minimal, average, maximum
value and the standard deviation of the request and of the transportation
costs. To evaluate the performance of our algorithm on the 1-PDVRP we
used the instances proposed by Shi et al. [32].
According to the number of vertices |V |, we divided both the BRP and
the 1-PDVRP instances into three sets: for |V | ≤ 50, 50 < |V | < 100 and
|V | ≥ 100. We will refer to the three sets as small-size instances, mediumsize instances, and large-size instances, respectively.
We determined the parameter setting by tuning them with the irace
Package [24], which automatically configures optimization algorithms by
finding the most appropriate settings given a set of instances. We used
the default irace Package setting which sets using a maximum number of
1000 algorithms runs during the tuning. The stopping criterion for the
algorithm runs is set to ten, 600, and 3600 CPU seconds for small-size,
medium-size, and large-size instances, respectively. We decided to tune our
algorithm on a modified set of instances, derived by the medium-instances,
the Dublin instances, and the Minneapolis instances. We generated the
modified instances by perturbing the distances cij choosing randomly in
[cij − 0.1 · cij , cij + 0.1 · cij ], (i, j) ∈ A and by perturbing the demand qi of
10% of the nodes choosing randomly in [max{qi −2, −Q}, min{qi +2, Q}], i ∈
V \ {0}. Both BRP and 1-PDVRP instances have been tested with the
obtained set of parameters presented in Table 3.2. In the same table can be
found the parameters used for testing the instances. We recall that α and
δ can take real values in the interval [0, 1], π can take an integer value in
69
3.6. COMPUTATIONAL RESULTS
the interval [2, 15], ι can take value 0 for first improvement and 1 for best
improvement, and κ can take an integer number in the interval [3, |V |]).
All the tests reported in the following have been performed on a Intel Core
i3-2100 with 3.10 GHZ by using randomly generated seed values.
City
Country
|V | min{qi } avg{qi } max{qi } dev{qi } min{cij } avg{cij } max{cij } dev{cij }
Brisbane
Milano
Lille
Toulouse
Sevilla
Valencia
Bruxelles
Lyon
Barcelona
London
Australia
Italy
France
France
Spain
Spain
Belgium
France
Spain
U. K.
150
184
200
240
258
276
304
336
410
564
-15
-18
-20
-13
-20
-20
-13
-20
-17
-28
1.27
0.88
-0.42
-1.49
-1.56
-1.50
-0.18
-0.70
-2.56
-0.58
17
17
16
12
10
14
16
17
19
29
5.91
8.40
6.72
6.16
6.89
7.64
8.24
7.85
9.84
9.91
2
6
163
6
2
134
211
18
2
2
3769.07
3313.63
7450.82
3943.35
4652.58
4241.34
5844.93
4817.44
4699.91
5833.37
13959
8126
18877
12459
13510
13413
19032
47657
13671
19412
2129.98
1422.46
4655.73
1904.32
2305.15
1892.71
2726.70
3571.38
2229.90
3100.69
Table 3.1: New BRP instances.
Parameter
α
π
δ
ι
κ
Value
0.7335
4
0.6582
1
35
Table 3.2: Parameters used for computational tests.
3.6.1
Small-size Instances
To evaluate the algorithm on the set of small-size instances we ran it for ten
seconds taking note of the time when it found the best solution. Results are
reported in Table 3.3, where the instances are depicted by the name of city,
the number of vertices and the vehicle capacity. The table also reports the
value of the optimal solution (opt) obtained by the branch-and-cut presented
in Dell’Amico et al. [8] and the time needed to get the optimal solution
(tB&C ). The last five columns refer to algorithm DR BRP and report the
average solution value (avg) obtained by running the algorithm ten times for
a ten seconds time limit, the percentage gap between the optimal and the
average solution value (%gapavg = 100·(avg−opt)/opt), the minimal solution
value among the ten trials (min), the percentage gap between the minimal
solution value and the optimal one (%gapmin = 100 · (min − opt)/opt), and
the average time needed to obtain the best solution by the metaheuristic
algorithm(t b).
One can note that our metaheuristic algorithm DR BRP found the optimal solution in all ten trials for 37 out of 41 instances in times that are
competitive with the ones needed by the branch-and-cut algorithm and obtained the optimal solution at least once for the remaining four instances
70
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
of the set. The average gap of 0.04 % from the optimal solution within an
average time of 0.66 seconds is extremely promising.
Instance
City
Bari
Bari
Bari
Reggio Emilia
Reggio Emilia
Reggio Emilia
Bergamo
Bergamo
Bergamo
Parma
Parma
Parma
Treviso
Treviso
Treviso
La Spezia
La Spezia
La Spezia
Buenos Aires
Buenos Aires
Ottawa
Ottawa
Ottawa
San Antonio
San Antonio
San Antonio
Brescia
Brescia
Brescia
Roma
Roma
Roma
Madison
Madison
Madison
Guadalajara
Guadalajara
Guadalajara
Dublin
Dublin
Dublin
Avg.
B&C
DR BRP (10 sec)
|V |
Q
opt
tB&C
avg
%gapavg
min
%gapmin
t b
13
13
13
14
14
14
15
15
15
15
15
15
18
18
18
20
20
20
21
21
21
21
21
23
23
23
27
27
27
28
28
28
28
28
28
41
41
41
45
45
45
30
20
10
30
20
10
30
20
12
30
20
10
30
20
10
30
20
10
30
20
30
20
10
30
20
10
30
20
11
30
20
18
30
20
10
30
20
11
30
20
11
14600
15700
20600
16900
23200
32500
12600
12700
13500
29000
29000
32500
29259
29259
31443
20746
20746
22811
76999
91619
16202
16202
17576
22982
24007
40149
30300
31100
35200
61900
66600
68300
29246
29839
33848
57476
59493
64981
33548
39786
54392
0.02
0.02
0.03
0.02
0.03
0.05
0.03
0.00
0.11
0.02
0.02
0.05
0.05
0.03
0.09
0.03
0.03
0.09
0.37
3.58
0.02
0.02
0.11
0.08
0.09
1.06
0.06
0.20
1.37
0.84
1.72
0.58
0.02
0.05
0.53
0.22
0.34
1.79
6.05
76.72
610.80
14600.0
15700.0
20600.0
16900.0
23200.0
32500.0
12600.0
12700.0
13500.0
29000.0
29000.0
32500.0
29259.0
29259.0
31443.0
20746.0
20746.0
22811.0
76999.0
91619.2
16202.0
16202.0
17576.0
22982.0
24007.0
40149.0
30300.0
31100.0
35200.0
61900.0
66670.0
68300.0
29246.0
29839.0
33848.0
57476.0
59493.0
64981.0
33595.4
39817.2
55000.6
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.11
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.14
0.08
1.12
14600
15700
20600
16900
23200
32500
12600
12700
13500
29000
29000
32500
29259
29259
31443
20746
20746
22811
76999
91619
16202
16202
17576
22982
24007
40149
30300
31100
35200
61900
66600
68300
29246
29839
33848
57476
59493
64981
33548
39786
54392
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.01
0.01
0.01
0.00
0.00
0.00
0.00
0.04
0.04
0.08
0.03
0.03
0.12
0.03
4.20
0.00
0.00
0.02
0.00
0.05
0.37
0.07
0.09
0.39
0.36
3.46
0.00
0.04
0.04
0.20
2.14
1.48
2.41
2.29
3.73
5.28
0.00
0.66
17.25
0.04
Table 3.3: Results on small-size instances
3.6.2
Medium-size Instances
The computational results for the medium-size instances of the BRP are
reported in Table 3.4. Some information on the branch-and-cut algorithm
of Dell’Amico et al. [8] is reported, such as the best lower and upper bounds,
the percentage gap between them (gap = 100 · (U B − LB)/U B), and the
time needed to get these values in a time limit set to one hour. Then we
present zavg (under multicolumn Avg), the average solution obtained by
running the algorithm ten times for ten minutes, and the percentage gaps
between zavg and the lower and upper bounds from the branch-and-cut,
%gapLB = 100 · (zavg − LB)/LB and %gapU B = 100 · (zavg − U B)/U B,
respectively. In Table 3.4 are also presented the minimal values zmin (under
M in) obtained by the algorithm on the ten trials and the gaps between
71
3.6. COMPUTATIONAL RESULTS
zmin and the bounds of the branch-and-cut computed in the same form as
for Avg. We also show the average time needed to obtain the best solution
with a time limit set to 600 seconds in t b.
One can notice that the algorithm can procure the optimal solution
for seven instances out of eight for which an optimal solution was given.
To notice the improvement on the upper bound obtained for the instances
Ciudad de Mexico (90,30) and Ciudad de Mexico (90,20), where we improve
the solution in average of 17.49 % and 18.72%, respectively, and in the best
case of 18.08% and 18.98%, respectively.
We can see that on average the metaheuristic algorithm finds solutions
2.68% above the lower bound obtained by the branch-and-cut and algorithm
and improves the upper bound by 2.81%; the best solution cost is only 2.28%
above the lower bound and improves the upper bound by 3.17%.
Instance
DR BRP (10 min)
B&C
Avg
City
Denver
Denver
Denver
Rio de J.
Rio de J.
Rio de J.
Boston
Boston
Boston
Torino
Torino
Torino
Toronto
Toronto
Toronto
Miami
Miami
Miami
C. de M.
C. de M.
C. de M.
Avg.
|V | Q
51
51
51
55
55
55
59
59
59
75
75
75
80
80
80
82
82
82
90
90
90
30
20
10
30
20
10
30
20
16
30
20
10
30
20
12
30
20
10
30
20
17
LB
51583
53465
67459
122547
155446
253690
65669
71879
74790
47634
50204
58814
40794
42621
54238
152229
209379
390536
67894
88952
99714
U B %gap
51583
53465
67459
122547
156140
259049
65669
71879
75065
47634
50204
64797
41549
47898
60763
156104
229237
415762
88227
116418
109573
0.00
0.00
0.00
0.00
0.44
2.07
0.00
0.00
0.37
0.00
0.00
9.23
1.82
11.02
10.74
2.48
8.66
6.07
23.05
23.59
9.00
t
0.67
25.33
231.52
65.57
3600.00
3600.00
28.14
473.84
3600.00
13.79
859.69
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
3600.00
M in
zavg %gapLB %gapU B
51583
53465
67459
122582.1
155992.7
257412.5
65669
72057.2
75318.8
47634
51026
62031.6
41783.5
46876.6
58878.7
154344.7
215167.1
402746.8
72797.5
94621.6
104213.7
5.17 2309.45
0.00
0.00
0.00
0.03
0.35
1.47
0.00
0.25
0.71
0.00
1.64
5.47
2.43
9.98
8.56
1.39
2.76
3.13
7.22
6.37
4.51
2.68
0.00
0.00
0.00
0.03
-0.09
-0.63
0.00
0.25
0.34
0.00
1.64
-4.27
0.56
-2.13
-3.10
-1.13
-6.14
-3.13
-17.49
-18.72
-4.89
t b
0.48
24.68
102.99
198.66
304.13
241.12
16.16
178.16
280.50
246.44
251.83
303.85
201.49
269.37
321.39
335.05
265.13
300.28
213.91
254.22
359.59
zmin %gapLB %gapU B
51583
53465
67459
122547
155517
257147
65669
71916
75085
47634
50438
61717
41390
46631
58539
154038
214250
397921
72279
94319
103658
-2.81 222.35
0.00
0.00
0.00
0.00
0.05
1.36
0.00
0.05
0.39
0.00
0.47
4.94
1.46
9.41
7.93
1.19
2.33
1.89
6.46
6.03
3.96
0.00
0.00
0.00
0.00
-0.40
-0.73
0.00
0.05
0.03
0.00
0.47
-4.75
-0.38
-2.65
-3.66
-1.32
-6.54
-4.29
-18.08
-18.98
-5.40
2.28
-3.17
Table 3.4: Results on medium-size instances
3.6.3
Large-size Instances
In Table 3.5, we report the results for the large-size BRP instances. The
tests have been performed similarly to those for the medium-size instances
making use of the same parameter values, but with a time limit of 1800
seconds. The columns depicted in Table 3.5 are the same used in Table 3.4,
even if the column reporting the times of the branch-and-cut algorithm is
not necessary anymore since the time limit of one hour is always reached.
One can notice that the branch-and-cut algorithm is not giving good
bounds for the large-size instances, on the other hand we can comment that
in most of the cases we can get heuristic solutions with a value closer to the
72
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
lower bound than to the upper bound, which is improved by a 33.92%, in
average.
Instance
DR BRP (30 min)
B&C (1 h)
Avg
City
|V | Q
Minneapolis
Minneapolis
Minneapolis
Brisbane
Brisbane
Brisbane
Milano
Milano
Milano
Lille
Lille
Toulouse
Toulouse
Toulouse
Sevilla
Sevilla
Valencia
Valencia
Bruxelles
Bruxelles
Bruxelles
Lyon
Lyon
Barcelona
Barcelona
Barcelona
London
London
116
116
116
150
150
150
184
184
184
200
200
240
240
240
258
258
276
276
304
304
304
336
336
410
410
410
564
564
Avg.
30
20
10
30
20
17
30
20
18
30
20
30
20
13
30
20
30
20
30
20
16
30
20
30
20
19
30
29
LB
136148
157736
246133
108275
132419
147236
145245
187175
203716
164149
191630
166653
190739
256036
194805
240210
245979
302368
255259
301100
348303
300950
356787
311774
449060
429327
385748
363299
U B %gap
137843
186449
298886
158043
196739
234210
227983
295994
299630
231244
440350
404792
427959
461125
461011
516734
673479
698436
502920
580594
626721
580437
668971
983627
1088850
1089070
1304850
1339890
1.23
15.40
17.65
31.49
32.69
37.14
36.29
36.76
32.01
29.01
56.48
58.83
55.43
44.48
57.74
53.51
63.48
56.71
49.24
48.14
44.42
48.15
46.67
68.30
58.76
60.58
70.44
72.89
45.85
M in
zavg %gapLB %gapU B
139874.3
166797.0
264335.2
115949.2
146930.0
160385.6
168931.2
219558.6
236394.9
178133.5
215007.8
190146.8
231062.0
308982.7
227911.7
281492.2
292262.6
370057.4
315487.7
379141.4
426992.4
364083.4
437588.1
545633.1
774818.4
805513.2
705232.0
725468.0
t b
2.74
5.74
7.40
7.09
10.96
8.93
16.31
17.30
16.04
8.52
12.20
14.10
21.14
20.68
16.99
17.19
18.82
22.39
23.60
25.92
22.59
20.98
22.65
75.01
72.54
87.62
82.82
99.69
1.47
-10.54
-11.56
-26.63
-25.32
-31.52
-25.90
-25.82
-21.10
-22.97
-51.17
-53.03
-46.01
-32.99
-50.56
-45.52
-56.60
-47.02
-37.27
-34.70
-31.87
-37.27
-34.59
-44.53
-28.84
-26.04
-45.95
-45.86
745.28
1003.72
946.37
742.81
957.83
966.44
871.18
823.76
1048.32
666.67
280.09
1147.86
1398.52
868.98
898.40
1054.31
789.54
1064.40
851.97
835.66
1038.33
879.61
1136.03
458.27
1538.57
1411.27
1572.97
1447.33
27.78
-33.92
980.16
zmin %gapLB %gapU B
138467
166150
262936
115120
146313
160015
167493
218249
234423
176976
213090
188995
228674
307874
225076
279990
287854
367201
311097
376387
424432
360009
433959
543929
771507
800622
699571
718026
1.70
5.33
6.83
6.32
10.49
8.68
15.32
16.60
15.07
7.81
11.20
13.41
19.89
20.25
15.54
16.56
17.02
21.44
21.88
25.00
21.86
19.62
21.63
74.46
71.80
86.48
81.35
97.64
0.45
-10.89
-12.03
-27.16
-25.63
-31.68
-26.53
-26.27
-21.76
-23.47
-51.61
-53.31
-46.57
-33.23
-51.18
-45.82
-57.26
-47.43
-38.14
-35.17
-32.28
-37.98
-35.13
-44.70
-29.14
-26.49
-46.39
-46.41
26.83
-34.40
Table 3.5: Results on large-size instances
3.6.4
Local Searches Evaluation
In this subsection we furnish with an insight on the contribution of the local
search procedures with respect to the complete DR BRP algorithm. We
produced seven versions of our algorithm, by removing one of the seven local search procedures. Each version was run ten times on the medium-size
instances, but disregarding the Denver instances because they are too easy
and thus not interesting for this study. In Table 3.6 we report for each
evaluated instance the percentage gap, %gap(·) , between the average solution value obtained by the complete DR BRP algorithm and the average
solution value reached without the local search procedure (·). The index of
the local search procedure in Table 3.6 is the one already used in Section
3.4.4 (e.g., %gap1 gives the percentage gap between DR BRP and DR BRP
without MoveLS). By looking at the average values, reported in the last
line of the table, one can notice that all local search procedures that we implemented have a positive contribution to the behavior of DR BRP. Indeed
each removal leads to slightly worse solutions. In particular, MoveConsecutiveLS (index 2) and CrossingLS (index 6) have the largest impact on the
overall algorithm, as their removal worsens the average solution value by
73
3.6. COMPUTATIONAL RESULTS
0.74% and 0.18%, respectively.
City
Rio de Janeiro
Rio de Janeiro
Rio de Janeiro
Boston
Boston
Boston
Torino
Torino
Torino
Toronto
Toronto
Toronto
Miami
Miami
Miami
Ciudad de Mexico
Ciudad de Mexico
Ciudad de Mexico
Avg.
|V |
Q
%gap1
%gap2
%gap3
%gap4
%gap5
%gap6
%gap7
55
55
55
59
59
59
75
75
75
80
80
80
82
82
82
90
90
90
30
20
10
30
20
16
30
20
10
30
20
12
30
20
10
30
20
17
0.03
0.00
-0.03
0.00
-0.03
-0.08
0.00
-0.66
-0.23
0.15
0.49
-0.33
0.05
-0.11
0.07
0.12
0.06
-0.20
-0.36
-0.15
-0.17
-0.07
-0.07
-1.79
-0.42
-1.01
-0.59
-1.32
-1.89
-1.92
-0.09
-0.28
0.28
-1.59
-0.83
-1.11
-0.01
0.02
0.03
0.00
-0.03
-0.04
-0.02
-0.21
-0.13
0.07
0.39
-0.50
0.00
-0.17
0.18
-0.09
0.07
-0.16
-0.02
-0.04
-0.07
0.00
0.03
-0.36
0.00
-0.13
-0.09
-0.08
0.17
-0.40
0.04
-0.18
-0.09
0.09
-0.05
-0.09
-0.02
0.00
-0.06
0.00
0.02
-0.20
0.00
0.24
0.09
-0.14
0.41
-0.15
-0.06
-0.40
-0.30
0.10
-0.03
-0.09
0.00
-0.10
-0.04
0.00
-0.03
-0.03
-0.01
-0.20
-0.44
-0.33
-0.12
-1.00
-0.14
-0.22
0.34
-0.32
-0.24
-0.33
-0.01
0.00
-0.01
0.00
0.00
-0.13
-0.01
0.09
0.04
0.05
0.05
-0.43
0.05
-0.18
0.26
0.06
-0.07
-0.01
-0.04
-0.74
-0.03
-0.07
-0.03
-0.18
-0.01
Table 3.6: Evaluation of local search components.
3.6.5
1-PDVRP Instances
The metaheuristic algorithm developed from the BRP has been slightly modified to include the maximum duration constraint typical of the 1-PDVRP
and we use it to solve the instances available in the literature for the 1PDVRP (see, Shi et al. [32]).
To test the quality of our algorithm, we decided to solve the instances for
the 1-PDVRP setting as time limit the same times needed by the algorithm
presented by Shi et al. [32] to terminate. The PC on which we performed
our tests is faster compared to the one used by Shi et al. [32]. In particular,
our PC is equipped with a 3.10 GHz CPU while theirs with a 1.60 GHz
CPU. Hence, to perform a fair set of tests we assumed as time limit for each
instance the time needed by the algorithm of Shi et al. [32] divided by 3.10
and multiplied by 1.60. In Table 3.7, we present the results of these tests.
In details, we show the average solution obtained in the ten trials within
the time limit computed as previously explained (zavg ), and the average
time needed to find the best solution (t b). Then we recall the best average
solution of Shi et al. [32] (bestSZG ) and the gap between zavg and bestSZG
(%gapSZG = 100·(zavg −bestSZG )/zavg ). Moreover we replicate the minimal
solution obtained by our algorithm (zmin ) and the gap between zavg and zmin
(%gapmin = 100 · (zavg − zmin )/zavg ).
One can notice that DR BRP improves upon SZG algorithm by about
10%. In two cases (n40q10A and n400q10A), our algorithm needs more time
to reach an improved solution. Our algorithm reaches solution values only
3.66% above the best known ones, when using the SZG time limits.
In the following, we reproduce the experiments according to what we did
for the BRP instances. In Table 3.8, we present the results on the small-size
74
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
Inst.
|V |
Q
zavg
t b
bestSZG
%gapSZG
zmin
%gapmin
n20q10A
n30q10A
n40q10A
n50q10A
n60q10A
n100q10A
n200q10A
n300q10A
n400q10A
n500q10A
20
30
40
50
60
100
200
300
400
500
10
10
10
10
10
10
10
10
10
10
5001
6547.1
7619.3
7478.9
9445.1
12946.6
20423.4
26069.2
35588
34553.6
0.10
0.20
0.32
0.54
0.58
0.37
12.89
43.60
49.53
121.306
5515.4
6906
7476.4
9263.5
9931.6
14379.3
23331.7
29805.3
34574.4
39872.5
-10.29
-5.48
1.88
-23.86
-5.15
-11.07
-14.24
-14.33
2.85
-15.39
5001
6503
7407
7283
8939
12317
19341
24763
33764
32890
0.00
0.67
2.79
2.62
5.36
4.86
5.30
5.01
5.13
4.81
Avg.
22.94
-9.51
3.66
Table 3.7: Comparison with the SZG algorithm with proportionate time
limits.
instances for the 1-PDVRP. We recall that we ran the algorithm ten times
for ten seconds and set the parameters equally to the values used for the
instances of the BRP. In Table 3.8, we report the name of the instance, the
number of the vertices, and the vehicle capacity. We then include the value
of the optimal solution (opt) obtained thanks to the newly developed branchand-cut algorithm for the 1-PDVRP. In the columns underlying the DR BRP
multicolumn are shown the average and the minimum values of the ten trials
of our metaheuristic and their gaps with respect to the optimal solution. In
the columns under the multicolumn SZG we report the best average solution
(best) presented by Shi et al. [32] and the gaps relative to avg and min,
specifically %gap = 100·(avg−best)/best and %gap = 100·(min−best)/best.
In the last column we show the time needed by Shi et al. to get their
solutions.
One can see that with our metaheuristic we can solve all the small-size
instances to optimality every time for n20q10A, and at least once for the
other instances, within an average time of 3.01 seconds. Moreover, when
comparing our results to the algorithm presented by Shi et al. [32] it is
clear that we can improve the solutions of more than 9% in average with an
acceptable increase of computational times.
SZG
Inst.
n20q10A
n30q10A
n40q10A
n50q10A
Avg.
DR BRP
|V |
Q
opt
best
%gap
%gap
t
avg
%gapavg
min
%gapmin
t b
20
30
40
50
10
10
10
10
5001
6503
7407
7283
5515.4
6906
7476.4
9263.5
-9.33
-5.69
-0.02
-21.18
-9.33
-5.84
-0.93
-21.38
0.65
0.92
1.14
1.52
5001
6512.8
7474.8
7301.9
0.00
0.15
0.92
0.26
5001
6503
7407
7283
0.00
0.00
0.00
0.00
0.10
1.91
5.60
4.43
-9.05
-9.37
1.06
0.00
3.01
0.33
Table 3.8: Results on small-size instances for the 1-PDVRP.
In Table 3.9, we depict the results of our algorithm on the medium-size
and large-size instances of the 1-PDVRP. Since only one instance, n60q10A,
could be considered as a medium-size instance we show its results with those
derived by the large-size instances. Instance n60q10A has been run for ten
75
3.7. CONCLUSIONS
minutes, while the other instances for 30 minutes. All instances have been
run ten times by using the parameters used for the instances of the BRP.
Similarly to the previous tables, in Table 3.9 we show the name of the
instances, the number of vertices, and the vehicles capacity. We then present
the average value of the solution computed on the ten trials (zavg ), the best
value among them (zmin ), and the average time needed to obtain the best
solution (t b). In the remaining part of the Table we show the best average
solution presented by Shi et al. [32], the gaps %gapSZG = 100 · (zavg −
bestSZG )/bestSZG and %gapSZG = 100 · (zmin − bestSZG )/bestSZG , and the
needed computing times (tSZG ).
One can notice that our algorithm is able to improve every solution, in
particular we improve the solution of 11.91%, in average, and of 12.85%
considering the best solutions, within about 15 minutes, in average.
Inst.
|V |
Q
zavg
zmin
t b
bestSZG
%gapSZG
%gapSZG
tSZG
n60q10A
n100q10A
n200q10A
n300q10A
n400q10A
n500q10A
60
100
200
300
400
500
10
10
10
10
10
10
8941.1
12476.9
19619.5
25092.3
34209
33706.5
8939
12317
19341
24763
33951
33108
140.87
855.75
1181.46
808.87
1237.71
1203.76
9931.6
14379.3
23331.7
29805.3
34574.4
39872.5
-9.97
-13.23
-15.91
-15.81
-1.06
-15.46
-9.99
-14.34
-17.10
-16.92
-1.80
-16.97
2.01
14.85
47.00
100.25
156.47
240.06
-11.91
-12.85
93.44
Avg.
904.74
Table 3.9: Results on medium-size and large-size instances for the 1-PDVRP.
3.7
Conclusions
In this chapter, we solved the Bike sharing Rebalancing Problem proposing an effective metaheuristic algorithm in which are implemented a new
constructive heuristic and a set of local searches made more efficient by
some speed-up techniques. A related problem where a maximum duration
constraint is considered, the one-commodity Pickup and Delivery Vehicle
Routing Problem, has also been tackled by adapting the developed metaheuristic and the branch-and-cut algorithm. The branch-and-cut algorithm
used considers in an innovative and efficacious way the duration constraint
including inequalities and separation procedures that can be applied to general VRP problems with maximum duration constraints. We evaluated our
algorithms on newly collected real-world and literature instances for both
BRP and 1-PDVRP. We improved strongly the solutions reported in the
literature getting new optima and new best known solutions in effective
times.
76
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
3.A
Annex
Proof of Property 2
a) Let P 0 be the route obtained by removing vertex i from P . Route P 0
is feasible if
|P 0 |−1
0
|P 0 |−1
max {lP 0 (k) (P )} − min {lP 0 (k) (P 0 )} ≤ Q.
k=0
(3.19)
k=0
To prove that this is always satisfied, let us consider two cases:
-) qi ≥ 0. With respect to the original route P , the removal of
the vertex may either reduce or keep unchanged both the max
and min terms in (3.19). The maximum difference between the
two terms arises when the max remains unchanged and the min
decreases by the largest possible quantity, i.e., by qi . We can thus
state that:
|P 0 |−1
|P 0 |−1
max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤
k=0
k=0
|P |−1
|P |−1
k=0
k=0
max {lP (k) (P )} −
|P |−1
!
min {lP (k) (P )} − qi
=
|P |−1
max {lP (k) (P )} − min {lP (k) (P )} + qi ≤
k=0
k=0
|P |−1
|P |−1
k=0
k=0
max {lP (k) (P )} − min {lP (k) (P )} + ∆P = Q,
where the last two steps follow, respectively, from the hypothesis
and from Equation (3.10).
-) qi < 0. In this case we consider instead that the largest difference between the two terms in (3.19) is attained when the max
increases by −qi and the min remains unchanged, thus:
|P 0 |−1
|P 0 |−1
max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤
k=0
k=0
|P |−1
|P |−1
max {lP (k) (P )} − qi − min {lP (k) (P )} =
k=0
|P |−1
k=0
|P |−1
max {lP (k) (P )} − min {lP (k) (P )} − qi ≤
k=0
k=0
|P |−1
|P |−1
k=0
k=0
max {lP (k) (P )} − min {lP (k) (P )} + ∆P = Q.
b) Directly form Property 1 and Property 2.a.
77
3.A. ANNEX
c) Let P 0 be the route obtained by swapping vertices i and j in P . First
suppose that i precedes j in P . Then the proof follows the footsteps
of that of point a), by considering two cases, qi ≥ qj and qi < qj , and
showing that (3.19) is always satisfied when the hypothesis holds. The
same applies when j precedes i.
d) Let P 0 and R0 be the routes obtained from, respectively, P and R, after
the swap of i with j. Suppose without loss of generality that ∆P ≤ ∆R ,
and let us concentrate on P . Similarly to the proof of point a), we
consider two cases, qi ≥ qj and qi < qj . Then one can check that
Equation (3.19) is satisfied on both cases, when the hypothesis holds,
by applying a similar consideration to the one above on the largest
difference between the max and min values attained in the equation.
Note that the fact that the swap is feasible does not imply that the
single removal or insertion of a vertex is feasible, i.e., |qi | and/or |qj |
could be greater than ∆P . The same reasoning applies to route R and
that concludes the proof.
Proof of Property 3
We are given two disjoint and feasible routes P and R, to be merged in the
order (P ⊕ R). Recall that, by using (3.12), the last forward load window
of P can be expressed as
FP (|P |−1) (P ) =
|P |−1
lP (|P |−1) (P ) − mini=0 {lP (i) (P )},
(3.20)
|P |−1
lP (|P |−1) (P ) + Q − maxi=0 {lP (i) (P )} .
Now notice that the first backward load window of route R can be expressed
as the difference between the last forward load window of the route and the
cumulated demand along the route, that is
BR(1) (R) = FR(|R|−1) (R) − lR(|R|−1) (R).
(3.21)
The extreme values of FR(|R|−1) (R) can be expressed again by using (3.12),
obtaining
FR(|R|−1) (R) =
(3.22)
|R|−1
lR(|R|−1) (R) − mini=0 {lR(i) (R)},
|R|−1
lR(|R|−1) (R) + Q − maxi=0 {lR(i) (R)} .
Thus combining (3.21) and (3.23) we get
"
|R|−1
BR(1) (R) =
|R|−1
#
− min {lR(i) (R)}, Q − max {lR(i) (R)} .
i=0
i=0
(3.23)
78
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
Let us define, for the sake of simplicity, FP (|P |−1) (P ) = F = f , f and
BR(1) (R) = B = b, b . Their intersection is given by
F ∩ B = max{f , b}, min{f , b} .
We first show the “if” part of the thesis, that is, if the intersection of the two
load windows is not empty, then the combined route is feasible. The two
load windows can be basically seen as two intervals, thus their intersection
is not empty if
max{f , b} ≤ min{f , b}.
(3.24)
There are four cases. If max{f , b} = f and min{f , b} = f , then (3.24)
is satisfied because P is feasible for hypothesis. The same holds when the
max and min values are attained by b and b, respectively, because of the
feasibility of R. Let us now concentrate on the case where max{f , b} = f
and min{f , b} = b.
For this case (3.24) summarizes to f ≤ b, that using (3.21) and (3.23)
corresponds to
|P |−1
|R|−1
lP (|P |−1) (P ) − min {lP (i) (P )} ≤ Q − max {lR(i) (R)},
i=0
i=0
which can be rewritten as
|R|−1
|P |−1
i=0
i=0
max {lR(i) (R) + lP (|P |−1) (P )} − min {lP (i) (P )} ≤ Q.
(3.25)
Route P ⊕ R is feasible if the following condition is satisfied
|P ⊕R|−1
|P ⊕R|−1
i=0
i=0
max {lP ⊕R(i) (P ⊕ R)} − min {lP ⊕R(i) (P ⊕ R)} ≤ Q.
(3.26)
To prove this, first notice that we can rewrite
|P ⊕R|−1
maxi=0
{lP ⊕R(i) (P ⊕ R)} =
(3.27)
|P |−1
|R|−1
max{maxi=0 {lP (i) (P )}, maxi=0 {lR(i) (R) + lP (|P |−1) (P )}},
|P ⊕R|−1
mini=0
{lP ⊕R(i) (P ⊕ R)} =
|P |−1
|R|−1
min{mini=0 {lP (i) (P )}, mini=0 {lP (i) (R) + lP (|P |−1) (P )}}.
|P |−1
(3.28)
Because f ≥ b, we have that lP (|P |−1) (P ) + Q − maxi=0 {lP (i) (P )} ≥ Q −
|R|−1
maxi=0 {lR(i) (R)}, and thus
|R|−1
|P |−1
i=0
i=0
max {lR(i) (R) + lP (|P |−1) (P )} ≥ max {lP (i) (P )},
79
3.A. ANNEX
which combined with (3.28) gives
|P ⊕R|−1
|R|−1
i=0
i=0
max {lP ⊕R(i) (P ⊕ R)} = max {lR(i) (R) + lP (|P |−1) (P )}.
(3.29)
Similarly, from f ≥ b, it follows
|P |−1
|R|−1
lP (|P |−1) (P ) − min {lP (i) (P )} ≥ − min {lR(i) (R)},
i=0
i=0
and hence
|P |−1
|R|−1
min {lP (i) (P )} ≤ min {lR(i) (R) + lP (|P |−1) (P )},
i=0
i=0
which combined with (3.29) gives us that
|P ⊕R|−1
|P |−1
min {lP ⊕R(i) (P ⊕ R)} = min {lP (i) (P )}.
i=0
i=0
(3.30)
By including (3.29) and (3.30) into (3.25) we can thus conclude that
(3.26) is satisfied. The remaining case, max{f , b} = b and min{f , b} = f , is
specular to the one just discussed, and this concludes the first part of the
proof.
The “only if” part is proved similarly, noticing that F ∩ B = ∅ means
that max{f , b} > min{f , b}. Once again we have four cases, f > f and
b > b, which are impossible, and f > b and b > f , which are specular. We
concentrate on the case f > b, and use the consequent facts that f ≥ b and
f ≥ b. By applying similar steps to the ones in the “if” part we can show
that
|P ⊕R|−1
|P ⊕R|−1
i=0
i=0
max {lP ⊕R(i) (P ⊕ R)} − min {lP ⊕R(i) (P ⊕ R)} > Q,
and thus P ⊕ R is infeasible.
80
CHAPTER 3. DESTROY AND REPAIR FOR THE BRP
Bibliography
[1] M. Battarra, J.-F. Cordeau, and M. Iori. Vehicle Routing: Problems,
Methods, and Applications, Chapter 6: Pickup-and-Delivery Problems
for Goods Transportation. Vehicle Routing: Problems, Methods, and
Applications, Toth P. and Vigo D. (eds.) SIAM, 2014.
[2] M. Benchimol, P. Benchimol, B. Chappert, A. De La Taille, F. Laroche,
F. Meunier, and L. Robinet. Balancing the stations of a self service
”Bike Hire” system. RAIRO-Operations Reserach, 45:37–61, 2011.
[3] G. Berbeglia, J.-F. Cordeau, I. Gribkovskaia, and G. Laporte, Static
pickup and delivery problems: A classification scheme and survey. TOP,
15:1–31, 2007.
[4] A. Cesta, A. Oddi, and S. F. Smith. Iterative flattening: A scalable
method for solving multi-capacity scheduling problems. Proceedings of
the Seventeenth National Conference on Artificial Intelligence. AAAI
Press / The MIT Press, 742–747, 2000.
[5] D. Chemla, F. Meunier, and R. Wolfler Calvo. Bike sharing systems:
Solving the static rebalancing problem. Discrete Optimization, 10:120–
146, 2013.
[6] G. Clarke and J. W. Wright. Scheduling of vehicles from a central depot
to a number of delivery points. Operations research, 12:568–581, 1964.
[7] C. Contardo, C. Morency, and L.-M. Rousseau. Balancing a dynamic
public bike-sharing system. Technical Report CIRRELT-2012-09, CIRRELT, 2012.
[8] M. Dell’Amico, E. Hadjicostantinou, M. Iori, and S. Novellani, The bike
sharing rebalancing problem: Mathematical formulations and benchmark instances. Omega, 45:7–19, 2014.
[9] P. DeMaio, Bike Sharing: History, Impacts, Model of Provision and
Future. Journal of Public Transportation, 10:41–56, 2009.
[10] P. DeMaio and R. Meddin. Bike-sharing world map. [Online].
Available: http://bike-sharing.blogspot.it/, 2014.
81
82
BIBLIOGRAPHY
[11] M. den Besten and T. Stützle. Neighborhoods revisited: An experimental investigation into the effectiveness of variable neighborhood descent
for scheduling. in Proceedings of the 4th Metaheuristics International
Conference, Porto, Portugal, 2:545–550, 2001
[12] L. Di Gaspero, A. Rendl, and T. Urli. Balancing bike sharing systems
with constraint programming. Constraints, 2014 (submitted).
[13] Ö. Ergun and J. B. Orlin. Fast neighborhood search for the single machine total weighted tardiness problem. Operations Research Letters,
34:41–45, 2006.
[14] P. Hansen and N. Mladenović. Variable neighborhood search: Principles
and applications. European Journal of Operational Research, 130:449–
467, 2001.
[15] H. Hernández-Pérez, I. Rodrı́guez-Martı́n, and J.-J. Salazar-González.
A hybrid GRASP/VND heuristic for the one-commodity pickup-anddelivery traveling salesman problem. Computers & Operations Research, 36:1639–1645, 2009.
[16] H. Hernández-Pérez and J.-J. Salazar-González. A Branch-and-Cut Algorithm for a Traveling Salesman Problem with Pickup and Delivery.
Discrete Applied Mathematics, 145:126–139, 2004.
[17] H. Hernández-Pérez and J.-J. Salazar-González. Heuristics for the onecommodity pickup-and-delivery traveling salesman problem. Transportation Science, 38:245–255, 2004.
[18] H. Hernández-Pérez and J.-J. Salazar-González. The One-Commodity
Pickup-and-Delivery Travelling Salesman Problem. Lecture Notes in
Computer Science, 2570:89–104, 2003.
[19] H. Hernández-Pérez and J.-J. Salazar-González. The one-commodity
pickup-and-delivery traveling salesman problem: Inequalities and algorithms. Networks, 50:258–272, 2007.
[20] M. Hosny and C. Mumford. Solving the one-commodity pickup and
delivery problem using an adaptive hybrid VNS/SA approach. Parallel
Problem Solving from Nature, PPSN XI, ser. Lecture Notes in Computer Science, R. Schaefer, C. Cotta, J. Kolodziej, and G. Rudolph,
Eds. Springer, Berlin, 6239:189–198, 2010.
[21] T. Ibaraki, S. Imahori, M. Kubo, T. Masuda, T. Uno, and M. Yagiura.
Effective local search algorithms for routing and scheduling problems
with general time-window constraints. Transportation Science, 39:206–
232, 2005.
BIBLIOGRAPHY
83
[22] L. W. Jacobs and M. J. Brusco. A local search heuristic for large setcovering problems. Naval Research Logistics, 42:1129–1140, 1995.
[23] C.-J. Liao, H.-H. Tsou, and K.-L. Huang. Neighborhood search procedures for single machine tardiness scheduling with sequence-dependent
setups. Theoretical Computer Science, 434:45–52, 2012.
[24] M. López-Ibáñez, J. Dubois-Lacoste, T. Stützle, and M. Birattari.
The irace package, iterated race for automatic algorithm configuration.
IRIDIA, Université Libre de Bruxelles, Belgium, Tech. Rep.
TR/IRIDIA/2011-004, 2011. [Online]. Available: http://iridia.ulb.ac.
be/IridiaTrSeries/IridiaTr2011-004.pdf
[25] G. Martinovic, I. Aleksi, and A. Baumgartner. Single-Commodity Vehicle Routing Problem with Pickup and Delivery Service. Mathematical
Problems in Engineering, 2008.
[26] N. Mladenović, D. Urošević, S. Hanafi, and A. Ilić. A general variable
neighborhood search for the one-commodity pickup-and-delivery travelling salesman problem. European Journal of Operational Research,
220:270–285, 2012.
[27] P. Papazek, G. Raidl, M. Rainer-Harbach, and B. Hu. A pilot/vnd/grasp hybrid for the static balancing of public bicycle sharing systems. Computer Aided Systems Theory-EUROCAST 2013.
Springer, 372–379, 2013.
[28] T. Raviv, M. Tzur, and I. Forma. Static repositioning in a bike-sharing
system: models and solution approaches. EURO Journal on Transportation and Logistics, 2:187–229, 2013.
[29] A. J. Richmond and J. E. Beasley. An iterative construction heuristic
for the ore selection problem. Journal of Heuristics, 10:153–167, 2004.
[30] R. Ruiz and T. Stützle. A simple and effective iterated greedy algorithm
for the permutation flowshop scheduling problem. European Journal of
Operational Research, 177:2033–2049, 2007.
[31] P. Shaw. Using constraint programming and local search methods to
solve vehicle routing problems. Principles and Practice of Constraint
Programming - CP98, ser. Lecture Notes in Computer Science, M. J.
Maher and J.-F. Puget, (eds.), Springer, 1520:417–431, 1998.
[32] X. Shi, F. Zhao, and Y. Gong, Genetic algorithm for the one-commodity
pickup-and-delivery vehicle routing problem. IEEE International Conference on Intelligent Computing and Intelligent Systems, 2009, 1:175–
179, 2009.
84
BIBLIOGRAPHY
[33] G. Schrimpf, J. Schneider, H. Stamm-Wilbrandt, and G. Dueck. Record
breaking optimization results using the ruin and recreate principle.
Journal of Computational Physics, 159:139–171, 2000.
[34] J. Schuijbroek, R. Hampshire, and W.-J. van Hoeve. Inventory rebalancing and vehicle routing in bike sharing systems. 2013 (working paper).
[35] F. Zhao, S. Li, J. Sun, and D. Mei. Genetic algorithm for the onecommodity pickup-and-delivery traveling salesman problem. Computers
& Industrial Engineering, 56:642–1648, 2009.
Chapter 4
The Bike sharing
Rebalancing Problem with
Stochastic Demands
In this chapter we deal with stochastic versions of the Bike sharing Rebalancing Problem (BRP), the problem of driving a fleet of vehicles to redistribute bicycles among stations of a bike sharing system. In the stochastic
BRPs the demands of the stations are represented by random variables, each
one given with its probability distribution. We define two versions of the
BRP with stochastic demands, considering different decisions to be made
before the realization of the random variables. We modeled the problems as
stochastic programming models and tackled them by using different solving
approaches, including the L-Shaped method and branch-and-cut algorithms.
Moreover, we developed constructive heuristic algorithms based on the novel
use of positive and negative correlations between the bike stations, based
on their stochastic demands. The algorithms have been tested on newly
collected real-world instances and an extensive comparison between the different approaches is given.
Keywords: Stochastic Programming, Routing, Bike Sharing, Branch-andcut, Correlations
4.1
Introduction
Bike sharing systems are public or private systems used to solve the last mile
problem and to provide an additional mean of transportation to the users
moving across city centers. They appeared for the first time in Amsterdam
in the 60s and they multiplied consistently in the last two decades in every
continent. Bike sharing systems are made of several bike stations located in
different places in a city, town, university campus, etc. Each station is made
85
86
CHAPTER 4. THE STOCHASTIC BRP
of a number of slots where users can collect or drop off a bicycle. Users can
collect a bicycle, use it for a certain amount of time, and drop it off at a
station of their choice. Most of the times, users start and finish their trips in
two different stations, and they do not necessarily do the return trip using
the same mean of transportation. For instance, this is a typical situation
when the starting bike station is located on the top of a hill and the ending
bike station is at the bottom. Each station is associated with a number,
that is called balanced level of occupation, that is the number of bicycles
to be present in the station to make the station balanced. Note that if
all the stations are balanced then the system is balanced. Given a balanced
situation, after a certain amount of time, the system may become unbalanced
and this leads to inefficiencies for the users such as empty or full stations.
To rebalance the system we must bring the current situation of each station
to its balanced level of occupation. The demand of each station is defined as
the difference between the current level of occupation and the balanced one.
We consider stochastic demands representing different scenarios, each one
with its probability. The goal of this chapter is to rebalance an unbalanced
situation of a bike sharing system by using a fleet of capacitated vehicles
at minimum cost where demands are stochastic. We define the Stochastic
Bike sharing Rebalancing Problem and propose Stochastic Programming
models and exact and heuristic methodologies to solve them. In particular,
we present dedicated L-Shaped algorithms, branch-and-cut algorithms, and
some heuristic algorithms making use of the correlation between the nodes,
based on their demands. We computationally test our algorithms on realworld newly collected instances. We also define a similar problem in which
the load of each vehicle leaving the depot has to be decided in advance and
does not depend on the scenario. We compare and comment the objective
function of the two problems.
In Section 4.2 we produce a literature review, in Section 4.3 we formally
define the problems, for which we propose several formulations and exact
algorithms in Sections 4.4 and 4.5. Heuristic algorithms based on correlations between stations are proposed in Section 4.6. Computational results
are reported in Section 4.7.
4.2
Literature Review
The bike sharing systems and their issues have been treated in many works
lately, including strategical and tactical decisions, by defining and solving
several sets of optimization problems, evaluating different levels of detail
and various types of mathematical models and algorithms. One of the tactical problems that has been identified and solved is the one concerning the
redistribution of the bicycles among the stations that we call Bike sharing
Rebalancing Problem (BRP). Its deterministic static and dynamic versions
4.3. PROBLEMS DESCRIPTION
87
have been tackled. For a complete literature review on the static version we
refer the reader to the previous chapters, where recent works on exact and
metaheuristic algorithms are described. A dynamic version of the problem
is solved heuristically by Contardo et al. [4].
The deterministic versions of the problem have been studied and tackled
in many recent works and some papers that we describe in the following
made use of historical data. Instead, according to our knowledge, stochastic versions of the BRP have not been considered yet. Regue and Recker
[11] also solved a dynamic problem, where the routing and the inventory
problems are both accounted and the stochastic part is considered by using historical data by means of a demand forecasting model. Saharidis et al.
[12] define a mathematical formulation to design the bike sharing infrastructure, deciding the location and the size of the bike stations, incorporating
a hourly demand estimation. Wang and Wang [15] provide an analysis on
bike repositioning strategies proposing a simulation study where real time
and historical data are considered.
Stochastic optimization and in particular stochastic vehicle routing problems have been studied in several works and with diverse methodologies in
the last years, we refer the interested reader to Birge and Louveaux [2] and
to King and Wallace [5]. The stochastic vehicle routing problems where
the stochastic variables are the demands (i.e., the vehicle routing problems
with stochastic demands) have been modeled and solved with a chance constrained programming approach (see, e.g., Gouden and Stewart [13]), with
a robust optimization approach (see, e.g, Bertsimas and Simchi-Levi [1]),
and with stochastic programming with recourse (see, e.g., Laporte et al.
[6]). The reader can have an idea of the heterogeneity of the works on
the stochastic vehicle routing problems in Gendreau et al [6]. Besides that,
to our knowledge, problems with positive and negative stochastic demands
of the same product (i.e., one-commodity pickup and delivery VRPs/TSPs
with stochastic demands) have been tackled only by Louveaux and SalazarGonzález in [7] and [8], where they study the TSP version and a particular
attention is payed to the vehicle capacity. In the following we define, model
and solve two versions of the family of one-commodity pickup and delivery
VRPs with stochastic demands.
4.3
Problems description
The Stochastic Bike sharing Rebalancing Problem (SBRP) is modeled on a
complete digraph G = (V, A), where V = {0, 1, . . . , n} is the set of vertices
including the n customers and the depot (vertex 0) and A is the set of arcs
between each pair of vertices. For each vertex i ∈ V \{0} a request q̃iω is given
for every scenario ω ∈ Ω, where Ω is the set of all thePpossible scenarios and
pω is the probability of the scenario ω, knowing that ω∈Ω pω = 1. Requests
88
CHAPTER 4. THE STOCHASTIC BRP
can be positive or negative, we refer to as a pickup vertex and delivery vertex
if the request is positive or negative, respectively. The quantities picked up
at pickup vertices can be used to respond to demand of delivery vertices
or go to the depot, so as to some quantities can come from the depot, if
needed. We impose that a station with null request must be visited. In the
SBRP the demands of different vertices and scenarios can be not respected
by paying a penalty ki for each unit of slack and surplus in vertices i ∈ V .
These quantities of exceeding and lacking demands are limited by some
considerations on the dimension Hi of each station and the balanced level
of occupation di of each station. The objective of the SBRP is to drive the
fleet of m identical vehicles of capacity Q available at the depot to a set of
routes in order to respond to the scenario demands, if possible, or by paying
penalties, and minimizing the sum of the traveling costs and the penalty
costs.
The Stochastic Bike sharing Rebalancing Problem with Fixed starting
flows (SBRPF) is a similar problem, where the number of bikes to load on
each vehicle leaving the depot have to be determined before the realization
of the demands.
4.4
Formulations for the SBRP
In this section we present a set of formulations to solve the SBRP. We
adopted the terminology used in Birge and Louveaux [2].
4.4.1
Deterministic Equivalent Program
The first formulation we introduce in (4.1)-(4.12) is the Deterministic Equivalent Program (DEP). We define variables xij , (i, j) ∈ A, that can take value
1 if arc (i, j) is used and 0 otherwise. The cost of traveling arc (i, j) is cij .
Variable fijω represents the quantity flowing on the arc (i, j) ∈ A in scenario
ω ∈ Ω. Variables sωj and yjω are the slack and surplus variables used to pay
a cost kj for each unit of slack and surplus when the flows do not respect
the demand at vertex j ∈ V \ {0} in scenario ω ∈ Ω.
(DEP) min
XX
cij xij +
i∈V j∈V
X
X
ω∈Ω
pω
X
kj (yjω + sωj )
(4.1)
j∈V \{0}
xij = 1
j ∈ V \ {0}
(4.2)
xji = 1
j ∈ V \ {0}
(4.3)
i∈V
X
i∈V
X
j∈V
x0j ≤ m
(4.4)
89
4.4. FORMULATIONS FOR THE SBRP
XX
xij ≤ |S| − 1
S ⊆ V \ {0} , S 6= ∅
i∈S j∈S
(4.5)
fijω ≤ Qxij
X
ω
fji
−
i∈V
(i, j) ∈ A, ω ∈ Ω
(4.6)
X
fijω = q̃jω + yjω − sωj
j ∈ V \ {0} , ω ∈ Ω
i∈V
(4.7)
yjω
≤ dj
j ∈ V \ {0} , ω ∈ Ω
(4.8)
sωj ≤ Hj − dj
j ∈ V \ {0} , ω ∈ Ω
(4.9)
yjω , sωj ≥ 0
j ∈ V \ {0} , ω ∈ Ω
(4.10)
fijω ≥ 0
(i, j) ∈ A, ω ∈ Ω
(4.11)
xij ∈ {0, 1}
(i, j) ∈ A.
(4.12)
The objective function (4.1) of the DEP considers two components, one
that aims at minimizing the traveling costs and a second component that
pays a penalty kj for every unit of demand that is not fulfilled, multiplied by
the probability of the related scenario. Constraints (4.2) and (4.3) impose
that one and only one arc can enter and exit every vertex but the depot.
Constraint (4.4) set that the maximum number of arcs leaving the depot
is not grater than the available vehicles. Subtours are avoided thanks to
constraints (4.5). In (4.6) we state that the flows can be at most the capacity
of the vehicles if the corresponding arc is used, 0 otherwise. Constraints (4.7)
assert that the difference between the exiting and entering flows in a vertex
must be equal to the demand of a certain vertex and scenario corrected by
the surplus and the slack variables. In constraints (4.8) and (4.9) a bound is
set to the surplus and slack variables. In particular, we state that we cannot
exceed the capacity of the station and that we cannot collect more bikes than
what we have in the station. To make easier to understand constraints (4.8)
and (4.9), we report, in Figure 4.1, the possible balanced level of occupation
dj with respect to a negative or non-negative demand, given that lj is the
current level of occupation of a station j ∈ V \ {0}. One can correctly
say that the current level of occupation lj is the stochastic variable (more
properly ljω ), although because the balanced level of occupation is fixed
for each station, the demand can be considered as the stochastic variable
without loss of correctness, being
qjω = ljω − dj ,
j ∈ V \ {0}, ω ∈ Ω.
(4.13)
90
CHAPTER 4. THE STOCHASTIC BRP
We then impose the flow, slack and surplus variables to be positive in (4.10)
and (4.11). In (4.12) the x variables are declared booleans.
Figure 4.1: Picture of the parameters of a station.
4.4.2
Two-stage Formulation
In this subsection we propose a two-stage Stochastic Linear Programming
(SLP) model with simple recourse for the SBRP. As typical for the two-stage
SLP models we can separate the DEP into two stages, the first one takes
into account the deterministic part of the problem, the decisions to take
here and now, whilst the second stage model represents a set of models,
one for each scenario, that take as input the decisions made at the first
stage and make them fit with the request of the various scenarios after the
realization. To perform this fitting a cut is produced and inserted into the
first stage model. Both models must be solved in an iterative way: when the
inequalities produced by the second stage models do not cut the solution of
the first stage then the optimal solution has been found.
(1-Stage)
min
XX
cij xij + E(z(ω, y, s))
(4.14)
i∈V j∈V
X
xij = 1
j ∈ V \ {0}
(4.15)
xji = 1
j ∈ V \ {0}
(4.16)
i∈V
X
i∈V
X
x0j ≤ m
(4.17)
j∈V
XX
xij ≤ |S| − 1
S ⊆ V \ {0} , S 6= ∅
(4.18)
(i, j) ∈ A.
(4.19)
i∈S j∈S
xij ∈ {0, 1}
91
4.4. FORMULATIONS FOR THE SBRP
The objective function (4.14) of the first stage model contemplates the
traveling costs and the expected value of the solution of the second stage.
This second component of (4.14) is the expected value of the solutions of
the second stage models and substitutes the second component of (4.1), that
defined the costs due to the penalties. Constraints (4.15)-(4.19) are similar
to (4.2)-(4.5) and (4.12).
(2-Stage)
min z(ω, y, s) =
X
kj (yjω + sωj )
(4.20)
j∈V \{0}
fijω
≤ Qxij
X
X
ω
fji
−
fijω = q̃jω + yjω − sωj
i∈V
i∈V
ω
yj ≤ dj
sωj ≤ Hj − dj
yjω , sωj ≥ 0
fijω ≥ 0
(i, j) ∈ A
(4.21)
j ∈ V \ {0} (4.22)
j ∈ V \ {0} (4.23)
j ∈ V \ {0} (4.24)
j ∈ V \ {0} (4.25)
(i, j) ∈ A
(4.26)
The second stage formulation includes a model for each scenario ω ∈ Ω.
Constraints (4.22) impose that the difference between the outgoing and the
incoming flows coming from the first stage model respects the demands and,
if not possible, doing it by using slack and surplus variables. Every unit of
slack and surplus is payed into the objective function (4.20) with a cost kj .
The slack and surplus variables are bounded in (4.23) and (4.24). Then we
have the non-negativity constraints.
The most common way to solve a two-stage stochastic model is represented by the L-Shaped method (see, e.g., Birge and Louveaux [2]), which
solves the first stage LP, takes the linking variables between the two stages
(xij ) and uses them as fixed into all the second stage models. The dual problem of the second stage problem is then solved for each ω ∈ Ω: if at least
one dual of the second stage problem is unbounded we need a feasibility cut,
i.e., the first stage solution is not feasible for every scenario and we must
impose its feasibility with a cut and solve again the first stage model.When
all duals are feasible we could need to introduce an optimality cut, if it does
not cut the solution then this is optimal, otherwise the cut that imposes the
solution vector to change or the penalty value (η, the variable that considers
the expected value of the second stage model) to increase. In this latter case
we must recompute the first stage model with the new cut.
Then the dual problem of the second stage problem can be written as in
92
CHAPTER 4. THE STOCHASTIC BRP
(4.27)-(4.38).
(2-Stage Dual) max zD (ω, y, s) = Q
XX
xij µωij +
i∈V j∈V
X
qjω φωj +
j∈V \{0}
X
(4.27)
dj πjω +
j∈V \{0}
X
(Hj + dj )νjω
j∈V \{0}
µωjj ≤ 0
j∈V
(4.28)
µω0j − φωj ≤ 0
µωj0 + φωj ≤ 0
µωij + φωi − φωj
j ∈ V \ {0}
(4.29)
j ∈ V \ {0}
(4.30)
≤0
(i, j) ∈ A, i, j 6= 0, i 6= j
(4.31)
π0ω ≤ k0
πjω − φωj ≤
ν0ω ≤ k0
νjω + φωj ≤
µωij ≥ 0
νjω , πjω ≥ 0
φωj f ree
(4.32)
kj
j ∈ V \ {0}
(4.33)
(4.34)
kj
j ∈ V \ {0}
(4.35)
(i, j) ∈ A
(4.36)
j ∈ V \ {0}
(4.37)
j ∈ V \ {0}.
(4.38)
The overall formulation of the L-Shaped method, that we call L-Shaped
Formulation, can be written as in (4.39)-(4.47), where η is the variable that
takes into account the penalties caused by the second stage models and the
derived optimality cuts which are made explicit in (4.40). The feasibility cuts
are shown in (4.41). |Topt | is the number of iterations providing optimality
cuts, while |Tf eas | is the number of iterations giving feasibility cuts, and
|Topt | + |Tf eas | is the number of the iteration needed to obtain the optimal
solution.
(L-Shaped) min
XX
i∈V j∈V
cij xij + η
(4.39)
93
4.4. FORMULATIONS FOR THE SBRP
η≥
X
X ω,t
µij xij −
pω − Q
ω∈Ω
(i,j)∈A
X
ω
φω,t
i qi
−
πiω,t di −
X
t ∈ Topt
(4.40)
t ∈ Tf eas
(4.41)
xij = 1
j ∈ V \ {0}
(4.42)
xji = 1
j ∈ V \ {0}
(4.43)
i∈V \{0}
i∈V \{0}
X
νiω,t (Hi − di )
i∈V \{0}
µ̂ω,t
ij xij ≥ −
X
Q
π̂iω,t di
−
X
ν̂iω,t (Hi − di )
i∈V \{0}
i∈V \{0}
X
ω,t
φ̂ω,t
i qi −
i∈V \{0}
(i,j)∈A
X
X
i∈V
X
i∈V
X
x0j ≤ m
(4.44)
j∈V
XX
xij ≤ |S| − 1
S ⊆ V \ {0} , S 6= ∅
(4.45)
(i, j) ∈ A
(4.46)
i∈S j∈S
xij ∈ {0, 1}
η ≥ 0.
(4.47)
Branch-and-cut Implementation
We can solve the model described in (4.39)-(4.47) in a branch-and-cut fashion and we call this implementation One-cut B&C. In the DEP, the L-Shaped
Formulation, and in the One-cut B&C we insert in the model the subtour
elimination constraints (see, e.g., (4.45)) only when violated. To do so we
firstly use a heuristic procedure to detect a violated cut, this procedure is
called max-back (see, e.g., Naddef and Thienel [9]). If no violated cut is
found we use the well known max-flow algorithm to find the most violated
one. After the seventh node of the branching tree we use only the maxflow procedure if the current solution is not integer. In the One-cut B&C
also the the constraints (4.40) and (4.41) are inserted in a branch-and-cut
fashion when violated. This evaluation is performed at each branching node
considering also fractional variables. In this case |Topt | + |Tf eas | represents
the number of inserted cuts derived by the scenarios.
4.4.3
Multi-cut Formulation
Another way of solving the two-stage problem is to insert more than one
optimality cut for the entire set of scenarios, i.e., to insert one optimality
94
CHAPTER 4. THE STOCHASTIC BRP
cut for each scenario that needs its component of costs to increase at a particular iteration. This method is called multi-cut L-shaped method, so we
introduce here the Multi-cut Formulation, defined in (4.48)–(4.56). We need
a variable η ω for each scenario ω ∈ Ω. The summation of these new variables
is evaluated into the objective function (4.48) and the new optimality constraints are represented in (4.49). |Topt | · |Ω| + |Tf eas | represents the number
of iterations needed by the multi-cut L-Shaped algorithm to converge.
(Multi-cut) min
XX
cij xij +
i∈V j∈V
ω
η ≥p
ω
X
ηω
(4.48)
ω∈Ω
µω,t
ij xij −
X
−Q
i∈V \{0}
(i,j)∈A
X
πiω,t di −
ω
φω,t
i qi −
X
νiω,t (Hi − di )
X
t ∈ Topt , ω ∈ Ω
i∈V \{0}
i∈V \{0}
(4.49)
µ̂ω,t
ij xij
X
Q
≥−
π̂iω,t di
ω,t
φ̂ω,t
i qi −
i∈V \{0}
(i,j)∈A
X
X
−
i∈V
X
ν̂iω,t (Hi
t ∈ Tf eas
− di )
i∈V
(4.50)
X
xij = 1
j ∈ V \ {0}
i∈V
(4.51)
X
xji = 1
j ∈ V \ {0}
i∈V
(4.52)
X
x0j ≤ m
(4.53)
j∈V
XX
xij ≤ |S| − 1
S ⊆ V \ {0} , S 6= ∅
i∈S j∈S
(4.54)
xij ∈ {0, 1}
ηω ≥ 0
(i, j) ∈ A
(4.55)
ω ∈ Ω.
(4.56)
Branch-and-cut Implementation
Similarly to the L-Shaped Formulation, also the Multi-cut Formulation can
be solved in a branch-and-cut fashion: we call this Multi-cut B&C. For
95
4.5. FORMULATION FOR THE SBRPF
both the Multi-cut Formulation and for the Multi-cut B&C we separate
constraints (4.54) only when violated. As for the single cut case we use a
heuristic procedure called max-back (see, e.g., Naddef and Thienel [9]) up
to the seventh node of the branching tree or if the solution is integer. If no
violated cut is found we use max-flow algorithm to find the most violated
one. Moreover, in the Multi-cut B&C the constraints (4.49) and (4.50)
are inserted in a branch-and-cut fashion when violated. This evaluation is
performed at each branching node considering also fractional variables. In
this case |Topt | · |Ω| + |Tf eas | represents the number of inserted cuts derived
by the scenarios.
4.5
Formulation for the SBRPF
In stochastic programming models we need to make some decision here and
now, in the SBRP this is the case of the route design, while some other decision have to be made after the realization of the demand, in the SBRP these
are represented by the definition of the flows of bicycles and of the penalties for the demands we will not respond to. The SBRPF is the stochastic
version of the BRP where the flows leaving the depot on each vehicle are
variables that represent decisions to be made here and now. Having this
information, the bike sharing company will know the routing information
and the number of bikes to load on the vehicles leaving the depot. To solve
the SBRPF we just present the related deterministic equivalent program because we are interested in comparing the objective function values obtained
with respect to the SBRP ones. The formulation is reported in (4.57)–(4.70)
(SBRPF) min
XX
cij xij +
i∈V j∈V
X
X
ω∈Ω
xij = 1
pω
X
kj (yjω + sωj )
(4.57)
j∈V \{0}
j ∈ V \ {0}
i∈V
(4.58)
X
xji = 1
j ∈ V \ {0}
i∈V
(4.59)
X
x0j ≤ m
(4.60)
j∈V
XX
xij ≤ |S| − 1
S ⊆ V \ {0} , S 6= ∅
i∈S j∈S
(4.61)
f0j ≤ Qx0j
j ∈ V, ω ∈ Ω
(4.62)
96
CHAPTER 4. THE STOCHASTIC BRP
fijω ≤ Qxij
X
X
ω
fji
−
i∈V
(i, j) ∈ A|i 6= 0, ω ∈ Ω
(4.63)
fijω − f0j = q̃jω + yjω − sωj j ∈ V \ {0} , ω ∈ Ω
i∈V \{0}
(4.64)
yjω
≤ dj
j ∈ V \ {0} , ω ∈ Ω
(4.65)
sωj ≤ Hj − dj
j ∈ V \ {0} , ω ∈ Ω
(4.66)
yjω , sωj ≥ 0
j ∈ V \ {0} , ω ∈ Ω
(4.67)
f0j ≥ 0
j∈V
(4.68)
fijω ≥ 0
(i, j) ∈ A|i 6= 0, ω ∈ Ω
(4.69)
xij ∈ {0, 1}
(i, j) ∈ A.
(4.70)
In the SBRPF Formulation, the objective function and the constraints
in (4.57)–(4.61), (4.65)–(4.67), and (4.70) are the same as (4.1)–(4.5), (4.8)–
(4.10), and (4.12), while from (4.6), (4.7), and (4.11) we derived (4.62)–
(4.64), (4.68), and (4.69). In constraint (4.62) we impose the vehicle leaving
the depot to have the same value for all the scenarios and we bound this
value at the capacity of the vehicles. All the other flows are bounded by the
capacity of the vehicles, but they are scenario dependent, as states constraint
(4.63). Constraint (4.64) represents the flow conservation constraint for each
vertex but the depot, where the demand must be respected with flows or
with surplus and slack variables, and where the flow coming from the depot
is the same for all the scenarios. In constraints (4.68) and (4.69) we impose
the non-negativity of the flow variables.
4.6
Heuristic algorithm based on correlations
One-commodity pickup and delivery problems, as the ones we are tackling in this chapter, consider positive demands of some vertices to be used
for responding to negative demands of other vertices, without having an
origin-destination pair. If demands are stochastic, solution methods can
take advantage of the negative and positive correlations between vertices, if
any. For instance, it is common to have some vertices where the demand is
negative for a relevant number of scenarios, while some other vertices will
manifest positive demands for a relevant number of scenarios, thus the cor-
4.6. HEURISTIC ALGORITHM BASED ON CORRELATIONS
97
relation between one vertex of the first set and a vertex of the second set
will be negative. It is reasonable to look for the arcs of the optimal solution among those connecting negatively correlated vertices because coupling
them can let the load of the vehicle far from the lower and upper bounds
0 and Q, and hence more vertices can be served with the same vehicle. Of
course distances contribute relevantly to the objective function, and it also
reasonable to seek the arcs of the optimal solution among those with a small
distance cost. These considerations justify the simple heuristic algorithms
we propose that consider distances, penalties, and negative correlations in
the evaluating function. The two algorithms proposed are based on the well
known closest neighbor algorithm (see, e.g., Toth and Vigo [14]) and savings
algorithm (see, e.g, Clarke and Wright [3]).
4.6.1
Closest neighborhood with correlations
The first heuristic algorithm we propose to solve the SBRP is modeled on
the classical heuristic for solving vehicle routing problems known as closest
neighborhood, in which at every iteration the unused closest vertex to the
last vertex of the current route is added at the end of the current route, if the
insertion is feasible. The version of the closest neighborhood we introduce,
called Closest neighborhood with correlations, takes into account not only
the distance between the two vertices added to the penalties needed to make
the insertion feasible for all the scenarios, but also the correlation between
the current route and the vertex we are evaluating for the insertion. In
particular, the correlation is expressed as the Pearson-Bravais correlation
coefficient (see, e.g., Pearson [10]). Let us say that we have two points
i, j ∈ V \ {0}, i 6= j, then the correlation between them is computed as
follows:
P
ω
ω
σij
ω∈Ω (qi − q i )(qj − q j )
qP
ρij =
= pP
σi σj
(q ω − q )2
(q ω − q )2
ω∈Ω
i
i
ω∈Ω
j
j
P
Where q i = ω∈Ω qiω , i ∈ V \ {0} and being −1 ≤ ρij ≤ 1, where if ρij = −1
there is a perfect negative correlation between i and j, while i and j are
perfectly positively correlated if ρij = 1. If two vertices are negatively
correlated there is a good chance that in many scenarios an increase in the
demand of one vertex can correspond to a decrease in the demand of the
other vertex, and this means that, if not to expensive, the arc (i, j) could be
in the optimal solution. Otherwise, positive correlations suggest that two
vertices have similar behaviors among the scenarios, and hence, probably,
they will not be close in the optimal solution.
When we are building the solution with the closest neighborhood algorithm we have, on one hand, a vertex to be evaluated for the insertion and,
on the other hand, a route being built. Thus, instead of considering a corre-
98
CHAPTER 4. THE STOCHASTIC BRP
lation between two vertices, we consider the correlation between the current
route R and the vertex j ∈
/ R. The correlation is then computed as follows:
ρRj
ω
i∈R (qi
− q i ))(qjω − q j )
qP
P
ω − q ))2
ω
2
(
(q
R
ω∈Ω
i∈R i
ω∈Ω (qj − q j )
P
P
ω∈Ω (
σRj
= pP
=
σR σj
P
P
Where q R = ω∈Ω i∈R qiω . Also in this case we have −1 ≤ ρRj ≤ 1,
where -1 corresponds to perfect negative correlation and 1 to perfect positive
correlation.
When considering if appending vertex j at the end of the current route
R, j ∈
/ R, we then use the following evaluating function:
P
ω
ω
ω cR(|R|),j
ω∈Ω p kj (yj + sj )
EC (R, j) = α
+ (1 − α)ρRj
+
max(i,h)∈A cih
Q|V |
(4.71)
Being R(|R|) the last vertex of the current route R, and where α is a rational
number between 0 and 1. In the component of the evaluating function multiplied by α we consider a normalized distance cost and normalized penalties
of the various scenarios. In the second component of the evaluating function
we consider the correlation of the insertion as we computed in (4.71). When
the insertion of every vertex at the end of the current route is more expensive than opening a new route or when no more vertex is feasibly inserted
then a new route is open. The algorithm is terminated when all the vertices
are assigned to a route.
4.6.2
Savings with correlations
The second heuristic algorithm we propose to solve the SBRP is based on
the well known savings algorithm, in which the iterative cheapest and feasible merging of two routes is applied. In the version of the algorithm we
propose, that we call Savings with correlations, we consider the iterative
merging of two routes if it is feasible for all scenarios (where the concept
of feasibility includes the payment of a penalty if non responding to some
demands of some vertices in a scenario). Besides that, we also take into
account the correlation between the two routes, let us say R and P , that we
are considering for merging, which is computed as follows:
ρRP
P
− q R ))( j∈P (qjω − q P ))
qP
P
P
ω − q ))2
ω
2
(
(q
R
ω∈Ω
i∈R i
ω∈Ω ( j∈P (qj − q P ))
σRP
=
= pP
σR σP
P
P
ω∈Ω (
ω
i∈R (qi
P
P
Where q R = ω∈Ω i∈R qiω for route R. Thus the evaluating function
used when merging two routes results in:
4.7. COMPUTATIONAL RESULTS
ES (R, P ) = α(κ + σ) + (1 − α)ρRP
99
(4.72)
Being:
κ=
σ=
cR(|R|−1),P (1) − cR(|R|−1),0 − c0,P (1)
max(i,h)∈A cih
P
ω
ω
ω
ω∈Ω p kP (1) (yP (1) + sP (1) )
Q|V |
Where α ∈ R is a number between 0 and 1, R(|R| − 1) is the last vertex
of route R before the depot, and P (1) is the first vertex of route P after
the depot. In the first part of the evaluating function in (4.72), we consider
in κ the normalized savings of merging the two routes R and P in this
direction and in σ the possible normalized penalties to pay if not respecting
the demand of P (1). The second part of (4.72) accounts for the correlation
between R and P .
In both algorithms the solution does not necessarily respect the maximum number of vehicles, and thus routes, available, even if the algorithms
try to minimize the number of routes.
4.7
Computational Results
In this section we present the computational tests on the different methodologies used to solve the SBRP and the SBRPF. The algorithms were run on
on Intel Core i3-2100 CPU, 3-10 GHz, 4.00 GB, and we used CPLEX 12.6 as
the MILP solver by imposing the selection of a single processor. The tests
have been performed on instances derived by real-world data. We firstly
describe how we collected those data.
4.7.1
Instances
To produce computational evaluation of the algorithms proposed to solve
the two problems here defined, the SBRP and the SBRPF, we collected a
set of real-world instances. Firstly we considered a set of usage data of 7
month concerning the bike sharing system of the city of Reggio Emilia, in
Northern Italy. These data has been given to us by the operator of the
system. In addition to this, in order to have a larger number of testing
instances, we collected some data of Capital Bike, the bike sharing system
installed in Washington and Arlington, in the USA. The Capital Bike site
furnishes with complete data on the usage of the system for many years. We
made use of the usage data of the third quarter of 2014. We also collected the
geographic coordinates and the capacity of each station and used historical
100
CHAPTER 4. THE STOCHASTIC BRP
data to determine the demands of each scenario. To this extent, we clarify
that some correction on data has been necessary because the rebalancing is
already applied to the system and some demands appear to be too large with
respect to the station capacity. From these data we derived several instances
by selecting arbitrarily sets of stations counting from 20 to 66 stations each.
We selected randomly a station among all to be used as the depot.
4.7.2
Results
We report here some results of tests performed on the collected instances.
Firstly we tested the heuristic algorithms developed: in Table 4.1 we report
the results obtained by testing the closest neighborhood with correlations.
The first column shows the name of the instance, where RE stands for Reggio
Emilia, while W stands for Washington; the numbers reports the number
of vertices (|V |) and the capacity of the vehicles (Q), respectively. The
best lower bound obtained with the exact algorithms is reported (bold if
it is the optimal solution value) and the percentage gap between this value
and the solution value obtained thanks to the closest neighborhood with
correlations is shown with respect to the different values of α used in the
evaluating function. Similarly, the results for the savings with correlations
are reported in Table 4.2.
In Tables 4.1 and 4.2 the best gap obtained is highlighted. One can
notice that the heuristic algorithms do not present very good gaps with
respect to the best known lower bound. These gaps are large because the
algorithms move in the space of feasible solutions and it is not easy to build
competitive solutions that are feasible for all the scenarios (172, in the case
of Reggio Emilia, and 91 in the case of Washington). Besides that, one can
observe that the savings with correlations shows better results with respect
to the closest neighborhood with correlations algorithm. Moreover, it can
be noticed that for some level of α the solution values are improved while
considering the correlations with respect to the classical heuristics, indeed
values of α around to 0.9 for the closest neighborhood with correlations and
around 0.8 for the savings with correlations algorithm show the best results.
We now consider the results obtained thanks to the exact algorithms we
developed. In Table 4.3 we report the results on the collected test instances
while running the DEP Formulation. In particular, we report the name of
the instance, the best lower bound (LB) and upper bound (U B), if any,
and we compute and show the percentage gap between those two values.
In the last column we report the time, in seconds, needed to terminate the
algorithm within a time limit set to one hour. Similarly, in Tables 4.4,
4.5, 4.6, and 4.7 the results on the same instances given by the L-Shaped
Formulation, the Multi-cut Formulation, the One-cut B&C implementation,
and the Multi-cut B&C implementation are reported.
One can see that only the One-cut B&C and the Multi-cut B&C algo-
101
4.7. COMPUTATIONAL RESULTS
α
Inst.
LB
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
RE(16,20) 16900.0000 39.43 43.67 31.58 31.58 38.55 35.00 30.45 21.76 21.03 19.91 25.55
W(20,25)
81576.3736 77.56 55.57 55.57 53.28 52.95 50.40 50.11 49.41 49.41 49.21 49.16
W(20,15)
77306.7802 80.92 80.93 77.28 77.28 80.83 80.98 81.15 81.15 80.97 77.33 80.91
W(30,20) 101515.3967 75.53 66.51 65.38 63.27 59.76 58.63 60.42 54.53 67.17 67.42 67.48
W(30,35) 120517.5714 75.92 68.60 66.33 64.33 62.82 60.92 60.51 58.35 55.62 54.12 50.86
W(40,40)
101718.0349 83.69 77.05 79.14 79.14 79.14 79.47 78.77 75.32 74.59 77.53 77.65
W(40,35)
103300.4636 87.86 85.62 85.63 85.63 85.63 85.50 85.63 86.68 86.53 86.51 86.62
W(50,20)
121691.0000 87.91 85.83 85.80 83.32 83.07 85.40 85.40 87.46 83.80 84.79 84.91
W(66,15) 131371.9231 89.33 79.20 64.28 57.04 54.39 49.98 49.60 47.72 43.19 38.80 34.85
Avg.
77.58 71.45
67.89
66.10
66.35
65.15 64.67
62.49
62.48 61.74
62.00
Table 4.1: Percentage gap between the solution of the closest with correlations and the best lower bound for all instances by changing the parameter
α.
α
Inst.
0.5
0.6
0.7
0.8
RE(16,20)
16900 44.41 37.41 25.88 17.96 17.96 15.50
W(20,25)
81576.3736 62.08 67.51 55.40 52.42 52.58 51.34
W(20,15)
77306.7802 77.95 78.00 81.00 80.87 77.56 77.35
W(30,20) 101515.3967 68.73 61.39 58.11 63.89 60.90 55.71
W(30,35) 120517.5714 65.02 68.17 67.15 63.89 62.88 59.78
W(40,40)
101718.0349 74.52 75.42 78.25 78.81 75.02 74.05
W(40,35)
103300.4636 85.85 84.26 83.91 85.13 85.14 85.00
W(50,20)
121691.0000 85.02 85.70 85.52 82.59 82.34 85.06
W(66,15) 131371.9231 89.62 85.82 84.19 82.37 82.37 72.81
9.63
48.58
80.79
57.76
57.85
77.33
86.04
83.88
49.02
9.63
45.59
77.04
48.00
55.02
76.89
86.12
84.83
47.75
6.11
43.81
76.97
21.16
51.01
72.83
83.32
83.13
43.99
Avg.
LB
0
0.1
0.2
0.3
72.58 71.52 68.82 67.55
0.4
0.9
1
8.65
8.65
44.20 60.15
76.88 71.35
44.87 44.67
50.81 50.32
75.48 75.64
84.59 84.58
83.14 82.82
40.39 28.13
66.31 64.07 61.21 58.98 53.59 56.56
56.26
Table 4.2: Percentage gap between the solution of the savings with correlations and the best lower bound for all instances by changing the parameter
α.
102
CHAPTER 4. THE STOCHASTIC BRP
rithms can find a feasible solution for all the evaluated instances, in particular the Multi-cut B&C is the algorithm, among all those presented, that
found the smallest percentage gaps, that are 4.88% in average. On the other
hand the L-Shaped Formulation and the Multi-cut Formulation can get the
optimal values of six instances out of nine, while for W (40, 40), W (40, 35),
and W (50, 20) they could not find a feasible solution. The DEP Formulation
could find a feasible solution only for the first five instances, but furnished
with the best lower bound for W (40, 40) and W (40, 35), among all. The
best upper bound for W (50, 20) is given by the Multi-cut Formulation. The
best solving times are obtained by the Multi-cut B&C algorithm that needs
1248.43 seconds to terminate, in average. Also the Multi-cut Formulation,
which made use of a multi-cut L-Shaped algorithm, offers promising solving
times, that is in average 1252.45 seconds. To conclude, the Multi-cut B&C
algorithm seems the best performing one among the ones we tested on our
test instances.
DEP
Inst.
RE(16,20)
W(20,25)
W(20,15)
W(30,20)
W(30,35)
W(40,40)
W(40,35)
W(50,20)
W(66,15)
LB
UB
%gap
t(sec)
16900.0000
81576.3736
77306.7802
101516.0000
120517.5714
101718.0349
103300.4636
117067.0879
109426.9021
16900.0000
81576.3736
77306.7802
101516.0000
120517.5714
-
0.00
0.00
0.00
0.00
0.00
-
9.88
424.29
31.79
412.12
1277.20
3600.00
3600.00
3600.00
3600.00
Avg.
1839.476
Table 4.3: Results obtained by running the DEP Formulation.
L-Shaped
Inst.
RE(16,20)
W(20,25)
W(20,15)
W(30,20)
W(30,35)
W(40,40)
W(40,35)
W(50,20)
W(66,15)
Avg.
LB
UB
%gap
t(sec)
16900.0000
81576.3736
77306.7802
101516.2967
120517.5714
96715.0000
92828.0000
118714.0000
131313.6264
16900.0000
81576.3736
77306.7802
101516.2967
120517.5714
131313.6264
0.00
0.00
0.00
0.00
0.00
0.00
0.42
41.41
0.88
2.48
3.77
3600.00
3600.00
3600.00
3258.75
1567.52
Table 4.4: Results obtained by using the L-shaped method to solve the
L-Shaped Formulation.
In Table 4.8 we report the results for the SBRPF we performed according
103
4.7. COMPUTATIONAL RESULTS
Lshaped Multi-cut
Inst.
RE(16,20)
W(20,25)
W(20,15)
W(30,20)
W(30,35)
W(40,40)
W(40,35)
W(50,20)
W(66,15)
LB
UB
%gap
t(sec)
16900.0000
81576.3736
77306.7802
101516.2967
120517.5714
96715.0000
92828.0000
121691.0000
131313.6264
16900.0000
81576.3736
77306.7802
101516.2967
120517.5714
131313.6264
0.00
0.00
0.00
0.00
0.00
0.00
1.06
16.13
2.95
9.95
7.83
3600.00
3600.00
3600.00
434.12
Avg.
1252.45
Table 4.5: Results obtained by using the L-shaped multi-cut method to solve
the Multi-cut Formulation
One-cut B&C
Inst.
RE(16,20)
W(20,25)
W(20,15)
W(30,20)
W(30,35)
W(40,40)
W(40,35)
W(50,20)
W(66,15)
LB
UB
%gap
t(sec)
16900.0000
81576.3736
77306.7802
101516.2967
120517.5714
100158.2076
101506.7796
121388.6227
131313.6264
16900.0000
81576.3736
77306.7802
101516.2967
120517.5714
2502063.0000
187114.7802
3576619.0000
131313.6264
0.00
0.00
0.00
0.00
0.00
96.00
45.75
96.61
0.00
3.60
151.34
3.09
15.83
16.15
3600.00
3600.00
3600.00
2541.60
26.48
1503.51
Avg.
Table 4.6: Results obtained by using the One-cut B&C algorithm with the
L-Shaped method derived cuts.
Multi-cut B&C
Inst.
RE(16,20)
W(20,25)
W(20,15)
W(30,20)
W(30,35)
W(40,40)
W(40,35)
W(50,20)
W(66,15)
Avg.
LB
UB
%gap
t(sec)
16900.0000
81576.3736
77306.7802
101516.2967
120517.5714
100531.6473
101984.7100
121561.5534
131313.6264
16900.0000
81576.3736
77306.7802
101516.2967
120517.5714
133940.7802
121856.5385
124862.3956
131313.6264
0.00
0.00
0.00
0.00
0.00
24.94
16.31
2.64
0.00
2.23
26.90
3.25
10.30
14.23
3600.00
3600.00
3600.00
378.96
4.88
1248.43
Table 4.7: Results obtained by using the Multi-cut B&C algorithm with the
L-Shaped multi-cut method derived cuts.
104
CHAPTER 4. THE STOCHASTIC BRP
to what we did for the SBRP. One can notice that the instances that were
easy to solve for the SBRP remain easy to solve also for the SBRPF and the
instances that were hard to solve for the SBRP remain hard to solve for the
SBRPF. We can observe that the objective function value does not change
remarkably if compared to the SBRP one. This can lead to the conclusion
that the SBRP solution is robust even if a a priori decision on the load of
the vehicles is not contemplated.
SBRPF DEP
Inst.
RE(16,20)
W(20,25)
W(20,15)
W(30,20)
W(30,35)
W(40,40)
W(40,35)
W(50,20)
W(66,15)
LB
UB
%gap
t (sec)
16922.5989
82054.3956
77389.1978
101928.4835
120742.8462
101901.4091
103615.1235
117564.6711
110455.1959
16922.5989
82054.3956
77389.1978
101928.4835
120742.8462
-
0.00
0.00
0.00
0.00
0.00
-
17.04
518.55
36.94
785.06
1051.97
3600.00
3600.00
3600.00
3600.00
Avg.
1867.73
Table 4.8: Results for the SBRPF on the test instances obtained by running
the corresponding DEP Formulation.
4.8
Conclusions
In this chapter we defined and solved the SBRP, the stochastic version of
one a tactical problem that arises in bike sharing systems, that is the one of
redistributing bicycles among the bike stations of the system, the BRP. To
solve the SBRP we proposed a deterministic equivalent program formulation,
a two-stage stochastic linear programming model with simple recourse solved
by means of a L-Shaped algorithm, a multi-cut L-Shaped algorithm, and
two branch-and-cut algorithms. To obtain upper bounds for the SBRP we
developed two heuristic algorithms that take advantage of the information
on the demands on different scenarios considering the negative and positive
correlations between the vertices. We tested all the algorithms on newly
collected real-world instances proving the effectiveness of our methodologies,
in particular, good results can be obtained with branch-and-cut algorithms
where cuts are derived from the multi-cut L-Shaped method. Moreover, the
proposed heuristic algorithms showed improved solutions when accounting
for correlations in the evaluating functions. Finally, we defined a stochastic
version of the BRP where the loads on vehicles leaving the depot must be
decided before the realization of the demands. We compare the values of
the solutions of the two problems, and the objective functions differs of a
small amount of costs.
Bibliography
[1] D. J. Bertsimas and D. Simchi-Levi. A new generation of vehicle routing research: robust algorithms, addressing uncertainty. Operations
Research, 44:286–304, 1996.
[2] J. R. Birge and F. Louveaux. Introduction to stochastic programming.
Springer Science & Business Media, 2011.
[3] G. Clarke and J. W. Wright. Scheduling of vehicles from a central depot
to a number of delivery points. Operations research, 12:568–581, 1964.
[4] C. Contardo, C. Morency, and L.-M. Rousseau. Balancing a dynamic
public bike-sharing system. Technical Report CIRRELT-2012-09, CIRRELT, 2012.
[5] A. J. King and S. W. Wallace. Modeling with stochastic programming.
Springer Science & Business Media, 2012.
[6] G. Laporte, F. Louveaux, and L. Van Hamme. An integer l-shaped
algorithm for the capacitated vehicle routing problem with stochastic
demands. Operations Research, 50:415–423, 2002.
[7] F. Louveaux and J.-J. Salazar-González. On the one-commodity
pickup-and-delivery traveling salesman problem with stochastic demands. Mathematical programming, 119:169–194, 2009.
[8] F. Louveaux and J.-J. Salazar-González. Solving the single vehicle
routing problem with variable capacity. Transportation Science, 2014.
[9] D. Naddef and S. Thienel. Efficient separation routines for the symmetric traveling salesman problem i: general tools and comb separation.
Mathematical Programming, 92:237–255, 2002.
[10] K. Pearson. Notes on the history of correlation. Biometrika, 25–45,
1920.
[11] R. Regue and W. Recker. Proactive vehicle routing with inferred demand to solve the bikesharing rebalancing problem. Transportation Research Part E: Logistics and Transportation Review, 72:192–209, 2014.
105
106
BIBLIOGRAPHY
[12] G. K. D. Saharidis, A. Fragkogios, and E. Zygouri. A multi-periodic
optimization modeling approach for the establishment of a bike sharing
network: a case study of the city of athens. In Proceedings of the
International MultiConference of Engineers and Computer Scientists,
2, 2014.
[13] W. R. Stewart and B. L. Golden. Stochastic vehicle routing: A comprehensive approach. European Journal of Operational Research, 14:371–
385, 1983.
[14] P. Toth and D. Vigo. Vehicle Routing: Problems, Methods, and Applications, SIAM, 2014.
[15] I.-L. Wang and C.-W. Wang. Analyzing bike repositioning strategies
based on simulations for public bike sharing systems: Simulating bike
repositioning strategies for bike sharing systems. In Advanced Applied
Informatics (IIAIAAI), 2013 IIAI International Conference on IEEE,
306–311, 2013.
Part III
Models and Algorithms for
Earthwork Optimization
Problems
107
Chapter 5
A Two-Phase Earthwork
Optimization Model for
Highway Construction
1
One of the main activities in highway construction is earthwork, that is
a complex process involving excavation, transportation, and filling of large
quantities of different earth material types. Earthwork operations are costly,
and undergo several constraints due to their large environmental and social
impacts. Using mathematical models to produce a minimum-cost earthwork
plan that satisfies all constraints is thus of great significance for enhancing
the productivity of the overall construction project.
This chapter presents an earthwork optimization system based on the
use of linear programming that operates in a novel two-phase approach. In
the first phase an aggregate model determines the feasibility of the overall
project, whereas in a second phase disaggregate models determine the actual
flows of each material.
The developed quantitative method for earthwork optimization includes
interesting features derived from the everyday activity of one of the major European companies in construction. The new two-phase optimization
involves classical decisions on excavation, filling, quarries, dump sites, and
temporary depots, but it also accounts for several novelties. One innovation
is the presence of time windows imposed by a tight production schedule that
let the model decide when to conclude the tasks within the time windows.
Another new feature is the installation of recycling facilities, which transform the excavated materials thanks to a separation and a mixing process so
1
The results of this chapter appear in: C. Bogenberger, M. Dell’Amico, G. Fuellerer, G.
Hoefinger, M. Iori, S. Novellani and B. Panicucci. A Two-Phase Earthwork Optimization
Model for Highway Construction. to appear on Journal of Construction Engineering and
Management, 2015.
109
110
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
to obtain several materials apt for filling. Our model includes also a variety
of materials for filling and to be processed in recycling plants. Moreover,
the explicit integration of the project with the existing public road network
is considered so to account for local authority restrictions, and to consider
multiple paths to link the construction site to the external facilities.
Extensive computational results are obtained by running the models on
a set of realistic instances, and show the efficiency of the proposed approach
in solving complex earthwork problems.
Keywords: Earthwork, Mathematical Models, Linear Programming, Highway Construction.
5.1
Introduction
A highway construction project involves many steps and may take years to be
completed. Before construction starts, an accurate topographic survey of the
area is developed and a layout of the future road is designed, specifying the
alignment (i.e., the base line of the road) and the grades (i.e., the slopes of
the longitudinal road line). Once the layout of the road has been completed,
actual earthwork can begin. Earthwork is, in a few words, the process of
moving earth from those areas that are too high with respect to the road
grades to those areas that are too low, and is a crucial aspect of the overall
construction problem.
More in details, once the road layout is given, one determines the cut
areas, where some earth must be dug to accomplish with the required road
grades, and the fill areas, where instead some earth must be placed, and
easily evaluate the cut and fill volumes for each area. The basic earthwork
problem consists then in digging earth from cut areas and moving it to fill
areas, with the goal of minimizing operational costs.
This basic problem is known in the literature as the cut and fill problem,
and has been described in classical textbooks (see, e.g., Ahuja et al. [1])
as a typical application that can be solved by Minimum Cost Flow (MCF).
Indeed, after associating the cut and fill areas to the nodes of a network
and assigning transportation costs to its arcs, the MCF allows to find the
flows that move the required volumes at minimum cost, that is, an optimal
earthwork solution.
This simple model has been successively expanded to include complications arising in real-world construction problems, such as the presence of
different types of earth, possible transport road constraints (e.g., accessibility and/or maximum flow restrictions), and the need of facilities such as
dump sites or quarries to accommodate excess or lack of materials. Starting from Stark and Nicholls [17], Linear Programming (LP) became then
a standard tool for solving optimization issues associated to the earthwork
activities, because it allowed to easily extend the original MCF model to
5.1. INTRODUCTION
111
include such additional constraints.
The aim of this chapter is to further advance the research on earthwork
modeling, by including novel features that derive from the everyday construction activities of one of the European leaders in civil engineering. The
activity that they perform for highway construction is very complex, and has
been the motivation that has led us to the development of the models presented in this chapter. Previously, the construction company (Strabag AG.)
relied on tools, such Excel files and mass diagrams, integrated by the long
term experience of their practitioners. Thanks to the method presented in
this chpater Strabag, and other construction companies, can quickly evaluate different configurations and obtain optimal solutions within seconds
leaning on a fast and reliable support for decision making.
The optimal approach that we implemented to solve this challenging
problem is based on two phases that contemplate an aggregate model and
a disaggregate one, both based on LP. The aggregate model associates a
variable with each flow of a material that travels along an arc on a given
period, independently from its actual origin and destination. It is fundamental to investigate the feasibility of the project, considering the given
time horizon, the available resources, and the strong capacity constraints
on the arcs. Thanks to the quite small computing times that we managed
to obtain for its solution, the aggregate model may be solved several times,
under different network configurations, and is thus very helpful to find the
best way to ensure the feasibility of the problem.
To translate the resulting aggregate solution into practical actions involving each material in each period, the disaggregate model is then invoked.
This model computes precise flows by taking advantage of the fact that vehicles can transport just one material at a time. Indeed, we decompose the
problem in several models, one for each period and material, where decisions
made at one model do not affect decisions made on the others. Each model
outputs the optimal flow paths, together with the corresponding volumes,
between each material origin and destination.
Aggregate and disaggregate models can be run many times, in a rolling
horizon perspective, to take into consideration the fact that the every day
activity may diverge from the planned solution. Adjustments, as well as
new information on costs or availability of resources, are easily included in
the models by just modifying the input files. Our approach thus resulted in
a powerful and effective decision support system. It is now being used by
the partner company in a highway construction process which is currently
under development in Northern Italy near the city of Milan.
5.1.1
Main Contributions
We advance the Body of Knowledge on quantitative methods for earthwork
optimization. We do this by proposing a new mathematical model based on
112
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
two phases: an aggregate and a disaggregate one. Within the method we
include a set of properties that were not treated or only partially treated
in the literature and that are important not only for our case study. We
comment them in the following:
Multiple materials: in our model we do not consider only simple earth, as
in the basic cut and fill problem, but we optimize the flows of ten different
materials. To our knowledge few papers accounts for multiple materials (see,
e.g. Hare et al. [8] and Ammar et al. [2]), but in their works they consider
a multiple set only for digging materials, where some can be used for filling
and some others must be dumped, but they do not consider different types
of materials for filling or to be used for recycling process. In our work we
consider ten materials including three types of excavated earth, differentiated according to their quality, and four different filling materials such as
asphalt, concrete and the two high quality materials coming from digging.
Recycling of the excavated materials: many papers consider to reuse
excavated materials directly for filling, some of them also call it recycling
(see, e.g. Ji et al. [10]). In our chapter we use two of the dug materials
for filling without performing any other transformation, but we also consider a transformation process that we call recycling. The recycling activity
includes two transformations of materials to be performed in two plants.
The first plant is called Separation plant where a refinement of the high
quality excavated material is performed, separating the rocks from the soil
and crushing it at the desired level. Some of the resulting material has to
be dumped, while the others two can be mixed with cement or bitumen in
Mixing plants to produce, respectively, asphalt and concrete, used for filling.
To our knowledge this way of recycling materials has not been tackled yet in
the literature related to quantitative methods for earthwork optimization.
Time windows: in our work the process is planned according to a specific schedule, that, borrowing a terminology of production literature, we
define Master Production Schedule (MPS). The MPS defines the activities
to be performed in the overall period, the location where to dig and/or fill
which material and the possible time windows in which they have to be completed. Time windows imposed by the MPS have already been inserted in
complex construction projects, but we have not found any explicit reference
in the existing Body of Knowledge in quantitative methods for earthwork
optimization. Thus the explicit insertion of time windows in our model is a
challenging novelty.
External network: quarries and dump sites are located outside with respect to the construction site, thus the company vehicles need to cross the
public external network. Traffic restriction of heavy vehicles are normally
imposed or contracted with the local administrations. This is expressed in
amount of cubic meters per day on a restricted set of roads. To deal with
that we consider capacity restriction on the arcs representing the external
network, the availability of different paths on alternative roads, and the use
5.2. PROBLEM DESCRIPTION
113
of access points from the construction site to the external network. To our
knowledge just Burdett and Kozan [7] consider the problem of having an
external network. To create a path from the construction site to an external
site they use the Dijkstras algorithm to solve the shortest path, but this
algorithm does not allow to have multiple paths from two locations: thus
they consider only one path otherwise they must fix some dummy nodes. In
both disaggregate models we present this problem does not arise , indeed
the multi-commodity model can evaluate multiple arcs between two node,
and the path-based model makes use of the labeling algorithm, that can find
more than one path between two nodes.
These innovations with respect to the Body of Knowledge are motivated
by the Strabag study case we considered. They appear in the model as
constraints but they can be easily inactivated one by one, so to let the
model to be very general and applied to many other cases.
5.2
Problem Description
Earthwork is a fundamental stage in highway construction process that involves several activities and requires careful planning and various evaluations, including environmental and structural assessments. The main earthwork activities that we identified are depicted in Figure 5.1. They include
digging, filling, recycling, material disposal in dump sites, temporary allocation of materials in depots, and material acquisition from quarries.
Figure 5.1: Activities flow chart.
The digging activities consist of cutting and moving a huge amount of
114
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
earth, typically in the order of (tens of) millions of cubic meters by means of
special plant machinery such as excavators and trucks. The filling activities
consist of carrying across the construction site a certain amount of a certain
material, to, e.g., fill earth cuts and trenches, or build bridges and artificial
galleries.
A fundamental step in the digging process is the on-site classification,
that is, earth materials are classified depending on their geological characteristics and treated consequently. Indeed, materials excavated within the
site are often unacceptable for construction and must be recycled (through
a recycling process to be described below) or disposed of. According to
the field activity , three types of dug earth materials can be distinguished,
depending on whether they can be reused for purposes of filling, recycled,
or else wasted on a dump site. In this chapter we denote them by rawI
(high-quality soil and gravel), rawII (soil suitable for filling but not for recycling), and rawWaste (waste product without the possibility of further use).
Reusing those materials, instead of throwing them directly in dump sites, is
environmentally relevant and can significantly reduce the cost of earthwork.
RawI and rawII materials can be used directly for filling or, if necessary,
stored in temporary depots and used later on in the construction process.
Temporary depots are flat areas that are rented close to the construction
site, where dug materials can be stored until they are needed for filling.
RawI material can also be reconstituted into other products appropriate for
filling, that is, asphalt and/or concrete, by means of a recycling process.
The inclusion of recycling activities in optimizing earthwork process is,
as far as we know, a novelty of this chapter. Recycling is a two-stage process
(see again Figure 5.1). In the first stage, separation, rawI material is transported to the so-called separation plants, where it is broken and crushed
into two types of recycled aggregates: recI and recII. In this stage some
waste material, denoted by recWaste, is also produced. In the second stage,
mixing, these recycled aggregates are carried to specialized plants where
they are mixed with other materials to obtain asphalt or concrete. More
precisely, in asphalt mixing plants recI is mixed with bitumen to produce asphalt, and in concrete mixing plants recII is mixed with cement to produce
concrete. The waste produced during separation, denoted by recWaste, as
well as rawWaste and possible surplus of rawI, rawII, recI, and recII are
dumped into dump sites. If necessary, raw material for producing asphalt
and concrete (i.e., recI and recII), as well as other materials required for
filling can be acquired from private quarries.
The earthwork process must take into account the fact that recycling
and mixing plants, quarries, dump sites, and temporary depots have physical capacity limitations on the total quantity of materials that they can
process. Moreover, it must be considered that the aforementioned activities
are bounded in time by the time windows defined by the MPS. In particular, the overall planning horizon is divided into periods (weeks in our study
5.3. LITERATURE REVIEW
115
cases) and each activity time window is represented by a starting and an ending period. The optimization of the earthwork process requires to consider
the transportation costs, as well as the costs incurred for storing materials
in temporary depots, acquiring materials from quarries, and disposing of
materials into dump sites.
To take into consideration all these issues, we modeled the earthwork
activities by using a directed graph, described in detail below. Briefly, the
highway building site is discretized in segments, and each segment is associated with a vertex of the graph. The graph is then extended by adding
vertices that correspond to quarries, dump sites, temporary depots, and
recycling plants. For modeling purposes we also add a vertex for each digging and filling activity to be performed. A set of arcs is then included to
represent the possible flows of materials from a vertex to another.
The arcs connecting the vertices are assigned a maximum flow capacity,
that limits by above the sum of the material flows that can be carried over
the arc in a given period, and can vary during the time. With respect to
this point, we mention another interesting contribution of our approach,
that is, the differentiation between private and public networks. The private
network is in practice the highway being built, whereas the public network
is the existing neighbor road infrastructure, that is forcedly affected by the
construction process. Indeed, some public roads external to the building site
must also be included into the graph to take into account different paths that
can be used to reach dump sites and quarries, that are typically located far
away from the site. These roads undergo the national transportation laws
of the country where the construction is taking place, and can have very
small flow capacities, due to the fact that earth transportation is typically
performed by large and heavy trucks that have a large environmental and
social impact on the surrounding areas.
In this framework, the goal of our optimization is to decide when and how
moving, storing, recycling, buying, or wasting materials, while responding to
digging and filling requests in the imposed time windows, respecting capacity
conditions on nodes and arcs, and minimizing total costs.
5.3
Literature Review
Apart from the basic MCF applications already discussed in the introduction, see again Ahuja et al. [1], the first LP model to provide the earthwork
allocation that minimizes the cost of the earthmoving activities, once an
initial layout is given, was suggested in Stark and Nicholls [17] and then developed by Stark and Mayer [16]. The cited model solves the so-called earthwork allocation problem, that includes the presence of capacitated quarries
and dump sites, but does not assess the presence of multiple types of earth
and assumes constant unit costs for the earthwork activities.
116
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
Easa [6] attempted to combine the design of roadway grades with the
basic earthwork allocation problem, limiting his study to a single type of
earth and using a trial and error approach. A combination of grade selection
with the earthwork allocation problem in a single LP problem was later
developed by Moreb [14]. To account for the different earth material types
which are usually encountered in construction practice, Mayer and Stark [13]
incorporated the differing earth characteristics by creating different variables
and costs for dirt, gravel, and rock material. Successively, a model that
accommodates for multiple material types was also developed by Ammar et
al. [2].
The basic model of Stark and Nicholls [17] has also been extended to
include different cost functions. In particular, Easa [4, 5] proposed a Mixed
Integer Linear Programming (MILP) model to incorporate stepwise unit
costs, and a quadratic model to account for linear growth in movement
costs. In Karimi et al. [11] uncertainties in unit cost coefficients of earthwork
activities and facility capacities were considered by using a fuzzy LP model.
Another extension of the basic earthwork allocation model, encompassing
the project duration and a dynamic selection of quarries and dump sites, was
introduced by Jayawardane and Harris [9], and solved by employing MILP.
Another MILP model was used in Hare et al. [8], to capture the presence
of natural obstacles that limit earth movements.
Marzouk and Moselhi [12], by using computer simulation and genetic
algorithms, considered a multi-objective framework for managing earthmoving operations so as to improve productivity, efficiency, and safety. Multiobjective simulation-optimization techniques were also used in Zhang [20],
where earthmoving operations are modeled through simulation and a particle swarm optimization method is used to avoid exhaustive simulation
experiments of all the alternatives. Xianja et al. [19] established a bilevel
programming model, where the objective of the upper level is that of minimizing the transportation cost, while the objective of the lower level is to
balance the supply and demand of earthwork in the digging and filling activities. The model is solved by combining particle swarm optimization with
the simplex algorithm.
To meet the need for tools that can assist project managers to plan and
manage construction projects more efficiently, some research efforts in earthwork planning, scheduling, and visualization of the infrastructure construction projects have been conducted. Askew et al. [3] developed an approach
to automate the earthwork planning process to create activity sets using a
knowledge base and a simulation of earthwork processes. Tam et al. [18]
proposed a method to automate the earthmoving planning by integrating a
path-finding algorithm, a plant selection system, and a genetic algorithm.
In Moselhi and Alshibani [15] genetic algorithms, LP, and geographic information systems were used to optimize the utilization of construction equipment involved in earthmoving operations. None of the cited contributions
5.4. MODELING ANALYSIS AND NOTATION
117
can, however, provide a comprehensive solution to all the aspects of the
construction process that is faced by Strabag and that we describe in the
next sections.
5.4
Modeling Analysis and Notation
This section provides an overview of the network that we use for modeling
the highway construction project, as well as the main notation that we
adopt in the remaining of the chapter. To account for the fact that the
MPS bounds each activity of the project in time by a time window, we
consider an environment in which the overall horizon is discretized into a
set of uniform periods (weeks in our study), T = {1, 2, . . . , Tmax }. The
network is represented by a graph G = (V, A) defined by a collection of
nodes V and arcs A, and is schematized in Figure 5.2.
Figure 5.2: Network representation.
Among all the nodes in V, we identify a set H of nodes representing
material locations, that is, cut and fill areas where different types of materials
can be dug or filled in (e.g., nodes 1, . . . , 12 in Figure 5.2. In other words,
H represents the discretization of the highway being built. The material
locations might need more than one digging/filling of one or more materials
to be completed in different time windows. We thus need to introduce a
new set of nodes (in addition to the material location ones) to deal with
the digging and filling activities of the same material with overlapping time
windows to be performed on the material location. Thus, we consider a set
I of nodes representing tasks, that is, digging or filling activities required
for a certain material in a given area. In particular, in I we identify If
as the set of filling tasks (e.g., nodes 17, 19, 20, and 21) and Id as the set
of digging tasks (e.g., nodes 13, 14, 15, 16, and 18), with If ∪ Id = I
and If ∩ Id = ∅. Each task i ∈ I is associated with a unique location
h(i) ∈ H and a unique material m(i) ∈ M, being M the set of all earth
materials involved in the construction process. Moreover, each task i has its
own quantity di , that must be fully dug/filled in a time window [ts (i), te (i)]
specified by its starting period ts (i) ∈ T and its ending period te (i) ∈ T .
118
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
The network also includes a set D of dump sites, representing locations
where materials can be disposed of (e.g., nodes 31 and 32), and a set S of
quarries, representing sources where materials can be acquired to respond to
filling requests (e.g., nodes 28 and 29). Note that in our model it is allowed
to dispose of some material in a dump site and acquire the same material
from a quarry if this leads to decreased costs. Dug materials can also be
stored in temporary depots (e.g., nodes 25 and 26), whose set is denoted by
L. Facilities which process materials for recycling are represented by a set
of nodes F. We distinguish among separation plants (Fr ), mixing plants
for asphalt (Fa ), and mixing plants for concrete (Fc ). The union of all the
dump sites, quarries, temporary depots and recycling facilities is denoted by
N.
The highway being built is accessible from the outside through a set
E of access points. Access points (pictured by diamond nodes in Figure
5.2, see, e.g., nodes 24, 27, 30, and 33) represent the passage between the
existing public road network and the network that is still private. The public
network is simply schematized by dashed lines in Figure 5.2, but it is, in
general, quite complex. It is composed by a subnetwork (represented by
dashed lines in in Figure5.1) including a set of nodes, denoted by B, and a
set of arcs connecting these nodes. This information is needed to represent
the different capacitated paths that can be used to reach the set N of outside
facilities.
Connections among the nodes are represented by the overall set A of
arcs. Note that in general there is not an arc for each pair of nodes. Indeed,
movement of any material into a quarry is not permitted, therefore only
leaving arcs from S exist and they are headed to the access points or to
the public network. Similarly, movement of materials out of a dump is not
permitted, thus only arcs entering in D exist and they come from the access
points or from the public network. Plants and temporary depots are also
only connected to access points and/or to the public network, but in this case
the arcs are in both directions. Access points are only connected to nodes in
N , B, and H. All the arcs incident the access points are in both directions
but those entering in D or leaving S. The nodes of the public network
(set B) can only be connected to the nodes of E, N , and to each other.
Each material location h ∈ H, is connected to other material locations by
arcs in both directions. Material locations can also be connected to access
points with arcs in both directions and each material location is connected
to at least one filling and/or digging task. No other arcs are incident to the
material locations. Each filling task i ∈ If is connected only to its material
location h(i) ∈ H by an entering arc, while each digging task i ∈ Id is
connected only to its material location h(i) ∈ H by a leaving arc. To each
arc (i, j) ∈ A we associate a maximum flow capacity Uijt for each period
t∈T.
To model the recycling activity, we distinguish, in the set of all ma-
119
5.5. AGGREGATE FORMULATION
terials M, the subset Ms of materials that can be stored into temporary
depots, constituted by rawI and rawII, the subset Mr of materials exiting
the separation plants, constituted by recI, recII, and recWaste, the subset
Ma of materials entering the asphalt mixing plants, constituted by recI and
bitumen, and the subset Mc of materials entering concrete mixing plants,
constituted by recII and cement. We denote by ϕm
r the quantity of recycled aggregate m ∈ Mr that can be obtained from a unit quantity of rawI
material at plant k ∈ Fr . Similarly, the quantity of m ∈ Ma necessary for
producing a unit quantity of asphalt at plant k ∈ Fa is denoted by ϕm
a , and
the quantity of m ∈ Mc necessary for producing a unit quantity of concrete
at plant k ∈ Fc is denoted by ϕm
c .
To move the materials, different types of capacitated trucks can be used.
We consider four types, that can load, respectively, bitumen, concrete, cement, and all the other materials. We denote by W the set of types of truck,
by M(w) the set of materials that a truck of type w ∈ W can load, and by
Vcap (w) the overall transportation capacity of the fleet of trucks of type w.
5.5
Aggregate Formulation
In the following we describe the overall aggregate LP model that we developed to optimize the earthwork activities.
Variables.
The decision variables required to formulate the problem are denoted by xmt
ij
and represent the flow (expressed in cubic meters) of material m ∈ M in
period t ∈ T on arc (i, j) ∈ A, and fkmt , giving, respectively, the quantity of
material m stored in a temporary depot k ∈ L, carried to a dump site k ∈ D,
or bought from a quarry k ∈ S, at period t. Non-negativity constraints are
imposed on both variables, that is:
xmt
ij ≥ 0
(i, j) ∈ A, m ∈ M, t ∈ T ,
(5.1)
fkmt ≥ 0
k ∈ L ∪ D ∪ S, m ∈ M, t ∈ T .
(5.2)
Objective Function.
Our aim is to provide an optimal material distribution to complete the
project within the specified time, minimizing the overall costs. To each arc
(i, j) ∈ A is associated a transportation cost cij . Moreover let cm
k denote
the cost for storing, loading, or acquiring a unit of material m ∈ M into a
temporary depot k ∈ L, into a dump site k ∈ D, or from a quarry k ∈ S,
respectively. The objective function is then:
X X X
X
X X
mt
min
zaggr =
cij xmt
cm
ij +
k fk . (5.3)
(i,j)∈A m∈M t∈T
k∈L∪D∪S m∈M t∈T
120
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
Arc capacity constraints.
Every arc (i, j) ∈ A has a maximum capacity Uijt (in cubic meters) that may
vary according to the period t ∈ T . This is enforced by:
X
t
xmt
(i, j) ∈ A, t ∈ T .
(5.4)
ij ≤ Uij
m∈M
To account for the fact that some nodes can be unaccessible during some
periods (e.g., because they can only be reached after the erection of an access
road, or because some construction activities temporary block part of the
network) a capacity zero is associated to the arcs connecting those nodes in
those periods.
Vehicle capacity constraints.
Materials are moved by trucks, so the quantity of materials moved along
the network is constrained by the quantity of trucks available. The fleet is
composed by a set W of types of trucks, each of those may transport a set
M(w) of materials and is assigned an aggregate estimation Vcap (w) of its
transportation capacity, expressed in km · m3 . In practice, Vcap (w) gives
the total amount of material that this type of truck can move in a period,
and is estimated on the basis of past activities performed by Strabag. To
each arc (i, j) ∈ A is assigned a non-negative length `ij in km. The overall
transportation capacity is imposed by:
X
X
`ij xmt
t ∈ T , w ∈ W.
(5.5)
ij ≤ Vcap (w)
(i,j)∈A m∈M(w)
Digging constraints.
Recall that each task i ∈ Id is assigned to a digging location h(i) and
requires a certain amount di of material m(i) to be dug in the time window
[ts (i),te (i)]. Therefore it must be:
xmt
i,h(i) = 0
m(i),t
xi,h(i)
=0
i ∈ Id , m ∈ M : m 6= m(i),
(5.6)
i ∈ Id , t ∈ T : t < ts (i) or t > te (i),
(5.7)
i ∈ Id .
(5.8)
te (i)
X
m(i),t
xi,h(i) = di
t=ts (i)
Filling constraints.
As for digging, each task i ∈ If is assigned to location h(i)and has its own
amount di of material m(i) to be filled in during the time window [ts (i),te (i)],
121
5.5. AGGREGATE FORMULATION
therefore:
xmt
h(i),i = 0
m(i),t
xh(i),i = 0
i ∈ If , m ∈ M : m 6= m(i),
(5.9)
i ∈ If , t ∈ T : t < ts (i) or t > te (i),
(5.10)
i ∈ If .
(5.11)
te (i)
X
m(i),t
xh(i),i = di
t=ts (i)
Flow conservation at material locations, access points, and external nodes.
To ensure the conservation flow for each material m and period t we need to
impose the following constraints for material locations, access points, and
external nodes:
X
X
xmt
=
xmt
j ∈ H ∪ E ∪ B, m ∈ M, t ∈ T .
(5.12)
ij
ji
(i,j)∈A
(j,i)∈A
Temporary depots constraints.
Recall that Ms = {rawI, rawII} gives the set of materials that can be stored
into temporary depots during the construction process. Each depot k ∈ L
has a maximum storing capacity Qk that must be respected at each period,
thus:
X
fkmt ≤ Qk
k ∈ L, t ∈ T .
(5.13)
m∈Ms
In a rolling horizon perspective, perhaps, we might consider just a set of
periods of the entire construction process, thus having an initial level of
storage imposed by the evolution of the construction activities and/or a final
desired level of storage. Let therefore fkm0 be the initial stock of material
m ∈ Ms in depot k at the beginning of the first period (i.e., the initial
available volume), and fkm,Tmax +1 the upper bound on the closing stock of
m in k at the end of the last period. We have the following material balance
constraints:
X
X
m,t−1
mt
xmt
=
xmt
k ∈ L, m ∈ Ms , t ∈ T . (5.14)
ik + fk
ki + fk
(i,k)∈A
(k,i)∈A
The final storage volumes are constrained by:
fkm,Tmax ≤ fkm,Tmax +1
k ∈ L, m ∈ Ms .
(5.15)
To assume, for example, that depots must be empty before and after the
completion of the overall project, it is enough to set fkm0 and fkm,Tmax +1 to
zero.
122
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
Dump sites constraints.
The amount of waste deposited in a dump site k ∈ D is limited by the total
disposal capacity Ck , therefore:
X X X
xmt
k ∈ D.
(5.16)
ik ≤ Ck
(i,k)∈A m∈M t∈T
Moreover, in each period there is a maximum allowable quantity of material
m, say Qm
k , that can be disposed of in the dump site, and hence:
X
m
xmt
k ∈ D, m ∈ M, t ∈ T .
(5.17)
ik ≤ Qk
(i,k)∈A
Quarries constraints.
As for the dump sites, each quarry k ∈ S has an overall capacity Ck and a
maximum capacity Qm
k for each material m in each period, therefore:
X X X
xmt
k ∈ S,
(5.18)
ki ≤ Ck
(k,i)∈A m∈M t∈T
X
m
xmt
ki ≤ Qk
k ∈ S, m ∈ M, t ∈ T .
(5.19)
(k,i)∈A
Separation plants constraints.
Recall only rawI material may be carried to the separation plants (see
Figure 5.1), and the exiting set of materials is Mr = {recI, recII, recWaste}.
It follows that the flows entering nodes k ∈ Fr for all materials m ∈ M
other than rawI, as well as the flows leaving the node for all materials other
than Mr must be zero, that is:
xmt
ik = 0
xmt
ki
(i, k) ∈ A : k ∈ Fr , m ∈ M \ {rawI}, t ∈ T ,
(5.20)
(k, i) ∈ A : k ∈ Fr , m ∈ M \ Mr , t ∈ T .
(5.21)
=0
The capacity of any facility represents a physical limitation that must be
considered. The accumulated material inflow should not exceed the maximum allowable operating capacity Qk of each separation plant k ∈ Fr .
Thus, we get:
X rawI,t
xik
≤ Qk
k ∈ Fr , t ∈ T .
(5.22)
(i,k)∈A
Each separation plant has its own and specified recipe, that states the quantities of exiting materials obtained from a unit of rawI. Formally, recall ϕm
r
gives the quantity of exiting material m ∈ Mr that can be obtained from
123
5.5. AGGREGATE FORMULATION
aPunit of rawI at plant k ∈ Fr , and note that, for feasibility, we must have
m
m∈Mr ϕr = 1. The conservation flow at each separation plant is stated
by:
X
X rawI,t
m
xmt
=
ϕ
xik
k ∈ Fr , m ∈ Mr , t ∈ T .
(5.23)
r
ki
(k,i)∈A
(i,k)∈A
Asphalt mixing plants constraints.
Each asphalt mixing plant k ∈ Fa receives in input only Ma = {recI, bitumen},
and gives in output only asphalt, thus:
xmt
ki = 0
xmt
ik
(k, i) ∈ A : k ∈ Fa , m ∈ M \ {asphalt}, t ∈ T ,
(5.24)
(i, k) ∈ A : k ∈ Fa , m ∈ M \ Ma , t ∈ T .
(5.25)
=0
The plant has a total production capacity Qk for each period. Its recipe is
expressed by the ϕm
a input, which gives the quantity of material m ∈ Ma
necessary for producing a unit quantity
of asphalt at plant k ∈ Fa . For
P
m
feasibility, the values of ϕa satisfy m∈Ma ϕm
a = 1. We thus get:
X asphalt,t
≤ Qk
k ∈ Fa , t ∈ T ,
(5.26)
xki
(k,i)∈A
X
m
xmt
ik = ϕa
(i,k)∈A
X
xasphalt,t
ki
k ∈ Fa , m ∈ Ma , t ∈ T .
(5.27)
(k,i)∈A
Concrete mixing plants constraints.
These constraints are equivalent to the ones for the asphalt mixing plants.
Each concrete mixing plant k ∈ Fc receives in input materials Mc =
{recII, cement}, gives in output concrete, and has total processing capacity
Qk for each period. Its recipe is expressed by ϕm
c , that gives the quantity of
material m ∈PMc necessary for producing a unit quantity of concrete, and
is such that m∈Mc ϕm
c = 1. We thus obtain:
xmt
ki = 0
(k, i) ∈ A : k ∈ Fc , m ∈ M \ {concrete}, t ∈ T ,
(5.28)
xmt
ik = 0
X
(i, k) ∈ A : k ∈ Fc , m ∈ M \ Mc , t ∈ T ,
(5.29)
xconcrete,t
≤ Qk
ki
k ∈ Fc , t ∈ T ,
(k,i)∈A
(5.30)
X
(i,k)∈A
m
xmt
ik = ϕc
X
xasphalt,t
ki
k ∈ Fc , m ∈ Mc , t ∈ T .
(k,i)∈A
(5.31)
124
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
The resulting aggregate model is thus to minimize (6.3), subject to (6.1)–
(6.2), (6.4)–(5.31).
5.6
Disaggregate Models
The aggregate model that we described in the previous section allows to
study the behavior of the system in terms of volumes of materials, so as to
investigate its feasibility. Since the model is computationally efficient, it can
be solved several times under different network configurations, enabling to
overcome possible causes of infeasibilities. Once a feasible aggregate solution
has been found, the aim is then to determine the actual flows of each material
in each period, i.e., the “disaggregate” flows. In the following, we propose
two models, both based on LP, that allow to convert an aggregate solution
to disaggregate flows: a multi-commodity model, and a path-based model.
Note that, since vehicles may transport only one material at a time
and transport is performed in one period, the disaggregate flows can be
computed separately, without loosing the optimality of the solution, one
for each period and each material, independently from the flows of other
materials and/or other periods. Therefore, let t̄ and m̄, be, respectively, the
period and the material for which we intend to compute the disaggregate
t̄
¯m̄t̄ denote the solution of the aggregate model,
flows. Let also x̄m̄
hk and fk
representing, respectively, the quantity of material m̄ hauled from h to k in
period t̄, and the stock of material m̄ at depot k ∈ L at the end of period
t̄. To ease notation, hereafter we suppress the explicit dependence on t̄ and
t̄
¯
¯m̄t̄
m̄, writing x̄hk for x̄m̄
hk and fk for fk .
Given an aggregate solution, obtained by solving the aggregate model,
we determine the subsets of vertices and arcs that are actually used by the
material m̄ in the period t̄. In particular we denote by Ō and D̄ the subsets of
vertices having positive outgoing aggregate flow (origins) and having positive
incoming aggregate flow (destinations), respectively. The subset of vertices
crossed by some aggregate flow (intermediate vertices) is denoted V̄, while
the subset of arcs that are used by some aggregate flow (traversed arcs) is
Ā.
A multi-commodity model.
The first disaggregation procedure that we developed is based on the solution of a multi-commodity model. To formulate the problem, we introduce
hk , which represent the quantity of material m̄ taken
continuous variables yij
from origin i ∈ Ō, going to destination j ∈ D̄, and passing through arc
(h, k) ∈ Ā, in period t̄. The disaggregate multi-commodity formulation is
125
5.6. DISAGGREGATE MODELS
then given by:
XX X
min
hk
yij
(5.32)
i∈Ō j∈D̄ (h,k)∈Ā
X X
X
ik
yij
=
j∈D̄ (i,k)∈Ā
hj
yij
X X
i ∈ Ō
(5.33)
x̄hj
j ∈ D̄
(5.34)
vk
yij
i ∈ Ō, j ∈ D̄, v ∈ V̄
(5.35)
(h, k) ∈ Ā
(5.36)
i ∈ Ō, j ∈ D̄, (h, k) ∈ Ā.
(5.37)
(i,k)∈Ā
X
=
i∈Ō (h,j)∈Ā
X
x̄ik
(h,j)∈Ā
X
hv
yij
=
(h,v)∈Ā
XX
(v,k)∈Ā
hk
yij
≥ x̄hk
i∈Ō j∈D̄
hk
yij
≥0
The objective function (5.32) to be minimized is the total sum of the
disaggregate flows. Constraints (5.33) impose the sum of disaggregate flows
leaving an origin i to be equal to the sum of the aggregate flows leaving that
origin. Constraints (5.34) are equivalent to (5.33), but refer to destinations.
Constraints (5.35) impose flow conservation at intermediate nodes. Constraints (5.36) force the sum of the disaggregate flows on each arc to be not
lower than the aggregate flow on that arc. The “≥” inequality in (5.36) is
used to avoid possible errors due to different precision measures and ensures
that a disaggregate solution can always be found starting from an aggregate
one.
A path-based model.
The second disaggregation procedure we developed is a path-based model.
This formulation takes into account the various paths between a given origin
and a given destination that material m̄ can use in period t̄. To this aim,
we make use of a standard label setting algorithm for determining all the
paths from each origin i ∈ Ō to each destination j ∈ D̄ going through the
arcs (h, k) ∈ Ā. The label setting is an algorithm that builds paths from an
origin to a destination on a network and it allows to find all the possible paths
by setting a label on each node of the network that specifies its predecessors,
that means which preceding node on which path. All possible paths are
created, therefore the number of label on each node can be exponential.
Thus, the algorithm produces the set P̄ of all possible paths (for material m̄
in period t̄), and the set of arcs (h, k) ∈ Ā used by path p ∈ P̄, denoted Ā(p).
To define the path-based model, we introduce new continuous variables yp
representing the quantity of material m̄ carried on path p ∈ P̄, in period t̄.
126
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
The resulting formulation is then:
min
X
(5.38)
yp
p∈P̄
X
yp ≥ x̄hk
(h, k) ∈ Ā
(5.39)
p ∈ P̄.
(5.40)
p∈P̄:(h,k)∈Ā(p)
yp ≥ 0
This model allows to find the set of paths that minimizes the costs and
respects the requests derived by the aggregate solution. More precisely, the
objective function (6.28) is to minimize the quantities carried on the paths.
Constraints (6.29) guarantee that the quantities carried on each path are
not lower than the original aggregate flows. Non-negativity of yp is stated
in (6.30). The computational behavior of the two formulations is discussed
in details in the next section.
5.7
Computational Results
The aggregate and disaggregate mathematical models have been implemented using the MOSEL language available with Xpress. Strabag is using
our models both for the planning and operative phases of the construction of
a highway in Northern Italy and is extremely satisfied with the potentiality
of both aggregate and disaggregate models.
Furthermore, to clearly evaluate the quality of our algorithms and models in a more general framework, we performed extensive numerical tests
on a new set of realistic instances. These new instances were obtained by
applying the real-world knowledge accumulated on a hypothetical highway
construction project, still based in an area located in Northern Italy. Some
simplifications were introduced in the project to limit its complexity. In the
following we first give some information of of the instances that we created,
and then present the details of the computational results obtained by running our models with different configurations. The instances are available
from the authors upon request. Our tests have been run on a PC with 3.1
GHz Intel Core i3-2100 processor, by using one thread.
5.7.1
Realistic instances
The instances that we created are based on a hypothetical highway construction among the provinces of Parma, Reggio Emilia, and Modena, in Italy,
and is depicted in Figure 5.3. The highway we projected is located in parallel to the Roman road Via Emilia and presents a length of approximately
43.5 km. Henceforth, we will refer to it as New Via Emilia.
The New Via Emilia plan is set in an irregular territory, with altitude
gaps and some rivers and streams. We discretized it in about 400 segments,
5.7. COMPUTATIONAL RESULTS
127
Figure 5.3: The New Via Emilia layout: on the left the overall construction
site planned is depicted, while a highlight is given on the right.
each of about 100 meters length. For each segment a different amount and
composition of materials to be dug and filled has been contemplated, considering the presence of bridges, viaducts, galleries, embankments, and trenches
in the plan. An MPS has been drawn to engineer the various phases of the
construction process. In particular, the New Via Emilia has been divided
into 13 main parts, and six diverse construction phases have been established, one for digging and five for filling. The five filling phases are: 1)
construction of concrete components of the skeletons of artificial and natural galleries, bridges, and viaducts; 2) construction of banks for embankments, tranches, and artificial galleries; 3) juxtaposition of the first layer
of the roadway; 4) termination of the structure of bridges and viaducts; 5)
asphalt paving. Time windows were assigned to each task following realistic
assumptions on transportation capacities and working hours.
We then created the sets of quarries, dump sites, mixing and separation
plants, temporary depots, access points, and external nodes. With this aim,
we looked for real plants in the area interested by the New Via Emilia and
1
detected 19 quarries and 19 dump sites. For simplicity, we considered each
quarry and dump site capable of selling and accepting all the materials,
respectively. To connect the external sites to the construction site, we situated several access points where the hypothetical building site meets the
existing public network. We then connected the access points to the external plants by building paths in the public network. The resulting paths are
highlighted, for a portion of the area involved by the project, in Figure 5.3.
As discussed in the previous sections, several paths are typically available to
reach a plant, because flow capacity on the least-cost path can be too small
to guarantee the entire materials transportation. The mixing and separation
plants have then been located close to those access points where wide and
non-inhabited areas were available. The recipes of the separation and mixing plants were taken from real data. We also located 27 temporary depots
along the building site. Capacities on arcs and nodes were again defined on
the basis of realistic assumptions.
We thus obtained a first instance made of 2954 nodes (2270 of which
represent tasks), 3694 arcs, and a building site characterized by 6 natu-
128
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
ral galleries, 4 bridges, one viaduct, and many kilometers in trenches. We
considered a two year project, that we discretized in weeks. Material and
transportation costs were estimated using real data. To have a more exhaustive test set of instances, we modified the basic New Via Emilia instance so
far described by perturbing some of its characteristics. This generated a
final collection of ten test instances, which is summarized in Table 5.2. The
table gives the description of the modifications applied to the basic instance.
5.7.2
Aggregate model results
As previously mentioned, the aggregate model (6.3) – (5.31) has been solved
using the LP solver Xpress 7.4. Different algorithms are available for solving
LPs. To find the best computational performance, we considered the Dual
Simplex, the Primal Simplex, and the Barrier algorithm.
Table 5.2 gives the results that we obtained on the 10 instances that we
created. In particular, we report for each instance the computational time
(in seconds) required by the given algorithms to reach the optimal solution.
The results of the comparison identify Barrier as the best algorithm
when solving our set of instances. In average, it takes about 2 minutes with
the Xpress configuration to solve an instance. The second best algorithm
is the Primal Simplex, which in average needs about 17 minutes. The Dual
Simplex is outperformed by the other algorithms, because its average solving
time is barely three hours. The maximum values are quite small for the
Barrier algorithm, but can be very high for the other two algorithms, about
one hour and a half and more than 5 hours for the Primal and the Dual
algorithm, respectively. The minimum values of times are not particularly
high for the Primal and Barrier algorithms, while can be huge for the Dual
algorithm. To note that Xpress uses the Dual Simplex algorithm by default.
Table 5.1: Characteristics of the 10 instances and computational times obtained by running the aggregate model on Xpress 7.4 by using Dual, Primal,
and Barrier algorithms.
5.7.3
Disaggregate model results
The disaggregate models have been tested on 7753 disaggregate subinstances
obtained by solving the 10 aggregate instances. The main characteristics of
the disaggregate subinstances are reported in Table 5.3. In particular, the
table shows, for each aggregate instance (Inst.), the number of disaggregate
subinstances solved (#Subinst.), and the average numbers of origins, destinations, vertices, arcs, and paths touched by the flow (denoted, respectively,
by Ō, D̄, V̄, Ā, and P̄). The last line gives average values over the entire
set. The number 7753 comes from the fact that each aggregate instance
129
5.7. COMPUTATIONAL RESULTS
may generate up to |M| × Tmax = 1010 subinstances, thus leading to 10100
subinstances in total, but not all materials have positive flows in all periods
and so not all disaggregate models need to be run.
In Table 5.3 we also present the results obtained by running the two
models developed to solve the disaggregate problem. Values Tm and Tp
denote the times in seconds needed to solve the multi-commodity and the
path-based models, respectively, and indicate the time spent to compute all
the required sets (Ō, D̄, V̄, Ā, and, in addition for the path-based model, P̄)
and to run the model. We then report ∆T = Tm − Tp . We can observe
that, in average, the path-based model is about 20% faster than the multicommodity one, even if an additional algorithmic component for detecting
the paths has to be included.
In Figure 5.4 we report the time needed to solve each one of the 7753
models with respect to the number of the arcs considered. This shows how
the performances in time of the multi-commodity decrease when increasing
the number of arcs, while those of the path-based remain stable even when
the number of arcs is relevant. To note that, for scaling problems, in the
figure we do not report the results of two subinstances that needed 29.07 and
6.86 seconds to be solved to optimality using the multi-commodity model
(and about 0.1 seconds with the path-based one).
Eventually we can conclude that the path-based model is faster than the
multi-commodity model and that the path-based model is less affected by the
number of arcs in the network to disaggregate, while the multi-commodity
model is very sensible to the dimension of the network.
4
Muli-commodity
Path-based
3.5
3
Seconds
2.5
2
1.5
1
0.5
0
0
50
100
150
200
250
300
350
Arcs
Figure 5.4: Solution time of the disaggregate models with respect to the
number of arcs.
130
5.8
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
Conclusions
In this chapter we described our work of modeling and solving the earthwork
optimization problem that arises when building a highway, focusing on the
real-world activity performed by Strabag AG, one of the largest European
companies operating in this sector. We modeled the earthwork problem by
using novel a two-phase approach. In the first phase we solve an aggregate
problem optimizing the overall flows of materials of the entire period of the
project described by the Master Production Schedule. In the second phase
we disaggregated the problem for each material and period and solved the
obtained subproblems using two Linear Programming formulations. Our
quantitative method includes some novelties with respect to the Body of
Knowledge: we consider a set of multiple materials not only from excavations, we include a set of processes that can recycle dug material so to be used
as high quality material for filling and constructing, we accounts for time
windows for each activity derived from a Master Production Schedule, and
we evaluate the restriction given by an network external to the construction
site and the possible alternative paths. Nevertheless all these new features
can be deactivated one by one so to make our methodology general and
feasible to solve several types of earthwork optimization problems. To prove
the quality of the proposed two-phase new algorithm we produced a set of
realistic instances and solved the aggregate problem with Primal and Dual
simplex and Barrier algorithms, showing that the last one outperformed the
others. We also tested the disaggregate models concluding that the pathbased model is more efficient than the multi-commodity one, especially when
the number of arcs increases. Another reason why chosing the path-based
model is that is more general than the multi-commodity because it allows
the use of different cost functions The resulting approach is currently in use
in Strabag, and is a powerful, flexible, and easy to replicate tool for solving
real-world earthwork optimization problems. We included our optimization
approach in a Decision Support System, presented in the following chapter, that combines tha presente two-phase apporach with graphical tools to
visualize solutions and with a retroactive approach.
131
5.8. CONCLUSIONS
CPU Times
Inst. Description
1
2
3
4
5
6
7
8
9
10
Dual Primal Barrier
basic instance
reduced number of quarries and dump sites
restricted materials in quarries and dump sites
optimistic digging (45% rawI, 45% rawII, and 10% rawWaste)
pessimistic digging (25% rawI, 25% rawII, and 50% rawWaste)
balanced filling (50% rawI and 50% rawII)
enlarged time windows for each task
restricted flow capacities on the arcs of the external network
increased capacities for recycling plants and temporary depots
decreased capacities for recycling plants and temporary depots
Min
Avg
Max
11 321.0 1 029.2
19 106.4 465.0
11 532.5 390.0
8 541.4 507.8
12 798.6 413.2
12 084.5 662.0
7 282.2 802.6
11 556.3 1 105.3
4 583.5 281.6
10 452.8 4 626.3
105.8
128.7
115.0
130.9
125.2
125.5
168.5
121.7
118.3
131.5
4 583.5 281.6
10 925.9 1 028.3
19 106.4 4 626.3
105.8
127.1
168.5
Table 5.2: Characteristics of the 10 instances and computational times obtained by running the aggregate model on Xpress 7.4 by using Dual, Primal,
and Barrier algorithms.
Inst.
#Subinst.
|Ō|
|D̄|
|V̄|
|Ā|
|P̄|
Tm
Tp
∆T
1
2
3
4
5
6
7
8
9
10
777
782
778
767
783
781
740
798
774
773
3.40
3.34
3.34
3.23
3.34
3.31
3.05
3.88
3.31
3.36
4.07
3.79
4.04
3.99
3.97
3.95
3.60
4.48
3.97
3.99
53.14
58.71
56.62
53.34
52.56
51.48
43.26
59.02
52.63
59.06
57.64
63.19
61.09
57.71
57.00
55.86
47.60
64.10
57.05
63.62
4.53
4.49
4.50
4.38
4.48
4.41
4.43
5.17
4.44
4.64
143.59
138.11
141.02
138.23
140.25
139.82
171.19
154.76
137.86
146.49
122.29
116.24
115.38
112.95
115.80
115.73
109.38
117.27
114.13
114.05
21.30
21.87
25.64
25.28
24.45
24.09
61.81
37.49
23.73
32.44
avg
775.3
3.36
3.99
54.04
58.55
4.55
145.13
115.32
29.81
Table 5.3: Evaluation of the multi-commodity and path-based disaggregate
models.
132
CHAPTER 5. EARTHWORK OPTIMIZATION MODELS
Bibliography
[1] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Inc., Upper Saddle River, NJ, USA,
1993.
[2] M. Ammar, A. I. Eldosouky, and F. A. Jarad. Optimization of earthwork
allocation with multiple soil types. Alexandria Engineering Journal, 42:111–
123, 2003.
[3] W. H. Askew, S. H. Al-Jibouri, M. J. Mawdesley, and D. E. Patterson. Planning linear construction projects: automated method for the generation of
earthwork activities. Automation in construction, 11:643–653, 2002.
[4] S. M. Easa. Earthwork allocations with nonconstant unit costs. Journal of
Construction Engineering and Management, 113:34–50, 1987.
[5] S. M. Easa. Earthwork allocations with linear unit costs. Journal of Construction Engineering and Management, 114:641–655, 1988.
[6] S. M. Easa. Selection of roadway grades that minimize earthwork cost using
linear programming. Transportation Research Part A: General, 22:121–136,
1988.
[7] R. L. Burdett, and E. Kozan. An Integrated Approach for Earthwork Allocation, Sequencing and Routing. European Journal of Operational Research,
238:741–759,2014.
[8] W. L. Hare, V. R. Koch, and Y. Lucet. Models and algorithms to improve
earthwork operations in road design using mixed integer linear programming.
European Journal of Operational Research, 215:470–480, 2011.
[9] A. K. W. Jayawardane and F.C. Harris. Further development of integer programming in earthwork optimization. Journal of Construction Engineering
and Management, 116:18–34, 1990.
[10] Y. Ji, A. Borrmann, E. Rank, J. Wimmer and W. Guenthner. An Integrated
3D Simulation Framework for Earthwork Processes. Proceedings of the 26th
CIB-W78 Conference on Managing IT in Construction, 2009.
[11] S. M. Karimi, S. J. Mousavi, A. Kaveh, and A. Afshar. Fuzzy optimization
model for earthwork allocations with imprecise parameters. Journal of construction engineering and management, 133:181–190, 2007.
[12] M. Marzouk and O. Moselhi. Multiobjective optimization of earthmoving operations. Journal of construction Engineering and Management, 130:105–113,
2004.
133
134
BIBLIOGRAPHY
[13] R. H. Mayer and R. M. Stark. Earthmoving logistics. Journal of the Construction Division, 107:297–312, 1981.
[14] A. A. Moreb. Linear programming model for finding optimal roadway grades
that minimize earthwork cost. European Journal of Operational Research,
93:148–154, 1996.
[15] O. Moselhi and A. Alshibani. Optimization of earthmoving operations in heavy
civil engineering projects. Journal of Construction Engineering and Management, 135:948–954, 2009.
[16] R. M. Stark and R. H. Mayer. Quantitative construction management: Uses
of linear optimization. Wiley New York, 1983.
[17] R. M. Stark and R. L. Nicholls. Mathematical foundations for design: Civil
engineering systems. McGraw-Hill New York, 1972.
[18] C. M. Tam, T. K. L. Tong, and B. W. L. Wong. An integrated system for
earthmoving planning. Construction Management and Economics, 25:1127–
1137, 2007.
[19] W. Xianjia, H. Yuan, and Z. Wuyue. The bilevel programming model of
earthwork allocation system. In Cutting-Edge Research Topics on Multiple
Criteria Decision Making, 35:275–281. Springer Berlin Heidelberg, 2009.
[20] H. Zhang. Multi-objective simulation-optimization for earthmoving operations.
Automation in Construction, 18:79–86, 2008.
Chapter 6
A Decision Support System
for Highway Construction
and its Application to the
Autostrada Pedemontana
Lombarda
This chapter presents a new decision support system (DSS) to handle the
activities involved in construction logistics projects. The system has been
designed through a collaboration with the construction company Strabag
AG. The new DSS aids managers to schedule the construction activities,
determining the amounts of materials that must be moved in a time period,
and the corresponding paths to obtain minimum costs. Its application to
the highway construction project Autostrada Pedemontana Lombarda has
produced significant results in terms of quickness in decision making and
cost savings. Our system is based on the use of linear programming and
operates in two phases: firstly the feasibility of the project is determined by
an aggregate mathematical model, then a disaggregate model is executed to
determine the actual flows for each material and period.
The efficiency of the proposed system is shown by means of computational results run on a set of instances drawn from the Autostrada Pedemontana Lombarda project. Graphical tools are used to obtain a clear
visualization of the solutions of the models and to facilitate the decision
process.
The DSS, currently in use in the company, is a powerful, flexible, and
easy to replicate tool for solving real-world construction logistics problems.
Keywords: Decision support, Linear programming, Earthwork, Construction logistics.
135
136
6.1
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
Introduction
The construction of a highway includes various activities that have to be
done in different periods and take years to be completed. Earthwork operations account for about 25% (see Hare et al. [5]) of the construction
costs and consist mainly of activities such as digging, filling, hauling, and
dumping, that depend largely on heavy equipment.
The solution of complex projects that evolve over long time horizons can
obtain substantial benefits from the use of modeling techniques. The collaboration the supply chain optimization team of the construction company led
to the creation of an earthwork optimization system based on the use of linear programming (LP) models. The use of the models produces a minimum
cost earthwork plan and makes it possible to enhance the productivity of
the overall construction project. The models are embedded into a decision
support system (DSS) that aids managers to schedule the highway construction activities over a planning horizon. In particular, it helps in deciding
when and how moving or storing the different materials to minimize costs.
The main activities involved in the project are shown in Figure 6.1, where
the arrows represent flows of materials of different kinds.
Figure 6.1: Flow chart representing the main activities involved in the
project.
The construction site is discretized into segments of different length
called material locations, where several activities must take place. Digging
activities, that is, the excavation of earth, must be done in different material
locations. A fundamental step in digging activities is represented by on-site
separation of the material according to its characteristics, obtaining the socalled rawH (high quality), rawM (medium quality), rawWaste (waste), and
topsoil (the outermost layer of soil). Materials such as rawH and rawM can
be used directly for filling. Moreover, rawH can be recycled and the wastes
from digging and recycling must be discarded on dump sites, while topsoil
is temporary stored and reused directly to recover the soil at the end of
the construction. Filling activities consist in bringing towards highway construction locations a certain amount of material, for example to fill earth
cuts and trenches, or build bridges and artificial galleries. In the recycling
6.1. INTRODUCTION
137
process, realized in recycling plants, rawH is recycled to obtain refined materials which are then mixed with bitumen and cement to obtain concrete and
asphalt, materials suitable for filling. If necessary or profitable, materials
can also be bought from private quarries. Construction materials can also
be stored in temporary depots and used at a later stage. Quarries, dump
sites, temporary depots, and recycling plants have capacity restrictions. To
move the materials, different types of capacitated vehicles are used.
The DSS consists of three phases: the input, the optimization, and the
output phase. The input phase represents the integration with the Master
Production Schedule (MPS) where all the activities and their time windows
are defined by the production department. In this phase data are collected
and preprocessed. The optimization phase aims at checking the MPS feasibility and optimize the execution of the activities. The output phase receives
the output of the optimization and uses it to automatically create graphs,
tables, and other interactive tool that are useful for the decision maker to
implement feedback actions.
In the optimization phase the highway building site is modeled as a
graph composed by one part representing the building site and another part
representing a network of roads external to the building site, needed to reach
the dump sites and the quarries. The vertices of the network correspond
to material locations, plants, dump sites, temporary depots, quarries, and
junctions of the road networks. The vertices are connected by arcs that
represent the private roads inside the building site and the public roads of the
external network. To solve the problem we adopted a two-level approach, by
using first an aggregate and then a disaggregate formulation, both based on
the use of linear programming. The aggregate formulation aims at checking
the feasibility of the project in the given time horizon, with the given limited
resources, while minimizing an estimation of the costs. It is possible to
run the aggregate formulation several times and under different network
configurations to overcome possible infeasibility problems. The disaggregate
formulation is executed, once a feasible solution to the aggregate formulation
is on hand, to find precise minimum cost flows for each type of material and
period.
Our formulations derive from those developed in Bogenberger et al. [2],
but include some additional features that derive from our real-world case
study and are discussed in the following. All the other components of the
DSS, as well as the real-world case study, are presented in this chapter for
the first time
The modeling activity follows the footsteps of a well established line of
research on the so-called earthwork problems, that basically consist in finding the minimum cost flows of earth materials while satisfying operational
constraints. The very basic earthwork optimization problem is known in the
literature as the cut and fill problem (see, e.g., Ahuja et al. [1]) and can be
solved by the use of a minimum cost flow algorithm. This simple model has
138
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
then been expanded to include constraints and complications arising in realworld construction problems and LP became in the time a standard tool for
solving these models (see, e.g. Stark and Nicholls [9] and Mayer and Stark
[8]). Some variations are represented by the use of non-linear costs (see, e.g.,
Easa [3, 4]), uncertainty in costs and facility capacities (see, e.g., Karimi et
al. [6]), multi-objective frameworks and simulation (see, e.g., Marzouk and
Moselhi [7] and Zhang [10]), just to cite some of the most relevant ones.
The reminder of the chapter is organized as follows. We introduce the
Autostrada Pedemontana Lombarda project and we present the company
in two dedicated sections. The Decision Support System section shows the
DSS in detail, specifying the tools and methods involved in each step of its
execution. In Computational Evaluation of the Optimization Phase section
a computational evaluation is presented. Conclusions are drawn in the last
section.
6.2
The Autostrada Pedemontana Lombarda
Project
Autostrada Pedemontana Lombarda (www.pedemontana.com) is one of the
largest highway construction projects currently under development in Europe. It covers the urban area of Milan, in Northern Italy (see Figure 6.2)
and includes a large system of highways, access ramps, and local streets. It
will be composed by 157 km of roads, 19% of which runs through natural
tunnels and 16% through artificial tunnels. There will be 87 km of highway
(67 km of highway, 20 km of bypass) and 70 km of road links to ease local
vehicular load.
Its construction is part of the activities planned for the forthcoming
World Exposition Milano 2015 (Expo Milano 2015). It is an economically
and socially strategic project, because the highway runs through a territory
with more than 220,000 companies (40% of the regional total) and four
Figure 6.2: The Autostrada Pedemontana Lombarda project in Northern
Italy.
6.3. STRABAG AG: A LEADER IN THE CONSTRUCTION INDUSTRY139
Figure 6.3: The characteristics of the main highway.
million inhabitants. The aim of this construction project is to redistribute
the traffic of the existing road system, cover the lack of infrastructural offer
in the northern area of Milan, link the three main airports of Lombardy
and ease the traffic among the five provinces of Bergamo, Monza e Brianza,
Milano, Como, and Varese.
To minimize the impact over the residential areas involved, nearly threequarters of the 87 km of the highway will run in trench and artificial or
natural galleries. This implies the digging of a huge amount of earth, roughly
30 millions m3 . Figure 6.3 summarizes in a simple way the characteristics
of the highway. The building site extends for 12 km in natural galleries, 13
km in artificial galleries, 36 km in trenches, 20 km in embankments, and 6
km in bridges and viaducts.
The construction has been entrusted to a consortium, formed by the Italian constructors Grandi Lavori Fincosit and Impresa Costruzioni Giuseppe
Maltauro, and by the Austrian company Strabag AG, which holds 60% stake
of the project.
6.3
Strabag AG: a Leader in the construction industry
Strabag AG Group, with headquarter in Vienna (Austria), has its origins
in ILBAU, founded in 1835 in Austria, and in the namesake STRABAG,
founded in 1895 in Germany. Over the years, the company has grown into
one of Europe largest construction companies, now operates in many European markets, and also on individual cases in other continents. The company
offers a wide range of services that span all areas of the Construction Industry: building construction and civil engineering, infrastructure construction
and tunneling, and facility management.
Zentrale Technik is an Engineer-center of excellence that develops the
technical know-how of the Strabag AG Group and spreads it within the
company. The Supply Chain Optimization (STRAsco) team of Strabag AG,
composed of experts in operations research, network optimization, simula-
140
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
tion, and logistics, treats topics along the whole supply chain and delivers
a well founded basis to decision makers in the field of construction logistics.
STRAsco operates in the Zentrale Technik of Vienna since January 2013.
By making use of instruments such as mathematical optimization methods
and simulation, the STRAsco group manages design, planning, and ongoing
optimization of logistics in major projects.
6.4
The Decision Support System
Figure 6.4 schematically depicts the operating diagram of the DSS that we
developed, highlighting the tools and the methods used in each step for
managing the logistics of the highway construction project. The main steps
are the collection and management of input data, the optimization phase
for finding the best earthwork configuration, and, finally, the processing of
the output, the graphical representation of the solutions found, and the use
of these results as feedbacks in an iterative framework. In the next three
subsections we describe the details of these steps.
Figure 6.4: Operation Diagram of the developed Decision Support System.
Input Phase
The input is handled through a code in Visual Basic for Applications (VBA).
In particular two input files are considered. The first one is the MPS, in
the form of an excel file (.xls), that is an output of the design phase of civil
engineers that contains information about the tasks to be done in different
material locations and their time windows. This file also contains useful
6.4. THE DECISION SUPPORT SYSTEM
141
information for the planning of activities such as the capacity of quarries,
temporary storages, plants, and dump sites, the type and capacity of the
vehicles involved, and the quality of materials.
The second input is a Keyhole Markup Language file (.kml), which collects information from Google Earth Pro. This information concerns the
geographic coordinates of the characteristic vertices of the project such as
quarries, dump sites, plants, material locations, access points, and temporary depots. Using Google Earth Pro, one can create and edit paths and
add other useful information. For example, it is possible to specify whether
a particular path is subject to capacity restrictions and to include the characteristics of the roads (public roads, road to be constructed, etc.). The
information deriving from the .kml file and from the .xls files is collected by
a specifically designed routine in VBA, and then translated into text files to
move to the optimization phase.
R
In the optimization phase, we use the FICOXpress
Optimization Suite
to solve the mathematical models. All information is passed to Xpress using
a few data files (.dat) that contain all the values of the parameters used
to describe the model. In this way the optimization models receive information about vertices, arcs, periods, materials, vehicles, digging and filling
demands, capacities of plants, quarries, and dump sites, but also information about the coordinates of the vertices thanks to the details taken from
the .kml file.
Optimization Phase
The optimization phase is based on LP models and is divided in two subphases represented by an aggregate formulation and a disaggregate formulation, respectively. Both formulations are defined and extensively explained
in the Annex 6.A. The aggregate formulation uses two sets of variables: the
first one models the flows of materials in each period on the arcs of the network representing the building site. The second set of variables takes into
account the amount of material stored in depots, acquired from quarries, and
dumped away in every period. The objective function minimizes the cost
of storing, dumping, acquiring, and hauling materials. A set of digging and
filling activities of several materials and their time windows are requirements
of the MPS: the aggregate formulation must respond to these requirements
minimizing the overall costs and respecting the imposed constraints. The
constraints are many: the digging and filling must be accomplished respecting the time windows. When digging in a material location in different
periods, the composition of materials is always the same, thus if some rawH
is needed also a percentage of the others materials has to enter the network.
On the other hand, a set of alternative materials can be used when filling.
A number of facilities can be used during the construction of the highway:
recycling plants to transform materials, quarries to buy materials, dump
142
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
sites to discard some materials, and temporary depots to store materials.
Some of these facilities are located outside of the building sites and a highly
constrained external network must be considered. All facilities so as all arcs
of the network and all vehicles have capacity constraints to be respected.
The solution of the aggregate formulation, expressed in terms of flows, is
stored in text files to be passed to the disaggregate formulation.
The disaggregate formulation is used to determine precise flows, one for
each material and each period, taking the solution of the aggregate formulation as input. It considers all origins and destinations for a given material
in a given period, and detects all paths connecting the origins with the destinations that respect the capacities derived from the aggregate solution.
Each path is represented by a variable, whose cost is normally non-linear
and depends on the length of the path itself. The disaggregate formulation
determines the set of paths that allow to move the materials at minimum
cost. Both formulations are an evolution of the modeling activity performed
in Bogenberger et al. [2], and include some new features derived by the realworld application. The main changes affected digging and filling constraints
in the aggregate formulation and inclusion of costs in the disaggregate forR
mulation. To solve the models we used the FICOXpress
Optimization
Suite software, and in particular we used the Xpress-Mosel language. The
solutions are stored as plain text files that are then processed by the output
phase.
Output Phase
To make it easier to understand the results, characterized by values of millions of variables, we make use of practical graphical tools. These tools can
be used to adapt diagrams and tables on customer request. More specifically, we used the D3 JavaScript library to visualize the diagrams and tables
representing the solution of the aggregate flows. To do this we necessitate,
besides the file representing the solution obtained by Xpress, additional input files realized in the JavaScript Object Notation (.json) format, which
contain the location classes, material classes, vertices definitions, relations,
and routes. The D3.js library is useful to manipulate data files and create
an interactive representation of data. Due to the security model of standard
web-browser implementations, it was necessary to implement a web server
in which one can see the graphs and tables filled with the information of the
aggregate model.
In Figures 6.5, 6.6, 6.7, and 6.8 some of the graphical representations that
can be obtained are shown. In particular, Figure 6.5 depicts the network of
the basic instance (a segment of Autostrada Pedemontana Lombarda that
is used in the next section for the computational evaluation of our models), formed by the construction site, several access points that link the
construction site to external public roads, 13 dump sites, seven temporary
6.4. THE DECISION SUPPORT SYSTEM
143
Figure 6.5: Network visualization of the basic instance , the highway section
used for computational tests.
depots, a quarry, and two concrete mixing plants. Such a representation
helps decision-maker to have a clear idea about the location of the points of
interest and possible connections and obtain information on each point by
clicking the interactive figure.
Figure 6.6 shows the inflow, storage, and outflow of material through the
temporary depot T D2 during the time horizon. In Figures 6.6, but also in
Figures 6.7 and 6.8, different colors represent different materials. In Figures
6.6-(a) and 6.6-(b) the inflows and outflows are depicted. In particular, the
small bars represent the amount of entering and exiting materials, respectively, for each period, while in the background the overall inflows (for Figure
6.6-(a)) and outflows (for Figure 6.6-(b)) are reported. In Figure 6.6-(c) the
amount of materials stored in T D2 is shown. One can notice that at the
beginning of the construction process the inflows are more relevant because
of the largest number of planned digging activities. Then the capacity of the
depot is reached and no additional inflows are registered. The last periods
of the time horizon are characterized by a larger number of filling activities,
thus the temporary depot outflows increase.
In Figure 6.7-(a) one can observe the total handled material, expressed
in m3 , which refers to the total amount of material loaded on vehicles during
the earthwork activities. The small bars represent the handled material for
each period. In Figure 6.7-(b) the hauling capacity, expressed in km · m3 ,
is depicted. Here the small bars show the hauling capacity used for every
period.
Figure 6.8 shows the amount of material treated in digging and filling
activities in material location, period by period, material per material. As
one can see, the last periods are not interested by digging activities, which
is quite normal because these periods are interested by filling activities such
as paving.
144
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
(a) Inflow material
(b) Outflow material
(c) Storage
Figure 6.6: Flows in temporary depot T D2 during the construction time
horizon.
(a) Total handled material (m3 ).
(b) Total hauling capacity (km · m3 ).
Figure 6.7: Graphical representations of the use of material during the construction time horizon.
145
6.4. THE DECISION SUPPORT SYSTEM
(a) Excavated material (m3 )
(b) Filled material (m3 )
Figure 6.8: Graphical representation of digging and filling activities in a
vertex.
The solution of the disaggregate model gives us detailed information on
the flow of a material in a certain period. It is a point to point solution, since
by solving the model one understands exactly from which source to which
destination the material travels over a certain period. For the graphical
representation of the disaggregated flows we use a diagramming program,
specifically the free yEd Graph Editor by yWorks. This editor directly reads
the solution provided by the model in the form of Excel file. The result is a
large diagram containing information about the flows of material that start
from all sources and arrive on several destinations. Figure 6.9 is a particular of an example of the graphical output (.graphlm) of the disaggregate
model in which we consider the flows coming from a certain digging activity, DIG123, and directed respectively to the temporary depots, T D6 and
T D7, to the dump site DS10, and to the filling activity F IL145. This type
of representation highlights the distance in km from sources to destinations
and the amounts in m3 of materials involved, making a distinction between
the different types of materials. In particular, in DIG123 we represent with
line mexc the total amount of excavated materials such as topsoil (italic)
and the others materials (plane), while in line mcw we depict the amount
of the excavated materials that are rawWaste. In T D6 and T D7 we depict
the total amount of materials stored, separated in topsoil (italic) and other
materials (plane). The filling activity F IL145 shows the total amount required in this period in line mcr and the amount derived by the block of this
subgraph in line mcri , both separated in topsoil (italic) and other materials
(plane). The block representing the dump site DS10 shows the amount to
be carried to the dump site in this period in line mcr and the amount of
materials coming from the blocks of this graph in line mcri . On the arcs are
146
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
depicted the amount of topsoil (italic) and of other materials (plane), and
the distance between the two sites.
Figure 6.9: Graphical output of the disaggregate model.
6.5
Computational Evaluation of the Optimization
Phase
The models, whose detailed mathematical formulation is given in Annex 6.A
, were implemented using the Xpress-Mosel language available and solved
R
with the LP solver FICOXpress
7.6. The PC on which the tests were
performed has the following characteristics: 2.21 GHz AMD Athlon(tm) 64
Processor 3500+.
Real-world Instance
The instance used to conduct tests to validate the models corresponds to the
real-world highway segment of the project Autostrada Pedemontana Lombarda between Cesano Maderno and Usmate Velate, that is what we call
basic instance (see Figure 6.2). The data refer to an intermediate stage of
the project and therefore they do not exactly reflect the final configuration
of the considered segment. The basic instance is one of the most problematic sections of the whole construction project from an environmental and
urbanistic viewpoint, due to the need of construction in proximity of urban
settlements and areas of natural beauty. With a length of approximately
16.5 km and three lanes in each direction, the basic instance extends for
about 6.5 km in artificial tunnels and for about 9.5 km in trenches, as well
as in embankments and in viaducts. The track intersects many waterways,
the most important of which is the Lambro river, crossed by a bridge. To
connect the highway with the local road network, some secondary tracks
will be realized in addition to the main one.
6.5. COMPUTATIONAL EVALUATION
147
The section is discretized in segments of about 500 meters length. For
each segment the amount and composition of materials to be dug has been
estimated by performing a core sampling. Similarly, the amount and composition of materials to be used for filling has been determined by considering
the presence of bridges, viaducts, galleries, embankments, and trenches in
the plan. On the basis of the MPS we determined the time windows of the
various activities of the construction process. The overall planning horizon
of the basic instance is about three years, that we discretized in months.
The area interested by the basic instance includes several facilities, such
as 13 dump sites, a quarry selling asphalt and cement, seven temporary
depots, and two concrete mixing plants. Several access points connect the
external sites, i.e., the existing public network, to the construction sites.
The access points are connected to the external plants by using the available
paths in the public network. The resulting network is described in Figure
6.5, that depicts the construction site (highlighted), and the paths through
access points and external plants (plain).
Computational Results
The instance described in the previous subsection has been modified by
perturbing some of its characteristics with the purpose of obtaining an exhaustive set of instances. We first created two instances by changing the
discretization of the segments, using segments of 250 meters and of 750 meters. Xpress offers different algorithms for solving LPs, among these the
Dual Simplex, the Primal Simplex, and the Barrier algorithm. To identify
the best method to solve our problem we tested the three algorithms on the
basic instance and on the other two perturbed instances.
Table 6.1 gives the results of the three algorithms on the instances that
we created. For each instance we report the objective function value z and
the computational time required to reach the optimal solution. We also
provide the average of these computational times.
It should be noticed that the discretization in segments of 250 meters
costs slightly more than the real-world instance. Instead, the 750 discretization cost slightly less than the basic instance. We can conclude that the
used discretization of 500 meters represents an appropriate level of detail.
As regards the computational times, the results of the comparison identify the Barrier as the best algorithm when solving our set of instances. In
average, it takes about two minutes to solve an instance. The other two algorithms require in average a computational time about eight times higher.
The maximum values are quite small for the Barrier algorithm, i.e., about
3.5 minutes, but can be very high for the other two algorithms, reaching
about 50 minutes.
The problem we assessed is very complex, thus we performed a sensitivity analysis, conducted by changing the percentages of excavated materials,
148
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
Solution
Instance
basic instance (0.500 km)
0.250 km discretization
0.750 km discretization
CPU seconds
z
Dual
Primal
Barrier
19206.1
19298.9
19191.6
386.8
923.2
256.2
901.3
2890.4
613.5
95.8
213.5
68.6
522.1
1468.4
126.3
Avg
Table 6.1: Results obtained by solving the aggregate model with Dual, Primal, and Barrier algorithm
to better understand the behavior of the aggregate formulation. We recall
that rawH is the highest quality material obtained by digging. In the basic
instance rawH amounts to about 10% of the total excavated materials. This
value derives from core sampling performed at material locations (roughly,
a sampling every 500 m), so it is only an estimation of the real value. Indeed this percentage is a very critical parameter, this is why we present the
following analysis. We obtained three additional instances by increasing the
percentage of rawH by 5% and 10%, and decreasing it by 5%, respectively.
Instance
basic instance (10% rawH)
rawH +5%
rawH +10%
rawH -5%
z
% gain
CPU seconds
19206.1
16104.6
13485.1
infeasible
16.1
29.8
-
95.8
109.2
120.3
55.1
Table 6.2: Sensitivity analysis on the quality of materials.
As one can see in Table 6.2, in more optimistic situations the solution
cost decreases consistently with respect to that of the real-world instance.
Instead, the more pessimistic situation gives an infeasible instance, because
such a situation creates too much waste and the capacity of the temporary
depots is not large enough to accommodate it.
6.6
Conclusions
In this chapter we described a new Decision Support System (DDS) developed to furnish Strabag AG, one of the largest European construction
companies, with a tool that could assist the decision-makers in the process
of construction of the Autostrada Pedemontana Lombarda. Autostrada
Pedemontana Lombarda is one of the largest highway project in progress
nowadays in Europe and it is part of the activities planned for the World
Exposition Expo Milano 2015. Its construction requires to move roughly
5·107 m3 of earth, for about 5·108 km · m3 of flows.
6.6. CONCLUSIONS
149
The newly developed DDS is based on three phases: the input, the optimization, and the output phase. The input phase collects and preprocesses
the information to be passed to the optimization phase. The optimization is constituted of two sub-phases, a first one, where an aggregate model
solves the earthwork optimization problem, and a second one that solves a
disaggregate model which dispenses the actual flows for each material and
each period. The output phase uses the data procured by the optimization
phase and gives an useful, practical, and clever set of interactive outputs to
improve and simplify the decision making process.
To test the efficiency of the proposed DSS in solving complex earthwork
optimization problems, we produced a set of instances by perturbing some
characteristics of the real-world instance corresponding to one of the nine
sections of the Autostrada Pedemontana Lombarda project.
The DSS, currently in use at Strabag AG for the construction of Autostrada Pedemontana Lombarda, is an efficient, responsive, and adaptable
tool suitable for solving different real-world construction logistics problems
with little changes. Its application to other construction projects is under
study by Stabag AG.
150
6.A
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
Mathematical Models
In this Appendix we report the mathematical models used in the optimization phase.
Aggregate Formulation
Let us first define the necessary sets of vertices: L is the set of temporary
depots, D of dump sites, S of quarries, H of the material locations (where
digging and filling activities must be performed), B of vertices representing the network outside the building site, including the access points to the
building site. Let A, M, and T be the sets of arcs, materials, and periods,
respectively.
Variables. The variables xmt
ij represent the flow of material m ∈ M in
period t ∈ T on arc (i, j) ∈ A, while fkmt represent, respectively, the quantity
of material m stored in a temporary depot k ∈ L, carried to a dump site
k ∈ D, or acquired from a quarry k ∈ S, at period t. Variables must be
non-negative, thus:
xmt
ij ≥ 0
fkmt
≥0
(i, j) ∈ A, m ∈ M, t ∈ T ,
(6.1)
k ∈ L ∪ D ∪ S, m ∈ M, t ∈ T .
(6.2)
Objective Function. With each arc (i, j) ∈ A is associated an estimation
of transportation cost cij proportional to the distance. The exact cost of
transportation can be computed only in the disaggregate formulation, since
the transportation fare depend non-linearly from the length of the traveled
paths. Moreover let cm
k denote the cost for storing, dumping, or buying a
unit of material m ∈ M at location k ∈ L ∪ D ∪ S. The objective function
is then:
X X X
X
X X
mt
(6.3)
min
z=
cij xmt
cm
ij +
k fk .
(i,j)∈A m∈M t∈T
k∈L∪D∪S m∈M t∈T
Arc capacity constraints. Every arc (i, j) ∈ A has a maximum capacity
Uijt (in cubic meters) for each period t ∈ T , so:
X
t
xmt
ij ≤ Uij
(i, j) ∈ A, t ∈ T .
(6.4)
m∈M
Vehicle capacity constraints. Materials are moved by trucks belonging to
a set W of types, each of those may transport a set M(w) ⊆ M of materials,
has a maximum transportation capacity V (w), a maximum number of km
that can be traveled in the time horizon K(w). The number of vehicles of
151
6.A. MATHEMATICAL MODELS
type w ∈ W is denoted by N (w). To each arc (i, j) ∈ A is assigned a nonnegative length `ij in km. The overall transportation capacity is imposed
by:
X
X
`ij xmt
t ∈ T , w ∈ W.
(6.5)
ij ≤ N (w) · V (w) · K(w)
(i,j)∈A m∈M(w)
Filling constraints. Filling tasks represent the need of some amount of
material in a location into a particular time window. If If is the set of
filling tasks, each task i ∈ If is linked to its material location h(i) ∈ H,
and has its own request di to be satisfied inside the time window, specified
by its starting period ts (i) and its ending period te (i). Outside of this time
window, the flow of a task must be zero. Let us define Mf (i) ⊆ M as the
set of alternative materials that can be used to respond to the request of
a filling task i ∈ If . We must guarantee that the request is fulfilled, and
materials not included in Mf (i) are not used. We obtain:
xmt
h(i),i = 0
i ∈ If , m ∈ M \ Mf (i), t ∈ T ,
(6.6)
xmt
h(i),i
=0
i ∈ If , m ∈ M, t ∈ T : t < ts (i) or t > te (i),
(6.7)
te (i)
X
X
xmt
h(i),i = di
i ∈ If .
m∈M(i) t=ts (i)
(6.8)
Digging constraints. Digging tasks represent the excavation of some
amount of materials in a certain location into a given time window. Let
us define the set of digging tasks as Id , where each task i ∈ Id has a request
di of a composition of materials defined by the set Md (i) ⊆ M. Each material m ∈ Md (i) has a coefficient
that determines the composition of digging
P
m
task i ∈ Id , ϕi , where m∈Md (i) ϕm
i = 1. For each task i ∈ Id is set a
unique material location h(i) ∈ H and is defined a time window [ts (i), te (i)]
to be respected.
We must impose zero flows for materials different from M(i) and outside
the time windows, while the demands of the tasks must be satisfied into the
time windows. We thus obtain:
xmt
i,h(j) = 0
xm,t
i,h(j)
i ∈ Id , m ∈ M \ Md (i), t ∈ T ,
=0
(6.9)
i ∈ Id , m ∈ Md (i), t ∈ T : t < ts (k) or t > te (k), (6.10)
te (i)
X
m∈Md (i)
ϕm
i
X
t=ts (i)
xm,t
i,h(i) = di
i ∈ Id (6.11)
152
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
Flow conservation at material locations, and external vertices.
Flow conservation among the material locations, the access points, and the
external vertices is imposed by:
X
X
xmt
j ∈ H ∪ B, m ∈ M, t ∈ T .
(6.12)
xmt
=
ji
ij
(j,i)∈A
(i,j)∈A
Temporary depots constraints. Let us define Ms as the set of materials
that can be stored into temporary depots and Qk as the maximum storing
capacity that must be respected at each period in k ∈ L. We have:
X
fkmt ≤ Qk
k ∈ L, t ∈ T .
(6.13)
m∈Ms
Let fkm0 be the initial stock of material m ∈ Ms in depot k at the beginning
of the first period, and fkm,Tmax +1 the upper bound on the closing stock of
m in k at the end of the last period Tmax . We have the following material
balance constraints:
X
X
m,t−1
mt
k ∈ L, m ∈ Ms , t ∈ T , (6.14)
=
xmt
xmt
ki + fk
ik + fk
(k,i)∈A
(i,k)∈A
fkm,Tmax
≤
fkm,Tmax +1
k ∈ L, m ∈ Ms .
(6.15)
Dump sites constraints. Let Ck be the total capacity of a dump site
k ∈ D and Qm
k the maximum capacity for each period and material. Then:
X X X
k ∈ D,
(6.16)
xmt
ik ≤ Ck
(i,k)∈A t∈T m∈M
X
m
xmt
ik ≤ Qk
k ∈ D, m ∈ M, t ∈ T .
(6.17)
(i,k)∈A
Quarries constraints. As for the dump sites, each quarry k ∈ S has an
overall capacity Ck and a maximum capacity Qm
k for each material m in
each period, therefore:
X X X
xmt
k ∈ S,
(6.18)
ki ≤ Ck
(k,i)∈A t∈T m∈M
X
m
xmt
ki ≤ Qk
k ∈ S, m ∈ M, t ∈ T .
(6.19)
(k,i)∈A
Separation plants constraints. The recycling process is made of a first
step where material rawH (the highest quality material obtained by digging) is separated into a set of materials Ms in separations plants, and of a
second part where some of these materials can be combined with bitumen
153
6.A. MATHEMATICAL MODELS
and cement to obtain asphalt and concrete in asphalt and concrete mixing
plants. Let us define Fs , Fa , and Fc the sets of separation plants, asphalt
mixing plants, and concrete mixing plants, respectively. The flows entering
a separation plant k ∈ Fs for all materials m ∈ M other than rawH, as
well as the flows leaving the vertex for all materials other than Ms must be
zero, that is:
xmt
ik = 0
xmt
ki
(i, k) ∈ A : k ∈ Fs , m ∈ M \ {rawH}, t ∈ T ,
(6.20)
(k, i) ∈ A : k ∈ Fs m ∈ M \ Ms , t ∈ T .
(6.21)
=0
The accumulated material inflow should not exceed the maximum allowable
operating capacity Qk of each separation plant k ∈ Fs , thus:
X rawH,t
xik
≤ Qk
k ∈ Fs , t ∈ T .
(6.22)
(i,k)∈A
Each separation plant has its own and specified recipe, that states the quantities of exiting materials obtained from a unit of rawH. Formally, ϕm
s gives
the quantity of exiting material m ∈ Ms that can be obtained from a unit
of
at plant k ∈ Fs , and note that, for feasibility, we must have
P rawH m
ϕ
m∈Ms s = 1. The conservation flow at each separation plant is stated
by:
X
X rawH,t
m
k ∈ Fs , m ∈ Ms , t ∈ T .
(6.23)
xmt
xik
ki = ϕs
(k,i)∈A
(i,k)∈A
Asphalt mixing plants constraints. Each asphalt mixing plant k ∈ Fa
must receive as input the set of materials Ma , and gives in output asphalt,
thus:
xmt
ki = 0
xmt
ik
(k, i) ∈ A : k ∈ Fa , m ∈ M \ {asphalt}, t ∈ T ,
(6.24)
(i, k) ∈ A : k ∈ Fa , m ∈ M \ Ma , t ∈ T .
(6.25)
=0
The plant has a total production capacity Qk for each period. Its recipe is
expressed by the ϕm
a input, which gives the quantity of material m ∈ Ma
necessary for producing a unit quantity
of asphalt at plant k ∈ Fa . For
P
m
feasibility, the values of ϕa satisfy m∈Ma ϕm
a = 1. We thus get:
X
xasphalt,t
≤ Qk
ki
k ∈ Fa , t ∈ T ,
(6.26)
k ∈ Fa , m ∈ Ma , t ∈ T .
(6.27)
(k,i)∈A
X
(i,k)∈A
m
xmt
ik = ϕa
X
xasphalt,t
ki
(k,i)∈A
Concrete mixing plants constraints. Similarly as for the asphalt mixing
plants, each concrete mixing plant k ∈ Fc receives as input materials Mc ,
154
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
gives in output concrete, and has total processing capacity Qk for each
period. Its recipe is expressed by ϕm
c , that gives the quantity of material
m ∈P
Mc necessary for producing a unit quantity of concrete, and is such
that m∈Mc ϕm
c = 1. Hence we impose constraints similar to (6.24)–(6.27)
for the concrete mixing plants. The resulting aggregate model is thus to
minimize (6.3), subject to (6.1)–(6.2), (6.4)–(6.27).
The main changes with respect to the aggregate formulation in [2] derive
from the use of alternative materials for filling, which affects (6.6)–(6.8),
and the use of fixed compositions of materials in digging tasks, which affects
(6.9)–(6.11).
6.A.1
Disaggregate Formulation
The disaggregate formulation aims at determining the actual paths on the
network used by each material in each period by using a model one for
each material/period of the time horizon. To do so, we start from the
solution of the aggregate formulation, that provides all the possible origins
and destinations. We enumerate the set of all possible paths P̄ and arcs
Ā(p) used by each path p ∈ P̄ starting from all the possible origins and
heading to all the possible destinations of a given material in a given period,
by applying a standard label setting algorithm. We clarify that the typical
graphs of the problem have a particular structure that is very sparse and
that follows the shape of the highway building site. This makes the number
of possible paths quite limited so it is not prohibitive to enumerate all of
them.
We use a set covering model, where, for each path, we introduce a nonnegative variable yp representing the quantity of material hauled on that
path and the related cost cp . Note that, by using this model, the cost of
a path can also be given as a non-linear function, that we represent by
cp . The flows provided by the aggregate solution are denoted by x̄hk on
arc (h, k) ∈ Ā (where period and material are omitted because fixed) and
represent a lower bound for the material hauled on paths on each arc as
imposed on constraint (6.29).
We report here a generic disaggregate model for one material and one
period:
X
min
cp yp
(6.28)
p∈P̄
X
yp ≥ x̄hk
(h, k) ∈ Ā
(6.29)
p ∈ P̄.
(6.30)
p∈P̄:(h,k)∈Ā(p)
yp ≥ 0
The objective function (6.28) aims at minimizing the costs, which can
be very flexible since they depend on each path. In our instances we calcu-
6.A. MATHEMATICAL MODELS
155
late the cost cp as a function that models the transport costs given by the
contracts in use at Strabag AG. These costs increase with a steep slope from
0 to 5 km, and after that, the slope has a more gradual increase.
156
CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION
Bibliography
[1] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network flows: theory,
algorithms, and applications. Prentice-Hall, Inc., Upper Saddle River,
NJ, USA, 1993.
[2] C. Bogenberger, M. Dell’Amico, G. Fuellerer, G. Hoefinger, M. Iori, S.
Novellani, and B. Panicucci, B. A Two-Phase Earthwork Optimization
Model for Highway Construction. to appear on Journal of Construction
Engineering and Management, 2014.
[3] S. M. Easa. Earthwork allocations with nonconstant unit costs. Journal
of Construction Engineering and Management. 113:34-50, 1987.
[4] S. M. Easa. Earthwork allocations with linear unit costs. Journal of
Construction Engineering and Management. 114:641-655, 1988.
[5] W. L. Hare, V. R. Koch, and Y. Lucet. Models and algorithms to
improve earthwork operations in road design using mixed integer linear
programming. European Journal of Operational Research, 215:470-480,
2011.
[6] S. M. Karimi, S. J. Mousavi, A. Kaveh, and A. Afshar. Fuzzy optimization model for earth-work allocations with imprecise parameters.
Journal of Construction Engineering and Management, 133:181-190,
2007.
[7] M. Marzouk and O. Moselhi. Multiobjective optimization of earthmoving operations. Journal of Construction Engineering and Management,
130:105-113, 2004.
[8] R. M. Stark and R. H. Mayer. Quantitative construction management:
Uses of linear optimization. Wiley, New York, 1983.
[9] R. M. Stark and R. L. Nicholls. Mathematical foundations for design:
Civil engineering systems. McGraw-Hill, New York), 1972.
[10] H. Zhang. Multi-objective simulation-optimization for earthmoving operations. Automation in Construction 18:79-86, 2008.
157
158
BIBLIOGRAPHY
Part IV
Models and Algorithms for
3D Printing Problems
159
Chapter 7
Optimizing the 3D Printing
Process
In this chapter we treat the production technology known as 3D printing.
We deal with the 3D printing process by describing it, its advantages and
disadvantages and by supplying an exhaustive classification of the many
features to deal with in the 3D printing process optimization. Among the
many operations related to the 3D printing process, we focus on the tool
path definition problem of a 3D printer, that we called 3D Routing Problem
(3DRP). The 3DRP is a generalization of the rural postman problem, in the
family of arc routing problems. We present an ILP formulation for the 3DRP
and we developed four heuristic algorithms that can furnish with improved
solutions with respect to the solutions obtained by one of the most used
software for the tool path definition in 3D printing.
Keywords: 3D printing, Rural postman, Arc routing, Models, Heuristics.
7.1
Introduction
3D Printing (3DP), also known as Additive Manufacturing, is a production
technology that can construct three-dimesional objects of multiple shapes by
adding one or more materials layer by layer. Since its rise in the 80s, different
techniques for 3DP have been developed, including Stereolithography, that
makes use of liquid polymers hardened by UV beams layer by layer, Selective
Laser Sintering, where a laser melts the powder -layer by layer- in a selective
way, and Fused Deposition Modeling (FDM), also known as Fused Filament
Fabrication. FDM involves extruding thermoplastic material (such as ABS
plastic or polycarbonate) through heated nozzles: the filament is pulled by
a feed roller, it is heated to a temperature above the material’s melting
point, and then it is extruded by the nozzle. Once a layer is completed the
platform where the material has been deposited is lowered or the nozzles is
161
162
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
raised to the next layer level and a new layer is added and fused with the
previous one. A supporting material can also be used in the process when it
is needed for structural issues, especially in case of overhanging geometries
(Campbell et al. [6], Akella [1]). From now on, when mentioning 3DP we
will refer to the FDM technique.
In this work we focus on the optimization of the 3DP process, in particular we will concentrate on the optimization of the path that the nozzle
has to follow to produce the three-dimensional object, in terms of distances,
given several sets of constraints. Before introducing models and heuristic
algorithms, we spend some words on the 3DP process.
7.1.1
The 3DP Process
The manufacturing process of a product through 3DP follows a typical
scheme as depicted in Figure 7.1. The process starts with the definition
of the 3D model which can be created by a computer-aided design (CAD)
software or by scanning an object we want to reproduce. The second step
is to reproduce the three-dimensional object in a polygonal mesh, normally
made of triangles. The typical file used to report a polygonal mesh is in a
.stl format. When the model is represented as a mesh, the corresponding
.stl type file is passed to a slicing software that divides the mesh in layers.
The following step is the most interesting to our work and it is to decide
the path to be followed by the tool for reproducing the three-dimensional
object. The solution obtained is expressed in a sequence of commands in a
g-code format that is passed to the printer in order to produce the final 3D
object (Campbell et al. [6]).
Figure 7.1: Scheme of the 3DP process.
7.1.2
Advantages and disadvantages
The 3DP processes have some advantages such as the application to rapid
prototyping, the attitude towards the tool-less production of finished goods,
the mass production of customized parts and low volume ones, the freedom in engineering design, the possibility of building complex geometries
impossible to obtain with other techniques, and of delivering finished goods
from digital data cutting also the logistic costs and minimizing carbon footprint. Some other advantages are incarnated by the limited use of chemicals
7.1. INTRODUCTION
163
such as etching and cleaning solutions, the possibility to use recycled material and the opportunity to use the same technique with diverse materials
(Akella [1]). Some costs that can decrease thanks to 3DP technology are
identified in: waste generation as the one of subtractive machine is avoided
and thus disposal and recycling costs; inventory costs are minimized because
products can be printed on demand and there is no need of semi-finished
products; labor time for designing and assembling multiple parts is avoided;
less opportunity for human error since the production is driven by digital
information; lastly set-up costs are minimized since many products can be
produce without retooling (Bak, Beltrami and Bodin, Boding and Kursh,
Campbell et al. [3, 6]).
However, 3DP is not free from limits. Indeed, 3DP does not seem appropriate for the mass production since its main disadvantage is the required
amount of production time. Another issue is the quality of the material,
normally used materials are polymers that do not present the same good
characteristics of materials traditional of subtracting manufacturing and
are typically weaker, moreover parts produced on different machines can
guarantee particular properties with respect to quality and performances.
Furthermore, the layer-by-layer building process makes the parts weaker in
the direction of the build (Campbell et al. [6]).
7.1.3
Contribution of this Chapter
In the 3DP process there are, mainly, two aspects that can be optimized.
The first one is about the quality of the printed object and it is related to the
quality of the surface. We will consider some features in order to improve
the quality of the surface, but to cover completely this point is not the aim
of the chapter. The second aspect that can be optimized is related to the
time of the print that can be minimized and that is strictly connected to the
tool path. In this chapter we will account for this second aspect by focusing
in minimizing the distance traveled by the nozzle during the 3DP process,
and, indirectly, minimizing the time of the print.
We will present a formal description of the problem derived from 3DP, a
related literature review, and a mathematical model to represent the basic
problem, which is a generalization of the well known Rural Postman Problem. To solve the problem we introduce some heuristic algorithms and we
produce a collection of instances derived from three-dimensional objects on
which we perform computational tests. Last but not least, we list a set
of features and future research direction to be followed in the field that
represents the intersection between optimization and 3DP.
The chapter is organized as follows. In Section 7.2 we will define the
class of the Rural Postman Problems and produce an exhaustive literature
review. In Section 7.3 we define the problem we are presenting, while in
Section 7.4 we give a formulation for the problem. In Section 7.5 we present
164
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
some heuristic algorithms to solve the problem and in Section 7.6 we show
the computational results of the presented algorithms on a set of newly
collected instances.
7.2
The Rural Postman Problems
The problem of defining the tool path in a 3DP process is a generalization
of the Rural Postman Problem (RPP), that is a particular version of the
more general class of Arc Routing Problems (see, e.g., Corberán and Laporte
[7]). The RPP is the problem of finding the minimum cost eulerian cycle
that visits a set of arcs at least once, by using also a second set of arcs, if
needed, where each arc is associated with a non-negative cost. The RPP
represents a generalization of the Chinese Postman Problem (CPP), that
is the problem of finding the minimum cost path that visits at least once
all the arcs. The CPP can be solved in polynomial time, while the RPP
(directed or undirected) is an NP-hard problem if the set of required arcs is
not strongly connected (Laporte [27]).
The RRP arises in many real-world situations such as the snow plowing
(see, e.g., Haslam and Wright [24]), the garbage collection (see, e.g., Beltrami
and Bodin [4]), the mail delivery (see, e.g, Levy [29]), the school bus routing
(see, e.g, Angel et al. [2]), the meter reading (see, e.g., Stern and Dror [32]),
and the street sweeping (see, e.g., Bodin and Kursh [5]). The interested
reader can find other work related to these applications in Eiselt et al. [16].
More recent application of the RRP are referred to the control of plotting
and drilling machines (see, e.g. Groetschel [22]) and to the optimization of
laser-plotter beam movements (see, e.g. Ghiani and Improta [19]).
Many polyhedral studies and exact algorithms, mostly cutting plane and
branch-and-cut algorithm, have been proposed in the last years for the RRP
and its generalizations. See, e.g., Corberán and Sanchis [12, 13], Laprte and
Ghiani [21] (where they use a formulation with just 1/0 variables), Reinelt
and Theis [31], and Fernández et al. [17] (where they use a completely different approach and formulation from the previous works). According to
the survey redacted by Corberán and Prins [11], the largest RPP instances
that have been solved to optimality are characterized by up to 1000 vertices,
3080 edges and 204 required components and are solved in about one hour
in average on a standard PC by using the branch-and-cut described in Corberán et al. [10] for the Windy General Routing Problem (which contains
the RPP).
Probably, the most famous heuristic algorithm for the RPP is the one
proposed by Frederikson [18], which is built on the well known heuristic for
the TSP by Christofides, and, similarly, presents a worst case bound of 3/2.
Hertz et al. [25] propose some improving techniques to be applied to the
Frederickson algorithm and to a simply newly developed heuristic. Corberán
7.3. PROBLEM DESCRIPTION
165
et al. [9] present two heuristics approaches to solve the Mixed RPP where the
problem is defined on a graph with edges and arcs and required components
can be both edges or arcs. Groves and Vuuren [23] present an effective local
search framework for the URRP based on local searches for the TSP. They
solve heuristically very large instances with up to about 5000 vertices and
30000 edges. Ghiani et al. [20] propose a constructive heuristic for the
Undirected RPP (URPP) with a local post-optimization. The procedure
is competitive with the Frederickson one. Holmberg [26] proposes some
heuristics for the RPP built on the Frederikson heuristic by changing the
order of the components. The author includes also two post-processing
heuristics to improve the solution.
We report now a set of variants of the RPP that are interesting for 3DP.
Dror and Langevin [15] introduced the Directed Clustered RPP and solved
it by transforming the problem into a Generalized TSP. They separate the
arcs in clusters that must be finished before stepping to another cluster.
Letchford and Eglese [28] present the RPP with deadline classes, a RPP
with time windows where the time windows have only a maximum time to
be respected. They propose a formulation and a cutting plane algorithm.
Corberán et al. [8] consider the mixed RPP with turn penalties. They
associate a penalty to every turn and take into account also the existence of
forbidden turns. The problem is to find the minimal tour avoiding forbidden
tours and paying for turn penalties. The authors transform the problem into
an ATSP and solve it by using exact and heuristic algorithms for the ATSP.
Some relevant applications of the RPP are listed in the following. Ghiani and Improta [19] consider the problem of drawing and decorating metal
surfaces by means of a laser plotter, that works as a 2D printer, minimizing the total length of the non-drawing moves. The so-called Laser-Plotter
Beam Routing Problem is modeled as a RPP with additional constraints
and solved transforming it into a RPP. By using the branch-and-cut presented in Ghiani and Laporte [21] istances with up to 225 vertices can be
solved. Moreira et al. [30] describe the problem that arises when manufacturing high-precision tools. They intend to determine the shortest path for
the cutting of given pieces. The problem is represented as a particular RPP
where non-cutting movements are allowed only after the complete cut of a
piece. Hence the problem is called Dynamic RPP and solved by means of a
heuristic algorithm.
7.3
Problem Description
We call 3D printing Routing Problem (3DRP) the generalization of the
URPP that is related to the tool path definition in a 3DP process. In
particular, the nozzle must start from its starting position and return to the
same position when the print is terminated. In addition, the edges are set
166
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
into clusters to be visited in a sequence, that are represented by the layers
of the print. On each layer the set of compulsory edges represents the set
of edges on which the nozzle is required to depose material (the first time
they are used), while the set of the optional edges represents the other edges.
Because of the printed material, no layer can be started before terminating
the previous one, and the nozzle cannot move back to previous layers. Then
one and only one optional edge can be used to move from one layer to the
next one and no edge between two non-subsequents layers is present. Lastly,
only optional edges are present between two layers. We will formalize the
3DRP in Section 7.4. The 3DRP represents the basic problem of optimizing
the tool path of a 3DP process. In the following we are focusing on the
basic problem, but some additional characteristics can arise across the 3DP
process: we will list them in Section 7.7.
7.4
The 3D Printing Routing Problem
In this section we define the sets and parameters used to formulate the
3DRP. The problem is defined on an undirected graph G = (V, E), where
V is the set of vertices and E is the set of edges. Moreover, it is defined a
subset R ⊆ E of edges that must be visited at least once. In our case these
edges are the compulsory edges, where the material is extruded (printed)
the first time they are used. On the other hand E \ R represents the set of
optional edges.
Let us define layer as a set of vertices characterized by the same altitude.
We call L the set of all layers where a layer Lh ∈ L is one layer of print,
|L|
L = ∪h=1 Lh , and Lh ∩ Lk = ∅, h 6= k, Lh , Lk ∈ L. The graph G is clustered
in several subgraphs induced by the layers plus the starting and ending
point of print, 0, and all the edges connecting these components. Thus,
V = L ∪ {0}.
Finally, let us define the variable xij that models the number of time the
edge (i, j) ∈ E \ R is traveled, and the number of times the edge (i, j) ∈ R is
traveled in addition to the first time. We define cij as the shortest distance
between the vertices i and j, (i, j) ∈ E. Hence, the 3DRP aims at minimizing
the path of the nozzle starting from vertex 0, traveling all the compulsory
edges at least once, respecting the order of the layers, and returning to the
vertex 0. In the following we present the formulation for the basic problem:
min
X
(i,j)∈R
X
X
cij (1 + xij ) +
(1 + xij ) +
j∈R:j>i
cij xij
(i,j)∈E\R
X
(1 + xji )+
j∈R:j<i
(7.1)
167
7.5. HEURISTIC ALGORITHMS
X
xij +
j∈V :j>i
X
+
X
xji = 2z
i∈V
(7.2)
j∈V :j<i
X
(1 + xij ) +
(i,j)∈R:i∈S,j∈S̄,j>i
X
(1 + xij )+
(i,j)∈R:i∈S,j∈S̄,j<i
xij +
X
xij ≥ 1
(i,j)∈E\R:i∈S,j∈S̄,j>i (i,j)∈E\R:i∈S,j∈S̄,j>i
(S ⊆ Lh ,
S̄ = Lh+1 ∪ Lh \ S,
Lh ⊆ L \ L|L| )
∨ (S ⊆ L|L| ,
S̄ = {0} ∪ L|L| \ S)
X
(7.3)
x0j = 1
(7.4)
xj0 = 1
(7.5)
j∈L1
X
j∈L|L|
X
xij = 1
Lh ⊆ L \ L|L|
(7.6)
xij ≥ 0
(i, j) ∈ E
(7.7)
(i,j):i∈Lh ,j∈Lh+1
z≥0
(7.8)
The objective function aims at minimizing the total costs, i.e. distances,
counting also the compulsory edges. Constraint (7.2) states that the number
of edges incident a vertex are even or zero. In (7.3) we impose the connectivity of the solution. Constraints (7.4) and (7.5) state that one and only
one edge must leave and return to the depot. Constraint (7.6) imposes that
one and only one edge can be used between one layer and the next one. The
non-negativity of the variables is imposed in constraints (7.7) and (7.8).
7.5
Heuristic Algorithms
The 3DP process, when printing real objects, involves from thousands to
millions of edges to be printed and traveled by the nozzle. Thus, real 3DRP
instances result impossible to be solve exactly, because of the huge number of
variables and constraints needed. For this reason we developed four heuristic
algorithms to solve the 3DRP. To do so, we organized the input in couples
of vertices that defines the edges to be traveled and printed on each layer
(the set R), named as compulsory edges. The optional edges (E \ R) and
the compulsory edges used more than once are the non-printing edges, and
are computed and inserted just when needed during the construction of the
solution. The input is obtained by analyzing the g-codes created by Cura
168
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
[33], one of the most advanced 3DP software.
7.5.1
Closest 3DP
The first algorithm we present to solve the 3DRP is called Closest 3DP
algorithm. It starts from vertex 0 and moves from one edge to the closest
unused compulsory edge (we enter in the edge by the closest vertex with
respect to the current one and then we travel the edge to arrive in its second
vertex, which will be the new current vertex). If the second vertex of the
current edge is also the first vertex of the next edge, we link them directly,
otherwise we insert a non-printing edge. When the compulsory edges of
the current layer have been used at least once, the algorithm moves to the
next layer by using the cheapest edge. We repeat this until the last layer is
completed, then the last visited vertex is connected to vertex 0 to end the
algorithm.
7.5.2
Clustered 3DP
Before explaining the second algorithm presented, we specify that each layer
is divided in different subpolygons and each subpolygon can be formed, at
most, by three clusters of compulsory edges: the outer part (the border of
the subpolygon), the inner part (that follows the outer part internally, to
strengthen the structure), and the filling part (that represents the edges
used to fill the subpolygon), see e.g., Figure 7.2.
The second algorithm we present is called Clustered 3DP algorithm, follows a similar idea with respect to the Closest algorithm, and makes use
of the different clusters. The algorithm selects a cluster on a layer (choosing among outer, inner, and filling) and travels all the edges of the cluster,
before going to another cluster. The algorithm starts from vertex 0 and
selects the closest vertex of the compulsory edges on layer L1 . This action
not only defines the next edge, but also the first cluster among inner, outer,
and filling to be completed before moving to the next one. When the current cluster is completed, the algorithm moves to the closest vertex, which
defines the next edge and the next cluster. The algorithm continues until
all clusters of the current layer are completed and then the closest vertex of
the next layer is chosen. When the last layer is completed we travel back to
Figure 7.2: An example of polygon with outer, inner, and filling parts.
7.5. HEURISTIC ALGORITHMS
169
vertex 0 and the algorithm terminates.
7.5.3
Look Ahead 3DP
The third algorithm we use to solve the 3DRP is called Look Ahead 3DP,
whose name is inspired by the fact that it makes use of heuristic information
on the future possible decisions. The algorithm starts from vertex 0 and it
then selects the three closest vertices among those of the compulsory edges
of layer L1 . A particular cost is then computed by running the Closest 3DP
algorithm from each of the three vertices till the end of the layer. The cost is
computed as follows: we sum up the traveling cost of the non-printing edges
needed to terminate the layer by the Closest 3DP, the vertex of the three
selected ones that furnishes with the cheapest cost is used. This process is
iterated until all the compulsory edges of the current layer are used at least
once. We then use the cheapest edge to move to the next layer and repeat
the procedure until the last layer. To conclude the algorithm we move back
to the vertex 0.
7.5.4
Shortest Path Based 3DP
The forth algorithm that we are presenting is called Shortest Path Based
3DP. This algorithm is divided into two phases, the first one builds a supporting graph to be used in the second phase. The second phase computes
the Dijkstra algorithm (see, e.g., Dijkstra [14]) on the newly built supporting
graph to obtain a solution for the 3DRP. In the following we will describe
the two phases more precisely.
Phase one. In this phase we define the supporting graph G0 = (V 0 , E 0 ),
where V 0 ⊆ V is the set of vertices called starting points and E 0 the set of
edges that we describe in the following. For each layer we select a random set
of vertices among those of the compulsory edges (R), called starting vertices,
from which we can start the layer. Starting from the starting vertices we
terminate the layer as if using the Closest 3DP algorithm. For each starting
vertex we will end up in one and only one vertex that we call ending vertex.
The distance between a starting vertex and its ending vertex is the cost
computed by the Closest 3DP algorithm. We now compute the distance
between the ending vertices of one layer and the starting vertices of the
next layer. At this point we obtain an edge going from each starting vertex
of one layer to each starting vertex of the next layer, that define E 0 . We call
c0ij the cost of each edge of E 0 as the sum of the costs derived by the Closest
3DP algorithm and the distance between the corresponding ending vertex
and the starting one of the next layer. The starting vertices of the first layer
are linked to the vertex 0 and a cost c00j , j ∈ L1 is associated to them. The
ending vertices of the last layer are linked to the vertex 0’, that has the same
coordinates of vertex 0, and a cost c0j0 , j ∈ L|L| is associated to them. The
170
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
costs c0ij , (i, j) ∈ V 0 give the weight of the edges of the supporting graph G0 .
Phase two. In the second phase, we compute the shortest path form 0
to 0’ on the supporting graph G0 . This leads to a feasible solution for the
3DRP.
We tested the Shortest Path Based 3DP algorithm by selecting the number of starting vertices in two ways, in the first one we decide a fixed number
between 10, 20, 30, 40, 50, 60, and 100 (or the cardinality if the layer, if
exceeded), while in the second case we use the maximum value between 1
and a percentage of the vertices of each layer (1%, 2%, 5%, 10%, 15%, 20%,
25%).
7.6
7.6.1
Computational Results
Instances
We collected 30 instances on the Internet from a design community for 3DP
called thingiverse.com. In Table 7.1 we report the name of the instance
in the first column. For each instance is specified |L|, the number of layers,
|P|, the number of polygons, and the ratio P
between them. We then report
the total distance of the compulsory edges ( (i,j)∈R cij ) and the cardinality
of the set of compulsory edges (|R|).
7.6.2
Results
The collected instances have been processed with one of the most famous
software used for slicing polygonal meshes and for path definition, Cura [33].
We used the collected instances as input for Cura that takes the polygonal
meshes of the instances, slice them, and defines a path of the nozzle in a code
called gcode. The gcode represents, for each instance, a heuristic solution
for the related 3DRP in a language that the 3D printer can understand.
By processing the obtained gcode we can obtain the set of layers, the set
of compulsory edges to be printed, the corresponding vertices and their
coordinates. These informations define the data that we used as instances
for our algorithms.
Let us call Γ the cost of the non-printing edges used in a given solution for the 3DRP. Let us call ∆Γ the difference between the cost of the
non-printing edges used by the solution defined by Cura and the cost of
the non-printing edges used by the solution obtained thanks to one of our
algorithms. Let %gapΓ be the percentage gap between them. In the following tables presenting the results of the proposed algorithms we show the
name of the instance, the corresponding ∆Γ and %gapΓ , the percentage gap
(%gap) between the Cura solution value and the the solution value obtained
by our algorithm, and the time needed to our algorithm to terminate. All
tests have been performed on a on a Intel Core i3-2100 with 3.10 GHZ.
171
7.6. COMPUTATIONAL RESULTS
Instance
|L|
|P|
|P|/|L|
30grams
angel
block 4x4
brickb
bunny
chamfer
Cityscape
gear b
geoboard
hilbert2
Hilton Chicago
ingranaggio
miwin1
orso bis
pesce bis
polysoup
portab
portaingr
RFin
RostockBottom
RostockTop
Rpenta
RShowerHead
tardisflat2
tetra
trail
wbuilding
wine fixed
wine1
WitchCastle
219
153
37
332
41
20
342
85
82
99
73
39
132
52
52
3
32
51
188
44
50
369
274
170
160
125
100
39
39
112
222
663
112
422
151
147
1814
371
1642
2203
73
51
396
52
193
6
32
106
248
208
213
1555
580
170
160
425
211
59
39
265
1.01
4.33
3.03
1.27
3.68
7.35
5.30
4.36
20.02
22.25
1.00
1.31
3.00
1.00
3.71
2.00
1.00
2.08
1.32
4.73
4.26
4.21
2.12
1.00
1.00
3.40
2.11
1.51
1.00
2.37
P
(i,j)∈R cij
|R|
91016.609
1052191.750
32929.641
2851998.700
38896.449
71653.297
1907842.250
22001.822
291901.188
55116.855
22304.736
64690.348
610945.625
73459.617
139978.297
3186.609
197571.750
106148.930
54926.410
117799.625
87387.406
1039104.563
513838.531
100367.148
98250.273
1304639.625
11281.513
93598.977
147826.547
48852.797
8693
353671
28694
107355
21333
12700
488409
19275
52244
26703
7179
52569
130267
35772
65262
3018
47293
69664
35898
18120
21132
433954
146602
24695
20839
268372
3364
20276
19145
56334
Table 7.1: Instances Description
172
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
In Table 7.2 we report the results of the Closest 3DP algorithm comparing them with the results obtained by Cura. One can observe that we can
improve the solution value for 28 out of 30 instances improving of 5.60% the
gaps in average. We can obtain an improvement of 27.79% in the bast case.
If we focus on the Γ value we can see that the improvement is in average of
22.91%. Also the average solving time is very promising being lower than
one second. In Table 7.3 the results for the Clustered 3DP algorithm are
shown. In this case we can improve the solution value with respect to the
Cura one for 27 out of 30 instances. We can obtain an improvement of
3.02% in average in solving times that are about half a second, in average.
In Table 7.4 we show the results for the Look Ahead 3DP algorithm on the
collected set of instances. In this case the solution value is improved for
every instance with respect to the Cura solution value. In particular, we
can improve it of 8.06% in average. If we just consider the non-printing
edges we can notice an improvement of 36.73%. To reach these results the
Look Ahead 3DP algorithm needs to run for about 39 minutes, in average,
which is a relevant solving time if compared with the previously proposed
algorithms. These very good solutions have a payback in solving times. In
Table 7.5 and Table 7.6 the average results for the Shortest Path Based algorithms are shown. In particular, in Table 7.5 we report the results for the
Shortest Path Based 3DP algorithm, where the number of starting vertices
for each layer is fixed to 10, 20, 30, 50, 60, and 100. In Table 7.6 we present
the results for the Shortest Path Based 3DP algorithm where the starting
vertices are fixed with respect to a percentage of the vertices of each layer.
The starting vertices are set to 1%, 2%, 5%, 10%, 15%, 20%, and 25% of the
vertices of each layer. One can see that for both types of the Shortest Path
Based 3DP algorithm the average gap between the solution value of our algorithm and the one obtained by Cura increases with the number of starting
vertices explored. The gap is proportional also to the solving times. The
Shortest Path Based 3DP algorithm with fixed numbers of starting vertices
can reach a 6.40% gap in average in the best case, that is represented by
the starting vertices set to 100. This value is obtained in about 80 seconds.
One can see that this version works similarly to the version with percentage
starting vertices when evaluating the average gaps, but need consistently
more seconds to terminate.
The algorithm among the presented ones that shows the best results in
terms of improvement of the solution value, compared to the Cura solution
value, is the Look Ahead 3DP algorithm. On the other hand the Look
Ahead 3DP algorithm needs higher solving times with respect to the other
presented algorithms. The Shortest Path Based 3DP algorithm furnishes, in
its two versions, with good results in acceptable solving times. Similar gap
values can be obtained by the Closest 3DP algorithm showing very small
computing times.
173
7.6. COMPUTATIONAL RESULTS
Closest
Inst.
30grams
angel
block 4x4
brickb
bunny
chambler
Cityscape
gear b
geoboard
hilbert2
Hilton Chicago
ingranaggio
miwin1
orso bis
pesce bis
polysoup
portab
portaingr
Rfin
RostockBottom
RostockTop
Rpenta
RShowerHead
tardisflat2
tetra
trail
wbuilding
wine fixed
wine1
WitchCastle
Avg.
∆Γ
%gapΓ
%gap
t(sec)
661.348
14905.000
6208.443
-1326.547
1278.109
373.906
29226.813
237.855
2005.250
1749.555
1099.865
3669.916
12697.398
25021.842
49553.654
1453.121
4651.479
1825.557
970.316
8677.307
5156.719
58169.266
34814.063
9363.699
-630.948
118281.531
75.671
11248.256
11980.223
3353.075
5.66
10.12
40.68
-1.00
16.88
3.17
9.95
3.86
3.93
11.71
18.09
22.22
13.26
60.24
64.16
71.14
13.53
10.54
10.32
31.54
23.36
28.52
24.85
39.63
-4.81
48.29
2.86
38.03
40.19
26.33
0.64
1.24
12.88
-0.04
2.75
0.45
1.33
0.84
0.59
2.50
3.88
4.52
1.80
21.76
22.81
27.79
2.01
1.48
1.51
5.97
4.71
4.68
5.32
7.55
-0.57
7.63
0.54
9.13
6.74
5.44
0.001
6.672
0.140
0.594
0.079
0.094
7.438
0.032
0.281
0.031
0.001
0.422
1.109
0.157
0.531
0.016
0.437
0.922
0.047
0.125
0.172
3.125
0.515
0.031
0.031
4.188
0.001
0.093
0.079
0.219
13891.725
22.91
5.60
0.919
Table 7.2: Results of the Closest algorithm on test instances.
174
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
Clustered
Inst.
30grams
angel
block 4x4
brickb
bunny
chambler
Cityscape
gear b
geoboard
hilbert2
Hilton Chicago
ingranaggio
miwin1
orso bis
pesce bis
polysoup
portab
portaingr
Rfin
RostockBottom
RostockTop
Rpenta
RShowerHead
tardisflat2
tetra
trail
wbuilding
wine fixed
wine1
WitchCastle
Avg.
∆Γ
%gapΓ
%gap
t(sec)
331.556
12535.188
3031.178
-1362.438
732.775
-368.381
14744.344
443.250
1475.285
1749.555
868.675
716.305
860.414
15855.703
24295.828
893.126
4127.695
1311.128
39.749
3831.223
2383.146
38163.313
24379.523
2159.188
-116.673
112033.766
32.005
3796.424
474.381
2227.283
2.84
8.51
19.86
-1.03
9.68
-3.12
5.02
7.19
2.89
11.71
14.28
4.34
0.90
38.17
31.46
43.72
12.01
7.57
0.42
13.92
10.80
18.71
17.41
9.14
-0.89
45.74
1.21
12.84
1.59
17.49
0.32
1.05
6.29
-0.05
1.58
-0.44
0.67
1.57
0.43
2.50
3.06
0.88
0.12
13.79
11.19
17.08
1.78
1.06
0.06
2.64
2.18
3.07
3.73
1.74
-0.11
7.23
0.23
3.08
0.27
3.62
0.000
3.563
0.094
0.469
0.047
0.063
3.641
0.032
0.235
0.078
0.000
0.328
0.578
0.109
0.359
0.016
0.453
0.485
0.032
0.141
0.125
2.047
0.453
0.031
0.031
2.765
0.016
0.063
0.063
0.172
9054.817
12.15
3.02
0.550
Table 7.3: Results of the Clustered algorithm on test instances.
175
7.6. COMPUTATIONAL RESULTS
Look Ahead
Inst.
30grams
angel
block 4x4
brickb
bunny
chambler
Cityscape
gear b
geoboard
hilbert2
Hilton Chicago
ingranaggio
miwin1
orso bis
pesce bis
polysoup
portab
portaingr
Rfin
RostockBottom
RostockTop
Rpenta
RShowerHead
tardisflat2
tetra
trail
wbuilding
wine fixed
wine1
WitchCastle
Avg.
∆Γ
%gapΓ
%gap
t(sec)
2031.766
42756.773
7429.931
16783.938
2365.691
1818.251
89875.047
879.607
7729.773
3211.244
1836.877
6060.851
30848.766
30510.017
54757.037
1594.556
11027.746
5104.657
2859.243
12860.236
8104.199
94428.086
56995.102
11276.629
2179.606
145659.258
441.532
14227.692
15236.461
5396.093
17.38
29.02
48.68
12.67
31.25
15.39
30.59
14.26
15.14
21.50
30.21
36.70
32.22
73.46
70.89
78.06
32.08
29.48
30.41
46.74
36.72
46.30
40.69
47.73
16.62
59.47
16.70
48.10
51.12
42.37
1.98
3.56
15.42
0.56
5.09
2.18
4.08
3.12
2.25
4.58
6.47
7.46
4.37
26.53
25.21
30.49
4.75
4.13
4.45
8.85
7.40
7.60
8.72
9.10
1.96
9.40
3.17
11.55
8.58
8.76
0.31
22664.21
122.82
765.48
45.67
77.05
17105.26
10.42
303.95
13.39
1.06
758.60
1645.93
131.84
1012.54
21.67
1208.38
3032.91
17.16
128.41
369.54
5144.17
472.31
6.00
6.94
14259.08
0.08
62.18
46.33
187.03
22876.222
36.73
8.06
2320.690
Table 7.4: Results of the Look Ahead algorithm on test instances.
176
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
Shortest Path Based
10
20
30
40
50
60
100
∆Γ
%gapΓ
%gap
t(sec)
14284.276
15050.768
15442.301
15614.103
15752.656
15874.853
16086.931
23.50
25.20
26.04
26.43
26.63
26.89
27.38
5.70
6.01
6.15
6.22
6.26
6.31
6.40
8.593
16.320
24.157
31.846
39.831
47.505
80.940
Table 7.5: Average results of the shortest path based algorithm on the test
instances.
Shortest Path Based
1%
2%
5%
10%
15%
20%
25%
∆Γ
%gapΓ
%gap
t(sec)
13515.840
14628.480
15553.952
16012.425
16161.026
16253.602
16295.172
18.54
21.10
24.02
25.70
26.29
26.59
27.00
4.87
5.31
5.82
6.11
6.21
6.27
6.34
24.958
48.743
118.131
181.531
200.250
208.474
212.810
Table 7.6: Average results of the shortest path based algorithm on the test
instances.
7.7. CONCLUSIONS AND FUTURE RESEARCH DIRECTIONS
7.7
177
Conclusions and Future Research Directions
In this chapter we solved a generalization of the RPP related to the definition
of the tool path in a 3DP process, called 3DRP. We provided a collection of
instances for the 3DRP that are solved with four different types of heuristic
algorithms we proposed and compared with one of the most famous software of path definition available, Cura [33]. We obtained very good results
improving the Cura solution values from about 3% to about 8% with our
algorithms in very promising solving times.
The verision of the 3DRP we solved is what we called the basic problem
of the 3DRP, but many other secondary features can be considered, starting
from features to account for an improvement of the quality of the surface.
In the following we report an overview of these features divided by topic.
Quality constraints. The 3DP process can produce some blemish on the
external surface of the product we intend to print. Indeed, when traveling
the optional edges after ejecting material, the nozzle can eject some leftovers
and ruin the quality of the external surface. To avoid it we could consider
additional constraints.
1. Second level of clusterization: Subpolygons. Several separated polygons, called subpolygons, can be present on the same layer. Subpolygons produces a second level of clusterization. To define a tool path
that follows the second level of clusterization is not strictly required
as for the first level of clusterization (layers), but it can be considered
in order to improve the quality of the external surface. Indeed, moving from one polygon to the other it can lead to some blemish on the
external surface, because of the characteristics of the materials (normally heated plastic). Then, we can impose to complete a polygon
before stepping to the next one, by taking one and only one optional
arc between a subpolygon to another, on the same layer.
2. Corner. To preserve the quality of the surface from the blemishes,
we can consider not only to leave the polygon just once, but also to
impose the nozzle to pass only through a vertex of the Outer part of
the same subpolygon, called corner, in order to avoid the intersection
of the tool path and the surface when this has already been built.
Doing this we will leave the majority of the blemishes on a corner and
make it easier to remove them after the print.
3. Temperature. The 3DP process includes the melting of the material
before extruding it from the nozzle. After being melt, the material
conserves a high temperature for a certain amount of time. This means
that we cannot extrude some new material on the top of the previous
layer until the temperature of the material of the former layer is not
178
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
under a certain value, otherwise some flaw or bending can be produced.
Considering that layers are overlapped, some edges of a layer cannot
be completed before the underlying edge (of the previous layer) had
the time to cool down. In order to cool down the temperature of some
edges, the speed of the fan can also be considered as a variable.
4. First vertex of a layer. When moving from a non-printing edge to
a printing one a small excess of material can be extruded. This can
lead to an accumulation of unwilled material on the surface, especially
when the first vertex of a layer has the similar x-y coordinates with
respect to the first vertices of the previous layers. To avoid this, we can
impose that the first vertex of a layer must have different coordinates
if compared to the first vertex of the previous layer. Indeed, the same
line of reasoning can be used when starting overlappingsubpolygons
on different layers, and not just the first vertex.
Costs. In the basic version of the 3DRP, we consider the cost of the edges as
the geometric distance between two vertices and the time to travel the edge
as directly linear to the distance. Considering a higher level of detail, we can
observe that the time of traveling an edge is not necessarily linear and that
it can depend on an acceleration at first, a constant speed in the middle, and
a deceleration of the nozzle at the end when traveling the edge. Moreover,
the deceleration can depend on the angle between the current edge and the
following one visited and the acceleration can depend on the angle between
the current edge and the previous one. This can lead to different options.
Taking into account the acceleration and deceleration needed to obtain the
maximum possible speed on a given edge, we can recompute the cost of
each edge starting from the distance. If we considering the angles between
the previous and following edges, then the problem must be considered as
a directed one. Other possibilities can include non-linear distances between
the vertices or considering the speed of the nozzle as a variable.
Other Features.
1. Layers with different thickness. Sometimes, to deal with structural
problems or just to avoid to obtain a texture too subtle inside the
printed object, we can print some parts of the same layer with a different thickness. Two different thicknesses must be related (one must
be a multiple of the other).
2. Supporting material. Some 3D objects can have undercuts, thus a
supporting material is needed when printing. In order to minimize the
supporting material, the positioning of the object can be a variable to
account for.
7.7. CONCLUSIONS AND FUTURE RESEARCH DIRECTIONS
179
3. Filling. In this work we consider the filling part of a certain polygon
as an input, but to decide the filling, in terms of distances between
the edges of the filling, their direction, and even a particular pattern
can change the optimization of the print or be part of it.
4. Colors. Some printing objects can have different set of materials
and/or colors to be used. Indeed we can see the supporting material part of this case. When printing an object made of different colors
or materials we can decide to print first the polygons of one material
and then the others by deciding a sequence. Otherwise, we can decide
to mix the use of colors to make the printing time shorter. Then the
number of nozzles becomes relevant: if we have more materials than
nozzle we must consider the time spent in changing material and going
back to the vertex 0 to clean the nozzle, otherwise we must consider
the distance between the nozzle of one color and the others.
All these features have a strong impact on the speed of the print and on
the quality of the surface, both very important characteristics in 3DP. We
are convinced that they will be the focus of many future research works.
180
CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS
Bibliography
[1] S. Akella. Hot off the press: The technology behind 3d printing. Professor Scarlatos HON 301, 2012.
[2] R. D. Angel, W. L. Caudle, R. Noonan, and A. Whinston. Computerassisted school bus scheduling. Management Science, 18:B279–B288,
1972.
[3] D. Bak. Rapid prototyping or rapid production? 3d printing processes
move industry towards the latter. Assembly Automation, 23:340–345,
2003.
[4] E. J. Beltrami and L. D. Bodin. Networks and vehicle routing for
municipal waste collection. Networks, 4:65–94, 1974.
[5] L. D. Bodin and S. J. Kursh. A computer-assisted system for the routing
and scheduling of street sweepers. Operations Research, 26:525–537,
1978.
[6] T. Campbell, C. Williams, O. Ivanova, and B. Garrett. Could 3d printing change the world? Technologies, Potential, and Implications of
Additive Manufacturing. Washington, DC: Atlantic Council, 2011.
[7] Á. Corberán and G. Laporte. Arc Routing: Problems, Methods, and
Applications. SIAM, 2014.
[8] Á. Corberán, R. Martı́, E. Martı́nez, and D. Soler. The rural postman
problem on mixed graphs with turn penalties. Computers & Operations
Research, 29:887–903, 2002.
[9] Á. Corberán, R. Martı́, and A. Romero. Heuristics for the mixed rural postman problem. Computers & Operations Research, 27:183–203,
2000.
[10] Á. Corberán, I. Plana, and J. M. Sanchis. A branch & cut algorithm
for the windy general routing problem and special cases. Networks,
49:245–257, 2007.
181
182
BIBLIOGRAPHY
[11] Á. Corberán and C. Prins. Recent results on arc routing problems: An
annotated bibliography. Networks, 56:50–69, 2010.
[12] Á. Corberán and J. M. Sanchis. A polyhedral approach to the rural
postman problem. European Journal of Operational Research, 79:95–
114, 1994.
[13] Á. Corberán and J. M. Sanchis. The general routing problem polyhedron: facets from the rpp and gtsp polyhedra. European Journal of
Operational Research, 108:538–550, 1998.
[14] E. W. Dijkstra. A note on two problems in connexion with graphs.
Numerische mathematik, 1:269–271, 1959.
[15] M. Dror and A. Langevin. A generalized traveling salesman problem
approach to the directed clustered rural postman problem. Transportation Science, 31:187–192, 1997.
[16] H. A. Eiselt, M. Gendreau, and G. Laporte. Arc routing problems, part
ii: The rural postman problem. Operations Research, 43:399–414, 1995.
[17] E. Fernández, O. Meza, R. Garfinkel, and M. Ortega. On the undirected
rural postman problem: Tight bounds based on a new formulation.
Operations Research, 51:281–291, 2003.
[18] G. N. Frederickson. Approximation algorithms for some postman problems. Journal of the ACM (JACM), 26:538–554, 1979.
[19] G. Ghiani and G. Improta. The laser-plotter beam routing problem.
Journal of the Operational Research Society, 52:945–951, 2001.
[20] G. Ghiani, D. Laganà, and R. Musmanno. A constructive heuristic
for the undirected rural postman problem. Computers & operations
research, 33:3450–3457, 2006.
[21] G. Ghiani and G. Laporte. A branch-and-cut algorithm for the undirected rural postman problem. Mathematical Programming, 87:467–481,
2000.
[22] M. Grötschel, M. Jünger, and G. Reinelt. Optimal control of plotting
and drilling machines: a case study. Mathematical Methods of Operations Research, 35:61–84, 1991.
[23] G. W. Groves and J. H. Van Vuuren. Efficient heuristics for the rural
postman problem. ORiON: The Journal of ORSSA, 21:33–51, 2005.
[24] E. Haslam and J. R. Wright. Application of routing technologies to rural
snow and ice control. Transportation Research Record, 1304, 1991.
BIBLIOGRAPHY
183
[25] A. Hertz, G. Laporte, and P. N. Hugo. Improvement procedures for the
undirected rural postman problem. INFORMS Journal on Computing,
11:53–62, 1999.
[26] K. Holmberg. Heuristics for the rural postman problem. Computers &
Operations Research, 37:981–990, 2010.
[27] G. Laporte. Modeling and solving several classes of arc routing problems as traveling salesman problems. Computers & operations research,
24:1057–1061, 1997.
[28] A. N. Letchford and R. W. Eglese. The rural postman problem with
deadline classes. European Journal of Operational Research, 105:390–
400, 1998.
[29] L. S. Levy. The walking line of travel problem: An application of arc
routing and partitioning. PhD thesis, University of Maryland, College
Park, 1987.
[30] L. M. Moreira, J. F. Oliveira, A. M. Gomes, and J. S. Ferreira. Heuristics for a dynamic rural postman problem. Computers & operations
research, 34:3281–3294, 2007.
[31] G. Reinelt and D. O. Theis. A note on the undirected rural postman
problem polytope. Mathematical programming, 106:447–452, 2006.
[32] H. I. Stern and M. Dror. Routing electric meter readers. Computers &
Operations Research, 6:209–223, 1979.
[33] Ultimaker. “Cura Software”. https://ultimaker.com/en/products/
software.
184
BIBLIOGRAPHY
Conclusions
In this PhD thesis we tackled severl real-world logistics and routing problems. In Part II we considered a tactical problem that arises in bike sharing
systems, the Bike sharing Rebalancing Problem (BRP). The BRP is the
problem of driving a fleet of capacitated vehicles to redistribute bicycles in
bike sharing systems at minimum costs. In Chapter 2 we defined the BRP
and modeled it proposing four formulations and several inequalities to be
embedded in branch-and-cut algorithms. We evaluated the formulations on
a test bed of 60 newly collected real-world instances with up to 116 vertices. The best formulation could efficiently solve to optimality all instances
with up to 50 vertices, and obtain small gaps for the larger instances in
about 20 minutes. In Chapter 3 we proposed a destroy and repair algorithm to solve the BRP, including a new constructive heuristic and a set of
local searches made more efficient by dedicated speed-up techniques. We collected new real-world instances with up to more than 500 vertices. With our
metaheuristic algorithm we could obtain all the optimal solutions obtained
thanks to the previously presented branch-and-cut in very short times and
reach very good solutions for the large instances. In the same chapter we also
solve the generalization of the BRP where a maximum duration constraint
is imposed to each route, the so-called one-commodity Pickup and Delivery
Vehicle Routing Problem (1-PDVRP). We adapted both the branch-andcut, including new inequalities, and the metaheuristic algorithms developed
for the BRP to solve the 1-PDVRP. To test our algorithms for the 1-PDVRP
we used literature instances. For the smaller instances an optimal value has
been found for the first time with our branch-and-cut and the adaptation of
the destroy and repair algorithm to solve the 1-PDVRP could improve the
solution values of about 12% in average with respect to literature results.
In Chapter 4 we defined the BRP with stochastic demand. We proposed
some stochastic programming formulations and solved them by means of
L-Shaped and branch-and-cut algorithms. We compared the different formulations on real-world newly collected instances. All instances with up to
30 vertices have been solved to optimality in short computing times. We
also developed two heuristics algorithms to solve the SBRP. Those algorithms include a novel consideration on positive and negative correlations
between the vertices. In Part III we solved earthwork optimization problems
185
186
BIBLIOGRAPHY
considering some new features for the first time. In Chapter 5 we propose a
novel two-phase approach to solve the earthwork optimization problem that
arises in highway construction. In particular we developed this new method
and the Decision Support System (DSS) presented in Chapter {ch:II2 thanks
to the collaboration with one of the major construction companies in Europe (Strabag AG) for the construction of the Autostrada Pedemontana
Lombarda, a highway in Northern Italy. The DSS includes the optimization
part and the graphical component to ease the decision making. The DSS is
currently in use at Strabag AG, being an easy-to-use, efficient tool suitable
for solving several real-world construction logistics problems. In Part IV we
summarized the 3D printing process, its advantages and disadvantage. We
focused on the problems that arise in the 3D printing process, giving a list of
possible optimization issues and constraints. We then concentrated in solving the generalization of the arc routing problem related to the definition of
the tool path in 3D printing, that we called the 3D printing Routing Problem (3DRP). We proposed an ILP model and four heuristic algorithms. We
tested the proposed algorithms on a set of 30 instances and compared the
results with respect to those obtained by one of the most famous available
software for the tool path definition: Cura. We could improve the solution
values, in average, between about 3% to about 8%, in average, within good
computing times.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement