Skip to content


  • Original Paper
  • Open Access

A new urban freight distribution scheme and an optimization methodology for reducing its overall cost

European Transport Research ReviewAn Open Access Journal20157:1

  • Received: 12 June 2014
  • Accepted: 29 November 2014
  • Published:



The paper refers to an innovative urban freight distribution scheme, aimed at reducing the externalities connected with the freight delivery process. Both packages destined to commercial activities and to end consumers (e-commerce) are taken into account. Each package is characterized by an address and dimensions. In the proposed transport system, freight is firstly delivered to the UDC on the border of urban areas through trucks or trains which perform the long distance transport. After, freight is reorganized and consolidated into load units, i.e. the FURBOT boxes, according to packages dimensions and to the addresses of receivers. Each box is addressed to a temporary unloading bay and it is delivered there by a FURBOT vehicle. The receivers are in charge of collecting their packages in the related unloading bays where they have been delivered.

Methods and results

The paper concerns a methodology for optimizing this freight transport system’s performances. The overall methodology receives in input the actual freight demand and the road network, and finds the transport system parameters (number of required FURBOT boxes, their temporary unloading bay, the FURBOT fleet dimension and the FURBOT vehicle routing) that minimize the system overall cost. The overall cost is a sum of the users’ cost, which depends on the distance they have to walk for collecting their packages in the FURBOT box, and of the operator’s cost, which depends on the number of required boxes, the total distance travelled by the FURBOT vehicles and the required number of FURBOT vehicles.


The overall procedure has been applied to the case study of Barreiro old town, a suburb of Lisbon, Portugal.


  • Urban freight distribution
  • E-commerce
  • Fuzzy k-means clustering
  • Capacitated vehicle routing problem
  • Genetic algorithms

1 Introduction

This paper concerns an innovative and sustainable urban freight distribution scheme, and a methodology to optimize its performances.

Freight is directed to receivers, who could be commercial activities or end consumers. Regarding freight directed to commercial activities, its transport depends on the production system. The increasing value of delivered products requires rapid transportation because companies want to reduce the interest costs bound up in store and inventories. There is the need to reduce store costs since store areas in urban centers are expensive. This leads to the Just-In-Time (JIT) delivery principle, which involves more frequent delivery of materials at the right time and at the right place in the production process.

Regarding freight directed to end consumers, this is the result of on-line shopping. E-commerce enables businesses to sell their products and services directly to consumers without establishing a physical point of sale. While some products can be delivered digitally to households, most products purchased online ultimately must be transported to the end-users in the physical world. The receivers are often single people, especially students and time-poor professionals, who purchase products online but are not normally at home at daytime to accept deliveries. An efficient, rapid and reliable delivery system is essential for gaining customer loyalty online and consequently obtaining profitability [12].

In urban environments, the high fragmentation of demand (i.e. numerous independent retail outlets located in a city centre) combined with the fragmentation of supply (e.g. numerous wholesalers and other suppliers using their own vehicles to make just-in-time deliveries) results in a high number of urban freight transport trips with a low load factor of vehicles.

In synthesis, inefficiency of freight distribution in urban areas appears as follows:
  • low load factors and empty trips: it is calculated that in Europe the average load factor of vans in urban areas is less than 30 % [3];

  • a high number of deliveries made to individual premises within a given time period;

  • long dwell times at loading and unloading points.

These problems will become even more critical in the next future since the freight demand is going to increase because of: increased urbanization, decreased size of inventories (zero stock), growing demand for express and urgent deliveries, fragmentation of shipments (a few parcels received each day instead of a consolidated load once a week), but particularly because of the fast increase in home deliveries following the rapid growth of e-commerce [4]. Actually, in 2012 the 43 % of the European population bought habitually on line products and services (Source: [22]).

The settlement of several logistic platforms (called UDCs - Urban Distribution Centres) results a good solution to improve the overall deliveries efficiency. In the UDCs the freight coming from long-distance distribution is reorganized and delivered to the final receivers (retailers and consumers) through smaller vehicles.

New solutions for urban freight distribution have been recently proposed in order to: limit the number of trucks in downtown during rush hour and participate in decongesting the cities; providing flexibility for recipients who recover their packages when they want to and to contribute to a better logistics organization of malls and decongest delivery areas. Among these new solutions, Pack stations and Bento boxes are very interesting since they reduce the capillarity of last mile freight distribution, concentrating packages in fixed point and asking the receivers to collect them.

Pack station is a service run by DHL Parcel Germany and provides automated booths for self-service collection of parcels and oversize letters as well as self-service dispatch of parcels 24 hours a day, 7 days a week. The structure is fixed. The pack station can be used for both the delivery of packages to customers and by customers to send their packages. The advantages of pack stations are: no empty trips occur (as receivers have a time window to collect their packages) and the number of delivery trips is reduced thanks to the reduction of the capillarity of demand (due to the concentration of packages directed to customers into a few localizations). However, pack stations register two main disadvantages:
  • they have a fixed location in the urban areas and their number is fixed a priori;

  • the loading operations take place only at the pack stations locations.

Regarding the first disadvantage, the demand for packages varies every day in quantity and receiver’s addresses and the distance between pack stations and customers may result quite high in some cases; moreover in some cases the available pack stations may result not sufficient to satisfy the demand, or one or more pack station may be empty.

The BentoBox, designed within the project CityLog [21], with the participation of TNT Express, has been developed with the aim of resolving the second disadvantage of pack stations. It is composed of a fixed docking station, and six removable modular trolleys. Trolleys are consolidated at the UDC. A new small container has been proposed within the project CityLog to accommodate the trolleys: BentoBox trolleys are loaded into the small container in the UDC and unloaded at the docking station. The unloading of the BentoBox container is again automatic but the BentoBox trolleys should be manually moved from the unloading unit to the docking station. Therefore the unloading time at the docking station is reduced to the minimum and operative costs are minimized. However, as for Pack stations, the number and the localizations of the BentoBox docking stations are fixed for a given urban area and do not depend on the current freight demand.

