A matheuristic for a multimodal long haul routing problem
 689 Downloads
 3 Citations
Abstract
We address a planning problem faced by logistics service providers who transport freight over long distances. Given a set of transportation requests, where the origin and the destination of each request are located far apart from each other, a logistics service provider must find feasible vehicle routes to fulfil those requests at minimum cost. When transporting freight over long distances, multimodal transportation provides a viable alternative to traditional unimodal road transportation. We introduce this new problem, which we call the multimodal long haul routing problem (MMLHRP), and present a mathematical formulation for it. Furthermore, we propose a matheuristic, using iterated local search within a column generation framework, for solving the MMLHRP. Results show that large cost savings can be achieved through multimodal transportation compared to unimodal road transportation.
Keywords
Multimodal transportation Column generation Iterated local searchMathematics Subject Classification
90B06 90C111 Introduction
Longdistance transportation plays an increasingly important role in freight transportation in Europe. In 2015 more than 40% of freight volumes transported on the road within the European Union were carried on distances larger than 500 km. This ratio is expected to increase even further in the future (Eurostat 2016a).
A longdistance transport can be split up in three segments: firstmile (i.e., the pickup process), long haul (i.e., the longdistance transportation), and lastmile (i.e., the delivery process). Typically the first and lastmile transports need to be conducted by road transportation as most companies do not have a direct connection to a rail network and are not located at a port. For the long haul, on the other hand, additional modes of transportation such as rail or water can be considered. The main advantages of combining several modes of transportation are both lower costs and a lower environmental impact compared to traditional unimodal road transportation (SteadieSeifi et al. 2014).
Although the rail network in Europe is well elaborated and maintained, and the RhineMainDanube axis provides an excellent opportunity to include inland waterways in the transport chain (especially in Central and East Europe), freight transportation in Europe is currently still mainly done via road. The statistical office of the European Union reports a modal split of 75.4, 18, and 6.6% for road transportation, rail transportation, and inland waterway transportation, respectively, for the year 2014 (Eurostat 2016b).
In this article we consider an operational problem faced by logistics service providers who transport freight over long distances. That is, given a set of transport requests where the origin and the destination of each request are located far apart from each other, the logistics service providers must find feasible vehicle routes to fulfil those requests at minimum cost. We consider the full truck load version of this problem. That is, we consider only full truck loads in the first and lastmile, and allow consolidation of requests only on long haul vehicles. This version of the problem arises in many industrial contexts such as transportation of raw materials or steel products, where more than one short haul vehicle is needed to transport a single request. We consider a heterogeneous fleet of long haul vehicles corresponding to different modes of transportation and assume that the logistics service providers do not operate a fleet of short haul vehicles themselves, but utilize carriers. A vehicle which conducts a longdistance transport might have to travel for several days. In many cases, labour regulations prohibit a vehicle (e.g. a truck with just one driver) from travelling such a long time nonstop. In order to take such constraints into account we consider a daily operation time limit for each vehicle. Furthermore, we assume that a request may be split among several long haul vehicles (possibly associated with different transportation modes). That is, we allow a request to be split into an arbitrary number of parts. Each of those parts may be transported on a different path from the origin to the destination.
Research in the area of multimodal freight transportation planning increased considerably in recent years (SteadieSeifi et al. 2014). An overview of the literature in the field of multimodal transportation planning can be found in the two most recent surveys of SteadieSeifi et al. (2014) and Caris et al. (2013).
A vast body of work deals with the Service Network Design Problem (SNDP), i.e., the (optimal) selection and scheduling of transportation services and choosing associated transportation modes, and determining the routing and flow of freight through the selected service network. A service is characterized by its origin, destination, and intermediate terminals (its route), its frequency and service capacity, and its transportation mode. A mode is characterized by its speed, loading capacity, and price. Additionally, services and modes are usually assumed to have fixed costs. Such tactical planning problems are typically modelled as fixedcost capacitated multicommodity network design formulations on timespace networks. Recently, vehicle routing aspects have also been considered in SNDPs in the form of asset (e.g. vehicles) management. A limited number of vehicles is assigned to each terminal (to which they must return). Vehicle management is then mainly incorporated as “designbalance constraints” (Pedersen et al. 2009) requiring that the number of vehicles entering and leaving a terminal must be the same, or through the design of cycles (see, for instance, Andersen et al. 2009; Andersen and Christiansen 2009; Crainic et al. 2016).
However, these formulations do not consider the routing of first and lastmile transportation. A very recent work which does consider it is by Medina et al. (2018), who essentially combine the SNDP with the Vehicle Routing Problem (VRP) and call this new problem the Service Network Design and Routing Problem (SNDRP). In this problem each supplier is assigned to a single terminal in a long haul consolidation network to which it sends goods, and each customer is assigned to a single terminal from which its shipments are delivered. Direct shipments from suppliers to terminals are assumed, but the problem allows for delivery routes that visit several customers. The firstmile together with the consolidation network are then modelled as a SNDP, while the delivery routes are modelled as a VRP. The authors present two formulations on a timespace network (one routebased and one arcbased) and solve both with a dynamic discretisation discovery algorithm.
The literature on operational multimodal transportation planning is still scarce, though (SteadieSeifi et al. 2014). Moreover, only a small part of those studies concern multimodal vehicle routing. Research on multimodal routing is mostly limited to commodity flow formulations. Such formulations usually assume an unlimited availability of first and lastmile modes of transportation, and known fixed schedules and free capacities for long haul modes of transportation. Shipments are then routed through the multimodal network by deciding upon the usage of those predefined scheduled and unscheduled services (see for example Barnhart and Ratliff 1993; Ziliaskopoulos and Wardell 2000; Chang 2008; Moccia et al. 2011).
Bock (2010) studies a multimodal vehicle routing problem. The model integrates multiple modes of transportation, transshipments, dynamic disturbances, and partial or total outsourcing of transportation services. However, split loads are not considered and the end of every time window is considered as soft, i.e. late arrivals are allowed. The dynamic problem is modelled as a rolling horizon scheme and solved with a variable neighbourhood search algorithm.
Two relevant related problems are the Pickup and Delivery Problem with transshipment (PDPT) and the Pickup and Delivery Problem with split loads (PDPSL).
Regarding the PDPT MitrovicMinic and Laporte (2006) develop a twophase heuristic solution method. They test it on small instances and show the usefulness of performing transshipments. Cortés et al. (2010) present an arcbased mixedinteger formulation for the problem which they solve by means of a branchandcut method. Qu and Bard (2012) solve the PDPT with a GRASP which uses an adaptive large neighbourhood search in the improvement phase. Masson et al. (2013) use a pure adaptive large neighbourhood search to tackle the PDPT in a passenger transportation application. Rais et al. (2014) propose a new mixedinteger formulation which they solve with a commercial solver on small instances. Recently, NevesMoreira et al. (2016) proposed a fixandoptimize matheuristic for the PDPT with additional side constraints. The authors test their solution approach on realworld instances of a long haul freight transportation problem.
Regarding split loads, Nowak et al. (2008) propose a heuristic algorithm for the PDPSL and solve several random largescale instances. Andersson et al. (2011) and Stålhane et al. (2012) solve the maritime version of the problem. The former suggests a solution method based on a priori generation of single ship schedules and two path flow models that deal with the selection of ship schedules and assignment of quantities to the schedules. The latter solves the problem by means of a branchandpriceandcut method. Both test their methods on randomly generated instances.
The contribution of our paper is threefold. First, we introduce a new problem, which we call the multimodal long haul routing problem (MMLHRP). To the best of our knowledge, no previous work has combined the routing of long haul vehicles associated with different transportation modes with the scheduling of both first and lastmile transportation, where requests are allowed to be split and vehicle operation time limits are considered. Second, we propose a matheuristic, using iterated local search within a column generation framework, for solving the MMLHRP. Third, we present managerial insights regarding both the logistics of multimodal transport and the potential cost savings through multimodal transport. These insights are based on results of computational experiments which are based on real data.
The remainder of this article is structured as follows: In Sect. 2, we give a formal description of the problem. In Sect. 3, a set covering formulation for the MMLHRP and a column generation algorithm to solve its linear relaxation are presented. In Sect. 4, we describe a matheuristic based on column generation for the MMLHRP, while computational experiments and a managerial discussion are presented in Sect. 5. Conclusions are reported in Sect. 6.
2 Problem description
We are given a set of requests R. Each request \(r \in R\) is associated with a pickup location \(r^+\), a delivery location \(r^\), a positive load \(d_r\), and two time windows; one for the pickup location \(\left( \left[ a_{r^+}, b_{r^+}\right] \right)\) and one for the delivery location \(\left( [a_{r^}, b_{r^}]\right)\).
Furthermore, a heterogeneous fleet of vehicles K is given. Each vehicle \(k \in K\) has a nonnegative capacity \(q_k\), a start depot \(o_k\) at which it must start its tour, and an end depot \(\eta _k\) at which it must end its tour. We consider two types of vehicles: short haul vehicles (e.g. trucks) and long haul vehicles (e.g. ships or trains). Long haul vehicles are further split up into active vehicles and passive vehicles. The difference between an active and a passive vehicle is, that an active vehicle can move on its own while a passive vehicle cannot. This means, that a passive vehicle must always move together with an active vehicle. The number of passive vehicles an active vehicle pulls/pushes may vary throughout its tour, but must not exceed a maximum number u at any given point in time. Each vehicle is subject to a limit \(e_k\) on the amount of hours per day it is allowed to operate, which must not be exceeded.
To facilitate the transshipment of load from short haul vehicles to long haul vehicles, and vice versa, a set of transshipment locations T is given. We assume that there are neither waiting times nor capacity restrictions at transshipment locations. Furthermore, we assume site dependency, that is to say, only short haul vehicles are able to visit every location, while long haul vehicles may only visit their respective depots and transshipment locations.
The problem is defined on a directed graph \(G = (V,A)\), where V and A are the vertex and arc sets, respectively. V is composed of the start and end depot for each vehicle, the set of pickup nodes, the set of delivery nodes, and the set of transshipment nodes. The set of arcs \(A = \bigcup \nolimits _{k \in K} A^k\), where \(A^k \subset V \times V\), defines the feasible movements of each vehicle \(k \in K\) between the different nodes in V.
With each arc \((i,j) \in A\) and each vehicle \(k \in K\) is associated a travel cost \(c_{ijk}\) and a travel time \(t_{ijk}\). Furthermore, with each transshipment node \(i \in T\) is associated a transshipment cost \(m_i\) per transferred unit. We assume that the triangle inequality holds for travel costs and travel times.
Service at a customer location must start within the prescribed time window. A vehicle may arrive prior to the beginning of the time window, but, in this case, must wait until the time window starts before starting the service. A time window is also associated with the depots. The time needed for service at any location depends on both the quantity to (un)load and the vehicle type. \(h_{ik}\) denotes the time needed for vehicle \(k \in K\) to (un)load one unit at vertex \(i \in V\).
As already mentioned, we assume that the LSPs do not operate a fleet of short haul vehicles themselves, but utilize carriers. Consequently, only trips where a short haul vehicle carries load raise costs, and, therefore, only these trips need to be considered. Furthermore, we restrict short haul vehicle transportation to full truck loads and only allow consolidation of requests on long haul vehicles. The load of a single request may be split among several long haul vehicles or even transshipped to/from the same long haul vehicle at several transshipment locations. Each part of a request may thus be transported on a different path from the pickup location to the delivery location. Consequently, each split makes it more complicated for practitioners. That is, the number of routes, logistics operations, and administrative tasks increases with each split, as well as both the routes and the product flows become more complex. Therefore, practitioners try to avoid splitting the load of a request too often. To take this into account we assume the following transshipment policy (P1): always transship as much units of load of a request as possible. That is, in case of a transshipment to a long haul vehicle, transship units of load equal to either the free capacity of the long haul vehicle or the residual load of the request. In case of a transshipment from a long haul vehicle, unload the complete amount of units of load of the request currently on the long haul vehicle.
 1.
