Lasso Solutions for Vehicle Routing Problems
Lasso Solutions for Vehicle Routing Problems
*) Molde University College, The Norwegian School of Logistics, 6405, Molde, Norway
E-mail: [Link]@[Link], Tel: + 47 71214000; Fax: + 47 71214100
**) Molde University College, The Norwegian School of Logistics, 6405, Molde, Norway
E-mail: [Link]@[Link], Tel: + 47 71214000; Fax: + 47 71214100
***) Molde University College, The Norwegian School of Logistics, 6405, Molde, Norway
E-mail: [Link]@[Link], Tel: + 47 71214000; Fax: + 47 71214100
ABSTRACT
Vehicle Routing Problems (VRP) are encountered in many practical situations. VRP with
the added complexity of pick -up and deliveries will make the planning problem more
difficult. In this paper, we will consider a restricted situation where all delivery demands
start from the depot and all pick-up demands shall be brought back to the depot. In a
traditional VRP setting this can lead to bad utilisation of the vehicles capacities, increased
travel distances or a need for more vehicles. An alternative is to relax the VRP restriction
that all customers shall only be visited once. This relaxation can lead to several different
routing options. One such solution can be a so-called lasso-solution. In such a solution the
first customers on the route are visited twice. On the first visit, only the delivery demands
are performed, hence creating more free space on the vehicle. On the way back to the
depot, the same customers are visited the second time, now in order to perform the pick-up
service. Not very much research has been done on this kind of situation and a lot of new
problems and possibilities arise. In this paper we discuss some of these problems and offer
different heuristics for finding solutions for the problem. The heuristics will be based on
variations of well-known heuristics for the traditional VRP.
The Vehicle Routing Problem (VRP) and its specialisation, the Travelling Salesman Problem
(TSP), are well-studied combinatorial optimisation problems with many practical applications.
Both VRP and TSP are NP-complete problems and as such they will in general be difficult
solve to optimality when the problems become large. For overviews of the said problems, see f.
ex. Bodin & al. (ed.), (1983), Lawler & al. (ed.), (1985), Golden and Assad (ed.), (1988) and
more recently Ball & al. (ed.), (1995), chapter 4 in volume 7 or Ball & al. (ed.), (1995),
chapters 1 - 4, volume 8.
Basically the VRP describes a planning situation where a fleet of vehicles serves a set of
customers, starting from a depot, visiting each customer one and only one time and then return
to the depot. The customers’ demands are supposed to be known and the capacities of the
vehicles taken together must be equal to or exceed the customers’ demands. Many extensions
of this basic planning situation have been done through the last decades. One such extension can
be that the customers’ demands are a mix of pick-up and delivery demands. A mathematical
model for this general situation can be found in Golden and Assad, (1988), in the article by
Desrochers & al., pp. 65 - 84.
The present paper concerns a planning situation where pick-ups and deliveries are important
parts of the problem, but restricted to situations where all the demands - that is both the pick-up
and the delivery demands - end and start, respectively, at the depot. Hence, there are no
interchanges of goods between the customers.
Let i = 2,3,......., n denote the customers and i = 1 denote the depot. Further, let
d i and pi , i = 2,3,......, n denote the delivery and the pick-up demands of the customers,
respectively. Then three different situations can occur:
Situation 1: For every customer i, d i ≥ p i .
In this case any feasible solution to the planning problem using the delivery demands as in-put
parameters and disregarding the pick-up demands, will be a feasible solution to the extended
problem of taking the pick-up demands into consideration as well.
Situation 2: For every customer i, d i ≤ p i .
In this case any feasible solution to the planning problem using the pick-up demands as in-put
parameters and disregarding the delivery demands, will be a feasible solution to the extended
problem.
Situation 3: For some customers d i ≤ pi , for other customers it is the other way around.
In this case we cannot use only one set of parameters, since a feasible solution for one set of
parameters only, can very well be infeasible when the other set of parameters is taken into
consideration. Hence, the problem must be solved taking both sets of parameters into
consideration at the same time. This can be done for example by using the model suggested by
Desrochers & al., mentioned above, with a few specialisations in the model.
1
However, the classical VRP and TSP with or without the problem of delivery and pick-up
demands, have one common tacit premise: Every customer is visited one and only one time
during the time horizon. In the case of a pick-up and delivery problem, this premise would
lead to an optimal solution more expensive than in a pure delivery or pure pick-up situation,
since the sequence of visiting the customers for one or more of the involved vehicles probably
will change.
The main objective of this paper is to relax the premise that every customer is visited only once,
or more precisely, we accept one or two times. Hence, the following two situations can occur:
A customer visited twice, will either be visited by two different vehicles or be visited twice by
the same vehicle.
The former case is usually called split-delivery. A description of such a planning situation can
be found in Brenninger-Göthe, (1989). However, the premise of split-deliveries is restricted to
considering delivery demands (or pick-up demands) only and the multiple visits - as mentioned
above – are performed by different vehicles for the customers involved.
This paper will consider a planning situation with delivery and pick-up demands from the
depot, where some of the customers can be visited twice by the same vehicle.
This type of solution to a difficult operational planning situation is used in practise for instance in
the beverage industry in Norway and probably in other industries and countries as well. For
reviews of the problem see Halskau and Løkketangen, (1997), Haukebø et al., (1998) and
Tjøstheim, (1999). Basically, a vehicle visits the first customer (or a few more) twice. At the first
visit only the delivery service is performed. Then all the other customers are visited in some
order and both types of services are performed. Then the vehicle returns to perform the pick-up
deliveries for the first customers.
This way of performing the vehicle routing creates - not sub-cycles as in a traditional VRP
solution - but lassos. In the description above the lasso will consist of a rather large noose (or
loop) and a short spoke with the depot at its end. In principle the loop can of course be made
smaller and the spoke longer, without violating the underlying principle. The necessary knot used
for making the loop is, in the lasso context, denoted as a ‘honda’. However, in our context the
term ‘junction’ seems to be more appropriate and will be used below. The nodes belonging to
the spoke are denoted spoke nodes and the nodes belonging to the loop, loop nodes.
The rest of this paper is organised as follows: In section 2 a more detailed discussion of different
aspects of the lasso solution is discussed. In section 3 we discuss different aspects of what a
feasible solution is in the pick-up and delivery setting. In section 4 we offer some heuristics for
this new situation, based on the lasso solution and the feasibility concepts in the section 3.
Section 5 gives examples for the proposed heuristics and in section 6 some thoughts about
further research are offered.
Initially we will restrict ourselves to a situation where there is only one vehicle involved, that is, a
situation directly comparable to the TSP. We will assume that the vehicle’s capacity is
2
sufficiently large to handle both delivery demands and the pick-up demands separately. Further,
we will assume that we have a situation as described in situation 3 in section 1, that is, for at
least some customers one type of demand can exceed that of the other type and for other
customers it can be the other way around. Further, we will assume a complete undirected graph
G = (E, N) where E denotes the edge set and N the set of nodes.
If the vehicle leaves the depot fully loaded and the route is done in a traditional TSP way, the
driver may encounter certain problems. Firstly, he may sooner or later find himself in a situation
where the number of units to be loaded onto the truck is larger than the truck can handle.
Secondly, he may have to unload some of the goods to get access the units he wants to deliver
to a given customer. This takes time. In order to circumvent such situations the dispatcher or the
driver can try to find another sequence of customers – hoping against hope – that the first
customers in this new sequence have less pick-up demands than delivery demands. In this way
sufficient free space on the truck can be created in order to serve the customers to come. This
will usually cost some money in terms of larger driving distances and more time spent.
Alternatively, the truck can leave the depot not fully loaded in order to have enough free space
to handle the problem of the more or less stochastic pick-up demands. In this way the driving
distance can be kept at a minimum, but the vehicle will not be fully utilised and can lead to a
need for another vehicle. So, in any case, using a traditional TSP cycle may not be practical or
the Hamiltonian cycle used in the TSP solution is not feasible and must be changed, incurring
some extra cost.
Using a so-called lasso can solve some of the problems encountered. If we accept that some of
the customers can be visited twice and these custome rs are the first to be visited, then sufficient
space can be created on the vehicle by only performing the delivery service at the first visit, and
making the pick-ups at the second visit. The cost of travelling along a lasso can of course be
larger than the optimal Hamiltonian cycle, but may be smaller than the cheapest feasible
Hamiltonian cycle. Furthermore, it may simplify the problem of loading and unloading the
vehicle, since the access to the delivery demands will be easier and the stability of the different
routes may increase. In figure 1 below a lasso for one vehicle is shown. The lasso has one
spoke node, 5 loop nodes and of course one junction only. The depot is depicted as a square.
Note that a Hamiltonian cycle can be regarded as a special case of a lasso, that is a lasso with
no spoke or junction. Another extreme case of a lasso will be a lasso with no loop nodes, i.e. a
path. We need exactly n edges for every feasible lasso solution. Note, that the lasso is one-tree,
3
graph theoretically speaking. Hence, the minimal one-tree will be a lower bound for the
optimal solution, but this will probably be a poor lower bound because in the practical
application the edges on the spoke has to be used twice. If the triangle inequality holds for the
underlying network, it is obvious that the TSP solution – disregarding the delivery and pick-up
parts of the problem – is a lower bound for the optimal lasso solution. In Halskau, (2000) one
can find an exact IP-model for finding an optimal lasso solution for one vehicle.
(3.1) Cd (i k ) = ∑d
i∈P (1,ik )
i ,
where P (1, ik ) denotes the nodes along the path. The path becomes infeasible as soon as the
vehicle can not perform the delivery service at a next customer i k +1 because the total
cumulative delivery will exceed the vehicle’s capacity K v , i.e. as soon as
The cumulative delivery function value increases monotonously along the route starting from zero
at the depot and obtaining its maximal value at the last visited customer ik on the route. We call
this value maximal cumulative delivery of the route. The route feasibility for the pure delivery
VRP means that the maximal cumulative delivery of the route does not exceed the vehicle’s
capacity. We will refer to this type of route feasibility as “delivery-feasibility”.
Let L(i k ) be the vehicle’s load just after leaving node ik . Assume that the vehicle leaves the
depot with an initial load L(1) less or equal to the vehicle’s capacity. Then the vehicle’s load at
4
the node ik of the route is a difference between the initial load and the cumulative delivery at this
node, i. e. L(i k ) = L (1) − Cd (i k ) . The value of the initial load in practice is equal to the
maximal cumulative delivery of the route. The vehicle’s load function in the pure delivery VRP
monotonously decreases along the route from the initial load value at the depot to the minimal
zero value at the last customer of the route.
In a similar way as for the delivery demand, we now define the cumulative pick-up C p (i k ) at
the point ik . By this we understand the total quantity of goods, picked-up from all customers
along the path up to and including node ik , that is
(3.3) C p (i k ) = ∑p .
i∈P (1,ik )
i
The path becomes infeasible as soon as the vehicle can not perform the pick-up service at a
next customer on the path i.e.
(3.4) C p (ik ) ≤ K v and C p (ik +1 ) > K v .
The feasible path creates the feasible route by connecting the last node ik with the depot. The
vehicle’s load at every node ik in this case has the same value as the cumulative pick-up, i. e.
L(i k ) = C p (i k ) . This function monotonously increases along the route from the zero at the
depot to the maximal value at the last customer of the route. We call it maximal cumulative
pick -up of the route. The route feasibility for a pure pick-up VRP means in fact that the
maximal cumulative pick-up of the route does not exceed the vehicle’s capacity. We will refer
to this type of route feasibility as “pick-up-feasibility”.
In the single -vehicle version of the pure VRP, the assumption that the total delivery (or pick-up)
demand does not exceed the vehicle’s capacity, i.e.
(3.5) ∑d
i∈ N
i ≤ K v or ∑ pi ≤ K v
i∈N
guarantees the route feasibility for any Hamiltonian-cycle. The delivery or pick-up -feasibility
condition (3.5) are necessary and sufficient conditions for route feasibility in a pure VRP
setting. We can see that the delivery or pick-up feasibility of the route depends only on the set
of customers assigned to the vehicle. It will not depend on the sequence the customers are
visited in. In the VRP with delivery and pick-up demands the situation is more complex. Here,
the vehicle’s capacity can be violated at any node of the route. Such a violation will depend on
the sequence of the customers. The delivery- and pick-up-feasibility conditions are necessary
conditions for route feasibility, but not sufficient conditions.
The vehicle load at any point of the route in this mixed-demand problem is a function of the
cumulative delivery, the cumulative pick-up, and the initial load value, namely
(3.6 ) L(i k ) = C p (ik ) + L (1) − Cd (ik ) .
Therefore, even when each of cumulative demands (3.1) and (3.3) at any node ik of the path do
not exceed the vehicle’s capacity, the vehicle’s load given by (3.6) can exceed the vehicle’s
capacity. This means that the path becomes infeasible because the vehicle can not perform
service at a next customer i k +1 on the path i. e.
5
(3.7 ) L (i k ) ≤ K v and L (ik +1 ) > K v .
As we see, in the mixed-demand VRP situation there is a new type of route feasibility that must
be obeyed. This feasibility will depend on the sequencing of the customers. We will refer to this
type of route feasibility as “load-feasibility”. In the mixed-demand VRP situation all the three
types of feasibility must be obeyed. That is, a route is feasible if and only if it is delivery-feasible,
pick-up-feasible, and load-feasible.
There have been several attempts to develop heuristics for the pick-up and delivery VRP.
These are usually modifications of well-known procedures for the basic VRP such as the saving
heuristics, insertion procedures, space filling curves, tour-partitioning procedures. For an
overview of such heuristics for pure VRP heuristics, see for example several articles in Golden
and Assad (1988). In all these attempts to modify the classical heuristics some severe
simplifications are done. One such simplification is that a given node is either a delivery node or
a pick-up node, see Mosheiov (1998). This will hardly be the case in practical applications.
Other simplifications are done by assuming that the pick-up demands are substantially less than
the delivery demands or that the nodes with pick-up demands are postponed to the end of the
route. These heuristics solve the load-feasibility problem for each vehicle with the help of
different restrictions and assumptions, but under the traditional premise that every customer is
visited once and only once. Hence, they all end up with sub-cycles. The costs can be
significantly larger than those necessary in a pure VRP situation.
However, it is not necessary to take all these assumptions. More precisely, let a set of customer
nodes be given such that the cumulative delivery and pick up demands are less than a vehicles
capacity, that is we have feasibility in the traditional sense. Now, it is always possible to find a
sub-cycle for the vehicle that is delivery-, pick-up- and load-feasible. This can be achieved in
the following way.
First, split the set of nodes into two subsets. The first set should consist of all nodes where the
delivery demands are strictly larger than the pick-up demands. Let the second set consists of the
remaining nodes, i.e. nodes where the pick-up demands are larger or equal to the delivery
demands. Now, let the vehicle leave the depot with all the delivery demands and visit all the
nodes in the first set in any order performing both kind of services. When this is done, the
vehicle travels to any node in the second set and visit the remaining nodes in any order,
performing both services and then return to the depot. As long as a vehicle perform the services
in the first set, the load function L(i) will be monotonously decreasing. Switching to the second
set, the load function will be monotonously increasing and ending up with the sum all the pick-up
demands as its end value. Hence the vehicle’s capacity will never be violated. This means that a
classical solution to the mixed problem is always possible as soon the both of the two traditional
criteria in (3.5) are fulfilled that is (3.5) with ‘and’, but the costs can increase.
Allowing customer’s service to be performed by the same vehicle twice at the different points of
the route, it can easily happen that the shortest feasible lasso-route becomes cheaper than the
shortest feasible Hamiltonian cycle for the same set of customers. For an example, see Halskau,
(2000).
A lasso-route has to conform to feasibility in the same way as a cycle-route, but the vehicle’s
load along the lasso changes in another way. Along the spoke nodes out from the depot, up to
and including the junction node, the vehicle’s load function decreases monotonously from the
initial load value, L(1). In the opposite direction it increases, reaching the maximal cumulative
6
pick-up when leaving the last node before returning to the depot. At the loop nodes the
vehicle’s load value can change unpredictably, as in the classical situation, but will start at a
lower value. This gives a larger probability for a lasso route to become feasible. The difference
between the vehicle’s load average value and the vehicle’s capacity value at the loop nodes will
increase as the spoke length increases. In the extreme case, we may use a lasso with no loop
nodes at all, i.e. a path. Along a path where every customer are visited twice, apart from the last
one, the vehicle’s load function will monotonously decrease on the way out from the depot and
increase on the way back. Thus, it is always possible to create the feasible lasso-route by
varying the length of the spoke. Lassos allow greater flexibility in creating feasible routes.
Hence, the shortest feasible routes for some vehicles may be sub-cycles, for others – lassos.
In this section different heuristics for finding lasso solutions are proposed. These heuristics are
based on well-known heuristics for the traditional VRP. The proposed heuristics can come in
many different variations. We have restricted ourselves to some basic ideas.
All known tour construction heuristics for the pure VRP/TSP create the delivery- (pick-up)
feasible routes in the form of a Hamiltonian cycle. Some of the tour construction heuristics, such
as the nearest neighbour or the sweep-algorithm create the tour starting from the depot - node
by node. They start with a single node and sequentially create a path according to some
criterion until a complete tour is obtained. Insertion heuristics construct a tour starting with a
sub-cycle. A sub-cycle is extended by adding new nodes, one at a time. The chosen node is
inserted into the existing sub-cycle by some criterion and hence creating a new and a larger sub-
cycle until it includes all nodes. One of the most well known among iterative construction
methods and most widely used in practice, is probably the saving heuristic. Here a path is
created by choosing the arc according to the so-called saving value until all nodes are connected
and then the path is closed by connecting the end nodes to the depot. The majority of these
procedures give no possibility to check the vehicle’s load at every point of the tour until it’s
construction is finished. For the pure VRP there is no need to do it - a priori at any point of the
Hamiltonian tour the vehicle’s load doesn’t exceed the vehicle’s capacity. For the mixed-
demand VRP the situation is quite different. It is impossible to check route feasibility -
specifically load-feasibility - until the whole tour is finished. Thus, it is not possible to use all
these classical heuristics directly when constructing feasible routes in a mixed situation.
The exceptions are the tour construction procedures, creating the tour node by node starting
from the depot, hence specifying a sequence. To specify a sequence is necessary if one wants to
check load feasibility. We propose a heuristic based on the adaptation of the nearest neighbour
heuristic’s ideas and baptise it the feasible lasso construction procedure. Initially all the
customer nodes are assumed to be loop nodes. The vehicle’s initial load is equal to the total
customers’ delivery demands. The heuristic sequentially creates a path until the vehicle’s load
7
exceeds the vehicle’s capacity and changes the status of one node and its service so that the
created path becomes load-feasible. When all customer nodes are in the path and the status of
each node on the path is identified, nodes are connected in the required sequence so creating a
lasso.
The feasible lasso construction procedure:
Step 1: Use the nearest neighbour heuristic to find a path such that ik and ik +1 satisfy (3.7)
and L(i j ) ≤ K v ; ∀ j < k . If no such nodes ik and ik +1 are found, return to the depot from the last
node on the path and stop. If such nodes ik and ik +1 are found, change the first loop node i1 into
a spoke node, ignore its pick-up order and reduce the vehicle’s load value at the path nodes by
the pick-up demand pi . Go to step 2.
1
Step 2: Use the nearest neighbour heuristic to extend the path until a new pair ik and ik +1 is
found satisfying (3.7) and L(i j ) ≤ K v ; ∀ j < k . Change the first loop node on the path into a
spoke node and ignore its pick-up order. Reduce the vehicle’s load value at the path nodes by
the pick-up demand of the new spoke node.
Step 3: Repeat Step 2 until the path includes all the nodes. Connect the end node of the path
with the last created spoke node. Change this node into a junction node. Connect nodes
according to their status and create the lasso.
The proposed heuristic can come in many different variations. Other criteria for the choice of the
next node on the path can be used instead of the ‘nearest neighbour’ criterion.
The lasso construction procedure can be easily adapted for a situation when an initial route is
given. Assume that the VRP has been solved either to optimality or by a heuristic disregarding
customers’ demands. Assume that this solution is not load-feasible. We now propose a
procedure for “re-constructing” this initial tour into a feasible lasso solution. In the lasso
solution, the vehicle will perform delivery service to the customers in the same sequence as on
the basic tour. However, the pick-up service will not be performed simultaneously for all the
customers. The vehicle will visit these customers a second time and perform pick-up service in
the reverse sequence after all the deliveries are made. Initially all the customer nodes are
assumed to be loop nodes. The vehicle’s initial load is equal to the total of the customers’
delivery demands. This heuristic is referred to as:
The lasso improvement procedure:
Step 0: Make a Hamiltonian cycle disregarding the customers’ demands. Check if this basic
tour is load feasible or not. If it is, stop. If not, go to step 1.
Step 1: Start from the depot node, perform the full service along the basic tour until at some
node the vehicle’s load exceeds the vehicle’s capacity. Change the first loop node on the tour
after depot into a spoke node, and ignore its pick-up order. Reduce the vehicle’s load value at
the visited nodes by the pick-up demand of the spoke node. Go to step 2.
Step 2: Continue the service along the basic tour until at some node the vehicle’s load exceeds
the vehicle’s capacity again. Go back, change the first loop node after the spoke on the basic
tour into a spoke node and ignore its pick-up order. Reduce the vehicle’s load value at the
visited nodes by the pick-up demand of the new spoke node. Go to step 3.
8
Step 3: Repeat Step 2 until all the nodes are visited. Connect the last visited node with the last
created spoke node. Change this node into a junction node. Connect all the nodes according to
their status and create the lasso. On the way from the junction node to the depot, perform the
pick-up service.
In this sub-section, we consider a situation with more than one vehicle, i.e. a typical VRP
situation. Let v denote a vehicle from the vehicle fleet V and K v the capacity of the vehicle v.
We assume that no customer demand exceeds the maximum vehicle capacity. With a feasible
route configuration, we will understand a set of feasible routes, one for each vehicle. Let Rv
denote the nodes included in the route for vehicle v. We will refer to this feasibility as “route
configuration feasibility”.
In the pure VRP, the condition that total customers demand (delivery or pick-up) does not
exceed the total vehicle capacity, i.e.
(4.1) ∑d ≤ ∑ K
i∈N
i
v∈V
v or ∑ pi ≤ ∑ K v
i∈N v∈V
is necessary for a feasible route configuration to exist. Sufficient condition for route configuration
existence is that each route Rv is delivery- (pick-up-) feasible, i.e.
(4 .2) ∑ di ≤ K v or ∑ pi ≤ Kv ∀v ∈ V .
i∈Rv i∈Rv
In the mixed-demand VRP situation (4.1) must be changed from ‘or’ to ‘and’. These are
necessary conditions for route configuration feasibility, and the sufficient conditions are that each
route is delivery-, pick-up-, and load-feasible.
The process of finding a feasible route configuration consists of two problems, preferably
solved simultaneously: 1) The assignment of customers into different clusters (one cluster for one
vehicle) and 2) Sequencing the customers in each cluster. Two different main policies are
available if one has to split the planning problem into the two parts mentioned above: ‘Clustering
first, then routing/sequencing’ or ‘Routing first, then clustering’. In the context of a mixed VRP
situation the delivery- and pick-up-feasibility play the main role when clustering takes place.
When in routing – the load-feasibility is the main objective.
In many of the known heuristics for pure VRP situations the routing takes place along with the
clustering. However, some of theses heuristics, especially the saving and insertion heuristics as
well as the improvement and exchange heuristics are difficult to adapt. These heuristics can
usually not be used in their original form because they don’t guarantee route configuration
feasibility or route feasibility (specifically load-feasibility) of the solution. The policy ‘routing first,
then clustering’ works by initially generating a large route, containing all customers, which then is
partitioned into a number of smaller routes, all of which are made feasible. This can be quite
difficult in a mixed demand situation. The adaptation of heuristics using the ‘cluster first, then
routing’ principle are especially attractive for the mixed-demand VRP, since the routing problem
is more complicated in such cases than in the pure VRP due to the load-feasibility problem. In
the routing phase, it is possible to use the lasso approach and construct a feasible lasso for each
9
cluster. Heuristics proposed in section 4.1 for single -vehicle problems could be used in the
routing phase of the multiple vehicle situation after the clustering has taken place.
Route constructing heuristic for multiple vehicles with pick ups and deliveries:
Step 1: Create a route configuration that satisfies (4.2). Check load-feasibility for each route
and vehicle. If all routes are load-feasible, then stop. For each of the routes not load-feasible,
go to step 2.
Step 2: Use the lasso improvement procedure on each of the non load-feasible routes from step
1.
The result of this heuristic will to a large degree depend on step 1, but it is not self evident how
one can create a route configuration satisfying (4.2). One such possibility is to use the following
sub-routine:
Step 1: Take a vehicle. Create a path among the nodes not used so far starting from the depot
until a pair of nodes ik and ik +1 is found satisfying (3.4). Calculate Cd (i k ) . Go to step 2a or 2b.
Step2a : If Cd (ik ) ≤ K v , return to the depot. Call this route Rv . Lv (1) = C d (ik ) Go to step 3.
Step2b : If Cd (ik ) > K v , delete the last nodes on the path one by one until Cd (i l ) ≤ K v for
some node il . Call this route Rv . Lv (1) = C d (il ) . Go to step 3.
10
n k
(4 .4) min ∑∑ f ivWiv
i = 2 v =1
ST
n
(4 .5) ∑ diWiv ≤ K v ∀v
i =2
k
(4 .6) ∑ Wiv = 1 ∀i; i ≠ 1
v =1
The variables Wiv specify whether a vehicle v visits a customer i ( Wiv =1) or not (Wiv =0).
Coefficients f iv are computed by first choosing a set of “seed-customers”, s v , v = 1,…, k,
each one assigned to one vehicle, and then by computing f iv as the cost of inserting customer i
into the route of vehicle k from the depot to the seed-customer and back to the depot again, i.
e.
(4.7) { }
f iv = min c1i + cisv − c1 sv , cs vi + ci 1 − cs v1 .
The coefficient f iv for a seed-customer s v and the corresponding vehicle v will have the value
zero. Seed-customers can be selected either automatically or interactively by the dispatcher. In
the case of manual selection, it is suggested that the most distant customers along radial
corridors corresponding to major thoroughfares should be chosen. This choice will result in
coefficients f iv , which are such that in a solution to the above model customers assigned to the
same vehicle are located close to each other.
This solution approach guarantees route configuration feasibility already at the clustering phase.
The routing phase is then performed by solving a TSP for each vehicle, v = 1,…, k.
We adapt FJ heuristic for the mixed-demand VRP by reformulating the generalised assignment
problem by adding to the model (4.4) – (4.6) the extra constraints
n
(4 .8) ∑ pW
i =2
i iv ≤ Kv ∀v
Such a model will guarantee not only route configuration feasibility, but also pick-up- and
delivery- feasibility of solutions. Never the less, the solution of a TSP for each vehicle over the
assigned customers in the routing phase does not guarantee load-feasibility of the routes. We
propose to use one of the three possibilities below for construction feasible routes for each
vehicle in routing part:
1) Use the exact lasso model from Halskau, 2000 iteratively for construction of feasible lassos.
2) Use the lasso construction heuristic from section 4.1.
3) Find a TSP solution and if necessary reconstruct the sub-cycle into lasso by applying lasso
improvement heuristic from section 4.1.
It should be noted that the choice of seed-customers usually is done on spatial considerations
only or with a side-glance at customers with very large demands. In the context of load-
feasibility problem, customers with large pick-up demands or with large difference between
pick-up and delivery demands can also be chosen as seed-customers. How to include the
added problem of load feasibility into to the objective is not clear at the present stage.
11
5. EXAMPLES
In table 5.1 below one will find a cost matrix for a graph with 14 nodes. In table 5.2 there are
given pick-up and delivery demands for 13 of the nodes, node 1 being the depot.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 - 55 75 115 170 148 145 159 98 101 95 50 58 20
2 - 43 115 165 155 170 198 142 138 115 75 105 75
3 - 80 125 120 142 181 135 123 91 64 106 95
4 - 56 41 72 124 102 80 40 66 100 124
5 - 41 85 145 145 120 88 121 151 178
6 - 45 105 105 80 55 96 120 153
7 - 60 75 53 53 98 103 145
8 - 63 60 91 123 104 150
9 - 25 60 72 40 88
10 - 40 65 50 95
11 - 45 64 98
12 - 46 58
13 - 47
14 -
Table 5.2. Pick-up and delivery demands for the customer nodes.
Node 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sum
Delivery 0 20 25 15 40 20 10 30 30 25 20 15 20 20 290
Pick-up 0 30 30 15 30 15 15 20 35 10 15 15 30 35 295
12
that every customer shall be visited only once can give a better result than insisting on a cycle
solution.
Now, applying the lasso construction heuristic from sub-section 4.2 we get the following lasso:
1 – 14 – 13 – 9 – 10 – 11 – 4 – 6 – 5 – 7 – 8 – 12 – 3 – 2 – 14 – 1 with cost 764. The
junction is still node 14 as in the optimal solution above, but the sequencing among the loop
nodes is quite different. The nearest neighbour part of this heuristic will first create the path 1 –
14. This violates the vehicle’s capacity since the load then becomes 305. Hence we change the
first node – node 14 into a spoke node and reduce the load value with 35 units, the pick up
demand for node 14. Continuing the from node 14 we get 13 – 9 – 10 – 11 – 4 – 6 – 5 – 7 – 8
– 12 – 3. Finally node 2, the last node, is added to the path and we return from node 2 to node
14, changing the status of node 14 from a spoke node to a junction node.
Applying the lasso improvement heuristic, we start with the optimal Hamiltonian cycle given
above as the input cycle in step 0. This cycle is not feasible. Starting from the depot the capacity
will be violated already at node 2. Changing the status of this node to a (potential) spoke node,
we reduce the vehicle load with the pick-up demand for this node. Having done this the rest of
the cycle can be served and we return to node 2, changing the status to a junction node. Hence
we have the lasso 1 – 2 – 3 – 12 – 11 – 4 – 5 – 6 – 7 – 8 – 10 – 9 – 13 – 14 – 2 – 1 with cost
751. If one traverses the Hamiltonian cycle in the opposite direction, and letting node 14 be the
first node after the depot one end s up with the optimal lasso above.
The next examples are dealing with a multiple vehicle problem. Using the same graph and
demands as before, we now assume that we have a homogenous fleet of vehicles with
capacities equal to 150 units. Hence we know that we need two vehicles or more to handle the
planning situation.
We first illustrate the heuristic from sub-section 5.2 using the nearest neighbour heuristic to
create sub cycles that are both delivery and pick-up feasible. This gives the following three sub-
cycles:
Route 1: 1 – 14 – 13 – 9 – 10 – 11 – 4 – 1 with cost 327 and L(1) = 130units
Route 2: 1 – 12 – 3 – 9 – 2 – 11 – 6 – 5 – 7 – 1 with cost 583 and L(1) = 130units
Route 3: 1 – 8 – 1 with cost 318 and L(1) = 30units.
It is easily checked that all three sub -cycles are load feasible, route 1 taken in the opposite
direction, and can then be used for the pick-up and delivery problem. The total cost is 1228.
In the last example we will use the FJ approach. We get the two clusters
{1,2,5,6,10,13,14} and {1,3,4,7,8,9,11,12}. By construction, these two clusters are both pick-up
feasible and delivery feasible with L(1) = 145units in both cases. Making sub-cycles from the
first cluster, the cheapest load feasible Hamiltonian cycle is 1 – 5 – 6 – 10 – 13 – 14 – 2 – 1
with cost 518. However, the lasso 1 – 14 – 13 – 10 – 6 – 5 – 2 – 14 – 1 is load feasible as
well, but the cost is only 498. For the last cluster the Hamiltonian cycle 1 – 3 – 4 – 11 – 7 – 8 –
9 – 12 – 1 is load-feasible with cost 493. Note that the feasible route configuration consists of
one lasso and one sub-cycle. The total cost becomes 991.
13
6. CONCLUSIONS AND FURT HER RESEARCH
In this paper we have shown that the pick-up and delivery problem is substantial more complex
than the traditional pure VRP – even when restricted to the case when all demands either
originate at the depot or must be brought back to the depot. The paper also shows that three
kinds of feasible criteria must be obeyed and that load feasibility severely restricts the
applications of traditional heuristics for TSP and vehicle routing. Further, the examples show
that the introduction of lassos can give better solutions to the planning problem than solutions
based exclusively on cycles. In addition lasso solutions make the routes more flexible both in
terms of changing demands and free space on the truck. However, our analysis is preliminary at
this stage and the problems tested have been small, but this approach seems to compare
favourably with the classical approach in terms of total distance. To the best of our knowledge
no exact model for multi-vehicle lasso problems is described in the literature. Such models can
probably be formulated in several different ways and it will be of importance to formulate them,
test and compare how they behave with real life in-put data. This paper represents a preliminary
examination of the new alternative approach. There is much additional algorithmic work that
needs to be done.
REFERENCES
14
Golden B.L. and Assad A.A. Vehicle Routing: Methods and Studies, Studies in
(eds). (1988) Management Science and Systems, volume 16,
North-Holland.
Halskau, Øyvind (2000) Pick-ups and Deliveries from Depots – an
Alternative Approach. Paper at Co2000,
Greenwich, London.
Halskau, Ø. and Løkketangen, A. Distribusjon ved Sylte Mineralvannfabrikk A/S.
(1996) Dagens situasjon, Møreforsking, Molde, Norway.
(In Norwegian)
Haukebø, Johansen og Randlev. Ruteplanlegging for Oskar Sylte, Students Thesis,
Høgskolen i Molde. (In Norwegian)
(1998)
Lawler, Lenstra et al. (eds). The Traveling Salesman Problem. A Guided
(1985) Tour of Combinatorial Optimization, John Wiley
& Sons.
Mosheiov, Gur (1998) Vehicle Routing with Pick-up and Delivery:
Tour-Partitioning Heuristics, Computers ind.
Engng. Vol. 34, no. 3 pp. 669 –684.
Reinelt, G. (1994) The Traveling Salesman. Computational
Solutions for TSP Applications, Springer-Verlag.
Tjøstheim, Nils Håkon. (1999) Solving Vehicle Routing Problems using Lasso
Solutions. Cand Scient. thesis, Department of
Informatics, University of Bergen, Norway.
15