In the proposed FURBOT transport system [23] the number and the localizations of the FURBOT boxes are not fixed a priori in the urban area and they depend on the current daily freight transport demand. This leads to two main consequences. Firstly, the distance the receivers have to walk for collecting their packages is minimized. Secondly, the impact of the boxes on the land occupation is minimum, as the boxes are placed only where required. Moreover, the unloading of the box in the temporary bay is automatic.

In the proposed transport system, freight is firstly delivered to the UDC through trucks or trains which perform the long distance transport. After, freight is reorganized and consolidated into load units, i.e. the FURBOT boxes, according to packages dimension and to the addresses of receivers.

The proposed transport system involves two types of load units: LBL box and FBL box. A FBL box contains freight destined to only one receiver, while a LBL box contains freight destined to several receivers. A LBL box is divided in modular parcels and each parcel can accommodate packages addressed to a given receiver. A FBL box instead contains an euro ISO pallet addressed to a given commercial activity place. Both FBL and LBL FURBOT boxes have a standard dimension: the box footprint has the euro-pallet dimension (120 cm long and 80 cm wide), and the box is 180 cm high.

An unloading bay is selected for each box among potential unloading bays. Potential unloading bays are any free space on footways or on roads that can accommodate at least one box (both LBL and FBL) without disturbing pedestrian and/or vehicular flows and that is accessible by the FURBOT vehicle. In the case of a LBL box, the bay is selected according with the addresses of the packages contained in it. In case of a FBL box, the bay is the closer to the commercial activity place. If there is not an unloading bay close to the commercial activity place, the freight cannot be delivered by the proposed transport system.

Boxes are then loaded on FURBOT vehicles. The FURBOT vehicle is small in size and it is able to move two boxes, it is ecologically friendly and allows the automatic unloading of the boxes in the bays [5]. The FURBOT vehicle has been designed in order to be able of moving easily and with limited impact also in pedestrian areas. Boxes are loaded on vehicles according to their selected unloading bays. According to the time at disposal for completing the freight distribution, each FURBOT vehicle could perform several delivery trips. In a short dwell time, the boxes are automatically unloaded in the bays or close to commercial activity places [11]. This highly reduces the interactions with pedestrians and vehicular flows.

The proposed transport system is coherent with the collaborative freight logistic systems, as described in [6, 7], both for the horizontal and vertical collaboration.

The proposed transport system deals only with the direct logistics, i.e. the delivery of FURBOT boxes.

The paper concerns a methodology for optimizing this freight transport system’s performances.

In the proposed methodology, the daily freight transport demand is assumed stochastic and anelastic respect to the fee the users have to pay for the transport service. This hypothesis is valid if the proposed transport system is offered by a public body.

The paper is organized as follows. Section 2 describes in details the optimization methodology of the proposed transport system. Section 3 describes the application of the methodology to the field case study of Barreiro, Portugal, and the discussion of the results obtained. Conclusions follow.

2 The optimization of the furbot delivery system

2.1 The overall methodology

Every day the proposed methodology allows to assess which are the number of LBL boxes (n LBL * ), the fleet dimension n v * , the box consolidation and the vehicle routing that minimize the system cost, given the actual freight transport demand, the road network and the delivery time window (see Fig. 1).
Fig. 1
Fig. 1

The optimization methodology

Regarding the road network, we consider two networks: a footway network, and the FURBOT vehicles road network.

The footway network is constituted of nodes and links. Each 100 m long road section has been represented through a node: nodes represent the possible unloading bays and the possible receivers’ addresses. Links connect each receivers’ address with all the possible unloading bays. Each receiver has only one path that allows him to reach each unloading bay. A cost is associated to each path: it is proportional to the Euclidean distance between the two nodes connected by the link.

The road network consists on: the roads where FURBOT vehicles are allowed to travel, the localization of the UDC, the localization of the possible unloading bays. The road network is represented through a set of links and nodes. Nodes represent: the UDC and the possible unloading bays. Links represent paths between the UDC and unloading bays, between unloading bays and the UDC and between couples of unloading bays. Only one path (and therefore only one link) is considered for each couple of nodes: this path is the less time consuming path and has been assessed by the Dijkstra algorithm. Two main quantities are associated to each link: the travel time (on the less time consuming path) and the power needed to cross the link. Travel time is a function on the link length and the average flow on the link. Power consumption is a function of the slope and of the link length.

The freight transport demand is given by a matrix. The matrix rows refer to package dimensions and the columns refer to the road sections (possible receiver’s addresses). Each element of the matrix represents the number of packages/pallets addressed to the destination road section the column refers to.

2.1.1 The cost function

The daily system cost S has two components: the user cost c user and the operator cost c operator :
$$ S={\vartheta}_{user}\cdot {c}_{user}+{\vartheta}_{operator}\cdot {c}_{operator} $$
where ϑ user and ϑ operator are weighting coefficients, to be calibrated. At this stage they have been assumed equal to 1.
The daily user cost c user is a function of the overall distance travelled by receivers in a day to collect their packages at the unloading bays:
$$ {c}_{user}={c}_{pd}\cdot {\displaystyle {\sum}_{i=1}^{d_{LBL}}p{d}_i\cdot \frac{1}{v_{ped}}} $$
  • pd i = walking distance covered by the i th receiver: it depends on the position of the unloading bay where the package has been delivered, therefore on the number of LBL boxes (n LBL ) and on the box consolidation process;

  • d LBL = number of package receivers;

  • v ped = average pedestrian speed, equal to 66 m/min;

  • c pd = cost of an unit of walking time, assumed to be equal for all the receivers. It has been taken equal to that for public transport users, which, according to Shimamoto et al. [14], is 0.36 €/min;

