Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Routing for ridesharing
(USC Thesis Other)
Routing for ridesharing
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Routing for Ridesharing
by
Xiaoqing Wang
A dissertation submitted in partial fulfillment of
the requirement of the degree of
Doctor of Philosophy
(Industrial and Systems Engineering)
at the University of Southern California
May 2016
Committee:
Dr. Maged M. Dessouky, Chair
Dr. Fernando Ordonez, co-Chair
Dr. Petros Ioannou
i
Table of Contents
List of Figures ................................................................................................................................ iii
List of Tables ................................................................................................................................... iv
Acknowledgement ............................................................................................................................ v
Abstract……………………………………………………………………………………………vi
Chapter 1 Introduction ................................................................................................................. 1
Chapter 2 Literature Review…………………………………………………………………..10
2.1 Ridesharing ..................................................................................................................... 10
2.2 The Pickup and Delivery Problem.................................................................................. 16
2.3 Research Gap .................................................................................................................. 29
Chapter 3 An Exact Formulation for the Pickup and Delivery Problem for Ridesharing
Considering Load Dependent Cost………………………………………………...32
3.1 Model Formulation ......................................................................................................... 33
3.2 Experimental Results ...................................................................................................... 40
3.2.1 Performance of the Valid Equality and Inequalities ...............................................43
Chapter 4 Heuristics for the Pickup and Delivery Problem for Ridesharing Considering
Load Dependent Cost……………………………………………………………...46
4.1 Heuristics ........................................................................................................................ 46
4.1.1 Insertion Heuristic ..................................................................................................49
4.1.2 Adjust Pickup Time Algorithm ..............................................................................51
4.1.3 Tabu Search Algorithm for VRPPDTW ...............................................................57
4.1.4 Waiting Strategy .....................................................................................................60
4.2 Experimental Results ...................................................................................................... 64
4.2.1 Comparison of Heuristics .......................................................................................65
4.2.2 Sensitivity to HOV Lanes .......................................................................................76
4.2.3 Sensitivity to Toll Roads ........................................................................................83
ii
Chapter 5 Pickup and Delivery Problem for Ridesharing with Transfers……………………..88
5.1 Model Formulation ......................................................................................................... 89
5.2 Heuristics ........................................................................................................................ 99
5.3 Experimental Results .................................................................................................... 103
5.3.1 Performance of the Valid Equalities and Inequalities ..........................................107
5.3.2 Performance of the Heuristics ..............................................................................110
5.3.3 Sensitivity to Location and Time Patterns ............................................................112
Chapter 6 Conclusions and Future Work ................................................................................ 118
Bibliography ................................................................................................................................. 123
iii
List of Figures
4.1 Initial Route………………………………………………………………………………..54
4.2 Route after Adjust Driver’s Start Time…………………………………………………....56
4.3 Route after Adjust Pickup Time………………………………………………..…………57
4.4 Example of the Waiting Strategy………………………………………………………….63
4.5 Cost/Request for Different α’s Using Congestion-Tabu…………………………………...72
4.6 Difference in Cost/Request between Distance-Tabu and Congestion-Tabu……………..72
4.7 Comparison of Cost/Request between without and with the Waiting Strategy…………….75
4.8 Distance Ratio Sensitivity to Time Savings on HOV Lanes……………………………...78
4.9 Ride Time Ratio Sensitivity to Time Savings on HOV Lanes……………………………78
4.10 Cost/Request Sensitivity to Time Savings on HOV Lanes………………………………...80
4.11 Total Distance Sensitivity to Time Savings on HOV Lanes………………………………80
4.12 Distance Ratio Sensitivity to the Percentage of Toll Roads………………………………85
4.13 Ride Time Ratio Sensitivity to the Percentage of Toll Roads……………………….……85
4.14 Total Increased Toll Cost Sensitivity to the Percentage of Toll Roads…………………..86
4.15 Cost/Request Sensitivity to the Percentage of Toll Roads……………………………..…..86
5.1 Map…………………………………………………………………………………...….104
iv
List of Tables
3.1 Vehicle Data Generation…………………………………………………………………..42
3.2 Request Data Generation………………………………………………………………….43
3.3 Performance of Valid Equality and Inequalities………………………………………..…44
4.1 Vehicle Data Generation………………………………………………………..…………66
4.2 Request Data Generation………………………………………………………………….67
4.3 Result of Testing Adjust Pickup Time Algorithm…………………………………….…..68
4.4 Performance of the Proposed Heuristic……………………………………………….…..70
4.5 Request Data Generation (real-time)……………………………………………..……….74
4.6 Results for Dynamic Case…………………………………………………………………75
5.1 Tested Scenarios……………………………………………………………………...….106
5.2 Vehicle Data Generation…………………………………………………………….…..106
5.3 Request Data Generation……………………………………………………………..….107
5.4 Performance of Valid Equalities and Inequalities……………………………………….108
5.5 Performance of the Heuristics………………………………………………………..….111
5.6a Computational Results for Different Location and Time……………………….……….114
5.6b Computational Results for Different Location and Time……………………….……….115
5.7 Comparison between with and without the Transfer Point……………………….……..116
v
Acknowledgement
My mother is a retired college teacher majored in mechanical engineering. She was
known to be patient and nice to her students. She extended her office hours to late night to
help her students with their difficulties in study. Moreover, she provided financial support
to the students who were really in need. She told me that one reason for her to do these
things was that she hoped I could also get help when I was in need. I think I do. My deep
gratitude first goes to my advisor, Dr. Maged M. Dessouky and co-advisor, Dr. Fernando
Ordonez.
I thank my other committee members, Dr. Petros Ioannou, Dr. James E. Moore II
and Dr. Alejandro Toriello for their insightful comments and ideas.
I thank my lab mates: Chen Wang, Christine Nguyen, Huayu Xu, Lunce Fu, Han
Zou, Yihuan Shao, Wentao Zhang, and Liang Liu for creating a harmonious working
environment.
I am indebted to my parents, Yongxiang Wang and Peiqing Qiu for their endless
love and support. And finally, I acknowledge my husband, Caifu Zeng, for his “PhD –
verified” love. And the birth of my little bundle of joy, Changyi Zeng, indicates that I am
ready to step to the next stage of my life.
vi
Abstract
Traffic congestion is a significant social concern considering the economic costs,
the wasted time and the associated public health. Ridesharing, the sharing of vehicles by
passengers, could mitigate the congestion.
We first study the ridesharing problem considering the availability of HOV lanes
and the policy of reduced toll rates on high occupancy vehicles. That is, both travel time
and toll cost can be saved by sharing the ride with additional passengers. A mixed integer
programming model is formulated to optimally solve the problem. Due to the combinatorial
nature of the problem, heuristic algorithms are developed to efficiently identify a good
solution to the problem for both the static and dynamic cases. We performed a set of
computational experiments in the static case to explore how ridesharing is affected by the
different time savings on HOV lanes. The results indicate that passengers will be more
willing to take a detour to share a ride with others or to capture faster paths if the ride time
can be largely reduced to compensate for the possible increase in miles driven. However,
if it is too difficult to be qualified to use HOV lanes (e.g., requiring at least four passengers
in a vehicle), there are less opportunities to take detours to share a ride. The experimental
results of the dynamic case show that the rearrangement of the vehicle idle time can help
improve the performance of the ridesharing system by serving more requests as well as
vii
reducing the average cost.
Moreover, in our second model, the idea of ridesharing is not restricted to a single
vehicle. We modify an existing mixed integer programming model for the ridesharing
sharing problem with transfers and propose some valid equalities and inequalities that have
been shown to be effective. Heuristics have been developed to derive good solutions of this
NP-hard problem within a reasonable amount of time. We perform experiments to study
how the different location and time patterns impact the utilization of the transfer point. The
results show that the transfer point is less likely to be used if it is away from the direct route
of the passengers. When the requests are more clustered in both location and time, the
passengers are more likely to be kept in the vehicle to use the transfer point in a batch. In
general, the availability of transfers can improve the overall routing performance by
providing more routing options.
1
Chapter 1
Introduction
Traffic congestion can be seen in some cases as evidence of social vitality. However,
it is also a significant social concern that is credited with significant economic costs, wasted
time and associated public health risks. In the European area, the annual cost of road
congestion is estimated to be 1% of GDP which is about €100 billion (Christidis and Rivas,
2012). In the United States, the 2015 Urban Mobility Scorecard (Schrank et al., 2015)
stated that, in 2014, the total cost of congestion in the 471 metropolitan areas studied is
$160 billion which accounts for a total amount of 6.9 billion hours of delayed time and an
extra usage of 3.1 billion gallons of fuel. With the expected population growth figures, for
2020, it is expected that the cost of congestion will rise to $192 billion where the total delay
is estimated to increase to 8.3 billion hours and an extra fuel consumption of 3.8 billion
gallons. Other than the economic cost of the extra fuel and wasted time, Lewis (2008)
argued that congestion also has an economic impact on the consumption-based industry,
for example, restaurant, retail and entertainment. That is, the cost of travelling to these
places is increased because of the traffic congestion which will decrease the consumers’
willingness to use these services. As a result, the revenue of these consumption-based
2
businesses is decreased. Moreover, other than the economic costs, wasted time and fuel
consumption caused by the traffic congestion, recent studies suggest that the traffic
congestion also impose a negative impact on human health. The Harvard Center for Risk
Analysis (HCRA) at the School of Public Health conducted a research study in 83 urban
areas to evaluate the public health impacts of traffic congestion (Levy et al., 2010). The
study projected that traffic congestion will lead to 1,600 premature deaths and $13 billion
of mortality and public health costs in 2020 and a steady increase to 1,900 premature deaths
and $17 billion of mortality and public health costs in 2030 if no effective actions are taken
to mitigate the traffic congestion. As the above figures show, there are stark consequences
from congestion.
An increased use of ridesharing has the potential to help mitigate congestion, in
particular because there is a significant amount of unused capacity in vehicles on the road
today. Indeed, the average vehicle occupancy rate in the US in 2009 was 1.67, this number
drops to 1.13 for work commute trips (Santos et al., 2011). “Ridesharing is a joint-trip of
more than two participants that share a vehicle and requires coordination with respect to
itineraries” (Furuhata et al., 2013). By taking advantage of the vacant seats in most
passenger vehicles, ridesharing could increase the efficiency of the transportation system,
reduce traffic congestion, decrease fuel usage and mitigate pollution (Agatz et al., 2012).
Historically, people have participated in ridesharing by posting their itinerary information
on a bulletin board or a website like Craigslist so that others can find a match either
3
manually or automatically. A good ridesharing system should provide automated matching
which means that the system should actively help drivers and riders find suitable matches
(Agatz et al., 2011). The matching between the drivers and riders in ridesharing can be
viewed as a pickup and delivery problem with time windows. Recently, there have been a
plethora of companies such as Carma (formerly known as Avego) and Sidecar that have
developed technologies to help match drivers with passengers (Furuhata et al., 2013). At
the same time, government agencies have taken actions to encourage ridesharing. There is
increasing use of High Occupancy Vehicle (HOV) lanes and reduced toll rates for high
occupancy vehicles on many roads and bridges. For example, the New Jersey Turnpike
charges a discounted toll rate to vehicles which have three or more people, the I-15 Express
Lanes in San Diego, California is free for carpooling and vanpooling and the HOV lanes
of I-110 Freeway in Los Angeles County were converted to High Occupancy Toll (HOT)
lanes which are also free for HOVs. If a vehicle has the required number of people, then
HOV lanes can be used to reduce travel time especially during peak hours. Therefore,
ridesharing could provide a cost reduction and time savings under congestion.
Each driver participating in ridesharing provides his/her start location, end location,
earliest departure time and latest arrival time. Each ride request provides the passenger’s
start location, end location, time windows for pickup and delivery and the number of people
that need to be served. We do routing for ridesharing to match the drivers and the
passengers by defining a set of minimum cost routes for the drivers so that the ridesharing
4
requests are satisfied while the capacity and time window feasibilities are maintained. This
is the vehicle routing problem with pickup and delivery (VRPPD) with time windows
which is an extension of the pickup and delivery problem (PDP). Intensive studies has been
made in PDP over recent decades. Various objective functions based on the context of the
application can be considered: total number of vehicles used, total route distance, total ride
time, cost or quality of service-related criteria (Masson et al., 2013). In the problem
considering load dependent cost, we encourage ridesharing by minimizing the number of
unsatisfied passenger requests, the total route distance, passenger ride time, and toll cost to
account for the cost reduction and time savings for HOVs under congestion.
To study how the optimal routes change as a function of incentives for ridesharing,
for example inclusion of HOV lanes, we modified existing VRPPD with time windows to
consider changes in passenger travel time and toll cost due to vehicle load. Although there
are a number of studies and published methods for the pickup and delivery problem with
time windows, to the best of our knowledge there is no previous work that considers HOV
lanes and the policy of reduced toll rates on high occupancy vehicles which will save both
travel time and cost by having vehicles with more passengers. That is, there may be an
incentive to take detours to pick up additional passengers to qualify for HOV lanes or
discounted toll rates. We consider both the static and dynamic versions of this problem. In
the static case, all passenger requests are known in advance so that the vehicle routing
solutions are built from scratch. On the other hand, in the dynamic case, the passenger
5
requests are made in real time so that the existing routing plans are modified frequently to
satisfy the new requests.
The above VRPPD with time windows considering load dependent cost, like all the
other VRPPD with time windows, imposes pairing constraints on all passengers which
requires that each passenger must be picked up and delivered by a single vehicle. However,
the idea of ridesharing should not be restricted to a single vehicle. We extend our
scheduling so that the trip by a passenger can be shared by different ridesharing providers.
That is, we allow for the possibility to transfer passengers from one vehicle to another
before the passenger’s trip end. This added flexibility (by relaxing the pairing constraints)
potentially provides more routing options so that the overall routing performance can be
improved. For example, there could be the situation that the origin of one passenger and
one ridesharing provider (the driver) are very close to each other while their destinations
are at the same direction but the passenger’s destination is farther away from that of the
driver’s. With the pairing constraint, the driver will have to take the detour to serve the
passenger even though there might be a better routing solution by having some other
available vehicle to help take the passenger from a certain location along the driver’s route
to the passenger’s destination with no or fewer detours. In the above situation, allowing the
possibility to transfer can improve the overall routing performance. Therefore, it could be
more efficient for the driver to drop off the passenger at a certain location to allow another
driver who can share the ride with the passenger with fewer detours incurred. This certain
6
location is called the transfer point. In the problem considering transfers, we assume that
there is a setup cost to use a transfer point. Therefore, we improve the ridesharing routing
solutions with the availability of transfer points with the objective of minimizing the
number of unsatisfied passenger requests and minimize the total route distance, passenger
ride time, toll cost and transfer setup cost.
For our first problem (VRPPD with time windows considering load dependent cost),
we use heuristic algorithms to efficiently solve this specialized pickup and delivery
problem. The heuristic uses a greedy insertion to obtain an initial solution. In the static case,
a Tabu procedure is applied to obtain improvements and an adjustment on the pickup time
is made to reduce the ride time of each request. Theoretically, the algorithms for the static
problem can also be used to solve the dynamic problem. That is, whenever a new request
is made, we can solve the problem with the currently updated input information as a static
problem. However, since this problem is NP-hard, though the heuristic algorithm with the
Tabu procedure can provide a satisfying solution for the problem with a moderate input
size with significantly less computational time than solving the integer programming
problem, it still cannot solve the problem in a reasonable time for the dynamic case.
Therefore, in the dynamic case, a greedy insertion is used to obtain the initial solution as
in the static case. However, the Tabu procedure is not applied. Instead, a Waiting Strategy
is applied to strategically place vehicles in order to serve more requests as well as reduce
the average cost. That is, rules to control a vehicle after it becomes idle have been shown
7
to be efficient in improving the performance of the system. In our problem, the vehicle
might stay at the location after the passenger is picked up or delivered instead of heading
to the next location as soon as possible. We also present an integer programming
formulation of the static problem to benchmark the heuristics on small problem sizes.
For our second problem (VRPPD with time windows and transfers), we present a
mixed integer programming model that considers the possibility of transfers. Moreover,
we propose some valid equalities and inequalities to help solve the optimal model more
efficiently. However, though the valid equalities and inequalities are proved to be effective,
the problem is still a NP-hard problem. We develop a heuristic algorithm to help solve the
problem. The heuristic algorithm uses a greedy insertion and a Tabu procedure is applied
in the first problem to obtain an initial solution which does not consider the use of transfer
points. Then, a new Tabu procedure is proposed to introduce the use of transfer points to
help improve the performance of the routing solutions.
The major contributions of this thesis include:
for the VRPPD with time windows considering load dependent cost, formulate
a mixed integer programming model for ridesharing that considers the reduced
ride time of taking HOV lanes under congestion and load dependent toll cost,
propose valid and effective equalities and inequalities to improve the
computational capability of the integer programming model of the VRPPD with
time windows considering load dependent cost,
8
develop new heuristic algorithms to solve the static and dynamic VRPPD with
time windows considering load dependent cost efficiently, and
study how the optimal routes change as a function of incentives for ridesharing,
for example inclusion of HOV lanes;
for the VRPPD with time windows and transfers, formulate a mixed integer
programming model to solve the problem optimally with the objective to
minimize the weighted sum of the total travel distance, passenger ride time,
transfer point setup cost and number of unsatisfied passenger requests,
propose valid and effective equalities and inequalities to improve the
computational capability of the integer programming model of the VRPPD with
time windows and transfers, and
develop a heuristic algorithm to solve the VRPPD with time windows and
transfers efficiently.
The rest of the thesis is organized as follows. In Chapter 2, a literature review of
the pickup and delivery problem is presented. Chapter 3 describes an exact formulation for
the VRPPD with time windows considering load dependent cost. Since this problem is NP-
hard, heuristic algorithms are proposed to help solve the static and dynamic problem
efficiently in Chapter 4. A set of experimental results that demonstrate the performance of
the heuristic algorithms and show how the routing results change as a function of the
incentives for ridesharing is presented in the same chapter. Chapter 5 introduces an integer
9
programming model with new effective cuts for the VRPPD with time windows and
transfers. A heuristic algorithm is also introduced to help solve the problem efficiently.
Conclusions and directions for future research are presented in Chapter 6.
10
Chapter 2
Literature Review
2.1 Ridesharing
Nowadays, the concerns with regard to traffic congestion, fuel consumption and
vehicle gas emissions in big cities are increasing. In the United States, among the 471
metropolitan areas studied, the delayed hours caused by the congestion was 6.9 billion in
2014 and was estimated to increase to 8.3 billion in 2020; the extra fuel consumption was
3.1 billion gallons in 2014 and was estimated to increase to 3.8 billion gallons in 2020
(Schrank et al., 2015). Moreover, in 2011, 33 percent of total U.S. greenhouse gas
emissions were generated by transportation activities while personal vehicle use accounted
for 63 percent of these emissions (The U.S. Department of State, 2014). Private vehicle
transportation was considered as a significant source contributing to the greenhouse gas
emissions among all the transportation modes (Hensher, 2008). Meanwhile, the average
vehicle occupancy rate in the US in 2009 was 1.67 and this number drops to 1.13 for work
commute trips (Santos et al., 2011). There are vacant seats to be utilized to improve the
current traffic situation. “Ridesharing is a joint-trip of more than two participants that share
a vehicle and requires coordination with respect to their itineraries” (Furuhata et al., 2013).
11
Ridesharing aims to satisfy the transportation demands with less vehicles by having more
people using one vehicle instead of driving their own vehicles alone, thus reducing the
traffic congestion, fuel consumption and emissions. It is now gaining more popularity
across the world given its potential in providing significant benefits to the social economy
and public health. Different from the taxi services, the motivation of the driver in
ridesharing is to cover the driver’s cost (e.g. gas cost, car insurance) instead of having a
financial gain.
In the past, ridesharing was strongly encouraged by the authorities (e.g. government
agencies and large employers) in response to the energy crisis since ridesharing was
considered as an effective way to reduce fuel consumption. The first organized ridesharing
was during World War II through “car-sharing clubs”. During the war, one essential action
taken by the government to conserve recourses for the war is the rationing of consumer
goods including the fuel. If alternative urban or suburban transportation methods are not
available, ridesharing, as an effective way to conserve fuel, is required by the US
government (Abramson and Philips, 1942). Since 75 percent of the workers in war
production cannot go to work by public transportation methods (e.g. bus, train), private
cars must be used. However, because of the shortage of fuel, in 1942, Car Sharing Clubs
were formed to make ridesharing arrangements so that the workers can get to work on time
while the fuel was saved for war use. Local defense councils, neighborhood councils were
requested to ensure the effective operation of the Car Sharing Clubs. A self-dispatching
12
system was implemented in the clubs in which drivers and riders are matched by using a
bulletin board (U.S. Office of Civilian Defense, 1942).
Ridesharing reemerged in the 1970s due to the oil crisis caused by the Arab oil
embargo. The methods of ridesharing got more diversified. Large-scale employers created
employer-sponsored commuter ride-matching programs for their employees. Those
companies collected the data of their employees and matched those who lived nearby
manually (Pratsch, 1975). 3M was the first employer that provided vans to their employees
who would share the ride commuting to work. There was also owner-operated vanpooling
in which the ridesharing arrangements were organized by the van owners (Chan and
Shaheen, 2012). Other than the companies and individuals, government agencies are also
actively involved in promoting the ridesharing program. The National Ride-Sharing
Demonstration Program was established in 1979 (Weiner, 1999). The National Association
of Van Pool Operators was formed in 1976 (Kircher and Wapensky, 1978). Moreover,
government agencies first opened HOV lanes along the Shirley Highway (I-395) in
Northern Virginia and Washington, DC in 1969, and subsequently 344 other HOV facilities
were opened by 2008 to encourage ridesharing (Chang et al., 2008). Slugging, also known
as casual carpooling, is a form of ad hoc and informal carpooling that began during the
1970s in response to the oil crisis and the existence of HOV lanes to save both energy and
time. Different from the previously mentioned ridesharing methods, slugging requires no
commitment between drivers and passenger in advance that passengers form “slug lines”
13
spontaneously at certain spots (e.g. entrances of HOV lanes) to wait for the drivers who are
willing to share a ride to be benefitted as high-occupancy vehicles (Poole Jr and Orsk,
2000). All those efforts to stimulate ridesharing in response to the energy crisis seemed to
work. From 1973 to 1974, among the 197,000 vehicles with follow-up data available, the
vehicle usage was down by 23.5 percent (Pratsch, 1975). Moreover, slugging did not end
with the oil crisis. In 1995, the first high occupancy toll lane was opened in California such
that high occupancy vehicles can receive a discounted toll rate or be free from charge with
the purpose to stimulate the utilization of the available vehicle capacities (Poole Jr and
Orsk, 2000). Thus, slugging was also formed to save toll cost.
After the oil crisis, the ridesharing’s participation rate declined. In fact, the
ridesharing rate was 20.4% in 1970 and dropped to 10.7% in 2008 (Chan and Shaheen,
2012). The largest drop in the ridesharing participation rate was during the 1980s where it
went from 19.7% to 13.4%. Ferguson (1997) argued that this was mainly caused by the
decrease in oil prices and improved economy. Other than the low oil prices, there are other
challenges in popularizing ridesharing, for example, efficiency in finding a match.
In the early days, people rideshared by posting their itinerary information on a
bulletin board to find a match manually. Though the itineraries of the drivers and the riders
were categorized in a certain way for easier searching, it still took some time in finding a
match. A good ridesharing system should provide automated matching which means that
the system should help drivers and riders find suitable matches (Agatz et al., 2012). The
14
first completely computerized ride-matching system was ATHENA developed by the
Federal Transit Administration (FTA) and the City of Ontario, California in 1994. The
Geography Information System (GIS) technology was employed in ATHENA to identify
and record the information of the riders and the passengers. Instead of finding a match
manually by the drivers or the riders, a central computer was used to make the match for
the driver and the rider and suggested the pickup locations, times and costs (Levofsky and
Greenberg, 2001). However, ATHENA failed to go further beyond the development phase
due to a city council turnover. Later, another completely computerized ride-matching
system called MINERVA was built upon the concept of ATHENA that integrated the
system with other online services such as online banking and home shopping to reduce
errand trips. However, MINERVA turned into a FTA study on microbus services instead
of being implemented in practice (Ghoseiri et al., 2011). Although both ATHENA and
MINERVA were not able to be implemented in the real world, the ideas of the GIS
technology implementation and completely computerized ride-matching formed a basis for
many of the ridesharing programs used today.
With the development of the Internet, many online ride-matching services emerged
since 1999. The users, either request a ride or provide a ride, input their itinerary
information so that the system can find a match for them. Though these online ride-
matching services can do the matches for the users which allows a larger search pool to
find a match easier, the development of ridesharing was still quite limited since the
15
ridesharing participants who used the online ride-matching services lost the flexibility that
private vehicles have offered given the fact that those shared rides were pre-arranged which
were more suitable for similar work commutes (Chan and Shaheen, 2012).
The lack of flexibility consideration was addressed by real-time ridesharing system.
With the exponentially increasing uses of smart phones and further developed technologies,
real-time ridesharing services, for example, some startups like Avego and Flinc, became
available which enable the ridesharing participants to share the rides right before their trips
or while the trips are on-going. To determine the matches between drivers and riders, some
requirements proposed by the ridesharing participants must be considered. A most common
constraint is the time window constraint since it is normal for a ridesharing participant to
specify an earliest pickup time and latest drop off time. In addition to time window
constraints, there are some other preference constraints that need to be met. Ghoseiri et al.
(2011) proposed a ridesharing system that considers the age, gender, smoking and pet
preferences when making the matching between drivers and riders. Given the feasible
matches, objectives are necessary to determine the travel routes. Common objectives in
ridesharing systems are to minimize total travel distance, minimize total travel time and
maximize the number of ridesharing participants. Calvo et al. (2004), with objectives of
maximizing the number of participants and minimizing the total travel distance, developed
a distributed geographic information system to provide an efficient information processing
and communication support for carpooling services. Winter and Nittel (2006) investigated
16
one novel application which is ad hoc shared-ride trip planning with the objective of
minimizing the travel time and maximizing the number of participants. Agatz et al. (2012)
listed optimization challenges for dynamic ridesharing and reviewed related operations
research models in the academic literature.
2.2 The Pickup and Delivery Problem
“The vehicle routing problem (VRP) involves the design of a set of minimum cost
routes for a fleet of vehicles which services exactly once a set of customers with known
demands” (Dumas, 1991). Toth and Vigo (2014) presented a comprehensive review on the
VRP. The most closely related routing problem to ridesharing is the pickup and delivery
problem (PDP) which is a class of VRP in which objects have to be transported between
an origin and a destination. Objects here could be passengers or packages. The PDPs are
known to be NP-hard and classified into three groups which are many-to-many problem,
one-to-many-to-one problem and one-to-one problem (Berbeglia et al., 2010). And the one-
to-one problem is similar to the ridesharing problem.
In the many-to-many problem, there are several origins and destinations for each
object. One example is the swapping problem introduced by Anily and Hassin (1992) in
which every vertex may initially contain at most one unit object of a known type and the
desired type of one unit object is also specified. Only a single vehicle with unit capacity is
considered. The objective is to get the shortest route so that the objects are at the vertices
17
of their types. The swapping problem was proven to be NP-hard since an optimal solution
of the travelling salesman problem instance which is a well-known NP-hard problem can
be derived from an optimal solution of the swapping problem (Anily and Hassin, 1992).
Anily and Hassin (1992) developed heuristics to help solve the problem with a worst-case
performance ratio of 2.5. Chalasani and Motwani (1999) improved the worst-case
performance with a ratio of 2 for a special case of the swapping problem with two object
types. The swapping problem that only allows some objects to be unloaded temporarily is
called the mixed swapping problem. Bordenave et al. (2010) constructed a heuristic to
solve the mixed swapping problem with up to 10,000 vertices and the optimality gaps are
less than 1% on average. The swapping problem that allows all objects to be unloaded
temporarily is called the preemptive swapping problem. Then Bordenave et al. (2012)
presented the first exact algorithm for the preemptive swapping problem which can easily
be modified to solve the mixed swapping problem. Hernandez-Perez and Salazar-Gonzalez
(2004a) introduced the one-commodity pickup and delivery traveling salesman problem
(1-PDTSP) which is also a many-to-many problem. The 1-PDTSP is closely related to a
special case of the non-preemptive swapping problem that considers only one type of object
which allows for multi-unit of demands and supplies of the object and multiple vehicle
capacity. The additional constraint is that the tour must be Hamiltonian. Hernandez-Perez
and Salazar-Gonzalez (2004b) developed a branch-and-cut algorithm that is capable to
solve the problem with up to 40 vertices. The study of the many-to-many problem is quite
18
limited which could be explained by the fact that there are not many real world situations
that can be modeled by this problem type.
In the one-to-many-to-one problem, there is a depot served as a pickup location for
some objects which are destined to the customer vertices or as a delivery location for the
other objects which are initially available at the customer vertices. Berbeglia et al. (2007)
defined several variants of the problem based on the demand structure and sequencing rules
of pickup and deliveries.
With single demands, in which each vertex has a zero pickup or delivery demand,
there are two types of the problem: with the rule of all delivery vertices must be visited
before pickup vertices (backhauls) and without the rule (mixed solutions). For the problem
with backhauls, the single vehicle case is usually called the Travelling Salesman Problem
with Backhauls (TSPB). The TSPB can be easily transformed into a standard Traveling
Salesman Problem (TSP) by assigning a large constant to the cost of all edges that connect
delivery and pickup vertices (Gendreau et al., 1996). Gendreau et al (1997) presented a
heuristic to solve the TSPB with a worst case performance ratio of 1.5 by extending the
heuristic developed by Christofides (1976) for the TSP. The solution performance was
further improved by applying the variable neighborhood search (Mladenovic and Hansen,
1997) and a neural network algorithm (Ghaziri and Osman, 2003). For the problem with
single demands and backhauls, the multi-vehicle case is usually called the Vehicle Routing
Problem with Backhauls (VRPB). Deif and Bodin (1984) first introduced a heuristic for
19
the VRPB which extends the heuristic proposed by Clarke and Wright (1964) for the VRP.
Later, many heuristics had been developed to improve the solution quality (Goetschalckx
and Jacobs-Blecha, 1989; Toth and Vigo, 1999; Osman and Wassan, 2002). Brandao (2006)
proposed a tabu search algorithm using a VRPB relaxation as an initial solution that
provided best known results in a relatively small amount of computing time. For the
problem with single demands and mixed solutions, the single vehicle case is usually called
the Travelling Salesman Problem with Pickups and Deliveries (TSPPD). Mosheiov (1994)
proposed a PDαT algorithm which solves the problem with a worst case performance ratio
of (1+ α) by using a TSP approximation algorithm with an α-worst-case performance ratio.
Mosheiov (1994) also proposed a heuristic called cheapest feasible extension that has an
unbounded worst case performance ratio which always provide better solutions than that
of the PDαT algorithm. Anily and Mosheiov (1994) described a new heuristic with a worst
case performance ratio of 2 by using a minimum spanning tree. Later, Baldacci et al. (2003)
presented an exact branch-and-cut algorithm to solve the problem by using a new two-
commodity network flow approach. For the problem with single demands and mixed
solutions, the multi-vehicle case is usually called the mixed VRPB. Golden et al. (1985)
first proposed a heuristic that inserting the pickup customers into the routes with delivery
customers scheduled first and a penalty is assessed according to the number of delivery
customers after the pickup customers in the routes. Casco et al. (1988) shared a similar idea
with Golden et al. (1985) and proposed a load-based insertion procedure that introduced a
20
penalty on the commodity loads that would be delivered after the pickups instead of the
number of delivery customers. Both heuristics were studied under the name of vehicle
routing with backhauls though the pickups were allowed to be before the deliveries with
penalties imposed. Wade and Salhi (2002) showed a heuristic with a restriction parameter
used to determine the necessary percentage amount of deliveries being made before the
first pickup since the authors think that it is more realistic to allow pickups before deliveries.
However, those pickups which would cause extra load arrangements in the vehicle should
not occur too early in the route.
With combined demands, in which each vertex can have both pickup and delivery
demands, Gribkovskaia et al. (2007) built a mixed integer linear programming model for
the problem which introduced the concept of a general solution that includes known
solution shapes such as Hamiltonian, double-path and lasso. Improvement heuristic and a
tabu search heuristic were also developed to help solve the problem. To improve the
solution performance, efforts have been made to apply sophisticated metaheuristics to
solve the problem such as ant colony algorithm (Catay, 2010), parallel heuristic
(Subramanian et al., 2010) and differential evolution algorithm (Mingyong and Erbao,
2010).
In practice, one-to-many-to-one pickup and delivery problem usually occur in the
Reverse Logistics context. Companies have arising needs to manage the reverse flow of
21
goods and materials since it is profitable, obligated or socially impelled to do so (de Brito
and Dekker, 2004).
In the one-to-one problem, a fleet of vehicles are used to serve a set of requests with
load specification. Each request object has exactly one pickup location and one delivery
location and the pickup location must be visited before the delivery location. This problem
is called the Vehicle Routing Problem with Pickup and Delivery (VRPPD). For example,
the dial-a-ride transportation service is of this type. The VRPPD can be categorized into
two groups: single vehicle and multi-vehicle problems (Cordeau et al., 2008). The stacker
crane problem is a special case of the single vehicle problem where the vehicle and each
object both have a capacity of 1. Frederickson et al. (1978) proposed a mixed-strategy
heuristic for the problem with a worst case performance ratio of 1.8. The general single
vehicle VRPPD was first studied by Stein (1978) in the context of passenger transportation
and a probabilistic analysis was proposed. Dynamic programming approaches were
developed to solve the problem for dial-a-ride transportation services (Psaraftis, 1980;
Desrosiers et al., 1986). One of the first local search heuristics for the problem was studied
by Psaraftis (1983) in which k-interchange procedures were applied. Savelsbergh (1990)
investigated the local search method for the problem based on the k-interchange concept.
Van Der Bruggen et al. (1993) applied another local search method to the problem based
on a variable-depth search. Healy and Moll (1995) proposed an effective extension to the
traditional local search method that considers escaping from a local optima to a worse
22
solution with a larger feasible neighborhood in order to expand the search area. Renaud et
al. (2000) proposed a two-phase heuristic including a solution construction phase and a
deletion and reinsertion phase that showed a significant performance improvement. Renaud
et al. (2002) continued to work on the idea of escaping from the local optima and seven
heuristics were presented and compared. Solution perturbation which considers the random
deletion and insertion of the vertices as well as the crossover combination of two solution
was shown to be the most effective. Hosny et al. (2010) presented an intelligent
neighborhood move guided by the time window to solve the problem that showed
improvements on the previously published results. Exact algorithms were also developed
to solve the problem. Kalantari et al. (1985), by extending the algorithm for the TSP of
Little et al. (1963), developed algorithms to solve the single or multi-vehicle VRPPD with
or without capacity constraint based on branch-and-bound. Desrosiers et al. (1986)
proposed a dynamic programming algorithm that efficiently eliminate infeasible and
dominated partial solutions and can solve instances with up to 40 vertices in a short time.
Fischetti and Toth (1989) presented an additive bounding procedure to compute lower
bounds. Ruland and Rodin (1997) proposed a branch-and-cut algorithm to solve the
problem with capacity constraints by using four classes of valid inequalities. Gouveia and
Pesneau (2006) presented more valid inequalities that showed significant effectiveness.
For the multi-vehicle problem, many exact algorithms were proposed to help solve
the problem optimally. And the majority of these algorithms consider the time window
23
constraints. Dumas et al. (1991) described an exact algorithm using column generation with
a constrained shortest path as a subproblem. The authors showed that the algorithm can
deal with multiple depots and different vehicle types and solve the tightly constrained
instances with up to 55 requests. Lu and Dessouky (2004) developed an exact algorithm
for the pickup and delivery problem with or without time window constraints. The problem
is formulated as a 0-1 integer-programming problem. A branch-and-cut algorithm based
on four families of valid inequalities is developed to optimally solve the problem with up
to 5 vehicles and 25 requests. Ropke et al. (2007) formulated the problem with time
window constraint in a different way and also proposed a branch-and-cut algorithm based
on several families of valid inequalities to help solve larger size instances. The
experimental result showed that the algorithm can solve instances optimally with up to 8
vehicles and 96 requests. Later, Ropke and Cordeau (2009) formulated the problem as a
set-partitioning problem and described a branch-and-cut-and-price algorithm to help solve
the problem. The lower bound of the linear programming relaxation of the formulation was
computed by using a column generation algorithm which considers two pricing
subproblems: an elementary and a non-elementary shortest path problem. Valid
inequalities including the ones from Ropke et al. (2007) are used within the branch-and-
cut algorithms. The experimental results show that the algorithm, with the primary
objective of minimizing the number of vehicles, can solve some instances with up to 500
requests when the constraints are tight. Baldacci et al. (2011) formulated the problem as a
24
set-partitioning-like integer formulation and presented a new exact algorithm based on a
bounding procedure that finds a near-optimal dual solution of the linear programming
relaxation of the formulation. The authors showed that this algorithm outperforms that of
Ropke and Cordeau (2009).
Since PDPs are NP-hard, heuristics are developed to get a satisfying though not
necessarily optimal result in an acceptable time period. Tabu search has been one of the
most commonly used metaheuristics for solving routing problems (Cordeau and Laporte,
2005). The algorithm moves to its best neighbor at each iteration until some stopping
criteria is satisfied. And the basic idea of the algorithm is to prevent looping by forbidding
the search move to a shortly visited point except if the move leads to a global optimal result
and discourages frequently visited moves by using long-term memory. One of the first
heuristcs for the PDPTW was presented by Nanry and Barnes (2000) which uses a reactive
Tabu search approach to solve the pickup and delivery problem with time windows. The
reactive Tabu search tracks the previously visited solutions and adjusts the search
parameters dynamically based on its assessment of the quality of the exploration. The
algorithm was able to obtain solutions within one percent difference with the best known
solutions and used a fraction of the computational effort required by the other algorithms
on average to solve the PDP problem with time windows. Li and Lim (2001) proposed a
metaheuristic to solve a multi-vehicle pickup and delivery problem with time windows. A
Tabu-embedded simulated annealing algorithm was applied which restarts the search after
25
several iterations without improvement in order to escape from the local minimum.
Cordeau and Laporte (2003) described a Tabu search heuristic for the static multi-vehicle
dial-a-ride problem and proposed a procedure for neighborhood evaluation that adjusts the
visit time of the vertices on the routes so as to minimize route duration and ride times.
Archetti et al. (2006) presented a tabu search algorithm for the VRP with split deliveries
and proved the effectiveness of the algorithm by comparing with the benchmark. Cordeau
and Maischberger (2012) proposed a parallel iterated tabu search heuristic for different
routing problems (the classical VRP, the periodic VRP, the multi-depot VRP and the site-
dependent VRP) and showed the heuristic is reasonably fast and effective. Belhaiza et al.
(2014) described a hybrid variable neighborhood tabu search heuristic for the VRP with
multiple time windows. The performance of the heuristic was shown by comparing to an
ant colony heuristic on benchmark instances. Moreover, other heuristics are also proposed
to solve the problem, Diana and Dessouky (2004) presented a parallel regret insertion
heuristic to solve a large-scale dial-a-ride problem with time window. Lu and Dessouky
(2006) presented a new insertion-based construction heuristic which considers the cost of
reducing the time window slack due to the insertion as well as the classical incremental
distance measure to solve the multi-vehicle pickup and delivery problem with time
windows. Parragh et al. (2010) proposed a competitive variable neighborhood search-based
heuristic for the static multi-vehicle dial-a-ride problem which allows intermediate
deteriorating moves and was able to get new best results for 16 out of the 20 benchmark
26
instances. Three classes of neighborhoods were used: one is based on a simple swap
operation, a second one uses the ejection chain idea and the third one swaps natural
sequences which are the sequences that lie between two arcs where the vehicle load is zero.
There are also lot of studies in the dynamic routing problem. Pillac et al. (2013)
provided a detailed review on dynamic routing problems. There are different strategies in
handling dynamic customer arrivals. Waiting is shown to be a useful one especially for
those with time windows (Pillac et al. 2013). That is, strategies for deciding when and
where the vehicle should wait and the amount of the wait time. Mitrovic-Minic et al. (2004)
showed that it is always better for the vehicle to wait after the drop-off of a customer. In
order to better distribute the waiting time along the route for the dynamic pickup and
delivery problem with time windows, Mitrovic-Minic and Laporte (2004) developed two
new waiting strategies by grouping the nodes of the route. The two new strategies: the
dynamic waiting strategy and the advanced dynamic waiting strategy both outperform the
mostly used drive-first waiting strategy while the advanced dynamic waiting strategy has
the best performance. Branke et al. (2005) studied a dynamic vehicle routing problem
where a single new customer arrives at a uniformly random location aiming to maximize
the probability of serving an additional customer while reducing the detour distance. The
authors showed that the best waiting strategy, in the single vehicle case, is not to wait if the
service region contains all reachable locations. For the case with two vehicles, the optimal
strategy is to wait at the customer location where the vehicle covers the most area. And an
27
evolutionary algorithm was used to find a good solution for the general case since it is
shown that the waiting driver problem (WDP) is NP-hard. Thomas (2007) considered the
question of when and where a vehicle should wait for future requests so as to satisfy as
many requests as possible given the customer locations and probabilistic information about
the future service request. The author derived analytical results by using a Markov decision
process model. An optimal policy was identified for the one new customer case. The
authors also proposed a real-time heuristic, by using the structural results, which is shown
to outperform other intuitively appealing heuristics if the late-request customers do not
exceed one quarter of the total. Bent and Van Hentenryck (2007) studied the online
stochastic vehicle routing problem with the goal of maximizing the number of served
customers. The authors proposed waiting and relocation strategies, where vehicles may
wait at arbitrary sites instead at their current locations. Some experiments were made to
show the effectiveness of the new strategy.
The previously reviewed papers mainly consider the situation that each object is
served by a single vehicle. When the objects are allowed to be dropped temporarily, the
problem is known as the VRPPD with transfers/transshipment (VRPPDT). The VRPPDT
enables more routing options and improves the utilization of the vehicle capacities. It is
also a NP-hard problem (Savelsbergh and Sol, 1995). Many works have been done in the
study of the transit operation that integrate the fixed line services (e.g. shuttle and bus) and
the flexible transportation services (e.g. dial-a-ride). Malucelli et al. (1999) studied the
28
transit operation that integrates the bus transportation with on-demand service. Crainic et
al. (2001) formulated the problem in a more general way. Horn (2002) proposed a
modelling system to investigate the performance of passenger transport systems that
different transportation modes used in combination including the fixed-line and flexible
transportation services. Aldaihani and Dessouky (2003) studied the transit operation that
integrates the fixed route service with the general pickup and delivery problem and
proposed a heuristic algorithm to solve the problem. Quadrifoglio et al. (2006) studied a
similar transit operation and developed bounds on the maximum longitudinal velocity to
evaluate the performance of such an operation. There are also studies in the transit
operation that only considers flexible transportation (i.e., transfers between on-demand
vehicles). Cortes et al. (2010) presented a strict formulation for the problem based on the
work of Desrochers et al. (1988), Desrosiers et al. (1995) and Savelsbergh and Sol (1995).
Cortes et al. (2010) also proposed a branch-and-cut algorithm for the problem based on
Benders decomposition. Rais et al. (2014) proposed a new formulation of the problem with
polynomial-size constraints and discussed several variants of the problem. Masson et al.
(2014) developed a branch-and-cut-and-price algorithm for the problem. The algorithm
was evaluated on generated and real-world instances with up to 193 requests and shown to
be able to solve instances with up to 87 requests optimally in one hour. Heuristics are also
developed to help solve the problem for larger sizes. Mitrovic-Minic and Laporte (2006)
proposed a two-phase heuristic for the problem consisting of a random multi-start cheapest
29
insertion procedure and a request remove and reinsertion phase. Peterson and Ropke (2011)
presented a large neighborhood search algorithm to deal with the problem in freight
transportation where only one transfer point was considered and up to 982 requests. Qu
and Bard (2012) studied the problem in the context of regional air carrier where only one
transfer point was considered and developed a two-route insertion heuristic and an adaptive
neighborhood search specifically for the problem. Masson et al. (2013) proposed an
adaptive large neighborhood search to address the problem with several available transfer
points where the requests are from disabled persons and evaluated the heuristic on real-
world problem instances. The simulation results showed that the utilization of the transfer
points do improve the routing performance. Moreover, other than the studies of the static
VRPPDT we mentioned above, Bouros et al. (2011) proposed a new solution method based
on a graph-based formulation to address the dynamic VRPPDT and claimed that their
method is faster than the most commonly used two-phase local search algorithm.
2.3 Research Gap
There are many existing models and published work on the vehicle pickup and
delivery problem with time windows. However, as far as we know, very few of them
considered the existence of HOV lanes and the policy of reduced toll rate on high
occupancy vehicles which will play an important role in ridesharing since both travel time
and cost will be saved by having more people on the vehicle. In this work, we plan the
30
routes with the objective of minimizing a weighted sum of travel distance, customers’ time
on the ride under congestion, and load dependent toll cost to take advantage of the existing
transportation infrastructure and policy. Moreover, instead of minimizing the violation of
ride time constraints as a procedure proposed by Cordeau and Laporte (2003), we minimize
the ride time of each customer. An algorithm of adjusting the pickup time is proposed to
improve the service quality.
Other than considering the existence of HOV lanes and the policy of reduced toll
rate on high occupancy vehicles, the idea of ridesharing should not be restricted to a single
vehicle. Therefore, we extend our routing model so that the trip by a passenger can be split
and served by different ridesharing providers. That is, we allow for the possibility to
transfer passengers from one vehicle to another before the passenger’s trip end. This added
flexibility (by relaxing the pairing constraints) potentially provides more routing options
so that the overall routing performance can be improved. We present a mixed integer
programming model that considers the availability of transfers. Moreover, we propose new
valid equalities and inequalities to help solve the optimal model more efficiently. However,
though the valid equalities and inequalities are proved to be effective, the problem is still
a NP-hard problem. We develop a heuristic algorithm to help solve the problem. The
heuristic algorithm uses a greedy insertion and a Tabu procedure is applied in the first
problem to obtain an initial solution which does not consider the use of transfer points.
31
Then, a new Tabu procedure is proposed to introduce the use of transfer points to help
improve the performance of the routing solutions.
32
Chapter 3
An Exact Formulation for the Pickup and
Delivery Problem for Ridesharing
Considering Load Dependent Cost
We formulate a 0-1 integer programming model for optimally solving a vehicle
routing problem with pickup delivery with time windows (VRPPDTW) considering time
savings and discounted toll rates based on the number of people in the vehicle. Assume
there is one ridesharing vehicle serving n requests, and each request has a pickup and
delivery location. Both the pickup and delivery have time windows. The time window of a
request is always feasible, which means a direct route can always be used to satisfy the
request. The requests that are not served by the vehicle will be served by an outside
provider which we refer to as taxi service. For simplicity in the description below, we
assume a single vehicle. The formulation for multiple vehicles is the standard
generalization of this model.
33
3.1 Model Formulation
We follow the formulation of Lu and Dessouky (2004) as the basis for our
formulation. The problem can be defined on a directed graph 𝐺 = (𝑁 , 𝐴 ). Let N be the
node set, 𝑁 = {1, 2 … 2n + 2}, where 𝑁 𝑖 denotes node i.
𝑖 = 1, … , 𝑛 request i’s pickup location
𝑖 = 𝑛 + 1, 𝑛 + 2, … ,2𝑛 request (i-n)’s delivery location
𝑖 = 2𝑛 + 1 driver’s start location
𝑖 = 2𝑛 + 2 driver’s end location
Let 𝑁 𝑃 denote the set of pickup nodes. 𝑁 𝑃 = {1, 2 … n}.
Let 𝑁 𝐷 denote the set of delivery nodes. 𝑁 𝐷 = {n + 1, n + 2 … 2n}.
Let 𝐴 be the arc set. The time and cost associated to each arc (𝑖 , 𝑗 ) 𝜖 𝐴 depends on the
number of people in the vehicle.
Parameters:
𝑅 𝑖 pickup demand (number of passengers) of request 𝑖 , 𝑖 𝜖 𝑁 𝑃
𝐺 𝑖 = {
𝑅 𝑖 𝑖 𝜖 𝑁 𝑃
−𝑅 𝑖 −𝑛 𝑖 𝜖 𝑁 𝐷
0 𝑜𝑡 ℎ𝑒𝑟𝑤𝑖𝑠𝑒
𝐶𝑎 vehicle capacity
𝑆 𝑖 ,𝑛 +𝑖 travel time from node 𝑖 to 𝑛 + 𝑖 using a taxi
𝐸 𝑖 the earliest time passenger can be picked up or delivered at node 𝑖
𝐿 𝑖 the latest time passenger can be picked up or delivered at node 𝑖
34
𝑂 the number of people in the vehicle at the driver’s start location
𝑌 𝑖𝑗
minimum travel time from node 𝑖 to 𝑗
𝑇 𝑖𝑗𝑤 travel time from node 𝑖 to 𝑗 if there are 𝑤 people in the vehicle
𝐶 𝑖𝑗𝑤 toll cost from node 𝑖 to 𝑗 if there are 𝑤 people in the vehicle
𝐷 𝑖𝑗𝑤 travel distance from node 𝑖 to 𝑗 if there are 𝑤 people in the vehicle
Variables:
𝑥 𝑖𝑗
= {
1 if the vehicle travels from node 𝑖 to node 𝑗
0 otherwise
𝑢 𝑖 = {
1 if node 𝑖 is visited by a taxi
0 otherwise
𝑏 𝑖𝑗
= {
1 if node 𝑖 is before node 𝑗 in the tour of the vehicle
0 otherwise
𝑣 𝑖 the time in which a passenger is picked up or delivered at node 𝑖
𝑧 𝑖 the number of people in the vehicle after serving node 𝑖
𝑡 𝑖𝑗
actual time from node 𝑖 to 𝑗
𝑐 𝑖𝑗
actual toll cost from node 𝑖 to 𝑗
𝑑 𝑖𝑗
actual distance from node 𝑖 to 𝑗
The parameters β, γ, μ, and λ represent the weights for the different objective
components total travel time, distance, toll fee and whether the request was serviced by the
taxi, respectively. The values of the 𝑇 𝑖𝑗𝑤 , 𝐷 𝑖𝑗𝑤 and 𝐶 𝑖𝑗𝑤 parameters are data for the
problem and can be determined by the passenger ride time, distance and toll cost observed
35
on the optimal route sending w passengers from i to j using parameters β, γ, and μ in the
objective function. Note that the weight λ could be indexed in the pickup node to represent
the actual taxi cost for that trip. In this work, however, we consider a uniform, large, weight
λ to prioritize servicing as many requests as possible by the ridesharing vehicles instead of
the use of a taxi like service.
Problem formulation:
Minimize
∑ 𝛽 ∗ (𝑣 𝑛 +𝑖 − 𝑣 𝑖 )
𝑖𝜖 𝑁 𝑃 + ∑ (𝛾 ∗ 𝑑 𝑖 ,𝑗
(𝑖 ,𝑗 )𝜖𝐴
+ µ ∗ 𝑐 𝑖𝑗
) + ∑ 𝜆 ∗ 𝑢 𝑖 (𝑖 ,𝑛 +𝑖 )𝜖𝐴
Subject to:
∑ 𝑥 𝑖𝑗
𝑗𝜖𝑁 + 𝑢 𝑖 = 1 𝑖 𝜖 𝑁 \{ 2n + 2} (3.1)
∑ 𝑥 𝑖𝑗
𝑖𝜖𝑁 + 𝑢 𝑗 = 1 𝑗 𝜖 𝑁 \{ 2n + 1} (3.2)
𝑢 𝑖 = 𝑢 𝑛 +𝑖 𝑖 𝜖 𝑁 𝑃 (3.3)
𝑏 𝑘𝑖
≤ 𝑏 𝑘𝑗
+ (1 − 𝑥 𝑖𝑗
) (𝑖 , 𝑗 ) 𝜖 𝐴 \(2n+2,2n+1) 𝑘 𝜖 𝑁 \{𝑖 } (3.4)
𝑏 𝑘𝑗
≤ 𝑏 𝑘𝑖
+ (1 − 𝑥 𝑖𝑗
) (𝑖 , 𝑗 ) 𝜖 𝐴 \(2n+2,2n+1) 𝑘 𝜖 𝑁 \{𝑖 } (3.5)
𝑏 𝑘𝑖
+ 𝑢 𝑖 ≤ 1 𝑖 𝜖 𝑁 \{2n+1,2n+2} 𝑘 𝜖 𝑁 \{𝑖 } (3.6)
𝑏 𝑖𝑘
+ 𝑢 𝑖 ≤ 1 𝑖 𝜖 𝑁 \{2n+1,2n+2} 𝑘 𝜖 𝑁 \{𝑖 } (3.7)
𝑏 𝑖 ,𝑛 +𝑖 + 𝑢 𝑖 = 1 𝑖 𝜖 𝑁 𝑃 (3.8)
𝑥 𝑖𝑗
≤ 𝑏 𝑖𝑗
(𝑖 , 𝑗 ) 𝜖 𝐴 (3.9)
𝑏 𝑖𝑖
= 0 𝑖 𝜖 𝑁 (3.10)
36
𝑏 𝑛 +𝑖 ,𝑖 = 0 𝑖 𝜖 𝑁 𝑃 (3.11)
𝑏 𝑖 ,2𝑛 +1
= 0 𝑖 𝜖 𝑁 (3.12)
𝑏 2𝑛 +2,𝑖 = 0 𝑖 𝜖 𝑁 (3.13)
𝑧 𝑖 = (𝐺 𝑖 + 𝑂 ) ∗ (1 − 𝑢 𝑖 ) + ∑ (𝑏 𝑚 𝑖 ∗ 𝐺 𝑚 𝑚𝜖𝑁 ) 𝑖 𝜖 𝑁 (3.14)
𝑧 𝑖 ≤ 𝐶𝑎 𝑖 𝜖 𝑁 (3.15)
𝑣 𝑖 + 𝑆 𝑖 ,𝑛 +𝑖 ≤ 𝑣 𝑛 +𝑖 + (1 − 𝑢 𝑖 ) ∗ 𝑀 𝑖 𝜖 𝑁 𝑃 (3.16)
𝑣 𝑖 + 𝑡 𝑖𝑗
≤ 𝑣 𝑗 + (1 − 𝑥 𝑖𝑗
) ∗ 𝑀 𝑖 𝜖 𝑁 𝑗 𝜖 𝑁 (3.17)
𝐸 𝑖 ≤ 𝑣 𝑖 ≤ 𝐿 𝑖 𝑖 𝜖 𝑁 (3.18)
𝑡 𝑖𝑗
≥ 𝑇 𝑖𝑗𝑤 − |𝑧 𝑖 − 𝑤 | ∗ 𝑀 − (1 − 𝑥 𝑖𝑗
) ∗ 𝑀 (𝑖 , 𝑗 ) 𝜖 𝐴 𝑤 = 1,2 … 𝐶𝑎 (3.19)
𝑐 𝑖𝑗
≥ 𝐶 𝑖𝑗𝑤 − |𝑧 𝑖 − 𝑤 | ∗ 𝑀 − (1 − 𝑥 𝑖𝑗
) ∗ 𝑀 (𝑖 , 𝑗 ) 𝜖 𝐴 𝑤 = 1,2 … 𝐶𝑎 (3.20)
𝑑 𝑖𝑗
≥ 𝐷 𝑖𝑗𝑤 − |𝑧 𝑖 − 𝑤 | ∗ 𝑀 − (1 − 𝑥 𝑖𝑗
) ∗ 𝑀 (𝑖 , 𝑗 ) 𝜖 𝐴 𝑤 = 1,2 … 𝐶𝑎 (3.21)
𝑥 𝑖𝑗
= {0, 1} (𝑖 , 𝑗 ) 𝜖 𝐴 (3.22)
𝑢 𝑖 = {0, 1} 𝑖 𝜖 𝑁 𝑃 (3.23)
𝑏 𝑖𝑗
= { 0, 1} (𝑖 , 𝑗 ) 𝜖 𝐴 (3.24)
𝑧 𝑖
𝜖 𝑍 𝑖 𝜖 𝑁 (3.25)
𝑣 𝑖 ≥ 0 𝑖 𝜖 𝑁 (3.26)
𝑡 𝑖𝑗
≥ 0 (𝑖 , 𝑗 ) 𝜖 𝐴 (3.27)
𝑐 𝑖𝑗
≥ 0 (𝑖 , 𝑗 ) 𝜖 𝐴 (3.28)
𝑑 𝑖𝑗
≥ 0 (𝑖 , 𝑗 ) 𝜖 𝐴 (3.29)
37
The objective is to minimize the total passenger ride time, total travel distance of
the vehicle, the total toll fee and the total taxi service cost if there are some requests that
cannot be fulfilled by the ridesharing vehicle then a taxi will be used to satisfy these
requests. In the objective function, the first term is the total passenger ride time with a
weight of 𝛽 . The value (𝑣 𝑛 +𝑖 − 𝑣 𝑖 ) is the ride time of passenger i. The second term is the
total cost of travel distance and toll fee. The summation of 𝑑 𝑖𝑗
on all edges is the total
travel distance for the vehicle with a weight of γ. The summation of 𝑐 𝑖𝑗
on all edges is the
total toll fee with a weight of µ. The third term is the total taxi cost with a weight of 𝜆
since the passengers that cannot be served by the vehicles will be served by a taxi.
Constraints (3.1) and (3.2) ensure that each location is visited only once either by
the vehicle or the taxi. Constraint (3.3) ensures that if the pickup location of the request is
visited by a taxi, the delivery location of the request would also be visited by a taxi.
Constraints (3.4)-( 3.13) and (3.24) characterize variable 𝑏 𝑖𝑘
which equals 1 if node i is
before node k in the tour and 0 otherwise. In particular constraints (3.4) and (3.5) ensure
that all nodes k that are before node i are also before node j, and vice versa if a vehicle
travels from i to j (𝑥 𝑖𝑗
= 1). Constraints (3.6) and (3.7) remove node i from the route if it
is visited by a taxi. That is, node i is not before or after any other node k in this case.
Constraint (3.8) ensures that every pickup node i is either visited by a taxi or before its
delivery node n+i on a tour. Constraint (3.9) forces i to be before j on a tour if a vehicle
travels from i to j. Constraints (3.10)-(3.13) define some basic relations: no node is before
38
itself in a tour, no drop off node is before its pick up node, there is no node before the
starting node, and finally the ending node is not before any node. The parameter 𝑏 𝑖𝑘
is
also used in the same way in the paper of Lu and Dessouky (2004).
Constraint (3.14) sets 𝑧 𝑖 to the number of people in the vehicle after serving node
i. ∑ (𝑏 𝑚𝑖
∗ 𝐺 𝑚 𝑚𝜖𝑁 ) is the number of people picked up and have not been dropped off
before node 𝑖 . 𝐺 𝑖 is the number of people that need to be either picked up or dropped off
at node 𝑖 . The drop-offs have a negative value while the pickups have a positive value. 𝑂
is the number of people in the vehicle at the driver’s start location. Constraint (3.15) is to
ensure that the capacity constraint of the vehicle is not violated.
Constraint (3.16) ensures the consistency of the time variables if the node is visited
by a taxi. 𝑀 is a big number to ensure that the inequality will always hold when 𝑢 𝑖 = 0.
Actually, we could get rid of this constraint by performing a post-processing phase.
Because of the minimization of the total passenger ride time term in the objective function,
without constraint (3.16), for the taxi-served passengers (𝑢 𝑖 = 1, 𝑢 𝑛 +𝑖 = 1), the value of
𝑣 𝑖 and 𝑣 𝑛 +𝑖 will be 𝐿 𝑖 and 𝐸 𝑛 +𝑖 , respectively. Constraint (3.17) ensures the consistency
of the time variables if the node is visited by the vehicle. M is a big number to make sure
that the inequality will always hold when 𝑥 𝑖𝑗
= 0. Constraint (3.18) is the time window
constraint for each node.
When 𝑥 𝑖𝑗
= 0, constraints (3.19), (3.20) and (3.21) will always hold. When 𝑥 𝑖𝑗
=
1, constraint (3.19) corresponds to the following set of constraints:
39
𝑡 𝑖𝑗
≥ 𝑇 𝑖𝑗 1
− |𝑧 𝑖 − 1| ∗ 𝑀
𝑡 𝑖𝑗
≥ 𝑇 𝑖𝑗 2
− |𝑧 𝑖 − 2| ∗ 𝑀
𝑡 𝑖𝑗
≥ 𝑇 𝑖𝑗 3
− |𝑧 𝑖 − 3| ∗ 𝑀
……
If 𝑧 𝑖 is not equal to 𝑤 , then 𝑡 𝑖𝑗
will be larger than a very small number. If 𝑧 𝑖
equals to 𝑤 , 𝑡 𝑖𝑗
will have a tighter constraint which is 𝑡 𝑖𝑗
≥ 𝑇 𝑖𝑗𝑤 . Since we want to
minimize 𝑣 𝑛 +𝑖 − 𝑣 𝑖 , then it would make 𝑡 𝑖𝑗
= 𝑇 𝑖𝑗𝑤 . Constraints (3.20) and (3.21) are
similar to constraint (3.19) and give the relations 𝑐 𝑖𝑗
≥ 𝐶 𝑖𝑗𝑤 and 𝑑 𝑖𝑗
≥ 𝐷 𝑖𝑗𝑤 if 𝑧 𝑖 is
equal to 𝑤 and 𝑥 𝑖𝑗
is equal to 1. The minimization will make 𝑐 𝑖𝑗
= 𝐶 𝑖𝑗𝑤 and 𝑑 𝑖𝑗
=
𝐷 𝑖𝑗𝑤 . However, constraints (3.19), (3.20) and (3.21) are non-linear. We use a standard
method to linearize it. For example, constraint (3.19) is transformed to the following two
inequalities where 𝑃 is a big enough number and ℎ
𝑖𝑤
is binary:
𝑡 𝑖𝑗
≥ 𝑇 𝑖𝑗𝑤 − (𝑧 𝑖 − 𝑤 ) ∗ 𝑀 − (1 − 𝑥 𝑖𝑗
) ∗ 𝑀 − 𝑃 ∗ ℎ
𝑖𝑤
(𝑖 , 𝑗 ) 𝜖 𝐴 𝑤 = 1,2 … 𝐶𝑎
𝑡 𝑖𝑗
≥ 𝑇 𝑖𝑗𝑤 + (𝑧 𝑖 − 𝑤 ) ∗ 𝑀 − (1 − 𝑥 𝑖𝑗
) ∗ 𝑀 − 𝑃 ∗ (1 − ℎ
𝑖𝑤
) (𝑖 , 𝑗 ) 𝜖 𝐴 𝑤 = 1,2 … 𝐶𝑎
Constraints (3.22), (3.23) and (3.24) are the binary constraints for the variables 𝑥 𝑖𝑗
,
𝑢 𝑖 and 𝑏 𝑖𝑗
, respectively. Constraints (3.25) set 𝑧 𝑖 to an integer value. Constraints (3.26),
(3.27), (3.28) and (3.29) are the non-negativity constraints for the variables 𝑣 𝑖 , 𝑡 𝑖𝑗
, 𝑐 𝑖𝑗
and 𝑑 𝑖𝑗
, respectively.
40
To help strengthen the computational capability of the model, we now describe
some valid equality and inequalities as follows. These constraints are certainly redundant
to the model. However, their effectiveness will be shown in the experimental results section.
𝑣 𝑛 +𝑖 − 𝑣 𝑖 ≥ 𝑌 𝑖 ,𝑛 +𝑖 𝑖 𝜖 𝑁 𝑃 (3.30)
𝑏 𝑘𝑖
+ 𝑏 𝑘 ,𝑖 +𝑛 ≥ 𝑥 𝑖𝑘
+ 𝑥 𝑘𝑖
𝑘 𝜖 𝑁 \{𝑖 , 𝑖 + 𝑛 } 𝑖 𝜖 𝑁 𝑃 (3.31)
𝑏 𝑖𝑘
+ 𝑏 𝑖 +𝑛 ,𝑘 ≥ 𝑥 𝑖 +𝑛 ,𝑘 + 𝑥 𝑘 ,𝑖 +𝑛 𝑘 𝜖 𝑁 \{𝑖 , 𝑖 + 𝑛 } 𝑖 𝜖 𝑁 𝑃 (3.32)
∑ (𝑏 𝑘𝑖
∗ 𝐺 𝑘 )
𝑘 𝜖 𝑁 = 0 𝑖 𝜖 { 2n + 1, 2n + 2} (3.33)
Constraint (3.30) is the minimum travel time constraint since the actual travel time
from the pickup node 𝑖 to its delivery node will always be larger than the minimum travel
time. Since the computing time is limited, this constraint could help provide a better lower
bound. Constraints (3.31) and (3.32) are the adjacent prior constraints. Constraint (3.33) is
the vehicle return constraint that no passenger will be in the vehicle when the vehicle
returns to the depot. Constraints (3.31), (3.32) and (3.33) are described and shown to be
valid in Lu and Dessouky (2004).
3.2 Experimental Results
In this section, we run computational experiments to test the effectiveness of the
valid equality and inequalities in our IP model. The experiments are run on a map
constructed that considers the existence of HOV lanes and toll roads. The map is a 16*10
grid with 160 nodes which are used as the start and end locations of the drivers and the
41
pickup and delivery locations of the requests and 294 edges which connect the 160 nodes
as a grid. All the edges are undirected. We set the length of each edge to be 10 kilometers.
50 out of the 294 edges are randomly chosen to be toll roads that charge 9 dollars with no
time savings to travel on. The toll rate information was derived from the Highway
Performance Monitoring System of the Federal Highway Administration (Office of
Highway Policy Information, 2011). We used fees which represented the average of the
toll rate data for California. The other 244 edges are freeways which do not charge toll fees.
We randomly set 147 out of the remaining 244 edges to contain HOV lanes. 117 out of the
147 are HOV lanes for 2 or more. The other 30 out of the 147 edges contain HOV lanes
for 3 or more people. We set the time on each edge to be 10 minutes for the general purpose
lanes, 7 minutes for HOV lanes for 2 or more people and 6 minutes for HOV lanes for 3 or
more people. The time-saving information is gained from the HOV Performance Program
Evaluation Report by Los Angeles County Metropolitan Transportation Authority (2002).
By comparing the travel speed in peak hour for HOV lanes and general purpose lanes,
HOV lanes are on average 36.5% faster than the general purpose lanes for the routes studied.
We also assume that vehicles that qualify for the HOV lanes do not pay fees on the toll
roads.
There are two types of inputs which are vehicles and requests. Unless otherwise
noted, we assume that all vehicles start at time 1 second, end at the end of the day, and the
initial number of people in the vehicle (driver) is 1. The origin and the destination are
42
randomly selected from the above grid for both the vehicles and requests. The request time
for each request is assumed to be time 0 which is right before the start time of the vehicle.
That is, all the requests are known before the vehicle starts. We set the parameter TW, the
acceptable time period that the request can be served, to be a multiple of the time needed
if the passenger travels alone and directly from the origin to the destination, i.e.
TW=α*direct ride time. The earliest pickup time is set in a way so that the earliest pickup
time plus the time window fits within a day. If it is not specifically mentioned, the number
of people to pick up for a particular request is set to 1. See Tables 3.1 and 3.2 for the
detailed information.
Table 3.1 Vehicle Data Generation
Origin Uniformly random in 16*10 grid
Destination Uniformly random in 16*10 grid
Start time 00:01
End time 23:59
Initial number of people in the vehicle 1
43
Table 3.2 Request Data Generation
Origin Uniformly random in 16*10 grid
Destination Uniformly random in 16*10 grid
Request time 00:00
Earliest pickup time Uniformly random [00:01, 23:59-TW]
Latest pickup time Earliest pickup time + TW
Earliest delivery time Earliest pickup time
Latest delivery time Latest pickup time
Number of people to pick up for each
request
1
3.2.1 Performance of the Valid Equality and Inequalities
Since it is computationally difficult to find optimal solutions for large problem
instances, we run experiments on problems with one vehicle and 5, 6, 7, 8 and 9 requests
with different α values of 1.5, 2, 2.5 and 3 to find the optimal solution in a reasonable
amount of computation time. Here, we set the capacity of the vehicle to be four. For this
set of experiments, our objective is to serve as many requests as possible by the vehicle
and to minimize the travel distance, passenger ride time and toll fee with their coefficients
𝛽 = 𝛾 = µ = 1. Thus, we set the weight λ to a very large number. We generate 5 random
test instances for each scenario. Table 3.3 shows the average running time results. The
experiments are implemented on a 2-Processor-Quad-Core Xeon Workstation (2.66 GHz,
16 GB RAM, 1.5 TB hard drive) using CPLEX 9.0.
44
Table 3.3 Performance of Valid Equality and Inequalities
α = number of requests made no cuts (sec) with cuts (sec) improvement (%)
1.5 5 2.71 0.49 50.49
1.5 6 1.87 0.80 48.42
1.5 7 5.78 1.30 62.84
1.5 8 85.38 7.12 81.36
1.5 9 74.15 7.87 79.88
2 5 1.00 0.53 38.63
2 6 1.39 0.77 43.71
2 7 131.13 11.60 53.21
2 8 1234.09 47.93 57.91
2 9 1577.76 175.22 64.84
2.5 5 1.43 0.90 40.63
2.5 6 21.49 3.78 55.81
2.5 7 53.62 63.69 33.64
2.5 8 7333.21 709.17 82.48
2.5 9 12340.98 286.44 93.71
3 5 2.69 2.75 18.47
3 6 7.66 5.52 42.24
3 7 10368.11 2219.90 68.94
3 8 820.64 104.41 66.50
3 9 342.05 74.08 73.50
In Table 3.3, the results under the column of no cuts show the average running time
needed to solve the 5 instances for each case without the valid equality and inequalities
45
which are constraints (3.30), (3.31), (3.32) and (3.33) in the model formulation. The results
under the column of with cuts show the average running time needed to solve the 5
instances for each case with the valid equality and inequalities. The results under the
column of improvement are the average improvement of the 5 instances for each case. In
general, as shown in Table 3.3, the valid Equality and Inequalities are effective and the
improvement is enhanced for larger size instances. Note that as the time window size
increases, it takes more computational time to find the optimal solution since the feasible
region is larger.
46
Chapter 4
Heuristics for the Pickup and Delivery
Problem for Ridesharing Considering
Load Dependent Cost
4.1 Heuristics
As previously introduced, the pickup and delivery problem with time windows is a
NP-hard problem and exact optimization algorithms are only able to solve small size
instances. Heuristics are necessary to solve larger size problems. In this section, we present
several heuristics for our pickup and delivery problem for ridesharing with time windows
considering load dependent cost. The first is an Insertion heuristic, which will be used
repetitively in the construction of the initial routes. The second part is the Adjust Pickup
Time Algorithm which is used to reduce the passenger ride time in the static case by
adjusting the pickup time of the passengers. That is, because of the time windows, the
vehicle might have to wait at some passenger’s pickup location while having other
passengers waiting in the vehicle. Since the passengers were picked up as soon as possible,
the Adjust Pickup Time Algorithm will postpone these passengers’ pickup time so that
their ride time will be reduced. The third part is a Tabu search which is used to improve
47
the routes in the static case. The last part is the Waiting Strategy used in the dynamic case
which is aimed at increasing the number of requests served as well as reducing the cost per
request.
We use different methods in solving the static and dynamic cases. The static case,
in which all the vehicles and requests are known before the scheduling time period starts,
uses the Insertion, Adjust Pickup Time, and Tabu search algorithms while the dynamic
case, in which requests are made during the scheduling time period, uses the Insertion and
Waiting Strategy algorithms. No Tabu search algorithm is applied in the dynamic case
since there is no intuitive point to run Tabu search and it is unrealistic in running time to
run Tabu search whenever a new request comes in. Here are the schemes of both cases to
solve the problem.
Scheme of Static Case:
Input: empty vehicle routes, requests
Output: vehicles routes
Initialize reject_list;
for each request do
Do Insertion with Adjust Pickup Time Algorithm;
if the request is rejected then
Add the request to reject_list;
end for;
Do Tabu Search Algorithm for VRPPDTW for five times and keep the best solution;
48
In the static case, the inputs are the empty vehicle routes and the requests. Then, we
do an Insertion with the Adjust Pickup Time Algorithm repetitively for each request. The
request that cannot be served by any vehicle will be added to the reject_list. After we
perform Insertion to all the requests, Tabu search is applied to improve the routing results
where we will repetitively attempt to insert the rejected requests to the routes again and
make any adjustments within and between vehicles. Tabu search is run five times and we
keep the best solution. Since we compared with the Li and Lim benchmark for the PDP
with time window, with 5 time runs, we almost obtain the benchmark value or even better.
Scheme of Dynamic Case:
Input: vehicle routes, a request
Output: vehicle routes
Do Insertion;
Do Waiting Strategy;
In the dynamic case, whenever a new request comes in, we do Insertion first, then
the Waiting Strategy. Here, we do not apply the Adjust Pickup Time Algorithm because
we do not want to postpone the pickup time of the passengers so that we can serve all the
requests as soon as possible to have the vehicle ready for any incoming request. The
Waiting Strategy we apply here will not delay the pickup/delivery time of the requests
while we evenly spread the slack time of all the request nodes. Tabu search is also not
49
applied in the dynamic case since the requests arrive throughout the day and there is no
intuitive time point to do between routes exchange in the Tabu search procedure and it is
unrealistic in running time to do between routes exchange Tabu search every time a new
request arrives. So, it is one of our future tasks to research how often the Tabu search should
be called in the dynamic case.
4.1.1 Insertion Heuristic
Insertion techniques are widely used for vehicle routing problems in obtaining
initial solutions since they are efficient, easy to implement and produce good results. Our
heuristic uses insertion as a basic technique to solve the pickup and delivery problem for
ridesharing with time windows considering load dependent cost.
Each request is inserted into an existing route of the vehicle which has the lowest
cost to serve the request among all the vehicles. A request that cannot be served by any
vehicle will be rejected and will be assumed to be served by a separate taxi service. We
assume multiple available vehicles.
50
Insertion Heuristic:
Input: the scheduled routes of all the vehicles, a request to insert
Output: the vehicle which takes the request, the updated route of the vehicle
set a large best_vehicle_cost;
for each vehicle route do
set a large best_current_vehicle_cost;
initialize a best_current_vehicle_route to the current route of the vehicle;
for each position in the vehicle route do
insert the pickup and delivery node of the request;
check feasibility;
if the insertion is feasible then
apply the Adjust Pickup Time Algorithm on the updated route (static case);
calculate the insertion cost;
if the insertion cost is smaller than the best_current_vehicle_cost then
update the best_current_vehicle_cost with the insertion cost;
update the best_current_vehicle_route with the updated route;
end for;
if the best_current_vehicle_cost is smaller than the best_vehicle_cost then
update the best_vehicle_cost with the best_current_vehicle_cost;
update the best_ vehicle_route with the best_current_vehicle_route;
end for;
In the algorithm, for each new request, we try all the possible positions for each
new request. After inserting a new request, the arrival time of the nodes in the route after
51
the pickup node of the new request might be postponed. Also, the number of people on the
vehicle between the new pickup node and delivery node will increase. Thus, the time and
the toll cost it takes to travel from one node to another will change. The feasibility of an
insertion is confirmed by checking if the time window constraint of each node in the route
and the capacity constraint are satisfied.
If the insertion heuristic is applied in the static case, the Adjust Pickup Time
Algorithm is used to improve the routing service quality by reducing the passenger ride
time. The detailed algorithm is shown in Section 4.1.2.
The insertion cost is the weighted sum of increased passenger ride time, increased
distance and increased toll fee. The new request will be inserted in the route position with
the lowest insertion cost.
4.1.2 Adjust Pickup Time Algorithm
We adjust the pickup time to improve the service quality. Normally, the passengers
are picked up at their earliest available time whenever the vehicle has arrived. Because of
the time windows, a vehicle might have to wait at some passenger’s pickup location while
having other passengers waiting in the vehicle so that the ride time of these passengers is
increased. However, these passengers do not necessarily have to wait. That is, they can be
picked up later instead of as soon as possible without delaying the delivery time. Here, we
show a mechanism that adjusts the pickup time so that the ride time of the passengers will
be decreased.
52
Parameters:
𝑁 𝑃 set of pickup nodes. 𝑁 𝑃 = {1, 2 … n}.
𝐻 𝑖 set of requests/passengers on the vehicle after serving node 𝑖 , 𝐻 𝑖 ⊆𝑁 𝑃
𝑞 index of the last node of the route
𝐸 𝑖 the earliest time passenger can be picked up or delivered at node 𝑖
𝐿 𝑖 the latest time passenger can be picked up or delivered at node 𝑖
𝑡 𝑖 ,𝑗 actual time it takes from node 𝑖 to 𝑗
Variables:
𝑣 𝑖 the time at which a passenger is picked up or delivered at node 𝑖
𝑃 𝑖 departure time of node 𝑖 (it is the time node 𝑖 is served initially)
𝑎 𝑖 arrival time to the 𝑖 th node on the route, 𝑎 𝑖 = 𝑃 𝑖 −1
+ 𝑡 𝑖 −1,𝑖
𝑊𝑇 𝑖𝑗
total wait time for request 𝑗 from node 𝑖 to the delivery node of request 𝑗 ,
𝑗 ∈ 𝐻 𝑖 . Wait time at node 𝑖 is max {0, 𝐸 𝑖 − 𝑎 𝑖 }.
𝐷𝑇
𝑖 maximum delay time of node 𝑖 without violating the time window constraints of
the nodes after node 𝑖 and without increasing the ride time of any
request/passenger on the vehicle after serving node 𝑖 , if any
𝐹 𝑖 maximum time increase at node 𝑖 without violating the time window constraints
of node 𝑖 and the nodes after node 𝑖 . This value was first defined by Savelsbergh
(1992). 𝐹 𝑖 = min
𝑖 ≤ 𝑗 ≤ 𝑞 {𝐿 𝑗 − (𝑃 𝑖 + ∑ 𝑡 𝑚 ,𝑚 +1 𝑖 ≤ 𝑚 <𝑗 )}.
53
Adjust Pickup Time Algorithm
Input: a scheduled route
Output: a scheduled route with adjusted pickup time
driver start time = driver start time + 𝐹 0
for each passenger node 𝑖 in the route do
if vehicle load after serving node 𝑖 is zero then
𝐷𝑇
𝑖 = 𝐹 𝑖 ;
else //there are passengers on ride
𝐷𝑇
𝑖 = 𝑚𝑖𝑛 {𝐹 𝑖 , min
𝑗 ∈𝐻 𝑖 𝑊𝑇 𝑖𝑗
};
𝑃 𝑖 = 𝑃 𝑖 + 𝐷𝑇
𝑖 ;
if 𝑖 is a pickup node then
𝑣 ′
𝑖 = 𝑃 𝑖 ;
update 𝑣 ′
𝑖 and 𝑃 𝑖 of all the nodes after node 𝑖 ;
end for;
In the above algorithm, we first adjust the driver’s start time by the amount of 𝐹 0
which is the largest amount of time the driver can delay without violating the time window
constraints of the nodes in the route. Then, for each passenger node 𝑖 , we set the delay
time equal to 𝐹 𝑖 if the vehicle load is zero which means there are no passengers in the
vehicle. If there are some passengers in the vehicle after serving node 𝑖 , we set the delay
time to be the minimum of 𝐹 𝑖 and 𝑊𝑇 𝑖𝑗
for all 𝑗 since the ride time of the passengers
picked up before node 𝑖 might be increased if the vehicle delayed its departure time at
54
node 𝑖 for the amount of 𝐹 𝑖 , and 𝑊𝑇 𝑖𝑗
is the least amount of time passenger 𝑗 needs to
wait given the scheduled route and the time windows of the nodes from node 𝑖 to the
delivery node of 𝑗 , no matter how this amount of time is distributed. Then we update the
departure time of node 𝑖 by including the delay time. If node 𝑖 is a pickup node, we will
set the pickup time to be the newly updated departure time to decrease the passenger’s ride
time. The pickup/delivery time of node 𝑖 will not be changed if it is a delivery node. Since
the departure time of node 𝑖 is changed, the pickup/delivery time and departure time of
all the nodes succeeding it need to be updated. Below is an example to show how the
algorithm works.
Figure 4.1 Initial Route
Figure 4.1 shows the input of the algorithm which is a scheduled route. Nodes S
and T are the start node and the end node of the driver. Nodes A, B and C are the pickup
nodes of passenger A, B and C, respectively. Nodes A’, B’ and C’ are the delivery nodes
55
of passenger A, B and C, respectively. The time windows are shown above each node. The
arrival time is the time when the driver is able to serve the node. The arrival time of the
driver’s start node is actually the time that the driver is ready to leave. The pickup/delivery
time is the actual start and end time for the driver and the actual pickup and delivery time
for the passengers. The wait time indicates how long the driver waits at each node. And we
assume the travel time between each node pair is 5.
Initially, without adjusting the pickup time, a commonly applied drive-first strategy
is used so that the driver starts at the earliest available time which is 0 here and leaves the
passenger nodes as soon as possible. The wait time occurs at nodes B and C when the driver
arrives to pick up passengers B and C since the driver arrives earlier than the earliest
available time of passengers B and C. Here, the total ride time of all the passengers is 65.
Then, we apply the Adjust Pickup Time Algorithm. First, we calculate 𝐹 0
for the
driver start node. Here, the largest amount of time that the driver can delay at the start node
(𝐹 0
) is 5. Otherwise, the time window constraint of pickup node A will be violated.
Therefore, the pickup/delivery time of node S is 5. And the arrival time, pickup/delivery
time and wait time of the succeeding nodes are all updated as shown in Figure 4.2.
56
Figure 4.2 Route after Adjust Driver’s Start Time
The next node is node A, since A is already picked up at its latest time, no time can
be delayed without violating its time window. Then, we move to the next node B. The
maximum feasible time increase at node B (𝐹 2
) is 10. And there are two passengers on
board the vehicle after serving node B. The total time passengers A and B need to wait
from the current node to their delivery nodes is 5 and 5, respectively. We take the minimum
of the three numbers so that the maximum delay time at node B is 5. Therefore, the
pickup/delivery time of B is increased from time 20 to 25. And all the succeeding times are
updated as shown in Figure 4.3.
57
Figure 4.3 Route after Adjust Pickup Time
Computationally, we should go through all the nodes to calculate the delay time
and adjust the pickup time. Here, since node C is the last pickup node, there is no need to
extend the wait time. Therefore, Figure 4.3 shows the output of the algorithm. We can see
that though the total wait time for the vehicle has not changed, the total ride time of the
passengers decreased from 65 to 55.
4.1.3 Tabu Search Algorithm for VRPPDTW
An Insertion heuristic is used to construct the initial routes. A Tabu search
algorithm is developed to improve the solution. The Tabu search algorithm applied in this
work considers both between routes exchanges and within route exchanges. The
neighborhoods of the between routes Tabu search are obtained from both the PD-Shift
operator and PD-Exchange operator (Li and Lim 2001). The PD-Shift operator moves a
58
pickup and delivery pair (PD-pair) from one randomly chosen route to another randomly
chosen route. The PD-Exchange operator randomly picks two routes and randomly picks
one PD-pair from each route and then swaps the two pairs. The neighborhoods of within
route Tabu search is obtained from the PD-Rearrange operator (Li and Lim 2001) which
rearranges PD-pairs to the best position in the same route and the 2-opt operator (Croes
1958) which randomly selects two nodes (pickup or delivery) within the same route and
exchanges the order between these two nodes (inclusive). Infeasible neighbors are
forbidden with regard to the pairing (pickup before delivery) and time window constraint.
Tabu Search Algorithm for VRPPDTW
Input: vehicle routes, rejected list
Output: improved vehicle routes, updated rejected list
repeat
randomly choose two routes from the vehicle routes;
generate 𝛼 𝑚𝑎𝑥
neighbors from the PD-Shift operator;
generate 𝛽 𝑚𝑎𝑥
neighbors from the PD-Exchange operator;
choose the best solution and make the move;
set the Tabu tenure of the move to be 3 iterations;
try to reinsert the requests in the rejected list;
if there’s no improvement after B_NoImp iterations then
randomly generate new plans for the chosen routes to explore;
until no improvement in 𝐼 𝐵 −𝑚𝑎𝑥
iterations;
59
for each route do
repeat
generate 𝛾 𝑚𝑎𝑥
neighbors from the PD-Rearrange operator;
generate 𝛿 𝑚𝑎𝑥
neighbors from the 2-opt operator;
choose the best solution and make the move;
if the iteration number mod number of passenger in the route = 0 then
𝑚 is a roundup integer of (the number of passenger in the route/8);
Tabu tenure 𝜃 is generated from a uniform distribution 𝑈 (𝑚 , 2𝑚 );
else
Tabu tenure 𝜃 = 2;
set the Tabu tenure of the move to be 𝜃 iterations;
if there is no improvement after W_NoImp iterations then
randomly generate new plans for the chosen routes to explore;
until no improvement in 𝐼 𝑊 −𝑚𝑎𝑥
iterations;
end for;
calculate the objective and save the current solution, update the rejected list;
At each iteration of between routes Tabu search, 𝛼 𝑚𝑎𝑥
PD-Shift neighbors and
𝛽 𝑚𝑎𝑥
PD-Exchange neighbors are generated. And the Tabu search will move to the best
neighbor. A temporary worse move is allowed to escape from the local optimal. And
previously rejected requests are tried to be inserted into the routes. After B_NoImp
iterations without improvements, random sequences of the routes chosen will be generated
with the intension of escaping from a local minimum. Feasibility of the routes is required.
𝐼 𝐵 −𝑚𝑎𝑥
is set to be the number of possible combination of 2 routes out of the total number
60
of routes. The between routes Tabu search will be repeated until there is no improvement
in 𝐼 𝐵 −𝑚𝑎𝑥
iterations which means, in expectation, there is no improvement with all the
possible combinations of the attempted routes.
After between routes Tabu search, we do within route Tabu search for each route.
At each iteration, there are 𝛾 𝑚𝑎𝑥
neighbors generated from the PD-Rearrange operator
and 𝛿 𝑚𝑎𝑥
neighbors generated from the 2-opt operator. Same as between routes Tabu
search, we move to the best neighbor at each iteration and a temporary worse move is
acceptable. After W_NoImp iterations without improvements, the route will be re-routed
to escape from a local minimum. The within route Tabu search terminates after 𝐼 𝑊 −𝑚𝑎𝑥
iterations with no improvement.
4.1.4 Waiting Strategy
In the dynamic case, instead of a simple drive-first strategy in which drivers travel
to the next location as soon as possible, we sometimes want the vehicle to wait at the current
node for some more time to take the chance that there is a nearby new request arriving soon
and thus avoiding an unnecessary detour. The Waiting Strategy here is proposed with the
objective to serve more passengers at less cost. The idea is to distribute any vehicle slack
evenly between two succeeding nodes. The slack is the amount of time that the vehicle can
spend at the node without causing any infeasibility.
61
Parameters:
𝐸 𝑖 the earliest time passenger can be picked up or delivered at node 𝑖
𝐿 𝑖 the latest time passenger can be picked up or delivered at node 𝑖
m index of the last node in the route
Variables:
𝑎 𝑖 arrival time to the 𝑖 th node on the route
𝑊 𝑖 wait time at node 𝑖 before pickup or delivery which is 𝑚𝑎𝑥 (0, 𝐸 𝑖 − 𝑎 𝑖 )
𝑊 𝑖 ′
wait time at node 𝑖 after pickup or delivery
𝑌 𝑗 = {
𝐿 𝑚 − 𝑚𝑎𝑥 (𝑎 𝑚 , 𝐸 𝑚 ) for 𝑗 = 𝑚
𝑚𝑖𝑛 {𝐿 𝑗 − 𝑚𝑎𝑥 (𝑎 𝑗 , 𝐸 𝑗 ) , 𝑌 𝑗 +1
+ 𝑊 𝑗 +1
} for 𝑗 = 𝑚 − 1, 𝑚 − 2, … ,1
Waiting Strategy
Input: a scheduled route
Output: a scheduled route with adjusted wait time
for each node 𝑖 in the route from the second to last to the first do
if 𝑌 𝑖 + 𝑊 𝑖 < 𝑌 𝑖 +1
+ 𝑊 𝑖 +1
+ 𝑊 𝑖 +1
′
then
𝑊 𝑖 ′
= min {𝑊 𝑖 +1
,
𝑌 𝑖 +1
+𝑊 𝑖 +1
+𝑊 𝑖 +1
′
−𝑌 𝑖 −𝑊 𝑖 𝟐 };
else
𝑊 𝑖 ′
= 0;
𝑊 𝑖 +1
= 𝑊 𝑖 +1
− 𝑊 𝑖 ′
;
end for;
Above, we display the Waiting Strategy applied in the heuristic. The idea is to
62
evenly distribute the vehicle’s slack time at each passenger location in the dynamic
situation without postponing the pickup or delivery time of the passenger given that the
request is uniformly generated spatially and temporally. To achieve the goal, we apply the
Waiting Strategy demonstrated above which will let the driver wait at the node after the
passenger being picked up or dropped off instead of the most commonly used drive-first
strategy by which the driver will travel to the next location as soon as possible.
Given a scheduled route, we can calculate the 𝑊 𝑖 and 𝑌 𝑖 values using the above
equations. Initially, each wait time after serving node 𝑖 (𝑊 𝑖 ′
) is 0. Lu and Dessouky (2006)
showed that 𝑌 𝑖 + 𝑊 𝑖 is the maximal additional time that the vehicle can spend at the nodes
before 𝑖 without causing any infeasibility. Here, we start from the second to last node of
the route. If the maximal slack time of node 𝑖 is less than the maximal slack time of the
next node 𝑖 + 1, we set 𝑊 𝑖 ′
to be the minimum of 𝑊 𝑖 +1
and (𝑌 𝑖 +1
+ 𝑊 𝑖 +1
+ 𝑊 𝑖 +1
′
−
𝑌 𝑖 − 𝑊 𝑖 )/2 so that the pickup/delivery time of the passenger will not be changed and try
to make the two nodes have the same slack time. Then we update 𝑊 𝑖 +1
. This strategy is
shown to be effective by the experimental results in Section 4.2.1.2.
An example is shown in Figure 4.4. There are four nodes: A, B, C and D. Given the
schedule, we can get the wait time 𝑊 and maximum postpone time 𝑌 at each node as
shown in step 0. The first bar of the node is the wait time before serving the passenger, the
second is the maximum postpone time and the third is the wait time after serving the
passenger at the node which is 0 now.
63
Figure 4.4 Example of the Waiting Strategy
Then, we apply the Waiting Strategy. We start from node C since it is the second
to last node of the route. Since W+Y at C is 7 and W + Y + W ’ at D is 13, W’ at C is min{3,
(7+13)/20} which is 3. Then, we update the W value at D which becomes 0 as shown in
Step 1 since according to our Waiting Strategy, the vehicle should wait at C after serving
the passenger instead of driving to D right after serving the passenger at C and wait at D.
Then, we follow the procedures to work on nodes B and A and the results of which are
shown in Step 2 and Step 3. At Step 3, which shows the final results after applying the
Waiting Strategy, we can observe that the slack at each node is more evenly distributed
than before.
64
4.2 Experimental Results
In this section, we run experiments by applying the schemes proposed in the above
heuristics. We run several computational experiments with the objective to: 1) show the
effectiveness of our Adjust Pickup Time algorithm and compare the solutions from the
heuristics with the optimal solutions obtained from CPLEX using our proposed IP model;
2) compare the cost per request for different values on the number of vehicles and time
window sizes; 3) demonstrate the performance of the Waiting Strategy in the dynamic case;
4) perform sensitivity analysis on time savings on HOV lanes to understand under what
conditions it is best to take detours to make use of these incentives for ridesharing; and 5)
perform sensitivity analysis on different number of toll roads to understand the passengers’
reactions to the existence of toll roads. Unless otherwise noted, all the experiments are run
on the same map constructed as follows.
The experiments are run on a map constructed that considers the existence of HOV
lanes and toll roads. The map is a 16*10 grid with 160 nodes which are used as the start
and end locations of the drivers and the pickup and delivery locations of the requests and
294 edges which connect the 160 nodes as a grid. All the edges are undirected. We set the
length of each edge to be 10 kilometers. 50 out of the 294 edges are randomly chosen to be
toll roads that charge 9 dollars with no time savings to travel on. The toll rate information
was derived from the Highway Performance Monitoring System of the Federal Highway
Administration (Office of Highway Policy Information, 2011). We used fees which
65
represented the average of the toll rate data for California. The other 244 edges are freeways
which do not charge toll fees. We randomly set 147 out of the remaining 244 edges to
contain HOV lanes. 117 out of the 147 are HOV lanes for 2 or more. The other 30 out of
the 147 edges contain HOV lanes for 3 or more people. We set the time on each edge to be
10 minutes for the general purpose lanes, 7 minutes for HOV lanes for 2 or more people
and 6 minutes for HOV lanes for 3 or more people. The time-saving information is gained
from the HOV Performance Program Evaluation Report by Los Angeles County
Metropolitan Transportation Authority (2002). By comparing the travel speed in peak hour
for HOV lanes and general purpose lanes, HOV lanes are on average 36.5% faster than the
general purpose lanes for the routes studied. We also assume that vehicles that qualify for
the HOV lanes do not pay fees on the toll roads. In our experiments, unless otherwise noted,
the weights (represented as β, γ and μ in Chapter 3) on the passenger ride time, route
distance and the toll cost are all equal to 1. Moreover, since the time windows of the
requests we used in our experiments impose a relatively stricter constraint than the capacity
of the vehicle, we now assume that all vehicles have no capacity constraint.
4.2.1 Comparison of Heuristics
4.2.1.1 Static Case
There are two types of inputs which are vehicles and requests. Unless otherwise
noted, we assume that all vehicles start at time 1 second, end at the end of the day, and the
66
initial number of people in the vehicle (driver) is 1. The origin and the destination are
randomly selected from the above grid for both the vehicles and requests. The request time
for each request is assumed to be time 0 which is right before the start time of the vehicle.
That is, all the requests are known before the vehicle starts. We set the parameter TW, the
acceptable time period that the request can be served, to be a multiple of the time needed
if the passenger travels alone and directly from the origin to the destination, i.e.
TW=α*direct ride time. The earliest pickup time is set in a way so that the earliest pickup
time plus the time window fits within a day. If it is not specifically mentioned, the number
of people to pick up for a particular request is set to 1. See Tables 4.1 and 4.2 for the
detailed information.
Table 4.1 Vehicle Data Generation
Origin Uniformly random in 16*10 grid
Destination Uniformly random in 16*10 grid
Start time 00:01
End time 23:59
Initial number of people in the vehicle 1
67
Table 4.2 Request Data Generation
Origin Uniformly random in 16*10 grid
Destination Uniformly random in 16*10 grid
Request time 00:00
Earliest pickup time Uniformly random [00:01, 23:59-TW]
Latest pickup time Earliest pickup time + TW
Earliest delivery time Earliest pickup time
Latest delivery time Latest pickup time
Number of people to pick up for each
request
1
First, we run experiments on 100 requests, 40 vehicles with TW set using α=1.5 to
test the performance of the Adjust Pickup Time Algorithm. Ten instances are tested by
using the Insertion with the objective of minimizing the distance only with or without the
Adjust Pickup Time Algorithm. The detailed results of the ten instances including the
number of requests served, total travel distance across all vehicles and total ride time across
all requests are shown in Table 4.3.The total travel distance is the same under both
scenarios since the Adjust Pickup Time Algorithm will not change the travel routes. We
can see that the ride time is decreased about 4.27% on average by applying the Adjust
Pickup Time Algorithm. From Table 4.3, we can see that the Adjust Pickup Time
Algorithm does help in reducing the ride time though the improvement is not significant
since the time window of each request is restricted to be 1.5 times the direct ride time so
68
there is not a significant amount of time that can be postponed to pick up a passenger.
Table 4.3 Result of Testing Adjust Pickup Time Algorithm
number of
requests
served
total
distance
total request ride
time (without
Adjust Pickup
Time Algorithm)
total request ride
time (with Adjust
Pickup Time
Algorithm)
improvement in
ride time (%)
test 1 100 6980 8020 7611 5.10
test 2 100 7580 7462 7222 3.22
test 3 100 7880 7750 7524 2.92
test 4 100 8240 8600 8228 4.33
test 5 100 7460 7680 7475 2.67
test 6 100 7600 9022 8254 8.51
test 7 100 6400 8767 8328 5.01
test 8 100 7540 7595 7513 1.08
test 9 100 7200 8100 7646 5.60
test 10 100 8020 8727 8353 4.29
average 100 7490 8172 7815 4.27
Next, we demonstrate the performance of our heuristics by comparing the routing
results of the heuristics with that of the IP model. For the parameters in Tabu search, since
our route size is not large, we set 𝛼 𝑚𝑎𝑥
, 𝛽 𝑚𝑎𝑥
, 𝛾 𝑚𝑎𝑥
and 𝛿 𝑚𝑎𝑥
to be the number of all
possible neighbors. B_NoImp and W_NoImp are set to equal to 5. 𝐼 𝑊 −𝑚𝑎𝑥
is set to equal
to 150. 𝐼 𝐵 −𝑚𝑎𝑥
is set to be the number of possible combinations of 2 routes out of the total
number of routes. Table 4.4 shows the results. The average relative gap shown in the table
69
is the difference between the objective value of the optimal solution and the output
objective value of the heuristic divided by the objective value of the optimal solution.
Number of optimal found indicates among how many out of the 5 tests we ran for each
scenario the heuristic found the optimal solution. Some results in the table show that the
average relative gap equals to 0 while the number of optimal found does not equal to 5.
The reason is that the optimal value and the output of the heuristic has a very small
difference in these cases. Since the results round to two decimals, the ratio equals to zero.
From Table 4.4, we can see that the heuristic works well for smaller size problems. In cases
where the heuristic did not find the optimal result the heuristic failed to find a solution that
served as many requests as the optimal result. The running times of the IP model are shown
in Table 3.3 while the running time of the heuristic, for example, with α = 3 and number
of requests larger than 6, is 5 seconds on average.
70
Table 4.4 Performance of the Proposed Heuristic
α = number of requests made average relative gap number of optimal found
1.5 5 0.00 5
1.5 6 0.00 5
1.5 7 0.10 3
1.5 8 0.00 3
1.5 9 0.05 3
2 5 0.00 4
2 6 0.00 5
2 7 0.00 4
2 8 0.00 2
2 9 0.09 0
2.5 5 0.00 5
2.5 6 0.00 2
2.5 7 0.00 3
2.5 8 0.00 2
2.5 9 0.11 1
3 5 0.00 5
3 6 0.00 4
3 7 0.00 3
3 8 0.00 3
3 9 0.00 2
We next compare the performances of the heuristics with the objective of
minimizing distance only and the objective considering congestion which is minimizing
71
the travel distance, passenger ride time and toll fee with their coefficients equal to 1. The
parameters used in the Tabu search are the same as the previous experiments. We do
experiments on 100 requests, different number of vehicles: 10, 15 and 20 and different α
values of 1.5, 2, 2.5 and 3. Here, the number of people to pick up per request is a uniformly
discrete random variable between 1 and 3 to test the impact of the generated routes when
there are more people in the vehicle.
In the following figures, we show the cost per request from the experiments results
with the above assumptions and data inputs. All 100 requests are served by the provided
vehicles without using any taxi for each instance. The results shown in the figures are
averages of ten instances. We run each instance with different heuristics: insertion heuristic
with objective of minimizing distance and with Tabu Search (Distance-Tabu) and insertion
heuristic with objective of minimizing congestion function (see objective function in
Chapter 3) and with Tabu Search (Congestion-Tabu). The Adjust Pickup Time Algorithm
is applied in each scenario. We compare the results based on the cost per request served.
Note the cost per request is the sum of the total distance, passenger ride time and toll fee
divided by the total number of requests. The total distance refers to the total vehicle travel
distance minus the distance from the origin to destination of the vehicle itself. This
comparison allows us to show the benefit of explicitly accounting for the congestion in the
heuristics.
Figure 4.5 summarizes the cost per request with different time windows and the
72
number of vehicles using the Congestion-Tabu heuristic. Figure 4.6 shows the differences
in cost per request which is the cost per request under Distance-Tabu scenario minus that
under Congestion-Tabu scenario.
Figure 4.5 Cost/Request for Different α’s Using Congestion-Tabu
Figure 4.6 Difference in Cost/Request between Distance-Tabu and Congestion-Tabu
120.0
125.0
130.0
135.0
140.0
145.0
150.0
155.0
160.0
165.0
170.0
10 vehicles 15 vehicles 20 vehicles
cost/request
α = 1.5
α = 2
α = 2.5
α = 3
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
10 vehicles 15 vehicles 20 vehicles
cost/request
α = 1.5
α = 2
α = 2.5
α = 3
73
From Figure 4.5, we compare the results of different number of vehicles and time
windows with the scenario of Congestion-Tabu. We can see that the cost per request is
decreasing with a larger time window and more vehicles. That is, since all 100 requests are
served, with a larger time window, there are more possible feasible routes to choose from
which reduces the cost per request. Likewise, when there are more vehicles, there are more
alternatives for ridesharing options, reducing the cost.
From Figure 4.6, it shows that the difference in cost per request between the two
heuristics, Distance-Tabu and Congestion-Tabu, is increasing with larger time windows.
That is, the benefit of the congestion based heuristics (Congestion-Tabu) increases with
larger time windows. This benefit explicitly accounts for the fact that the travel time and
toll fee can decrease with additional pickups.
4.2.1.2 Dynamic Case
In the dynamic case, the vehicles are generated exactly the same as in the static case
(see Table 4.1). However, different from the static case, the passenger requests arrive
dynamically throughout the day. Detailed information about the request data generation is
shown in the table below. The earliest pickup time is randomly generated during the day.
The request time is uniformly generated between 1 minute and 2 hours before the earliest
pickup time instead of time 0 which is right before the vehicle start time. The latest pickup
time is generated to make sure that the available pickup time period ends before the end of
the day with slack between 6 to 30 minutes. The earliest delivery time is set the same as
74
the earliest pickup time since the passenger should be dropped off as soon as possible. The
latest delivery time is generated in the way that the feasible ride time period ends before
the end of the day and has at least 121 minutes if possible. Note that even with these
parameters, it may not be feasible to service all the requests.
Table 4.5 Request Data Generation (real-time)
Origin Uniformly random in 16*10 grid
Destination Uniformly random in 16*10 grid
Request time Min(00:00,Earliest pickup time-uniformly
random [1, 120] minutes)
Earliest pickup time Uniformly random [00:01, 23:59]
Latest pickup time Min(Earliest pickup time + 5 minutes +
uniformly random [1, 25] minutes, 23:59)
Earliest delivery time Earliest pick up time
Latest delivery time Min(Latest pickup time + 120 minutes +
Uniformly random [1, minutes left before
23:59], 23:59)
Number of people to take the ride Uniformly discrete random [1,3]
To test how the Waiting Strategy performs, we run 500 requests with different
number of vehicles: 20, 50 and 80. We ran 10 instances for the Insertion heuristic with
objective of minimizing congestion function with the Waiting Strategy and without the
Waiting Strategy. The results are the average of the instances. Figure 4.7 shows the trend
of the cost per request as a function of the number of vehicles. Table 4.6 shows the detailed
75
data for the different number of vehicles with or without the Waiting Strategy.
Figure 4.7 Comparison of Cost/Request between without and with the Waiting Strategy
Table 4.6 Results for Dynamic Case
without the Waiting Strategy With the Waiting Strategy
number of requests
served
cost/request
number of
requests served
cost/request
20 vehicles 404.0 191.63 405.5 190.14
50 vehicles 454.3 166.24 454.7 160.36
80 vehicles 461.4 165.12 462.4 154.63
From Figure 4.7, we can see that the cost per request is decreasing with more
vehicles and we get lower cost with the Waiting Strategy than without the Waiting Strategy.
That is, with more vehicles, there are fewer detours to pick up a passenger so that the total
travel distance and passenger ride time are decreased, with the Waiting Strategy, the
vehicles take the chance that there is a nearby new request arriving soon and thus avoiding
120
130
140
150
160
170
180
190
200
20 vehicles 50 vehicles 80 vehicles
cost/request
without the Waiting
Strategy
With the Waiting
Strategy
76
an unnecessary detour. From Table 4.6, we can see that more requests can be served with
more vehicles and with the Waiting Strategy since with more vehicles it is possible to serve
more previously infeasible requests and the Waiting Strategy helps to avoid the
unnecessary detours. Therefore, as shown in the results, the application of our Waiting
Strategy in the dynamic case is helpful in serving more requests and reducing the cost per
request given that the requests are randomly generated spatially and temporally.
4.2.2 Sensitivity to HOV Lanes
In this section, we run experiments to do a sensitivity analysis for the time savings
on HOV lanes. We applied Congestion-Tabu heuristic and used the distance ratio and the
ride time ratio to indicate how the ridesharing participants react to different amounts of
time savings on HOV lanes: experiments at intervals of 10 percent reduction in travel time,
starting with a 10 percent reduction. Here, though it is also a component of our objective
function, we did not consider the toll cost since the toll cost is dominated by the ride time
and the distance. The calculations of the distance ratio and the ride time ratio are shown
below. 𝑅𝐷
𝑖 ,𝑛 +𝑖 is the actual distance travelled from node 𝑖 to node 𝑛 + 𝑖 (the actual
distance request 𝑖 traveled from its pickup location to its drop off location in the vehicle).
𝐷 𝑖 ,𝑛 +𝑖 ,1
is the direct distance if request 𝑖 traveled alone. 𝑛 is the total number of requests.
The distance ratio is the average actual distance divided by the drive-alone distance for
each request. The higher the distance ratio, the more detours the request takes. The quantity
𝑣 𝑛 +𝑖 − 𝑣 𝑖 indicates the actual ride time that request 𝑖 spends in the vehicle from its
77
pickup location to its drop off location. 𝑇 𝑖 ,𝑛 +𝑖 ,1
is the travel time if request 𝑖 traveled
alone. The ride time ratio is the average actual ride time divided by the drive-alone ride
time for each request. The lower the ride time ratio, the more ride time is saved by
participating in ridesharing.
𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑟𝑎𝑡𝑖𝑜 =
1
𝑛 ∑
𝑅𝐷
𝑖 ,𝑛 +𝑖 𝐷 𝑖 ,𝑛 +𝑖 ,1
𝑖 𝜖 𝑁 𝑃
𝑟𝑖𝑑𝑒 𝑡𝑖𝑚𝑒 𝑟𝑎𝑡𝑖𝑜 =
1
𝑛 ∑
𝑣 𝑛 +𝑖 − 𝑣 𝑖 𝑇 𝑖 ,𝑛 +𝑖 ,1
𝑖 𝜖 𝑁 𝑃
The heuristic settings here are the same as the previous experiment settings for the
static case. However, we change the map by setting the 147 HOV lanes to be all HOV2
lanes, all HOV3 lanes, all HOV4 lanes or NO HOV lanes according to the different tests.
NO HOV lanes means there is no time savings for more people in the vehicle. Recall, there
is a total of 294 edges so the other 147 edges do not contain any HOV lanes in all test
instances. Therefore, the result of NO HOV lanes is indifferent with the different time
savings on HOV lanes. We do experiments on 100 requests, 15 vehicles and an α value of
2. The results shown in the figures are averages of ten instances. Figures 4.8 and 4.9 below
demonstrate the sensitivity of the distance ratio and ride time ratio to the time savings on
HOV lanes, respectively.
78
Figure 4.8 Distance Ratio Sensitivity to Time Savings on HOV Lanes
Figure 4.9 Ride Time Ratio Sensitivity to Time Savings on HOV Lanes
These results show that when there is no time savings for having HOV, in the NO
HOV scenario, there still is some ridesharing occurring as evidenced by having both a
1
1.1
1.2
1.3
1.4
1.5
1.6
10 20 30 40 50 60 70 80 90
distance ratio
time savings on HOV lanes (%)
HOV2
HOV3
HOV4
NO HOV
0
0.2
0.4
0.6
0.8
1
1.2
10 20 30 40 50 60 70 80 90
ride time ratio
time savings on HOV lanes (%)
HOV2
HOV3
HOV4
NO HOV
79
distance ratio and ride time ratio slightly bigger than one. In the scenarios with HOV lanes,
as HOV lanes become more attractive (there is a larger time savings by traveling on them)
then rides become longer in length (as seen by the increase in distance ratio in Figure 4.8),
but travel time becomes shorter (as seen by the decrease in ride time ratio in Figure 4.9)
which indicate that passengers are more encouraged to take detours (participate in
ridesharing) to save ride time as time savings on HOV lanes increase. Furthermore, we
observe that the ride time ratio is always larger when the edges (lanes) require more people
to use the HOV lanes. That is, HOV2 has the smallest ride time ratio and its difference
between the other scenarios grows as the savings in time for use of HOV lanes increase.
The reason being that it is more difficult to use HOV3 lanes, even more so HOV4 lanes, to
save ride time since the vehicle has to take a detour to have extra pickups and the ride time
of the passenger who is already in the vehicle is increased. The behavior of the ride time
ratio among the various HOV scenarios is intuitive. However, if we look at the distance
ratio as shown in Figure 4.8, the behavior among the various HOV scenarios is not intuitive,
as it is not monotonic and the distance ratio for HOV2 jumps suddenly. To clarify this issue,
we plot the total cost per request and the total distance the vehicles travelled in Figures
4.10 and 4.11 below.
80
Figure 4.10 Cost/Request Sensitivity to Time Savings on HOV Lanes
Figure 4.11 Total Distance Sensitivity to Time Savings on HOV Lanes
Figure 4.10 shows that, with larger time savings on HOV lanes, the total cost per
request is consistently decreasing since the total passenger ride time is decreasing
90
100
110
120
130
140
150
160
170
180
10 20 30 40 50 60 70 80 90
cost/request
time savings on HOV lanes (%)
HOV2
HOV3
HOV4
NO HOV
6200
6400
6600
6800
7000
7200
7400
7600
7800
10 20 30 40 50 60 70 80 90
total distance
time savings on HOV lanes (%)
HOV2
HOV3
HOV4
NO HOV
81
consistently as evidenced by the ride time ratio in Figure 4.9. HOV2 has the lowest total
cost per request as it is the easiest to be qualified to use the HOV lanes to save ride time.
However, the total distance shown in Figure 4.11 initially decreases but increases roughly
at the same time savings point when the distance ratios for the HOV2 scenario jumps to
the HOV3 scenario, which is when the time savings on HOV lanes is 60 percent. We first
comment that Figure 4.11 shows the total distance travelled by the vehicles and the
behavior among the various HOV scenarios is, in general, in the reverse order for that of
the distance ratio (from Figure 4.8) since this is from the perspective of the vehicle instead
of the passenger. Thus, the NO HOV scenario has roughly the highest total distance
travelled by the vehicles but the lowest distance ratio.
To further analyze the behavior among the various HOV scenarios in total distance,
we observe that there are two incentives for ridesharing: (1) to reduce total route distance,
and (2) to save ride time. The former corresponds to the reason there is ridesharing in NO
HOV, to create ridesharing so that the vehicle can choose a more direct route to reduce the
total route distance. The latter incentive is that the ridesharing vehicle can use HOV lanes
to reduce the passenger ride time. When there is no time savings on HOV lanes, the
incentive for ridesharing is simply to reduce the total vehicle distance. Both incentives play
a role as the time savings in HOV lanes increases, but the first type of incentive tends to
dominate when the time savings are less than 60 percent. As the time savings on HOV
lanes increases, there are more feasible routes to choose and the vehicles can afford to
82
deviate less than in the NO HOV situation. This is the reason the total distance traveled by
the vehicle decreases while the distance ratio increases within this interval. When the time
savings on HOV lanes is larger than 60 percent, both the total distance and the distance
ratio go up while the ride time ratio and total cost per request go down. When the
reduction in travel time is more attractive, vehicles begin to deviate more to make use of
ridesharing for the second reason (to reduce travel time). That is, the decrease in ride time
is more significant than the increase in total distance which means that the passengers take
detours to save ride time.
We can now further analyze the distance ratio shown in Figure 4.8. We want to first
comment that the result of the HOV4 scenario is always the one that is the closest to the
NO HOV scenario since it is the most difficult scenario to be qualified to use HOV lanes,
so it does the least amount of ridesharing. Following this argument the counterintuitive
behavior in Figure 4.8 is due to the low distance ratio of HOV2. For small time savings in
HOV lanes, when the first type of incentive dominates, both HOV2 and HOV3 do about
the same amount of detours as evidenced by the similar curves in the total distance plot.
But while vehicles in both HOV2 and HOV3 deviate a similar amount from direct routes,
the HOV2 scenario does this without increasing the distance traveled to each passenger as
much, leading to a lower distance ratio. In HOV3 the passengers in the vehicle while
detouring to pick up the last passenger to qualify for use of the HOV3 lane have a large
distance ratio. When the second type of incentive dominates (time savings greater than
83
60%), the distance ratios for the HOV2 and the HOV3 scenarios are about the same.
However, the HOV2 scenario has a more significant increase in total distance than the
HOV3 scenario which indicates that the passengers in the HOV2 scenario are more
involved in ridesharing to save ride time, suggesting that more ridesharing is occurring in
the HOV2 scenario. The ridesharing in the HOV3 scenario requires a significant increase
in distance of the vehicles. Thus, HOV2 and HOV3 have the same average distance ratio
when the time savings are greater than 60% but we would expect the variance of the
distance ratio would be much higher for the HOV3 scenario when the time savings are
great. To verify this issue, we computed the variance of the distance ratio. Initially, both
scenarios have the same variance (0.02). The difference goes up with the increasing time
savings on HOV lanes. When the time savings on HOV lanes is 90 percent, the HOV3
scenario has a higher variance (0.50) than the HOV2 scenario (0.40) which indicates that
the HOV3 scenario has fewer passengers who participate in ridesharing to capture the HOV
lanes while the passengers who participate in ridesharing to capture the HOV lanes to save
ride time have much more detours since the distance ratios of both scenarios are the same.
This is consistent with the observation in Figure 4.11 that the passengers are more involved
in ridesharing in the HOV2 scenario when the second type of incentive dominates.
4.2.3 Sensitivity to Toll Roads
In this section, we present a sensitivity analysis for the different number of toll
roads (charge 0 dollars for high occupancy vehicles which is 2 or more people in the vehicle
84
and 9 dollars otherwise). We applied Congestion-Tabu heuristic and used the distance ratio
and the ride time ratio as used in Section 4.2.2 to indicate how the ridesharing participants
react to different number of toll roads: experiments at intervals of 25 percent increase in
the number of toll roads, starting with 0 toll roads. Here, since the value of the toll cost is
relatively small compared to that of the distance and passenger ride time and the weights
are all equal to 1 which means the toll cost is dominated by the ride time and the distance,
we increase the weight of the toll cost to 10 to remove this dominance to see the influence
of the changing number of toll roads.
The heuristic settings here are the same as the previous experiments settings for the
static case. However, we change the map by setting the 294 edges to be either freeways or
toll roads with no HOV lanes which means there is no time savings with more people in
the vehicle so that we can have a better understanding on the passengers reaction to the
changing number of toll roads. The number of toll roads is changing according to the
different tests. We do experiments on 100 requests, 15 vehicles and an α value of 2. The
results shown in the figures are averages of ten instances.
Figures 4.12 and 4.13 below show the sensitivity of the distance ratio and ride time
ratio to the number of toll roads for the toll cost savings, respectively. As it can been seen
in the two figures, the distance ratio and the ride time ratio are increasing with more toll
roads which means that there are more detours while passengers are kept in the vehicle
with increasing number of toll roads. That is, there are incentives to take detours with
85
passengers in the vehicle to save toll cost.
Figure 4.12 Distance Ratio Sensitivity to the Percentage of Toll Roads
Figure 4.13 Ride Time Ratio Sensitivity to the Percentage of Toll Roads
0.95
1
1.05
1.1
1.15
1.2
1.25
0 25 50 75 100
% of toll roads out of total roads
0.95
1
1.05
1.1
1.15
1.2
1.25
0 25 50 75 100
% of toll roads out of total roads
86
Figure 4.14 Total Increased Toll Cost Sensitivity to the Percentage of Toll Roads
Figure 4.15 Cost/Request Sensitivity to the Percentage of Toll Roads
Figures 4.14 show the sensitivity of the total increased toll cost to the number of
toll roads for the toll cost savings. The total increased toll cost is the total toll fee of the
-1000
-500
0
500
1000
1500
2000
2500
0 25 50 75 100
% of toll roads out of total roads
150
160
170
180
190
200
210
220
0 25 50 75 100
% of toll roads out of total roads
87
route minus the toll fee if driver drives directly from his/her origin to destination alone so
that the impact of different vehicle used is largely eliminated. As it can been seen in the
figure, the total increased toll cost first decreases then continues to increase. That is, when
the number of toll roads changes from 0 to 25 percent of the total roads, the benefit of
having passengers in the vehicle instead of driving alone is obvious. However, with more
toll roads, though, more detours are taken with passengers kept in the vehicle as observed
in Figures 4.12 and 4.13, there is more toll cost occurred since it is harder for the driver to
avoid toll roads on the way to pick up a new passenger when the vehicle has no passenger
inside. Figure 4.15 shows how the total cost per request changes with the increasing number
of toll roads. Even with a decrease in toll cost from 0 to 25 percent toll roads, it can only
barely offset the increase in route distance and passenger ride time. When there are even
more toll roads, the cost is increasing which is consistent with what we observed from
Figures 4.12, 4.13 and 4.14.
88
Chapter 5
Pickup and Delivery Problem for
Ridesharing with Transfers
We formulate a 0-1 integer programming model for optimally solving a vehicle
routing problem with pickup and delivery with time windows and transfers (VRPPDTWT).
The set of potential transfer points is assumed given, and there is a fixed cost to open a
transfer point. We need to find the optimal set of transfer points as well as the best routing
results. Assume there are 𝒏 𝒔 ridesharing vehicles serving 𝒏 𝒓 requests with 𝒏 𝒄 available
transfer points, and each request has a pickup and delivery location. Both the pickup and
delivery have time windows. The time window of a request is always feasible which means
a taxi like service which is not part of the ridesharing vehicles can always be used to satisfy
the request. We first formulate the optimization model and then include some cuts to
improve the computational speed of obtaining an optimal solution. We then present a
heuristic to solve larger instances of the problem and conduct computational experiments
to show the performance of the optimization algorithm and heuristics.
89
5.1 Model Formulation
We follow the formulation of Cortes et al. (2010) as the basis for our formulation.
Here 𝑀 = {1, 2, … , 𝑛 𝑠 } is the vehicle set. 𝐶 = {1, 2, … , 𝑛 𝑟 } is the request set. 𝑇 =
{1, 2, … , 𝑛 𝑐 } is the transfer point set.
Let 𝑀 +
denote the set of vehicle start nodes. 𝑀 +
= {𝑙 +
: 𝑙 ∈ 𝑀 }.
Let 𝑀 −
denote the set of vehicle end nodes. 𝑀 −
= {𝑙 −
: 𝑙 ∈ 𝑀 }.
Let 𝐶 +
denote the set of request pickup nodes. 𝐶 +
= {𝑖 +
: 𝑖 ∈ 𝐶 }.
Let 𝐶 −
denote the set of request delivery nodes. 𝐶 −
= {𝑖 −
: 𝑖 ∈ 𝐶 }.
Let 𝑠 (𝑟 ) denote the start node of transfer point 𝑟 . 𝑟 ∈ 𝑇 .
Let 𝑓 (𝑟 ) denote the end node of transfer point 𝑟 . 𝑟 ∈ 𝑇 .
Let 𝑠 (𝑇 ) denote the set of start nodes of transfer points. 𝑠 (𝑇 ) = {𝑠 (𝑟 ): 𝑟 ∈ 𝑇 }.
Let 𝑓 (𝑇 ) denote the set of end nodes of transfer points. 𝑓 (𝑇 ) = {𝑓 (𝑟 ): 𝑟 ∈ 𝑇 }.
Let 𝑁 denote the set of all the nodes. 𝑁 = 𝐶 +
∪ 𝐶 −
∪ 𝑀 +
∪ 𝑀 −
∪ 𝑠 (𝑇 ) ∪ 𝑓 (𝑇 ).
Let 𝐸 denote the set of directed edges. 𝐸 = 𝐸 1
∪ 𝐸 2
∪ 𝐸 3
∪ 𝐸 4
∪ 𝐸 5
where 𝐸 1
,
𝐸 2
, 𝐸 3
, 𝐸 4
and 𝐸 5
are defined as follows.
𝐸 1
= 𝑀 +
× (𝐶 +
∪ 𝑠 (𝑇 )) ∪ {(𝑙 +
, 𝑙 −
): 𝑙 ∈ 𝑀 },
𝐸 2
= (𝐶 +
× (𝐶 +
∪ 𝐶 −
∪ 𝑠 (𝑇 )))\{(𝑖 +
, 𝑖 +
): 𝑖 ∈ 𝐶 },
𝐸 3
= (𝐶 −
× (𝐶 +
∪ 𝐶 −
∪ 𝑠 (𝑇 ) ∪ 𝑀 −
))\{ (𝑖 −
, 𝑖 +
), (𝑖 −
, 𝑖 −
): 𝑖 ∈ 𝐶 },
𝐸 4
= {(𝑠 (𝑟 ), 𝑓 (𝑟 )): 𝑟 ∈ 𝑇 },
𝐸 5
= (𝑓 (𝑇 ) × (𝐶 +
∪ 𝐶 −
∪ 𝑠 (𝑇 ) ∪ 𝑀 −
))\{(𝑓 (𝑟 ), 𝑠 (𝑟 )): 𝑟 ∈ 𝑇 }.
90
Let 𝑁 −
(𝑖 ) denote the set of nodes {𝑗 |(𝑗 , 𝑖 ) ∈ 𝐸 }. 𝑖 ∈ 𝑁
Let 𝑁 +
(𝑖 ) denote the set of nodes {𝑗 |(𝑖 , 𝑗 ) ∈ 𝐸 }. 𝑖 ∈ 𝑁
The problem can be defined on an directed graph 𝐺 = (𝑁 , 𝐸 ). Here, we set that if
a vehicle visits a transfer point r, it will arrive at 𝑠 (𝑟 ), first to unload the passengers (if
necessary) then goes to 𝑓 (𝑟 ) to load the passengers (if necessary). Since the drivers of the
vehicles are sharing the ride with other people, we assume each vehicle will visit each
transfer point at most once. But this constraint can be easily relaxed. 𝐸 is the set that
includes all the possible edges. 𝐸 1
contains all the possible edges connecting the vehicle
start nodes to the request pickup nodes, the start nodes of transfer points or the
corresponding vehicle end nodes. 𝐸 2
contains all the possible edges connecting the
request pickup nodes to the other request pickup nodes, the request delivery nodes or the
start nodes of the transfer points. 𝐸 3
contains all the possible edges connecting the request
delivery nodes to the other request pickup nodes, the other request delivery nodes, the start
nodes of transfer points or the vehicle end nodes. 𝐸 4
contains all the possible edges
connecting the start nodes of transfer points to the corresponding end nodes of transfer
points. 𝐸 5
contains all the possible edges connecting the end nodes of transfer points to
the request pickup nodes, the request delivery nodes, the other start nodes of transfer points
or the vehicle end nodes. 𝑁 −
(𝑖 ) is the set of nodes that direct to node i in the set 𝐸 . 𝑁 +
(𝑖 )
is the set of nodes that node i directs to in the set 𝐸 .
91
Parameters:
𝑅 𝑖 pickup demand (number of passengers) of request 𝑖 , 𝑖 ∈ 𝐶
𝐶𝑎
𝑙 vehicle capacity for vehicle 𝑙 , 𝑙 ∈ 𝑀
𝐸 𝑖 the earliest time passenger can be picked up or delivered at node 𝑖 , 𝑖 ∈ 𝐶 +
𝐿 𝑖 the latest time passenger can be picked up or delivered at node 𝑖 , 𝑖 ∈ 𝐶 −
𝑇 𝑖𝑗
travel time from node 𝑖 to 𝑗 , (𝑖 , 𝑗 ) ∈ 𝐸
𝐷 𝑖𝑗
travel distance from node 𝑖 to 𝑗 , (𝑖 , 𝑗 ) ∈ 𝐸
𝑆 𝑟 setup cost for transfer point 𝑟 , 𝑟 ∈ 𝑇
Variables:
𝑥 𝑖𝑗
𝑙 = {
1 if vehicle 𝑙 travels from node 𝑖 to node 𝑗 , 𝑙 ∈ 𝑀 (𝑖 , 𝑗 ) ∈ 𝐸
0 otherwise
𝑦 𝑟 = {
1 if transfer point 𝑟 is used, 𝑟 ∈ 𝑇
0 otherwise
𝑢 𝑖 = {
1 if node 𝑖 is visited by a taxi, 𝑖 ∈ 𝐶 +
∪ 𝐶 −
0 otherwise
𝑧 𝑗 𝑙𝑖
= {
1 if request 𝑖 is on vehicle 𝑙 when it reaches node 𝑗 , 𝑖 ∈ 𝐶 𝑙 ∈ 𝑀 𝑗 ∈ 𝑁
0 otherwise
𝑣 𝑖 the time in which node 𝑖 is visited, 𝑖 ∈ 𝐶 +
∪ 𝐶 −
∪ 𝑀 +
∪ 𝑀 −
𝑣 𝑠 (𝑟 )
𝑙 the time in which vehicle l arrives at transfer point r, 𝑙 ∈ 𝑀 𝑟 ∈ 𝑇
𝑣 𝑓 (𝑟 )
𝑙 the time in which vehicle l leaves transfer point r, 𝑙 ∈ 𝑀 𝑟 ∈ 𝑇
92
The parameters β, γ, ρ and λ represent the weights for the different objective
components total passenger ride time, route distance, transfer point setup cost and the cost
when the request is serviced by a taxi, respectively. Note that the weight λ could be indexed
in the pickup node to represent the actual taxi cost for that trip. In this work however we
consider a uniform, large, weight λ to prioritize servicing as many requests as possible by
the ridesharing vehicles instead of the use of a taxi service.
Problem formulation:
Minimize
∑ 𝛽 ∗ (𝑣 𝑖 − − 𝑣 𝑖 +)
𝑖 ∈𝐶 + ∑ ∑ 𝛾 ∗ 𝐷 𝑖 ,𝑗 ∗ 𝑥 𝑖𝑗
𝑙 𝑙 ∈𝑀 (𝑖 ,𝑗 )∈𝐸 + ∑ ρ ∗ 𝑆 𝑟 ∗ 𝑦 𝑟 𝑟 ∈𝑇 + ∑ 𝜆 ∗ 𝑢 𝑖 𝑖 ∈𝐶 +
Subject to:
∑ 𝑥 𝑙 +
𝑖 𝑙 𝑖 ∈𝑁 +
(𝑙 +
)
= 1 𝑙 ∈ 𝑀 (5.1)
∑ 𝑥 𝑖 𝑙 −
𝑙 𝑖 ∈𝑁 −
(𝑙 −
)
= 1 𝑙 ∈ 𝑀 (5.2)
∑ ∑ 𝑥 𝑚𝑖
𝑙 𝑖 ∈𝑁 +
(𝑚 ) 𝑚 ∈𝑀 + ≤ 1 𝑙 ∈ 𝑀 (5.3)
∑ 𝑥 𝑖𝑗
𝑙 𝑗 ∈𝑁 +
(𝑖 )
− ∑ 𝑥 𝑗𝑖
𝑙 𝑗 ∈𝑁 −
(𝑖 )
= 0 𝑖 ∈ 𝐶 +
∪ 𝐶 −
𝑙 ∈ 𝑀 (5.4)
∑ 𝑥 𝑖𝑠 (𝑟 )
𝑙 𝑖 ∈𝑁 −
(𝑠 (𝑟 ))
= 𝑥 𝑠 (𝑟 )𝑓 (𝑟 )
𝑙 𝑟 ∈ 𝑇 𝑙 ∈ 𝑀 (5.5)
∑ 𝑥 𝑓 (𝑟 )𝑗 𝑙 𝑗 ∈𝑁 +
(𝑓 (𝑟 ))
= 𝑥 𝑠 (𝑟 )𝑓 (𝑟 )
𝑙 𝑟 ∈ 𝑇 𝑙 ∈ 𝑀 (5.6)
𝑥 𝑗𝑠 (𝑟 )
𝑙 ≤ 𝑦 𝑟 𝑟 ∈ 𝑇 𝑗 ∈ 𝑁 −
(𝑠 (𝑟 )) 𝑙 ∈ 𝑀 (5.7)
𝑥 𝑓 (𝑟 )𝑗 𝑙 ≤ 𝑦 𝑟 𝑟 ∈ 𝑇 𝑗 ∈ 𝑁 +
(𝑓 (𝑟 )) 𝑙 ∈ 𝑀 (5.8)
∑ ∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
) 𝑙 ∈𝑀 + 𝑢 𝑖 − = 1 𝑖 ∈ C (5.9)
93
∑ ∑ 𝑥 𝑖 +
𝑗 𝑙 𝑗 ∈𝑁 +
(𝑖 +
) 𝑙 ∈𝑀 + 𝑢 𝑖 + = 1 𝑖 ∈ 𝐶 (5.10)
𝑢 𝑖 + = 𝑢 𝑖 − (𝑖 +
, 𝑖 −
): 𝑖 ∈ C (5.11)
𝑣 𝑙 + + 𝑇 𝑙 +
𝑖 + ≤ 𝑣 𝑖 + + (1 − 𝑥 𝑙 +
𝑖 +
𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑖 +
∈ 𝐶 +
(5.12)
𝑣 𝑙 + + 𝑇 𝑙 +
𝑠 (𝑟 )
≤ 𝑣 𝑠 (𝑟 )
𝑙 + (1 − 𝑥 𝑙 +
𝑠 (𝑟 )
𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑟 ∈ 𝑇 (5.13)
𝑣 𝑖 + 𝑇 𝑖𝑗
≤ 𝑣 𝑗 + (1 − 𝑥 𝑖𝑗
𝑙 ) ∗ 𝑄 𝑖 ∈ 𝐶 +
∪ 𝐶 −
𝑗 ∈ 𝐶 +
∪ 𝐶 −
(𝑖 , 𝑗 ) ∈ 𝐸 𝑙 ∈ 𝑀 (5.14)
𝑣 𝑖 + 𝑇 𝑖𝑠 (𝑟 )
≤ 𝑣 𝑠 (𝑟 )
𝑙 + (1 − 𝑥 𝑖𝑠 (𝑟 )
𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 +
∪ 𝐶 −
𝑟 ∈ 𝑇 (5.15)
𝑣 𝑠 (𝑟 )
𝑙 + 𝑇 𝑠 (𝑟 )𝑓 (𝑟 )
≤ 𝑣 𝑓 (𝑟 )
𝑙 + (1 − 𝑥 𝑠 (𝑟 )𝑓 (𝑟 )
𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑟 ∈ 𝑇 (5.16)
𝑣 𝑓 (𝑟 )
𝑙 + 𝑇 𝑓 (𝑟 )𝑗 ≤ 𝑣 𝑗 + (1 − 𝑥 𝑓 (𝑟 )𝑗 𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑗 ∈ 𝐶 +
∪ 𝐶 −
𝑟 ∈ 𝑇 (5.17)
𝑣 𝑓 (𝑟 )
𝑙 + 𝑇 𝑓 (𝑟 )𝑠 (𝑤 )
≤ 𝑣 𝑠 (𝑤 )
𝑙 + (1 − 𝑥 𝑓 (𝑟 )𝑠 (𝑤 )
𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑟 ∈ 𝑇 𝑤 ∈ 𝑇 \{𝑟 } (5.18)
𝑣 𝑖 + + 𝑇 𝑖 +
𝑖 − ≤ 𝑣 𝑖 − + (1 − 𝑢 𝑖 +) ∗ 𝑄 (𝑖 +
, 𝑖 −
): 𝑖 ∈ 𝐶 (5.19)
𝑧 𝑙 +
𝑙𝑖
= 𝑧 𝑙 −
𝑙𝑖
= 0 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 (5.20)
𝑧 𝑚 𝑙𝑖
≤ 𝑧 𝑗 𝑙𝑖
+ (1 − 𝑥 𝑚𝑗
𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 (𝑚 , 𝑗 ) ∈ 𝐸 \{ (𝑠 (𝑟 ), 𝑓 (𝑟 )): 𝑟 ∈ 𝑇 }
𝑠𝑢𝑐 ℎ 𝑡 ℎ𝑎𝑡 𝑚 ≠ 𝑖 +
, 𝑖 −
(5.21)
𝑧 𝑗 𝑙𝑖
≤ 𝑧 𝑚 𝑙𝑖
+ (1 − 𝑥 𝑚𝑗
𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 (𝑚 , 𝑗 ) ∈ 𝐸 \{ (𝑠 (𝑟 ), 𝑓 (𝑟 )): 𝑟 ∈ 𝑇 }
𝑠𝑢𝑐 ℎ 𝑡 ℎ𝑎𝑡 𝑚 ≠ 𝑖 +
, 𝑖 −
(5.22)
𝑧 𝑗 𝑙𝑖
≤ 1 + (1 − 𝑥 𝑖 +
𝑗 𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 𝑗 ∈ 𝑁 +
(𝑖 +
) (5.23)
1 ≤ 𝑧 𝑗 𝑙𝑖
+ (1 − 𝑥 𝑖 +
𝑗 𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 𝑗 ∈ 𝑁 +
(𝑖 +
) (5.24)
𝑧 𝑗 𝑙𝑖
≤ (1 − 𝑥 𝑖 −
𝑗 𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 𝑗 ∈ 𝑁 +
(𝑖 −
) (5.25)
−𝑧 𝑗 𝑙𝑖
≤ (1 − 𝑥 𝑖 −
𝑗 𝑙 ) ∗ 𝑄 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 𝑗 ∈ 𝑁 +
(𝑖 −
) (5.26)
94
∑ 𝑧 𝑠 (𝑟 )
𝑙𝑖
𝑙 ∈𝑀 = ∑ 𝑧 𝑓 (𝑟 )
𝑙𝑖
𝑙 ∈M
𝑟 ∈ T 𝑖 ∈ 𝐶 (5.27)
∑ 𝑧 𝑗 𝑙𝑖
𝑖 ∈C
≤ ∑ 𝑥 𝑚𝑗
𝑙 {𝑚 |(𝑚 ,𝑗 )∈𝐸 }
∗ 𝑄 𝑙 ∈ 𝑀 𝑗 ∈ 𝑁 \{ 𝑙 +
, 𝑙 −
} (5.28)
∑ ∑ 𝑧 𝑗 𝑙𝑖
𝑙 ∈ M 𝑗 ∈𝑁 ≤ (1 − 𝑢 𝑖 ) ∗ 𝑄 𝑖 ∈ 𝐶 (5.29)
− ∑ ∑ 𝑧 𝑗 𝑙𝑖
𝑙 ∈ M 𝑗 ∈𝑁 ≤ (1 − 𝑢 𝑖 ) ∗ 𝑄 𝑖 ∈ 𝐶 (5.30)
𝑣 𝑠 (𝑟 )
𝑙 + ∆≤ 𝑣 𝑓 (𝑟 )
ℎ
+ (2 − 𝑧 𝑠 (𝑟 )
𝑙𝑖
− 𝑧 𝑓 (𝑟 )
ℎ𝑖 ) ∗ 𝑄 𝑙 , ℎ ∈ 𝑀 𝑟 ∈ 𝑇 𝑖 ∈ 𝐶 (5.31)
∑ 𝑅 𝑖 𝑧 𝑗 𝑙𝑖
𝑖 ∈C
≤ 𝐶𝑎
𝑙 𝑙 ∈ 𝑀 𝑗 ∈ 𝑁 (5.32)
𝐸 𝑖 ≤ 𝑣 𝑖 ≤ 𝐿 𝑖 𝑖 ∈ 𝐶 +
∪ 𝐶 −
∪ 𝑀 +
∪ 𝑀 −
(5.33)
𝑥 𝑖𝑗
𝑙 = {0, 1} (𝑖 , 𝑗 ) ∈ 𝐸 𝑙 ∈ 𝑀 (5.34)
𝑦 𝑟 = { 0, 1} 𝑟 ∈ 𝑇 (5.35)
𝑢 𝑖 = {0, 1} 𝑖 ∈ 𝐶 +
∪ 𝐶 −
(5.36)
𝑧 𝑗 𝑙𝑖
= {0, 1} 𝑖 ∈ 𝐶 𝑙 ∈ 𝑀 𝑗 ∈ 𝑁 (5.37)
𝑣 𝑖 ≥ 0 𝑖 ∈ 𝐶 +
∪ 𝐶 −
∪ 𝑀 +
∪ 𝑀 −
(5.38)
𝑣 𝑠 (𝑟 )
𝑙 ≥ 0 𝑙 ∈ 𝑀 𝑟 ∈ 𝑇 (5.39)
𝑣 𝑓 (𝑟 )
𝑙 ≥ 0 𝑙 ∈ 𝑀 𝑟 ∈ 𝑇 (5.40)
The objective is to minimize the total passenger ride time, total travel distance of
the vehicle, the total setup cost for the transfer point used and the total taxi service cost if
there is some request that cannot be served by the ridesharing vehicle. In the objective
function, the first term is the total passenger ride time with a weight of 𝛽 . The value
(𝑣 𝑖 − − 𝑣 𝑖 +) is the ride time of request i. The second term is the total cost of travel distance
95
and toll fee. The summation of 𝐷 𝑖𝑗
∗ 𝑥 𝑖𝑗
𝑙 on all the edges and all the vehicles is the total
travel distance for all the vehicles with a weight of γ. The third term is the total setup cost
for the transfer points used. The summation of 𝑆 𝑟 ∗ 𝑦 𝑟 is the total setup cost for transfer
points used with a weight of ρ. The fourth term is the total taxi cost with a weight of 𝜆
since the requests that cannot be served by the vehicles will be served by a taxi.
Constraints (5.1) and (5.2) ensure that each vehicle starts from its start location and
ends at its end location. Constraint (5.3) ensures that a single vehicle cannot start its route
from different locations. Constraint (5.4) ensures the flow conservation at each pickup and
delivery location of the requests. Constraints (5.5) and (5.6) ensure the flow conservation
at each transfer point since it is assumed that when a vehicle arrives a transfer point r it
will go to the start node 𝑠 (𝑟 ) then the end node 𝑓 (𝑟 ). Also, each vehicle will visit one
transfer point at most once. Constraints (5.7) and (5.8) ensure the start node and end node
of a transfer point will be used only if the transfer point is used. Constraints (5.9) and (5.10)
ensure that each request will be served either by a vehicle or by a taxi. Constraint (5.11)
ensures that both the pickup node and the delivery node of a request will be served by a
taxi or neither.
Constraints (5.12) to (5.19) ensure the consistency of the time variables. Q is a big
enough number so that these constraints can ensure that there is no zero-length cycle by
assuming all the 𝑇 𝑖𝑗
parameters are strictly positive. Actually, we could get rid of
constraint (5.19) by performing a post-processing phase. Because of the minimization of
96
the total passenger ride time term in the objective function, without constraint (5.19), for
the taxi-served passengers (𝑢 𝑖 + = 𝑢 𝑖 − = 1), the value of 𝑣 𝑖 + and 𝑣 𝑖 − will be 𝐿 𝑖 + and
𝐸 𝑖 −, respectively.
Constraint (5.20) ensures that there are no requests at the start and end nodes of the
vehicles. Constraints (5.21) and (5.22) force 𝑧 𝑚 𝑙𝑖
= 𝑧 𝑗 𝑙𝑖
when 𝑥 𝑚𝑗
𝑙 = 1 which ensure that
the passenger will keep the same status (either on or not on the vehicle) at the current node
as the node just visited if the node just visited is not the pickup or delivery node of the
request. Constraints (5.23) and (5.24) ensure 𝑧 𝑗 𝑙𝑖
= 1 when 𝑥 𝑖 +
𝑗 𝑙 = 1 to make 𝑧 𝑗 𝑙𝑖
indicate the fact that the pickup node of request 𝑖 has just been visited. Constraints (5.25)
and (5.26) force 𝑧 𝑗 𝑙𝑖
= 0 when 𝑥 𝑖 −
𝑗 𝑙 = 1 to make 𝑧 𝑗 𝑙𝑖
indicate the fact that the delivery
node of request 𝑖 has just been visited. Constraint (5.27) ensures that when a passenger
arrives to a transfer point on some vehicle, this passenger will also leave this transfer point
on some vehicle which could be the same vehicle or a different one. Constraint (5.28)
ensures that if a node other than the vehicle start and end nodes has never been visited by
any vehicle, then no passenger will be on any vehicle at this node. Constraints (5.29) and
(5.30) force ∑ ∑ 𝑧 𝑗 𝑙𝑖
𝑙 ∈ M 𝑗 ∈𝑁 = 0 when 𝑢 𝑖 = 1 which means if a request is served by a
taxi, then the passenger will not be on any vehicle at any node. Constraint (5.31) ensures
that if a passenger is dropped off by some vehicle at a transfer point and picked up by
another vehicle, the time that the passenger is dropped off should be earlier than the pickup
time. Here, ∆ is a positive number that is much smaller than the 𝑇 𝑖𝑗
parameters.
97
Constraint (5.32) is the capacity constraint. Constraint (5.33) is the time window constraint.
Constraints (5.34), (5.35), (5.36) and (5.37) are the binary constraints for the variables 𝑥 𝑖𝑗
𝑙 ,
𝑦 𝑟 , 𝑢 𝑖 and 𝑧 𝑗 𝑙𝑖
, respectively. Constraints (5.38), (5.39) and (5.40) are the non-negativity
constraints for the variables 𝑣 𝑖 , 𝑣 𝑠 (𝑟 )
𝑙 and 𝑣 𝑓 (𝑟 )
𝑙 , respectively.
Since the computing time is limited, we now describe some valid equality and
inequalities that help strengthen the computational capability of the model. These
constraints are certainly redundant to the model. However, their effectiveness will be
shown in the experimental results section.
∑ 𝑥 𝑖 +
𝑗 𝑙 𝑗 ∈𝑁 +
(𝑖 +
)
− ∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
)
= ∑ (𝑧 𝑠 (𝑟 )
𝑙𝑖
𝑟 ∈T
− 𝑧 𝑓 (𝑟 )
𝑙𝑖
) 𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 (5.41)
∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
)
= 𝑧 𝑖 −
𝑙𝑖
𝑙 ∈ 𝑀 𝑖 ∈ 𝐶 (5.42)
∑ 𝑧 𝑗 𝑙𝑖
𝑙 ∈𝑀 ≤ 1 𝑗 ∈ 𝑁 𝑖 ∈ 𝐶 (5.43)
𝑣 𝑖 − − 𝑣 𝑖 + ≥ 𝑇 𝑖 +
𝑖 − (𝑖 +
, 𝑖 −
): 𝑖 ∈ 𝐶 (5.44)
Constraint (5.41) states that if a request is served by a single vehicle l, the request
must enter and leave the transfer point in the same vehicle l if there is any transfer point
being visited in the route. If a request is served by different vehicles, the request must be
picked up and dropped off at some transfer point by different vehicles. There are four
possible cases as follows. First, if a request i is neither picked up nor dropped off by vehicle
l, each term in Constraint (5.41) equals to 0. Second, if a request i is served by a single
vehicle l, both terms ∑ 𝑥 𝑖 +
𝑗 𝑙 𝑗 ∈𝑁 +
(𝑖 +
)
and ∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
)
equal to 1 while ∑ (𝑧 𝑠 (𝑟 )
𝑙𝑖
𝑟 ∈T
−
𝑧 𝑓 (𝑟 )
𝑙𝑖
) equals to 0 since request i will enter and leave the transfer point with vehicle l if
98
there is any transfer point on the vehicle route. In this case, the equality holds since both
sides equal to 0. Third, if request i is picked up by vehicle l and dropped off by another
vehicle, ∑ 𝑥 𝑖 +
𝑗 𝑙 𝑗 ∈𝑁 +
(𝑖 +
)
equals to 1 and ∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
)
equals to 0 while 𝑧 𝑠 (𝑟 )
𝑙𝑖
equals to
1 and 𝑧 𝑓 (𝑟 )
𝑙𝑖
equals to 0 at the transfer point that request i is dropped off by vehicle l and
𝑧 𝑠 (𝑟 )
𝑙𝑖
− 𝑧 𝑓 (𝑟 )
𝑙𝑖
equals to 0 for all the other transfer points. In this case, the equality holds
since both sides equal to 1. Fourth, if request i is dropped off by vehicle l and picked up by
another vehicle, ∑ 𝑥 𝑖 +
𝑗 𝑙 𝑗 ∈𝑁 +
(𝑖 +
)
equals to 0 and ∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
)
equals to 1 while 𝑧 𝑠 (𝑟 )
𝑙𝑖
equals to 0 and 𝑧 𝑓 (𝑟 )
𝑙𝑖
equals to 1 at the transfer point that request i is picked up by vehicle
l and 𝑧 𝑠 (𝑟 )
𝑙𝑖
− 𝑧 𝑓 (𝑟 )
𝑙𝑖
equals to 0 for all the other transfer points. In this case, the equality
holds since both sides equal to -1. Constraint (5.42) states that if the delivery node of a
request was visited by a certain vehicle, then the request must be in the vehicle when the
delivery node is visited. According to constraints (5.9), (5.34), (5.36) and (5.37),
∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
)
or 𝑧 𝑖 −
𝑙𝑖
can either be 1 or 0. That is, if ∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
)
equals to 1 (meaning
that the delivery node of request i is visited by vehicle l), then 𝑧 𝑖 −
𝑙𝑖
equals to 1 (meaning
that request i is in vehicle l when vehicle l visits the delivery node of request i). Otherwise,
if ∑ 𝑥 𝑗 𝑖 −
𝑙 𝑗 ∈𝑁 −
(𝑖 −
)
equals to 0 (meaning that the delivery node of request i is not visited by
vehicle l), then 𝑧 𝑖 −
𝑙𝑖
equals to 0 (meaning that request i is not in vehicle l when vehicle l
visits the delivery node of request i). Constraint (5.43) states that each node in node set N
including the start and end nodes of the transfer points can be visited by a request at most
once no matter if it is in the same vehicle or not since our model assumes that each vehicle
99
will visit each transfer point at most once and each request can be transferred at most once.
Constraint (5.44) is the minimum travel time constraint since the travel time from node 𝑖 +
to 𝑖 −
will always be larger than or equal to the direct travel time from node 𝑖 +
to 𝑖 −
.
Therefore, constraints (5.41) to (5.44) are valid equalities and inequalities as illustrated
above. The effectiveness of these equalities and inequalities is demonstrated in Section
5.3.1.
5.2 Heuristics
As previously discussed, the pickup and delivery problem with time windows and
transfers is a NP-hard problem. The proposed optimization model is only able to solve
small size problems. Heuristics are necessary to solve larger size problem. In this section,
we present heuristics for our pickup and delivery problem with transfers. The scheme is
shown below. We first perform the heuristics developed in Section 4.1 to construct the
routes without transfers. Insertion Heuristic, Adjust Pickup Time Algorithm and Tabu
Search Algorithm for VRPPDTW are all described in detail in Sections 4.1.1, 4.1.2 and
4.1.3, respectively. Then, we consider the transfer point in the routes for potential savings
by applying Insert Transfer Point Heuristic and Tabu Search Algorithm for VRPPDTWT.
100
Scheme:
Input: empty vehicle routes, requests, set of transfer points 𝑇 _𝐿𝑖𝑠𝑡
Output: vehicle routes
Initialize reject_list;
for each request do
Do Insertion Heuristic with Adjust Pickup Time Algorithm;
if the request is rejected then
Add the request to reject_list;
end for;
Do Tabu Search Algorithm for VRPPDTW;
Do Insert Transfer Point Heuristic;
Do Tabu Search Algorithm for VRPPDTWT;
We apply the Insert Transfer Point Heuristic to construct the initial solution for the
Tabu Search Algorithm for the VRPPDTWT. The Insert Transfer Point Heuristic attempts
to insert the transfer points to the routes that initially do not consider the potential cost
savings of transferring and provides a good starting point for the following Tabu Search
algorithm. In the Insert Transfer Point Heuristic, we randomly chose two routes that
initially do not consider the transfer point and insert the transfer point in the route position
that occurs the least detour so that the two vehicles can transfer the passengers at the
transfer point. We do the procedure repeatedly for each pair of routes and for each transfer
101
point. And we keep the solution with the least cost. The feasibility of the solution is
required with regard to the capacity and time window constraints.
After applying the Insert Transfer Point Heuristic, we implement the Tabu Search
Algorithm for VRPPDTWT to improve the solution. The neighborhoods of the Tabu search
are obtained from the TP-Removal operator, Random-Removal operator and Batch-
Removal operator. The TP-Removal operator removes one transfer point to reroute the
requests which use this transfer point. The Random-Removal operator randomly picks a
request from a route and then reroutes the requests. The Batch-Removal operator removes
one randomly chosen request from each route and then reroutes the requests. We reroute
the request by applying the Transfer First method presented in Masson et al. (2013) in
which each request is considered to use a transfer point first. A post-processing step is
performed to remove the transferred requests and to reinsert these requests without the
transfer point to check if it is cheaper. Infeasible neighbors are forbidden with regard to the
capacity and time window constraint.
102
Tabu Search Algorithm for VRPPDTWT
Input: vehicle routes, reject_list
Output: improved vehicle routes, reject_list
repeat
generate 𝛼 𝑇𝑃 −𝑚𝑎𝑥
neighbors from the TP-Removal operator;
generate 𝛽 𝑇𝑃 −𝑚𝑎𝑥
neighbors from the Random-Removal operator;
generate 𝛿 𝑇𝑃 −𝑚𝑎𝑥
neighbors from the Batch-Removal operator;
choose the best solution and make the move;
set the Tabu tenure of the move to be 3 iterations;
try to reinsert the requests in the reject_list;
if there’s no improvement after TP_NoImp iterations then
randomly chose one neighbor to explore;
until no improvement in 𝐼 𝑇𝑃 −𝑚𝑎𝑥
iterations;
calculate the objective cost and save the current solution;
At each iteration of the Tabu search, 𝛼 𝑇𝑃 −𝑚𝑎𝑥
TP-Removal neighbors, 𝛽 𝑇𝑃 −𝑚𝑎𝑥
Random-Removal neighbors and 𝛿 𝑇𝑃 −𝑚𝑎𝑥
Batch-Removal neighbors are generated. And
the Tabu search will move to the best neighbor. A temporary worse move is allowed to
escape from local minimum. And previously rejected requests are attempted to be inserted
into the routes. If no improvements was made after TP_NoImp iterations, we randomly
chose one generated neighbor with the intension of escaping from a local minimum.
Feasibility of the routes is required. Since we consider passenger ride time in our objective,
103
the Adjust Pickup Time Algorithm proposed in Section 4.1.2 is implemented in the
neighbors generated to improve the ride time. The Tabu search will be repeated until there
is no improvement in 𝐼 𝑇𝑃 −𝑚𝑎𝑥
iterations which means.
5.3 Experimental Results
In this section, we run several computational experiments with the objective to: 1)
show the effectiveness of the valid equalities and inequalities in our IP model proposed in
Section 5.1; 2) demonstrate the performance of the heuristics by comparing with the IP
model on small size instances; 3) perform sensitivity analysis by applying the heuristics
described in Section 5.2 on different travel patterns to understand under what conditions
the transfer point is more likely to be utilized; and 4) compare the scenarios in which the
transfer point is used with the condition that the transfer point is not available to understand
the benefits of the availability of the transfer point. Unless otherwise noted, all the
experiments are run on the same map constructed as follows.
104
Figure 5.1 Map
The map is a 15*9 grid with 135 nodes and 246 edges. We set the length of each
edge to be 10 kilometers and the time on each edge to be 10 minutes. There is one transfer
point at the center (it is shown as a star in Figure 5.1). The transfer point setup cost is 1
since we want to investigate the pattern of the utilization of the transfer point when the
transfer cost is low. The cost of an unserved request is 1000.
To study the sensitivity of the results to different travel patterns, we divide the map
into regions. The base case divides the map into one region of size 15*9. The other two
cases divide the regions of size 3*2 and 6*4. Figure 5.1 shows the case where the regions
are of size 6*4. The vehicle depot and the start and end nodes of the passengers are located
within the region. Moreover, we also consider different request destination directions and
start time patterns. The details are described as follows.
Destination direction: This is the direction that the passengers are heading to;
105
o Diagonal: The start node of the passenger is uniformly generated within the region
while the end node is located at the diagonal region. For example, in Figure 5.1,
passengers can start from Region 1 and go to Region 4.
o Horizontal or vertical: The start node of the passenger is uniformly generated within
the region while the end nodes of the passengers are located at the neighboring two
regions. For example, in Figure 5.1, passengers can start from Region 1 and travel
to either Region 3 or Region 4.
o Random: The start and end nodes of the passengers are randomly located in the
15*9 map.
Start time: This is the earliest time that the passengers are ready to be picked up. The
parameter TW equals to twice the time needed if the passenger travels alone directly
from their origin to their destination.
o Bounded: the earliest pickup time is uniformly distributed in the interval [08:01,
08:30]
o Unbounded: the earliest pickup time is uniformly distributed in the interval [00:01,
23:59-TW]
We tested 10 scenarios for the experiments as listed in Table 5.1. The only
difference between the scenarios with the same region size and destination direction is the
pickup time window of the requests. Tables 5.2 and 5.3 describe the generation of the
vehicles and the requests. If not specified, the experiments are implemented on 4-core Xeon
106
Workstation (3.2 GHz, 32 GB RAM, 256 GB hard drive).
Table 5.1 Tested Scenarios
region size destination direction start time
3*2
diagonal
unbounded
bounded
horizontal or vertical
unbounded
bounded
6*4
diagonal
unbounded
bounded
horizontal or vertical
unbounded
bounded
15*9 random
unbounded
bounded
Table 5.2 Vehicle Data Generation
Depot Region Center
Start time 00:01
End time 23:59
107
Table 5.3 Request Data Generation
Origin Uniformly random in the region
Destination Uniformly random in the region
Request time 00:00
Earliest pickup time Bounded/Unbounded
Latest pickup time Earliest pickup time + TW
Earliest delivery time Earliest pickup time
Latest delivery time Latest pickup time
Number of people to pick up for each request 1
5.3.1 Performance of the Valid Equalities and Inequalities
In this section, we run computational experiments to test the effectiveness of the
valid equalities and inequalities in our IP model proposed in Section 5.1. Since it is
computationally difficult to find optimal solutions for large problem instances, we run
experiments on problems with 2 vehicles and 8 requests for the diagonal and random
scenarios, 3 vehicles and 8 requests for the horizontal scenario to find the optimal solution
in a reasonable amount of computation time. In the diagonal scenario, Regions 1 and 4 in
Figure 5.1 are used. Each region originally contains 1 vehicle and 4 requests which are
travelling to the other region. In the random scenario, the 2 vehicles are at the centers of
the left half and the right half while all the requests are randomly located on the entire 15*9
map. In the horizontal or vertical scenario, Regions 1, 2 and 3 are used. Each regions
contains 1 vehicle. Regions 2 and 3 originally contain 2 requests each that travelling to
108
Region 1. Region 1 contains 4 request and 2 of them travel to Region 2 while the
destinations of the other 2 requests are in Region 3. Here, we set the capacity of the vehicle
to be five. For this set of experiments, our objective is to serve as many requests as possible
by the vehicle and to minimize the travel distance and passenger ride time with their
coefficients 𝛽 = 𝛾 = 1. Thus, we set the weight λ to be 1000. We generate 5 random test
instances for each scenario. Table 5.4 shows the average running time results. The
experiments are implemented on an Intel Core i5 760 desktop (2.80 GHz, 8 GB RAM, 1
TB hard drive) using IBM ILOG CPLEX Optimization Studio, V12.3.0. We set the time
limit for no cuts case to be 3600 seconds.
Table 5.4 Performance of Valid Equalities and Inequalities
region
size
destination
direction
start time no cuts (sec) with cuts (sec) improvement (%)
3*2
diagonal
unbounded 3600.23 203.68 -
bounded 3600.27 752.56 -
horizontal or
vertical
unbounded 3600.27 12.91 -
bounded 3601.37 2116.97 -
6*4
diagonal
unbounded 3600.24 53.83 -
bounded 3600.27 1633.80 -
horizontal or
vertical
unbounded 3600.34 14.80 -
bounded 3601.39 1657.93 -
15*9 random
unbounded 264.92 2.69 98.98
bounded 3101.40 86.06 97.23
109
In Table 5.4, the results under the column of “no cuts” show the average running
time needed to solve the 5 instances for each case without the valid equalities and
inequalities which are constraints (5.41) to (5.44) in the model formulation demonstrated
in Section 5.1. Though the running time limit is set to be 3600 seconds, some of the results
show the running time to be more than 3600 seconds. That is, the interval of the system
run time monitoring is not infinitely small so that the resulting run time is a little bit larger
than 3600 seconds. Also, in these cases, the optimal solution is not found. The results under
the column of “with cuts” show the average running time needed to solve the 5 instances
for each case with the valid equalities and inequalities. The optimal solution is derived for
each case. In general, as shown in Table 5.4, the valid Equalities and Inequalities are
effective and significantly reduce the computational time to derive the optimal solution.
Moreover, with the same region size and the destination direction, the scenarios
with unbounded start time take less computational time than the bounded ones. The reason
is that the cases with the unbounded start time has less feasible solutions to explore. That
is, since each request has a time window and the start and end locations of the requests are
the same for the scenarios with the same region size and the destination direction, the time
window constraint limits the number of the possible feasible solutions when the start time
of the requests are more spread out. This can also explain that the scenarios which are the
most diversified in location (the ones with a region size of 15*9 and random destination
directions) take much less computational time than the other scenarios which are with
110
smaller region size.
5.3.2 Performance of the Heuristics
Though the equalities and inequalities we proposed in Section 5.1 significantly
improve the computational time as shown in Table 5.4, it is still computationally difficult
to find optimal solutions for large problem instances. We developed heuristics as described
in detail in Section 5.2 to help solve the larger size problems. Table 5.5 shows the
performance of the proposed heuristic by comparing the results of the heuristic with that
of the IP model. Here, we use the same instances as in Section 5.3.1. For the parameters in
Tabu search proposed in Section 4.1.3, we set 𝛼 𝑚𝑎𝑥
, 𝛽 𝑚𝑎𝑥
, 𝛾 𝑚𝑎𝑥
and 𝛿 𝑚𝑎𝑥
to be the
number of all possible neighbors. B_NoImp and W_NoImp are set to equal to 5. 𝐼 𝑊 −𝑚𝑎𝑥
is set to equal to 150. 𝐼 𝐵 −𝑚𝑎𝑥
is set to be the number of possible combinations of 2 routes
out of the total number of routes. For the parameters in the Tabu Search Algorithm for
PDPT proposed in Section 5.2, we set 𝛼 𝑇𝑃 −𝑚𝑎𝑥
to be the number of the transfer points,
𝛽 𝑇𝑃 −𝑚𝑎𝑥
to be the number of the routes, 𝛿 𝑇𝑃 −𝑚𝑎𝑥
to be one, TP_NoImp to equal to 5 and
𝐼 𝑇𝑃 −𝑚𝑎𝑥
to equal to 20. The average relative gap shown in the table is the difference
between the objective value of the optimal solution and the output objective value of the
heuristic divided by the objective value of the optimal solution. Number of optimal found
indicates among how many out of the 5 tests we ran for each scenario the heuristic found
the optimal solution.
111
Table 5.5 Performance of the Heuristics
region size
destination
direction
start time
average
relative gap
number of
optimal found
3*2
diagonal
unbounded 0.04 2
bounded 0.00 4
horizontal or
vertical
unbounded 0.00 5
bounded 0.00 2
6*4
diagonal
unbounded 0.01 3
bounded 0.07 4
horizontal or
vertical
unbounded 0.01 3
bounded 0.06 2
15*9 random
unbounded 0.01 4
bounded 0.01 0
Some results in the table show that the average relative gap equals to 0 while the
number of optimal found does not equal to 5. The reason is that the optimal value and the
output of the heuristic has a very small difference in these cases. Since the results round to
two decimals, the ratio equals to zero. In general, we can see from Table 5.5 that the
heuristics work well. The running times of the IP model are shown in Table 5.4 while the
running time of the heuristic, for example, with region size of 3*2 and diagonal destination
direction, is 30 seconds on average.
112
5.3.3 Sensitivity to Location and Time Patterns
As shown in Section 5.3.2, our proposed heuristic derives good results that are
comparable with the optimal solution while takes much less computational time. Here, we
use the same parameter settings as in Section 5.3.2 for the heuristics. We run experiments
on the scenarios listed in Table 5.1. For each scenario, we run 5 instances and each instance
includes 4 vehicles and 24 passengers. Each region has 6 passengers randomly located
within the region and 1 vehicle located at the region center. To get better insights on how
the request location and time patterns impact the utilization of the transfer point, we allow
the vehicles to visit the transfer point more than once and only consider the passenger ride
time that is served by the vehicles . Also, we assume no capacity constraint here since the
time windows of the requests impose a relatively stricter constraint than the capacity.
The results shown below in Tables 5.6a and 5.6b are the average of the 5 instances.
The transfer point is less likely to be used when there are more detours from the direct ride
route of the passengers as evidenced by the experimental results shown under the column
“transfer point used”. That is, if the destination direction is horizontal or vertical, the
transfer point is not used while the transfer point is more often used if the destination
direction is diagonal or random. That is, when the transfer point is away from the route (the
horizontal and vertical scenarios), it actually takes the vehicle extra route distance to go to
the transfer point while there is no real benefit to reduce the total cost. Therefore, there is
no incentive to use the transfer point.
113
By comparing the results of the scenarios with bounded and unbounded start time
while with the same region size and destination direction, we can see that the unserved
passenger cost is higher for bounded start time. That is, with bounded start time, it is harder
to serve as many passengers as the unbounded scenario. The routes distances decreases
since less passengers are served while the passenger ride time decreases in most cases. The
change in the total cost is mainly affected by the unserved passenger cost. Moreover, the
transfer point is more often used when the requests are more clustered in start time. That
is, the clustered passenger start time enables the vehicle in the region to pick up the
passengers sequentially and drop at the transfer point in a batch while another vehicle is
available to take them to the destination so that the total route distance is reduced without
really increasing the passenger ride time. To support the analysis, we introduce two ratios.
The occupancy rate is the traveled route distance of the driver and the passengers divided
by the vehicle route distance. The higher the occupancy rate, the more passengers are in
the vehicle during the trip. The distance ratio is the average actual distance traveled divided
by the drive-alone distance for each request that is served by the vehicle. The higher the
distance ratio, the more detours the request takes. In Table 5.6b, it shows that the occupancy
rate and distance ratio are increased if the start time is bounded. That is, the passengers are
kept in the vehicle to be unloaded in batch to save the route distance of the vehicles.
With regard to the region size, the experimental results show that the scenario with
the largest region size (15*9) has the most instances in which the transfer point is used
114
which is indicated under column “transfer point used”. However, it also can be seen that
the scenario with the smallest region size (3*2) has the largest number of requests that use
the transfer point which is indicated under column “number of requests used transfer point”.
And the start time of both scenarios is bounded. That is, when requests are more sparsely
distributed, the transfer point is more likely to be used by a certain passenger since the
setup cost is low but it is hard to be used by a batch of passengers since the locations are
not clustered and are sparsely distributed. With more clustered in location, the transfer
point occurs little detour. If the transfer point is used, it is likely to be used by a batch of
passengers since the destination locations of the passengers in the vehicle are very likely
clustered and it is feasible for the other vehicles to serve them all.
Table 5.6a Computational Results for Different Location and Time
region
size
destination
direction
start time
route
distance
passenger
ride time
unserved
passenger cost
total cost
3*2
diagonal
unbounded 2512.0 4861.0 0.0 7373.0
bounded 1696.0 4902.0 200.0 6798.6
horizontal or
vertical
unbounded 2956.0 2460.0 200.0 5616.0
bounded 1732.0 2100.0 4600.0 8432.0
6*4
diagonal
unbounded 2884.0 3672.0 0.0 6556.2
bounded 1812.0 3644.0 3400.0 8856.2
horizontal or
vertical
unbounded 2768.0 2180.0 400.0 5348.0
bounded 1284.0 1076.0 11800.0 14160.0
15*9 random
unbounded 2708.0 2134.2 200.0 5042.4
bounded 1468.0 1469.6 10000.0 12938.4
115
Table 5.6b Computational Results for Different Location and Time
region
size
destination
direction
start time
transfer
point
used
number of
requests using the
transfer point
occupancy
rate
distance
ratio
3*2
diagonal
unbounded 0.0 0.0 2.92 1.07
bounded 0.6 6.8 3.88 1.09
horizontal or
vertical
unbounded 0.0 0.0 1.84 1.02
bounded 0.0 0.0 2.22 1.10
6*4
diagonal
unbounded 0.2 0.8 2.27 1.10
bounded 0.2 2.2 3.02 1.28
horizontal or
vertical
unbounded 0.0 0.0 1.80 1.06
bounded 0.0 0.0 1.86 1.11
15*9 random
unbounded 0.2 0.4 1.75 1.06
bounded 0.8 2.2 2.02 1.11
Table 5.7 shows the scenarios that use the transfer point and the results of those
scenarios if the transfer point is not available. The results shown are the average of the 5
instances.
116
Table 5.7 Comparison between with and without the Transfer Point
region
size
destination
direction
start time
consider
transfer
point
route
distance
passenger
ride time
total
cost
number of
requests
satisfied
3*2 diagonal bounded
no 1764.0 4898.0 6862.0 23.8
yes 1696.0 4902.0 6798.6 23.8
6*4 diagonal unbounded
no 2996.0 3628.0 6624.0 24.0
yes 2884.0 3672.0 6556.2 24.0
6*4 diagonal bounded
no 1696.0 3240.0 9736.0 19.2
yes 1812.0 3644.0 8856.2 20.6
15*9 random unbounded
no 2652.0 2108.2 5160.2 23.6
yes 2708.0 2134.2 5042.4 23.8
15*9 random bounded
no 1412.0 856.0 14868.0 11.4
yes 1468.0 1469.6 12938.4 14.0
It can be seen that the total cost is reduced by considering the availability of the
transfer point. In detail, the utilization of the transfer point improves the request satisfaction
level by serving more requests. For example, with a region size of 15*9, random destination
direction and bounded start time, the number of requests satisfied is 11.4 without
considering the transfer point while the number increases to 14.0 if the transfer point is
utilized. With the same request satisfaction level, the availability of the transfer point helps
reduce the route distance which contributes in the decrease of the total cost. As we can see,
with region size of 6*4, diagonal destination direction and unbounded start time, with the
117
availability of the transfer point, though the passenger ride time increases, the route
distance decreases which leads to the decrease in the total cost. That is, by using the transfer
point, the vehicle travels less distance which enables more feasibility to satisfy the
passenger requests. Though the passengers might be kept in the vehicle for a longer time,
the reductions in route distance outweigh the increase in passenger ride time so that the
total cost decreases.
118
Chapter 6
Conclusions and Future Work
In this research, we study two ridesharing routing problems: a pickup and delivery
problem for ridesharing considering load dependent cost and a pickup and delivery
problem for ridesharing with transfers. In both cases, we present a mixed integer
programming problem formulation to derive optimal solutions and an efficient heuristic
based on insertion and Tabu search to solve larger size problem in a reasonable amount of
time. We study how the routes change as a function of incentives for ridesharing
considering changes in passenger travel time and toll cost due to vehicle load and how the
request location and time distribution impacts the utilization of the transfer point.
In our first model, we consider the availability of HOV lanes and the policy of
reduced toll rate on high occupancy vehicles which will save both travel time and cost by
having more people in the vehicle. That is, there may be an incentive to take detours to
pick up additional passengers to qualify for HOV lanes or discounted toll rates. We
consider both static and dynamic versions of this problem. In the static case, we proposed
a Tabu search algorithm to efficiently solve the problem and an algorithm to improve the
passenger ride time by adjusting the pickup time. We also present a mixed integer
119
programming formulation of the problem to benchmark the heuristics on small problem
sizes. We first tested how the heuristics work by comparing the routing results of the
heuristics with that of the IP model. The results indicate that our heuristic performs
comparably to the optimal solution for small size problems. Then, we run simulations to
test the sensitivity of the results to different inputs. The results show that, as a participant
in ridesharing becomes more flexible in time, the less one should pay for his/her trip. For
more vehicles, there are more ridesharing options. Also, our results show that there is
significant benefit to considering the toll cost savings and time savings with additional
pickups. After that, we performed a set of computational experiments to explore how
ridesharing is affected by the different time savings on HOV lanes. We evaluated the
sensitivity to HOVs using two different measures: a distance ratio and a ride time ratio.
From the results, we see that, when time savings on HOV lanes is more significant, the
distance ratio will increase while the ride time ratio will decrease. This indicates that, under
the policies promoting ridesharing, passengers may need to take a detour to share a ride
with others to save the total route distance or to capture faster paths to save ride time. The
amount of detour of the passengers can be controlled by adjusting the time windows of the
passengers or a strict constraint can be imposed. Moreover, if it is too difficult to be
qualified to use HOV lanes (e.g. HOV4 lanes), there are less opportunities to take detours
to share a ride. Therefore, policymakers should be aware of and further explore the
ridesharing participants’ reactions to those policies when designing the policies to promote
120
ridesharing.
Theoretically, the heuristic developed for the static case can also apply in the
dynamic case. However, since the problem is NP-hard, the heuristics we proposed for the
static case cannot solve the dynamic case in a reasonable amount of time. Therefore, we
implement a greedy insertion to obtain an initial solution as in the static case and a Waiting
Strategy to control a vehicle after it becomes idle. That is, the vehicle might stay at the
location after the passenger is picked up or delivered instead of heading to the next location
as soon as possible. The experimental results show that our heuristic is efficient in
improving the performance of the system by serving more requests as well as reducing the
average cost.
In our second model, the idea of ridesharing is not restricted to a single vehicle, we
modify an existing mixed integer programming model for the ridesharing sharing problem
with transfers. Moreover, we propose some valid equalities and inequalities that have been
shown to be effective. However, the problem is still NP-hard. We develop heuristics based
on insertion and Tabu search to solve the problem. We first show the performance of the
heuristics by using a mixed integer programming model as the benchmark. Then, we run
experiments to perform sensitivity analysis on different location and time patterns. We can
see that the transfer point is less likely to be used if more detours are necessary. That is,
when the transfer point is away from the route, it actually takes the vehicle extra route
distance to travel to the transfer point while there is no real benefit to reduce the total cost.
121
When the requests are more clustered in location and start time, the passengers are more
likely to be kept in the vehicle to use the transfer point in a batch. Moreover, the
experimental results also show that the availability of transfers improve the overall routing
performance since it provides more routing options.
In this research, we consider the ridesharing with load dependent cost and transfers
both of which are more complicated than the standard pickup and delivery problem. It
requires substantial amount of computational effort to compute optimal solutions for larger
instances. Moreover, the heuristics we developed accordingly also take longer running time
than the standard ones. For example, in our second model, since the transfer point is
introduced, the insertion of a request in one route could impact the pickup and delivery
time of the request in the other routes. Therefore, the time window feasibility check
requires tremendous computational time. In our future work, we plan to construct tight
bounds and better heuristics so that our model can be computed more efficiently. While
most of our work is based on studying the static problem, to accommodate with the real
world implementation, the dynamic versions of both models need to be considered and
improved in future work. Also, the ridesharing problem with stochastic travel time can be
studied. Moreover, instead of considering the load dependent cost and the transfer points
separately, we can build a ridesharing model that considers both in our future work. The
new model will be more computationally challenging. But it would be interesting to study
how the passengers react to the availability of the HOV lanes, toll roads and transfers. For
122
example, it would be expected that transfer points at the end of HOV lanes and toll roads
are more likely to be utilized so that the ridesharing participants can benefit by having more
people in the vehicle while going through the HOV lanes and toll roads.
Furthermore, each ridesharing participant in our study is considered to be either a
driver or a passenger. Interesting future work would enable the roles of the ridesharing
participants to be more flexible. That is, the ridesharing participants may have no
preference between being a driver or a passenger. Therefore, we can build a model that sets
each participant to be a driver or a passenger based on the routing necessity so that the
performance of the ridesharing system is improved.
123
Bibliography
Abramson, V., Phillips, C. F., 1942 “Rationing of consumer goods”, Columbia Law Review,
42(7), 1170-1181.
Agatz, N.A.H., Erera, A., Savelsbergh, M.W.P., Wang, X., 2011 “Dynamic ride-sharing: a
simulation study in metro Atlanta”, Transportation Research Part B:
Methodological, 45(9), 1450-1464.
Agatz, N.A.H., Erera, A., Savelsbergh, M.W.P., Wang, X., 2012 “Optimization for
dynamic ride-sharing: A review”, European Journal of Operational Research, 233, 295-
303.
Aldaihani, M., Dessouky, M. M., 2003 “Hybrid scheduling methods for paratransit
operations”, Computers & Industrial Engineering, 45(1), 75-96.
Anily, S., Hassin, R., 1992 “The swapping problem”, Networks, 22(4), 419-433.
Anily, S., Mosheiov, G., 1994 “The traveling salesman problem with delivery and
backhauls”, Operations Research Letters, 16(1), 11-18.
Archetti, C., Speranza, M. G., Hertz, A., 2006 “A tabu search algorithm for the split
delivery vehicle routing problem”, Transportation Science, 40(1), 64-73.
Baldacci, R., Bartolini, E., Mingozzi, A., 2011 “An exact algorithm for the pickup and
delivery problem with time windows”, Operations Research, 59(2), 414-426.
Baldacci, R., Hadjiconstantinou, E., Mingozzi, A., 2003 “An exact algorithm for the
traveling salesman problem with deliveries and collections”, Networks, 42(1), 26-41.
Belhaiza, S., Hansen, P., Laporte, G., 2014 “A hybrid variable neighborhood tabu search
heuristic for the vehicle routing problem with multiple time windows”, Computers &
Operations Research, 52(Part B), 269-281.
Bent, R., Van Hentenryck P., 2007 “Waiting and relocation strategies in online stochastic
vehicle routing”, in Proceedings of ohe 20
th
International Joint Conference on Artificial
Intelligence (IJCAI-07), 1816-1821.
124
Berbeglia, G., Cordeau, J.-F., Gribkovskaia, I., Laporte, G., 2007 “Static pickup and
delivery problems: A classification scheme and survey”, TOP, 15(1), 1-31.
Berbeglia, G., Cordeau, J.-F., Laporte, G., 2010 “Dynamic pickup and delivery problems”,
European Journal of Operational Research, 202 (1), 8-15.
Bordenave, C., Gendreau, M., Laporta, G., 2010 “Heuristic for the mixed swapping
problem”, Computers and Operations Research, 37(1), 108-114.
Bordenave, C., Gendreau, M., Laporte, G., 2012 “A branch-and-cut algorithm for the
preemptive swapping problem”, Networks, 59(4), 387-399.
Bouros, P., Sacharidis, D., Dalamagas, T., Sellis, T., 2011 “Dynamic pickup and delivery
with transfers”, in Advances in Spatial and Temporal Databases, Lecture Notes in
Computer Science, Springer Berlin Heidelberg, Volumn 6849, 112-129.
Brandao, J., 2006 “A new tabu search algorithm for the vehicle routing problem with
backhauls”, European Journal of Operational Research, 173(2), 540-555.
Branke, J., Middendorf, M., Noeth, G., Dessouky, M.M., 2005 "Waiting strategies for
dynamic vehicle routing", Transportation Science, 39, 298-312.
Catay, B., 2010 “A new saving-based ant algorithm for the vehicle routing problem with
simultaneous pickup and delivery”, Expert Systems with Applications, 37(10), 6809-6817.
Calvo, R.W., de Luigi, F., Haastrup, P., Maniezzo, V., 2004 “A distributed geographic
information system for the daily carpooling problem”, Computers & Operations Research,
31 (13), 2263-2278.
Casco, D. O., Golden, B. L., Wasil, E.A., 1988 “Vehicle routing with backhauls: models,
algorithms, and case studies”, Vehicle routing: methods and studies, Elsevier Science, 127-
147.
Chalasani, P., Motwani, R., 1999 “Approximating capacitated routing and delivery
problems”, SIAM Journal on Computing, 28(6), 2133-2149.
Chan, N., Shaheen, S., 2012 “Ridesharing in north america: Past, present, and future”,
Transport Reviews, 32(1), 93-112.
125
Chang, M., Wiegmann, J., Bilotto, C., 2008 “A compendium of existing HOV lane
facilities in the united states”, U.S. Department of Transportation, Federal Highway
Administration, accessed October 15, 2015
http://www.ops.fhwa.dot.gov/publications/fhwahop09030/fhwahop09030.pdf
Christidis, P., Rivas, J.N.I., 2012 “Measuring road congestion” Technical report,
European Commission, Joint Research Centre.
Christofides, N., 1976 “Worst-case analysis of a new heuristic for the travelling salesman
problem”, U.S. Department of Commerce, accessed October 16, 2015
http://www.dtic.mil/dtic/tr/fulltext/u2/a025602.pdf
Clarke, G., Wright, J. W., 1964 “Scheduling of vehicles from a central depot to a number
of delivery points”, Operations Research, 12(4), 568-581.
Cordeau, J.-F., Laporte, G., 2003 “A tabu search heuristic for the static multi-vehicle dial-
a-ride problem”, Transportation Research Part B: Methodological, 37, 579–594.
Cordeau, J.-F., Laporte, G., 2005 “Tabu search heuristic for the vehicle routing problem”,
Operations Research /Computer Science Interfaces Series, 30, 145–163.
Cordeau, J.-F., Laporte, G., Ropke, S., 2008 “Recent models and algorithms for one-to-
one pickup and delivery problems”, Operations Research/Computer Science Interfaces, 43,
327-357.
Cordeau, J.-F., Maischberger, M., 2012 “A parallel iterated tabu search heuristic for vehicle
routing problems”, Computers & Operations Research, 39(9), 2033-2050.
Cortes, C. E., Matamala, M., Contardo, C., 2010 “The pickup and delivery problem with
transfers: Formulation and a branch-and-cut solution method”, European Journal of
Operational Research, 200(3), 711-724.
Crainic, T.G., Malucelli, F., Nonato, M., 2001 “Flexible many-to-few + few-to-many = an
almost personalized transit system”, in Preprints TRISTAN IV-Triennial Symposium on
Transportation Analisis, Sao Miguel Island, Portugal, 2, 435–440.
Croes, G.A., 1958 “A method for solving traveling salesman problems”, Operations
Research, 6, 791-812.
de Brito, M., Dekker, R. 2004 “A framework for reverse logistics”, Reverse logistics,
Springer Berlin Heidelberg, 3-27.
126
Deif, I., Bodin, L., 1984 “Extension of the Clarke and Wright algorithm for solving the
vehicle routing problem with backhauling”, in Proceedings of the Babson conference on
software uses in transportation and logistics management, Babson Park, Florida.
Desrochers, M., Lenstra, J., Savelsbergh, M.W.P., Soumis, F., 1988 “Vehicle routing with
time windows: Optimization and approximation”, Vehicle Routing Methods and Studies,
Elsevier Science, 65-84.
Desrosiers, J., Dumas, Y., Solomon, M. M., Soumis, F. 1995 “Time constrained routing
and scheduling”, Handbook in Operations Research and Management Science, 8, 35-139.
Desrosiers, J., Dumas, Y., Soumis, F., 1986 “A dynamic programming solution of the
large-scale single-vehicle dial-a-ride problem with time windows”, American Journal of
Mathematical and Management Sciences, 6, 301-325.
Diana, M., Dessouky, M.M., 2004 “A new regret insertion heuristic for solving large-scale
dial-a-ride problems with time windows", Transportation Research Part B:
Methodological, 38, 539-557.
Dumas, Y., Desrosiers, J., Soumis, F., 1991 “The pickup and delivery problem with time
windows”, European Journal of Operational Research, 54(1), 7-22.
Ferguson, E., 1997 “The rise and fall of the american carpool: 1970–1990”, Transportation,
24(4), 349-376.
Fischetti, M., Toth, P., 1989 “An additive bounding procedure for combinatorial
optimization problems”, Operations Research, 37(2), 319-328.
Frederickson, G. N., Hecht, M. S., Kim, C. E., 1978 “Approximation algorithms for some
routing problems”, SIAM Journal on Computing, 7(2), 178.
Furuhata, M., Dessouky, M. M., Ordóñez, F., Brunet, M., Wang, X., Koenig, S., 2013
“Ridesharing: the state-of-the-art and future directions,” Transportation Research Part B:
Methodological, 57, 28-46.
Gendreau, M., Hertz, A., Laporte, G., 1996 “The traveling salesman problem with
backhauls”, Computers & Operations Research, 23(5), 501-508.
Gendreau, M., Laporte, G., Hertz, A., 1997 “An approximation algorithm for the traveling
salesman problem with backhauls”, Operations Research, 45(4), 639-641.
127
Ghaziri, H., Osman, I. H., 2003 “A neural network algorithm for the traveling salesman
problem with backhauls”, Computers & Industrial Engineering, 44(2), 267-281.
Ghoseiri, K., Haghani, A., Hamedi, M., 2011 “Real-time rideshare matching problem”,
University of Maryland, Department of Civil and Environmental Engineering, UMD-2009-
05.
Goetschalckx, M., Jacobs-Blecha, C., 1989 “The vehicle routing problem with backhauls”,
European Journal of Operational Research, 42(1), 39-51.
Golden, B. L., Baker, E. K., Alfaro, J. L., Schaffer, J. R., 1985 “The vehicle routing
problem with backhauling”, in Proceedings of the Twenty-First Annual Meeting of the S.
E. TIMS, Myrtle Beach, South Carolina, 90-92.
Gouveia, L., Pesneau, P., 2006 “On extended formulations for the precedence constrained
asymmetric traveling salesman problem”, Networks, 48(2), 77-89.
Gribkovskaia, I., Halskau, Ø.,Laporte, G., Vlček, M., 2007 “General solutions to the single
vehicle routing problem with pickups and deliveries”, European Journal of Operational
Research, 180(2), 568-584.
Healy, P., Moll, R., 1995 “A new extension of local search applied to the dial-a-ride
problem”, European Journal of Operational Research, 83(1), 83-104.
Hensher, D.A., 2008 “Climate change, enhanced greenhouse gas emissions and passenger
transport what can we do to make a difference?”, Transportation Research Part D:
Transport and Environment, 13(2), 95-111.
Hernandez-Perez, H., Salazar-Gonzalez, J.-J., 2004a “Heuristics for the one-commodity
pickup-and-delivery traveling salesman problem”, Transportation Science, 38(2), 245-255.
Hernandez-Perez, H., Salazar-Gonzalez, J.-J., 2004b “A branch-and-cut algorithm for a
traveling salesman problem with pickup and delivery”, Discrete Applied Mathematics,
145(1), 126-139.
Horn, M. E. T., 2002 “Multi-modal and demand-responsive passenger transport systems:
A modelling framework with embedded control systems”, Transportation Research Part
A: Policy and Practice, 36(2), 167-188.
128
Hosny, M.I., Mumford, C.L., 2010 “The single vehicle pickup and delivery problem with
time windows: intelligent operators for heuristic and metaheuristic algorithms”, Journal of
Heuristics, 16(3), 417-439.
Kalantari, B., Hill, A. V., Arora, S.R., 1985 “An algorithm for the traveling salesman
problem with pickup and delivery customers”, European Journal of Operational Research,
22, 377-386.
Kircher, D., Wapensky, L., 1978 “Vanpooling: an overview”, Publication No. EPA-908/1-
78-001, U.S. Environmental Protection Angency, Region VIII.
Levofsky, A., Greenberg, A., 2001 “Organized dynamic ride sharing: the potential
environmental benefits and the opportunity for advancing the concept”, Transportation
Research Board 2001 Annual Meeting, Washington, DC.
Levy, J.I., Buonocore, J.J., Von Stackelberg, K., 2010 “Evaluation of the public health
impacts of traffic congestion: a health risk assessment”, Environmental Health, 9, 65-76.
Lewis, D., 2008 “America’s traffic congestion problem: Toward a framework for national
reform”, the Hamilton Project, Brookings Institution: Washington, D.C.
Li, H., Lim, A., 2001 “A metaheuristic for the pickup and delivery problem with time
windows”, Proceedings 13
th
IEEE ICTAI 2001 Los Alamitos CA, 160-167.
Little, J. D. C., Murty, K. G., Sweeney, D. W., Karel, C., 1963 “An algorithm for the
traveling salesman problem”, Operations Research, 11(6), 972-989.
Los Angeles County Metropolitan Transportation Authority, 2002 “HOV performance
program evaluation report”, Metro, accessed October 19, 2015
http://www.metro.net/projects_studies/hov/images/hov_final_evaluation_report.pdf
Lu, Q., Dessouky, M.M., 2004 “An exact algorithm for the multiple vehicle pickup and
delivery problem”, Transportation Science, 38, 503-514.
Lu, Q., Dessouky, M.M., 2006“A new insertion-based construction heuristic for solving
the pickup and delivery problem with hard time windows”, European Journal of
Operational Research, 175, 672-687.
Malucelli, F., Nonato, M., Pallottino, S., 1999 “Demand adaptive systems: Some proposals
on flexible transit”, Operations research in industry, 157-182.
129
Masson, R., Lehuédé, F., Péton, O., 2013 “An adaptive large neighborhood search for the
pickup and delivery problem with transfers”, Transportation Science, 47(3), 344-355.
Masson, R., Ropke, S., Lehuédé, F., Péton, O., 2014 “A branch-and-cut-and-price approach
for the pickup and delivery problem with shuttle routes”, European Journal of Operational
Research, 236(3), 849-862.
Mingyong, L., Erbao, C., 2010 “An improved differential evolution algorithm for vehicle
routing problem with simultaneous pickups and deliveries and time windows”,
Engineering Applications of Artificial Intelligence, 23(2), 188-195.
Mitrovic-Minic, S., Krishnamurti, R., Laporte, G., 2004 “Double-horizon based heuristics
for the dynamic pickup and delivery problem with time windows”, Transportation
Research Part B, 38(8), 669-685.
Mitrovic-Minic, S., Laporte, G., 2004 “Waiting strategies for the dynamic pickup and
delivery problem with time windows”, Transportation Research Part B:
Methodological, 38, 635-655.
Mitrovic-Minic, S., Laporte, G., 2006 “The pickup and delivery problem with time
windows and transshipment”, INFOR, 44(3), 217-227.
Mladenovic, N., Hansen, P., 1997 “Variable neighborhood search”, Computers &
Operations Research, 24(11), 1097-1100.
Mosheiov, G., 1994 “The travelling salesman problem with pick-up and delivery”,
European Journal of Operational Research, 79, 299-310.
Nanry, W.P., Barnes, J.W., 2000 “Solving the pickup and delivery problem with time
windows using reactive tabu search” Transportation Research Part B: Methodological, 34,
107-121.
Office of Highway Policy Information, 2011. Toll Facilities in the United States, Federal
Highway Administration, accessed April 6, 2013
http://www.fhwa.dot.gov/policyinformation/tollpage/cover.cfm#toc
Osman, I. H., Wassan, N. A., 2002 “A reactive tabu search meta-heuristic for the vehicle
routing problem with back-hauls”, Journal of Scheduling, 5(4), 263-285.
130
Parragh, S.N., Doerner, K.F., Hartl, R.F., 2010 “Variable neighborhood search for the dial-
a-ride problem”, Computers and Operations Research, 37(6), 1129-1138.
Petersen, H., Ropke, S., 2011 “The pickup and delivery problem with cross-docking
opportunity”, Computational logistics, Springer Berlin Heidelberg. Volumn 6971, 101-113.
Pillac, V., Gendreau, M., Gueret, C., Medaglia, A.L., 2013 “A review of dynamic vehicle
routing problems”, European Journal of Operational Research, 225(1), 1-11.
Pratsch L., 1975 “Carpool and buspool matching guide (4
th
edition)”, U.S. Department of
Transportation, Federal Highway Administration, Washington, D.C.
Psaraftis, H. N., 1980 “A dynamic programming solution to the single vehicle many-to-
many immediate request dial-a-ride problem”, Transportation Science, 14(2), 130-154.
Psaraftis, H. N., 1983 “K-interchange procedures for local search in a precedence-
constrained routing problem”, European Journal of Operational Research, 13(4), 391-402.
Poole Jr, R. W., Orsk, C. K., 2000. “HOT lanes: a better way to attack urban highway
congestion”, Regulation. 23, 15-20.
Qu, Y., Bard, J. F., 2012 “A GRASP with adaptive large neighborhood search for pickup
and delivery problems with transshipment”, Computers & Operations Research, 39(10),
2439.
Quadrifoglio, L., Hall, R. W., Dessouky, M. M., 2006 “Performance and design of mobility
allowance shuttle transit services: Bounds on the maximum longitudinal velocity”,
Transportation Science, 40(3), 351-363.
Rais, A., Alvelos, F., Carvalho, M. S., 2014 “New mixed integer-programming model for
the pickup-and-delivery problem with transshipment”, European Journal of Operational
Research, 235(3), 530-539.
Renaud, J., Boctor, F. F., Laporte, G., 2002 “Perturbation heuristics for the pickup and
delivery traveling salesman problem”, Computers & Operations Research, 29(9), 1129-
1141.
Renaud, J., Boctor, F. F., Ouenniche, J., 2000 “A heuristic for the pickup and delivery
traveling salesman problem”, Computers & Operations Research, 27(9), 905-916.
131
Ropke, S., Cordeau, J.-F., 2009 “Branch and cut and price for the pickup and delivery
problem with time windows”, Transportation Science, 43(3), 267-286.
Ropke, S., Cordeau, J.-F., Laporte, G., 2007 “Models and branch-and-cut algorithms for
pickup and delivery problems with time windows”, Networks, 49(4), 258-272.
Ruland, K. S., Rodin, E. Y., 1997 “The pickup and delivery problem: Faces and branch-
and-cut algorithm”, Computers & Mathematics with Applications, 33(12), 1-13.
Santos, A., McGuckin, N., Nakamoto, H.Y., Gray, D., Liss, S., 2011 “Summary of travel
trends: 2009 national household travel survey”, Technical Report, US Department of
Transportation Federal Highway Administration.
Savelsbergh, M. W. P., 1990 “An efficient implementation of local search algorithms for
constrained routing problems”, European Journal of Operational Research, 47(1), 75-85.
Savelsbergh, M. W. P., 1992 “The vehicle routing problem with time windows: minimizing
route duration”, ORSA Journal on Computing, 4, 146-154.
Savelsbergh, M. W. P., Sol, M., 1995 “The general pickup and delivery problem”,
Transportation Science, 29(1), 17-29.
Schrank, D., Eisele, B., Lomax, T., Bak, J., 2015 “2015 urban mobility scorecard”, Texas
Transportation Institute, Texas A&M University, accessed October 14, 2015
http://mobility.tamu.edu/ums/report
Stein, D. M., 1978 “An asymptotic, probabilistic analysis of a routing problem”,
Mathematics of Operations Research, 3(2), 89-101.
Subramanian, A., Drummond, L. M. A., Bentes, C., Ochi, L. S., Farias, R., 2010 “A parallel
heuristic for the vehicle routing problem with simultaneous pickup and delivery”,
Computers & Operations Research, 37(11), 1899-1911.
Thomas, B.W., 2007 “Waiting strategies for anticipating service requests from known
customer locations”, Transportation Science, 41(3), 319-331.
Toth, P., Vigo, D., 1999 “A heuristic algorithm for the symmetric and asymmetric vehicle
routing problems with backhauls”, European Journal of Operational Research, 113(3),
528-543.
132
Toth, P., Vigo, D. 2014 “Vehicle routing: Problems, methods, and applications”, Society
for Industrial and Applied Mathematics: Mathematical Optimization Society, Philadelphia.
U.S. Department of State, 2014 “United States climate action report 2014”, accessed
October 15, 2015
http://www.state.gov/documents/organization/219038.pdf
U.S. Office of Civilian Defense, 1942 “The car sharing club exchange and self-dispatching
system”, accessed October 15, 2015
http://arcweb.sos.state.or.us/pages/exhibits/ww2/services/pdf/trans3.pdf
Van Der Bruggen, L. J. J., Lenstra, J. K., Schuur, P. C., 1993 “Variable-depth search for
the single-vehicle pickup and delivery problem with time windows”, Transportation
Science, 27(3), 298-311.
Wade, A. C., Salhi, S., 2002 “An investigation into a new class of vehicle routing problem
with backhauls”, Omega, 30(6), 479-487.
Weiner, E., 1999 “Urban transportation planning in the United States: an historical
overview”, Praeger.
Winter, S., Nittel, S., 2006 “Ad-hoc shared-ride trip planning by mobile geosensor
networks”, International Journal of Geographic Information Science, 20 (8), 899-916.
Abstract (if available)
Abstract
In this research, we study two ridesharing routing problems: a pickup and delivery problem for ridesharing considering load dependent cost and a pickup and delivery problem for ridesharing with transfers. In both cases, we present a mixed integer programming problem formulation to derive optimal solutions and an efficient heuristic based on insertion and Tabu search to solve larger size problem in a reasonable amount of time. We study how the routes change as a function of incentives for ridesharing considering changes in passenger travel time and toll cost due to vehicle load and how the request location and time distribution impacts the utilization of the transfer point.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
New approaches for routing courier delivery services
PDF
Dynamic programming-based algorithms and heuristics for routing problems
PDF
An online cost allocation model for horizontal supply chains
PDF
Routing problems for fuel efficient vehicles
PDF
Models and algorithms for pricing and routing in ride-sharing
PDF
The robust vehicle routing problem
PDF
Traffic assignment models for a ridesharing transportation market
PDF
Computational geometric partitioning for vehicle routing
PDF
Train scheduling and routing under dynamic headway control
PDF
Package delivery with trucks and UAVs
PDF
Routing and inventory model for emergency response to minimize unmet demand
PDF
Cost-sharing mechanism design for freight consolidation
PDF
Continuous approximation formulas for cumulative routing optimization problems
PDF
Train routing and timetabling algorithms for general networks
PDF
Vehicle routing and resource allocation for health care under uncertainty
PDF
Optimum multimodal routing under normal condition and disruptions
PDF
Information design in non-atomic routing games: computation, repeated setting and experiment
PDF
Pricing OTC energy derivatives: credit, debit, funding value adjustment, and wrong way risk
PDF
Congestion reduction via private cooperation of new mobility services
PDF
Models and algorithms for energy efficient wireless sensor networks
Asset Metadata
Creator
Wang, Xiaoqing
(author)
Core Title
Routing for ridesharing
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Industrial and Systems Engineering
Publication Date
04/15/2016
Defense Date
03/23/2016
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
load dependent cost,OAI-PMH Harvest,pickup and delivery problem,transfers,vehicle routing
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Dessouky, Maged (
committee chair
), Ioannou, Petros (
committee member
), Ordonez, Fernando (
committee member
)
Creator Email
wangxq107@gmail.com,xiaoqinw@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c40-228379
Unique identifier
UC11277388
Identifier
etd-WangXiaoqi-4253.pdf (filename),usctheses-c40-228379 (legacy record id)
Legacy Identifier
etd-WangXiaoqi-4253.pdf
Dmrecord
228379
Document Type
Dissertation
Format
application/pdf (imt)
Rights
Wang, Xiaoqing
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
load dependent cost
pickup and delivery problem
transfers
vehicle routing