between pickup and delivery locations into the same
vehicle.
Moreover, as the travel is expected to take signifi-
cant time, and thus stopovers are a near necessity for
both the passengers and the drivers, it makes sense to
look for solutions where passengers change vehicles
during a stopover. The vehicles participating in such
an exchange must be coordinated time-wise, and thus
only a single exchange will be considered. This is
however enough to make the grouping of (most) pas-
sengers according to their pickup locations indepen-
dent from the grouping according to their delivery lo-
cations, enabling effective handling of a much greater
diversity of possible requests.
With a single designated exchange location in
place, the whole problem might be split into two sym-
metric sub-problems: routing the vehicles from their
initial locations to the exchange, and routing them
from the exchange to their final locations. With the
two being symmetric, we will focus our attention only
on the first one. Note however, that while one can
reasonably expect the pickup and delivery locations
of the majority of passengers to lie respectively be-
fore and after the exchange point, we still need to ac-
commodate passengers with both pickup and delivery
location visited before the exchange location.
The formal setting of our multiple vehicle prob-
lem is thus as follows. The set of locations X together
with their distances d
x,y
, the set of passengers P with
their pickup and delivery locations p
in
and p
out
, vehi-
cle capacity c and the segment cost function κ(V,d)
are as specified in Section 3. However, we are now
given a fleet of m vehicles
5
with common initial and
final locations z
in
,z
out
∈ X (the latter, being the ex-
change point, is also expected to be the delivery loca-
tion of multiple passengers).
Also, due to the route still having a general direc-
tion, and the nature of the split, most of the locations
in X are expected to lie in a common half-plane.
As stated, the problem lies in between the Ca-
pacitated Vehicle Routing Problem and Vehicle Rout-
ing Problem with Pickup and Delivery (CVRP and
VRPPD; see, e.g., the survey (Toth and Vigo, 2001)
for an exposition on both). The full solution needs
to consist of an assignment of passengers to vehicles,
and the routing of each vehicle (i.e., a valid order of
pickup and delivery locations of passengers assigned
to it).
5
For simplicity, we consider all vehicles to be essen-
tially identical, i.e., with the same capacity, cost function,
and initial location. The algorithm presented here does gen-
eralize to a non-homogeneous vehicle fleet, but its presen-
tation becomes much more complex, and its complexity
grows significantly with fleet diversity, which makes it im-
practical for more than a few types of vehicles.
A priori there are no constraints on the passenger
assignment. We do not even have to directly obey the
capacity constraint, as a vehicle will in general serve
more passengers than its capacity. In practice, we will
however limit the number of “exchange” passengers
(i.e., those being delivered to the exchange point) as-
signed to each vehicle to c to avoid visiting the ex-
change point more than once, and the total number of
passengers assigned to each vehicle to no more than
2c to limit the number of additional stops on the way.
Multiple known heuristic approaches to CVRP
variants consist of two phases, following either a
cluster-then-route or a route-then-cluster scenario.
Here, having already presented a viable solution for
the single vehicle problem which successfully takes
advantage of our specific setting, we follow the
cluster-then-route path. Restricting our attention to
the yet unsolved part of the problem, we thus define
the solution as an assignment of passengers to vehi-
cles. Note however, that the single-vehicle algorithm
will be employed not only after the assignment has
been formed, but also (possibly with a smaller win-
dow size) to provide the cost estimation for many
other possible assignments.
Our proposed solution to the assignment problem
consists of two inner phases, analogous to those in the
single-vehicle case. First, we heuristically construct
an initial linear order on the passengers. Then, we ap-
ply dynamic programming following that order to ob-
tain a “locally optimal” assignment. The two phases
will be discussed in detail in the following subsec-
tions.
4.1 Initial Ordering
The goal of the first phase is to construct an ordering
of passengers. This time there is not even an obvi-
ous notion of an optimal order. Instead, preparing the
ground for the peephole optimization, we want the
passengers traveling together in an optimal solution
to be placed not too far from each other, index-wise.
The basic observation that we want to exploit is
that, modulo the relatively few passengers not being
delivered to the exchange, crossing vehicle paths are
usually sub-optimal. It then seems reasonable for in-
dividual vehicles to “cover” geographically disjoint
areas, and such areas, all touching the exchange point,
can be naturally ordered angularly around it.
This suggests that a good initial order might be
formed by ranking passengers by the angle (direction)
from their pickup location to the exchange. Unfor-
tunately, this turns out not to be the case. We have
implemented such heuristic and found it not to be sat-
isfactory. It seems, that the reason for this is that the
VEHITS 2023 - 9th International Conference on Vehicle Technology and Intelligent Transport Systems
194