The daily operative cost c operator is a function of the overall distance travelled by FURBOT vehicles in a day, of the fleet dimension and of the number of LBL and FBL boxes. The daily operative cost has the following expression:
$$ {c}_{operator}={c}_{LBL}{n}_{LBL}+{c}_{FBL}{n}_{FBL}+{c}_v{n}_v+{c}_{km}{q}_{km} $$
  • c LBL = amortization daily cost of a LBL box;

  • c FBL = amortization daily cost of a FBL box;

  • n FBL = number of FBL boxes: it equals the number of Euro ISO pallets that should be delivered in the simulated day;

  • n LBL = number of LBL boxes the system operator decides to use in the simulated day;

  • c v = amortization daily cost of a FURBOT vehicle;

  • n v = number of required FURBOT vehicles: it depends on n LBL , n FBL and the time at disposal for completing the freight distribution;

  • c km = FURBOT vehicle operative cost of travelling 1 km: it is function of the vehicle power consumption and therefore of the vehicle routing. The FURBOT vehicle consumes an average of 0.12 kWh/km on flat areas; the average cost of the electricity has been assumed 0.17 €/kWh, which results in 0.021 €/km. Data about vehicles power consumption have been provided by Mazel Enginerios, the partners of the FURBOT project involved in the design of the power system of the FURBOT vehicle;

  • q km = the number of kilometers travelled by FURBOT vehicles each day.

As it concerns c LBL , we assume that the purchase cost of each LBL box is equal to 800 € and the purchase cost of each FBL box is equal to 150 €. The LBL and FBL boxes lifetime is equal to 10 years. The cost of FURBOT vehicles has been assessed from an average cost of a similar electric van, which is around 25,000 €. The FURBOT vehicles lifetime has been assumed equal to 20 years.

All costs have been amortized according with the following formula:
$$ {C}^{day}=c\cdot \left[\frac{r{\left(1+r\right)}^{lt}}{{\left(1+r\right)}^{lt}-1}\right]\frac{1}{365} $$
  • C day is the amortized daily cost of a given element (for instance a LBL or FBL box or a FURBOT vehicle)

  • c is the element purchase cost;

  • r is the discount rate;

  • lt (number of years) is the element lifetime.

We chose a discount rate of 8 % as it is an average rate of return for investments and thus reasonably represents the opportunity cost of the purchase.

The average fees of usage of the service do not appear in this formula, as they are contemporarily users costs and operator revenues, and therefore do not affect the daily system cost minimization problem.

2.1.2 The assessment of the cost function value

For a given n LBL , the proposed methodology assesses the related system cost S (n LBL ) by sequentially resolving two sub-problems (as shown in Fig. 1).

The first sub problem optimizes the consolidation of packages in the LBL boxes. The consolidation described in Section 2.2 affects the users cost. Given a number n LBL of LBL boxes, the target is to find the sets of packages to load in each LBL box and to define the unloading bay for each box that minimizes the overall distance travelled by the receivers of the packages in the box. The problem constraints are: the capacity of the box, and the maximum distance that can be accepted by users. A fuzzy k-means clustering algorithm has been adopted.

The second sub-problem optimizes the travel time related to the delivery trips from which the number of required FURBOT vehicles (n v ) depends, since the freight delivery should be completed in a given time window. The travel time for each road section is assumed to be constant and it is related to the average pedestrian and vehicular flows on the road section (we refer to the average pedestrian flow if the road is in a pedestrian area). The second sub-problem is described in Section 2.3. The FURBOT vehicle routing can be formalized as the Capacitated Vehicle Routing Problem (CVRP), with some modifications, and Genetic Algorithm is used to get the optimization solution, according to Ren [13]. The output of the algorithm is the number of required FURBOT trips: for each FURBOT trip, the algorithm provides the identifications of the boxes that will be delivered in the trip, the travel time, the trip length and the energy consumption. Freight deliveries take place in a given time window: therefore the required fleet dimension could be assessed given the travel times of the required FURBOT trips and the delivery time window.

According with the assessed value of the system cost S (n LBL ), the proposed methodology explores the search space, given by the n LBL admissible values, in order to minimize the daily system cost. The minimum admissible value of n LBL (n LBL ) is the minimum number of boxes capable to accommodate all packages. The maximum admissible value of n LBL (n LBL max ) is determined in order to have an average load factor of LBL boxes equal to 0.3.

The overall optimization outputs are:
  • the number of required LBL boxes and for each LBL box:
    • the cluster of packages that will be consolidated in each box,

    • the box unloading bay,

    • the box load factor;

  • the number of required FURBOT trips and for each trip:
    • the identification of the boxes to be delivered

    • the delivery route, and therefore the travel time and the related power consumption

  • the required FURBOT fleet dimension.

2.1.3 The exploration of the search space

The cost function is the daily system cost S (Eq. 1). The cost function independent variable is the scalar variable n LBL . However, the cost function is composed of several terms, and each term has a different trend, therefore we cannot exclude to deal with a multi peak function. Moreover, the dependence of the system cost from the number of boxes is implicit. Simulated Annealing (SA) seems suitable for approaching problems with these characteristics [1]. The main parameters of the SA algorithm are: the cooling schedule, and the neighbor search criterion.

The cooling schedule is defined by: the initial temperature, the law of its decrease and the final temperature. We fixed the cooling schedule in such a way to guarantee a good exploration of the search space. The starting temperature T 0 is determined according to Laarhoven and Aarts [10], from an initial acceptance ratio p 0 of the worse solution equal to 0.5. The most commonly used temperature reduction function is geometric: T k+1 = αT k where T k and T k+1 are the temperatures in two consecutive iterations of the algorithm and α has been assumed equal to 0.9, according to Laarhoven and Aarts [10].

