Fulltext
Fulltext
Fulltext
Ida Nedregård
Main contents:
1
Preface
This thesis is the result of my thesis work during spring 2015 at the Norwegian
University of Science and Technology, Department of Industrial Economics and
Technology Management.
The project presents a routing problem called the integrated dial-a-ride prob-
lem. The problem consists of a homogeneous vehicle fleet and a fixed route network.
Given characteristics of the vehicle fleet and the network specifying transfer loca-
tions and links between the locations, a set of requests are to be scheduled. The
requests specify a load (of people), pickup and drop off locations and time windows.
A simplified model of the problem is proposed, implemented in Xpress IVE opti-
mization suite using Xpress-Mosel programming language, and solved on several
test instances. Furthermore, the effects of among others incorporating the option
of transferring between vehicles and fixed network on the problem complexity the
operational fleet costs and the user convenience is considered.
The project have been done in collaboration with my academic supervisor Hen-
rik Andersson, who has also been in contact with Carl-Henrik Häll at Linköping
University. I am grateful for all help and guidance they have provided throughout
this semester, and the results provided in this thesis would not have been possible
without their support.
Trondheim –.06.2015
Ida Nedregård
2
Abstract
The demand for public transport network is increasing, both to provide
a more environmentally friendly travel option and as a service for those who
do not have access to private ways of travel. In this thesis an integrated
dial-a-ride problem (IDARP) is presented. A dial-a-ride problem (DARP) is
similar to a pickup and delivery problem where the load to be picked up and
delivered represents people. The integrated option of a DARP includes the
possibility for the request to transfer between vehicles and travel some part of
the route by another mode of transport. In addition, the IDAR formulation
in this thesis allow for the requests to walk between locations. In detail, the
problem has to fulfill a set of requests through scheduling a demand respon-
sive vehicle fleet. In addition, some part of the request can be performed
by a fixed route service consisting of one connected network that is assumed
cost free. Furthermore, if the distance between two locations is less than the
maximum distance a request states is acceptable to walk, the request can
walk this distance if it is beneficial for the demand responsive vehicle fleet.
The goal is to find a schedule that minimizes fleet operation costs and user
inconvenience, while at the same time considers several constraints. The con-
straints can be grouped into restrictions set by the requests, restrictions for
the vehicle fleet and for the fixed network. Examples of constraints can be
time windows of service and capacities of load and usage of the vehicles.
In this thesis some previous studied solution methods have been discussed,
and a thorough discussion of different aspects of the problem, in addition to
modeling issues, is included. An arc-based IDAR formulation is given, and by
using an exact solution method several test cases are solved. Several groups
of valid inequalities and reduction techniques have been incorporated into
the model so as to represent the convex hull better. These options are tested
to find which options should be included in the model on a regular basis.
Through the use of these cases the benefits and drawbacks of including three
problem features are discussed. These problem features are (1) the possibility
of transfer, (2) the possibility to transport multiple requests at the same time,
and (3) the possibility to allow a request to walk some part of the trip. On
average, it seems that the problem features lower the cost of operating the
fleet, while not considerably increasing the user inconvenience. However, the
problem size and complexity increases when including the problem features,
which makes it more difficult to find good solutions. Furthermore, a few
modeling issues and some characteristics of the vehicle fleet and the requests
are discussed both from a technical perspective and a economical perspective.
On average, if the setting and characteristics are set so economical benefits
are possible, the resulting problem is usually more complicates to solve. The
implementation of the IDARP manages to solve small instances with up to
five transfer locations, one node visit and nine request, or two node visits and
seven requests.
3
Sammendrag
Etterspørselen etter offentlige transportmidler og kollektivtransport øker, både for
å tilrettelegge for mer miljøvennlig transportmidler og for de som ikke har et annet
transportmiddel tilgjengelig. Denne masteroppgaven løser et ruteproblemet hvor
en fleksibel transportflåte med biler og en mindre fleksibel kollektivtransportflåte
er integrert for å skape et helhetlig transportmiddel, referert til som integrated dial-
a-ride problem (IDARP). I dette ruteproblemet skal folk transporteres fra et hen-
tepunkt til et sluttpunkt ved hjelp av flåtene tilgjengelige. De tilgjengelige flåtene
består av en bil flåte, hvor ruteplanen bestemmes helt fleksibelt så lenge noen spe-
sifikke kvalifikasjoner holdes. I tillegg finnes det et kollektivnett hvor flåten har
spesifikke ruter de må følge men hvor det er antatt at frekvensen på avganger er så
høy at dersom en passasjer er satt av på stedet kan vedkommende reise med kollek-
tivflåten med en gang. Passasjerene kan derfor bli transportert med den fleksible
flåten enten hele veien eller de kan benytte seg av kollektivnettet hele eller deler
av veien. I tillegg tillater modellen at folk kan gå mellom steder dersom avstanden
er kort nok. Målet med problemet er å finne de billigste rutene for den fleksi-
ble flåten, med hensyn til antall biler, total avstand reist og tidsbruken av bilene.
Kostnader for å holde kollektivnettet operativt og for å benytte kollektivnettet er
ikke inkludert i modellen. For å forsikre seg om at kvaliteten på tjenesten ikke
faller for mye er det lagt ved bøter dersom folk må gå, bytte mellom biler eller
kollektivnett, samt dersom total reisetiden øker utover direkte reisetid (bil kjører
direkte fra hentested til leveringssted). Det er også lagt ved andre restriksjoner i
problemet, for eksempel at passasjerene skal hentes innen et visst tidsvindu, eller
at biler kun kan ha et visst antall passangerer i bilen samtidig eller kan kun brukes
i en viss tid sammenhengende.
Denne masteren går gjennom et utvalg av ulike studier gjort på liknende ruteprob-
lemer. Først er eksakte og heuristiske løsningsmetoder diskutert, deretter ulike
problemkarakteristikker, og til slutt noen tema rundt modellering og implementer-
ing av problemet. En buebasert IDAR formulering er gitt og problemet er løst
ved å bruke en optimal løsningsmetode. Flere grupper med restriksjoner er lagt
ved basis modellen for å minke kompleksiteten av å løse IP problemet, og for
å finne et løsningrom som representere det konvekse hullet bedre. De forskjel-
lige gruppene er testet i en innledende analyse og en diskusjon rundt effekten på
løsningskompleksiteten er gjennomført. Resten av analysen er fokusert rundt en
teknisk og en økonomisk diskusjon av problemet når ulike problem karakteristikker
og faktorer er endret. De tre problem karakteristikkene omhandler muligheten til
(1) å bytte mellom biler eller å bruke kollektivnettet, (2) transportere flere pas-
sangerordre samtidig i samme bil, og (3) la folk gå mellom ulike steder. I tillegg er
enkelte faktorer som omhandler bilflåten og ordrene endret, og diskutert ut fra en
tekniske og økonomiske standpunkt. Enkelte faktorer som omhandler modellering
og implementering av problemet er også sett på i analysen. Generelt, å inkludere
problem karakteristikker og faktorer i problemformuleringen som skaper økt flek-
sibilitet for ruteproblemet, og gjør det mulig å finne billigere ruter, kompliserer
problemet og gjør det tyngre å løse til optimalt. Implementeringen av dette prob-
lemet klarer å løse små instanser med fem kollektivsteder, en node for hvert sted
og ni ordre, eller fem kollektivsteder, to noder per sted og syv ordre.
4
Contents
1 Introduction 10
2 Literature Review 13
2.1 The Traveling Salesman Problem . . . . . . . . . . . . . . . . . . . . 14
2.2 The Vehicle Routing Problem . . . . . . . . . . . . . . . . . . . . . . 16
2.3 The Pickup And Delivery Problem . . . . . . . . . . . . . . . . . . . 19
2.4 The Dial-a-Ride Problem . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5 The Pickup and Delivery Problem with Transshipments . . . . . . . 30
2.6 The Integrated Pickup and Delivery Problem . . . . . . . . . . . . . 33
5 An Example 74
5.1 Dataset of the example . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2 Details of the example . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3 Solving the example . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5
6 Computational Analysis 80
6.1 Preliminary Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.1.1 Arc Elimination Constraints . . . . . . . . . . . . . . . . . . . 82
6.1.2 Strengthened Time Windows . . . . . . . . . . . . . . . . . . 83
6.1.3 Symmetry Breaking Constraints . . . . . . . . . . . . . . . . 85
6.1.4 Subtour Elimination Constraints . . . . . . . . . . . . . . . . 85
6.1.5 Mixed Integer Rounding Constraints . . . . . . . . . . . . . . 87
6.1.6 The Resulting Default option . . . . . . . . . . . . . . . . . . 88
6.2 Technical Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.2.1 Problem Features . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.2.2 The Maximum number of Node Visits . . . . . . . . . . . . . 94
6.2.3 Varying Characteristics of Requests and the Vehicle Fleet . . 98
6.2.4 The Size of the Test Instances . . . . . . . . . . . . . . . . . . 100
6.3 Economic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.3.1 Transferring between Transportation Modes . . . . . . . . . . 103
6.3.2 Transporting Multiple Requests at the Same Time . . . . . . 106
6.3.3 Walking some Part of the Trip . . . . . . . . . . . . . . . . . 107
6.3.4 Including all Three problem features in Combination . . . . . 108
6.3.5 Varying the Load Capacity of the Vehicle . . . . . . . . . . . 112
6.3.6 Varying the Time Windows of the Requests . . . . . . . . . . 113
6.3.7 Varying the Maximum Service Time . . . . . . . . . . . . . . 114
6.3.8 The Process of Finding an Acceptable Solution . . . . . . . . 116
7 Conclusion 118
7.1 Technical Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.2 Economical Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6
B Mathematical Model 144
B.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
B.2 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
B.3 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
B.4 IDARP formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7
List of Figures
1 Transfer node gi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2 Transfer node divided into one drop-off (blue) and one pickup node
(red) for each route . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3 Transfer pair of nodes created for maximum possible visits . . . . . . 43
4 Transfer pair of nodes created for each request . . . . . . . . . . . . 44
5 Set of transfer nodes created for maximum possible visits and cor-
responding drop off node (blue) . . . . . . . . . . . . . . . . . . . . . 45
6 Time Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7 Solution space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8 Symmetry within a Location . . . . . . . . . . . . . . . . . . . . . . 64
9 Symmetry in the Fleet . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10 Avoiding unnecessary routes . . . . . . . . . . . . . . . . . . . . . . . 65
11 Subtour Elimination Constraints 73 . . . . . . . . . . . . . . . . . . 68
12 Subtour Elimination Constraints 74 . . . . . . . . . . . . . . . . . . 69
13 Subtour Elimination Constraints 75 . . . . . . . . . . . . . . . . . . 69
14 Subtour Elimination Constraints 76 . . . . . . . . . . . . . . . . . . 69
15 Subtour Elimination Constraints 77 . . . . . . . . . . . . . . . . . . 70
16 Subtour Elimination Constraints 78 . . . . . . . . . . . . . . . . . . 70
17 Subtour Elimination Constraints 79 . . . . . . . . . . . . . . . . . . 71
18 Subtour Elimination Constraints 80 . . . . . . . . . . . . . . . . . . 71
19 Test Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
20 Case H1.4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
21 Case C1.7.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
22 Case R1.4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
23 Case S1.4.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
24 Case S2.4.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
25 Case S3.5.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
26 Case B1.7.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
27 Case B2.8.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
28 Case B3.9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
List of Tables
1 Pickup and Delivery problem . . . . . . . . . . . . . . . . . . . . . . 24
2 Dial-a-ride problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 Pickup and delivery problem with transshipment . . . . . . . . . . . 32
4 Integrated pickup and delivery problem . . . . . . . . . . . . . . . . 35
5 IDARP test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6 Details Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7 Effect with Arc Elimination Options 1 . . . . . . . . . . . . . . . . . 83
8 Effect with Arc Elimination Options 2 . . . . . . . . . . . . . . . . . 83
9 Effect with Time Window strengthening 1 . . . . . . . . . . . . . . . 84
10 Effect with Time Window strengthening (1800) 2 . . . . . . . . . . . 84
11 Effect with Symmetry Breaking Constraints . . . . . . . . . . . . . . 86
12 Effect with Subtour Elimination Constraints . . . . . . . . . . . . . . 87
8
13 Effect with Mixed Integer Rounding (7200) . . . . . . . . . . . . . . 88
14 Default option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
15 Problem Features 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
16 Problem Features 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
17 Varying the Number of NodeVisits 1 . . . . . . . . . . . . . . . . . . 95
18 Varying the Number of NodeVisits 2 . . . . . . . . . . . . . . . . . . 95
19 Varying the Number of NodeVisits 3 . . . . . . . . . . . . . . . . . . 96
20 Varying the Number of NodeVisits 4 . . . . . . . . . . . . . . . . . . 97
21 Varying the Maximum Service Time of the Requests . . . . . . . . . 98
22 Varying the Time Windows of the Requests 1 . . . . . . . . . . . . . 99
23 Varying the Time Windows of the Requests 2 . . . . . . . . . . . . . 99
24 Varying the Load Capacity of the Vehicles . . . . . . . . . . . . . . . 100
25 The Size of the Problem 1 . . . . . . . . . . . . . . . . . . . . . . . . 101
26 The Size of the Problem (14400) 2 . . . . . . . . . . . . . . . . . . . 102
27 Economic Results 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
28 Economic Results (43000) 2 . . . . . . . . . . . . . . . . . . . . . . . 111
29 Varying the Maximum Service Time 1 . . . . . . . . . . . . . . . . . 115
30 Varying the Maximum Service Time 2 . . . . . . . . . . . . . . . . . 115
31 Details of Costs and Penalties H1.4.6 1 . . . . . . . . . . . . . . . . . 128
32 Details of Costs and Penalties H1.4.6 2 . . . . . . . . . . . . . . . . . 129
33 Details of Results H1.4.6 1 . . . . . . . . . . . . . . . . . . . . . . . . 130
34 Details of Results H1.4.6 2 . . . . . . . . . . . . . . . . . . . . . . . . 130
35 Details of Costs and Penalties C1.7.3 . . . . . . . . . . . . . . . . . . 131
36 Details of Results C1.7.3 . . . . . . . . . . . . . . . . . . . . . . . . . 131
37 Details of Costs and Penalties R1.4.6 . . . . . . . . . . . . . . . . . . 132
38 Details of Results R1.4.6 . . . . . . . . . . . . . . . . . . . . . . . . . 133
39 Details of Costs and Penalties S1.4.7 . . . . . . . . . . . . . . . . . . 135
40 Details of Results S1.4.7 . . . . . . . . . . . . . . . . . . . . . . . . . 135
41 Details of Costs and Penalties S1.4.5 . . . . . . . . . . . . . . . . . . 136
42 Details of Results S1.4.5 . . . . . . . . . . . . . . . . . . . . . . . . . 136
43 Details of Costs and Penalties S2.4.7 . . . . . . . . . . . . . . . . . . 137
44 Details of Results S2.4.7 . . . . . . . . . . . . . . . . . . . . . . . . . 138
45 Details of Costs and Penalties S3.5.7 . . . . . . . . . . . . . . . . . . 139
46 Details of Results S3.5.7 . . . . . . . . . . . . . . . . . . . . . . . . . 140
47 Details of Costs and Penalties S3.5.5 1 . . . . . . . . . . . . . . . . . 140
48 Details of Costs and Penalties S3.5.5 2 . . . . . . . . . . . . . . . . . 141
49 Details of Results S3.5.5 1 . . . . . . . . . . . . . . . . . . . . . . . . 141
50 Details of Results S3.5.5 2 . . . . . . . . . . . . . . . . . . . . . . . . 141
9
1 Introduction
Today, people travel more frequent and farther than earlier. The demand for per-
sonal mobility is increasing, thus increasing the pressure on the traffic system. In
addition, consumer demand is higher, and many passengers require better conve-
nience, for instance door-to-door transport. As a result, more people prefer to
travel by private cars. The use of private cars increases congestion and the carbon
dioxide emissions. Another factor to consider is that not everyone has the option
of driving his or her own private car. Especially, two groups of people to consider
are the elderly and disabled. They might not be able to travel by car or to take
themselves to the fixed route transport services. As a consequence, it is necessary
to provide services that are convenient enough to transport elderly and disabled,
and convenient enough to provide an alternative for private cars. These services
range from completely fixed route services to entirely demand responsive services
(Errico et al., 2013). Fixed route services are services which travels on specific
and regular routes at scheduled times, and are therefore cheaper to operate. The
passengers have to get themselves to and from the departure and delivery points
of the route. On the other side, entirely demand responsive services are services
that are not limited to certain routes and can pickup and drop off passengers at
the time and place of their convenience. As a consequence of this flexibility the
system is expensive to operate. Several integrated systems also exist, where fixed
routes are connected with more demand-responsive or semi-fixed route systems.
Integrating an expensive demand responsive transportation system with a cheap
and fixed route service might make it possible to lower the cost of the service while
keeping the service quality at an acceptable level. As a consequence the service
can be a medium cheap and semi-flexible transportation alternative and targeting
a bigger part of population.
To answer the demand of increased mobility, public transport systems are evolv-
ing towards bigger and more flexible services. These services can provide a more
environmentally friendly alternative to private cars and taxis while maintaining
user convenience. For those groups that do not have access to private cars or are
able to use fixed route services, more demand responsive services are essential. At
present, these systems are quite expensive to operate and thus highly subsidized,
and are only available for people with special permits (Errico et al., 2013). How-
ever, by managing to lower the cost of operating the flexible traffic system the
service can be made available for a greater part of the population. In recent years,
several so-called transportation network companies (TNC), for instance Über and
Lyft in the US, have emerged (Transportation License Section). These companies
use an online-enabled platform to connect passengers with drivers using their per-
sonal, non-commercial vehicles. Through this mechanism they have been able to
supply a service that is similar to taxies, but a lot cheaper. In addition, several
ride-sharing systems have emerged, connecting those who have empty seats in their
car with people who need a ride.
10
or from one (or several) depot(s) or transport goods between customers (Golden
et al., 2008). The problem considering scheduling a vehicle fleet to transport a
number of passengers from their pickup locations to their drop off location at spe-
cific times is referred to as a dial-a-ride problem (DARP). The simplest form of
a DARP, taxis, where a vehicle from the fleet pickup the requested load, drives
directly to the requests drop off location and afterwards answers the next request
in line. However, the cost of operating this fleet is high since the requests are ser-
viced on a first-come first-served strategy without regard to geographic locations
of the requests. Furthermore, the time to perform the set of requests increases if
the service of one request has to be finished before the next request can start. In
addition, considerable time is spent driving an empty vehicle as the vehicle have
to drive empty from drop off of one request to pickup of the next request.
11
and different valid inequalities are discussed. Then, an example is given in Section
5, before the effect of the different reduction techniques are discussed during the
process of finding a default option (Section 6.1). In the computational study, a
technical analysis is discussed in Section 6.2, while the economical effects are dis-
cussed in Section 6.3. Lastly, a short conclusion and some possible extensions and
future research are considered (Section 7 and Section 8).
12
2 Literature Review
The integrated dial-a-ride problem is one of many different routing problems stud-
ied in the literature, and the different routing problem have several characteristics
in common. Therefore, reviewing existing literature has increased the overall un-
derstanding of the routing and scheduling problems. This especially includes the
different characteristics of the problems, their modeling techniques and their so-
lution approaches. Thus, this section provides a review of some studies done on
routing problems. The focus of the review is on solution approaches, while char-
acteristics and modeling techniques are discussed further in Section 3. To start,
the traveling salesman problem (TSP) is considered. The goal of the TSP is to
minimize total costs while visiting a finite number of places. The TSP is one of
the most widely studied combinatorial optimization problems, and it is said to
be an ideal starting point when developing techniques to other problems (Apple-
gate et al., 2006). In fact, the TSP often surface as a subproblem of bigger and
more complex routing problems (Christiansen, 1996). After the TSP the review
considers the vehicle routing problem (VRP). The VRP is a generic name for a
set of routing problems where a vehicle fleet is scheduled so as to satisfy demand
in an area. Each of the vehicles has to satisfy a traveling salesman problem for
the customers they are supposed to visit. The studies discussed in these sections
centers around exact solution methods and mention useful aspect to be used in
other generalizations of the routing problems. A generalization of the VRP is the
pickup and delivery problem (PDP), which is considered next. In the PDP the
routes have to satisfy transportation requests consisting of both pickup and drop
off locations. Next, a generalization of the PDP, namely the dial-a-ride problem
(DARP), where the requests specified trips to transport passengers from their ini-
tial pickup problem to their drop off destination, is considered. Additionally, two
variants from the PDP/DARP is considered. First, the pickup and delivery prob-
lem with transshipment (PDPT), where the load can transfer between vehicles at
specific transfer locations, are considered. The second variant considers pickup
and delivery problems where two or more modes of transports are integrated into
a combination of fleets. For instance, the model studied in this thesis, which is one
version of the integrated dial-a-ride problem (IDARP), includes transfers between
homogeneous vehicles and a fixed route service.
The following review starts by defining the problem and some variants of the
problem, and then focus on exact and heuristic solution approaches for the prob-
lem. The exact solution approaches is centered around branching methods which
are a quite successful approach for IP problems. The branching method is usually
combined with either cutting planes or column generation or both. Since use of
valid inequalities to strengthen the formulation is an effective way to reduce the gap
between the LP and IP solution, and since this is the focus of this thesis, studies
considering valid inequalities are usually included in the review. Since the routing
problem is N P -hard heuristic are usually necessary to solve medium to large size
instances. Therefore, a big part of this review focuses on heuristics, and especially
metaheuristics, as a solution method. The studies can focus on one heuristic, cre-
ate a heuristic from different heuristics or compare different heuristic approaches.
13
Furthermore, the heuristics can be used as a part of the exact solution approach,
for example a heuristic can be used to find a column with reduced cost, instead
of using an exact method to solve the subproblem optimally, and thus sometimes
enhance performance. The review starts with the traveling salesman problem and
ends with the problem variant that is considered in this thesis, the integrated rout-
ing problem.
Laporte (1992) described the study by Carpaneto and Toth (1980) of the
branch-and-bound solution approach for solving the traveling salesman problem.
First, they solved a modified assignment problem at the root node. Next, if sub-
tours are found during the solution procedure, subproblems prohibiting the arcs
of the subtours are created to break these in the next stage of the tree. This pro-
cedure is repeated until the optimal feasible solution is found. Later, Balas and
Christofides (1981) used a more complex and powerful solution method that result
in a smaller search tree than Carpaneto and Toth’s (1980) approach. They used
a Lagrangean method that considered all constraints in the objective function and
then branched on the resulting solution. Furthermore, Baker (1983) presented a
branch-and-bound algorithm for the TSP with time windows. To find bounds on
the subproblems created in Baker’s branch-and-bound tree, acyclic networks were
14
created to represent the subproblems and were solved by a longest path method.
Then, in the late 1980s, Miller and Pekny (1989) studied a parallel branch-and-
bound algorithm based on the same relaxation as Baker. They managed to solve
randomly generated asymmetrical TSP instances with up to 3000 nodes to opti-
mality.
In the second half of 1990s, Applegate et al. (1995) studied the traveling sales-
man problem and proposed new ways of finding cuts, new ways of handling the LP
relaxations, new ways to select an edge to branch on and a new way to prune on
the resulting tree. They further described a new way to find new cuts by using a
cutpool, and a way of gluing old constraints together into a conglomerate cut. By
using these methods they managed to solve 20 previous unsolved problems from
the TSP. The problem ranged from 1000 to 7397 cities. Later, Applegate et al.
(1998) continued their work on the TSP formulation and solution approach. Dur-
ing this work they added new cuts to strengthen the formulation. They also used
different exact and heuristic separation algorithms to solve the problem. With this
formulation and solution algorithm they solved problem instances with about 4500
cities in less than two days.
Bigras et al. (2008) proposed two integer programming formulations for a time
dependent TSP. The time dependent traveling salesman problem is a TSP where
the transition cost between nodes depend on the period the node is visited, as-
suming that one period is needed to travel between nodes. Adding cutting planes
strengthens the formulation. Subtour elimination constraints and 2-matching cuts
are added at each node, while the clique inequalities are generated at the root node
of the problem. The problem is solved using a branch-and-price method, branching
directly on the variables. A four-phase column generation procedure is included in
the solution approach. The initial problem is decomposed into a master problem
and pricing problems using Dantzig-Wolfe decomposition. This pricing problem is
a shortest path problem on a multipartite network with complicating constraints
forcing the path to visit every node exactly once. The shortest path problems
are solved using a dynamic programming algorithm, and the solution is added to
the master problem as a new column. The model is tested on instances up to 45
requests. Quite recently, Steinerberger (2015) has studied the bounds on the uni-
versal constant for the TSP, which was established to be between 0.625 ≤ β ≤ 0.922
by Beardwood, Halton and Hammersley in late 1950s. He managed to slightly im-
prove both upper and lower bounds and found that 0.629 ≤ β ≤ 0.906 holds for
the TSP constant.
To sum up, the traveling salesman problem, which is the problem of finding the
shortest path between n nodes, is a N P -complete problem and though it is a well
studied problem is still one of the most challenging problems in Operational Re-
search (Laporte, 1992). The greatest milestones for this problem centers on studies
done in the second half of 1900rd, while some of the greater findings in the recent
years are due to stronger and more efficient computers. Next, a review of some of
the generalizations of the TSP is provided.
15
2.2 The Vehicle Routing Problem
The vehicle routing problem (VRP) is a routing problem where the vehicle fleet,
centered at a central depot, is required to visit and fulfill some requirements at
a set of locations. The VRP is a N P -hard problem and several variants of the
problem have been studied in the literature. The common variants of the vehicle
routing problem is (1) the capacitated vehicle routing problem (CVRP) where the
vehicles have a capacity limits, (2) the vehicle routing problem with time windows
(VRPTW), where the customers have to be visited within a certain time window,
and (3) the vehicle routing problem with pickup and delivery, which is usually re-
ferred to as the pickup and delivery problem, and is discussed in the next section.
The problem variants can either consider a homogeneous vehicle fleet (all vehicle
characteristics are the same) or a heterogeneous vehicle fleet (vehicle characteristics
are individual for each vehicle). Additionally, the problems can consider a limited
fleet size or a flexible fleet size. Furthermore, the demands can be deterministic
(certain and known) or stochastic (uncertain). The problem can also be charac-
terized as static (all requests known before scheduling) or dynamic (requests are
known in real time). In addition, variable routing costs are usually considered,
and can be dependent on the vehicle, dependent on the site or independent. In
addition, some problems consider fixed costs associated with the vehicle fleet. The
reader is referred to the survey by Cordeau et al. (2002a) for a more detailed review
of VRP variants and with the different mathematical formulation.
Several exact methods have been studied to solve the different routing prob-
lems. The research have in particular centered on column generation methods and
branch-and-bound methods (Golden et al., 2008). In the short review below three
studies done on the VRP considering branch-and-price algorithms are discussed
because of the efficiency and quality of the solution approaches. The last contribu-
tion to this part of the review considers stochastic demands instead of the usually
deterministic demand. Heuristics have played a major part in solving real size in-
stances of the vehicle routing problem. Three classical heuristics mentioned in the
review by Cordeau et al. (2002b) are the Clarke and Wright algorithm, the sweep
heuristic and the Fisher and Jaikumar algorithm (cluster first, route second algo-
rithm). The two first approaches are quite intuitive, but because of their greedy
nature makes it difficult to incorporate new constraints in the problem. The re-
sults from the last procedure Fisher and Jaikumar algorithm, a cluster first, route
second approach, showed weak convergence and little flexibility. However, these
algorithms are often important elements in more advanced heuristics and meta-
heuristics and are therefore worth mentioning. Recently, metaheuristics have been
more popular as a solution technique, and have greater efficiency and flexibility.
However, the metaheuristics are less intuitive and simple to understand. In partic-
ular, tabu search stands out as one of the more used metaheuristic for the vehicle
routing problem (Cordeau et al., 2002b), while other popular metaheuristics are
simulated annealing, variable neighborhood search and greedy randomized adap-
tive search procedure (GRASP), in addition to ant colony algorithms and genetic
algorithms (Golden et al., 2008). The short review below considers three studies
done on local search metaheuristics that mostly uses construction based heuristic
to find a starting point for the search. For a more throughout review the reader is
16
referred to the book ”The Vehicle Routing Problem” by Golden et al. (2008) for a
detailed discussion of the different algorithms and studies to date. In addition, the
survey by Cordeau et al. (2002a) also discuss different ways to find upper and lower
bounds for different variants of the VRP and might be of interest for some readers.
Furthermore, the review by Cordeau et al. (2002b) considers classical heuristics
and metaheuristics as solution approaches for the VRP.
Chabrier (2006) proposed a model for the vehicle routing problem with time
windows which minimize total distance traveled by the vehicles. A branch-and-
price method is used to solve the problem. First, the problem is decomposed using
Dantzig-Wolfe decomposition that splits the problem to a restricted master prob-
lem and pricing problem. The pricing problems are solved using an elementary
shortest path algorithm. The branching is done when two fractional routes share
the same arc (i, j). One route is allowed to use the arc, while the other is not
allowed to use the arc. A lower bound is found solving the relaxed master problem
for the integer problem on the current branch. By using the elementary shortest
path subproblem and cutting planes, they obtained good lower bounds and pruning
of the search tree, and they managed to find exact and improved solutions to 17 of
22 open instances with up to 100 nodes of the Solomon benchmark. Furthermore,
Choi and Tcha (2007) proposed a vehicle routing problem with a heterogeneous
vehicle fleet. Each vehicle has its own capacity, time and cost between nodes, and
the goal is to minimize total routing costs. The problem is solved using a branch-
and-price algorithm. They use Dantzig-Wolfe decomposition to decompose the
problem into a master problem and subproblems. The master problem is formu-
lated as a set-covering problem, where the covering constraint considers if a vehicle
type visits a customer on the route. The subproblems are formulated as shortest
path problems with resource constraints, and the solution created a feasible route.
The routes represented columns for the master problem and the master problem is
re-optimized with the new routes. If the solution found when solving the problem
is not an integer solution, branching is done and the procedure is restarted. The
problem is tested on three sets of six benchmark instances up to 100 nodes which
are generated from the 12 benchmark instances by Golden et al. They showed that
the solution approach outperformed existing algorithms both in solution quality
and computation time.
While most of the studies on the vehicle routing problem have considered de-
terministic cases, some studies focus on stochastic problems. One reason for the
lack of studies on stochastic problems is that the stochastic parameter adds a new
level of complexity to the already N P -hard problem, while the deterministic case
is easier to comprehend and draw conclusions from the result. Christiansen and
Lysgaard (2006) proposed a model for the capacitated vehicle routing problem with
stochastic demands. The demands are assumed to be following a Poisson distribu-
tion, and the goal is to minimize the total expected distribution cost. The problem
is solved using a bound-a-price approach and uses a column generation method.
The master problem is formulated as a set-partitioning problem, while the sub-
problems are solved using a dynamic programming scheme that solves a shortest
path problem on an acyclic network. The model is tested on instances ranging
17
from 32 to 60 requests.
Bräysy and Gendreau (2002) proposed a model for the capacitated vehicle rout-
ing problem with time windows. The goal of the problem was to find the least cost
routes while satisfying demand. As a solution approach they used a tabu search
algorithm. This is a local search metaheuristic which examine a neighborhood of
a solution for finding a better solution and moving to this solution. To avoid cy-
cling attributes are temporarily declared forbidden and stored in a tabu list. The
attribute will stay in the tabu list for a specific time (tabu tenure). The solution
approach is tested on Solomon’s 56 benchmark test problems. The instances have
100 requests, one central depot, capacity constraints, route time constraints and
restricted time windows. They found that the tabu algorithms from Gehring and
Homberger (2001), Cordeau et al. (2001), Taillard et al. (1997) and Chiang and
Russell (1997) showed the best performance.
Bräysy (2003) studied the vehicle routing problem with time windows and in-
troduced a deterministic metaheuristic based on a modification of the variable
neighborhood search algorithm by Mladenovic and Hansen (1997). The procedure
works as a four-phase approach. First, a route construction heuristic that considers
different combinations of parameter values are used to create a set of initial solu-
tions. Secondly, a route elimination procedure, an ejection chain based approach,
is used to reduce and improve the solutions considering the number of vehicles. In
the third phase the solutions are improved considering total traveled distance us-
ing four local search procedures, and among them a variable neighborhood descent
algorithm. Finally, in the fourth phase, the best solution is improved by modifying
the objective function to avoid local minimum. They got successful results on in-
stances with 100, 200 and 400 requests provided by Solomon (1987), Gehring and
Homberger (1999) and two real life problems by Russell (1995).
Pisiger and Ropke (2007) considered a general heuristic which can solve five dif-
ferent variants of the vehicle routing problem. They presented models for the five
routing problems, and showed how to transform them into a rich pickup and deliv-
ery model and used an adoptive large neighborhood search developed by Pisinger
and Ropke (2004) to solve the resulting problem. This approach builds on the
framework proposed by Shaw (1998) with an adaptive layer. In the algorithm,
the fix operation (destroy) selected a number of variables that are fixed at their
current value. Then the optimize operation (repair) is initiated considering only
none fixed variables. Afterwards all variables are released. The algorithm used a
local search framework at the master level together with a number of fast construc-
tion heuristics and a number of destroy heuristics supporting these construction
heuristics. The approach was competitive and manages to improve 183 best known
solutions of 486 benchmark tests. Both smaller instances and bigger instances up
to 400 to 600 or more customers is tested. The Pisinger and Ropke also test the
solution approach on the vehicle routing problems with backhauls and the pickup
and delivery problem.
18
generation algorithms have proven successful for the VRP. To solve real sized in-
stances of the problem heuristic approaches are common. Most algorithms usually
start by creating an initial solution using a greedy construction heuristic, before
searching systematically for a better solution. The most successful approaches are
usually metaheuristics and include some sort of element to avoid getting caught in
local optimums. As an example, tabu search algorithms usually perform well for
N P -hard problems.
Two main approaches for solving the pickup and delivery problem are branch-
and-price and branch-and-cut. The branch-and-price method uses a branch-and-
bound algorithm where the lower bound is calculated using a column generation
algorithm. In the branch-and-cut method, valid inequalities (cuts) are added to
the formulation at each node at the branch-and-bound tree to strengthen the re-
laxations that are usually solved by the simplex algorithm. Cordeau and Iori M.
(2010) proposed a branch-and-cut algorithm for the single vehicle pickup and de-
19
livery problem with time windows (PDPTW) with last-in-first-out (LIFO) loading.
Cordeau and Iori M. (2010) proposed three formulations for the problem, with the
goal of minimize the total routing cost. Furthermore, they introduced several ex-
isting inequalities for the pickup and delivery problem and some new inequalities
for this specific formulation. During the preprocessing part of the branch-and-cut
procedure a cut pool is made out of the valid inequalities. The procedure uses
both an exact separation approach and a heuristic separation approach based on
a tabu search heuristic. Instances up to 17 requests was solved in less than ten
minutes, while instances up to 25 request were solved within reasonable computing
time. Similarly, Ropke and Cordeau (2008) considered the PDPTW. They study
a branch-and-cut-and-price algorithm for solving the problem and uses a column
generation approach to find a lower bound on the solution. Two pricing subprob-
lems are used, one elementary and one non-elementary shortest path problem.
Furthermore, they dynamically add valid inequalities to strengthen the relaxation.
In addition to the exact method to solve the pricing problem, heuristics are used
to solve the pricing problem. These heuristics were construction algorithms, large
neighborhood search, and truncated label setting algorithms. The solution ap-
proach is tested on several instances from Li and Lim (2001) with instances of
100 requests and 500 requests. At the time of this research the results from the
algorithm outperformed the recent branch-and-cut algorithms.
20
opt and 3-opt edge exchanges to minimize the infeasibility of the tour under some
constraints. The heuristic iterates between a greedy algorithm and a tour improve-
ment procedure. The second approach was an incomplete optimization algorithm.
The algorithm was based on their earlier work on the branch-and-cut procedure
for finding an optimal local solution, which made it possible to determine optimal
solutions in restricted feasible regions. The problem is tested on ten random gen-
erated instances up to 500 requests.
21
from the best solution is used to restart the search in an unexplored region of
the search space. The problem is then decomposed to focus the search on smaller
subproblems. The problem is tested on instances of 20 vehicles and 24 requests
per hour, and for ten vehicles and 24 − 33 requests per hour. Gribkovskaia et al.
(2007) proposed a number of heuristics yielding general solutions for the single
vehicle pickup and delivery problem with combined demands. Solution heuristics
include construction and improvement procedures and tabu search heuristic. The
construction procedure first uses a (1) nearest neighbor procedure with backwards
and forward merges, (2) sweep procedure with backwards and forwards mergers
or a (3) modified sweep procedure with backward and forward mergers to obtain
a possible infeasible Hamiltonian solution. Then, the algorithm relinks nodes to
try to find improvements to the solutions. Next, a merging procedure eliminates
excess visits. Six different construction procedures and an improvement procedure
are used. The tabu search method used in the study is based on the unified tabu
search algorithm introduced by Cordeau et al. (2001) for the vehicle routing prob-
lem. Gribkovskaia et al. (2007) tested the solution approach on 34 test instances of
two types derived from instances to the capacitated vehicle routing problem, and
contained 16 to 101 nodes. They found that the best known solutions generated
by the heuristics are frequently non-Hamiltonian and may consist of visiting a cus-
tomer twice.
Alshamrani et al. (2007) developed a periodic single vehicle pickup and delivery
problem, where the customers who were not picked up in the current period can
be picked up in the next period by adding a penalty cost to the objective value.
The route design and pickup strategies are developed simultaneously, where stop
volumes are known only probabilistically over a planning horizon. They develop a
heuristic procedure for creating the route design-pickup strategy planning problem.
As a solution approach they used a heuristic that first constructed a feasible route
considering travel cost and then improves this solution considering the penalty
costs. Thus they use an or-opt procedure to develop the drop off route while simul-
taneously determining the best pickup strategy over the planning horizon. They
use a composite algorithm that incorporates heuristic rules and strategies to make
the algorithm computationally viable while keeping the solution quality acceptable.
They solved 900 problems with up to 30 nodes. Furthermore, a two stage heuris-
tic for the multiple vehicle pickup and delivery problem with time windows was
studied by Bent and Hentenryck (2006). The first part of the heuristic consists of
a simulating annealing algorithm minimizing the number of routes. Afterwards, a
large neighborhood search (LNS) algorithm is performed. The solution approach
solved up to 600 customers within 90 minutes.
Pankratz (2005) proposed a grouping genetic algorithm for solving the pickup
and delivery problem with hard time windows. Each gene is set to represent a
group of requests. First a cluster of customers is selected at random. Then, elim-
inate the cluster from the chromosome and remove the associated route from the
phenotype. Lastly, all removed requests are re-inserted into the individual by an
insertion heuristic, and allocating a new vehicle if necessary to maintain feasibility.
The problem is tested on instances with 50 requests, and the result showed that the
22
algorithm was competitive with other robust approaches. They also mention that
at the time of this article, Pankratz (2005) believed that Jung and Haghani (2000)
have reported the only genetic algorithm for solving the multi-vehicle PDPTW.
They considered soft time windows, where violations of the time windows lead to
penalty costs, but still provide a feasible solution. The problem is tested on in-
stances ranging from five to 30 requests.
23
lated annealing clearly outperformed the other methods. The hill climbing method
seemed to provide the best result if the problem had to be solved under a short
processing time, and may therefore be preferable in real world applications.
To sum up, the most successful exact solution methods centers on branching
methods either in combination with cutting planes or with a column generation
approach, and often with the help of heuristics during the solution approach. For
example, instead of finding the best new column in every iteration, a heuristic finds
an improving column to add to the problem in the fraction of the time it takes to
find the optimal column. To solve medium to large size instances heuristics are
necessary, and in the recent years the studies usually centers on metaheuristic ap-
proaches that manages to avoid local optimum during the search.
1: TC: Total Costs, 2: BC: Branch and Cut, 3: VI: Valid inequalities, 4: r: requests, 5:
BCP: Branch and Cut and Price, 6: CG: Column Generation, 7: n: nodes, 8: GH: Greedy
Heuristic, 9: IOA: incomplete optimization algorithm, 10: PH: Perturbation Heuristics, 11: TS:
Tabu Search, 12: CH: Construction Heuristic, 13: NNP: Nearest Neighborhood Procedure, 14:
(M)SP: (Modified) Sweep Procedure, 15: SA: Simulated Annealing, 16: LNS: Large Neighbor-
hood Search, 17: GA: Genetic algorithm, 18: HC: Hill Climbing
24
2.4 The Dial-a-Ride Problem
One version of the pickup and delivery problems is the dial-a-ride problem (DARP).
In the DARP the requests specify a number of passengers to be picked up at a
location and transported to their respective drop off location. Since the vehicles
transport passengers instead of goods, some form of measure on convenience for the
passengers are usually included in the problem, either as constraints in the problem
or in the objective function. Some of these characteristics are therefore highlighted
in the review below. Exact solution approaches are similar as for the other pickup
and delivery problems and are centered on branching approaches usually in com-
bination with cutting planes or column generation methods. Therefore, the review
below focus on three contribution of solution approaches centered around branching
methods. A contribution combining the use of a heuristic in a column generation
approach and thus being able to find new columns faster than finding the opti-
mal new column is also included in the review. Important heuristic contributions
for solving the dial-a-ride problem consist of classical cluster first route second
algorithms. Other important heuristic contributions are different types of local in-
terchanges, insertion algorithms and construction and improvement heuristics. In
recent years metaheuristics are popular heuristic solution approaches. Important
approaches are tabu search, simulated annealing, genetic algorithm and parallel
insertion algorithm. Several of these contributions are summarized below, mostly
considering static problem but with a couple of dynamic studies at the end. For
a more thorough review of studies done on the dial-a-ride problem readers are re-
ferred to Cordeau and Laporte (2002).
25
(DRTS) with flexible routes and changeable schedules that aims to minimizing total
travel costs. They used Dantzig-Wolfe decomposition technique to decompose the
problem into a set partitioning master problem and a constrained shortest path
subproblem. These models are solved by a column generation approach that is
incorporated in a branch-and-price solution approach. The study focuses on the
effects on the objective value, computational time, average pickup delay time, av-
erage drop off delay time and number of vehicles used. They found that when
increasing the size of the time windows, the objective value decreases slightly while
the computational time increases exponentially.
26
that the cost of the trip should be considerably lowered with increased flexibility of
the request. Furthermore, the results show savings in toll costs and total distance.
The article considers use of a specific line if ride sharing is used and this can lower
ride time which gives the passengers an incentive to use ridesharing.
Cordeau and Laporte (2002) proposed a tabu search algorithm for solving the
static dial-a-ride problem with time windows. To avoid cycling, some attributes
from the solution is saved so as to not allow visits to these solutions during a
predefined period. During the search infeasible solutions are allowed through a
relaxation mechanism with self-adjusting penalty coefficients. The tabu search
allow for a continuous diversification mechanism so as to avoid ending up in a lo-
cal optimum. The algorithm is tested on real life instances of 295 requests. In
addition, Crainic et al. (2005) proposed a model for the DARP. The goal of the
model is to maximize the profit of operating the service (the difference between
the benefit of transporting a request and the cost of transporting the request). To
solve the DARP they developed a tabu search method and a memory-enhanced,
multitrial, randomized constructive procedure. In addition, several hybrid strate-
gies were tested. The results showed that the element of additional memories
and probabilistic evaluations in the tabu search enhanced performance. However,
the increased randomization in the construction heuristic seems to offer a better
diversification strategy. All approaches provide good solutions with limited com-
putational effort. However, even though the tabu search seemed to outperform the
multitrial constructive heuristic a hybrid of the two seems to be the best choice in
this study. Additionally, Chan (2004) solved a static DARP, with the goal of mini-
mize total travel time and excess ride time, while considering maximum ride time,
route duration, vehicle capacity and waiting time. The problem is solved using a
cluster-first, route-second approach. The clustering is done by a tabu search or a
scatter search assigning requests to vehicles. Then two different insertion based
algorithms are considered to determine routes for the vehicles. The problem found
optimal solutions on instances of up to 80 requests, and found better solutions than
presented in earlier literature to real life instances up to 322 requests.
27
used by the vehicles and the number of vehicles used. The factors related to user
inconvenience were; route duration, customers’ ride time and waiting time at the
pickup and drop off locations. Mauri and Lorena considered both homogeneous and
heterogeneous vehicle fleets, and with a single and multiple depot for the vehicle
fleet. A simulated annealing approach is used to solve the problem. The simulated
annealing method is an analogy to thermodynamics and mimics the cooling process
of heated atoms. The method is a local search heuristic that incorporates diversi-
fication by allowing worsening moves and thus escape local optimal of the search.
The balance between intensification and diversification of the search is decided by
the temperature parameter. Three types of neighborhood moves are used randomly
through a uniform distribution. These are re-order route, re-allocate points and
change points. The first type, re-order route consists of choosing a point in a route
and selecting a new position for the point and change it to this position. The
re-allocate points consists of choosing two routes, pick a request from one of the
routes (both pickup and drop off position) and insert it in the other route. The
last move, change points, selects two routes and a request in each of the routes
and changes these two requests. The model managed to find feasible solutions
in short processing time for all test instances. The test instances where presented
by Cordeau and Laporte (2003), and have a size up to 13 vehicles and 144 requests.
Attanasio et al. (2004) developed a parallel algorithm for the dynamic DARP.
The goal of the model was to find a fair balance between costs of operating the fleet
and cost of user inconvenience. First, at the start of the planning period a static
solution is constructed based on the known requests using a tabu search algorithm
previously studied for a static DARP. When a new request arrives, each of the par-
allel threads inserts the request randomly in the current solution and run a tabu
search algorithm to obtain a feasible solution. Afterwards, a post-optimization is
done to check if a better solution is found. The problem is tested on randomly
generated instances based on data from Montreal Transit Authority and some real
life instances provided by a Danish company. Cremers et al. (2008) considered a
dynamic planning problem for transportation of elderly and disabled people, re-
ferred to as the day-ahead paratransit planning problem. Since the problem was
dynamic some requests are known the day ahead, while some part of the requests
becomes known on the day of operation. The problem considered two options for
transport; either the request can be transported by the company fleets own vehi-
cles, or the request can be outsourced to a taxi service. The goal of the problem
was to minimize the costs of serving the requests, and one way of doing this is
to cluster the requests. The problem is formulated as a two-stage recourse model.
In the first stage model all known requests are considered, while the second stage
also considers the requests made available during the first stage. In both stages the
requests are first clustered into routes, and then the routes are assigned to vehicles.
For the clustering a heuristic is used to split groups of requests into a subgroup
for each location. The pickup and drop off location that does not share location
with another pickup or drop off are clustered into another subgroup. After this the
requests are ordered and assigned using another heuristic. Considering the initial
solution a genetic algorithm is initiated and works as follows: The fitness of the
individuals in the population (solution) is evaluated. Parents are selected from the
28
population and children are created. The fitness of the children is evaluated and
the acceptable children replace a part of the population (solution). The proposed
solution method is flexible so as to adjust for new requests and characteristics of
the requests. The problem is tested on instances with 50 requests, and with five to
25 arriving requests and the results is said to be promising.
1: TC: Total Costs, 2: BC: Branch and Cut, 3: VI: Valid inequalities, 4: r: requests, 5:
BP: Branch and Price, 6: CG: Column Generation, 7: n: nodes, 8: VNS: Variable Neighborhood
Search, 9: IH: Insertion Heuristic, 10: LS: Large Search, 11: TD: Total Distance, 12: TS: Tabu
Search, 13: CH: Construction Heuristic, 14: UI: User Inconvenience, 15: SS: Scatter Search, 16:
GA: Genetic algorithm, 17: SA: Simulated Annealing
29
2.5 The Pickup and Delivery Problem with Transshipments
An extension of the pickup and delivery problem (or equally, the dial-a-ride prob-
lem) is problems that also consider one or several transfer locations. In this way
passengers or goods can be transferred between vehicles at these transfer locations.
In the following literature review studies focusing on the differences between the
regular PDP/DARP and the PDP/DARP with transshipments are highlighted.
For example, Nakao and Nagamochi (2010) proposed a model for the pickup and
delivery problem without and with a transfer option. The problems were solved
by a worst-case analysis, and the option of transshipment is evaluated. They ana-
lyzed the lower bounds of travel cost saved by using a transfer point. They found
that the bounds were proportional to the square root of the number of routes in
an optimal pickup and delivery problem with transshipment, and square root of
the number of requests. In detail, if z(P DP ) represents the optimal solution not
considering transfers, z(P DP T ) the optimal solution with transfers, and |R| the
number of request the following relationship apply:
z(P DP )
z(P DP T ) > p (1)
6d | R |e + 1
The review below focus on exact solution approaches both branching methods,
column generation and the use of cutting planes in combination with commercial
software, and the size of the problem solved are thus relatively small. A brief review
of metaheuristics is also included at the end, and solves larger sized instances.
Mues and Pickl (2005) proposed a model for the pickup and delivery problem
with transshipment where the goal was to minimize the handling costs and traver-
sal costs of all arcs. They used a column generation approach to solve the problem.
The master problem is formulated as a set partitioning problem, while the pric-
ing problem found feasible routes (columns) to add to the master problem. The
pricing problem, an elementary shortest path problem with resource constraints
(ESPPRC) is solved by a dynamic programming method. Different methods are
used to reduce the enumeration, for example dominance criteria, the 2-opt and or-
opt-edge-exchange algorithms. Using these methods only uniforms tours is created.
At last, CPLEX is initiated to solve the mixed integer programming. An initial
set of columns is needed when using a column generation method. This initial
set of columns is created using a limited enumeration of routes. They mentioned
that the result considering one transfer location was promising, but had greater
difficulties with multiple transfers. They managed to get a solution time of two
to six minutes for 70 loads. Furthermore, Cortès et al. (2010) formulated a mixed
integer-programming model for the pickup and delivery problem with transfers.
The formulation is a static multi-vehicle problem with the goal of transporting
passengers while minimizing total costs and user inconvenience. The operation
costs are represented by fleet size and total ride time of the fleet, while the user
inconvenience is measured by waiting time and ride time of the requests, in ad-
dition to time window violations. At the transfer nodes passengers can transfer
between vehicles. The transfer nodes are modeled by dividing the transfer location
30
into a node for drop off and a node for pickup, and connecting the nodes with an
arc. In this way the arrival and departure of the vehicle and precedence of the
requests are modeled explicitly. In addition, they allow for multiple visits at the
transfer location by each vehicle by duplication of the transfer nodes. As a solution
approach Cortés et al. developed a branch-and-cut algorithm based on Benders de-
composition. The Benders decomposition applies the combinatorial Benders cuts
that were introduced by Codato and Fischetti (2004) and is used to decompose
the constraints into a pure integer and mixed constraints. The branch-and-cut
procedure is applied to the integer problem, while the real variables and associ-
ated constraints generated cuts that are added to the branches. They managed
to solve instances up to six requests, two vehicles and one transfer location. Rais
et al. (2013) presented a mixed integer-programming model for the pickup and
delivery problem with transshipments (PDPT). They assumed a heterogeneous ve-
hicle fleet with a flexible fleet size, and the model allowed multiple depots. The
goal of the model was to minimize total fleet operation costs. Furthermore, the
transshipments nodes allow unlimited transshipment, and several requests can be
associated with the pickup and drop off nodes. In addition, Rais et al. (2013) con-
sidered restrictions of the number of transshipments per request, and methods to
induce the use of transshipment for each request. The authors also mention the
use of transshipments or transfers for the dial-a-ride problem. They emphasized
the matching of vehicle flow and request flow. As a solution method, they used
a commercial solver that uses a branch-and-bound-and-cut algorithm, where the
linear-programming relaxations are solved using simplex. With this, they man-
aged to solve small instances of 14 nodes, and found that the use of transshipment
on average led to a better objective value than the solution without transshipments.
Other studies focus on pickup and delivery problem where the load can be split
into different shipments. Then the locations for the splitting are similar as the
transshipment location in a pickup and delivery problem with transshipments. For
instance, Kerivin et al. (2008) proposed a pickup and delivery problem with split
deliveries and reloads. At transshipment point the whole or a part of the load can
be unloaded and picked up at a later state either by the same vehicle or another
vehicle, and this process is referred to as reloads. That is, different parts of the
load can be transported using different routes and/or different vehicles, by being
split up or transferred at the transshipment point. This point is similar to a pickup
and delivery problem with transfers, only that the load can also be split up into
several shipments at the transfer point. The goal of the problem was to transport
all goods restricted to capacity of the vehicles while minimizing the cost of oper-
ating the service. Kerivin et al. (2008) presented a mixed integer programming
formulation based on an auxiliary graph. In addition, they presented several valid
inequalities and some special considerations are done for the associated separation
problem. The problem is solved using a branch-and-cut algorithm, and instances
from six to ten locations and five to 15 demands were tested. Instances up to 15
demands and eight locations were solvable. However, the instances with 15 de-
mands was solved using twice the solution time needed to solve the instances with
ten demands.
31
In addition, some studies have been centered on metaheuristics as a solution
method for pickup and delivery with transshipment. For instance, Oertel (2000)
considered a pickup and delivery problem with an intermediary point, similar to
a cross-docking platform, for the loads. The problem was solved used tabu search
algorithm for solving problems considering at most one transshipment per request
and two potential transshipment locations. This solution approach was tested on
instances up to 70 requests, both artificial instances and real world instances from
a German car manufacturer. Masson et al. (2014) proposed a dial-a-ride prob-
lem with transfers (DARPT), which minimize total fleet operation costs subject to
service time restrictions. During the scheduling the passengers can then transfer
between vehicles at specific locations. To solve the modeling issues at the transfer
point, the transfer nodes are duplicated to two nodes, one for drop off and one for
pickup. As a solution approach they used a method based on an adaptive large
neighborhood search (ALNS) metaheuristic, which is a method that destroy and
repair a solution iteratively in order to improve it. The ALNS used operators that
remove requests from routes (destroy) and insert requests in another route (repair).
The adaptive part of the search heuristic is that the probabilities of choosing de-
stroy or repair methods are reevaluated periodically depending on their efficiency
in past iterations. Masson et al. (2014) implemented the heuristic in C++, and the
methods are evaluated on real-life and generated instances from 55 to 193 requests.
The lower bound on the gain of using transfers is calculated. The results shows
that on average a lower bound on savings from providing transfer points are eight
percent, however the savings seems to vary with the instance tested.
Summing up, including transfer points into the PDP/DARP creates benefits for
the practical problem but increases the complexity of the problem and only small
problems are solvable with exact methods. Using metaheuristics bigger instances
can be solved. However, at present the studies performed on the problem with
transshipments are limited, and there is still great potential for future studies.
1: TC: Total Costs, 2: WCA: Worst Case Analysis, 3: CG: Column Generation, 4: r: re-
quests, 5: UI: User Inconvenience, 6: BC: Branch and Cut, 7: BB: Branch and Bound, 8: n:
nodes, 9: VI: Valid inequalities, 10: TS: Tabu Search, 11: ALNS: Adaptive Large Neighborhood
Search
32
2.6 The Integrated Pickup and Delivery Problem
A small number of studies focus on pickup and delivery problem with transfers,
where cargo or people can be transferred between vehicles at certain transfer loca-
tions. However, there are few studies done on the integrated pickup and delivery
problem. In the integrated problem cargo or passengers can be transported be-
tween different modes of transport during the trip. The review below focus on
practical applications of the problem and uses both exact branching methods and
heuristic approaches for solving the problem.
Häll et al. (2009) considered a pickup and delivery problem where a fixed route
service is integrated with more demand responsive dial-a-ride vehicles. They for-
mulated an integrated dial-a-ride problem with time windows that minimizes the
total routing costs of the vehicles. Furthermore, they proposed several ways to
strengthen the formulation. For example, arc elimination rules for the standard
dial-a-ride problem and some custom-made arc elimination rules for the integrated
formulation are included in the formulation. In addition, they considered a new
variable that can be substituted with the vehicle routing variables and thus elimi-
nating a big part of the binary variables. They also proposed some subtour elimi-
nation constraints and a heuristics which cluster the locations. Furthermore, they
provided a transfer node strengthening which also made it possible to relax some
binary variables connected to the transfer locations. The problem was implemented
in AMPL and solved by CPLEX 11.0.0 and tested on medium sized instances. Fur-
thermore, they presented an example that showed how the model worked and can
be visualized in GIS.
33
post insert improvement procedures. The results from the simulations driven in
the study indicated that the improvement procedure yielded substantial benefits to
the real-time application. Another study considering integrating different modes of
transport is Horn (2004) study, which considered a multi-modal problem consist-
ing of modes from the fixed route to the entire demand responsive services. The
different modes of transport are a fixed route, which is a service between specific
points and on pre-specified timetables. In addition, a smart shuffle that is similar
to a fixed route service that only go between points where there is a demand that
has been notified. Furthermore, the problem included a roving bus that is a multi-
hire free-range service that works between certain points. And last, the entirely
demand responsive mode of transport is the single taxi and the multi taxi services
which transport a single request or combining requests. To solve the problem an
approached based on branching is introduced, specialized bounding and five reduc-
tion techniques are implemented to reduce computation time.
Hickman and Blume (2001) discussed how to schedule rules for the integrated
service between demand-responsive transit service with a fixed route service, and
used a case study from a transit service in Houston, Texas, to show the possible
advantages and changes in passenger level of service. Their research incorporated
both fleet operating costs and passenger service quality in the model. The customer
convenience considered minimizing travel time, transfer time and the number of
transfers. They developed a two-stage heuristic that scheduled integrated trips
while minimizing operation costs subject to passenger level of service constraints.
First, the heuristic found passengers trips taking the passenger from origin to des-
tination while maximizing customer convenience. Secondly, the paratransit trip
legs are added to the vehicle schedule using a vehicle routing heuristic. Further-
more, sensitivity analysis is performed on the method. The results showed that the
cost savings and consumer convenience are sensitive of the standards of passenger
eligibility for the integrated service (if they are able to use the integrated option),
the minimum and maximum passenger trip lengths and the assumed penalty for
each transfer. In addition, Aldaihani and Dessouky (2003) considered a hybrid
routing problem where a fixed route service is integrated in the general pickup and
delivery problem, so as to reduce the distance traveled by the demand responsive
vehicles while keeping the service quality satisfactory. To solve the problem they
used a heuristic algorithm which provided an approximate solution. The solution
approach was computationally efficient for solving large sized problems, and is
tested on real sized data.
To conclude, though both exact and heuristic solution approaches are studied
for the integrated PDP/DARP, the studies performed on this part of the routing
problems are limited and usually centered on specific practical cases. Thus, the
potential for future studies are great, and the interest for this part of routing
problems has increased in later years.
34
Table 4: Integrated pickup and delivery problem
Reference Objective Solution Approach Instance
Häll et al. (2009) min T C 1 BC 2 , V I 3
Liaw et al. (1996) min T D4 m.m. DSS 5 , (BA∗ ) ≤ 85r6
Horn (2002) min T D, m.m. IH 7
Horn (2004) min T C BB 8 , RT 9 40000r/20min
Hickman and Blume min T C,U I 10 CH 11 , two-stage
(2001)
Aldaihani and min T C,U I AH 12
Dessouky (2003)
1: TC: Total Costs, 2: BC: Branch and Cut, 3: VI: Valid inequalities, 4: TD: Total Distance,
5: DSS: Decision Support System, 6: r: requests, 7: IH: Insertion Heuristic, 8: BB: Branch and
Bound, 9: RT: Reduction Techniques, 10: UI: User Inconvenience, 11: CH: Construction Heuris-
tic, 12: AH: Approximation Heuristic
35
3 Problem Background and Description
This section describes the complexity of the real life problem, gives the problem
description, and discusses some important modeling issues to consider before the
mathematical model is introduced in Section 3.4.
Next, the hail-a-ride service is similar to the fixed route services when relaxing
the specific stops (Errico et al., 2013). That is, the vehicles have specific departure
36
times and drive a predetermined and fixed route, but can pickup passengers along
the whole route and not just at predetermined stops. For the operator the service
is only slightly more complicated to operate. The routes and timetables are still
fixed, but the increased flexibility creates more room for problems and deviations
which has to be considered. In addition, the drivers job is slightly more complicated
as they have to consider the whole route as a stop and not only some predefined
stops. This creates flexibility for the users as the average distance to the service is
reduced. Furthermore, the service should still be a cheap alternative for the users,
though the price might be a bit higher. An extension of the hail-a-ride service is
when the vehicles are able to do short detours during their route based on requests
made in advance, so called route deviation systems (Errico et al., 2013). In short,
this increases the work for the operator to maintain a liable service as the devia-
tions have to be accounted for during limited time. For the user the convenience
of the service increases as those who prefer to be picked up closer to their pickup
location can pay a extra fee for this service, while those who prefer a cheap fixed
route can use the predefined route.
On the other half of the scale, towards the more demand responsive services, a
group of services which provide a more flexible transportation service exists. These
services can be more demand responsive considering departure times, load and
the number of people to be carried and pickup and drop of points, together with
privacy during the service. For the operators point of view, these problems are
more complicated to schedule and operate. The operator has to find new routes
and departure times, and the driver have to visit new places at new times. Thus,
there is no stability in the system, and the operator has to solve different prob-
lems for each day. On the other hand, the convenience for the user is high as
they can be picked up at the place they want and within the time window they
specify. For instance some part of the public, that is mainly elderly and disabled
do not manage to transport themselves to and from the public station. Others
prefer the convenience of being picked up at home and delivered at their final des-
tination, above the lower cost of a fixed route. For some part of the public, a
fixed route might not exist for the trip the consumer is undertaking, or they are
traveling at a time when there are few or none departure of the existing fixed route.
The entirely demand responsive system is a system where the vehicle fleet picks
up the requests and transport it to its drop off location (Errico et al., 2013). The
service thus has no predefined stop, routes or timetables to follow and the operator
has to schedule the vehicle fleet in advance of each shift. Furthermore, the driver
has to drive different routes and have to fulfill new requests each shift. This com-
plicates the process of operating the service and the service is expensive to keep
operating. On the other hand, the service provides great flexibility for the users,
though at a higher service cost. The demand responsive connector is a demand
responsive service where vehicles are assigned different areas and certain transfer
points with connect to areas for other vehicles (Errico et al., 2013). Thus, if the
request is traveling from one area to another area, one vehicle picks up the request
transport it to the transfer point between the areas where another vehicle picks
up the requests and transports it to its drop off location. A less demand respon-
37
sive but flexible system is the point deviation service, where only a few points are
scheduled and the rest of the service works on a demand responsive service (Errico
et al., 2013). These systems creates more stability for the operator and driver, but
are still quite expensive to operate. On the other hand, the convenience for the
user is great, though the price might be a bit high.
To sum up, transportation services range from completely fixed route service to
entirely demand responsive services. In addition, there have been a development
of mixed systems which considers both fixed route services and demand responsive
services to provide a flexible and cheap service for the passengers.
38
the drivers are able to perform their routes satisfactory. This is because the routes
with stops, the time tables and the size of the vehicles are already set. However,
the process of finding the best routes might be quite difficult. Furthermore, after
deciding on a set of routes, the constructor has to decide on the timetables and
the capacity of the trip. For example, there might be more frequent departures
during rush hours and/or the size of the vehicles might be greater during rush hours.
However, both services are exposed to several types of uncertainty. For in-
stance, a demand responsive service depends on road access, which can easily be
obstructed without warning. Bad weather, accidents, road work and other incidents
can force roads to close, or change the time and cost of a route. Furthermore, the
road conditions and the areas, in addition to the quality of vehicles and experience
of drivers influence the time and cost of a route. In addition, a driver might be
disabled or have other reasons for not being able to come into work or a vehicle
might break down or need service during normal operation time. Similarly, the
fixed route network is exposed to many of the uncertainties discussed above. In
addition, both services are affected by the density and congestion of traffic, and
service time is usually longer during high-demand periods.
Furthermore, when the operator sets the schedule for the driver they might have
to consider requirements from the drivers and the customers. Examples of these
specifications might be that the drivers might prefer special routes, some might
prefer city driving, some high way driving. Furthermore some might prefer driving
the morning, day or night shift. In addition, some prefer several short breaks while
other prefer one long break. The operator will probably not manage to satisfy all
requests but should consider these when scheduling the routes. Considering the
customer some customers value a cheap cost of the trip, while others prefer short
service time, short time windows for pickup and/or drop off, no detours, transfers
or the like. As a consequence, if the operator maintains a satisfactory level of the
customers service for the factor which the customer sets the highest, their requests
experienced quality of the service is increased.
To sum up, there are therefore several considerations to make when providing
the demand responsive and/or fixed route service. In a demand responsive ser-
vice the operator has to decide on the routes for the vehicle fleet and schedule the
requests so all requests are fulfilled with a certain service quality. In addition, sev-
eral elements of uncertainty, as for example road work, changes in the requests and
congestion, have to be accounted for. In comparison, as long as the fixed routes
and time tables are set for the fixed route service, only the ad hoc and uncertainty
elements need to be considered for the operator. As a consequence, the price of
operating a demand responsive service is usually quite expensive compared to a
fixed route service.
39
3.2 Problem description
In the integrated dial-a-ride problem a set of requested journeys are to be sched-
uled using a fleet of demand responsive vehicles and if possible by using a fixed
route service for some part of the journey. The problem is deterministic and it is
assumed that all requests are known before scheduling begins.
The requests:
Each request has a specific pickup and drop off location. The pickup location
and/or drop off location can be associated with a transfer location, and it is as-
sumed that the cost and time passed when traveling from a pickup or drop off
location to its associated transfer location is zero. The request also specifies a
maximum walking distance between a pair of locations. Thus, if the distance be-
tween two locations is less than this distance the request is able to walk between
the locations. The request can walk either in or out from a location, but not both.
An average and fixed walking velocity is used for all requests. It is assumed that
all passengers manage to do the transfers even if their maximum walking distance
is set to zero. In addition, there are specified time windows for the respective lo-
cations, and a maximum service time for the requests. Furthermore, each request
takes up a given load (number of passengers) of the vehicle during the service. It is
assumed that the customers in the same request cannot be split up and transferred
in different vehicles, and thus the model is restricted to requests with load less than
an empty vehicle’s capacity. Each request has to be serviced and can be carried
out by a demand responsive vehicle from the pickup to the drop off location, or the
vehicle transfers the passengers to a transfer location where a fixed route service is
operating. The fixed route takes the passengers to the destination point or another
transfer location where a dial-a-ride vehicle transfers the passengers the next or last
part of the trip. A further possibility is for the request to walk some part of the
trip, for example walk from (to) their pickup (drop off) point to (from) a transfer
location or another location nearby, or they can walk between two locations during
the trip.
40
the specified allowable walking distance by the request. There are no capacity or
usage limits on the network. Furthermore, the network has its own velocity, and
the mode of transport (i.e. boat, train, tram etc.) is not specified. It is also as-
sumed that no disruptions can occur during the service, and that the fixed route
service is assumed to leave right after the customers arrive at the transfer point.
The objective:
Most studies focus on minimizing the costs of the service, which can be divided
into two main groups. (1) The first cost is the cost associated with operating the
fleet (cost per vehicle used, variable and fixed operational costs (e.g. wages) and
cost of extra vehicles etc.). (2) The other criteria is the quality of service which
includes route deviation, route length, customer waiting time, customer ride time,
and difference between actual and desired drop off times. This thesis considers the
operator and drivers point of view and how they can manage to create cheap and
efficient routes for the vehicles. At the same time, the users are considered through
the use of penalties, so as to maintain an acceptable quality of the service. The
objective is then to minimize the costs of operating the fleet and the costs associ-
ated with increased user inconvenience. The fleet operating costs depend on the
number of vehicles used, the total distance travelled and the total vehicle usage.
The penalties paid for increased inconvenience is associated with the total number
of transfers, total increased service time or the total distances walked.
41
3.3.2 Locations and Nodes
In a classical dial-a-ride problem (DARP) there are three types of locations. The
depot is where the vehicles are stationed and thus where they depart from and
return to. In addition, there is a set of pickup locations, with a corresponding set
of drop off locations. Each request has a pickup location and a corresponding drop
off location. For an integrated dial-a-ride problem there is an additional set of lo-
cations, transfer locations (Figure 1), which specifies drop off and pickup locations
for the fixed service. The pickup location and/or drop off location for a request can
be associated with a transfer location, and it is then assumed that the locations
are physically located at the same place. In this model it is also allowed for an
individual radius for each request around the locations, where the passengers are
able to travel on their own.
gi
d p
gi1 gi2
d p
gi2 gi1
Figure 2: Transfer node divided into one drop-off (blue) and one pickup node (red)
for each route
42
made (Cortès et al., 2010), here this number is represented by Mi . For instance,
it is intuitionally easy to see that the maximum number is never greater than the
total number of requests. For each of these possible visits a set of transfer nodes
(one drop off and one pickup for each visit) are created, as illustrated in Figure
3. Then, each node within the location can only be visited by one vehicle at most
one time. As shown in the Figure 3, the vehicles have to follow the black lines and
d p
visit the drop off node gim and the corresponding pickup node gim before leaving
the transfer location. The passengers on the other hand can travel cost-and time-
d
free from the drop off node they arrive in gim to any of the pickup nodes within
the location, shown with green lines. If they travel to the corresponding pickup
p
node gim the passengers have to follow the vehicle. There is no need for the request
to travel from a pickup node to a drop off node, so the flow is restricted to going
from a drop off node to a pickup node. Furthermore, the passengers can travel to
another transfer location as long as it is connected to the one they are at.
d p
gi1 gi1
d p
gi2 gi2
d p
giMi
giMi
Furthermore, it is possible to assign a set of transfer nodes (drop off and pickup)
for each request for each transfer location (Häll et al., 2009). This approach is il-
lustrated in Figure 4. A vehicle has to visit the drop off node which corresponds
to the request to drop off customers for that request. Afterwards, if the vehicle is
dropping off another request the vehicle has to go to the drop off node correspond-
ing to that request. Then, if the vehicle is supposed to pickup customers it has
to travel to the pickup node corresponding to that request, and so on. Each node
corresponding to a request cannot be visited more than one time, and only by one
vehicle. It is possible to restrict the vehicles to visit the nodes within the location
in a systematic way to limit the number of symmetric solutions. For example,
the vehicle should visit all drop off nodes before pickup nodes, and that the nodes
should be visited in increasing order. By using this form of sequencing the vehicle
flow is restricted to going from the upper left corner to the lower right corner of
the Figure 4. The customers travel from their drop off node, to a transfer location
which is connected to the one they are at, or they travel cost- and- time free to
their corresponding pickup node within the transfer location and waits to be picked
up by another vehicle. The black lines illustrate the feasible flow of vehicles, while
the green illustrate feasible flow for the requests.
43
d p
gi1 gi1
d p
gi2 gi2
d p
gi3 gi3
In this model the maximum number of node visits can be set to be individual
for each transfer location. This is because in a fixed route network there might be
one or a few locations which connect several lines and/or is centered in the heart
of the city or for example near a hospital. Therefore the number of visits at these
important points can be set higher than the transfer locations in less populated
areas. This solution reduces the size of the problem compared to the option of
setting the maximum number of node visits equal to the high visitation number at
the few central locations.
44
gi1
d
gi2
gi3
gi4
Figure 5: Set of transfer nodes created for maximum possible visits and corre-
sponding drop off node (blue)
They use a desired drop off time to calculate the time window for drop off
[T r+i , T r+i ], where the latest drop off time T r+i corresponds to desired drop off
time. Then, earliest and latest departure time [T i , T i ] can be calculated by consid-
45
ering the direct and shortest travel time Ti,r+i and maximum service time S max .
This maximum service time S max is equal to Liaw et al. (1996)’s maximum allow-
able excess riding time (M Ei ). Earliest departure is earliest arrival less maximum
service time (T i = T r+i − S max ), while latest departure time is latest arrival less
direct travel time (T i = T r+i − Ti,r+i ). The maximum service time can be written
as S max = Ti,r+i (1 + E) (Liaw et al., 1996), where E ∈ [0, 1] is an error rate. The
error rate represents the maximum deviation from direct travel time.
Ti,r+i Ti,r+i E
Ti Ti T r+i T r+i
Ti,r+i (1 + E)
The arcs and nodes visited by the request from it is picked up to it is delivered to
its final destination point is defined as a trip. A route for a vehicle is the part of the
46
trips which are undertaken by the vehicle. In addition to capacity and time window
constraints, the scheduled trips must satisfy pairing and precedence constraints on
pickup and drop off locations. As for other pickup and delivery problems (PDP)
the pickup location must precede the drop off location for a request, and pickup
and drop off for each part of the trip has to be associated with the same vehicle.
That is, if the customer is transported the first part with a demand responsive
vehicle, the next with a fixed route service, then a demand responsive vehicle to
the final drop off, then the first part of the trip has to be done by the same vehicle
and similarly with the last part of the trip.
3.3.6 Requests
The requests can have certain requirements specified that restrict the solution
space. These specifications are given in the data instances, and can for example
47
be maximum service time, maximum number of transfers, time windows for de-
parture and/or arrival, passenger load and/or special luggage and other special
requirements. Furthermore, if the request are to be transported with an integrated
service it might be necessary to either assume that they are able to do the transfer
or that the system divide the requests into a group which can use the fixed route
and a group which needs to be transported door-to-door. Other requirements can
be if the passengers in one request are allowed to be split or have to be transported
on the same trip.
A special consideration is needed if the total load of one request exceeds the
capacity of the vehicles. To solve this problem a new and separate request for the
load exceeding capacity can be created, and then this procedure can be repeated
if the new request is above capacity as well. Another method is to split the load
into two new requests instead of the old request. Special care is needed if the load
is odd, since the requests have to have integer loads. In addition, the procedure
has to be repeated if one of the new requests is above maximum capacity. Further-
more, it can be specified if the new divided requests have to be picked up and/or
delivered at the same time, and/or have to take the same route. Anyhow, both
modeling approaches consider equal physical locations of pickup and drop off. It
can for example allow for several visits at the same location by creating several
node visits at the location, similar to the transfer nodes. Another possibility is to
allow the operator to decide on the number of passengers to be picked up at each
visit as long as the total number of passengers are transported from their pickup
to drop off location. This provide flexibility for the operator during scheduling and
can be modeled similarly as studied by Kerivin et al. (2008)
48
ing on distance. In addition, some studies are associated around minimizing user
inconvenience. For instance, Jaw et al. (1984) considered the amount of time the
pickup and drop off time could deviate from the desired pickup or drop off time,
together with maximum service time. Furthermore, Grönross (1984) (Paquette
et al., 2012) divide service quality into two groups, one for technical quality and
one for functional quality. Technical quality corresponds to what the consumers
receive from the service. In a dial-a-ride problem this corresponds to the interac-
tion between the user and the service during the trip (from pickup to drop off),
that is the product of the service. In addition, the functional quality corresponds
to the service experience, the process, for the user. Technical quality is necessary
for qualifying customer satisfaction, while the functional quality is necessary for
good and excellent customer satisfaction.
49
travel distance between the locations Dij . The travel time, distance and costs are
assumed symmetric, that is Cij = Cji . In the cost C0j , that is the cost of traveling
from the depot location to a location j, the fixed cost of using a vehicle is included.
In addition, a cost for the time the vehicle is away from depot. Furthermore, the
fixed route has its own velocity and thus time to travel from node (i, m) to node
(j, n). In addition, each request r specifies a walking distance DrR for which they
are willing to walk by themselves. This means that a request can walk from lo-
cation i to location j, if the distance is less than their maximum allowed walking
distance (DrR ≥ Dij ). Furthermore, if a request r walks to a location j it cannot
walk out from that location to another location h. The model is also limited to
pickup or drop off the request associated with the location j when a vehicle visits
the location. For example, when a vehicle k visits the pickup location j to drop
off request r it also have to pickup request j associated with location j. Given
this the model wants to schedule all requests while minimizing the vehicles used,
their total usage and distance traveled. In addition, the problem minimize three
factors of user inconvenience, the total time above direct service time, total walked
distance by the requests and the total number of transfers.
Notation:
In the formulation capital letters is used to write sets, while the indices on param-
eters and variables are given in lower case subscripts. Parameters are written in
capital letters, while lower case letters illustrate variables.
3.4.1 Sets
P Set of pickup locations
D Set of drop off locations
G Set of transfer locations
N Set of all nodes
NP Set of pickup nodes
ND Set of drop off nodes
NgG Set of transfer nodes corresponding to transfer location g
R Set of requests
K Set of vehicles
50
3.4.2 Parameters
S
P Penalty cost for service time above direct travel time for each
request
PR Penalty cost for each request walking a certain distance
PT Penalty per transfer for each request
TijK Travel time when using a vehicle from location i to location j
TijF Travel time when using a fixed network from location i to lo-
cation j
TijW Travel time when walking from location i to location j
Dij Distance of traveling from location i to location j
Cij Cost of traveling from location i to location j using a vehicle
CU Cost per time unit of using each vehicle
Q Capacity of a vehicle
U Maximum usage time of a vehicle
DrR Allowed walking distance by request r
Lr Load of request r
Ti Earliest time at which service may begin at location i
Ti Latest
time at which service may begin at location i
1 if there exists a fixed route from transfer location i to transfer location j
Zij
0 otherwise
1 if node i is the pickup node of request r
Fir −1 if node i is the drop off node of request r
0 otherwise
E Fraction of direct service time the total service time is able to
exceed
3.4.3 Variables
1 if vehicle k travels from node (i, m) to node (j, n)
ximjnk
0 otherwise
1 if request r travels from node (i, m) to node (j, n) on a vehicle
yimjnr
0 otherwise
1 if request r travels from node (i, m) to node (j, n) using a fixed network
wimjnr
0 otherwise
1 if request r walks from node (i, m) to node (j, n)
vimjnr
0 otherwise
tA
im arrival time at node (i, m)
tD
im departure time at node (i, m)
tA
k arrival time at final depot for vehicle k
tD
k departure time at initial depot for vehicle k
tr number of transfers of request r
51
cost of using a vehicle is included in the cost for a vehicle to travel from depot to
a location (j). In addition, the variable cost associated with the time the vehicles
are operating (difference between arriving at final depot and leaving initial depot)
is given in equation (5).
X X X
Cij ximjnk (4)
(i,m)∈N (j,n)∈N k∈K
X
+ CU (tA D
k − tk ) (5)
k∈K
Several factors of user inconvenience is considered in the model. The first part
of the equation (6) considers the excess ride time, which is the difference between
the real service time and the direct service time between the pickup and drop off
location of each request. The next part of the equation (7), penalizes the distance
the passengers have to walk during the trip. The maximum walking distance for
each request is given in the details for each request. Furthermore, the number of
transfers are penalized in equation (8), and is calculated in constraints (36).
X
+ PS ((tA D
r+r − tr ) − Tr,r+r ) (6)
r∈R
X X X
+ PR Dij vimjnr (7)
(i,m)∈N (j,n)∈N r∈R
X
+ PT tr (8)
r∈R
Constraints (9)-(11) state the node balance for the vehicles. Constraints (9)
determine that each vehicle maximum leaves the depot once. That is, if the vehicle
is used it has to leave the depot once, but if it is not used it does not have to
leave. Constraints (10) verify that each vehicle that leaves the depot returns to the
depot. Furthermore, constraints (11) ensure node balance for the vehicles on the
remaining nodes. If a vehicle enters a node it also has to leave this node, as long
as the node is not the depot for the vehicles. In addition, each node is restricted
to only be visited one time by a vehicle, as given in constraints (12).
X
x01jnk ≤ 1 k∈K (9)
(j,n)∈N
X X
xjn,2r+1,1k − x01jnk = 0 k∈K (10)
(j,n)∈N (j,n)∈N
X X
xjnimk − ximjnk = 0 (i, m) ∈ N , k ∈ K (11)
(j,n)∈N (j,n)∈N
X X
ximjnk ≤ 1 (i, m) ∈ N (12)
(j,n)∈N k∈K
52
Furthermore, constraints (13)-(14) ensure that a request can only travel by a
vehicle from node (i, m) to node (j, n) if a vehicle is traveling between the same set
of nodes. At the same time the constraints restrict the vehicle to only visit a pickup
location or drop off location if the vehicle is performing service for the request
associated with the location. The vehicle can also pickup or drop off passengers
which can walk to or from the location. Constraints (15)-(17) ensure node balance
at the requests. Constraints (15) state that a request can only leave a node without
entering it if it is its pickup location, or is a transfer location with its associated
pickup location (or within walking distance of the location). Similarly, constraints
(16) state that a request can only enter a node without leaving it if it is its drop
off location, or is a transfer location with its associated drop off location (or within
walking distance of the location). Constraints (15) - (16) also ensure that all
requests are performed. Each request has to leave its pickup location either by
vehicle, by the use of a fixed route or by walking. Similarly, each request has to
arrive at their destination by vehicle, a fixed route or by walking. Furthermore,
constraints (17) ensure that if a request enters a transfer node by a vehicle or a
connected transfer node it also has to leave this node if this is not its pickup or
drop off node.
X X X
yr1jnr − xr1jnk = 0 r∈R (13)
(j,n)∈N (j,n)∈N k∈K
X X X
yr1jnr − xr1jnk = 0 r∈R (14)
(j,n)∈N (j,n)∈N k∈K
X
(yi1jnr − yjni1r )
(j,n)∈N
X
+ (vi1jnr − vjni1r )
(j,n)∈N
X
+ wi1g(i)nr = Fir (i, 1) ∈ N P , r ∈ R (15)
G
(g(i),n)∈Ng(i)
X
(yjni1r − yi1jnr )
(j,n)∈N
X
+ (vjni1r − vi1jnr )
(j,n)∈N
X
+ wg(i)ni1r = Fir (i, 1) ∈ N D , r ∈ R (16)
G
(g(i),n)∈Ng(i)
53
X X X
yimjnr + wimjnr
(j,n)∈N j∈G (j,n)∈NjG
X X
+ vimjnr − vimjnr
(j,n)∈N (j,n)∈N
X X X
− yjnimr − wjnimr = 0 i ∈ G, (i, m) ∈ NiG , r ∈ R (17)
(j,n)∈N j∈G (j,n)∈NjG
X
ximjnk (tD K A
im + Tij − tjn ) ≤ 0 (i, m) ∈ N , (j, n) ∈ N (18)
k∈K
X
wimjnr (tA F D
im + Tij − tjn ) ≤ 0 i, j ∈ G, (i, m) ∈ NiG , (j, n) ∈ NjG (19)
r∈R
X
wimjnr (tD D
im − tjn ) ≤ 0 (i, m) ∈ N P , j ∈ G, (j, n) ∈ NjG (20)
r∈R
X
wjnimr (tD A
jn − tim ) ≤ 0 (i, m) ∈ N D , j ∈ G, (j, n) ∈ NjG (21)
r∈R
X
vimjnr (tD R A
im + Tij − tjn ) ≤ 0 (i, m) ∈ N , (j, n) ∈ N (22)
r∈R
tD K A
i1 + Ti,r+i − tr+i,1 ≤ 0 (i, 1) ∈ N P (23)
tA
im − tD
im ≤0 (i, m) ∈ N (24)
The Constraints (25) set the starting time for the vehicle. That is, the departure
from the initial depot has to be earlier than the arrival at the first node visited
54
(i, m) less the direct travel time between depot (0, 1) and (i, m). Similarly, the
arrival time at the final depot is found in constraints (26). Constraints (27) make
sure that the usage of the vehicle is below maximum usage time U . That is, the
arrival at final depot less the departure at the initial depot has to be less than the
usage limit. Constraints (28) ensure that the service duration for a request is less
or equal to maximum service time for the request. Furthermore, constraints (29)
verify that the time the node is serviced, which is equal to when the vehicle leaves
the node, is within the time window.
x01imk (tD K A
k + T0i − tim ) ≤ 0 (i, m) ∈ N , k ∈ K (25)
xim,2r+1,1k (tD
im + K
Ti,2r+1 − tA
k) ≤0 (i, m) ∈ N , k ∈ K (26)
tk − tD
A
k ≤U k∈K (27)
A
tr+r,1 − tDr1 ≤ K
Tr,r+r (1 + E) r∈R (28)
D
T i ≤ tim ≤ Ti (i, m) ∈ N (29)
Constraints (30) calculate the number of transfers per request. If the request
uses the fixed route during the trip the request usually has two transfers. The
passengers first transfer from a vehicle to the fixed route and after traveling with
the fixed route transfer to the same or another vehicle. However, if the pickup or
drop off location is associated with a transfer location, only one transfer occurs
and the other has to be subtracted from the number of transfers.
X X X X
2· wimjnr
i∈G (i,m)∈NiG j∈G (j,n)∈NjG
X X X
− wimg(i)nr
i∈G (i,m)∈NiG (g(i),n)∈N G
g(i)
X X X
− wg(i)nimr ≤ tr r∈R (30)
i∈G (i,m)∈NiG (g(i),n)∈N G
g(i)
Constraints (31)
P ensure that the load in the vehicle at all times is below max-
imum capacity. r∈R Lr yimjnr calculates the combined load driving from node
(i, m) to node (j, n), this number have to be zero if no vehicle travels between the
two nodes, and less than the vehicle capacity Q if a vehicle travels between the
nodes. Constraints (32)-(35), constraints (36), and constraints (37)-(40) set the
binary, integer and continuous restrictions on the variables respectively.
X X
0≤ Lr yimjnr ≤ Qximjnk (i, m) ∈ N , (j, n) ∈ N (31)
r∈R k∈K
55
ximjnk ∈ [0, 1] (i, m) ∈ N , (j, n) ∈ N , k ∈ K (32)
yimjnr ∈ [0, 1] (i, m) ∈ N , (j, n) ∈ N , r ∈ R (33)
wimjnr ∈ [0, 1] i, j ∈ G, (i, m) ∈ NiG , (j, n) ∈ NjG , r ∈ R, Zij =1 (34)
vimjnr ∈ [0, 1] (i, m) ∈ N , (j, n) ∈ N , r ∈ R, DrR ≥ Dij (35)
tr ∈ [0, 1, ...] r∈R (36)
tA
im ≥0 (i, m) ∈ N (37)
tD
im ≥0 (i, m) ∈ N (38)
tA
k ≥0 k∈K (39)
tD
k ≥0 k∈K (40)
X
tD K A V
im + Tij − tjn ≤ Mij (1 − ximjnk ) (i, m) ∈ N , (j, n) ∈ N (41)
k∈K
X
tA F D F
im + Tij − tjn ≤ Mij (1 − wimjnr ) i, j ∈ G, (i, m) ∈ NiG , (j, n) ∈ NjG (42)
r∈R
X
tD
im + TijR − tA
jn ≤ W
Mij (1 − vimjnr ) (i, m) ∈ N , (j, n) ∈ N (43)
r∈R
For instance, take constraints (41): If a vehicle travels between node (i, m) and
node (j, n), that is ximjnk is equal to 1, then the arrival at node (j, n) has to be
equal to or greater than departure at the previous node (i, m) plus the travel time
between the two nodes. On the other hand, if no vehicle travels between these two
nodes the constraint has to be redundant. Here, Mij is a big number which makes
the constraint always hold, and different values of Mij can be used as is discussed
next.
A simple value for Mij is the maximum value. For example, for the constraints
V
(41) Mij can be replaced by the maximum usage time of the vehicle U times the
number of vehicles in the fleet K. Another possibility is to replace the Mij ’s with
the largest value connected to the node (i, m). That is,
V
• For constraints (41) set Mij = Ti + TijK − Tj , that is Mij
V
has to be greater
than the difference of the latest time for service at location (i) plus direct
service time TijK and the earliest service time of location (j).
56
F
• For constraints (42) set Mij = Ti + TijF − Tj , that is Mij
F
has to be greater
than the difference between latest service time at location (i) plus travel time
TijF and earliest service time at location (j).
W
• For constraints (43) set Mij = Ti + TijR − Tj has to be greater than the
difference between latest service time at location (i) plus travel time TijR and
earliest service time at location (j).
When replacing M with these values all constraints considering M < 0 are
redundant and are not created in the model.
There are four binary variables in the model (ximjnk , yimjnr , wimjnr , vimjnr )
and one integer variable (tr ). However, specifying integer requirements for the
variables increase computation effort, so it is only specified integer and binary re-
quirements on those variables where it is strictly necessary for the model. For
instance, if it is specified that ximjnk is binary, yimjnr is binary without explicitly
stating this. Furthermore, when implementing the model, since all variables on
the left hand side of constraints (30) is binary, the variable tr is integer without
explicitly programming this.
57
4 Reduction Techniques and Valid Inequalities
The formulation of the multi-objective dial-a-ride problem that is discussed in this
thesis is a mixed integer linear formulation. When this formulation is implemented
in Mosel, and solved by Xpress. The optimizing suite removes the integer require-
ment on the variables, and solves the remaining LP problem. This LP problem is
referred to as a LP relaxation of the integer programming problem (IP problem).
Since integer problems are not defined on continuous space it is much more difficult
to solve, especially for such large-scale routing problems. While the solution space
for the linear problem is convex, the solution space for the integer point represents
specific points in the linear solution space, where the neighborhood of points is non-
integer. Thus, when solving the relaxed problem instead of the integer problem
fractional solutions can occur. In the case of a fractional solution the optimizing
suite branch on the variables. The branch-and-bound approach makes it possible
to divide the solution space into two disjunct solution spaces.
In Figure 7 the black lines create a linear relaxation solution space. The black
circles represent integer feasible solutions, and the dashed lines represent the con-
vex hull. The goal is to represent the problem so that the solution space of the
relaxed problem is as equal as possible to the convex hull, because when the so-
lution space is a convex hull solving the LP relaxation yields the optimal integer
feasible solution. Thus, when the solution space represents the convex hull better,
the branch-and-bound algorithm has a smaller space to search and needs to search
through fewer subproblems, or nodes, to find the optimal solution. To strengthen
the formulation valid inequalities are added to the formulation. The inequalities are
valid if it cuts away some part of the LP solution space without cutting away any
of the integer feasible solutions. In the figure, the blue and the red line represent
valid inequalities. If the valid inequality represents a surface of the convex hull,
like the blue line, it is called a facet and it is the strongest valid inequality that can
be found. By including valid inequalities in the formulation and thus represent the
convex hull better, the Xpress Optimization Suite manages to solve the problem
faster.
58
Figure 7: Solution space
In this section several groups of valid inequalities are discussed. First, the
arc elimination constraints are discussed in Section 4.1, these arc eliminations are
added to the problem so as not to add those arcs which cannot be used. Next, the
symmetry breaking constraints in Section 4.2 explain ways to reduce the number
of symmetric solutions. Then the subtour elimination constraints are discussed in
Section 4.3, and the mixed integer rounding constraints, in Section 4.4.
59
formulation given in Section 3.4 only one node needs to be created for every pickup
location, drop off location, or initial or final depot. As a consequence, is cannot go
any arc to or from those with greater visitation number than 1. Furthermore, the
only valid arcs going out from the initial depot are to pickup and transfer locations.
That is, there is no point going from the initial depot to the initial depot or the
final depot. Furthermore, there is no point for a vehicle to go from initial depot
to a drop off location without picking up the request, that is (0, 1, r + i, 1) for
(i, 1) ∈ N P are not allowed. In the same way, when entering the final depot, the
vehicle can only come from a transfer or drop off location, as the picked up request
also has to be delivered. That is, (i, 1, 2r + 1, 1) for (i, 1) ∈ N P are not feasible.
Furthermore, no arc can go from any node into the initial depot (i.e. (i, m, 0, 1) is
infeasible for all (i, m) ∈ N ), or from the final depot to any node (ie. (2r+1, 1, i, m)
for all (i, m) ∈ N are infeasible).
From a pickup location i a vehicle can go to a pickup location j where the com-
bined load does not exceed the vehicle capacity (Li + Lj ≤ Q). A vehicle cannot
go between the same pickup location (that is, (i, m, i, m) for (i, m) ∈ N are infea-
sible). Furthermore, a vehicle can go from a pickup location to transfer and drop
off locations. There are vehicle arcs between all transfer nodes, except between
nodes at the same location. Additionally, from a drop off location a vehicle can
travel to non-associated pickup locations (i.e. (r + i, 1, i, 1) where (i, 1) ∈ N P are
infeasible), transfer locations and other drop off locations.
Furthermore, arcs can be eliminated taken into account the time windows (Häll
et al., 2009). For instance, there is no point to add arcs which connect one location
i to a location j if a vehicle cannot reach location j from location i within the
time window. That is, if (T i + TijK > T j ) then arc (i, j) is infeasible. This can be
written:
X X X
ximjnk (T i + TijK − T j ) ≤ 0 i ∈ P ∪ D ∪ G, j ∈ P ∪ D ∪ G (44)
m∈Ni n∈Nj k∈K
X X
ximjnk (tD K
im + Tij − T j ) ≤ 0 (i, m) ∈ N , j ∈ P ∪ D ∪ G (45)
n∈Nj k∈K
60
drop of location (r + i). That is, if (Tij + Tj,r+i > Ti,r+i (1 + E)) then arc (i, j) and
arc (j, r + i) are infeasible. This can be written as:
X X
xi1jnk (TijK + Tj,r+i
K K
− Ti,r+i (1 + E)) ≤ 0 i ∈ P, j ∈ P ∪ D ∪ G (46)
n∈Nj k∈K
X X X X
xjn,r+i,1k − xi1jnk ≤ 0 i ∈ P, j ∈ P ∪ D ∪ G (47)
n∈Nj k∈K n∈Nj k∈K
These constraints are valid also including the possibility of walking when it is
assumed that vehicles are the fastest mode of transport. Similarly, considering
the capacity limits on a vehicle and the load to be picked up or delivered at the
locations, arcs can be eliminated. That is, if the combined loads exceed vehicle
capacity, the vehicle cannot go between these two locations.
X
xi1j1k (Li + Lj − Q) ≤ 0 (i, 1) ∈ N P , (j, 1) ∈ N P (48)
k∈K
X
xi1j1k (Li + Lj − Q) ≤ 0 (i, 1) ∈ N D , (j, 1) ∈ N D (49)
k∈K
X X
T im + max(0, T jn − T im + TijK )xjnimk ≤ tD
im (i, m) ∈ N , (j, n) ∈ N
j∈N \(i) k∈K
(50)
X X
tD
im ≤ T im − max(0, T im − T jn + TijK )ximjnk (i, m) ∈ N , (j, n) ∈ N
j∈N \(i) k∈K
(51)
Constraints (50) state that service time at the location is later than the latest
of the earliest service time at the node and the first possible time the vehicle trav-
eling to the location reaches the location. Similarly, constraints (51) state that the
service time is earlier than the earliest of the latest service at the location and the
latest time the vehicle visiting the location has to leave to be able to visit its next
location before its latest service time.
61
Furthermore, if the combined load from request i and request j exceeds the
capacity of a vehicle, the request i is not allowed to travel in or out from pickup or
drop off location of j and in to pickup location j if the request i then can walk to
its drop off node or a fixed network. The same hold for request j and the locations
associated with request i.
Furthermore, if the request does not travel by any mode (vehicle, fixed route,
walks) into a transfer location, it cannot travel by a fixed route from this transfer
location. If the trip of a request traveling from its pickup location to a transfer lo-
cation to its drop off problem exceeds maximum service time for the requests then
the request cannot use the fixed network from this location. Furthermore, if the
trip of a request traveling from its pickup location to a transfer location to another
transfer location to the drop off location exceeds the maximum service time then
the request cannot travel between the transfer locations.
62
tA A
im − ti,m+1 ≤ 0 (i, m) ∈ N \ (i, Mi ) (53)
tD
k − tDk+1 ≤0 k ∈ K \ |K| (54)
(tA
k − tD
k ) − A D
(tk+1 − tk+1 ) ≤0 k ∈ K \ |K| (55)
X X X X
Dij ximjnk − Dij ximjn,k−1 ≤ 0 k ∈ K \ |K| (56)
(i,m)∈N (j,n)∈N (i,m)∈N (j,n)∈N
X X X X
TijK ximjnk − TijK ximjn,k−1 ≤ 0 k ∈ K \ |K| (57)
(i,m)∈N (j,n)∈N (i,m)∈N (j,n)∈N
X X X X
Cij ximjnk − Cij ximjn,k−1 ≤ 0 k ∈ K \ |K| (58)
(i,m)∈N (j,n)∈N (i,m)∈N (j,n)∈N
X X X X
ximjnk − ximjn,k−1 ≤ 0 k ∈ K \ |K| (59)
(i,m)∈N (j,n)∈N (i,m)∈N (j,n)∈N
Constraints (53) force the arrival at node (i, m) to be earlier than the arrival
at node (i, m + 1), which in practical terms means that the nodes corresponding to
a location i has to be visited in sequence. As before, Mi represents the maximum
number of visits at the location. Figure 8 shows a location i with three nodes.
Furthermore, it shows that a vehicle k has to visit node 1 before it visits node 2.
Constraints (54) state that the time vehicle k leaves depot has to be earlier than
the time vehicle k + 1 leaves depot, that is vehicle k has to be used before vehicle
k + 1. Constraints (55) ensure that the time vehicle k is away from depot has to be
longer than the time vehicle k +1 has to be away from depot. Constraints (56)-(59)
say that the route vehicle k travels has to have a greater distance travelled, spend
longer time driving, be more expensive, or travels on more of the arcs, than the
route of the vehicle k +1. These constraints break two kinds of symmetries. Firstly,
the constraints ensure that the vehicles are used in sequence. Secondly, sequencing
the vehicles after highest route costs ensure that given a number of routes and
vehicles there is only one valid combination. Figure 9 shows a small network and
a long route for vehicle 1 and a short route for vehicle 2.
Constraints (53) can be used together with all the other symmetry breaking con-
straints without creating conflicts. The resulting constraints (54)-(59) might cause
conflicts if used together. First, consider constraints (56)-(59). These are simi-
lar in structure, only constraints (56) considers total distance traveled, constraints
(57) considers the total time the vehicle use driving, constraints (58) considers the
total cost of traveling and (59) considers the number of arcs traveled. Similarly,
constraints (55) considers the total time the each vehicle is away from depot, while
constraints (54) sets that the start of the first vehicles have to be earlier than the
later vehicles. When using two or more of constraints (55)-(59) together problems
can occur since different variants might force different vehicles to be used first,
second or in some other order. In the implementation of this model the parameters
Dij , TijK and Cij are proportional and should thus provide the similar results. Dur-
ing the result and discussion Section 6.1 the different combinations of the symmetry
63
pi3
pi2
xi1hlk
d3 depot
d2
P P
(i,j)∈N ximjn2 <= (i,j)∈N ximjn1
p3 p2
breaking constraints are tested. However, one complication using constraints (54)
and constraints (55) forces the model to create all starting times (arrival times) for
the vehicles.
In addition, a set of constraints that restricts the vehicle to visit transfer nodes
only when they are dropping off or picking up passengers are included in the formu-
lation. These constraints help the model to avoid vehicles to travel between nodes
which there are no cost of visiting, and are given as below in constraints (60). Since
only one vehicle can visit each node it is possible to aggregate the constraints for
all vehicles. These constraints are illustrated in Figure 10, where the dotted lines
represents a likely route without constraints (60) while the solid line represents the
route with the constraints (60).
X X X X
(wjngmr + vjngmr + wgmjnr + vgmjnr ) ≥ xjngmk (g, n) ∈ N G
r∈R (j,n)∈N k∈K (j,n)∈N
(60)
64
without(61)
ti3
ti2
with(61) ti1
Dantzig, Fulkerson and Johnson (Applegate et al., 2006) proposed the subtour
elimination constraints (SEC) (61)-(62) for the traveling salesman problem. Here
e is an arc, S is a subset of nodes N . Then E(S) is all arcs in the subset S, while
δ(S) is all arcs where one end of the arc is in the subset S and one arc is not in
the subset N \ S. The constraints works by eliminating solutions consisting of two
or more disjoint subtours: given the set of integer solutions of the LP problem and
eliminate those that are disconnected leaving only the incidence vectors of tours.
However, since there are too many possible subtours to add them all to the LP
relaxation, Dantzig, Fulkerson and Johnson added the inequalities in an iterative
way by attacking the subtours as they occur.
65
X
xe ≥ 2 (61)
e∈δ(S)
X
xe ≤ |S| − 1 (62)
e∈E(S)
P
X Lr
xe ≤ |S| − max 1, r∈S (63)
Q
e∈E(S)
Several other lifted formulations have been proposed in the literature. Firstly,
Dumitrescu et al. (2006) (Golden et al., 2008) proposed a lifted subtour elimination
constraints for the single vehicle pickup and delivery problem, which are given as
follows. Let S ⊆ P ∪ D be such that there exists i ∈ P such that i ∈ S, n + i ∈ S.
Then, x(S) represents the x’s in the subset S, and the Inequality (64) is valid.
X
x(S) + xi,n+j ≤ |S| − 1 (64)
j∈P ∩S,n+j∈S
Dumitrescu et al. (2006) also proved the generalization of the lifted subtour
elimination constraint (Constraint (64)). This is given by letting S ⊂ P ∪ D be
such that there exists i ∈ P ∩ S with n + i ∈ S. Let Tk ⊂ P ∪ D, k = 1, .., p be p
sets such that there exists ik ∈ P ∩ D and n + ik ∈ Tk , Tk ∩ S = i for k = 1, ..., p
and Tj ∩ Tk = i for all j, k = 1, ..., p, j 6= k. Then the Inequality (65) is valid.
p
X p
X
x(S) + x(Tk ) ≤ |S| − 1 + (|Tk | − 2) (65)
k=1 k=1
Another possible lifting of the subtour elimination constraints are the ones pre-
sented in Cordeau and Iori M. (2010) and introduced by Balas et al. (1995). Balas
et al. (1995) took advantage of the fact that in the dial-a-ride problem, each node
i ∈ P ∪D is either the predecessor or the successor of exactly one other node. Then
for any set S ⊆ P ∪ D, let π(S) = {i ∈ P|n + i ∈ S} and σ(S) = {n + i ∈ D|i ∈ S}
denotes the sets of predecessors and successors of S, respectively. The resulting
inequalities were called σ inequalities and π inequalities.
66
X X X X
x(S) + xij + xij ≤ |S| − 1 S ⊆P ∪D (66)
i∈S∩σ(S) j∈S i∈S\σ(S) j∈S∩σ(S)
X X X X
x(S) + xij + xij ≤ |S| − 1 S ⊆P ∪D (67)
i∈S j∈S∩π(S) i∈S∩π(S) j∈S\π(S)
In addition, the ordinary subtour elimination constraints (62) can also be lifted
by taken into account the orientation of the arcs, like Grötschel and Padberg (1985)
(Cordeau and Iori M., 2010) did and proposed the Dk+ and Dk− inequalities for the
asymmetric TSP:
h−1
X h−1
X
xij ij+1 + xih i1 + 2 xij i1
j=1 j=2
h−1
XX j−1 X
+ xij il + xn+ip i1 ≤ h − 1 S = {i1 , ..., ih } ⊆ N, h ≥ 3 (68)
j=3 l=2 n+ip ∈S∩σ(S)
h−1
X h
X
xij ij+1 + xih i1 + 2 xi1 ij
j=1 j=3
X j−1
h X X
+ xij il + xi1 ip ≤ h − 1 S = {i1 , ..., ih } ⊆ N, h ≥ 3 (69)
j=4 l=3 ip ∈S∩π(S)
X X
ximjnk + xjnimk ≤ 1 (i, m) ∈ N , (j, n) ∈ N (70)
k∈K k∈K
X X
xi1jnk − x01jnk ≤ 0 (i, 1) ∈ N P ∪ N D , k ∈ K (71)
(j,n)∈N (j,n)∈N
67
considering the capacity restrictions on the vehicles. The resulting class of con-
straints are shown in constraints (72).
P
X X X
r∈S Lr
ximjnk ≤ |S| − max{1, } S ⊆ N \ {0, 2r + 1}, 2 ≤ |S| ≤ N
Q
k∈K (i,m)∈S (j,n)∈S
(72)
The third group of subtour elimination constraints considers a set of lifted
subtour elimination constraints. First, out of the two lifted subtour elimination
constraints (66)-(67), six set of valid inequalities are made, considering that for
each request r, node (r, 1) has to be visited before node (r + r, 1). Figure 11 to
Figure 16 shows the network for constraints (73)-(78), and for the four first con-
straints (73)-(76) at most one arc can be used, while at most two arcs can be used
in constraints (77)-(78).
X X
xi1j1k + xj1i1k
k∈K k∈K
X X
+ xr+i,1,j1k + xr+j,1,i1k ≤ 1 (i, 1) ∈ N P , (j, 1) ∈ N P (73)
k∈K k∈K
X X
xr+i,1,r+j,1k + xr+j,1,r+i,1k
k∈K k∈K
X X
+ xr+i,1,j1k + xr+j,1,i1k ≤ 1 (i, 1) ∈ N P , (j, 1) ∈ N P (74)
k∈K k∈K
pi1 pj1
dr+i,1 dr+j,1
X X X
xi1,r+j,1k + xr+j,1i1k + xr+i,1,r+j,1k ≤ 1 (i, 1) ∈ N P , (j, 1) ∈ N P
k∈K k∈K k∈K
(75)
X X X
xi1,r+j,1k + xr+j,1i1k + xi1j1k ≤ 1 (i, 1) ∈ N , (j, 1) ∈ N P
P
68
pi1 pj1
dr+i,1 dr+j,1
pi1 pj1
dr+i,1 dr+j,1
pi1 pj1
dr+i,1 dr+j,1
69
X X X
xi1j1k + xj1i1k + xi1,r+i,1k
k∈K k∈K k∈K
X X
+ xj1,r+i,1k + xr+i,1j1k
k∈K k∈K
X X
+ xr+j,1i1k + xr+j,1,r+i,1k ≤ 2 (i, 1) ∈ N P , (j, 1) ∈ N P (77)
k∈K k∈K
X X X
xi1,r+j,1k + xr+j,1i1k + xi1,r+i,1k
k∈K k∈K k∈K
X X
+ xr+j,1,r+i,1k + xr+i,1,r+j,1k
k∈K k∈K
X X
+ xi1j1k + xr+i,1j1k ≤ 2 (i, 1) ∈ N P , (j, 1) ∈ N P (78)
k∈K k∈K
pi1 pj1
dr+i,1 dr+j,1
pi1 pj1
dr+i,1 dr+j,1
Furthermore, the third group include two classes of the Dk+ and Dk− Inequal-
ities (68)-(69). Figures of the networks and arcs in the subset are illustrated in
the representative networks; here as well two of the arcs can be used in the same
solution.
70
X X X
xr+i,1j1k + 2xj1,r+i,1k + xj1i1k
k∈K k∈K k∈K
X X
+ xi1,r+i,1k + xr+j,1,r+i,1k ≤ 2 (i, 1) ∈ N P , (j, 1) ∈ N P
k∈K k∈K
(79)
X X X
xi1,r+i,1k + xr+i,1,r+j,1k + xr+j,1i1k
k∈K k∈K k∈K
X X
+ 2xi1,r+j,1k + xi1j1k ≤ 2 (i, 1) ∈ N P , (j, 1) ∈ N P
k∈K k∈K
(80)
pi1 pj1
dr+i,1 dr+j,1
pi1 pj1
dr+i,1 dr+j,1
71
Q is the capacity of the vehicle, while q(S) is the load in the subset to be picked up.
q(S)
x(δ(S)) ≥ 2d e S ⊆P ∪D (81)
Q
Used in the IDARP formulation:
In the implementation of this model the following mixed integer rounding con-
straints are considered. First of all, for subsets of pickup locations or subsets of
drop off locations, which are not connected to a fixed network or are not within
walking distance to another node in the network, the free capacity going in to the
subset has to be greater than the load to be picked up in the subset. The resulting
equation (82) is given below, and here, ye is the flow going into the subset. Fur-
thermore, δ(S) represents the set of arcs going into the subset S.
X X
(Qxe − ye ) ≥ Li (82)
e∈δ(S) i∈S
For subsets S which consists of only one pickup location or one drop off loca-
tion one vehicle has to visit this location. Furthermore, subsets S consisting of two
pickup locations or two drop off locations with the combined load to be picked up
or dropped off exceeding the vehicle capacity the subset has to be visited twice.
Similar, other valid inequalities can be computed for bigger subsets S, and in gen-
eral the constraint can be written as.
P
X
i∈S Li
xe ≥ d e (83)
Q
e∈δ(S)
Another version of this valid inequality also considers the flow going into the
subset. For example, consider the subset S consisting of two pickup locations i and
j not associated with a fixed network or not within walking distance off another
node.
P
Lr ye
P
X
i∈S Li e∈δ(S)
xe ≥ d e+ (84)
Q Q
e∈δ(S)
The last mixed integer rounding constraint considers the minimum number of
vehicles that has to leave the depot in the optimal solution. Since it is possible to
72
find fractional solutions in the linear problem, the LP relaxation might provide a
solution where only 0.5 of a vehicle is used. For example, if request 1 has a load
of 2, 0.5 of the vehicle with capacity 4 has to use the arc. When less of the vehicle
is occupied by traveling on one specific arc, the rest of the vehicle can transport
other requests at the same time on other arcs. However, this is not a possible IP
solution. As a consequence, the LP solution might need less vehicles to manage to
fulfill all requests than the IP solution. Thus, by trying to find areas where at least
n vehicles has to leave the depot reduces the gap between the LP and IP solution.
To do this the implementation searches different sets of pickup locations to see
if it is possible to travel from depot to the requests and back to depot without
restricting either the time windows for the requests or for the vehicle. In addition,
the program search between all set of two pickup location to check if there is two
requests which cannot be fulfilled by the same vehicle considering both time win-
dows for requests and the vehicle and at the same time considering loads to be
picked up and delivered and the vehicle capacity. That is, to find this subset, the
model searches through two and two pickup locations including also their drop off
locations in the subset. None of the locations can be associated with a transfer
location, and it cannot be possible to walk to a node not in the subset. Then, if
a vehicle does not manage to visit all locations considering load or usage capacity
of the vehicle, time windows of the service or maximum service time, then it is
evident that at least two vehicles have to leave the depot. Thus, it is possible to
force at least two vehicles to leave the depot in the LP solution, because at least
two vehicles have to be used in a feasible IP solution.
X X
tD
k + TijK ximjnk − tA
k ≤0 k∈K (85)
(i,m)∈N (j,n)∈N
Similarly, in the LP solution fractional parts of the vehicles can be used, while
in the IP solution this of course is not possible. Since a fixed cost occur for each
vehicle leaving the depot, the sum of the fractions of vehicles leaving are forced as
small as possible in the LP solution. Thus, to reduce the gap between the LP and
IP solution the fraction leaving the depot can be forced to exceed the fraction trav-
eling between the rests of the locations. These equations are given constraints (86).
X X
ximjnk ≤ x01jnk (i, m) ∈ N (86)
(j,n)∈N (j,n)∈N
73
5 An Example
This section illustrates an example instance, provides the details and structure of
the data set, how this data are transformed into a practical problem, and discuss
the solution found.
01 : nTransferLocations : 5
02 : nRequests : 3
03 : nVehicles : 3
04 : PenaltyServiceTime : 2
05 : PenaltyWalking : 3
06 : PenaltyTransfer : 4
07 : CostOfArc : 2
08 : CostOfUsage : 2
09 : CostOfVehicle : 5
10 : VehicleLoadCapacity : 4
11 : VehicleUsageCapacity : 480
12 : Depotx : 10
13 : Depoty : 10
14 : Px : [ 00 70 20]
15 : Py : [ 00 20 -90]
16 : Dx : [ -70 -70 20]
17 : Dy : [ -20 00 -30]
18 : Tx : [-70 00 70 00 00]
19 : Ty : [ 00 00 00 -70 70]
20 : RequestLoad : [ 1 4 3]
21 : RequestDist : [25 4 0]
22 : EarliestServiceTime : [0000 000 030 120]
23 : LatestServiceTime : [1440 090 120 210]
24 : TravelTimeFixed : 1.2
25 : Lines : [ (1,1) 1 (1,2) 2 (1,3) 3
(2,1) 4 (2,2) 2 (2,3) 5]
26 : ErrorRate : 0.8
74
The three first parameters 1 − 3 specifies the total number of transportation
locations, requests and vehicles in the fleet. Next, parameter 4 − 9 sets the unit
penalty and cost paid by the fleet, while 10 − 11 specify the load and usage capac-
ity of the vehicles in the fleet. All time units, that is, usage capacity and service
times are given in minutes. 12 − 19 sets the x- and y-coordinate for the depot,
the pickup locations, the drop off locations and the transfer locations, respectively.
For example, the depot is located at [10, 10], the first pickup location is located
at [00, 00] and the second pickup location at [70, 20] etc. 20 − 23 specifies details
of the requests, the number of people in the request is given in 20, the maximum
allowed walking distance is given in 21. Furthermore, 22 − 23 gives the earliest
and latest pickup time for the vehicles and the requests. In addition, this model
assumes that the travel time for the fixed network is proportional the distance
traveled with the fixed network and this, and the proportional factor is specified
by the parameter T ravelT imeF ixed, given in number 24. Number 25 gives the
lines in the fixed network. If a request only uses one line the request uses two
transfers, when changing to the fixed network and when leaving the fixed network.
In this example, the first line contains of transfer locations 1, 2 and 3, while the
second line consists of transfer locations 4 to 5 plus 2. The last parameter 26 sets
the ErrorRate that is used when calculating the maximum service time. Thus,
with an ErrorRate of 0.8 maximum service time is direct service time multiplied
by (1 + 0.8) (Tr,r+r (1 + 0.8) for request r).
For each arc between two locations there is an associated distance, which is
calculated using Euclidean distance. For instance, the distance between location i
at (xi , yi ) and location j at (xj , yj ) is given below:
q
Distance(i, j) = (xi − xj )2 + (yi − yj )2 (87)
75
Furthermore, if the request travels with a vehicle there is an associated cost
and time for each arc that is proportional to the distance between the locations in
this study. If the vehicle travels from initial depot 0 to any location j a fixed cost
representing the cost of using a vehicle is added to the cost of traveling on the arc.
If the distance is less than the specified maximum walking distance for the request,
and the request walks an associated penalty and time for walking between the pair
of nodes are added. These values are also proportional to the distance walked in
this thesis. Finally, if the two locations are connected so it is possible to use a fixed
network an associated time is added for the arc, which is also proportional to the
distance traveled. However, since the requests then have to follow fixed network the
distance traveled by the fixed route from transfer location 1 to transfer location 5
is Distance(1, 2)+Distance(2, 5) while the distance if using a vehicle from transfer
location 1 to 5 is Distance(1, 5). Furthermore, there is a cost of using the vehicle
per unit time, a penalty paid for the service time which exceeds direct travel time
per unit time, and a penalty paid per transfer.
With one node visit per transfer location and activating all three options (trans-
fer, cooperation, walking) the problem has 626 rows and 442 columns. When in-
cluding another node the number of node visits the number of original rows of
76
t5 , 12
p2 , 2
0, 7
d2 , 5
t1 , 8 t2 , 9 t3 , 10
p1 , 1
d3 , 6
d1 , 4 t4 , 11
p3 , 3
the problem seem to double, while the number of columns seems to almost be
three times the original value. Furthermore, the pre solving manages to reduce the
problem size quite significantly with few node visits, but when including several
node visits the total number of rows reduced increase but the reduced percentage
decrease significantly, from 67 percent with one node visit to 37 percent with three
node visits. Thus, the problem with three node visits is actually so complicated
that the instance cannot be solved to optimality within the hour. In comparison,
the instance with two node visits was solved within the first two minutes and the
instance with one node visit was solved within the first second. Furthermore, the
total number of columns reduced decrease with the number of node visits. The
benefit of increasing the number of node visits is to potentially find a more efficient
solution with a corresponding lower objective value. However, with three requests,
77
one node visit per location is enough and provides the best possible solution when
relaxing the restriction on node visits.
The best feasible solution for the instance activating all options corresponds to
a objective value of 1710, where 62 corresponds to the penalties for user inconve-
nience. The greatest cost corresponds to the distance and usage of the vehicles,
and have the values 908 and 730, respectively. The different cost parts and values
are given in Table 6. First is the fixed cost of using the vehicles given. Then the
variable costs associated with the total distance the vehicles travels and the total
usage time of the vehicles. Afterwards, the penalties associated with the user in-
convenience are given. First, a variable penalty associated with the excess service
time compared to direct service time for each request. Then, the variable penalty
paid for the total walking distance by all request, and lastly the penalty paid per
transfer. The greatest cost corresponds to the distance and usage of the vehicles,
and have the values 908 and 730, respectively.
The best travel route found used two vehicle and is illustrated in Figure 19.
The first vehicle travels the red route, while the second vehicle uses the blue route.
Green lines illustrate the trips for the requests. Thus, the first vehicle travels from
depot to pickup location of request 1 (location 1). There the vehicle picks up re-
quest 1 and transport this request to its drop off point, location 4. From there the
vehicle travels to pickup location of request 3 (location 3), picks up request 3 and
transports it to its final destination at location 6. Afterwards the vehicle returns
to the depot. The second vehicle travels from its initial depot to pickup location
of request 2 (location 2) to pickup request 2 and transport the request to transfer
location 9. Afterwards, the request travels by a fixed route from 9 to 8 and then to
its associated drop off location 5. The route of the vehicles and trips for the three
requests are given in the Table 6. The sign − illustrate that the arc is driven by
a vehicle, = illustrates that the arc is used by a fixed route, while −− illustrate
that the request walks the arc. For example, request 1 in Test 2111r uses the fixed
route from its pickup location (location 1) to location 9 to location 8, and then
walks from location 8 to its drop off location (location 4).
The example illustrates the benefits of including a fixed route network and the
option of walking into the regular dial-a-ride problem. Including these options
allows for the objective value to be reduced from 2134 to 1710 and request 2 are
able to use the fixed route the last part of the trip. Furthermore, increasing the
ErrorRate so request 1 can walk the last part of the trip allows request 1 to
travel by itself from pickup to drop off and further reduces the objective value to
1423. However, while the total objective value decreases the part corresponding to
penalties increases. Thus, there is a tradeoff between the cost of the service and
the convenience for the passengers.
78
Table 6: Details Example
Detail Test 1000 Test 1111 Test 2111 Test 3111 Test 2111r
Cooperation On 0 1 1 1 1
Transfer On 0 1 1 1 1
Walking On 0 1 1 1 1
NodeVisits 1 1 2 3 2
ErrorRate 0.8 0.8 0.8 0.8 1.8
Nodes 8 13 18 23 18
Org. Rows 573 626 1330 2271 1360
Org. Cols 410 442 1197 2253 1282
Pre Rows 37 206 763 1426 853
Pre Cols 23 190 1032 2092 1156
Time 0.01 0.77 110.17 3600 36.73
Best integer fea- 2134 1710 1710 1814 1423
sible solution
Best bound 2134 1710 1710 1323 1423
Cost Vehicles 10 10 10 10 5
Cost Distance 1178 908 908 920 572
Cost Usage 946 730 730 740 460
P Service Time 0 58 58 140 318
P Walking 0 0 0 0 60
P Transfers 0 4 4 4 8
Vehicle 1 0-1-4-3-6-7 0-1-4-3-6-7 0-1-4-3-6-7 0-2-10-3-6-7 0-2-10-3-6-7
Vehicle 2 0-2-5-7 0-2-9-7 0-2-9-7 0-9-4-7 -
Request 1 1-4 1-4 1-4 1=9-4 1=9=8- -4
Request 2 2-5 2-9=8=5 2-9=8=5 2-10=8=5 2-10=8=5
Request 3 3-6 3-6 3-6 3-6 3-6
79
6 Computational Analysis
The model is written in the algebraic modeling language Mosel, implemented in
Xpress IVE optimization suite. Several test instances have been solved using Xpress
Optimizer. The instances have been run with a HP dl165 G5 operation system us-
ing a 2x2.4GHz AMD Opteron 2431 - 6 core processor, with a 24Gb RAM memory.
The instances are generated by using specific fixed network and varying the
other characteristics as for example number of requests. Three different standard
fixed networks is considered, S1.4, S2.4 and S3.5, where the number 4 and 5 states
the number of transfer locations respectively in the networks. The details of the
networks are provided in Appendix A.2. For each fixed network instances with
three to 15 requests are generated. The number of requests in the instance is
added in the manner .requests, after the number of transfer locations. For exam-
ple, the network S1.4 with three requests are written S1.4.3. Furthermore, an r
is added after the number of requests if the ErrorRate is increased from 0.8 to
1.8 (for example S1.4.3r). Similarly, if a maxi vehicle with a capacity of eight is
used, instead of the regular size of four passengers, a m is added to the name.
Additionally, stw specify that the time windows are cut in half, while btw signalize
that the time windows are double the regular size. In addition, the number of node
visits are given in brackets, while the problem features are given with three binary
numbers, where 1 says the option is on, while 0 says that the option is off. The
fixed network and the pickup and drop off locations for the instance with seven
requests (S1.4.7, S2.4.7 and S3.5.7) are illustrated in Appendix A.2. Furthermore,
instances considering bigger fixed network B1.7, B2.8 and B3.9, of seven to nine
transfer locations are tested (Appendix A.3). In addition, three case instances,
H1.4, C2.7 and R1.4 are tested. First of all, H1.4 illustrates a setting where the
majority of the requests are going to a common location, in this case a hospital,
and the details are given in Appendix A.1.1. The instance is run with narrow
time windows (H1.4.6stw), regular time windows (H1.4.6) and big time windows
(H1.4.6btw). C2.7 represents the case with a city center and a more well estab-
lished fixed network. The fixed network consists of the seven transfer locations
and is illustrated in Appendix A.1.2 together with details for the results with three
requests (C1.7.3), with regular time windows (C1.7.3) and narrow time windows
(C1.7.3stw). R1.4 represents a sparse fixed network where two requests with load
less than a single vehicle load capacity is located far from the rest of the requests.
The fixed network has four transfer locations and consists of two separate lines
located in different part of the town. The fixed network and the instance with six
requests (R1.4.6) is illustrated in Appendix A.1.3 for the case with a regular vehi-
cle capacity of four (R1.4.6 ) and for maxi vehicles with capacity of eight (R1.4.6m).
This section starts by going through a preliminary study (Section 6.1) discussing
the effect of different reduction techniques and valid inequalities on the problem
complexity. The discussion ends by stating a default option that is used in the rest
of the analysis (Section 6.2 and Section 6.3). Section 6.2 considers the technical
aspects of different characteristics of the problem and especially incorporating the
problem features (transfer, multiple requests, walking). In addition, the effect of
80
varying the number of node visits is discussed. Furthermore, changing the details
of the vehicle fleet and the requests are considered. In Section 6.3 the econom-
ical effects of the problem features and details of the vehicle fleet and requests
is discussed from the operator and drivers, and users point of view. In short, the
problem features considerably complicate the problem from a technical perspective.
However, the features provide economical benefits from the operator, especially the
feature of transfer, while the characteristics might decrease the convenience for the
user.
The resulting default setting is given in Section 6.1, and this setting is used in
the rest of the analysis. In short, incorporating the problem features of transfer,
multiple requests and walking considerably complicates the problem and makes it
more difficult to solve the problem and find acceptable solutions. However, in-
corporating the problem features makes it possible to reduce the cost of the fleet
while at the same time maintaining an acceptable level of convenience for the users.
The default option is to activate all arc elimination options, the strengthening
of time windows, the symmetry breaking constraints ordering the nodes and order-
ing the usage of the vehicle, and all subtour elimination constraints. The options
considering mixed integer rounding capacity constraints and setting the least num-
ber of vehicles is set off in the default option.
81
6.1.1 Arc Elimination Constraints
The first group of options to consider is the arc elimination constraints (see Sec-
tion 4.1. The first of the AEC options consider basic arc elimination and thus for
example which nodes can be visited after which nodes. Without the option all arcs
between all nodes have to be created and the problem would be quite complicated
to solve, and considerably bigger in size. Including the AEC options considering
time windows (AEC TW) or capacity limits (AEC Q) tend to reduce the size of the
problem further. On average, the option of considering time windows tend to have
a greater effect than the option of including capacity limits, but combining the two
clearly have the greatest effect. In fact, including this option also increases size of
the LP relaxation from 777 to 799 and thus creates a better initial lower bound for
the solution. The reduction in columns of the problem (reduction in variables) is
greatest, but some reduction in rows (constraints) exists as well. This is because arc
elimination constraints eliminate variables (arcs) but in doing so some constraints
are eliminated as well. For example, in Table 7 and Table 8, where the number
of original rows and columns are provided for the instances S1.4.3(2), S2.4.5(2),
S2.4.5(3) and S3.5.7(3), these effects are evident. For instance, the first row of
the Table 7 gives the rows (1070) and columns (1286) for instance S1.4.3 with two
node visits and AECbasic, while the second row shows the rows (1004) and columns
(1068) for the instance S1.4.3 also including AEC TW. The last column gives the
reduction in rows (6.17 percent) and columns (16.95 percent). Furthermore, sim-
ilar effects appear for the pre solved number of rows and columns as well. In the
tables, the number in brackets represents the maximum number of node visits per
location, and the options given afterward states which options is included when
solving the instance. The percentage reduction in rows and columns compared to
the original problem is calculated as:
plainInstance − withOptionInstance
(88)
plainInstance
Looking at instance S2.4.5 in Table 8, where the size of the problem with two
and three node visits are shown, increasing the number of node visits reduces the
effects of including AEC TW and AEC Q. In fact, the same number of rows is
eliminated in both problems. Considering the number of columns that are elimi-
nated, this number increases only slightly. Because of the reduction in size of the
problem, the software manages to solve the problem a bit faster on average. Thus,
as a consequence of the positive effects when solving the problem all AEC options
should be included in the default option.
82
Table 7: Effect with Arc Elimination Options 1
Instance Original rows /cols Percentage Reduction
S1.4.3 (2) 1070/1286
S1.4.3 (2) AEC TW 1004/1068 6.17/16.95
S1.4.3 (2) AEC Q 1032/1128 3.55/12.29
S1.4.3 (2) AEC TW,AEC Q 986/956 7.85/25.66
S3.5.7 (3) 4855/10959
S3.5.7 (3) AEC TW 4471/8660 7.91/20.98
S3.5.7 (3) AEC Q 4711/9394 2.97/14.28
S3.5.7 (3) AEC TW,AEC Q 4414/7626 9.08/30.41
83
of the instance also including the option of time window strengthening. For two
(S1.4.3 and S3.5.3) out of three instances the solution time is reduced to half the
regular time if time window strengthening is incorporated into the implementation.
Furthermore, the time until 20 percent gap is shorter for two (S1.4.3 and S2.4.3)
out of three instances, though not the same two dataset. Similarly, in Table 10 the
percentage gap is less for two (S1.4.7 and S2.4.7) out of three instances. Table 10
states the best solution, best bound and the resulting gap after 30 minutes solution
time. Notice that the two bigger instances (seven requests) and the two smaller
instances (three requests) with the shorter time until 20 percent gap are the same
instances. Thus, it is possible that by allowing the program to finish solving the
bigger instances, the option of time window strengthening will shorten the solution
time for instance S1.4.7 and S3.5.7 similarly as with the smaller instances. In
conclusion, including time window strengthening will more often than not result in
a better solution time either for finding the optimal solution or for finding an ac-
ceptable solution for small and big datasets. As a consequence, this option should
be included as a default option in further analysis.
In the Section 6.1.3 to Section 6.1.5 all arc elimination options and the time
window strengthening option is activated when testing the options.
84
6.1.3 Symmetry Breaking Constraints
In Section 4.2 several symmetry constraints are discussed, and constraints (53) to
constraints (56) is implemented in the model. The symmetry breaking constraints
are divided into four options, one considering ordering of the nodes (SBC, con-
straints (53)) while the others consider ordering of the vehicles (SEC1 constraints
(54) to SEC3 constraints (56)). SEC1 orders the vehicles after their number (con-
straints (54)), SEC2 orders the vehicles after their usage (constraints (55)) and
SEC3 orders the vehicles after their total distance traveled (constraints (56)). The
option of ordering the nodes can be combine with one of the options which set the
order of the vehicles.
All symmetry elimination options have a great effect on the complexity of the
problem and reduce the solution time of the problem. However, none of the options
manages to increase the value of the lower bound (LP-relaxation). The option of
ordering node visits seems to reduce the number of columns considerably and the
number of rows slightly. Ordering of the vehicles has no effect on the number of
columns, and quite small effect on the number of rows. The symmetry breaking
constraints reduce the total solution time quite significantly. For the instances
provided in Table 11, S1.4.3, S2.4.3 and S3.5.3, the total time in seconds without
symmetry breaking constraints is given in the first row. In the following rows the
total times including SBC, and then SBC and SBC1, SBC and SBC2 or SBC and
SBC3 is stated. Including ordering of the nodes creates a saving of 94, 96 and
97 percent in solution time, respectively for instances S1.4.3, S2.4.3 and S3.5.3.
Furthermore, including one of the options SBC1, SBC2 and SBC3 in combination
with SBC provide possible further savings. Thus, the findings clearly show that
the options of including symmetry breaking constraints are efficient and should be
included as default options. Since only one way of ordering vehicles can be used
in combination with ordering nodes, ordering the vehicles after usage seems to be
the best performing option on average. Consequently, the combination of SBC and
SBC2 is used in the default option.
The technical effects of the different options seem to vary with the instance
run. On average, SEC1 seems to have the greatest positive effects on the smaller
data instances (three requests), while SEC2 and SEC3 sometimes complicate the
solution procedure for smaller instances. However, for bigger instances with five
requests SEC2 and/or SEC3 seems to perform best and improve the solution pro-
cedure. Some of the bigger instances favor a combination of two or three SEC-
85
Table 11: Effect with Symmetry Breaking Constraints
Total Time
Instance
(seconds)
S1.4.3 (2) 868.15
S1.4.3 (2) SBC 54.26
S1.4.3 (2) SBC,SBC1 20.73
S1.4.3 (2) SBC,SBC2 10.44
S1.4.3 (2) SBC,SBC3 13.26
S2.4.3 (2) 412.43
S2.4.3 (2) SBC 14.93
S2.4.3 (2) SBC,SBC1 10.77
S2.4.3 (2) SBC,SBC2 8.05
S2.4.3 (2) SBC,SBC3 17.32
S3.5.3 (2) 8045.14
S3.5.3 (2) SBC 222.94
S3.5.3 (2) SBC,SBC1 311.13
S3.5.3 (2) SBC,SBC2 135.85
S3.5.3 (2) SBC,SBC3 156.03
86
Table 12: Effect with Subtour Elimination Constraints
Instance Best Solution Best Bound Percentage Gap
S3.5.3 (2) 1710.00 1401.44 18.04
S3.5.3 (2) SEC1 1710.00 1549.89 9.36
S3.5.3 (2) SEC2 1710.00 1325.00 22.51
S3.5.3 (2) SEC3 1710.00 1442.44 15.65
S3.5.3 (2) SEC123 1710.00 1710.00 0.00
S3.5.5 (2) 2435.00 1558.00 36.02
S3.5.5 (2) SEC1 2435.00 1547.00 36.47
S3.5.5 (2) SEC2 2435.00 1668.63 31.47
S3.5.5 (2) SEC3 2435.00 1552.16 36.26
S3.5.5 (2) SEC123 2435.00 1645.50 32.42
87
Table 13: Effect with Mixed Integer Rounding (7200)
Instance Best Solution Best Bound Percentage Gap
S1.4.14 (1) 110 8109.80 5263.05 35.1
S1.4.14 (1) 110 MIRs 8109.80 5288.90 34.8
S2.4.14 (1) 010 7357.00 6285.54 14.6
S2.4.14 (1) 010 MIRs 7357.00 6302.87 14.3
S3.4.14 (1) 110 6502.00 4740.56 27.1
S3.4.14 (1) 110 MIRs 6502.00 4786.69 26.4
These options are not activated in the default option, as the technical advan-
tages are quite neglectable in general.
88
6.2 Technical Analysis
The technical aspect of the problem is important to consider since if the problem
is so complicated that it is too difficult to find a feasible and acceptable solution
within the time provided it does not matter how efficient the solution could have
been because the operator will not manage to find the solution. Furthermore, as
the complexity of the problem increases the investments in software and expertise,
and consequently the cost of the service, increases as well. Thus, being able to
find a good enough solution in the limited time provided is necessary to be able to
provide a reliable and efficient service. Routing problems are N P -hard problems,
and integrating a demand responsive service with a fixed route service seems to
create an even more complicated problem. The focus in this thesis have been on
incorporating valid inequalities to find a solution space which is as similar as pos-
sible to the convex hull of the solution space.
In this section the technical effects on solving the problem with the different
problem features (transferring, multiple requests, walking), and varying the maxi-
mum number of node visits, varying the service time, the number of vehicles and
the size of the time windows are discussed. The problems solved in this section is
set with the following default setting of technical options; all arc elimination op-
tions, the time window strengthening option, the symmetry breaking constraints
ordering the nodes after number and vehicles after usage and all subtour elimina-
tion constraints.
To solve the problem instances Xpress IVE optimization suite is used and it
is a great tool to solve complex IP problems. The problem consists of several
complicating issues. When increasing the number of node visits the complexity of
solving the problem seems to increase exponentially. The same effects are evident
when including the option of transfer and/or the option of walking. The option of
transporting multiple requests at the same time, increasing the maximum service
time of the request, increasing the number of vehicles and regulating the time win-
dows increases the size of the problem to different extents. Small instances of the
problem are solvable within reasonable time.
89
In general the three characteristics seems to complicate the already N P -hard
problem and makes it harder and more complex to solve. On the other hand, these
characteristics often have positive economical effect and the resulting cost of op-
erating the fleet can decreases, though sometimes at a consequence of decreased
convenience for the users. To balance the reduced costs and increased user incon-
venience penalties are added to the objective function, and the results shows that
the objective value is usually still lower compared to the objective value without
the problem features.
In the Table 15 and Table 16 the number in brackets represents the maximum
number of node visits at a location. The three last numbers represents which of the
problem features (transfer, multiple requests, walking) that are activated. That is,
if the first number is 1 the option of transfer is on, the second 1 represents that
the option of multiple requests is on, while the last number is 1 when the option
of walking is on. The r represents that the ErrorRate has been set to 1.8 instead
of 0.8. In Table 15 the best solution, the total time in seconds and the pre solved
rows and columns are stated. In Table 16 the original rows and columns and the
number of rows and columns after the pre solve is given, together with the per-
centage reduction in rows and columns.
90
Table 16: Problem Features 2
Instance Org. Rows/Cols Pre. Rows/Cols Percent Reduction
S1.4.5 (2) 010 2491/1912 260/174 90/91
S1.4.5 (2) 011 2491/1957 1058/1767 58/10
S1.4.5 (2) 110 2773/1952 1119/1801 60/8
S1.4.5 (2) 111 2773/1997 1116/1817 60/9
S1.4.5 (3) 010 3159/3164 259/172 92/95
S1.4.5 (3) 011 3159/3257 1603/3047 49/6
S1.4.5 (3) 110 3792/3263 1710/3063 55/6
S1.4.5 (3) 111 3792/3356 1750/3160 54/6
However, since the requests might have to transfer between different modes of
transportation, the convenience for the users might decreases. Incorporating this
characteristic into the model considerably complicates the solution process. First
of all a set of transfer locations have to be created in addition to the regular sets
of pickup and drop off locations. Furthermore, for each transfer location a set of
nodes equal to the maximum number of node visits have to be created. Thus,
nT ransf erLocations ∗ nN odeV isits additional nodes have to be created. In addi-
tion, all possible arcs going in and out from these nodes have to be created. Thus,
the number of binary variables increases considerably since the number of arcs be-
tween pair of nodes increases. For each arc a binary variable has to be created for
each vehicle which can travel on the arc, ximjnk , (i, m) ∈ N , (j, n) ∈ N , k ∈ K,
each request able to travel on the arc, yimjnr , (i, m) ∈ N , (j, n) ∈ N , r ∈ R
and each request able to walk on the arc, vimjnr , (i, m) ∈ N , (j, n) ∈ N , r ∈ R.
Furthermore, if the arc represents a part of a fixed route, Zij = 1, binary vari-
ables have to be created for all requests able to use the fixed route on this arc,
wimjnr , (i, m) ∈ N , (j, n) ∈ N , r ∈ R. The number of ways these arcs can be com-
bined to set of routes fulfilling all requests increases with the increased flexibility.
Thus, the solution space is increased from the ordinary set of solutions to a set
of ordinary and new solutions. As a result, the optimal solution cannot be worse
incorporating the feature of transfer, but it is possible that the optimal solution is
improved. However, because of increased size of the problem and solution space
it might take longer and the software have to search through a greater number
of possibly poor solutions before finding the improve solutions. The possibility of
transfer seems to be the problem characteristic which creates the greatest econom-
ical savings, and by looking at instance S3.5.5 in Table 15 this possibility seems to
create just as good savings as including all three problem features in combination.
However, including the other two problem features usually enhance the savings
created by using the fixed route, since for example a vehicle can simultaneously
pickup or drop off several requests at a transfer location. For example, the objective
value of S1.4.5 is clearly improved by including walking and transporting multiple
requests at the same time together with using the fixed network as seen in Table
15. On the other hand, the possibility of transfer also causes the greatest increase
in the number of rows and columns of the problem, and considerably complicates
the process of finding the optimal solution. The respective solution time is thus
91
increased from less than a second to over a minute.
92
solve implemented in Xpress IVE and through the reduction techniques discussed
in Section 4 are reduced considerably. This is because as long as the distance from
a location (i, m) ∈ N to another location (j, n) ∈ N is less than the maximum
walking distance for the request, it is not possible to force a vehicle to visit the
location. Furthermore, considering the minimum number of visits to a subset of
locations the model has to exclude all locations where a request can walk in or
out from the location. Thus, many of the reduction techniques have less effect
when incorporating the possibility of walking and the complexity of the problem
increases. As an example, look at the Table 15 and instance S3.5.5, including the
possibility of walking provides a saving in the objective value but increases the size
of the problem. Furthermore, since walking takes longer compared to driving the
effects of this possibility is better if one allows for a longer service time. The possi-
bility of walking also creates the greatest economical savings in combination with
one or both of the other possibilities. This is because the possibility of walking
is often used to walk to a nearby location to be picked up together with another
requests, or to walk to or from a nearby fixed network. This can for example be
seen in S1.4.5 where allowing for using all features in combination creates greater
economical savings than only including one option.
The number of node visits that are considered when solving the problem also
affects the size of the problem. In the Table 16, considering the instance not ac-
tivating the option of transfers and walking (010), increasing the number of node
visits from 2 to 3 increases the original size of the problem by about 20 and 40
percent in rows and columns, respectively. However, the size after pre solving is
the same as with two node visits. This is quite understandably considering that
the node visits affect the number of transfer nodes, and without transfer nodes
93
the number of node visits should therefore not affect the size of the problem. For
the case with both transfers and walking (111), the size of the original problem
increases similarly when increasing the number of node visits from two to three.
However, after the pre solving, the number of rows increases by 36 percent, while
the number of columns increases by about 43 percent.
An upper bound for the set of node visits which works well on the smallest
instances is to set the maximum number of visits equal to the number of requests.
Then each request can visit the transfer location once. However, when increasing
the size of the problem the chance that each request visits every transfer location,
or that a transfer location is visited by all requests, is minimal. Thus, it might be
possible to reduce the number of node visits per transfer location without cutting
away the optimal solution. Reducing the number of node visits, while holding the
number of transfer locations fixed, reduces the size of the problem. For a bigger
fixed network the effect of changing the number of node visits are increased since
changing the number of node visits from n to n+1 increases the number of nodes by
nT ransf erLocations. That is, when increasing the number of node visits the size
of the problem increases considerably because a whole new set of transfer locations
is created with their own sets of arcs to and from the locations. As a consequence, it
is beneficial to keep the maximum number of node visits as low as possible without
cutting away the optimal practical solution. As an example Table 17 and Table 18
display details for the instance S1.4.5 with four transfer locations and five requests.
For these solutions all problem features (transfer, multiple requests, walking) are
activated. The solution time is set to 30 minutes (1800) and the number of node
visits are varied from one to five. The option of flexible node visit is off so that
94
all transfer locations have the same number of nodes per location. Table 17 shows
the number of rows and columns for the original problem and the problem after
pre solve for instance S1.4.5 for different number of node visits. In addition, the
percent reduction after pre solve of the problem is stated in the last column. For
example, for the first row in Table 17, the instance run is S1.4.5 with one node
visit. The original number of rows is 1978 and during the pre solve the number of
rows are reduced by 68 percent to 631 rows after pre solve. Table 18 gives the best
solution, best bound and resulting gap after 30 minutes solution time. The number
of rows and columns increases considerably as the number of node visits increases.
Furthermore, the reduction in the problem after pre solve decreases as the number
of node visits increases. The increased problem size increases the solution time of
the problem. From Table 18 it is reasonable to assume that instance S1.4.5 does
not require more than one visit per location for finding the best possible practical
solution. Thus, even though the instance have five requests, only one node visit
per transfer location is necessary. Furthermore, with one node visit per transfer
location the problem is solved in neglectable time. Increasing the number of node
visits to two increases the solution time to five minutes. Furthermore, increasing
the number of node visits to three result in nine percent gap in 30 minutes. For the
instance run with five node visits per transfer location, Xpress does not manage to
find a feasible solution within the time provided (30 minutes). To find a feasible
solution to instance S1.4.5 with five node visits, the software needs almost two and
a halve hour solution time, and the gap for the first feasible solution is between 15
and 20 percent. Thus, it is great benefits to be achieved by restricting the number
of node visits on some or all locations. However, bigger instances or structurally
different instances might require a higher number of node visits for all or some of
the transfer locations.
The details of instances S2.4.5r and S3.5.5r, where the ErrorRate is set to 1.8
instead of 0.8 and the solution time is set equal to four hours (14400), is shown in
Table 19. Again the instances are solved with all problem features, and the number
95
of node visits is stated in brackets. For instance S2.4.5r, increasing the number of
node visits from two to three node visits makes the problem too difficult to find a
feasible solution within the four hours provided. With instance S3.5.5r increasing
the number of node visits from one to two allows for request 1 to travel from lo-
cation 13 to 12 with the fixed route, and thus manages to walk to its destination
at location 6. With only one node visit per location this is not possible because
request 2 visits location 12 on its trip from pickup to drop off location. Thus, in the
case with one node visit request 1 has to be transported by vehicle from location 13
to its destination at location 6. Including another node visits thus create a saving
off 284 in fleet operation cost and an increase of 132 in penalties, for a total saving
of 152 in total. However, as mentioned earlier, increasing the number of node visits
considerably complicates the problem, so it is beneficial to find and use the least
number of node visits which does not restrict the practical problem too much.
In the instances mentioned above the number of transfer locations are four or
five, but some instances with bigger fixed networks have also been tested. The
bigger fixed network consisting of seven to nine transfer locations respectively and
are illustrated in Appendix A.3. For the instances B1.7.4, B2.8.4 and B3.9.4, with
four requests, setting the number of node visits to one allows for the problems to be
solved within about 75 minutes. On the other hand, increasing the number of node
visits to two, only the instance with seven transfer locations reaches the 20 percent
gap in four hours. Thus, increasing the number of transfer locations makes the
problem considerably more complicated to solve and increases the growth in com-
plexity when increasing the number of node visits with one. In detail, the number
of rows and columns in the problems with seven to nine transfer locations increases
considerably (to about twice the size) when increasing the number of node visits
from n to n + 1. Furthermore, the reduction in rows and columns decreases when
increasing the maximum number of node visits. As a consequence, when increasing
the number of node visits the process of solving the instance becomes considerably
more complicated.
That is, increasing the number of node visits from one to two nodes per location
might increase the solution space and make it possible to find better solutions. This
is because all feasible solutions for maximum n visits per location is also feasible
for maximum n + 1 visits per location. In addition, some solutions with n + 1 visits
per location is also included in the solution space. However, the improved solutions
96
are considerably more complicated to find and might not be possible to find in the
time provided, and the resulting solution after the time runs out might be worse
and maybe even unfeasible. Thus, it might be too difficult to find a better or even
an as good solution as with one node visit if two node visits are allowed for the
instance. In this case then, the importance is to limit the size of the problem so
an acceptable solution can be found, instead of searching for the optimal practical
solution and when the solution time limit run out being left with no solution at all.
The IDARP implementation considers not only changing the number of node
visits for all transfer locations but also the option of setting the maximum number
of node visits independently for the transfer locations. With this option it might be
possible to keep the size of the problem small while not reduce the flexibility. For
example, consider a setting where one or a few of the transfer locations are visited
by all the requests while the rest of the transfer locations are visited at most one
time. Instead of setting the number of visits to the same number as the number
of requests, it is possible to set the number of maximum node visits to one for all
transfer locations except for the one or few locations which needs the node visits to
be at least the number of requests, and the resulting problem is smaller. Details of
instance R1.4.6 run with node visit sets of [1111], [1133] and [2222] is provided in
Table 20. The total time in seconds (and percentage gap) together with the rows
and columns of the problem is stated. In addition, the best solution found in all
cases where 2983.6. The number of original rows and columns are greatest with
the individually based node visits, while after pre solving the number of rows and
columns are greatest for the problem with two node visits per transfer location.
This is because in this case the locations that have the highest number of node
visits are used in more constraints creating a higher number of initial rows. On the
other hand, it looks like these locations are included in more reduction techniques
resulting in a greater reduction in set of constraints and thus eliminates a greater
number of rows. The instance run with two node visits per transfer location does
not manage to solve the problem to optimality and it is clear that the complexity
of solving this problem is greater than for the two other options.
Thus, there is a trade-off when increasing or reducing the number of visits per
location: Increasing the number of visits per transfer location might provide a bet-
ter solution and the possibility of finding the optimal practical solution. However,
increasing the number of node visits considerable complicate the problem of finding
both feasible and improved solutions.
97
6.2.3 Varying Characteristics of Requests and the Vehicle Fleet
In addition to the problem features and the number of node visits, a few charac-
teristics of the requests and the vehicle fleet might affect the complexity of solving
the problem. The most important factors are the maximum service time for the
request, the number of vehicles in the fleet and the time windows for pickup and
drop off for the requests. This section discusses some important technical aspects
of varying the maximum service time, the fleet size and the time windows for the
requests.
First of all, increasing the ErrorRate, and thus the maximum service time of
the requests, increases the complexity of the problem, especially if it allows for
a greater use of the problem features. This is because additional arcs and thus
additional solutions are feasible. For instance, the number of possible arcs which
can be used increases and the number of arcs that are eliminated considering time
window restrictions are reduced. Thus, several solutions have to be search through
during the solution process and this complicates the solution process. As an exam-
ple the details of the number of rows and columns in S3.5.5 with two node visits
and ErrorRate 0.8 and 1.8 are given in Table 21. The increase in the problem size
increases slightly, but since the pre solving manages to reduce the problem size less
with an ErrorRate of 1.8 the resulting problem size is larger. In this example the
number of rows are increased by 13 percent, while the number of columns increase
by nine percent.
As evident in Table 15 (rows five and six, and rows eleven and 12), with in-
stances S1.4.5 and S3.5.5, the number of rows and columns and the total solution
time increases as the maximum service time is increased (the r represents that
the ErrorRate is set to 1.8, instead of 0.8). This is because additional arcs and
thus additional solutions are feasible. Thus several solutions have to be search
through during the solution process and this complicates the solution process. On
the other hand, increasing the maximum service time for the requests (and thus
probably lowering the user convenience) might result in an optimal solution with
a lower objective value as for example S3.5.5 (rows eleven and 12).
Increasing the size of the time windows for the requests increases the number of
solutions in the solution space and makes it more complicated to find the optimal
solution, but probably easier to find a solution. On the other hand, narrowing the
time windows makes it possibly more difficult to find the feasible solutions, but the
solution space is smaller so the number of solutions to search through before finding
the optimal solution is reduced. Table 22 and 23 provide details for instance H1.4.6
98
incorporating all problem features. stw is added to the name of the instance if the
width of the time windows are reduced to half their size, while btw is added to
the name if the size of the time windows are doubled. The first column gives the
best feasible solution, the second column gives the total solution time in seconds,
while the two last columns provides the original rows and columns and the num-
ber of rows and columns after the pre solve, together with the resulting reduction
during pre solve. It is evident from the table that narrowing the time windows
actually reduces the time to completion, but that the resulting objective function
is higher. For example, instance H1.4.6 with narrow time windows makes it pos-
sible to find the optimal solution in less than half the time than for the instance
with regular time windows. Considering the rows and columns of the problem as
well, the number of rows and columns decreases when narrowing the time windows.
Furthermore, the pre solve manages to reduce the size of the problem to a greater
extend than with regular time windows. On the other hand, increasing the size
of the time window increases the solution time and the problem is not possible to
solve to optimality within four hours. In addition, the effect of the pre solve is
significantly reduced for the rows, from 71 percent with regular time windows to
48 percent with big time windows.
Varying the number of vehicles in the fleet affect the size of the problem, and by
increasing the fleet size the problem size increases as well. For each vehicle in the
fleet a set of binary variables are created specifying which arcs the vehicle are able
to travel on. Thus, when increasing the number of vehicles in the fleet, the number
of variables increases. In addition, the number of constraints increases, especially
since some constraints are created for each vehicle in the fleet. Furthermore, the
number of set of routes which fulfill all request and the number of symmetric solu-
tions increases, thus increasing the solution space.
Increasing the load capacity of the vehicles might also affect the complexity of
the problem. With increased capacity the number of arcs (binary variables) that
99
are possible to use for the vehicle and thus have to be created increases, and this
increases the size of the problem. Additionally, the number of feasible routes in-
creases with a higher load capacity, and the resulting solution time for the problem
is often increased. The increase in rows and columns of the problem is evident for
instance R1.4.6 (activating all problem features) in Table 24. The term m is added
to the instance when the vehicle load capacity is increased from four to eight. The
table states the best feasible solution found, the total solution time in seconds, and
the original and pre solved rows and columns of the problem. Using vehicles with
capacity of eight people create the need to increase the solution time with four to
five times the solution time of the problem with regular capacity of four vehicles.
On the other and, increasing the load capacity might lead to economical savings
for the vehicle fleet.
To conclude, increasing the ErrorRate, and thus maximum service time, allow
for a greater use of different problem features of transferring, multiple requests and
walking, and thus increases the complexity of the problem and makes it more diffi-
cult to solve. Furthermore, varying the time windows might affect the complexity
of the problem and narrower time windows decreases the solution space and makes
it possible to solve the problem faster to optimality, but might make it more dif-
ficult to find the feasible solutions. Increasing the number of vehicles in the fleet
and increasing the load capacity of the vehicles increases the size of the problem
and as a consequence increases the time of finding the optimal solution.
For the smaller fixed network with four or five transfer locations instances be-
tween three and 15 requests are solved. Details of the instances with five requests
are provided in the Table 25. The table states the best solution, total solution time
in seconds and rows and columns after pre solve. The maximum solution time is
set to four hours (14400), and the optimal solution is found for all instances except
for S3.5.5(2) which has a resulting gap of nine percent after four hours. Table 25
illustrates that when increasing the number of node visits from one visit to two
visits the solution time of the problem increases significantly. The number of rows
100
and columns are almost doubled when increasing the number of node visits from
one to two. For example, S3.5.5r increase from 759 rows to 1435 when increasing
the number of node visits from one to two. Similarly, the solution time increases
from 23 seconds to three hours and 15 minutes for instance S3.5.5r. Notice that the
size of instance S3.5.5 which is the biggest of the small instances increases slightly
more than the other instances when increasing the number of node visits from one
to two. On the other hand, increasing the number of node visits from two to three
a feasible solution is only found for instance S3.5.5(3) within four hours.
The best feasible solution, bound and the resulting gap for the instances with
seven and nine requests are given in Table 26. The instances with seven requests
and one node visits are solved within 30 minutes, while if the instances are run with
two node visits the resulting gaps are 16, 16 and 36 percent after four hours, re-
spectively. For the smaller fixed network with four or five transfer locations Xpress
manages to find feasible solutions for the instances with up to nine requests and
one node visit within reasonable time. However, only one of these instances are
within ten percent gap after four hours. If the number of node visits are increased
from one visit to two visits, the software only manages to find a feasible solution to
one of the instances S3.5.9r, and the resulting gap is at 40 percent after 12 hours.
Increasing the number of requests to eleven and using fixed networks of four to five
transfer locations (S1.4, S2.4 and S3.5) the software only managed to find a feasi-
ble solution for the instance with fixed network S2.4 after 12 hours. The resulting
gaps are then 40 percent for instance S2.4.11r and 50 percent for instance S2.4.11.
Considering the bigger fixed network with seven to nine transfer locations, one
node visit, and four requests the implemented problem manages to solve the in-
stances within 20 minutes. However, increasing the number of node visits from one
to two for the transfer locations considerably complicates the solution process and
the resulting gap is 17 percent gap for B1.7(2) having seven transfer locations and
101
Table 26: The Size of the Problem (14400) 2
Percent Gap
Instance Best Solution Best bound
(Time seconds)
S1.4.7 (1) 3052.00 3052.00 0 (164.22)
S1.4.7 (2) 3106.00 2603.85 16
S2.4.7 (1) 3105.20 3105.20 0 (197.21)
S2.4.7 (2) 3111.20 2610.16 16
S3.5.7 (1) 2538.00 2538.00 0 (1377.44)
S3.5.7 (2) 2665.00 1702.75 36
S1.4.9 (1) 4037.80 3291.25 18
S1.4.9r (1) 3709.60 3062.04 17
S2.4.9 (1) 3620.00 2733.36 24
S2.4.9r (1) 3450.00 2509.49 27
S3.5.9 (1) 2950.00 2659.03 10
S3.5.9r (1) 3086.00 2234.98 28
29 percent for instance B3.9(2) with nine transfer locations. The solution time for
the instances are still acceptable, and it is reasonable to assume that a few more
requests can be added in the instances.
As mentioned earlier the instances with nine requests are the biggest instances
which are solvable in acceptable time, if all problem features are activated, as they
have 18, 24 and ten percent gap after 12 hours solution time. However, without
these options a lot larger instances can be solved, and even the instances with
15 requests can be solved within 15 minutes without activating any of the three
options. Thus, when including the options instances with up to nine request and
five transfer locations (one node visit) can be solved in acceptable solution time,
while without the problem features instances with a considerably greater number
of visits can be solved.
To sum up, the implementation manages to solve instances with nine requests
and five transfer locations (one node visit) if all problem features are activated.
When increasing the number of node visits from one to two solvable instances can
have up to seven requests. On the other hand, without activating problem features
Xpress manages to solve problems with 15 requests in less than 15 minutes. Thus,
including the problem features considerable complicate the problem, and makes it
possible to solve small instances of the problem.
102
6.3 Economic Analysis
As already mentioned, including the problem features tend to create possible cost
savings for operating the service, but at the same time usually lower the user con-
venience. In addition, including the possibilities of transferring to fixed network,
transporting multiple requests in the same vehicles and letting the requests walk
some part of their trip, considerably complicates the solution process, which might
make it necessary for the operator to invest in more advanced decision support sys-
tems. This section looks at economical advantages and disadvantages for including
the problem features. The analysis is based on results from solving several sets of
instances and the different fixed networks and details of some of the instances are
presented in Appendix A. The details consists of the different costs and penalties,
and routes of the vehicles and trips for the requests are provided in Appendix A
for the instances discussed in this section.
If only one of the problem features (transferring, multiple requests and walk-
ing) is to be incorporated into the problem, the possibility of transferring to other
networks provides the greatest economical savings for the fleet. Thought, this pos-
sibility also creates a considerably drop in user convenience. The possibility of
transporting multiple requests at the same time can also lead to reduction in the
fleet costs since routes can be scheduled more efficiently. However, the penalties
in this model do not consider the loss of convenience for the users of having to
share the vehicle with other requests. The last problem characteristic, allowing
the requests to walk some part of the trip, has minimal effect on the problem if
only this possibility is activated, but can provide further savings in combination
with other problem features. Since the distance the requests are able to walk is
set on an individual basis, it is reasonable to assume that the drop in convenience
is not significantly, because then the request can set the distance to zero. Acti-
vating all problem features in combination might create further savings, especially
if the ErrorRate is increased. However, combining several problem features, and
especially if the ErrorRate is increased, the drop in user convenience is similarly
increased. Varying the characteristics of the requests and vehicle fleet might also
affect the practical solution. For example, increasing the capacity of the vehicle
might make it possible to take greater advantage of transporting several requests at
the same time. However, most of the problem features and possibilities that creates
flexibility for the operator and possible inconvenience for the users increase the so-
lution space, and the operator might need more advanced software and knowledge
to find the efficient solutions.
103
From the Operators and the Drivers Point of View:
As already mention the possibility of transferring between modes of transport can
increase the flexibility of the service in that a vehicle does not have to transport
a request all the way from its pickup to its drop off location. Thus, the operator
has greater flexibility to create efficient routes for the vehicles. Considering the
different problem features studied in this thesis, the possibility of transferring to
different modes of transport clearly provides the greatest economical savings for
the problem. This is evident from the results in Appendix A.2. For the instance
S1.4.5 (Table 41) the percentage savings for the operation fleet is 0 including only
walking, 16 including transporting multiple requests, 22 including transfers and
39 including all options in combination. Thus, considering including single prob-
lem features, the possibility of transfer provides the best economical savings of 22
percent. For the case with five requests and network S3.5 (Appendix A.2.3) the
economical savings for the fleet is 28.6 percent, while including the penalties for
user inconvenience the savings are reduced to 24 percent. Considering the trips of
the vehicles, including the possibility of using a different mode of transport allow
for request 2 to be transported by vehicle to transfer location 14, where the request
is able to use the fixed route to its final destination. Furthermore, request 5 is able
to use the fixed route to transfer location 14 where it is picked up by vehicle 2.
However, notice that location 5 and location 14 are located at the same physical
location. Thus, the benefits of traveling to location 14 is that the request can leave
its pickup location without making a vehicle do a detour to visit location 5 within
the time window for pickup. As a result it is possible to schedule more efficient
routes for the vehicles.
The increased flexibility makes it possible for the operator to divide the area
into zones and let each vehicle focus on one zone. The driver can increase their
control of the characteristics in their zone. When the vehicles focus on smaller
geographic zones the distance between the request and thus the time the vehicles
drive empty should be less than if the requests are spread in bigger geographic
area. If a request is suppose to travel across zones, it can be set off at a transfer
location where another vehicle can pickup the request. Furthermore, if the zones
are connected with a fixed route the vehicles does not have to drive all the way
to the end of the zone but can set of the request at a transfer location and the
request can use the fixed network into the other zone. As an example, consider
instance R1.4.6 (Table 37 and Table 38 in Appendix A.1.3), where the network
is quite sparse. Incorporating the problem characteristic, vehicle 1 can transport
request 1 and request 2 which is located far from the other locations to a central
location near drop off for location 1 and the transfer location 17. From there,
request 2 is able to use the fixed route to another part of town and to its drop off
location. Similarly, vehicle 2 can focus on the more populated area with several
requests. Thus, vehicle 1 does not have to travel to the zone for vehicle 2 even
though request 2 are going into this area.
The possibility of transfer makes it possible to let the demand responsive vehi-
cles operate in dense and centralized areas while the consumers who are traveling
to the less populated areas can travel by a fixed route. For example, C1.7.3 (Table
104
35 and Table 36 in Appendix A.1.2) illustrates a well established fixed network.
Here the economical benefits for the operator and fleet is quite great, especially
if the ErrorRate is relaxed from 0.8 to 1.8 and the other problem features are
incorporated as well. Then, the vehicles focus on transporting the requests in the
city center and the requests going in or out of the city center use the fixed route.
In detail, request 2 and request 3 walk to the fixed route and take the fixed route
into the city center, at location 11. Here a vehicle picks up the requests and trans-
port them to their final location within the city center. Furthermore, request 1 are
driven to transfer location 9 where it takes the fixed route to its final destination.
Equally, if a fixed network can transport the request into and within a central area,
the vehicle fleet can focus on the more rural areas where requests are spread and
it does not exists a well-established fixed network. If a request is going into the
central area, a vehicle can transport the request to the nearest transfer location
where they can use a fixed route into the central area.
From the drivers point of view the zone might create less variable work. In
addition, since the drivers does not necessary transport the requests all the way,
and probably transport a higher number of passengers per day, they might get less
contact with their customers. The limited contact might be beneficial for some
drivers, but might create a less satisfactory working environment for the other
drivers.
On the other hand, some requests might not find the transfers that inconve-
nient. Especially, price sensitive customers might prefer the drop in convenience
caused by transfers if this result in a lower overall cost of the service. Thus, the
possibility of transfer lowers the convenience for the users. However, it is difficult
to say to what extent since if the problem characteristic makes it possible to charge
a lower price for the service, some customers might prefer the loss of convenience
if the reduction in price is sufficient.
105
6.3.2 Transporting Multiple Requests at the Same Time
In a regular taxi service the vehicles transport one request at the time, except for
a few cases when the requests themselves take the initiative to travel together.
However, in the problem considered in this thesis the possibility of transporting
multiple requests at the same time is incorporated. This section considers the ad-
vantages and the disadvantages for the operator, drivers and the users.
Consider the case where there are two requests located at a similar pickup lo-
cation (or drop off location). Using a regular taxi service the requests have to
be transported in sequence, either by two separate vehicles or one vehicle traveling
back and forth. The IDARP formulation allows one vehicle to pickup both requests
and delivers them if the combined load does not exceed the capacity of the vehicle.
For example, for instance C1.7.3 (Table 35 and Table 36 in Appendix A.1.2) these
benefits are evident. With the possibility of transporting multiple requests at the
same time, the vehicle can pickup request 2 and request 3 located at the same
physical location, and transport it to their respective drop off locations. However,
without this option two vehicles have to pickup the requests at the same physical
location and transport them into the same area for drop off.
In the R1.4.6 (Table 37 and Table 38 in Appendix A.1.3), where the network is
quite sparse, there are possible cost reductions to be made by transporting multiple
requests in combination. In this case two of the requests, request 1 and request 2,
are located far away from all the other requests and most of the fixed route. Then,
a vehicle can pickup both requests at the same time and transport them into a
more central area. This decreases the distance travelled and usage of vehicles com-
pared to if the vehicles have to take two trips to the area. In addition, another
vehicle can pickup request 3 and then pickup request 5 before dropping off request
3 and then request 5. Notice, that by using vehicles with greater load capacities
the advantages of transporting multiple requests at the same time increases. For
example, vehicle 2 uses a time of 296 time units with a capacity of four, but only
274 with a capacity of eight. This is because the vehicle can pickup request 3,
then request 5, deliver request 3, then pickup request 6 and drop off the requests
in turn. In this way the vehicle is able to finish up in one area before moving on
to another area, and further savings occur. However, it is important to make sure
106
that the cost per head in the vehicle is lower using the multi vehicles compared to
regular vehicles.
From the drivers point of view, some drivers might find it stressful to coordinate
the seating and differing preferences for the different requests traveling together.
For example, some requests might prefer a higher temperature than other requests.
Thus, the driver might find it difficult to satisfy all users at the same time, and
this can create a stressfull working environment for the drivers.
Some requests might prefer a lower service cost and sharing vehicle, than trav-
eling alone at a higher cost. Similarly, if the different requests are going from or to
the same location and know each other, they might prefer to be able to go together,
and especially if this is a cheaper transportation alternative per head.
The possibility of walking by itself has minimal effect on the problem because
even though the request can walk to a location in the area nearby, it cannot be
107
picked up from this location as long as none of the other problem features are in-
corporated in the implementation. This is since the implementation does not allow
a vehicle to visit a location without picking up or delivering the request associated
with the location. As a consequence, the possibility of walking is only practical if
one or both of the other problem features are activated. For example, by including
all problem features request 1 in instance S3.5.5 is able to take itself from pickup to
drop off with the help of the fixed route and by walking. Another example is given
in instance S3.5.7 where request 3 is able to walk to pickup location of request 7,
where both requests are picked up by vehicle 1.
In the instance R1.4.6 (Table 37 and Table 38 in Appendix A.1.3) two of the
requests, request 1 and request 2, are located far away from all the other requests
and most of the fixed route. Including the possibility of walking in combination
with the other problem features allow for request 1 to walk to pickup location of
request 2 where both request can be picked up by a vehicle and thus the vehicle
does not have to pickup both request at their respective locations. Furthermore, in
the instance C1.7.3r (Table 35 and Table 36 in Appendix A.1.2) request 2 and 3 is
located away from the rest of the location but close to a fixed route. Including the
possibility of walking in combination with the other problem features and relaxed
ErrorRate allow for the requests to walk to the nearby transfer location 10, where
they can take the fixed route into a more central location and be picked up by a
vehicle located nearby. As a consequence, a vehicle does not have to travel to the
area just to pick up the requests, and the fleet cost is reduced by 36 percent, from
1201 to 772.
108
driver and user of including all problem features.
Table 27 shows result from instance with seven requests and the networks S1.4,
S2.4 and S3.5. Furthermore, the number in brackets represents the number of
node visits, while the three last binary numbers represents which problem features
are activated. The best solution and the total solution time in seconds are given
in Table 27. For example, for instance S1.4.7(1) the optimal solution is given both
including no problem features (4700.00) and all problem features (3105.20), and the
reduction in row three state the improvement in the objective value for including
the problem features (in this case a saving of 34 percent).
For the three instances with seven requests (S1.4.7, S2.4.7 and S3.5.7), the
109
economical savings including the problem features were 34, 12 and 32 percent in
total, respectively (see Table 27). Furthermore, the details for the different cost
and penalties for the instances with and without the problem features, are given
in Appendix A.2. Without any of the problem features the vehicle fleet have to
pickup the request and transport it to its drop off location right away. For the first
case S1.4.7 activating the problem features makes it possible to use two vehicles
instead of the original four vehicles which has to be used without the problem fea-
tures. For example, request 5 are able to walk to request 4, and then both requests
are picked up at location 4, transported to requests 4’s drop off location before the
vehicles travels to drop off request 5 at it destination location. Similarly, request 3
walks to pickup location for request 7 where a vehicle picks up both requests and
deliver them at their respective drop off locations. Furthermore, the possibility of
using the fixed route lets request 1 be able to take the fixed route from its pickup
location and to a nearby transfer location in proximity of the drop off location for
request 1. More importantly, one vehicle is able to pickup request 2 transport it to
transfer location 17, set it off while picking up request 1, and then deliver request
1 at its drop off location, while request 2 uses the fixed route between location 17
and 16, where another vehicle picks it up and drops it off at its drop off location.
Including all problem features creates economical saving of almost 40 percent for
the fleet costs. However, an increase in penalties lowers the savings to 34 per-
cent in total. Similar effects are seen for the other instances as well. For example
instance S2.4.7, where a vehicle can pickup request 7 and then pickup and drop
off request 3, before the vehicle picks up request 5 and deliver request 7 before it
delivers request 5. In instance S3.5.7, request 3 walks to request 7, and at location
7 a vehicle picks up both requests and transport them to their respective drop off
locations. Furthermore, a vehicle picks up request 2 transport it to transfer loca-
tion 18, where it sets of request 2 and picks up request 5 and deliver request 5 at
its drop off location, while request 2 are able to use the fixed route the last part
of the trip. This causes economical savings for the operator when scheduling the
fleet. The examples illustrates the possible economical savings from including the
problem features, and the tables in Appendix A.2 show the detailed costs of the
different model runs. On the other hand, the complexity of the problem increases
considerably when incorporating the problem features. Thus, greater investments
in software and expertise might be necessary for the operator to manage to find
feasible and acceptable solutions. Similarly, the routes for the drivers will be more
divided between different requests, and the driver will not necessary transport the
request all the way to the final destination.
Similar effects are seen for the bigger instances with nine requests, and Table
28 shows the best solution found, the best bound and the resulting gap after 12
hours. − represents that Xpress does not manage to find a feasible solution in the
time provided (12 hours). The values are given for the three instances without
problem features and including all problem features, and with one or two node
visits for the transfer locations. For example, for S3.5.9, the best solution found
without the possibility to transfer, transport multiple requests and for the requests
to walk, is 4189. However, including the problem features, and setting the number
of node visits to one, reduces the cost of the fleet to 3107. Notice that Xpress has
110
not managed to solve the instance to optimality within the time limit of 12 hours
so even better solutions than 3107 might exist. Similarly, increasing the number
of node visits to two allows for a greater use of the transfer locations and reduces
the objective value to at least 3061. As evident from the table, the economical
savings when increasing the number of requests are higher than for the smaller
instances because a higher number of requests makes it possible to take advantage
of the problem features and in this way schedule the vehicle routes more efficiently.
For example, instead of just dropping of a request at a transfer location, with a
higher number of requests, there might be a request waiting for pickup at the same
transfer location or in the area nearby which can be picked up. Thus, more of
the routes for the vehicles are used efficiently to transport requests. At the same
time, the complexity of finding these efficient routes increases, thus increasing the
investments in software and makes the work for the operator more difficult.
111
6.3.5 Varying the Load Capacity of the Vehicle
The load capacity of the vehicle is the number of passengers, bags and equip-
ment the vehicle is able to transport. The vehicles considered in this problem are
homogeneous and can transport four or eight passengers at the time. Here, the
advantages and disadvantages of varying the load capacity for the transportation
service and the requests are considered.
Instances R1.4.6 is run both with a regular vehicle capacity of four passengers
(R1.4.6) and with a vehicle capacity of eight passengers (R1.4.6m) (Table 37 and
Table 38). Increasing the capacity of the vehicles allow for a vehicle to pickup
request 6 when it is in the neighborhood of the request, instead of going back for
the request after dropping off request 5. Thus, it is possible to lower the cost of the
fleet since vehicle 2 are able to drive a shorter route. The decrease in fleet costs
are 3.7 percent, with a resulting total objective value saving of 2.3 percent.
112
6.3.6 Varying the Time Windows of the Requests
Narrowing and relaxing the time windows for pickup and drop off of the requests
affect the problem since with relaxed time windows the operator has more flexibil-
ity to schedule the requests as they wish and thus possible create more efficient and
cheaper routes, while narrow time windows provide little flexibility when deciding
the schedule of the requests. In the IDAR implementation the time windows for
pickup is given in the instance and from this data the time window for drop off is
calculated. Thus, if the initial time window is wide for the request the resulting
final time window is wide. This section considers the effects of narrowing and re-
laxing the time windows for the operator, drivers and the users.
113
cles are needed to fulfill all requests. However, the gap between upper and lower
bound for the instance with big time windows is 24 percent after four hours and it is
possible that the optimal solution has a lower cost than the upper bound of 3662.80.
From the drivers point of view, loose time windows allow for drivers to be less
concerned about delays, since the requests do not know when they are being picked
up during the request anyway. On the other hand, if the time windows are narrow,
this allows little room for delay during the route.
114
From the Operators and the Drivers Point of View:
Allowing for a larger ErrorRate, and thus service time, creates flexibility for the
operator when scheduling the routes of the vehicles and makes it possible to use
slower modes of transport, as for example using the fixed routes or walking. This
might create savings for the vehicle fleet because they will need to transport the
request a shorter part of their trip.
115
fulfill all requests, while if the ErrorRate is relaxed only two vehicles are needed
to fulfill all requests since requests.
For some requests and especially those who have problems when transferring
between modes of transport the loss in convenience might be so great that they
chose to take their business elsewhere. However, some requests are more price sen-
sitive and might prefer a few transfers and a longer service time if this makes the
cost of the service is lower.
116
off between cost and convenience there is a trade off between cost savings for the
operational fleet and an increase in cost of finding an acceptable solution.
117
7 Conclusion
In this thesis an integrated dial-a-ride model has been presented. The integrated
dial-a-ride problem is a version of the pickup and delivery problem where the load
represents a number of people. The model has to fulfill a set of requests by schedul-
ing a vehicle fleet. In this case, some part of the request can be performed by a
fixed route service and the requests which are able to can walk some part of the
service. At the same time the goal of the model is to minimize fleet operating costs
and user inconvenience.
Different solution methods have been proposed to solve the problem in the
literature. The main exact solution methods are branch-and-bound and column
generation methods. Metaheuristics have also been proposed to solve bigger in-
stances of the problem, where a spectrum of solution methods are tried: Different
types of construction and insertion based method, local search based methods (for
instance simulated annealing and tabu search), and other types as for instance ge-
netic algorithms and combinational methods. In addition, several different problem
features have been discussed in the literature. The model presented in this thesis
is a static problem considering minimizing the cost of the fleet and the penalties
for user convenience. The vehicle fleet is homogeneous, centered at a depot and
contains a fixed number of vehicles that can be used. Each vehicle has a specific
usage and load capacity. The requests specifies a pickup and drop off location, a
time window for pickup, and a load to be transported together with a maximum
walking distance. The requests can be transported by vehicles, transfer between
vehicles and to a fixed network, and walk some part of the trip.
118
the problem too difficult to solve. Since often a few node visits are enough and
the operator might end up with a worse solution with too many node visits since
there is not enough time to search through the entire solution space, setting the
number of node visits to two seems to work well in the instances tested in this thesis.
The N P -hard problem has been solved using Xpress IVE optimization suite,
and manages to solve small sized problem. Problems with one node visit, five trans-
fer locations and nine requests are solved within reasonable time. Considering two
node visits, problems with five transfer locations and seven requests are solvable
within reasonable time.
119
8 Future Research
The main technical and implementation issues to consider further can be divided
into (1) creating a more efficient formulation and a more sophisticated solution
approach to be able to solve bigger instances in reasonable time, and (2) making
the problem more realistic and applicable for real life.
120
approximated method. The model can also be solved by metaheuristics. Several
methods, for example local search methods (tabu search and simulated annealing)
seem to provide quite good results. One of these methods can be modified to solve
the IDARP presented in this thesis.
For price sensitive customers it should be possible to consider the value of lower
service cost for the requests, and this factor can be valued similar as the three
existing factors. The cost of the service can be set in many different ways and one
is provided here. Firstly, a base cost for providing the service is considered. Next,
a cost corresponding to the direct distance between pickup and drop off location
is added. Then, a fixed cost for each transfer during the trip and/or a part of the
cost corresponding to the distance saved by taking a fixed route can be subtracted.
Furthermore, a cost can be subtracted if there is another request in the vehicle
during a part of the service. Determining the costs corresponding to the different
elements might be difficult to do, and as a minimum it is necessary to make sure
that the demand responsive service has enough income to cover all costs of oper-
ating the fleet and providing the fixed route service.
To balance costs and convenience an algorithm comparing cost savings and loss
of user convenience can be used. This can be done by creating evaluation functions
and add these as restrictions in the problem instead of penalizing them in the ob-
jective function. Some examples of factors to consider are: (1) Allow an increase
in service time if this lowers the cost in a special manner, (2) if there are more
transfers than two a certain cost saving should be achieved, and (3) if the request
has to share the vehicle with another request there should be a certain amount of
cost savings. The details of these evaluation functions might be difficult to find and
estimate, and is therefore not considered here. Furthermore, there might also be
appropriate to have an upper bound on the factors measuring the user convenience
so to make sure that the quality of the service cannot fall below a lower bound.
The fixed route is assumed to be the same mode of transport and it is assumed
that the fixed route always is a slower way of traveling than using a vehicle. How-
ever, a more realistic approach could be to consider different fixed network with
different velocities. For example, there can be great benefits from using a fast
velocity train between different cities. It can also be assume that the cost of trav-
121
eling with the fixed route network is covered by the demand responsive service,
so the cost of using the networks has to be considered in the objective function.
Furthermore, these costs can be individual for the different networks. In addition,
the fixed route networks are assumed to have so frequent departures that a request
is able to depart as soon as it arrives at the transfer location. A more realistic
assumption is to include a time table for the departure of the fixed network, or
assume an expected waiting time at the transfer location. The time table and/or
expected waiting time could also be individual for the respective networks.
122
References
M. Aldaihani and M. Dessouky. Hybrid scheduling methods for paratransit oper-
ations. Computers and Industrial Engineering, 45:73–96, 2003.
A. Alshamrani, K. Mathur, and R.H. Ballou. Reverse logistics: simultaneous design
of delivery routes and return strategies. Computer and Operation Research, 34:
595–619, 2007.
D. Applegate, R. Bixby, V. Chvátal, and W. Cook. Finding cuts in the tsp (a
preliminary report). DIMACS Technical Report, 95-05, 1995.
D. Applegate, R. Bixby, V. Chvátal, and W. Cook. On the solution of traveling
salesman problems. Documenta Mathematica, Extra volume ICM, 3:645–656,
1998.
D.L. Applegate, R.E. Bixby, V. Chvátal, and W.J. Cook. The traveling salesman
problem: A computational study. Princeton University Press, 2006.
A. Attanasio, J.-F. Cordeau, G. Ghiani, and G. Laporte. Parallel tabu search
heuristics for the dynamic multi-vehicle dial-a-ride problem. Parallel computing,
30(3):377–387, 2004.
E.K. Baker. An exact algorithm for the time-constrained traveling salesman prob-
lem. Operations Research, 31(5):938–945, 1983.
R. Bent and P. Van Hentenryck. A two-stage hybrid algorithm for pickup and
delivery vehicle routing problems with time windows. Computer and Operation
Research, 33:875–893, 2006.
G. Berbeglina, J.F. Cordeau, I. Gribkovskaia, and G. Laporte. Static pickup and
delivery problems: A classification scheme and survey. TOP (2007), 15:1–31,
2007.
K. Bergvinsdottir, J. Larsen, and R. Jørgensen. Solving the dial-a-ride problem
using genetic algorithms. Imm-technical report-2004-20, Informatics and Math-
ematical Modelling, Technical University of Denmark, DTU, 2004.
L.-P. Bigras, M. Gamache, and G. Savard. The time-dependent traveling salesman
problem and single machine scheduling problems with sequence dependent setup
times. Discrete Optimization, 5:685–699, 2008.
O. Bräysy. A reactive variable neighborhood search for the vehicle routing problem
with time windows. INFORMS Journal on Computing, 15:347–368, 2003.
O. Bräysy and M. Gendreau. Tabu search heuristic for the vehicle routing problem
with time windows. TOP, 10(2):211–237, 2002.
A. Chabrier. Vehicle routing problem with elementary shortest path based column
generation. Computers and Operations Research, 33(10):2972–2990, 2006.
S. Chan. Metaheuristics for solving the dial-a-ride problem. PhD thesis, North
Carolina State University, USA, 2004.
123
E. Choi and D.-W. Tcha. A column generation approach to the heterogeneous fleet
vehicle routing problem. Computers and Operations Research, 34(7):2080–2095,
2007.
C. Christiansen and J. Lysgaard. A column generation approach to the capaci-
tated vehicle routing problem with stochastic demands. Technical report, Aarhus
School of Business, Department of Business Studies, 2006.
M. Christiansen. Inventory and time constrained ship routing: A mathematical
programming approach. PhD thesis, NTNU, Norway, 1996.
J.-F. Cordeau. A branch-and-cut algorithm for the dial-a-ride problem. Operational
Research, 54:573–586, 2003.
J.-F. Cordeau and Salazar Gonzálz J.J. Iori M., Laporte G. A branch-and-cut algo-
rithm for the pickup and delivery traveling salesman problem with lifo loading.
Networks, 51(1):46–59, 2010.
J.-F. Cordeau and G. Laporte. A tabu search heuristic for the static multi-vehicle
dial-a-ride problem. Transportation Research Part B, 37:579–594, 2002.
J.-F. Cordeau, G. Desaulniers, J. Desrosiers, M.M. Solomon, and F. Soumis. The
vrp with time windows. In P. Toth and D. Vigo, editors, The Vehicle Routing
Problem, volume 9, chapter 7, pages 157–193. Society for Industrial and Applied
Mathematics., 2002a.
J.-F. Cordeau, M. Gendreau, G. Laporte, J.-Y. Potvin, and F. Semet. A guide
to vehicle routing heuristics. Journal of the Operational Research Society, 53:
512–522, 2002b.
C.E. Cortès, M. Matamala, and C. Contardo. The pickup and delivery problem
with transfers: Formulation and a branch-and-cut solution method. European
Journal of Operational Research, 200(3):711–724, 2010.
L. Coslovich, R. Pesenti, and W. Ukovich. A two-phase insertion technique of
unexpected customers for a dynamic dial-a-ride problem. European Journal of
Operation Research, 175:1605–1615, 2006.
T.G. Crainic, F. Malucelli, M. Nonato, and F.C. Guertin. Meta-heuristics for a
class of demand responsive transit systems. INFORMS Journal on Computing,
17(1):10–24, 2005.
M. Cremers, W. Haneveld, and M. van der Vlerk. A two-stage model for a day-
ahead paratransit planning problem. Mathematical Methods of Operations Re-
search, 69:323–341, 2008.
Fausto Errico, Teodor Gabriel Crainic, Federico Malucelli, and Maddalena Nonato.
A survey on planning semi-flexible transit systems: Methodological issues and a
unifying framework. Transportation Research Part C, 36:324–338, 2013.
M. Gendreau, F. Guertin, J.-Y. Potvin, and R. Séguin. Neighborhood search
heuristics for a dynamic vehicle dispatching problem with pickups and deliveries.
Transportation Research Part C, 14(157-174), 2006.
124
B. Golden, S. Raghavan, and E. Wasil. The vehicle routing problem: Last advan-
tages and new challenges. Operations Research/Computer Science Interfaces,
2008.
I. Gribkovskaia, Ø. Halskau, G. Laporte, and M. Vlcek. General solutions to the
single vehicle routing problem with pickups and deliveries. European Journal of
Operation Research, 180:568–584, 2007.
H.L.M. Kerivin, M. Lacroix, A.R. Mahjoub, and A. Quilliot. The splittable pickup
and delivery problem with reloads. European Journal of Industrial Engineering,
2(2):112–133, 2008.
125
G. Laporte. The traveling salesman problem: An overview of exact and approx-
imate algorithms. European Journal of Operational Research, 59(2):231–247,
1992.
C.F. Liaw, C.C. White, and J.L. Bander. A decision support system for the bimodal
dial-a-ride problem. IEEE Transportations on Systems, Man, and Cybernetics,
26(5):552–565, 1996.
C. Mues and S. Pickl. Transshipment and time windows in vehicle routing. Inter-
national Symposium on Parallel Architectures, Algorithms and Networks, pages
113–119, 2005.
Y. Nakao and H. Nagamochi. Worst case analysis for pickup and delivery problems
with transfer. Communications and Computer Sciences, E91-A(9):2328–2334,
2010.
P. Oertel. Routing with reloads. PhD thesis, University of Cologne, 2000.
G. Pankratz. A grouping genetic algorithm for the pickup and delivery problem
with time windows. OR Spectrum, 27:21–41, 2005.
S. N. Parragh, K.F. Doerner, and R.F. Hartl. A survey on pickup and delivery
problems: Part ii: Transportation between pickup and delivery locations. Jour-
nal fuer Betriebswirtschaft, 58:81–117, 2008b.
S. N. Parragh, K.F. Doerner, and R.F. Hartl. Variable neighborhood search for the
dial-a-ride problem. Computers and Operations Research, 37(1129-1138), 2010.
D. Pisiger and S. Ropke. A general heuristic for vehicle routing problems. Com-
puters and Operations Research, 34(8):2403–2435, 2007.
A. Rais, F. Alvelos, and M.S. Carvalho. New mixed integer-programming model
for the pickup-and-delivery problem with transshipment. European Journal of
Operational Research, 235:530–539, 2013.
J. Renaud, F.F. Boctor, and G. Laporte. Perturbation heuristics for the pickup
and delivery traveling salesman problem. Computers Operational Research, 29:
1129–1141, 2002.
126
S. Ropke and J.-F. Cordeau. Branch-and-cut-and-price for the pickup and delivery
problem with time windows. Transportation Science, 40(5):455–472, 2008.
S. Ropke, J.-F. Cordeau, and G. Laporte. Models and branch-and-cut algorithms
for pickup and delivery problems with time windows. Networks, 49:258–272,
2007.
M. W. P. Savelsbergh and M. Sol. The general pickup and delivery problem.
Transportation Science, 29(1):17–29, 1995.
Stefan Steinerberger. New bounds for the traveling salesman problem. Advances
in Applied Probability, 47, 2015.
State of California Public Utilities Commission Transportation License Section.
Basic information for transportation network companies and appliactions.
X. Wang, M.M. Dessouky, and F. Ordonez. A pickup and delivery problem for
ridesharing considering congestion. submitted for publication, 2015.
127
A Instances and Networks
This section provides the fixed networks for the important instances run. Further-
more, some details and results of some specific instances are given. First, a few
case specific instances are discussed in Section A.1, then the small fixed network
with four to five transfer locations are illustrated in Section A.2, before the bigger
instances of seven to nine transfer locations are illustrated in Section A.3.
The detailed cost and penalties in the objective value for the instance H1.4.6
are given in Table 31 and Table 32. First, the total objective value is given, then
the value corresponding to the fleet costs are given, before the individual elements
are given. Similarly the total penalty is given before the individual penalty val-
ues. These values are given for the regular instance H1.4.6 and for the instances
H1.4.6stw and H1.4.6btw.
128
t3 , 16 p1 , 1 p2 , 2
(depot), 0, 13
d1 , 7, d2 , 8, d3 , 9, d4 , 10, d5 , 11 p6 , 6
t1 , 14 t2 , 15
d6 , 12 p3 , 3
t4 , 17
p4 , 4
p5 , 5
The results for the instances are provided in the Table 33 and Table 34. That
is, the routes for the vehicles and the trips for the vehicles are given by stating the
sequence the nodes are visited in. The sign − illustrate that the arc is driven by
a vehicle, = illustrates that the arc is used by a fixed route, while −− illustrate
that the request walks the arc. For example, request 6 in Table 34 first travel by
vehicle from its pickup location (location 6), to a transfer location 15, where it uses
the fixed route to location 17 and is transported by vehicle to its drop off location
(location 12).
129
Table 33: Details of Results H1.4.6 1
Vehicle/Request H1.4.6 (1) 000 H1.4.6stw (1) 000 H1.4.6btw (1) 000
Vehicle 1 0-4-10-6-12-13 0-1-7-5-11-13 0-2-8-5-11-13
Vehicle 2 0-1-7-5-11-13 0-6-12-13 0-6-12-13
Vehicle 3 0-3-9-13 0-3-9-13 0-1-7-4-10-13
Vehicle 4 0-2-8-13 0-2-8-13 0-3-9-13
Vehicle 5 0-4-10-13
Request 1 1-7 1-7 1-7
Request 2 2-8 2-8 2-8
Request 3 3-9 3-9 3-9
Request 4 4-10 4-10 4-10
Request 5 5-11 5-11 5-11
Request 6 6-12 6-12 6-12
The detailed cost and penalties in the objective value for the instance C1.7.3
are given in Table 35. First, the total objective value is given, then the value cor-
responding to the fleet costs are given, before the individual elements are given.
Similarly the total penalty is given before the individual penalty values. These
values are given for the regular instance C1.7.3 and for the instance C1.7.3stw.
The results for the instance (C1.7.3 and C1.7.3stw) are provided in the Table
36. That is, the routes for the vehicles and the trips for the vehicles are given by
130
t5 , 12 t6 , 13 p2 , 2
t1 , 8 d1 , 4 t3 , 10 p3 , 3
d2 , 5
t2 , 9 d3 , 6
t7 , 14 p1 , 1
t4 , 11
(depot), 0, 7
stating the sequence the nodes are visited in. The sign − illustrate that the arc
is driven by a vehicle, = illustrates that the arc is used by a fixed route, while
−− illustrate that the request walks the arc. For example, request 1 first use the
fixed route to location 14, is picked up by a vehicle and transported to location 9.
Here, the request use the fixed route to location 8 and then to its drop off location
(location 4).
131
A.1.3 Rural Case
The rural case R1.4.6 illustrates situations where the fixed route is less developed.
R1.4.6 represents a couple of requests which are located far away from the rest of
the requests and the fixed route. These requests have a capacity less than the total
vehicle capacity. This instance is run both with a vehicle capacity of four, and with
vehicle capacity of eight passengers.
p2 , 2 p1 , 1 d6 , 12
d4 , 10
d5 , 11 p4 , 4
t1 , 14 t3 , 16 d2 , 8
t2 , 15 p6 , 6
d3 , 9
p5 , 5
t4 , 17 d1 , 7
(depot), 0, 13
p3 , 3
The detailed cost and penalties in the objective value for the instance R1.4.6
are given in Table 37. First, the total objective value is given, then the value cor-
responding to the fleet costs are given, before the individual elements are given.
Similarly the total penalty is given before the individual penalty values. These val-
ues are given for the regular instance R1.4.6 and for the instance R1.4.6m. R1.4.6m
is equal to R1.4.6 except that R1.4.6m has a vehicle fleet where the vehicles have
load capacity of eight instead of the regular capacity of four passengers.
The results for the instance (R1.4.6 and R1.4.6m) are provided in the Table
132
38. That is, the routes for the vehicles and the trips for the vehicles are given by
stating the sequence the nodes are visited in. The sign − illustrate that the arc is
driven by a vehicle, = illustrates that the arc is used by a fixed route, while −−
illustrate that the request walks the arc. For example, request 1 first walk from its
pickup location (location 1) to request 2’s pickup location (location 2) where it is
picked up by a vehicle, transported to location 17 where request 2 is set off, and
then to its drop off location (location 7).
133
A.2 Small Fixed Networks
In this section the small fixed network with four to five transfer locations are il-
lustrated for the instance with seven requests. Some details of the results for the
instances with seven and five requests are also given.
t3 , 18 p1 , 1
(depot), 0, 15
p2 , 2
d2 , 9 p6 , 6 d7 , 14
t1 , 16 p5 , 5 p4 , 4 t2 , 17
d5 , 12 d4 , 11 d1 , 8
t4 , 19 d6 , 13 d3 , 10
p3 , 3 p7 , 7
Table 39 gives detailed results for instance S1.4.7(1) with one node visits. 000
says that no problem features are included, while 111 state that all problem features
are used. The detailed cost and penalties in the objective value for the instance
S1.4.7 is provided in the tables. First, the total objective value is given, then the
value corresponding to the fleet costs, before the individual elements are given.
Similarly, the total penalty is stated before the individual penalty values.
134
Table 39: Details of Costs and Penalties S1.4.7
Cost Parameter S1.4.7 (1) 000 S1.4.7 (1) 111
Total Cost 4700 3105
Fleet Cost 4700 2833.80
Vehicles 20 10
Distance 2596 1564
Usage 2084 1260
Penalties 0 271.20
Service Time 0 259.20
Walking 0 0
Transfer 0 12
The results for the problem without activating the options of transfers, multiple
requests and walking, and with the options are given below. The sign − illustrate
that the arc is driven by a vehicle, = illustrates that the arc is used by a fixed
route, while −− illustrate that the request walks the arc.
Table 41 and Table 42 the details for the results from the instance with five re-
quest and the network from S1.4 is given. The requests are located as the five first
requests in the Illustration 23, however the ordering of the locations are different
for the instance with five locations. Here, initial depot is 0, the pickup locations
of the requests go from 1 to 5, the drop off locations go from 6 to 10, final depot
is numbered 11, while the transfer locations range from 12 to 16. Table 41 gives
detailed results for instance S1.4.5(2) with two node visits and both ErrorRate of
0.8 and 1.8 (1.4.5r). The three binary numbers in the first row represents which of
the problem features that are activated. The three last number represents which
of the problem features (transfer, multiple requests, walking) which are activated.
That is, if the first number is 1 the possibility of transfer is included, the second 1
represents that the possibility of multiple requests is activated, while the last num-
135
ber is 1 when the possibility of walking is used. The detailed cost and penalties in
the objective value for the instance S1.4.5(2) is provided in the tables. First, the
total objective value is given, then the value corresponding to the fleet costs, before
the individual elements are given. Similarly, the total penalty is stated before the
individual penalty values. Furthermore, Table 42 shows the routes for the vehicles
and the trips for the requests.
Table 43 gives detailed results for instance S2.4.7(1) with one node visits. 000
says that no problem features are included, while 111 state that all problem features
are used. The detailed cost and penalties in the objective value for the instance
136
p1 , 1
d6 , 13
d4 , 11
d2 , 9 d5 , 12 p4 , 4
t1 , 16 p2 , 2 d7 , 14 t3 , 18
t2 , 17 p6 , 6
d3 , 10
d1 , 8
t4 , 19 p5 , 5
(depot), 0, 15
p3 , 3 p7 , 7
S2.4.7 is provided in the tables. First, the total objective value is given, then the
value corresponding to the fleet costs, before the individual elements are given.
Similarly, the total penalty is stated before the individual penalty values.
The results for the problem without activating the options of transfers, multiple
requests and walking, and with the options are given below. The sign − illustrate
that the arc is driven by a vehicle, = illustrates that the arc is used by a fixed
route, while −− illustrate that the request walks the arc.
137
Table 44: Details of Results S2.4.7
Vehicle/Request S2.4.7 (1) 000 S2.4.7 (1) 111
Vehicle 1 0-3-10-5-12-2-9-6-13-15 0-7-3-10-19-14-12-16-9-6-13-15
Vehicle 2 0-4-11-1-8-7-14-15 0-4-11-1-8-15
Vehicle 3
Vehicle 4
Request 1 1-8 1-8
Request 2 2-9 2- -16-9
Request 3 3-10 3-10
Request 4 4-11 4-11
Request 5 5-12 5=19-14-12
Request 6 6-13 6-13
Request 7 7-14 7-3-10-19-14
Table 45 gives detailed results for instance S3.5.7(1) with one node visits. 000
says that no problem features are included, while 111 state that all problem features
are used. The detailed cost and penalties in the objective value for the instance
S3.5.7 is provided in the tables. First, the total objective value is given, then the
value corresponding to the fleet costs, before the individual elements are given.
Similarly, the total penalty is stated before the individual penalty values.
The results for the problem without activating the options of transfers, multiple
requests and walking, and with the options are given below. The sign − illustrate
that the arc is driven by a vehicle, = illustrates that the arc is used by a fixed
route, while −− illustrate that the request walks the arc.
Table 47 to Table 50 the details for the results from the instance with five re-
quest and the network from S3.5 is given. The requests are located as the five first
requests in the Illustration 25, however the ordering of the locations are different
for the instance with five locations. Here, initial depot is 0, the pickup locations
of the requests go from 1 to 5, the drop off locations go from 6 to 10, final de-
pot is numbered 11, while the transfer locations range from 12 to 16. Table 47
to Table 48 give detailed results for instance S3.5.5(2) with two node visits and
both ErrorRate of 0.8 and 1.8 (3.5.5r). The three binary numbers in the first row
138
t5 , 20
d5 , 12
d6 , 13
(depot), 0, 15 p2 , 2
p4 , 4
t2 , 17
t1 , 16 p1 , 1 d7 , 14 t3 , 18
d2 , 9 p5 , 5
d4 , 11 p6 , 6
d1 , 8
d3 , 10
t4 , 19
p3 , 3 p7 , 7
represents which of the problem features that are activated. The three last num-
ber represents which of the problem features (transfer, multiple requests, walking)
which are activated. That is, if the first number is 1 the possibility of transfer is in-
cluded, the second 1 represents that the possibility of multiple requests is activated,
while the last number is 1 when the possibility of walking is used. The detailed
cost and penalties in the objective value for the instance S3.5.5(2) is provided in
139
Table 46: Details of Results S3.5.7
Vehicle/Request S3.5.7 (1) 000 S3.5.7 (1) 111
Vehicle 1 0-1-8-3-10-7-14-15 0-4-17-11-8-7-10-14-15
Vehicle 2 0-4-11-6-13-5-12-15 0-6-13-2-18-12-15
Vehicle 3 0-2-9-15
Vehicle 4
Request 1 1-8 1=17-11-8
Request 2 2-9 2-18=16=9
Request 3 3-10 3- -7-10
Request 4 4-11 4-17-11
Request 5 5-12 5- -18-12
Request 6 6-13 6-13
Request 7 7-14 7-10-14
the tables. First, the total objective value is given, then the value corresponding to
the fleet costs, before the individual elements are given. Similarly, the total penalty
is stated before the individual penalty values. Table 49 to Table 50 illustrates the
routes for the vehicles and the trips for the requests.
140
Table 48: Details of Costs and Penalties S3.5.5 2
S3.5.5 (2) S3.5.5 (2) S3.5.5 (2)
Cost Parameter
001/011 010 100/110/101
Total Cost 3123 3153 2435
Fleet Cost 3085 3147 2291
Vehicles 15 15 15
Distance 1700 1736 1260
Usage 1370 1396 1016
Penalties 38 6 144
Service Time 38 6 140
Walking 0 0 0
Transfer 0 0 4
141
A.3 Big Fixed Networks
Some bigger fixed network have also been considered consisting between seven to
nine transfer locations, and their networks are illustrated in Figure 26 to Figure 28.
Furthermore, the pickup and drop off locations for the instances with five requests
are included in the illustrations. The structure of the fixed networks are similar as
for the smaller networks.
p1 , 1
t5 , 14 t4 , 13
(depot)0, 9
p2 , 2
d2 , 6 t2 , 11
t1 , 10 t3 , 12
d4 , 8
p4 , 4 d1 , 5
t7 , 16 t6 , 15
d3 , 7
p3 , 3
142
p1 , 1
p2 , 2
d2 , 6 t1,10 p4 , 4 d4 , 8 t5 , 14
t2 , 11 t6 , 15
d3 , 7
t3 , 12 d1 , 5 t7 , 16
t4 , 13 t8 , 17
(depot), 0, 9
p3 , 3
t9 , 19
t8 , 17
p2 , 2
p1 , 1 (depot), 0, 9
t1 , 10 t5 , 14
d2 , 6 t2 , 11 t3 , 12 t4 , 13
d1 , 5
d4 , 8 t7 , 16 d3 , 7
t6 , 15
p4 , 4 p3 , 3
143
B Mathematical Model
B.1 Sets
P Set of pickup locations
D Set of drop off locations
G Set of transfer locations
N Set of all nodes
NP Set of pickup nodes
ND Set of drop off nodes
NgG Set of transfer nodes corresponding to transfer location g
R Set of requests
K Set of vehicles
B.2 Parameters
S
P Penalty cost for service time above direct travel time for each
request
PR Penalty cost for each request walking a certain distance
PT Penalty per transfer for each request
TijK Travel time when using a vehicle from location i to location j
TijF Travel time when using a fixed network from location i to lo-
cation j
TijW Travel time when walking from location i to location j
Dij Distance of traveling from location i to location j
Cij Cost of traveling from location i to location j using a vehicle
CU Cost per time unit of using each vehicle
Q Capacity of a vehicle
U Maximum usage time of a vehicle
DrR Allowed walking distance by request r
Lr Load of request r
Ti Earliest time at which service may begin at location i
Ti Latest
time at which service may begin at location i
1 if there exists a fixed route from transfer location i to transfer location j
Zij
0 otherwise
1 if node i is the pickup node of request r
Fir −1 if node i is the drop off node of request r
0 otherwise
E Fraction of allowed service time
144
B.3 Variables
1 if vehicle k travels from node (i, m) to node (j, n)
ximjnk
0 otherwise
1 if request r travels from node (i, m) to node (j, n) on a vehicle
yimjnr
0 otherwise
1 if request r travels from node (i, m) to node (j, n) using a fixed network
wimjnr
0 otherwise
1 if request r walks from node (i, m) to node (j, n)
vimjnr
0 otherwise
tA
im arrival time at node (i, m)
tD
im departure time at node (i, m)
tA
k arrival time at final depot for vehicle k
tD
k departure time at initial depot for vehicle k
tr number of transfers of request r
Subject to
X
x01jnk ≤ 1 k∈K (91)
(j,n)∈N
X X
xjn,2r+1,1k − x01jnk = 0 k∈K (92)
(j,n)∈N (j,n)∈N
X X
xjnimk − ximjnk = 0 (i, m) ∈ N , k ∈ K (93)
(j,n)∈N (j,n)∈N
X X
ximjnk ≤ 1 (i, m) ∈ N (94)
(j,n)∈N k∈K
X X X
yr1jnr − xr1jnk = 0 r∈R (95)
(j,n)∈N (j,n)∈N k∈K
X X X
yr1jnr − xr1jnk = 0 r∈R (96)
(j,n)∈N (j,n)∈N k∈K
145
X
(yi1jnr − yjni1r )
(j,n)∈N
X
+ (vi1jnr − vjni1r )
(j,n)∈N
X
+ wi1g(i)nr = Fir (i, 1) ∈ N P , r ∈ R (97)
G
(g(i),n)∈Ng(i)
X
(yjni1r − yi1jnr )
(j,n)∈N
X
+ (vjni1r − vi1jnr )
(j,n)∈N
X
+ wg(i)ni1r = Fir (i, 1) ∈ N D , r ∈ R (98)
G
(g(i),n)∈Ng(i)
X X X
yimjnr + wimjnr
(j,n)∈N j∈G (j,n)∈NjG
X X
+ vimjnr − vimjnr
(j,n)∈N (j,n)∈N
X X X
− yjnimr − wjnimr = 0 i ∈ G, (i, m) ∈ NiG , r ∈ R (99)
(j,n)∈N j∈G (j,n)∈NjG
X
ximjnk (tD K A
im + Tij − tjn ) ≤ 0 (i, m) ∈ N , (j, n) ∈ N (100)
k∈K
X
wimjnr (tA F D
im + Tij − tjn ) ≤ 0 i, j ∈ G, (i, m) ∈ NiG , (j, n) ∈ NjG (101)
r∈R
X
wimjnr (tD D
im − tjn ) ≤ 0 (i, m) ∈ N P , j ∈ G, (j, n) ∈ NjG (102)
r∈R
X
wjnimr (tD A
jn − tim ) ≤ 0 (i, m) ∈ N D , j ∈ G, (j, n) ∈ NjG (103)
r∈R
X
vimjnr (tD R A
im + Tij − tjn ) ≤ 0 (i, m) ∈ N , (j, n) ∈ N (104)
r∈R
tD K A
i1 + Ti,r+i − tr+i,1 ≤ 0 (i, 1) ∈ N P (105)
tA D
im − tim ≤0 (i, m) ∈ N (106)
x01imk (tD K A
k + T0i − tim ) ≤0 (i, m) ∈ N , k ∈ K (107)
xim,2r+1,1k (tD K A
im + Ti,2r+1 − tk ) ≤0 (i, m) ∈ N , k ∈ K (108)
146
tA D
k − tk ≤ U k∈K (109)
A
tr+r,1 − tDr1 ≤ K
Tr,r+r (1 + E) r∈R (110)
T i ≤ tD
im ≤ Ti (i, m) ∈ N (111)
X X X X
2· wimjnr
i∈G (i,m)∈NiG j∈G (j,n)∈NjG
X X X
− wimg(i)nr
i∈G (i,m)∈NiG (g(i),n)∈N G
g(i)
X X X
− wg(i)nimr ≤ tr r∈R (112)
i∈G (i,m)∈NiG (g(i),n)∈N G
g(i)
X X
0≤ Lr yimjnr ≤ Qximjnk (i, m) ∈ N , (j, n) ∈ N (113)
r∈R k∈K
147
C Digital Attachements
Files attached are:
• Data instances
• The thesis in PDF: IDARP rapport.pdf
• Instructions for how to use the files: ReadM e.txt
148