unimodal: using only a short haul vehicle to directly transport the unit of load from its pickup location to its delivery location
 2.
multimodal: using a short haul vehicle only for the first and lastmile, and using one, and only one, long haul vehicle for the longdistance transportation in between
A feasible trip for a short haul vehicle corresponds to an arc in the graph G, while a feasible route for a long haul vehicle corresponds to a path from the start depot to the end depot in the graph G. Both a trip and a path are feasible if the vehicle capacity and the limit on the amount of hours per day the vehicle is allowed to operate are never exceeded. For short haul vehicles, the time windows at the customer nodes must be respected and, in case a short haul vehicle performs a direct transport of a request from its pickup location to its delivery location, the pickup node must be visited before the delivery node. Similarly, for long haul vehicles the time windows at the start depot and end depot must be respected and a (partial load of a) request must always be loaded onto the vehicle before it is unloaded from the vehicle. Furthermore, if a transshipment takes place the vehicle which receives the load must start its service at the transshipment node after the vehicle which gives the load.
3 A set covering formulation for the MMLHRP
Because the arc flow formulation is of limited use for generating lower bounds for the MMLHRP (see Fig. 2) we use a set covering formulation instead. Besides the fact that for vehicle routing, set covering formulations yield better lower bounds than compact formulations (Semet et al. 2014), using a set covering formulation allows us to effectively solve larger problem instances. First, let us introduce some additional notation. Let \(\Omega\) be the set of all feasible short haul vehicle trips from the pickup location of a request to its delivery location. Such a trip corresponds to an arc in the graph G of the form \((r^+,r^):r \in R\), and represents a direct unimodal transport of a request. In addition, \(\Omega\) contains all feasible sets \({\mathscr {C}} = \left\{ {\mathscr {H}},{\mathscr {S}}\right\}\), where \({\mathscr {H}}\) is a long haul vehicle route and \({\mathscr {S}}\) is a set of first and lastmile trips of short haul vehicles. \({\mathscr {H}}\) corresponds to a path in the graph G from the vehicle’s start depot to its end depot. A trip \(s \in {\mathscr {S}}\) corresponds to an arc in the graph G either of the form \((r^+,t):r \in R, t \in T\) or of the form \((t,r^):r \in R, t \in T\). The former type of a trip represents a firstmile transport, while the latter represents a lastmile transport. A set \({\mathscr {C}}\) is feasible if, and only if, \({\mathscr {H}}\) is feasible, all \(s \in {\mathscr {S}}\) are feasible, and \({\mathscr {H}}\) and \({\mathscr {S}}\) together allow for a feasible flow of each request transported by the long haul vehicle from its origin to its destination. A set \({\mathscr {C}}\), thus, represents one long haul vehicle route together with the necessary first and lastmile transports by short haul vehicles. Consequently, a column \(j \in \Omega\) consists of at least one short haul vehicle trip, and at most one long haul vehicle route.
Let \(P = \bigcup \nolimits _{r \in R} r^+\) be the set of pickup nodes, and \(\delta _i\) be the demand of pickup node \(i \in P\). Let \({\mathscr {K}}^{SHV}\) be the set of short haul vehicle types (e.g., truck), \({\mathscr {K}}^{AV}\) be the set of active long haul vehicle types (e.g., ship or train), and \({\mathscr {K}}^{PV}\) be the set of passive long haul vehicle types (e.g., barge). Then, \({\mathscr {K}} = {\mathscr {K}}^{SHV} \cup {\mathscr {K}}^{AV} \cup {\mathscr {K}}^{PV}\) is the set of all vehicle types. We denote with \({\mathscr {W}}_k\) the number of available vehicles of type \(k \in {\mathscr {K}}\). For each column \(j \in \Omega\) let \(\hat{c}_j\) be the cost of the column. \(\mu _{ij}\) denotes the quantity of pickup node \(i \in P\) delivered in column \(j \in \Omega\), while \(\rho _{kj}\) is the number of vehicles of type \(k \in {\mathscr {K}}\) used in column \(j \in \Omega\). The nonnegative integer variable \(\theta _j\) indicates the number of times column \(j \in \Omega\) is in the solution.
The approach starts with an initial set of columns and then iteratively solves the RMP and a pricing subproblem to produce columns with negative reduced cost, using dual information from the RMP. In each iteration these new columns are added to the RMP to obtain new dual information. This procedure is repeated until no new columns can be found. At that point an optimal solution of the RMP, and therefore of MP, has been found, which represents a lower bound for the problem (1)–(4).
3.1 The pricing subproblem
Due to the property of a column that it contains at most one long haul vehicle route and because all vehicles of the same type are assumed to be identical, one subproblem for each vehicle type arises. Each subproblem can be solved independently from the others. Also, since passive vehicles cannot move on their own, no separate subproblem is required for them. Rather, passive vehicles are taken into account together with active vehicles in one subproblem. Thus, the set of vehicles K in each subproblem contains only short haul vehicles and at most one long haul vehicle.
3.2 Solving the pricing subproblem
We model each pricing subproblem which considers a long haul vehicle type as a Shortest Path Problem with Resource Constraints (SPPRC). The subproblem which considers only short haul vehicles, on the other hand, can be solved by generating for each request \(r \in R\) a column j which contains only the arc \(\left( r^+, r^ \right)\). The cost of such a column is \(\hat{c}_j = c_{r^+r^k'}\), where \(k' \in B\). The quantity delivered in such a column is \(\mu _{r^+j} = \min \left( q_{k'},\delta _{r^+}\right)\), while the number of vehicles used is \(\rho _{kj} = 1\), where \(k \in {\mathscr {K}}^{SHV}\). We use the set of all such columns as the initial set \(\Omega '\) for the column generation approach.

\(a_s = a_{o_k}\), \(b_s = b_{o_k}\), \(a_z = a_{\eta _k}\), and \(b_z = b_{\eta _k}\), where \(k \in C \cup E\)

\(a_{\pi _{ir}^+} = a_{r^+} + t_{r^+ik}\), where \(k \in B\)

\(b_{\pi _{ir}^+} = \max \limits _{j \in T}(b_{r^}  t_{jr^k}  t_{ijk'})\), where \(k \in B\) and \(k' \in C \cup E\)

\(a_{\pi _{ir}^} = 0\)

\(b_{\pi _{ir}^} = b_{r^}  t_{ir^k}\), where \(k \in B\)
Description of arc types in \(A'\)
Type  Arc  Domain  Action of long haul vehicle  Cost 

1  \((s,\pi _{ir}^+)\)  \(\forall i \in T, \forall r \in R\)  Leave the depot  \(c_{s,\pi _{ir}^+} ~~~= c_{o_kik}\), where \(k \in C \cup E\) 
2  \((\pi _{ir}^+,\pi _{ip}^+)\)  \(\forall i \in T, \forall r,p \in R, r \ne p\)  Receive load of two distinct requests at the same transshipment location  \(c_{\pi _{ir}^+,\pi _{ip}^+} = 0\) 
3  \((\pi _{ir}^+,\pi _{jp}^+)\)  \(\forall i,j \in T, \forall r,p \in R, i \ne j, r \ne p\)  Receive load of two distinct requests at two distinct transshipment locations  \(c_{\pi _{ir}^+,\pi _{jp}^+} = c_{ijk}\), where \(k \in C \cup E\) 
4  \((\pi _{ir}^,\pi _{ip}^)\)  \(\forall i \in T, \forall r,p \in R, r \ne p\)  Unload two distinct requests at the same transshipment location  \(c_{\pi _{ir}^,\pi _{ip}^} = 0\) 
5  \((\pi _{ir}^,\pi _{jp}^)\)  \(\forall i,j \in T, \forall r,p \in R, i \ne j, r \ne p\)  Unload two distinct requests at two distinct transshipment locations  \(c_{\pi _{ir}^,\pi _{jp}^} = c_{ijk}\), where \(k \in C \cup E\) 
6  \((\pi _{ir}^+,\pi _{ip}^)\)  \(\forall i \in T, \forall r,p \in R, r \ne p\)  Receive load of a request then unload another request at the same transshipment location  \(c_{\pi _{ir}^+,\pi _{ip}^} = 0\) 
7  \((\pi _{ir}^+,\pi _{jr}^)\)  \(\forall i,j \in T, \forall r \in R, i \ne j\)  Receive load of a request at one transshipment location then unload it at another transshipment location  \(c_{\pi _{ir}^+,\pi _{jr}^} = c_{ijk}\), where \(k \in C \cup E\) 
8  \((\pi _{ir}^+,\pi _{jp}^)\)  \(\forall i,j \in T, \forall r,p \in R, i \ne j, r \ne p\)  Receive load of a request at one transshipment location then unload another request at another transshipment location  \(c_{\pi _{ir}^+,\pi _{jp}^} = c_{ijk}\), where \(k \in C \cup E\) 
9  \((\pi _{ir}^,\pi _{ip}^+)\)  \(\forall i \in T, \forall r,p \in R, r \ne p\)  Unload a request then receive load of another request at the same transshipment location  \(c_{\pi _{ir}^,\pi _{ip}^+} = 0\) 
10  \((\pi _{ir}^,\pi _{jr}^+)\)  \(\forall i,j \in T, \forall r \in R, i \ne j\)  Unload a request at one transshipment location then receive load of the same request at another transshipment location  \(c_{\pi _{ir}^,\pi _{jr}^+} = c_{ijk}\), where \(k \in C \cup E\) 
11  \((\pi _{ir}^,\pi _{jp}^+)\)  \(\forall i,j \in T, \forall r,p \in R, i \ne j, r \ne p\)  Unload a request at one transshipment location then receive load of another request at another transshipment location  \(c_{\pi _{ir}^,\pi _{jp}^+} = c_{ijk}\), where \(k \in C \cup E\) 
12  \((\pi _{ir}^,z)\)  \(\forall i \in T, \forall r \in R\)  Return to the depot  \(c_{\pi _{ir}^,z} ~~~= c_{i\eta _kk}\), where \(k \in C \cup E\) 
In the SPPRC one seeks to find a cheapest (shortest) path from the source vertex s to the sink vertex z. A common way to solve the SPPRC is to use a labelling algorithm (Feillet et al. 2004; Ropke and Cordeau 2009; Desaulniers 2010; Archetti et al. 2011). Such a dynamic programming algorithm builds feasible (partial) paths in \(G'\) which start at the source vertex s and end at some vertex \(i \in V'\). Each existing partial path is extended along the arcs leaving its end vertex. The algorithm starts with the partial path containing only vertex s and proceeds to create all feasible paths in \(G'\). In order to speed up the algorithm, dominated paths can be discarded throughout the search. Path p dominates path \(p'\) if both end at the same vertex, the cost of p is less then or equal to the cost of \(p'\), and all feasible extensions of \(p'\) to the sink vertex z are also feasible for p.

\(k \in {\mathscr {K}}^{AV}\), indicates the type of long haul vehicle the label represents

\(i \in V'\) is the vertex of the label

\(\zeta\) is the accumulated cost

t is the time when leaving vertex i

l is the load of the vehicle when leaving vertex i

\({\mathscr {O}} \subseteq R\) is the set of open requests. A request is considered to be open when the amount of its demand which has already been picked up is larger than the amount delivered.

\({\mathscr {U}} \subseteq R\) is the set of unreachable requests. A request r is considered to be unreachable if either the whole load of it has already been picked up, or if every extension \((i,\pi _{jr}^+):j \in T\) would violate the time window at vertex \(\pi _{jr}^+\).

\(d_r^+\), \(r \in R\), indicates how many units of the load of request r have already been transshipped to the vehicle

\(d_r^\), \(r \in R\), indicates how many units of the load of request r have already been transshipped from the vehicle

g gives the number of passive vehicles in use when leaving vertex i
3.3 The column generation algorithm
As already mentioned above, we initialize the RMP with a set of columns which contains one column for each request \(r \in R\), corresponding to direct full truck load trips from their pickup location \(r^+\) to their delivery location \(r^\). Whenever the labelsetting algorithm finds at least one column with negative reduced cost, we add them to the RMP and resolve it in order to obtain new dual information before we solve the next subproblem. Furthermore, we do not solve the subproblems to optimality in each iteration of the column generation algorithm, but stop after a sufficient amount of columns has been found by the labelsetting algorithm. When the labelsetting algorithm cannot find new columns with negative reduced cost, the column generation algorithm stops and we have obtained a lower bound for the MMLHRP.
4 Matheuristic
With the column generation algorithm presented in the previous section we are able to compute lower bounds for small sized instances in a reasonable amount of time (see Sect. 5). For medium, large, or even realworld sized instances the algorithm is not applicable, though. Due to the large amount of labels generated by the labelsetting algorithm, the column generation algorithm becomes impractical in terms of both run time and memory consumption. Therefore, we substitute the labelsetting algorithm with an iterated local search (ILS) algorithm to solve the subproblem (i.e. to generate negative reduced cost columns). When using the ILS algorithm to solve the subproblem, the column generation algorithm is not exact any more.
Due to the fact that it is not guaranteed that the optimal solution of the MP will be found when using the ILS algorithm, we refrain from using a branchandprice procedure for obtaining an integer solution. Instead, we use the columns generated by the column generation algorithm for the MP to solve the problem defined by (1)–(4).
4.1 Iterated local search algorithm
ILS is a metaheuristic generating a sequence of local optima. It is an iterative method which works on an incumbent solution y and considers different neighbourhoods of y in each iteration (for an elaborate description of ILS see Lourenço et al. (2010)). A solution, in our case, is a path in \(G'\) which starts at the source vertex s and ends at the sink vertex z. The pseudo code for the ILS is depicted in Algorithm 1.
 1.
Insertion–adding a new request to the path
 2.
Removal–removing a request from the path
In the Perturbation phase the method performs n random moves with equal probability of a move being an insertion or a removal of a request (\(n=5\) in practice). In case of an insertion, we first randomly choose a request which is not yet fully served. Then, we randomly choose a corresponding PTN and a corresponding DTN. After this, we insert the PTN at a randomly chosen position in the path. We insert the DTN at the first feasible position in the path after the PTN. In case of a removal, we randomly choose a PTN in the path and remove it together with the corresponding DTN.
In the local search the method employs a steepest descent on both neighbourhoods, i.e. in each iteration we perform the move which brings the best improvement of the path cost, be it an insertion or a removal of a request. For this purpose we first calculate for all not yet fully served requests the change in the path cost incurred by inserting the corresponding PTNDTNpairs at every feasible position in the path. Then, we calculate for each request which is already served on the path (i.e. PTNDTNpair) the change in the path cost incurred by removing it from the path. Finally, we perform the move which yields the highest cost reduction. The local search stops when no improving neighbour can be found, i.e. when the change in the path cost of every feasible move is greater than or equal to zero.
In line 5 we determine if the new solution should be accepted. We use the socalled random walk as acceptance criterion, where a new local optimum is always accepted as a new incumbent solution. Furthermore, in each iteration we check if the new solution has negative reduced cost, and store it if it does (lines 8 and 9).
In line 11 we check if a stopping criterion is met. We apply the adaptive stopping criterion proposed by Cacchiani et al. (2014). It automatically adapts the number of iterations to the difficulty of the problem and works as follows: if a negative cost path has been found after n iterations, then the algorithm stops; else, the total number of iterations is increased by the factor \(\psi\), in order to allocate more time to the algorithm. Additionally, it is necessary to define a total limit on the number of iterations \(n_{MAX}\) which can never be exceeded. We set \(n = 10\), \(\psi = 10\), and \(n_{MAX} = 1000\) in our implementation.
At the end of the algorithm (line 12) all paths with reduced cost within 10% of the best solution found are returned to the RMP.
4.2 Hybrid labelsetting/ILS algorithm
Additionally, we implemented a hybrid version of the algorithm which combines the labelsetting algorithm and the ILS (ILS/Lbl) to solve the subproblem. It starts with ILS to solve each subproblem. If ILS does not find a negative reduced cost column for at least one subproblem, we switch to the labelsetting algorithm. As soon as the labelsetting algorithm finds a new column we switch back to ILS. The algorithm stops when the labelsetting algorithm cannot find new columns. Note that this is an exact algorithm.
5 Computational experiments
In this section, we summarize the computational experiments performed to assess both the performance of our solution method and the potential savings achievable through multimodal transport. The algorithm was implemented in C++ using CPLEX 12.7 as MIPsolver. All experiments were performed on an Intel Xeon 2.6 GHz CPU with a run time limit of 8 h. Because ILS is stochastic, we perform five runs whenever we use a subproblem algorithm involving ILS.
In the following three subsections we first present the instances which we use for the computational experiments (Sect. 5.1). In Sect. 5.2 we present computational results with respect to the performance of our solution method. Finally, in Sect. 5.3 we present managerial findings.
5.1 Test instances
We generated a set of test instances mimicking realworld longdistance transportation within and between countries along the Danube. For this purpose we created a set of customer locations and a set of transshipment locations. The set of customer locations contains 55 locations, where each location corresponds to a random address within the industrial area of a major city from the following six countries: Austria, Slovakia, Hungary, Romania, Serbia, and Bulgaria. Five locations were selected from Serbia and ten locations from each of the other countries. The set of transshipment locations contains the location of the train station in each of the selected cities as well as the locations of nine major ports along the Danube.
The pickup and the delivery location for each request are randomly selected from the set of customer locations. The demand of a request is randomly generated as well, with \(d \sim U(20,1500)\) and \(d \in {\mathbb {N}}\). Each instance considers a time horizon of 30 days. The time windows of a request were randomly placed within this interval. The width of each time window is either 8, 72, or 120 h, which was chosen randomly with an equal probability for each widthsize. We created ten sets of requests for each of the following size categories (= number of requests): 2, 5, 10, 30, 50, 100, and 200. In order to analyse if it is beneficial to consider more transshipment locations than just the closest one for each customer, we generated from each set of requests an instance which contains only the closest train station and the closest port for each customer location (named “closest”), and another instance which contains all 64 transshipment locations (named “all”).
Parameters used in test instances
Vehicle type  Travel cost (€)  Capacity (tons)  Max. operating time per day (h) 

Truck  0.73/km  20  10 
Train  6.95/km  1300  24 
Wagon  0.32/km  50  24 
Ship  43.76/h  1000  14 
Push craft  35.67/h  0  24 
Barge  10.45/h  1000  24 

Motorway: 65 km/h

Highway: 60 km/h

City: 20 km/h
 1.
no long haul vehicles available (named “N”)
 2.
only one ship available (named “S”)
 3.
only one push craft with six barges available (named “P”)
 4.
only one train available (named “T”)
 5.
only 26 wagons available (named “G”)
 6.
the available capacity of waterbound long haul vehicles equals 30% of the total demand, no railbound long haul vehicles available (named “W30”)
 7.
the available capacity of railbound long haul vehicles equals 30% of the total demand, no waterbound long haul vehicles available (named “R30”)
 8.
the available capacity of both waterbound and railbound long haul vehicles each equals 30% of the total demand (named “WR30”)
 9.
no restriction on the availability of waterbound long haul vehicles, no railbound long haul vehicles available (named “W”)
 10.
no restriction on the availability of railbound long haul vehicles, no waterbound long haul vehicles available (named “R”)
 11.
no restriction on the availability of long haul vehicles (named “\(\infty\)”)

\(a \in \{2,5,10,30,50,100,200\}\): size category

\(b \in \{0,1,\dots ,9\}\): set of requests

\(c \in \{\text {closest},\text {all}\}\): available transshipment locations

\(d \in \{\text {N},\text {S},\text {P},\text {T},\text {G},\text {W30},\text {R30},\text {WR30},\text {W},\text {R},\infty \}\): available long haul vehicles
All instances are available at: http://plis.univie.ac.at/research/testinstances/
5.2 Computational results
In the first set of experiments we evaluate the stability of the ILS. For that purpose we calculate for each instance the percentage gap between the objective function value of the best run and the worst run. Figure 4 shows boxplots of the percentage gaps regarding the MP solutions (Fig. 4a) and the integer solutions (Fig. 4b) for each instance size. The number in brackets under the instance names represents the total number of instances in this size category. In order to obtain a better visual representation of the boxplots we truncated the yaxis at 5 and 10%, respectively. This cut off three outliers of Fig. 4a (max. outlier = 8.34%) and ten outliers of Fig. 4b (max. outlier = 21.13%). The ILS appears to be quite stable. For more than 90% of the instances the gap between the best and the worst run is less than 1% regarding MP solutions and less than 2% regarding integer solutions. Using the hybrid ILS/Lbl algorithm decreases the gaps even further. However, due to the involvement of the labelsetting algorithm we could only solve instances with up to ten requests. Because the gap is equal to 0% for more than 75% of the instances regarding both MP solutions and integer solutions, we do not present the data as boxplots but only report the minimum, average, and maximum gap for each instance size in Tables 3 and 4, respectively.
Stability of the ILS/Lbl algorithm: MP solutions
Name  gap (%)  

Min  Avg  Max  
2\(*\)\(*\)[!N] (200)  0.00  0.00  0.00 
5\(*\)\(*\)[!N] (200)  0.00  0.00  0.23 
10\(*\)\(*\)[!N] (200)  0.00  0.12  4.86 
Stability of the ILS/Lbl algorithm: integer solutions
Name  Gap (%)  

Min  Avg  Max  
2\(*\)\(*\)[!N] (200)  0.00  0.01  2.25 
5\(*\)\(*\)[!N] (200)  0.00  0.02  1.62 
10\(*\)\(*\)[!N] (200)  0.00  0.29  6.39 
Comparison: computing times and solution quality
Name  Lblsetting  ILS  ILS/Lbl  

CPU  CPU  Gap (%)  CPU  Gap (%)  
Min  Avg  Max  Min  Avg  Max  
2\(*\)\(*\)[!N] (200)  0.2  0.1  0.0  0.0  7.9  0.1  0.0  0.0  0.0 
5\(*\)\(*\)[!N] (200)  11.7  0.3  0.0  0.0  4.8  6.9  0.0  0.0  0.0 
10\(*\)\(*\)[!N] (200)  \(3798.9^*\)  3.5  − 11.1  − 0.2  3.2  \(2675.0^+\)  − 11.1  − 0.4  0.0 
Labelsetting: impact time window width and period length
Name  30 day period  60 day period  

8 h  120 h  240 h  8 h  120 h  240 h  
2\(*\)\(*\)\(\infty\) (20)  0.3  0.4  0.4  0.3  0.4  0.4 
5\(*\)\(*\)\(\infty\) (20)  6.9  21.4  40.1  22.5  23.0  43.7 
10\(*\)\(*\)\(\infty\) (20)  242.9  3139.0\(^*\)  8784.3\(^+\)  1554.0  3891.3  10665.9\(^+\) 
ILS: impact time window width and period length
Name  30 day time horizon  60 day time horizon  

8 h  120 h  240 h  8 h  120 h  240 h  
2\(*\)\(*\)\(\infty\) (20)  0.1  0.1  0.1  0.1  0.1  0.2 
5\(*\)\(*\)\(\infty\) (20)  0.4  0.7  1.1  1.2  1.5  2.1 
10\(*\)\(*\)\(\infty\) (20)  2.1  5.7  8.8  10.6  12.4  19.2 
30\(*\)\(*\)\(\infty\) (20)  48.3  128.4  200.2  244.5  388.9  518.2 
50\(*\)\(*\)\(\infty\) (20)  259.4  649.8  944.0  1337.9  2056.3  2874.6 
100\(*\)\(*\)\(\infty\) (20)  1944.8  4503.6  6985.7  11647.1  17086.7  22404.0\(^*\) 
200\(*\)\(*\)\(\infty\) (20)  9449.7  25268.5  28800.0\(^+\)  28800.0\(^+\)  28800.0\(^+\)  28800.0\(^+\) 
ILS/Lblsetting: impact time window width and period length
Name  30 day period  60 day period  

8 h  120 h  240 h  8 h  120 h  240 h  
2\(*\)\(*\)\(\infty\) (20)  0.2  0.3  0.3  0.2  0.3  0.4 
5\(*\)\(*\)\(\infty\) (20)  2.8  6.0  12.5  8.0  9.7  16.1 
10\(*\)\(*\)\(\infty\) (20)  123.0  1329.6  6299.2\(^*\)  601.8  1593.3  6977.2\(^+\) 
In the following, all analyses compare only integer solutions and are based on results obtained with ILS as the subproblem algorithm.
5.3 Managerial discussion
Now we address the question of whether it can be beneficial to consider more potential transshipment locations than just the closest one of each customer. For that purpose we compare the objective function values of the solutions of the “closest” instances with the “all” instances. Table 9 gives the average and maximum percentage gap between those solutions, whereby the solution values of the “closest” instances are the reference values. For all instance sizes, the solutions where all transshipment locations are considered are on average less than 0.25% better. The maximum difference of \(\sim\)7.5% is achieved at an instance of size 10 and decreases to less than 1% for larger instances. However, this is to be expected as the number of additional ‘nonclosest’ transshipment locations decreases with an increasing number of requests. Table 9 also shows that on average the number of requests transshipped at a location which is not the closest one is less than one. Additionally, Table 9 shows that the moderate decrease in costs is achieved through a comparatively large increase in computation time. It takes on average 2–3 times longer to solve larger instances which contain all transshipment locations.
Comparison: “closest”–“all”
Name  Gap “closest” vs. “all” (%)  #requests nonclosest  Run time factor  

Avg  Max  Avg  Max  Min  Avg  Max  
2\(*\)\(*\)[!N] (100)  0.03  0.63  0.1  1  0.0  13.2  147.7 
5\(*\)\(*\)[!N] (100)  0.07  6.68  0.2  1  0.0  13.3  59.5 
10\(*\)\(*\)[!N] (100)  0.22  7.57  0.4  3  0.1  5.9  18.9 
30\(*\)\(*\)[!N] (100)  0.19  2.95  0.7  5  0.2  2.1  34.8 
50\(*\)\(*\)[!N] (100)  0.04  1.27  0.4  5  0.2  1.4  6.8 
100\(*\)\(*\)[!N] (100)  − 0.06  0.98  0.3  7  0.0  3.0  50.9 
200\(*\)\(*\)[!N] (100)  0.01  0.80  0.5  5  0.0  2.6  52.1 
Average delivery time increase: unimodal–multimodal
Name  Delivery time increase (%)  

\(\text{d = S}\)  \(\text{d = P}\)  \(\text{d = T}\)  \(\text{d = G}\)  \(\text{d = W}\)  \(\text{d = R}\)  \({\text{d = }\infty }\)  
2\(*\)\(*\)d  150.7  87.8  82.3  71.3  148.4  79.3  79.3 
5\(*\)\(*\)d  118.3  111.4  105.7  119.6  123.1  120.7  119.0 
10\(*\)\(*\)d  96.4  54.3  54.9  59.2  76.5  59.5  59.5 
30\(*\)\(*\)d  61.9  59.1  46.6  55.5  58.5  48.5  53.9 
50\(*\)\(*\)d  41.6  35.2  26.7  38.5  44.4  42.0  45.1 
100\(*\)\(*\)d  58.2  48.0  28.7  42.3  53.9  46.1  50.1 
200\(*\)\(*\)d  75.8  52.0  41.1  54.1  63.5  53.7  49.4 
Average  86.1  64.0  55.2  62.9  81.2  64.2  65.2 
We now want to determine the potential cost savings through multimodal transport. For that purpose we compare, for each set of requests, the objective function values of the solutions of the different vehicle availabilities. Table 11 presents the average percentage cost reduction for each of the ten multimodal cases compared to the unimodal case (\(*\)\(*\)\(*\)N). Using a single ship leads to a cost reduction of roughly 7% on average. With a single push craft (and six barges) the cost reduction can be doubled, which is, of course, a direct consequence of the larger capacity. Both a single train and 26 wagons achieve an even larger decrease in costs, with savings of \(\sim\)20 and \(\sim\)26%, respectively.
Furthermore, rail transportation achieves average cost reductions more than twice as high as water transportation (see “W30” vs. “R30” and “W” vs. “R”). This large difference in potential cost savings is partially due to time restrictions: water transportation is slower than rail transportation (see Table 10). Also, for most customer locations the closest port is further away than the closest train station, which increases the travel time in the first and lastmile. Therefore, because of time windows, some requests cannot be transported by water, but can be transported by rail. Furthermore, the larger distance to the next port not only increases the travel time of the short haul, but also its cost. Thus, for some requests it is not worthwhile to transport them by water, due to the high short haul costs, while it is worthwhile with rail transportation. On average, 98.1% of requests (or 98.4% of total demand) may be transported by rail in each of our instances, while only 71.7% of requests (or 71.3% of total demand) may be transported by water. The remaining 1.9% (1.6%), respectively 28.3% (28.7%), can or should not be transported by rail, respectively water, because of time restrictions or too large short haul costs.
Average cost reduction: unimodal–multimodal
Name  Cost reduction (%)  

\(\text{d = S}\)  \(\text{d = P}\)  \(\text{d = T}\)  \(\text{d = G}\)  \(\text{d = W30}\)  \(\text{d = R30}\)  \(\text{d = WR30}\)  \(\text{d = W}\)  \(\text{d = R}\)  \({\text{d = }\infty }\)  
2\(*\)\(*\)d (20)  12.8  17.7  26.4  37.0  17.9  33.7  33.7  17.9  40.2  40.2 
5\(*\)\(*\)d (20)  10.5  16.1  32.9  42.9  15.4  42.7  42.9  17.2  49.7  49.7 
10\(*\)\(*\)d (20)  10.1  19.2  30.8  38.3  18.9  42.3  42.6  20.7  46.5  46.5 
30\(*\)\(*\)d (20)  7.6  18.3  23.0  28.8  23.1  48.3  49.1  27.2  50.7  51.0 
50\(*\)\(*\)d (20)  4.9  14.2  16.2  21.1  20.6  48.6  49.0  24.8  50.8  50.9 
100\(*\)\(*\)d (20)  3.3  10.3  9.9  12.7  22.6  49.4  49.7  25.9  50.7  50.8 
200\(*\)\(*\)d (20)  1.9  6.5  \(5.8^*\)  7.2  22.5  50.2  50.6  25.5  50.9  51.2 
Average  7.3  14.6  20.7  26.8  20.1  45.0  45.4  22.7  48.5  48.6 
Transportation mode and long haul vehicle type split
Name  Proportion of total demand transported (%)  

Water  Rail  Road  Ship  Push craft  Train  Wagon  Truck  
\(*\)\(*\)\(*\)R30 (140)  0.0  71.5  28.5  0.0  0.0  35.3  36.2  28.5 
\(*\)\(*\)\(*\)WR30 (140)  3.4  68.5  28.1  0.9  2.4  34.1  34.4  28.1 
\(*\)\(*\)\(*\)R (140)  0.0  77.5  22.5  0.0  0.0  42.9  34.6  22.5 
\(*\)\(*\)\(*\)\(\infty\) (140)  2.4  75.1  22.5  0.6  1.8  41.0  34.1  22.5 
Average cost reduction (without wagons): unimodal–multimodal
Name  Cost reduction (%)  

\(\text{d = S}\)  \(\text{d = P}\)  \(\text{d = T}\)  \(\text{d = W30}\)  \(\text{d = R30}\)  \(\text{d = WR30}\)  \(\text{d = W}\)  \(\text{d = R}\)  \({\text{d = } \infty }\)  
2\(*\)\(*\)d (20)  12.8  17.7  26.4  17.9  28.3  28.4  17.9  28.3  28.4 
5\(*\)\(*\)d (20)  10.5  16.1  32.9  15.4  38.0  38.2  17.2  40.8  40.5 
10\(*\)\(*\)d (20)  10.1  19.2  30.8  18.9  35.3  36.8  20.7  39.4  39.4 
30\(*\)\(*\)d (20)  7.6  18.3  23.0  23.1  43.3  44.7  27.2  45.3  45.9 
50\(*\)\(*\)d (20)  4.9  14.2  16.2  20.6  42.8  44.1  24.8  45.2  45.6 
100\(*\)\(*\)d (20)  3.3  10.3  9.9  22.6  43.5  44.7  25.9  45.8  46.2 
200\(*\)\(*\)d (20)  1.9  6.5  \(5.8^*\)  22.5  44.4  45.7  25.5  46.2  46.7 
Average  7.3  14.6  20.7  20.1  39.4  40.4  22.7  41.6  41.8 
Transportation mode and long haul vehicle type split (without wagons)
Name  Proportion of total demand transported (%)  

Water  Rail  Road  Ship  Push craft  Train  Wagon  Truck  
\(*\)\(*\)\(*\)R30 (140)  0.0  66.4  33.6  0.0  0.0  66.4  0.0  33.6 
\(*\)\(*\)\(*\)WR30 (140)  7.3  61.1  31.6  2.4  4.9  61.1  0.0  31.6 
\(*\)\(*\)\(*\)R (140)  0.0  71.9  28.1  0.0  0.0  71.9  0.0  28.1 
\(*\)\(*\)\(*\)\(\infty\) (140)  5.6  66.3  28.1  1.5  4.1  66.3  0.0  28.1 
6 Conclusion
In this article we present a new problem called the multimodal long haul routing problem (MMLHRP). We propose both an arc flow formulation and a setcovering formulation for this problem. For the setcovering formulation we further propose a column generation algorithm to solve its linear relaxation, i.e., to obtain lower bounds. We solve the subproblem in this approach with both a labelsetting algorithm and an ILS. In order to obtain feasible integer solutions we propose a matheuristic which is based on the column generation framework. Computational experiments show that the ILS as the subproblem algorithm performs well compared to the labelsetting algorithm. Indeed, using ILS as the subproblem algorithm made the MMLHRP tractable for large instances.
Additional computational experiments show that it is not beneficial to consider more transshipment locations than just the closest one of a customer. Furthermore, we find that considerable cost reductions can be achieved through multimodal transport compared to unimodal transport. In our computational studies, cost reductions of more than 50% could be achieved in the most extreme cases, depending on both the number of requests and the number of available long haul vehicles. The experiments further show that water transportation hardly contributes in terms of both transported demand and cost reductions if rail transportation is available as well. In general, rail transportation achieves average cost reductions more than twice as high as water transportation.
Further research regarding the investigated problem may analyse the cost of the introduced policies and assumptions which aim at generating more practical solutions. Allowing a unit of load to use several long haul vehicles in succession is likely to further reduce overall costs. The same is true for not regulating the number of splits. Indeed, the solutions will probably not be as practical, but the tradeoff might be worth it. Another interesting research direction would be to consider an additional “green” objective, such as minimizing \(CO_2\) emissions. Especially in multimodal vehicle routing, minimizing costs and minimizing emissions of pollutants are conflicting objectives. For example, trucks typically have significantly higher routing costs than ships but are at the same time significantly less polluting than ships.
Notes
Acknowledgements
Open access funding provided by University of Vienna. The financial support by the Austrian Federal Ministry for Digital and Economic Affairs and the National Foundation for Research, Technology and Development is gratefully acknowledged. We thank Michael Wasner for bringing this problem to our attention and for his valuable realworld input. We would also like to thank the three anonymous referees for their helpful comments.
References
 Andersen J, Christiansen M (2009) Designing new european rail freight services. J Oper Res Soc 60(3):348–360CrossRefGoogle Scholar
 Andersen J, Crainic TG, Christiansen M (2009) Service network design with management and coordination of multiple fleets. Eur J Oper Res 193(2):377–389CrossRefGoogle Scholar
 Andersson H, Christiansen M, Fagerholt K (2011) The maritime pickup and delivery problem with time windows and split loads. INFOR 49(2):79–91Google Scholar
 Archetti C, Bouchard M, Desaulniers G (2011) Enhanced branch and price and cut for vehicle routing with split deliveries and time windows. Transp Sci 45(3):285–298CrossRefGoogle Scholar
 Barnhart C, Ratliff HD (1993) Modeling intermodal routing. J Bus Log 14(1):205Google Scholar
 Bock S (2010) Realtime control of freight forwarder transportation networks by integrating multimodal transport chains. Eur J Oper Res 200(3):733–746CrossRefGoogle Scholar
 Cacchiani V, Hemmelmayr VC, Tricoire F (2014) A setcovering based heuristic algorithm for the periodic vehicle routing problem. Discret Appl Math 163:53–64CrossRefGoogle Scholar
 Caris A, Macharis C, Janssens GK (2013) Decision support in intermodal transport: a new research agenda. Comput Ind 64(2):105–112CrossRefGoogle Scholar
 Chang TS (2008) Best routes selection in international intermodal networks. Comput Oper Res 35(9):2877–2891CrossRefGoogle Scholar
 Cortés CE, Matamala M, Contardo C (2010) The pickup and delivery problem with transfers: formulation and a branchandcut solution method. Eur J Oper Res 200(3):711–724CrossRefGoogle Scholar
 Crainic TG, Hewitt M, Toulouse M, Vu DM (2016) Service network design with resource constraints. Transp Sci 50(4):1380–1393CrossRefGoogle Scholar
 Desaulniers G (2010) Branchandpriceandcut for the splitdelivery vehicle routing problem with time windows. Oper Res 58(1):179–192CrossRefGoogle Scholar
 Eurostat (2016a) Database by themes, leaf: annual road freight transport, by distance class. Online, accessed December, 7th 2016Google Scholar
 Eurostat (2016b) Database by themes, leaf: modal split of freight transport. Online, accessed December, 7th 2016Google Scholar
 Feillet D, Dejax P, Gendreau M, Gueguen C (2004) An exact algorithm for the elementary shortest path problem with resource constraints: application to some vehicle routing problems. Networks 44(3):216–229CrossRefGoogle Scholar
 Lourenço HR, Martin OC, Stützle T (2010) Iterated local search: framework and applications. In: Handbook of metaheuristics. Springer, New York, pp 363–397CrossRefGoogle Scholar
 Masson R, Lehuédé F, Péton O (2013) An adaptive large neighborhood search for the pickup and delivery problem with transfers. Transp Sci 47(3):344–355CrossRefGoogle Scholar
 Medina J, Hewitt M, Lehuédé F, Péton O (2018) Integrating longhaul and local transportation planning: the service network design and routing problem. EURO Journal on Transportation and Logistics pp 1–27Google Scholar
 MitrovicMinic S, Laporte G (2006) The pickup and delivery problem with time windows and transshipment. INFOR 44(3):217Google Scholar
 Moccia L, Cordeau JF, Laporte G, Ropke S, Valentini MP (2011) Modeling and solving a multimodal transportation problem with flexibletime and scheduled services. Networks 57(1):53–68CrossRefGoogle Scholar
 NevesMoreira F, Amorim P, Guimarães L, AlmadaLobo B (2016) A longhaul freight transportation problem: synchronizing resources to deliver requests passing through multiple transshipment locations. Eur J Oper Res 248(2):487–506CrossRefGoogle Scholar
 Nowak M, Ergun Ö, White CC III (2008) Pickup and delivery with split loads. Transp Sci 42(1):32–43CrossRefGoogle Scholar
 Pedersen MB, Crainic TG, Madsen OB (2009) Models and tabu search metaheuristics for service network design with assetbalance requirements. Transp Sci 43(2):158–177CrossRefGoogle Scholar
 Qu Y, Bard JF (2012) A grasp with adaptive large neighborhood search for pickup and delivery problems with transshipment. Comput Oper Res 39(10):2439–2456CrossRefGoogle Scholar
 Rais A, Alvelos F, Carvalho MS (2014) New mixed integerprogramming model for the pickupanddelivery problem with transshipment. Eur J Oper Res 235(3):530–539CrossRefGoogle Scholar
 Ropke S, Cordeau JF (2009) Branch and cut and price for the pickup and delivery problem with time windows. Transp Sci 43(3):267–286CrossRefGoogle Scholar
 Semet F, Toth P, Vigo D (2014) Classical exact algorithms for the capacitated vehicle routing problem. Vehicle Routing Probl Methods Appl 18:37CrossRefGoogle Scholar
 Stålhane M, Andersson H, Christiansen M, Cordeau JF, Desaulniers G (2012) A branchpriceandcut method for a ship routing and scheduling problem with split loads. Comput Oper Res 39(12):3361–3375CrossRefGoogle Scholar
 SteadieSeifi M, Dellaert NP, Nuijten W, Van Woensel T, Raoufi R (2014) Multimodal freight transportation planning: a literature review. Eur J Oper Res 233(1):1–15CrossRefGoogle Scholar
 Ziliaskopoulos A, Wardell W (2000) An intermodal optimum path algorithm for multimodal networks with dynamic arc travel times and switching delays. Eur J Oper Res 125(3):486–502CrossRefGoogle Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.