Regarding the neighbor search, it has been chosen to adopt a dynamic neighbor search. Dynamic neighbourhood means that the neighbourhood dimension decreases step by step; the amount of this decrease is assessed as a functional relationship of the temperature’s value at the current iteration of the algorithm [16, 17]. The most common functional dependencies are either the dimension of the temperature or of the square root of the temperature. We selected the second one. We chose a dynamic neighbor search because the overall procedure is very slow: dynamic neighbor search allows a wider exploration of the search space at the first iterations of the algorithm and faster convergence at a good solution at the last.

The proposed algorithm works as follows:
  • Initialization:
    • n LBL,0 is assessed through a random extraction, in the range of the n LBL admissible values.

    • T 0  = 830.69 according with the previously described rule.

  • First solution: n LBL,1 is the midpoint of the widest between the two intervals: between n LBL,0 and n LBL min , between n LBL,0 and n LBL max . In this way we are sure of not exiting the admissible solution space.

  • At the generic iteration k of the algorithm, the new solution n LBL,k+1 is selected in the neighbourhood of n LBL,k in the following way:
    • T k  = 0.9 T k-1

    • given the current solution n LBL,k , and the current temperature value T k , the dimension of the move Δn LBL,k is taken equal to the square root of T k ;

    • the current solution n LBL,k is increased or decreased by Δn LBL,k with the probability of 50 % if both moves are acceptable. Otherwise only the acceptable move is performed. Then n LBL,k+1  = n LBL,k  + (or -) Δn LBL,k

    • the values of the cost function S are checked for n LBL,k+1 and n LBL,k . and n LBL,k is updated in the following way:
      1. a)

        if S(n LBL,k + 1) ≤ S(n LBL,k ) → n LBL,k + 1 substitutes n LBL,k  := n LBL,k + 1

      2. b)
        if S(n LBL,k + 1) > S(n LBL,k ) → n LBL,k + 1 will become the current solution n LBL,k with a probability given by:
        $$ p= \exp \left(-\frac{S\left({n}_{LBL,k+1}\right)-S\left({n}_{LBL,k}\right)}{T_k}\right) $$

        This is the Metropolis algorithm [10].

        Given that R [0, 1] is an pseudo random number, updating happens according to the following:

        if R ≤ p → the new solution n LBL,k+1 substitutes n LBL,k .

        if R > p → the new solution n LBL,k+1 is rejected and therefore n LBL,k will not be updated.

  • Stopping criterion: The algorithm is stopped when no new solution is accepted for 100 consecutive steps. This criterion is a balance between the speed of convergence of the algorithm and the quality of the solution obtained.

2.2 The packages clustering in the FURBOT boxes and its mathematical formulation

The problem we face is the daily clustering of only the small packages at the UDC into a given number of LBL boxes. In this sub problem pallets, sacks and heavy packages are not taken into account. To each cluster, and therefore to each LBL box, an address is assigned, which is the “centre” position of the addresses of the packages within the cluster. Among all the possible clusters we select the ones that minimize the distances the receivers have to walk to collect their packages (and therefore the distances from the addresses of the packages to the cluster centre). The cluster centre will be the unloading bay of the box. The footway network is taken into account in this sub problem.

We have some constraints to our problem, one is related to the box capacity and another is related to the maximum distance the receivers can walk (in order to collect their packages in the box). In the literature one of the optimization problems closer to the problem we face is the k-means clustering problem with size constraints [20].

Simple k-means clustering is a method of cluster analysis which aims to partition n objects into k clusters in which each object belongs to the cluster with the nearest mean. The problem is computationally difficult (NP-hard); however, there are efficient heuristic algorithms that are commonly employed and converge quickly to a local optimum.

The simple k-means clustering does not work properly as we have a constraint on both the box capacity and the maximum allowed walking distance. Actually the simple k-means clustering always assigns each package to the closest box and therefore when some boxes have reached their capacity, the remaining packages must be assigned to other boxes, which may entail far more than the maximum walking distance allowed.

As a result, fuzzy k-means clustering has been adopted [2]. In fuzzy clustering, each item has a degree of membership to each cluster (u ij is the degree of membership of item i to cluster j), rather than belonging completely to only one cluster. The degree of membership of item i to cluster j is inversely proportional to the distance of the item i to the centre of cluster j.

The fuzzy clustering aims at minimizing the following cost function:
$$ f={\displaystyle \sum_{i=1}^N{\displaystyle \sum_{j=1}^{nLBL}{u}_{ij}^m{\left\Vert {x}_i-{c}_j\right\Vert}^2}} $$
  • x i = address of package i,

  • c j = position of the centre of cluster j,

  • m = parameter of fuzziness,

  • N = number of packages (which is equal to the number of receivers),

  • n LBL = number of LBL boxes (i.e. number of clusters).

In the faced problem the independent variables are the degrees of membership u ij : we need to assess the u ij values that minimize the cost function. To solve the problem, an iterative algorithm has been adopted.

As starting point, the initial values for the degrees of membership u ij (0) of the item i to the cluster j at the 0 iteration (initialization step) have been assessed assuming the positions of the cluster centers uniformly distributed in the area.

