An evolutionary approach to solve the dynamic multihop

Simulation
Methodology
An evolutionary approach to solve the
dynamic multihop ridematching
problem
Simulation: Transactions of the Society for
Modeling and Simulation International
2017, Vol. 93(1) 3–19
Ó The Author(s) 2016
DOI: 10.1177/0037549716680025
journals.sagepub.com/home/sim
Sondes Ben Cheikh1, Christian Tahon2 and Slim Hammadi1
Abstract
The multihop ridesharing system generates a ridematching solution with an arbitrary number of transfers that respects
personal preferences of the users and their time constraints with detour willingness. As it is considered to be NP-complete, an efficient metaheuristic is required in the application to solve the dynamic multihop ridematching problem. In
this context, a novel approach, called Metaheuristics Approach Based on Controlled Genetic Operators (MACGeO),
which is supported by an original dynamic coding, is developed to address the multihop ridematching problem. The performance of the proposed approach is measured via simulation scenarios, which feature various numbers of carpool
drivers (vehicles) and riders (passengers). Experimental results show that the multihop ridematching could greatly
increase the number of matched requests while minimizing the number of vehicles required.
Keywords
Multihop ridesharing, optimization, evolutionary algorithm, dynamic coding
1 Introduction
The idea of ridesharing goes back to World War II as a
way to conserve resources for the war. Since then, the idea
of ridesharing passed through many motivations and
goals.1 As such, it is not only an effective solution to traffic congestion, but also an environmentally sound transportation method.2 Also called carpooling, it is a solution
for car travel reduction, aiming to bring together travelers
with similar itineraries and time schedules. This new concept is beneficial to both drivers and riders (passengers).
On the one hand, riders benefit by having an alternative to
their usual mode when it is unavailable, and it eliminates
the need for an additional car for occasional use.3 On the
other hand, drivers profit by sharing the cost of the trip or
by gaining high-occupancy-vehicle lane privileges.4
According to Agatz et al.,5 carpooling has great potential, when it is simple, safe, flexible, efficient, economical,
and able to compete with one of the greatest advantages of
personal car usage, i.e., immediate access to door-to-door
transportation. However, the traditional carpooling system
is too restrictive to accommodate the permanent increase
in today’s rideshare demands, where many commuters will
only respond to flexible commuting options.6 The vast
majority of these systems are presented as virtual supports
for reservation storage and management such as blablacar.fr or 123envoiture.com, that provide the functionalities
of submitting and consulting carpool requests or offers
and allow users to meet through virtual channels (e.g.,
chatrooms).7
Recent technological advances in internet-based communication devices, such as personal digital assistants,
smart phones, and wireless laptops could be key enablers
in increasing popularity of dynamic ridesharing, where the
matching process is established at short notice.5 These
technologies permit communication between transportation agencies and users and offer real-time geolocalization.
In such a system, a ride request can be matched with a
driver with a similar itinerary currently in proximity to the
requested pick-up location.8
Different matching agencies adopt various approaches
to establish itineraries, prices, and payment methods.
Nevertheless, what constitutes the best procedure is still a
matter of debate.8 Regarding pricing and payments, matching agencies classically propose a price per mile or a ridesharing fare that can be accordingly adjusted by users until
1
CRISTAL, Ecole Centrale de Lille, France
TEMPO, Université de Valenciennes, France
2
Corresponding author:
Sondes Ben Cheikh, CRISTAL, Ecole Centrale de Lille, Villeneuve d’Ascq,
France.
Email: [email protected]
4
Simulation: Transactions of the Society for Modeling and Simulation International 93(1)
a covenant is reached. Generally, payments are made
directly in vehicles by cash or via electronic payment systems, such as credit cards or PayPal.9
Several carpooling agencies provide ridesharing services, notably in the dynamic context. Nevertheless, they
are not very successful, principally because of a lack of
optimization and flexibility.7 It is true that technological
advances have significantly eased communication systems
and that social networking tools have addressed the fear of
sharing a ride with strangers. However, the development of
optimization algorithms for matching participants in real
time and eventually increasing the participation rate in the
ridesharing system has mainly been ignored by the transportation community.
2 Related work
In the previous section, we described how current carpooling agencies offer diversified ridesharing services with
some limitations. On the academic side, several tools and
approaches have been proposed to solve the problem of
carpooling. However, only a limited number of papers deal
with issues of dynamic real-time ridesharing services (see
Agatz et al.5 for a recent review). In what follows, a nonexhaustive list of some representative studies that propose
novel mechanisms to form ridematching will be presented.
Research relating to ridesharing problems deals mainly
with how to establish the routes and schedules of the vehicles (including how to assign passengers to drivers) while
competing with other objectives, such as maximizing the
number of serviced passengers, minimizing the operating
cost, or minimizing passenger inconvenience.8 Most carpooling studies have focused on the to-work problem
(from different origins to a common destination) or the
return-from-work problem (from the same origin to different destinations). In this sense, Baldacci10 examined ridesharing as a transportation service managed by a large
company that induced its employees to pick up colleagues
while driving to or from work, to minimize the number of
private cars traveling to or from the company site. In the
same context, Bruglieria et al.11 developed a carpooling
service called PoliUniPool for the Universita Statale and
Politecnico di Milano universities used by students and
employees. Meanwhile, suitable models have been developed to solving practical many-to-many carpooling problems. In this kind of carpooling, the ridematching problem
is modeled as an optimization problem.2,5,7 While minimizing overall travel distances is the commonly considered objective in the optimization problem,8 Herbawi and
Weber2 seek to optimize multiple objectives, such as minimizing overall travel time and maximizing the number of
ride matches.
In the literature, two fundamental forms of ridesharing
can be distinguished. The problem is called multihop
ridematching if a request can be matched with different
offers at different times, such that the rider reaches his
destination hop by hop. Otherwise, the problem is called a
single-hop ridematching problem. Dynamic multihop ridematching is more flexible than other forms of ridesharing
and provides more choice for users.2 In such a problem, the
set of drivers’ offers that establish a trip is called a route
plan. According to Masoud and Jayakrishnan,9 a route plan
for a driver involves the exact route the driver should take,
the time and location of the stops needed to make to pick up
or drop off riders, and the list of riders that ought to be
picked up or dropped off at each stop. Generally, route plan
is considered a multi-objective optimization problem, leading to multi-objective route planning.2
Drivers’ itineraries are regarded as an interesting area
of research related to multihop ridesharing systems. Rather
than simply focusing on effectively routing passengers
through a given carpooling network with transfer points,
another interesting research component could focus on
where to locate the pick-up or the transfer nodes.5 An offer
perfectly fits a request only if the origin and destination
locations of driver and rider are identical, but requirements
are actually more diverse.12 In this context, some researchers have thought of introducing a detour concept, where a
driver agrees to add a few kilometers to the trip to pick up
a passenger from an origin or even a transfer point that
does not belong to the driver’s route. To solve this interesting problem, Geisberger et al.12 designed a fast algorithm
that computed detours to match ridesharing offers and
requests. In this study, Geisberger et al.12 proposed to
allow the driver to slightly modify the route to accommodate more passengers, provided that the length of the resultant route did not exceed a predefined threshold.
While there are numerous attempts to provide carpooling services, most of them present multiple drawbacks
regarding automation, functionalities, punctuality, etc. In
fact, the majority of applications that considered the realtime carpooling problem no longer exist. Moreover, complexity increases rapidly as the number of carpool users
and thus the number of possible solutions grows. Inspired
by the existent systems deficit, this study deals with the
real-time ridematching problem, searching for the most
adequate drivers’ offers to serve the passengers’ requests
in the best possible way.
2.1 Our motivation
Setting out from the scenario shown in Figure 1, we are
motivated by the idea of a dynamic multihop ridesharing
problem. In certain circumstances, one driver might not be
able to serve the riders’ request alone, owing to distance,
time, or capacity constraints. However, it seems that it
could be possible to serve the rider’s request, if two drivers cooperate to serve him. This would offer more
Ben Cheikh et al.
Figure 1. Multihop ridematching scenario.
flexibility and increase the number of matched riders’
requests in the whole system.
As it is considered to be NP-complete,13 an original
evolutionary method, called Metaheuristics Approach
Based on Controlled Genetic Operators (MACGeO) is proposed to solve the dynamic multihop ridematching problem. This approach has already briefly been introduced.14
In this paper, we develop in more detail the different
aspects of our evolutionary algorithm. Moreover, we will
present different simulation instances to measure its performance and to demonstrate the environmental and economic impact of carpooling.
Evolutionary computation has received growing interest in solving multicriterion optimization problems.15
Therefore, evolutionary algorithms have long been
accepted as powerful search algorithms, with numerous
applications in various science and engineering problem
domains. In the area of transportation research, the evolutionary algorithm is one of the most commonly used
metaheuristics for solving vehicle-routing problems, pathfinding problems,16 and multi-objective path-finding.17
The multidepot vehicle-routing problem, an extension of
the classical vehicle-routing problem, is used to determine,
simultaneously, the routes for several vehicles from multiple depots to a set of customers and then return to the
same depot. As the multidepot vehicle-routing problem is
considered to be an NP-hard problem, Wang et al.18 propose a novel algorithm, FISAGALS, which combines the
standard genetic algorithm with fitness-scaling, adaptive
rates, and a local search to solve it.
In the carpooling domain, several studies have adopted
evolutionary algorithms to solve the ridematching problem. Herbawi and Weber19 have modeled the multihop
ridesharing problem with time windows and provided a
genetic algorithm to solve it. To measure the effectiveness
of their method, the authors compared multihop ridematching results with results obtained for single-hop ridematching. Analyses have showed that the use of multihop
ridematching could significantly increase the number of
matched requests with the penalty of increasing the total
travel time for the system’s users. However, the proposed
5
system did not consider realistic travel times and routes.
Hence, the assessment of the method’s impact and of the
quality of the results is not clear. Jiau et al.20 presented a
genetic-based carpool route and matching algorithm to
solve the carpooling problem. This system aims to reduce
the time required to match a large number of users.
Although the experimental results have shown that the
proposed algorithm is able to find carpool routes and
matching results within a short amount of time, this algorithm does not offer sufficient flexibility to users as it does
not allow a transfer process.
Starting from the existent systems’ limits, the originality of our proposed evolutionary approach resides in the
following.
1.
2.
3.
4.
5.
6.
The proposed method integrates the process of
transfer and manages the synchronization both
temporally and spatially.
The chromosome coding is totally dynamic and
does not need a decoding process to be exploited,
unlike the coding of Herbawi and Weber2 and Jiau
et al.20
Unlike classic implementations of the evolutionary
algorithm, where the initial solution is built randomly, our MACGeO algorithm starts by constructing a feasible initial solution that respects the
capacity constraint.
Our genetic operators are controlled and do not
require a correction process.
The vehicles’ routes are established in real time.
For the simulation part, we adopt realistic scenarios that consider real travel times and routes, using
Google APIs.
The rest of this paper is organized as follows. The context and the problem formulation are presented in Section
3. Section 4 describes our proposed metaheuristics to solve
the multihop ridesharing problem. Experimental results
obtained through application of the proposed algorithms,
are described in Section 5. Finally, conclusions and the
potential scope for future work are presented in Section 6.
3 Context and problem formulation
As we are mainly involved in providing a dynamic multihop ridesharing service with an optimized process, we concentrate our efforts around the establishment of a system
that is as efficient as possible with regards to optimization
goals and real-time constraints.
As shown in Figure 2, a user (rider or driver) has to connect to our system using a communication medium (e.g.,
laptop, personal digital assistant) to express a demand or
offer. The user provides departure and arrival nodes and
specifies the earliest departure and the latest arrival times.
6
Simulation: Transactions of the Society for Modeling and Simulation International 93(1)
Figure 2. Global system description.
During a given time interval, the system can receive a set
of simultaneous queries (requests and offers). Then, it
should find an optimized parallel match of the available or
potential carpooling offers (i.e., vehicles already or not yet
circulating through the served network) with the received
riders’ requests, while respecting several constraints.
Our problem is defined as follows.
During the same vesting period De, we receive simultaneously a set of riders’ requests and drivers’ offers called
De-requests. We denote Rp (t) = fR1 , R2 , . . . , Rl , . . . , Rnd g
the S
set of nd instantly received demands for
P = nl= 1 fPl g, which is the set of n passengers (nd 4 n).
Rl (t) = (Rl + , Rl , d l , al , Ql ) shows passenger Pl request’s
formulation, where: Rl + and Rl are the origin and the
destination, respectively, d l and al indicate the earliest
departure time and the latest arrival time, respectively, and
Ql 5 1 is the number of passengers including Pl who
desire to travel together. Similarly, we denote OV (t) =
fOV 1 , OV 2 , . . . , OV k , . . . , OV m g the set of m vehicles’
offers received at time t. OV k (t) = (V k + , V k ,
Dk , Ak , MDk , MAk , Lk ) shows the formulation of V k ’s
offer, where V k + and V k refer, respectively, to the origin and the destination of the vehicle V k with a capacity
Lk . Moreover, each vehicle V k is characterized by a
desired departure time Dk and a desired arrival time Ak .
MDk and MAk indicate, respectively, the vector of the estimated departure time, denoted Dki , and the vector of the
estimated arrival time, denoted Aki , of the vehicle V k on all
nodes i between V k and V k + . Depending on traffic conditions and the matching process, these nodes correspond
to the intermediate destinations specified by our system in
real time.
3.1 Criteria
In this work, we deal with five criteria to evaluate the quality of the generated ridematching solution.
3.1.1 Rider’s waiting time. This criterion aims to minimize
Rl ’s waiting time at origin Rl + and at transfer node j.
Consequently, the rider’s waiting time is equal to:
RWTlkk0 = max 0, Aki= Rl + d l Xlk
0
+ max 0, Akj Akj Xlk 0
ð1Þ
where Xlk is a decision variable that is equal to 1 if Rl is
assigned to V k , and 0 otherwise. Let us assume that, in the
case of transfer, the request Rl is assigned first to V k , then
0
to V k . The first term on the right-hand side designates the
time spent awaiting the vehicle V k in the origin node. If
(Aki= Rl + 4 d l ), the term’s value will be equal to 0. The second term indicates Rl ’s waiting time in the transfer node, if
0
V k arrives at j before V k , and is equal to 0 otherwise:
TRWT =
n X
m
X
m
X
ð2Þ
RWTlkk 0
l = 1 k = 1 k 0 = 1, k 0 6¼k
3.1.2 Vehicle’s waiting time. This criterion minimizes the
driver’s waiting time in the different pick-up nodes. We
0
suppose that Rl is assigned to V k at the origin node and
l0
k0
R is served by V from a transfer node denoted j. Then,
0
V k ’s waiting time is calculated as:
0
VWTll0 k 0 = max 0, d l Aki = Rl + Xlk 0
ð3Þ
0
+ max 0, Akj Akj Xl0 k 0
0
The first term of the equation corresponds to V k ’s wait0
ing time in the origin node Rl + . If (d l 4 Aki = Rl + ), the
value of this term is equal to 0. The second part determines
0
the time spent by V k , waiting for V k to arrive. Similarly,
0
if (Akj 4 Akj ), it will be considered as 0.
Consequently, the total vehicles’ waiting time is equal
to:
Ben Cheikh et al.
7
TVWT =
n
X
n
X
m
X
VWTll0 k 0
ð4Þ
l = 1 l0 = 1, l0 6¼l k 0 = 1
3.1.3 Rider’s delay time. This criterion aims to minimize
the rider’s delay time, which corresponds to the difference
between the desired arrival time specified by the request
Rl assigned to V k and the actual arrival time at the final
destination (i = Rl ). It is equal to:
RDTlk = Max(0, (Aki= Rl al ) Xlk )
ð5Þ
Figure 3. Subdivision of the network into traffic zones.
Consequently, the total delay time is calculated as:
TRDT =
n X
m
X
DTlk
ð6Þ
l=1 k=1
3.1.4 Vehicles’ delay time. Similarly, this criterion seeks to
minimize drivers’ delay time. It corresponds to the difference between the desired arrival time and the actual arrival
time at the final destination (i = V k ). It can be defined as:
VDTk = max 0, Aki= V k Ak
ð7Þ
Consequently, the total delay time is equal to:
TVDT =
m
X
VDTk
ð8Þ
k=1
3.1.5 Total vehicles’ route time. The route time criterion
involves minimizing the total journey times aboard the various vehicles. For each vehicle V k , the route time is stated as:
VRTk =
s
X
3.3 Request assignment
In the majority of studies concerning the ridematching
optimization, the assignment process is inherent in the
optimization algorithm. In other words, a request can be
assigned randomly to any vehicle from one generation to
another. Then the optimization algorithm must search for
the optimized matching as is the case in Herbawi and
Weber2 and Masoud and Jayakrishnan.9 By contrast, in
our method, the assignment process is executed independently of the evolutionary approach. Then, the outputs are
considered as a starting point for our MACGeO algorithm,
which has to search for the optimized route plan. This will
significantly limit the search space and thus reduce the
problem’s complexity.
Following a judicious subdivision of the carpooling network and according to the geographic coordinates (i.e., origins and destinations) of users, our system assigns a set of
adequate requests to be served for each vehicle V k .
Vk
Aki+ 1
Dki
ð9Þ
ð12Þ
i=1
where i corresponds to the intermediate destinations of V k
and s is the length of the vector MDk . Then the global route
time of all vehicles is expressed as:
TVRT =
m
X
VRTk
Two main steps are performed through the subdivision
process:
ð10Þ
k=1
3.2 Constraint
The only constraint that must be respected during real-time
assignment of the request Rl to the vehicle V k is:
1 4 Ql + Lki 4 Lk
ð11Þ
where Lki is the residual capacity of V k on the pick-up
node i. This latter may be the origin node of Rl or a transfer node. Then, V k must have enough available places in
node i according to the number of places Ql asked by the
request Rl .
Rk = fR1k , R2k , . . . Rxk g, card(Rk ) = x = nbReqk
Step 1. According to drivers’ moving specifications
(i.e., origins and destinations), a set of areas is
established. Each area corresponds to the traffic
zone of each vehicle V k . This zone is a circle whose
diameter is the distance between the vehicle’s origin V k + and destination V k . The common areas
between two or more zones correspond to the GTZ
where transfer between vehicles will be ensured
(Figure 3).
Step 2. Considering riders’ specifications, the system assigns a set of requests for each vehicle to
serve them. The request Rl is assigned to a single
vehicle V k if its origin Rl + and destination Rl
belong to the same zone (Figure 4). In addition, to
avoid needless round trips, it is necessary that the
8
Simulation: Transactions of the Society for Modeling and Simulation International 93(1)
After the assignment process, the problem now is to
establish vehicles’ routes while optimizing our criteria and
respecting the capacity constraint.
4 Developed approach
In this section, we propose an evolutionary algorithm that
operates with significantly less computational complexity
and considerably reduces the time required to match a
large number of users in the proposed intelligent carpooling system. Evolutionary algorithms are adaptive heuristic
search methods that mimic evolution through natural selection. They work by combining selection, recombination,
and mutation operations. In the following, we discuss the
important parts of our evolutionary algorithm: chromosome representation, selection, crossover, and mutation
operators.
Figure 4. Request assigned to a single vehicle.
4.1 Chromosome representation
Figure 5. Request decomposed into several subrequests.
distance between the origin of vehicle V k + and
that of the request Rl + be less than the distance
between V k + and the final destination of the
request Rl . That means:
Distance(V k + , Rl + ) 4 Distance(V k + , Rl )
ð13Þ
As we deal with the dynamic carpooling problem,
users’ trips are close in time to each other, which
makes it feasible for drivers to cooperate to serve
riders’ requests. In cases where a request cannot be
served by a single vehicle, our system must decompose this request into several subrequests and assign
each one to a corresponding vehicle without taking
into account the time synchronization between them
(Figure 5). Such synchronization will be ensured by
our evolutionary approach.
Figure 6. Chromosome representation.
A chromosome solution is represented as a schedule of
vehicles’ routes with one route for each vehicle (driver).
We note that this chromosome presentation was first introduced by Ben Cheikh et al.14 Each route starts with the
origin node of the vehicle, followed by a list of pick-up
and delivery nodes, taking into account the dynamic management of vehicle capacity, and ends with the destination
node of the vehicle. In addition, if the rider’s request could
be served through a transfer node, then the several pairs of
pick-up and delivery nodes of that request will appear in
different routes (e.g., Request 4 in Figure 6). The main
constraint of this chromosome representation is the fact
that a rider’s request or subrequest is represented by only
one pair of pick-up and delivery nodes and can appear in
only one route. Figure 7 illustrates the generic form of our
gene presenting the vehicle itinerary and shows the
dynamic management of vehicle capacity. Figure 6 shows
an example solution representation matching for five vehicles (1–5) and twelve riders’ requests (1–12).
Here, plus and minus signs indicate the pick-up and
delivery points of passengers requests and the origins and
destinations of vehicles. The second component of the
pick-up and delivery pair represents the dynamic capacity
of the corresponding vehicle. We note that our chromosome represents a feasible solution that can be exploited
Ben Cheikh et al.
9
MTSA versus MACGeO with respect to matched users.
Figure 7. The generic form for a gene construction.
directly without a decoding process. For all passengers’
requests Rl , we have three possibilities:
(Rl + , Capk (t)) . . . (Rl , Capk (t + D(t))): without
transfer;
0
0
(Rl + , Capk (t0 )) . . . (Rl , Capk (t0 + D(t0 ))):
first
transfer;
00
(Rl + , Capk (t00 )) . . . (Rl , Capk (t00 + D(t00 ))): second
transfer.
where t, t0 , t00 correspond to the current times. Then, to construct the chromosomes of our population, the system must
generate Algorithm 1. Depending on the vehicle number,
the Chromosome Construction Algorithm calls the FleVIA
(Flexible Vehicles Itineraries Algorithm) to construct the
genes of the chromosome. We note that the originality of
our chromosome coding resides in the fact that the coding
is dynamic and depends on the number of riders’ requests
assigned to each vehicle.
Algorithm 1 Chromosome_Construction_Algorithm
(VIk ½,Trk ½)
S
k
Require: V = m
k = 1 fV g: the set of m vehicles, each vehicle
k
1 2
Rk = rk ,rk , . . . ,rkx :the set of nbReqk
V
Ensure: VIk : The vehicle itinerary of V k , Trk : Requests table of
Vk
Treatment
1: for k = 1 to m (number of vehicles) do
2:
for i = 1 to nbReqk do
3:
FleVIA(VIk ½i,Trk ½i)
4:
end for
5: end for
Algorithm 2 Mask_Crossover_Algorithm
1: Generate, randomly, the Binary Crossover Mask
2: Select two parents S1 and S2 randomly from the population
Pop(t)
3: for i = 1 to m (number of vehicles) do
4:
if Mask[i]=1 then
5:
The child e1 receives the same gene from S1
6:
The child e2 receives the same gene from S2
7:
else
8:
The child e1 receives the same gene from S2
9:
The child e2 receives the same gene from S1
10:
end if
11: end for
4.2 Chromosome evaluation
As already stated, we deal with five criteria to evaluate the
generated ridematching solutions. The score of the kth
chromosome that minimizes the total waiting and delay
times of the matched riders and vehicles and optimizes the
total times of the vehicles’ trips is provided as:
Fk = w1 TRWT + w2 TVWT + w3 TRDT
+ w4 TVDT + w5 TVRT
ð14Þ
where wi is the weight that defines the relative importance
of the different components, and where:
5
X
premature convergence of the algorithm. So we decided to
opt for a stochastic selection operator, which is the technique of roulette. In our approach, each individual i with
fitness fi is selected with probability:
fi
pi = P
j fj
ð16Þ
We denote that the fitness values are obtained thanks to an
aggregation criteria process, as explained previously.
4.4 Mask crossover operator
wi = 1
ð15Þ
i=1
For every generation, the best chromosome is the one that
had the lowest score.
4.3 Selection operator
The selection is the issue of who will survive and reproduce a new generation. It is based on the value of the fitness function of each individual. The deterministic
selection operators keep only the best individual, which is
a disadvantage for the diversity of solutions and leads to
Our crossover method is known as the uniform crossover.
Here, the two offspring are generated from both parents
with the help of a crossover mask. The resulting offspring
contain a mixture of genes (vehicle itineraries) from both
parents. The number of effective crossover points is not
defined, but their average value is L=2, where L is the
number of genes in a chromosome. The example of a uniform crossover is presented in Figure 8 and implemented
by Algorithm 2. We note that the result of our crossover
operator guarantees the viability of the new offspring by
taking temporal and spatial connectivity constraints into
consideration.
10
Simulation: Transactions of the Society for Modeling and Simulation International 93(1)
Figure 8. The mask crossover.
Figure 9. The controlled mutation.
4.5 Controlled mutation operators
Our mutation operator is on the route level (gene level)
and it is a swap mutation type. The operator randomly
selects a chromosome, then a vehicle itinerary (gene) from
this chromosome and a position point (request: R+ or R ).
If the selected point is R+ , we will swap it with its right
adjacent point, so that the pick-up constraint is respected
on the same route. To respect the delivery step, we swap
the selected point R with its left adjacent point (Figure
9). Therefore our mutation (implemented using Algorithm
3) is controlled and does not need a correction process; it
makes a significant diversity in the population to accelerate the convergence of our evolutionary algorithm.
Then, the global evolutionary algorithm is defined in
Algorithm 4.
5 Solution exploitation with respect to
transfer synchronization
The exploitation of our generated solution is achieved
through the proper use of transfer nodes and respect for
their time window synchronization. As noted, if necessary,
our system splits the rider’s request into several subrequests through some transfer nodes where different drivers
Algorithm 3 Controlled_Mutation_Algorithm
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Select, randomly, an individual S
Select, randomly, a vehicle’s itinerary (V k + V k )
x= random(V k :nbReq) // Number of requests managed by V k
if VIk ½x 1.Capk VIk ½x.Capk then
Temp = VIk ½x 1
VIk ½x 1 = VIk ½x
VIk ½x = Temp
Update capacity
else
Temp = VIk ½x + 1
VIk ½x + 1 = VIk ½x
VIk ½x = Temp
Update Capacity
end if
cooperate to serve it. In this case, we define, in real time, a
set of transfer nodes with fixed positions to be the possible
places where a passenger can change a vehicle. Therefore,
we create, for each rider’s request, a GTZ including a pair
of pick-up and delivery points for which the distance
between them can be made by walking. If the passenger
requires more than one vehicle to reach the final destination and if it is feasible to serve the request through
Ben Cheikh et al.
11
Algorithm 4 Dynamic_Coding_Evolutionary_Algorithm
(DyCEA)
S
S
k
Require: P = nl= 1 fPl g: the set of n passengers, V = m
k = 1 fV g:
k
the set of m vehicles, NbChrom, VI : The vehicle itinerary of V k ,
Trk : Requests table of V k
Ensure: VIk ½,Trk ½, Best_Solution
Initialization
1: for j = 1 to NbChromdo
2:
for k = 1 to mdo
3:
Individual½j= Chromosom_Construction Algorithm
4:
end for
5: end for
Treatment
6: Calculation of the Objective Function for all individuals of
Pop(t)
7: for t = 1 to maximum_number of generation do
8:
Selection operator
9:
Mask Crossover Algorithm
10:
Controlled Mutation Algorithm
11:
Evaluation: Calculation of the Objective Function for all
individuals of the new population Pop0 (t).
12: end for
Individual which has the lowest Objective
13: Best Solution
Function value
different interconnected GTZs, then we create two pairs of
pick-up and delivery points for each transfer. The first pair
0
is a pick-up point Rl + from a first GTZ and a delivery
0
point Rl including a second GTZ# and the second pair is
00
a pick-up point Rl + from GTZ# and a final delivery point
00
Rl which corresponds to its final destination (Figure 10).
0
0
Given a pick-up point Rl + and delivery point Rl for
rider’s request Rl and a transfer zone GTZ, our system
manages the time synchronization between the two vehicles within this GTZ. In fact, we suppose that the request
0
is served first by V k then by V k to reach its final destination (Figure 11). Then, there are two scenarios: if the first
vehicle V k arrives first to GTZ, the passengers of the
0
request Rl have to wait for the second vehicle V k . In this
case:
0
0
Dki = Rl0 + ’Aki = Rl
ð17Þ
0
In the second scenario, V k arrives first; then it has to
wait for the arrival of V k . In this scenario, we have:
6 Implementation and experimentation
results
In this section, we present the different tools used to design
and implement our system and finally we discuss the
experimentation results.
We developed our algorithms using JAVA. To calculate
the estimated time between different nodes of our carpooling network, we used the Google Distance Matrix API.21
Figure 10. Interconnected geographic transfer zones.
Figure 11. Time window synchronization within a geographic
transfer zone.
This is a service that provides travel distances and times
for a matrix of origins and destinations. In addition, we
used the Google Maps Geolocation API, which provides
an estimate of a user’s location.22
6.1 Simulation environment
The Lille metropolitan region is considered a potentially
suitable environment for vehicle sharing, since its highway
traffic congestion is among the most severe in France.
Thus, we propose a simulation environment that considers
a dynamic carpooling service in a limited geographic area
of Lille.
One of the advantages of dynamic carpooling is to
increase the flexibility of the transport system. Indeed, we
aim to highlight through this benchmark that dynamic ridesharing can be considered an emerging mode of transport,
complementary to the existing multimodal transport network.
Figure 12 shows the Lille’s metro network, which presents our simulation environment.23 The proposed system
must satisfy ridesharing demands and ensure passengers’
transportation between different metro stations for a limited period of time (between 7 a.m. and 10 a.m.).
Figure 13 illustrates the user interface of our program.
Each user must specify whether he or she is a rider or a
car owner. Then, the user must specify the origin and destination, and the earliest departure time and latest arrival
time. Moreover, to execute the assignment process, each
rider should specify the number of required places and
each driver should specify the number of available seats.
Then, the system locates the user’s geographical coordinates on the map, where S and E refer, respectively, to the
origin and the destination nodes (Figure 13).
12
Figure 12. Lille’s metro network.
Figure 13. User interface.
Simulation: Transactions of the Society for Modeling and Simulation International 93(1)
Ben Cheikh et al.
To test the performance of these algorithms, various
instances of the dynamic ridematching problem are
adopted. Table 1 indicates the simulation inputs. Requests
and offers are included in the ridesharing network, where
‘Users’ presents the total number of drivers and riders. To
generate the requests and offers automatically, a starting
point and an arrival point are chosen randomly among the
network stations. To correctly define the time windows,
the system randomly fixes the departure time, which is
between 7 a.m. and 9:55 a.m. Then, the arrival time is calculated using Google API, by determining the real time to
travel from the origin to the requested destination under
normal traffic conditions, and adding the value found to
the departure time. This enables the generation of realistic
offers and requests and enables an accurate test of the
reliability of the proposed carpooling service to be made,
unlike Herbawi and Weber2 and Jiau et al.,20 where the
generation of time windows is completely random. The
vehicle’s capacity is randomly chosen as 3, 4, or 5. Each
passenger can request 1, 2, or 3 places. Since we could not
detail the characteristics of each request or offer, we give
avg
presents
the average value for each variable (e.g., Lk
l avg
corresponds to
the average capacity of the vehicles, Q
the average number of places required by the set of
requests).
6.2 Simulation results
Once the system has collected the users’ data, the optimization process can start. Before launching the evolutionary
algorithm, the system initiates the assignment process. As
explained in Section 3.3, this process subdivides the carpooling network into several circulation zones. According
to the geographical positions of the riders in these zones,
our system assigns each participating vehicle a set of
requests to serve them.
The results provided by the assignment process for the
six instances are summarized in Table 2, which shows the
number of vehicles involved in the carpooling service,
the number of requests, and the number of riders who will
be served by these vehicles. Among the matched requests,
column 5 indicates the rate of requests that need a transfer
to reach their final destinations. The total number of served
riders is presented in the sixth column. By analyzing the
rate of the served requests for the different instances, we
notice that the idea of the authorization of the transfer process adds significant improvement concerning the number
of matched riders. Indeed, thanks to the transfer process,
doubling the number of transfers does not necessarily
imply doubling of the number of involved vehicles. In the
fourth instance, 25 vehicles are required to serve 63
requests. However, the system needs only 36 vehicles to
satisfy 115 requests in the fifth instance. Moreover, an
analysis of the results also reveals that the assignment process may reduce the research space considerably. In the
13
Table 1. Test instances.
Instances Test
Inst1:E = 5s
Inst2:E = 10s
Inst3:E = 20s
Inst4:E = 30s
Inst5:E = 40s
Inst6:E = 120s
Users
Number
Offers
Requests
Number
L
Number
Ql
19
38
56
104
195
250
4
10
20
35
75
111
3.2
2.8
2.6
2.7
2.2
2.1
15
28
36
69
120
139
2.1
1.9
2.1
2.2
1.8
2.1
k avg
avg
Table 2. Results of the assignment process.
Test
Instances
Used vehicles
Matched requests
Transfer
Number
%
Number
%
Riders
%
Inst1
Inst2
Inst3
Inst4
Inst5
Inst6
4
8
12
25
36
51
100
80
60
71
48
46
10
25
34
63
115
139
67
89
94
91
96
100
21
48
71
138
207
291
0
12
26.4
34.9
25.6
19.2
sixth instance, we satisfy 100% of requests using only
46% of available vehicles.
Figures 14 and 15 describe our simulation zone (Lille
metropolitan region). In Figure 14, we see that the origins
and destinations of requests assigned to the vehicle V 27 are
included in its circulation zone. Therefore, requests may
reach their destinations without transfer. However, vehicles V 22 and V 35 have to cooperate to serve their assigned
requests, as illustrated in Figure 15.
Based on the results of the assignment process, our
MACGeO algorithm can be launched to find the optimized
route plan for the involved vehicles. The criteria weights
are: w1 = 0:4, w2 = 0:1, w3 = w4 = 0:2, and w5 = 0:1.
These values reflect the preferences of the decision maker.
Our choice is justified by the fact that a rider always prefers to reduce his waiting time, and especially when the
weather conditions are not favorable. Moreover, arriving
on time is very important both for the passenger and the
car owner.
The setting parameters of the proposed evolutionary
algorithm MACGeO are: population size = 100, number of
generations = 500. It is widely recognized that the evolutionary algorithm performance is highly sensitive to crossover (Pc ) and mutation (Pm ) probabilities. It is obvious
that the high crossover rate implies significant changes in
the chromosomes population. The generally accepted values are between 0.5 and 0.9. Concerning the mutation
operator, its rate is generally low, since a high probability
may lead to a sub-optimal solution.24 To make our choice,
14
Simulation: Transactions of the Society for Modeling and Simulation International 93(1)
Figure 14. Requests do not need transfer.
Figure 15. Requests need transfer.
a sensitivity analysis of the parameters of the evolutionary
algorithm is performed to determine the parameters that
produce good solutions. This study is practically helpful
when real-world problems are to be solved and when there
is no hint of the optimal solutions.24 Sensitivity analysis is
achieved by executing the evolutionary algorithm under
different configurations Gi (e.g., different crossover and
mutation probabilities) with 30 independent runs for each
configuration. In our case, we chose the third instance (12
used vehicles and 34 matched requests) to perform our
test; the simulation results are depicted in Table 3. The
third column indicates the value of the objective function
Ben Cheikh et al.
15
Table 3. Effect of crossover and mutation probabilities on objective function value.
Configuration
Pc
Pm
0.9
0.3
0.2
0.1
0.05
0.3
0.2
0.1
0.05
0.3
0.2
0.1
0.05
0.8
0.7
Objective function
2816.29
2100.05
2093.29
2058.2
2213.75
2422.86
2166.46
2635.6
2338.17
2162.13
2170.76
2119.16
Criteria (s)
Time (s)
TRWT
TVWT
TRDT
TVDT
TRT
3864
2995.08
2815
2729.18
3048.54
3061.16
2917.2
3293.75
2958.76
2956.53
2876.48
2767.4
633
191
342
242
131
487
267
545
236
269
227
248
5530.98
3821.18
3969.51
4289.31
3976.35
4884.93
4251.81
5396.01
4913.65
4302.2
4273.71
4284.01
1906
1542
1609
1567
1838
1978
1673
2168
1990
1588
1741
1717
2097
1733
1800
1758
2029
2169
1864
2359
2181
1779
1932
1908
22.07
21.27
18.61
16.88
23.17
19.52
18.2
18.1
21.22
20.62
18.35
16.67
TRDT: total riders’ delay time; TRT: total route time; TRWT: total riders’ waiting time; TVDT: total vehicles’ delay time; TVWT: total vehicles’
waiting time.
Table 4. Simulation results.
Instances
inst1
inst2
inst3
inst4
inst5
inst6
Objective function
250.03
842
2058.2
4474.67
6568,99
7354.84
Criteria (s)
Time (s)
TRWT
TVWT
TRDT
TVDT
TVRT
177.21
1461.91
2729.18
5636.98
7878,61
9926.45
48
55
242
1016
1422
1197
631.15
1169.75
4289.31
9093.76
13143.36
14203.63
307
363
1567
3441
4854
5345
450
576
1758
4191
5547
6555
13.95
14.56
16.88
26.47
57.12
68.47
TRDT: total riders’ delay time; TRT: total route time; TRWT: total riders’ waiting time; TVDT: total vehicles’ delay time; TVWT: total vehicles’
waiting time.
obtained by the best carpooling solution. We note that the
best solution for each scenario corresponds to the one that
has the lowest objective function. Columns 4 to 8 refer to
the values of each criterion (expressed in seconds). The
last column corresponds to the processing time required
by the MACGeO algorithm to achieve the maximum number of generations.
The sensitivity analysis of the simulation results, presented in Table 3, reveals that objective function values do
not follow any unified pattern for the last configurations
(Pc = 0:8 and Pc = 0:7). By contrast, for Pc = 0:9 and
Pm = 0:3–0:05, the objective function values follow the
same trend. From these observations, it appears that the
best configuration, with an objective function value of
2058.2, is for Pc = 0:9 and Pm = 0:05. Additionally,
under this configuration, we note that the computing time
is reduced to a minimum. Hence, Pc = 0:9 and Pm = 0:05
are considered as the parameters for our MACGeO
algorithm.
An overall summary of the experimental results is
given in Table 4. This indicates the scores (objective
function and different criteria) of the best solutions generated by our MACGeO algorithm for the six instances used
in this study. By comparing the results obtained by the
second and the third instances, we notice that the objective
function value increases significantly. This results from
the transfer process. In fact, in the second instance, only
12% of served requests require a transfer process to reach
their final destinations. However, among the 34 matched
requests in the third instance, 26.47% need transfers to
make their trips. It is obvious that, in the multihop context,
the optimal scenario is when the first driver drops the rider
at the GTZ. Immediately after that, the second vehicle
arrives to pick up the rider. However, this scenario is rare.
Therefore, in most cases, the use of multihop adds additional waiting time for both riders and drivers in the pickup nodes.
Figure 16 illustrates our simulation zone (Lille metropolitan region) using a Google Maps application and visualizes an example of ridematching solution considering our
best solution generated by the MACGeO algorithm.22 This
example presents the itinerary of vehicle V 18 , starting from
16
Simulation: Transactions of the Society for Modeling and Simulation International 93(1)
Figure 16. Solution’s visualization for vehicle V 18 .
its origin V 18 + , followed by the pick-up nodes (red) and
delivery nodes (blue) to its final destination V 18 .
6.3 Comparison between MACGeO and other
methods
6.3.1 Comparison of the simulation result of MACGeO and our
Multicriterion Tabu Search Algorithm. To measure the performance of our MACGeO algorithm, we will primarily compare its outputs with the results provided by our MTSA
(Multicriterion Tabu Search Algorithm), which has been
published previously.25 The MTSA employs an explicit
memory system and several searching strategies developed
to avoid entrapment by local solutions, and uses vehicles’
detours as an original aspiration process. According to our
mathematical formulation, in the Tabu Search approach,
the vehicles’ routes are known in advance. Then assignments are determined based on the similarity between the
routes required by the passengers and the routes specified
by the drivers. In addition, according to the MTSA, a
request can be assigned to any vehicle during the optimization process, and this assignment may differ from one generation to another. However, in the MACGeO approach,
assignments are managed by a process independent of the
evolutionary algorithm. In this process, users’ routes are
dynamically generated, based essentially on their geographic coordinates (origins and destinations) and their
positions relative to each other.
Table 5 summarizes the simulation results of the two
approaches, MTSA and MACGeO, for the second instance
Table 5. MTSA versus MACGeO with respect to matched users.
Approach
Used vehicles
Matched requests (%)
Transfer (%)
MTSA
8
12
16
20
8
12
28
63.88
72.22
86.11
77.77
94.44
13.10
34.78
18.44
21.23
28.57
26.47
MACGeO
(20 vehicles and 36 requests). For this instance, we have
established several scenarios by varying the number of
vehicles available on the network: 8, 12, 16, and 20 vehicles. For each scenario, Table 5 indicates the percentage of
served requests and the rate of the transfer. By analyzing
the results, we notice that the dynamic establishment of
routes offers considerable leeway for our evolutionary process, compared with the Tabu Search approach. Indeed, for
the MACGeO algorithm, we have served almost all of the
requests using only 60% of available resources (vehicles).
However, for the MTSA, even if we use all our resources
(20 vehicles), we cannot serve more than 86% of requests.
To summarize, the assignment process that precedes the
launch of the evolutionary algorithm performs a dual role.
1.
Since it takes into account only the geographical
coordinates of the users and their positions in relation to one another, this process generates optimized assignments with more flexibility. Indeed,
Ben Cheikh et al.
17
Figure 17. Comparison in regard to number of used vehicles
and served riders.
Figure 18. Comparison of total driving time.
2.
unlike the MTSA approach, it is not limited to the
similarities between the users’ itineraries to establish initial assignments. This offers greater flexibility for our system to match more requests.
These initial assignments present the starting point
for our evolutionary process, which must establish
dynamic routes for the participating vehicles while
respecting the imposed assignments. Subsequently,
the assignment process can limit the search space
and guide the evolutionary approach toward promising areas.
6.3.2 Comparison between MACGeO and other state-of-the-art
methods. To measure the effectiveness of our method
against other approaches developed to solve the ridematching problem, we draw comparisons between
MACGeO, FCGA, and HDCCP (Heuristic Daily Car
Pooling Problem27) with respect to the number of served
riders and vehicles involved in the carpooling service. We
note that FCGA corresponds to the Fuzzy Controlled
Genetic-based Carpool Problem. It is an extended version
of the genetic algorithm that applies fuzzy logic for the
crossover and mutation probability adjustment.26 The proposed system employs several current information and
communication technologies and integrates an optimization module that solves the specific routing problem heuristically. Although the three approaches, MACGeO,
FCGA, and HDCCP, have operated in different simulation
environments, they have been tested in real-life case studies and simulated in fairly similar carpooling networks that
consider limited geographical areas. It is important to note
that the transfer process is not authorized in both FCGA
and HDCCP.
Figure 17 illustrates the number of served riders according to the number of involved vehicles. It is easily observable that MACGeO is able to manage the ridematching
process, while minimizing the required resources (vehicles). This is due to the authorization of transfers between
the participant vehicles and the dynamic establishment of
drivers’ itineraries, leading to more flexibility.
For a more accurate comparison between MACGeO and
HDCCP, Figure 18 shows the total driving time of the best
solution, computed in seconds, according to the number of
served rides. It is interesting to note that, in our case, the
total driving time corresponds to the total route time criterion. It is clearly observed from the figure that, for the first
instances, the MACGeO algorithm is able to generate ridematching solutions with a minimum total driving time.
Nevertheless, once the number of served riders exceeds
130, we observe a significant increase in the total driving
time compared with HDCCP. This is principally due to the
management of the transfer process. Added to that, Calvo
et al.27 focuses on the to-work problem (e.g., from different origins to one destination). Thereafter, in the simulation section, HDCCP is applied to generate carpool
solutions to transport a set of employees from their homes
to their workplace. By contrast, MACGeO generates ridematching solutions from different origins to different destinations. In this case, drivers may make detours to drop off
their assigned riders, which explains the significant
increase in the total driving time of MACGeO compared
with HDCCP.
7 Conclusions
In this paper, we have dealt with the dynamic ridesharing
problem with the transfer process authorization and we
provided a multicriterion evolutionary optimization algorithm to solve it. The originality of our approach resides in
the fact that chromosome coding is dynamic and in the
nonexistence of a correction process for the crossover and
mutation operators.
There are many interesting ideas to extend this work.
First, we might move to a more realistic scenario under a
large number of users and add more constraints, such as specifying a maximum travel distance for each driver’s offer.
18
Simulation: Transactions of the Society for Modeling and Simulation International 93(1)
Moreover, owing to the problem’s high complexity, the ridematching problem can be decomposed into less complex
tasks. Indeed, we will propose in a future work an alliance
between optimization and Multi-Agent System (SMA) to
highlight the decentralized parallel process. In addition, we
will study the mathematical proof of our method’s convergence in a large-scale ridesharing problem.
Acknowledgments and Funding
This research was supported by the Regional Council of the
Nord-pas De Calais, the French Environment and Energy
Management Agency, and The International Campus on Safety
and Intermodality in Transportation project. The authors are glad
to thank them for their informative support.
References
1. Benkler Y. Sharing nicely: on shareable goods and the emergence of sharing as a modality of economic production. Yale
Law J 2004; 144: 273–358.
2. Herbawi W and Weber M. Evolutionary multiobjective route
planning in dynamic multi-hop ridesharing. In: Merz P and
Hao J-K (eds) Evolutionary computation in combinatorial
optimization. Berlin: Springer, 2011, pp.84–95.
3. Ghoseiri K. Dynamic rideshare optimized matching problem.
PhD Thesis, University of Maryland, MD, USA, 2012.
4. Burris MW and Winn JR. Slugging in Houston—casual carpool
passenger characteristics. J Public Transport 2006; 9: 23–40.
5. Agatz N, Erera A, Savelsbergh M, et al. Optimization for
dynamic ride-sharing: A review. Eur J Oper Res 2012; 223:
295–303.
6. Levofsky A and Greenberg A. Organized dynamic ride sharing: The potential environmental benefits and the opportunity for advancing the concept. In: Transportation research
board, 2001 annual meeting, Washington DC, USA, 7–11
January 2001, paper no. 01-0577. Washington DC: National
Academy of Sciences.
7. Sghaier M, Hammadi S, Zgaya H, et al. An optimized
dynamic carpooling system based on communicating agents
operating over a distributed architecture. In: 11th international conference on intelligent systems design and applications (ISDA), Córdoba, Spain, 22–24 November 2011,
pp.124–129. Piscataway, NJ: IEEE.
8. Furuhata M, Dessouky M, Ordóñez F, et al. Ridesharing:
The state-of-the-art and future directions. In Transport Res
B: Meth 2013; 57: 28–46.
9. Masoud N and Jayakrishnan R. A real-time algorithm to solve
the peer-to-peer ride-matching problem in a flexible ridesharing system. Institute of Transportation Studies, University of
California. Report number UCI-ITS-WP-15-1, July 2015.
10. Baldacci R, Maniezzo V and Mingozzi A. An exact method
for the car pooling problem based on Lagrangean column
generation. Oper Res 2004; 52: 422–439.
11. Bruglieria M, Ciccarellib D, Colornia A, et al. PoliUniPool:
a carpooling system for universities. Procedia Soc Behav Sci
2011; 20: 558–567.
12. Geisberger R, Luxen D, Neubauer S, et al. Fast detour computation for ride sharing. arXiv 2009; 0907.5269.
13. Sghaier M, Zgaya H, Hammadi S, et al. A novel approach
based on a distributed dynamic graph modeling set up over a
subdivision process to deal with distributed optimized real time
carpooling requests. In: 14th international IEEE conference on
intelligent transportation systems, Washington DC, USA, 5–7
October 2011, pp.1311–1316. Piscataway, NJ: IEEE.
14. Ben Cheikh S, Hammadi S and Tahon C. A metaheuretic
based on controlled genetic operators to optimize dynamic
carpooling service. In: 5th international conference on metaheuristics and nature inspired computing, META’2014,
Marrakech, Morocco, 27–31 October 2014.
15. Zitzler E. Evolutionary algorithms for multiobjective optimization: Methods and applications. D.Sc.Tech. Thesis, Swiss
Federal Institute of Technology, Switzerland, 1999.
16. Zhang Y, Jun Y, Wei G, et al. Find multi-objective paths in
stochastic networks via chaotic immune PSO. Expert Syst
Appl 2010; 37: 1911–1919.
17. Wang S, Yang J, Liu G, et al. Multi-objective path finding in
stochastic networks using a biogeography-based optimization
method. Simulation 2016; 92: 601–616.
18. Wang S, Lu Z, Wei L, et al. Fitness-scaling adaptive genetic
algorithm with local search for solving the Multiple Depot
Vehicle Routing Problem. Simulation 2016: 92; 601–616.
19. Herbawi W and Weber M. Modeling the multihop ridematching problem with time windows and solving it using
genetic algorithms. In: IEEE 24th international conference
on tools with artificial intelligence, Athens, Greece, 7–9
November 2012, pp.89–96. Piscataway, NJ: IEEE.
20. Jiau MK, Huang SC and Lin CH. Optimizing the carpool
service problem with genetic algorithm in service-based
computing. In: IEEE international conference on services
computing, Santa Clara, CA, 28 June–3 July 2013, pp.478–
485. Piscataway, NJ: IEEE.
21. Google Maps APIs. Distance Matrix API, https://developers.google.com/maps/documentation/distance-matrix/?hl=fr
(2016, accessed 2016).
22. Google Maps APIs. The Google Maps Geolocation API,
https://developers.google.com/maps/documentation/geolocation/intro?hl=fr (2016, accessed 2016).
23. Les ligne de metro. https://www.transpole.fr/fr/metro_tram/
lignes-metro.aspxx (accessed 7 November 2016).
24. Srinivas C, Ramgopal Reddy B, Ramji K, et al. Sensitivity
analysis to determine the parameters of genetic algorithm for
machine layout. Procedia Mater Sci 2014; 6: 866–876.
25. Ben Cheikh and Hammadi S. Multi-criterion Tabu Search to
solve the dynamic carpooling based on the choquet integral
aggregation. J Traffic Logist Eng 2014; 2: 126–132.
26. Huang S-C, Jiau M-K and Lin C-H. A genetic-algorithm-based
approach to solve carpool service problems in cloud computing. IEEE Trans Intell Transp Syst 2015; 16: 352–364.
27. Calvo RW, Luigi FD, Haastrup P, et al. A distributed geographic information system for the daily car pooling problem. Comput Oper Res 2004; 31: 2263–2278.
Author biographies
Sondes Ben Cheikh obtained an Engineering Diploma
in industrial engineering from the Ecole Nationale
d’Ingénieurs de Tunis in 2012. She is currently preparing
Ben Cheikh et al.
a Ph.D. thesis in automatic and computer science within
the CRISTAL laboratory in Ecole Centrale de Lille
(French Grande Ecole). Her research interests are in the
area of optimization methods for computer science and
operational research.
Christian Tahon received an E.S.T.P. Engineering
School degree in applied physics in 1979, and a Ph.D in
decision-support systems for production system management in 1990 at the University of Valenciennes, Le Mont
Houy, France. He is currently a Full Professor (France)
and head of the Production Systems Research Group of
the LAMIH-CNRS laboratory at the University of
Valenciennes. He is involved in many research and scientific associations. His teaching and research interests focus
on the areas of decision-support systems, production control systems design, management of transportation systems, and services systems.
Slim Hammadi is a full Professor of modelization, optimization, and control of complex systems at the Ecole
19
Centrale de Lille. He is a director of the OSL team of
CRISTAL Laboratory; this team is composed of four full
professors, four assistant professors, and 24 Ph.D. students. He is a senior member of IEEE/SMC and has
served as a referee for numerous journals, including the
IEEE Transactions on SMC. Professor Hammadi was coorganizer of many symposia (IMS) of the IMACS, IFAC,
and IEEE SMC Multiconference. He has organized several invited sessions in different SMC, IFAC, IEEE, and
WAC conferences, where he was session chairman. He
was president of the International Congress on Logistic
and Transport LT2004, MHOSI2005, LT2006, LT2007,
and LT2009. He has published 220 scientific papers (40
on international peer reviewed scientific journals, 12 on
chapters of international edited books, and 168 in peer
reviewed proceedings of international conferences). His
teaching and research interests focus on the areas of production control, production planning, computer science,
discrete and dynamic programming, and computer integrated manufacturing.