At the generic k iteration, the degrees of membership u ij (k) and the positions c j (k) of cluster centers are updated according to Eqs. 7 and 8 [8, 9].
$$ {c}_j^{(k)}=\frac{{\displaystyle \sum_{i=1}^N{u_{ij}^{\left(k-1\right)}}^m\cdot {x}_i}}{{\displaystyle \sum_{i=1}^N{u_{ij}^{\left(k-1\right)}}^m}} $$
$$ {u}_{ij}^{(k)}=\frac{1}{{\displaystyle \sum_{b=1}^{nLBL}{\left(\frac{\left\Vert {x}_i-{c^{(k)}}_j\right\Vert }{\left\Vert {x}_i-{c^{(k)}}_b\right\Vert}\right)}^{\frac{2}{m-1}}}} $$

At each iteration k, the algorithm updates a matrix U (k) whose columns refer to the clusters, whose rows refer to the items and whose generic element is u ij (k) .

The fuzzy clustering algorithm stops when for each item i and for each cluster j the degree of membership is no longer updated relevantly from an iteration to the following:
$$ \underset{\forall i,j}{ \max}\left|{u}_{ij}^{(k)}-{u}_{ij}^{\left(k-1\right)}\right|<\varepsilon $$

Where ε = 0.01. The fuzzy clustering algorithm does not provide a problem solution since it does not provide clusters but a matrix U. Moreover constraints have not yet been taken into account in the algorithm.

A distance matrix D is now assessed. The columns refer to the clusters and the rows refer to the items. The generic element d ij is the distance of the item i from the center of cluster j, c j .

For each element ij in the D matrix whose value d ij exceeds 450 m (maximum allowed walking distance), the related element in the U matrix (u ij ) is set equal to 0. With this method a new matrix U* is therefore assessed from U and it satisfies the constraint (Eq. 10) on the maximum distance.

New values for c j are assessed, according to Eq. 7and U*.
$$ \underset{i,j}{ \max}\left\Vert {x}_i-{c}_j\right\Vert <450\mathrm{m} $$
Clusters should be now assessed from U*. The item i with the highest u ij * is assigned to cluster j if cluster j has enough space (and then Eq. 11is satisfied) :
$$ {\displaystyle \sum_{i=1}^N{w}_i{y}_{ij}}\le {K}_j $$
  • $$ {y}_{ij}=\left\{\begin{array}{c}\hfill 1\mathrm{iftheitem}i\mathrm{hasbeenassignedtothebox}j\hfill \\ {}\hfill 0\mathrm{otherwise}\hfill \end{array}\right. $$
  • w i = volume of the item i,

  • K j = capacity of the box j = 1.102 m3

  • N = number of packages (equal to the number of receivers)

    If the constraint is satisfied, the U * matrix is modified: u ij ** =1 and u iz **  = 0 z ≠ j. If the constraint is not satisfied, u ij ** is set equal to 0. The resulting U ** matrix satisfies also the capacity constraints.

    If the elements u ij **  = 0 or u ij **  = 1, the clusters are definitely assessed. If there is a row i for which u ij **  = 0 j (this means that there is not space for item i in any of the boxes that satisfy the maximum distance constraint) it is necessary to modify the clusters already assessed. See Cepolina and Farina [2] for further details.

    The fuzzy clustering algorithm provides a position for each LBL box considering the space continuum. However, boxes cannot be placed everywhere but only in the potential unloading bay in specific positions of the urban area. Therefore, each box is assigned to the closest potential unloading bay. The customers walking distances are recalculated by considering the real boxes positions. Capacity of unloading bays has not been considered as constraint.

    In the proposed algorithm, packages are firstly assigned to boxes, and finally boxes are assigned to their final position. This could lead to some constraints not to be respected, given the final position of the boxes. In order to take into account this fact, we decreased the maximum allowed distance by a safety coefficient.

2.3 The vehicle routing

The routing problem has been limited to the problem of defining the routes for delivering only the unpaired boxes (both FBL and LBL).

Given an unloading bay, if the number of boxes assigned to it is uneven, we will have one unpaired box. Therefore unpaired boxes are assigned to different unloading bays. If an uneven number of boxes is assigned to a given bay, e.g. 5, the first 4 boxes are delivered two by two in 2 routes in order to minimize the travel time related to the delivery trips, while the 5th box is an unpaired box and must be loaded on a FURBOT vehicle together with another unpaired box, assigned to a different unloading bay. The choice related to how to couple unpaired boxes on a given vehicle is critical since it heavily affects the travel time related to the delivery trips.

A genetic algorithm has been proposed for solving the routing problem. The fitness function is the inverse of the overall cost of the routes travelled for delivering all the unpaired boxes. It has the following expression:
$$ \frac{1}{{\displaystyle \sum_{k\in K}{\displaystyle \sum_{\left(i,j\right)\in A}{c}_{ij}{x}_{ij}^k}}} $$
  • k is the k th route

  • K is the number of routes required for delivering the unpaired boxes

  • $$ {x}_{ij}^k=\left\{\begin{array}{c}\hfill 1\mathrm{ifthelink}\left(i,j\right)\mathrm{belongstotheroute}k,k\in K\hfill \\ {}\hfill 0\mathrm{otherwise}\hfill \end{array}\right. $$
  • c ij is the cost of the link (i, j) which is equal to the link travel time.

The fitness function has been maximized adopting Genetic Algorithms (GA).

Genetic Algorithms (GAs) are adaptive heuristic search algorithms premised on the evolutionary ideas of natural selection and genetic. The basic concept of GAs is designed to simulate processes in natural system necessary for evolution, specifically those that follow the principles first laid down by Charles Darwin of survival of the fittest. As such they represent an intelligent exploitation of a random search within a defined search space to solve a problem. GAs were introduced as a computational analogy of adaptive systems.

A solution algorithm for the routing problem has been proposed by Ren [13]. We have slightly modified this algorithm to better adapt it to our problem.

The algorithm is iterative and in each iteration the population is updated. The population includes N chromosomes (N is the population dimension) where each chromosome refers to a feasible solution of the routing problem.

Each chromosome is composed only by the routes that allow to deliver the unpaired boxes.

Each route is composed of 3 elements: the identifier of UDC and of the two unloading bays related to the unpaired boxes loaded in the vehicle (the route is composed of 2 elements if only one box is loaded), as schematically shown in Fig. 2. When the algorithm terminates a final population is provided. The chromosome in the final population that has the maximum value of the fitness function will be the optimum solution, i.e. the routing that minimizes the total travel time.
Fig. 2
Fig. 2

Definition of the population of chromosomes

The proposed algorithm works as follows.

An initial population of 50 chromosomes is randomly generated:
$$ {X}^0=\left\{{x_1}^0,\dots, {x_{50}}^0\right\}. $$

This value is coherent with the works by Zheng and Zhang [18] and by Zhu [19], and, in the chosen configuration, ensures a good exploration of the search space.

At each generic iteration t of the algorithm, a given population of X t is known.

Then, n generations of children chromosomes are performed; n is assumed equal to 10, and in each generation two children chromosomes are created. n can assume any value, provided that it is lower than N/2 [15]. The generation of the two children chromosomes, in each of the n generations, is performed by applying the following operations:
  1. 1.
    Selection of the two “parents” chromosomes: from the population X t of chromosomes available at iteration t, the parents chromosomes are selected with the roulette wheel method, as suggested in Zheng and Zhang [18]. The roulette wheel works as follows. Calling f i the fitness of the generic i th chromosome of the population, the i th chromosome is selected as a parent chromosome with the probability p i , where:
    $$ {p}_i=\frac{f_i}{{\displaystyle {\sum}_{j=1}^N{f}_j}} $$

    N = 50 is the population dimension. The two parents chromosomes will generate the two children chromosomes.

  2. 2.

    Among the two “parents” chromosomes, a chromosome is extracted, which will be used to generate the beginning of the first child’s genome. We will call this chromosome “first chromosome” in the following. The other chromosome will be called “second chromosome”. For the second child, the roles of the first and of the second chromosomes are exchanged.

  3. 3.

    Extraction of the routes in which crossover should be performed: for each child, according to Ren [13], a string of 0 and 1 is extracted. The string dimension (K) coincides with the number of routes in the chromosomes. If the generic element k of the string, k = 1,…, K, is equal to 0, then the crossover will be applied to the corresponding route. If the element of the string is equal to 1, no crossover will be applied to the corresponding route.

  4. 4.

    Crossover: Each route is composed of 3 elements (2 elements if only one box is loaded). The position of the crossover, i.e. between the depot and the 1st box unloading bay (1st stop), between the 1st box unloading bay and the 2nd box unloading bay (2nd stop), between the 2nd box unloading bay and the depot, is extracted randomly.

  5. 5.

    Child chromosome: according to the crossover positions, the child chromosome will be generated by alternating pieces (sequences of routes and routes’ elements) of the two parents chromosomes.

    The following example aims to explain how the crossover takes place in practice. Let’s assume each chromosome is composed of 4 routes (K = 4). Therefore the string (at point 2) has 4 elements; these elements are for example, for the first child: 1001. As a result, crossover takes place in the 2nd and 3rd route of the chromosome. The extracted crossovers positions are, for instance, between the 1st and 2nd stops in the second route and between the depot and the 1st stop in the third route. In the child chromosome, the 1st route and the part of the 2nd route before the 1st crossover will be copied from the first parent chromosome. The part of the 2nd route after the 1st crossover and the part of the 3rd route before the 2nd crossover will be copied from the second parent chromosome. Finally, the part of the 3rd route after the 2nd crossover and the 4th route will be copied again from the first parent chromosome.

  6. 6.

    Integration of the missing elements, elimination of repeated elements: It could happen on one hand side, that a given unloading bay, which should appear only once since we are dealing with only unpaired boxes, appears several times in the child chromosome; on the other hand side, that a given unloading bay, where an unpaired box is addressed, doesn’t appear in the child chromosome. Therefore, in the child chromosome, the repetitions of the same unloading bays are deleted (only the first time a given unloading bay appears in a chromosome is taken) and the missing unloading bays are integrated.

  7. 7.

    Mutation: Two routes in the child chromosome are extracted. For each extracted route, an unloading bay is selected: it must not correspond to the UDC. The two selected unloading bays are exchanged.

    When 10 generations are performed (n = 10), and therefore 20 children chromosomes are generated, the population is updated in the following way. The fitness of the children chromosomes is evaluated, together with the fitness of the parents chromosomes. The initial population of the (t + 1) th iteration, i.e. X t+1, is generated by removing the 2n worst solutions [15].

    Through this process, it is expected that an initial population of randomly generated chromosomes will improve as parents are replaced by better offspring. Some theoretical results support this claim [15].

    Several stopping criteria exist in literature, mainly regarding the number of iterations and the fitness variance in the population. We stop the algorithm when, in the current iteration, the fitness variance is lower than 0.01.

    The robustness of the algorithm has been tested by taking: a different initial population, and a different population size (however greater than 30 chromosomes).

    The proposed algorithm determines the routes which minimize the travel time related to the delivery trips of the unpaired boxes. The delivery trips related to the remaining boxes are easily defined, as already mentioned in this section. It is possible now to assess the trip times and the energy demand for all the trips. Given the time period at disposal to perform the deliveries, which will be called delivery time window in the following, it is possible to calculate the number of required FURBOT vehicles.


3 The case study

The overall procedure has been applied to the old part of Barreiro, a suburb of Lisbon, Portugal.

3.1 The input data

The algorithm input data are:
  • the freight transport demand;

  • the Barreiro road network:

  • position of the urban distribution centre;

  • the footways network and the FURBOT vehicles network;

  • number, localization and capacity of possible unloading bays.

3.1.1 Barreiro territory and the road network

Barreiro is a suburb of Lisbon. This village is on the edge of a peninsula, on the left side of the Tago River. Lisbon is on the right side, in front of Barreiro. The intervention area, i.e. the old part of Barreiro, is about 1 km2. The area is almost flat. Roads form a grid and vehicles are allowed to circulate in the area. Nearly all roads are wide enough to allow FURBOT vehicles to circulate, but they are too narrow to allow the circulation of trucks without difficulty. FURBOT vehicles do not need any dedicated space for boxes unloading, since the operation is completely automatic and requires a very short time. Instead, unloading bays are needed to place the FURBOT boxes. Boxes can be placed nearly everywhere in the area, in some parking spaces not occupied by cars and on the walkside. Barreiro municipality is shown in Fig. 3, with an indication of the intervention area. A screenshot of the intervention area, with the localization of commercial activities, is provided in Fig. 4.
Fig. 3
Fig. 3

Map of Barreiro municipality: the intervention area is circled through a red line. The highway to/from Barreiro is the IC21. The position of the UDC is pointed through a blue dot

Fig. 4
Fig. 4

The FURBOT intervention area. The position of commercial activities is pointed in this map

The area chosen for the Urban Distribution Centre (UDC) is the Quimiparque, an industrial and logistic area placed on the north-east side of the intervention area, accessible from the river through a small port, and from the railway through several branches coming from the rail yard. Moreover, the highway to Barreiro terminates in correspondence of the Quimiparque. The position of the UDC is also indicated in Fig. 3.

3.1.2 Barreiro freight transport demand

The demand directed to end consumers has been assumed equal to 811 packages per day. The demand directed to commercial activities is equal to 11,864 packages/day, among which 11 % are pallets, large boxes and sacks, which are placed in FBL boxes. This demand has been assumed proportional to that registered in Italian historical city centres.

Therefore, the total number of packages delivered each day is 12,675. 11,370 are small packages to be clustered in LBL boxes. 1,305 are heavy packages to be consolidated in 1,305 FBL boxes.

3.2 The optimization results and the performances of the FURBOT freight distribution

The delivery time window is assumed: from 6 to 7:30 a.m, and from 9 to 12 a.m. It has been chosen not to perform deliveries in the morning peak period therefore: on one hand delivery trips do not increase their duration because of road congestion, on the other hand impedance to passenger cars because of FURBOT vehicles is avoided. Moreover, during the peak hour FURBOT vehicles can be put in charge at the UDC.

The outputs from the clustering algorithm are reported in the following. The optimum number of LBL boxes results equal to 570: therefore, in order to deliver 12,675 packages, 1,875 boxes (1,305 FBL boxes plus 570 LBL boxes) are required. These boxes will be placed in 70 unloading bays, as shown in Fig. 5 (the red dots correspond to the unloading bay positions - the dimension of a given red dot is proportional to the number of boxes placed in its location). The average load factor of LBL boxes is 0.88. The maximum and the average distances travelled by receivers are respectively equal to 307 and 85 m. The total time walked by customers is 14,780 min, and therefore the total users cost is equal to 5,320 €.
Fig. 5
Fig. 5

The unloading bays positions (red dots). The red dot is proportional to the number of boxes (FBL and LBL) in the given unloading bay

The outputs from routing algorithm are reported in the following. The total distance travelled for delivering the boxes is equal to 4,944 km. The total time travelled by FURBOT vehicles is equal to 195.8 hours. The number of trips necessary to deliver the boxes is 938. Considering about 5 min in each trip for the procedures of loading and unloading the boxes on the FURBOT vehicles, the required fleet dimension is 46 vehicles. The daily operator cost of the system is equal to 1,680 €. The daily amortization cost of boxes is equal to 628 €, the daily amortization cost of vehicles is 950 €, while the daily operative cost of FURBOT vehicles is 100 €.

The total cost of the system (i.e. users cost + operator cost) is equal to 7,000 €.

The simulation has shown that increasing the number of LBL boxes does not decrease significantly the cost supported by users. However, the first three terms of the operator cost in Eq. 3 increase linearly with the LBL box number. This results in a slight increase in the value of the cost function.

4 Conclusions and future work

A new freight delivery system for urban areas has been proposed. This system is particularly suitable for historical city centres, because of the features of FURBOT vehicles (small dimensions, mobility dexterity, electrical power).

Moreover, the UDC should not be too far from the historical city centre border and the freight transport demand should be relevant.

In this paper a procedure for optimizing the proposed transport system performances is presented. The proposed optimization model shows some limitations. Firstly, the optimizations of the users cost, which depends on the total distance walked by them to collect their packages, and of the operator cost, which depends on the overall distance travelled by vehicles, and by the number of required vehicles, have been performed in sequence. This highly simplifies the problem but is quite a strong assumption, because the boxes positions determined according to the receivers addresses are not necessarily the optimum ones from the routing point of view.

Secondly, the battery recharge procedure has been neglected. The battery of the vehicle has an autonomy of an average of 5 h, which is enough to perform the most consuming delivery trip, but not enough for a vehicle to be always available to perform deliveries. Therefore the required fleet dimension should be affected by the time required for the recharging processes. The idea is to perform deliveries before and after the morning peak period, therefore on one hand FURBOT vehicles do not create impedance to passenger cars and public transport, on the other hand FURBOT vehicles have enough time to recharge the battery.

Thirdly, we have neglected the reverse logistic, i.e. the trips performed by FURBOT vehicles to collect the empty boxes, and the freight demand generated in the study area and addressed outside the area.

In the proposed methodology, the freight transport demand is assumed fixed and therefore it is anelastic respect to the fee the users have to pay for the transport service. This hypothesis is valid if the proposed transport system is offered by a public body. If the FURBOT system is managed by a private body, e.g. a consortium of freight transport operators, the target of the system manager is to maximize profits and the demand should be considered as a function of the fee for the service. In this last case, a new methodology can be proposed which deals with an elastic freight transport demand, and the elasticity of freight demand respect to the price of the FURBOT service can be studied.

Further research on this field will be therefore aimed: on one hand, at studying the reverse logistic; on the other hand, at modelizing the proposed system under the assumption of elastic demand.

The overall transport system has been applied to the scenario of Barreiro old town. The application results show that the system has a good performance. In fact, the load factor of LBL boxes is equal to 88 %: this is a good result because the average load factor of vans in European historical city centres, like Barreiro, is about 30 % [3]. Furthermore, as FURBOT vehicles are electrically powered, the degree of pollution related to freight distribution is zero. A future work could be also a sensitivity analysis according to variations in the freight transport demand or in the dimension of packages.



The research has been carried out within the FURBOT project funded by the European commission [FP7-SST-2011-RTD-1].

Open Access This article is distributed under the terms of the Creative Commons Attribution License which permits any use, distribution, and reproduction in any medium, provided the original author(s) and the source are credited.

Authors’ Affiliations

Department of Civil and Industrial Engineering, University of Pisa, Pisa, Italy


  1. Cepolina EM (2005) A methodology for defining building evacuation routes. Civ Eng Environ Syst 22(1):29–47. doi:10.1080/10286600500049946 View ArticleGoogle Scholar
  2. Cepolina EM, Farina A (2013) An optimization methodology for the consolidation of urban freight boxes. Proc HMS2013, Athens, September 25–27Google Scholar
  3. Dablanc L (2007) Goods transport in large European cities: difficult to organize, difficult to modernize. Transport Res A-Pol 41(3):280–285. doi:10.1016/j.tra.2006.05.005 Google Scholar
  4. Dablanc L, Dizian D, Levifve H (2011) Urban freight consultations in the Paris region. Eur Transp Res Rev 3:47–57. doi:10.1007/s12544-011-0049-2 View ArticleGoogle Scholar
  5. Dinale A, Molfino R, Huang P, Zoppi M (2013) A new robotized vehicle for urban freight transport. Proc of HMS 2013, Athens, September 25–27Google Scholar
  6. Gonzales-Feliu J, Salanova JM (2012) Defining and evaluating collaborative urban freight transportation systems. Procedia Soc Behav Sci 39:172–183. doi:10.1016/j.sbspro.2012.03.099 View ArticleGoogle Scholar
  7. Gonzales-Feliu J, Morana J, Salanova JM, Ma TY (2013) Design and scenario assessment for collaborative logistics and freight transport systems. Int J Transp Econ 40(2):207–240Google Scholar
  8. Hoppner F, Klawonn F (2008) Clustering with size constraints. In: Jain LC, Sato-Ilic M, Virvou M, Tsihrintzis GA, Balas VE (eds) Computational intelligence paradigms. Springer, Berlin. doi:10.1007/978-3-540-79474-5_8 Google Scholar
  9. Klawonn F, Hoeppner F (2006) Equi-sized, homogeneous partitioning. In: Gabrys B, Howlett RJ, Jain LC (eds) Knowledge-based intelligent information and engineering systems, part II. Springer, Berlin, pp 70–77. doi:10.1007/11893004_9 View ArticleGoogle Scholar
  10. Laarhoven JM, Aarts EHL (1987) Simulated annealing: theory and applications. Kluver, DordrechtView ArticleMATHGoogle Scholar
  11. Muscolo GG, De Leonardo L, Pietronave G, Dinale A, Zoppi M, Molfino R (2014) A novel robotic handling device integrated on a freight urban robotic vehicle. Proc of Transport Research Arena 2014, Paris, April 14–17.Google Scholar
  12. Park M, Regan A (2004) Issues in emerging home delivery operations. UC Berkeley: Univ of California Transportation Center.
  13. Ren CEN (2012) Applying genetic algorithm for capacitated vehicle routing problem. Proc of EMEIT-2012, Shenyang (China), September 7–9Google Scholar
  14. Shimamoto H, Murayama N, Fujiwara A, Zhang J (2010) Evaluation of an existing bus network using a transit network optimisation model: a case study of the Hiroshima City Bus network. Transportation 37(5):801–823. doi:10.1007/s11116-010-9297-6 View ArticleGoogle Scholar
  15. Toth P, Vigo D (2002) The vehicle routing problem. SIAM, PhiladelphiaView ArticleMATHGoogle Scholar
  16. Yao X (1991) Simulated annealing with extended neighbourhood. Int J Comput Math 40:169–189. doi:10.1080/00207169108804011 View ArticleMATHGoogle Scholar
  17. Yao X (1992) Dynamic neighbourhood size in simulated annealing. Proc. of Int Joint Conference on Neural Networks, Beijing, November 3–6. Vol.1, IEEE Press, Piscataway, NJ, pp. 411–416Google Scholar
  18. Zheng Y, Zhang G (2008) A genetic algorithm for vehicle routing problem with forward and reverse logistics. Proc. of WiCOM 2014, Dalian (China), October 12–14Google Scholar
  19. Zhu KQ (2003) Population diversity in genetic algorithm for vehicle routing problem with time windows. Dept of Computer Science, National Univ of Singapore.
  20. Zhu S, Wang D, Li T (2010) Data clustering with size constraints. Knowl-Based Syst 23(8):883–889. doi:10.1016/j.knosys.2010.06.003 View ArticleGoogle Scholar
  21. CityLog project website [accessed June 2013]:
  22. Eurostat [accessed April 2013]:
  23. Furbot project website [accessed April 2013]:


© The Author(s) 2015