1 Introduction

In traditional intermodal container networks in practice, customers usually have strict requirements regarding route, mode and time of a container transport, by which the transportation planning problem is restricted. These types of restrictions are generally ignored in literature. However, multiple studies have shown that customers have an interest in transportation services that provide more flexibility to the transporter, as long as they receive the right incentives for that (Verweij 2011; Tavasszy et al. 2015; Dong et al. 2018; Khakdaman et al. 2017). In Van Riessen et al. (2017), we presented the Cargo Fare Class Mix in a case study of a single corridor. The goal was to maximise revenue for the transporter, by finding the optimal balance between two fare classes, with a higher priced Express service yielding a higher revenue but fewer planning options for the transporter and a lower priced Standard service that gives more planning flexibility. The goal of this paper is to extend that approach to network cases with multiple intermodal corridors, and to consider rerouting options. Including the possibility of rerouting increases the flexibility options to the transporter, potentially changing the optimal balance of both offered services.

However, rerouting is not trivial. In the Cargo Fare Class Mix setting, we assume that fixed booking limits for each fare class are set in advance, and all demand up to that level must be accepted and transported. When considering rerouting options, booking allocations on one corridor may influence those on another corridor and corridors cannot be optimised separately. Therefore, we present a generalisation of the Cargo Fare Class Mix model for a network of multiple corridors.

Our research fits into the concept of synchromodal transportation. In recent years a large amount of literature has been published on this topic. Most studies focus on creating efficient transportation plans but aim to include practical elements into the existing models of intermodal transportation, see for an overview Pfoser et al. (2016). In Van Riessen et al. (2015a) we described our observations on two sides of synchromodality: transportation network planning and product design of transportation services. One side is to find the best possible solution to a transportation problem; however, without flexibility—i.e. multiple options per order—no possibility for optimisation exists. Therefore, the other side is to focus on the right amount of flexibility in the order pool. This combination is relevant for any application in which the customer has much influence on the degrees of freedom for the transportation plan, e.g. inland container transportation, online retail, express parcel delivery, and ride sharing applications. This article focuses on the application of inland container transportation, including a case study for the North-West European synchromodal network of European Gateway Services (EGS), in which we have been involved. The driver for this research is not solely to increase revenue for the transporter by maximising sales of the Express service, but also to increase its asset utilisation by leveraging the planning flexibility offered by bookings for the Standard service (resulting in a more sustainable transportation network, more efficient use of asset and infrastructure and a reduction in operational costs).

By addressing transportation planning and product offering simultaneously, our work aims to create a bridge between the operations management of optimising transportation planning and the revenue management of optimising the service portfolio. In the traditional capacity allocation problem (e.g. Littlewood 1972/2005), only the inferior product is limited, to guarantee enough capacity for the higher priced product. We show that by including the network planning problem in the portfolio design, our models give different results than in a traditional revenue management setting: The cost savings resulting from an efficient transportation plan are the main reason due to which the Standard product is not inferior to the Express product when considering profit maximisation.

1.1 Problem description

Typically, in intermodal container transportation long-term commitments must be provided to customers to guarantee daily transportation up to a certain number of containers per day. Determining these limits occurs at the tactical level. Then, at the operational level transport requests are accepted by the network operator if within the booking limits and rejected else as they arrive (by phone or email). At the operational level, the transportation plan is constructed. Hence, at the time of accepting a booking, it is not yet known whether actual capacity at the time of loading will suffice. All accepted transportation requests are referred to as accepted demand. Subsequently, a transportation plan is created to transport all accepted demand within the required time limits. If the network operator has insufficient intermodal capacity to fulfil all demand, the alternative for such excess demand is to use transport by truck at elevated costs from the deep-sea terminal directly to the final destination.

The objective of our proposed methods is to set booking limits that maximise the expected profit for the transportation provider. The profit consists of the expected revenue and costs of accepted demand on all corridors, minus the penalty costs for the expectation of excess demand, given the chosen booking limits.

We consider an intermodal hinterland transportation network consisting of a set of intermodal corridors between a single deep-sea port and multiple inland terminals. From the inland terminals, d destinations can be accessed by truck. This is considered last-mile trucking, or haulage. Without loss of generality, in the remainder of this paper, we consider import transportation in this network, i.e. transport from the deep-sea terminal towards the inland destinations. (For export transportation (towards the deep-sea terminal) a similar set of services is offered, resulting in a similar problem as the problem studied in this paper.) The assumptions for this setting are described in more detail below and are based on business setting as we encountered with EGS.

Figure 1 gives a schematic overview of the type of network considered, with a single origin O and multiple inland corridors i to inland terminals. Near each inland terminal, an inland destination \(d \in \left\{ {A, B, \ldots } \right\}\) is situated. Transportation from the inland terminal to the destination is carried out with local trucking (end haulage). An inland location can be reached via multiple inland corridors at cost ci,d. Typically, every inland location is served from a preferential inland terminal and detours via other terminals will be more costly. Transport over the network is operated by a synchromodal network operator, responsible for all transport from O to the inland locations.

Fig. 1
figure 1

Schematic overview of the CFCM (rr, 2) problem

The network operator offers two transportation service levels between the deep-sea port and each destination: Standard (\({\text{S}}\)) and express (E), at price \(f_{{{\text{S}},i}}\) and \(f_{{{\text{E}},i}}\) respectively (the tariff to destination d is based on preferential corridor i). The Express product guarantees delivery within 1 day, the Standard product guarantees delivery within 2 days. For the Express service level, a higher price is charged than for the Standard service. The customer pays the price for the requested service level, regardless of how the transport is carried out (i.e. with what modality, or what routing). We assume that transport requests for both services arrive on a daily basis, according to known, independent distributions. Also, we assume that all travel times are within 1 day. Direct trucking for such Excess demand comes at an increased cost p, which is higher than the incurred revenue and must thus be avoided. To minimise the necessity of direct trucking and to maximise expected profit, a booking limit must be determined for each service level, or fare class.

In practice, the cargo fare class mix problem for inland transportation has many dimensions. The operational planning problem considers multiple routes r and multiple destinations d for transporting all cargo. This must be done within the time limits of the product agreed upon with the customer; the number of fare classes p is the third dimension. We use these dimensions to classify the problem type of the CFCM problem as CFCM (rdp). This problem was introduced in Van Riessen et al. (2017) as the Cargo Fare Class Mix (CFCM) problem, in which we studied a simplified version of this problem, considering only one corridor. This was denoted as the CFCM-(1, d, 2) class of problems. Since warehouses around an inland terminal are usually situated close to this terminal, we argued that such a group of warehouses can be considered as a single location. Also, we showed that extending the delivery horizon (i.e. more that two transportation services) provided limited additional benefit. This paper, however, studies an extension to multiple corridors: i.e. how the option of rerouting changes the optimal booking limits for the larger class of CFCM-(rr, 2) problems, considering r corridors to r destinations.

1.2 Outline

The remainder of this paper is organized as follows. Section 2 provides an overview of literature on revenue management in freight transportation, as well as on synchromodal networks. In Sect. 3, three extensions of the CFCM problem are proposed: an improved optimal solution method for single corridor CFCM problems, an optimal solution for 2-corridor CFCM problems and a lower and upper bound for multiple corridor CFCM networks. Section 4 provides a case study to compare the results of these three methods to an intermodal network based on EGS. Finally, Sect. 5 provides conclusions and directions for future research.

2 Literature overview

First, we provide an overview of the relevant works on revenue management in freight transportation in general. Subsequently, we focus on the developments in synchromodal network planning, and the associated pricing and revenue management policies.

2.1 Revenue management in freight transportation

In general, revenue management is concerned with demand-management decisions. Revenue management decisions can be of three basic types: (1) structural decisions, on selling format and/or segmentation mechanism; (2) price decisions, on the pricing policy over all segments, including discounting; and (3) quantity decisions, on accept or reject decisions, and on how to allocate capacity per segment, products or channels (Talluri and Van Ryzin 2004). Typically, price information of competitors is public information, providing constraints for the second decision, while quantity information is not. On top of that, we learned from our experience with EGS that the shipping industry dislikes price volatility generally. Therefore, for the CFCM problem, we assume constant prices for each product, and we consider long-term commitments, ignoring the time factor. As a result, the quantity decision is our main interest here: how to distribute our capacity over the product types and, hence, how to accept and reject incoming requests.

Talluri and Van Ryzin (2004) describe Littlewood’s model for freight services differentiated on quality: Littlewood’s model assumes two distinct market segments (no substitution), with sequentially arriving demand, i.e. the demand of the inferior product (class 2) arrives before the demand for the superior product (class 1). The optimal result is to handle the incoming demand one by one according to a simple rule. For each incoming demand of class 2, and a remaining capacity x do the following: accept if the price for class 2 (p2) exceeds the expected revenue for that slot for class 1:

$$p_{2} \ge p_{1} P\left( {D_{1} \ge x} \right).$$

The issue of multiple product classes has also been addressed in queuing theory: e.g. Mazzini et al. (2005) studied a two-class priority queue for Bernoullian arrival processes. However, several aspects of the CFCM problem make it very hard to be modelled as a queuing network. For instance, the finite capacities of intermodal services must be considered as finite queues with blocking. Exact solutions for blocking networks with more than two nodes can only be obtained by numerical solutions of the underlying Markov chain (Bolch et al. 2006).

Feng et al. (2015) provide an overview of revenue management problems in air cargo operations. Most studies consider accept-reject decisions or overbooking for single flights. Only a few consider capacity allocations, such as Amaruchkul et al. (2011). They consider allotments, i.e. freight contracts that allocate capacity to a forwarder in advance. The carrier presents the forwarder a menu of potential contracts with a certain price and refunds for unused allotment capacity. Some similarities to our case exist: their approach considers fixed long-term allocations as well, although the contract structure differs from our intermodal setting. Barz and Gartner (2016) consider accept-reject decision for spot market bookings for air freight, at the time when demand and capacity are still uncertain. Similar to our case, their approach allows for overbooking, but penalizes excess cargo. For the specific setting of container transportation fewer studies are available. Meng et al. (2019) provide an overview of two types of revenue management approaches for liner shipping: ship capacity control and pricing. They provide an overview of several studies that apply airline revenue modelling to liner shipping, and describe and address several gaps in existing research: When using airline models to determine booking limits, the division of booking classes insufficiently incorporates the heterogeneous character of shipping cargo demand, such as differences in sizes, cargo types and contract types (e.g. long term contracts). In this article, we address a category of problems with heterogeneous demand in two demand classes for intermodal inland transportation (varying in allowed transportation time). Armstrong and Meissner (2010) provide an overview of revenue management in railway transportation but found little literature on the topic. Most studies consider optimal network flow, although some studied different segments based on service quality. E.g. Kwon, et al. (1998) consider rail car scheduling, taking into account the priority of specific rail cars.

More recent studies typically assume implicitly geographic segmentation, based on transportation corridor or destination, e.g. Ypsilantis (2016, pp. 47–82) considers an intermodal network and Crevier et al. (2012) consider pricing per request in a railway network. An overview of pricing problems studied in an intermodal context is provided by Tawfik and Limbourg (2018). Several of those problems are considered in Sect. 2.2 on synchromodal transportation.

2.2 Synchromodal transportation

In recent years a large amount of literature has been published on the topic of synchromodal transportation. Most studies focus on creating efficient transportation plans, as is the purpose in the long line of research of intermodal planning problems, noted in the overviews of Caris et al. (2013), SteadieSeifi et al. (2014), Reis (2015) and Dong et al. (2018). Ambra et al. (2019) compare findings of synchromodal transportation research with findings in relation to the physical internet. The recent studies into synchromodal transportation generally aim to include more practical elements into the more general models of intermodal transportation as in Crainic and Kim (2007). These new elements in the models usually depend on the perspective of the researcher and together create an ambiguous definition of the concept of synchromodality. Pfoser et al. (2016) created a framework to identify critical factors in synchromodality. Based on a literature review of several studies relating to the concept, they identified seven factors related to synchromodality: cooperation, transport planning, intelligent transport systems (ITS), infrastructure, legal framework, mental shift and service offering. This paper’s focus is mostly related to service offering (including pricing) and transportation planning. For this, a network operator can employ a business model with lead-time-based transportation services, rather than just selling transportation slots. As such, the network operator gains flexibility to optimise utilisations, and operate the network more efficiently. In this section we provide an overview of recent research contributions on these topics.

Several studies focused on efficient network planning in a synchromodal setting, i.e. by considering the combination of committed and uncommitted capacity (Ypsilantis 2016, pp. 47–82; Van Riessen et al. 2015a, b), real-time planning (Nabais et al. 2015; Van Riessen et al. 2016; Van Heeswijk et al. 2016; Rivera and Mes 2016, 2018), generating options (Kapetanis et al. 2016; Mes and Iacob 2016), including vehicle deployment (Resat and Turkay 2019) or including vessel routing (Fazi et al. 2015). Table 1 provides an overview of planning-related studies and categorises them regarding the perspective of the optimisation problem, the dimensions of flexibility and the considered decisions. Regarding the optimisation perspective, most studies consider the cost minimisation problem of the transportation provider given a certain available capacity. This is different from the logistics service provider’s perspective, which usually has no invested capacity. It can consider container transports one at a time, without considering an integral plan for optimising its capacity utilisation. Most studies mention to some extent three dimensions of flexibility: mode, route and timing. In Table 1, we restricted the categorisation to those dimensions that specifically influenced the modelling choices. Finally, we distinguished between five types of decisions: the scheduling of transportations, accepting or rejecting bookings, the deployment of (barge or rail) services, the pricing of transportation services and the conditions of the transportation service. From these decision types, the first typically is aimed at the operational level, whereas the other three are typically tactical decisions.

Table 1 Overview of synchromodal studies and main differentiators

From Table 1 it can be observed that most studies consider either the perspective of the transportation provider, or the logistics service provider. The transportation provider typically carries the risk of unused capacity, whereas the logistics service provider typically does not. Also, most studies considered a problem that combined routing and timing—in most cases, the mode is considered implicitly in the definition of the service schedule. Only some considered mode-specific constraints, such as the potential for rerouting with barges (Fazi et al. 2015) or the possibility of transhipments. Finally, almost all studies considered an operational planning problem, for optimal allocation of cargo to an available schedule. In some cases, this was combined with a service schedule design problem.

In this article, especially the interaction between the service offering (including pricing) and the transportation planning is of interest for our topic. Some studies have considered the pricing and properties of transportation services, usually in combination with logistics planning. For instance, Li et al. (2015) designed a pricing scheme based on average costs, rather than actual costs per itinerary and thus allowing a reduction of the standard price due to network efficiencies. Dullaert and Zamparini (2013) study the impact of lead time variability in freight transport. Crevier et al. (2012) compared a pricing strategy for specific itineraries, with a strategy of pricing transportation requests. Bilegan et al. (2015) introduced a revenue management strategy of accepting or rejecting bookings on a railway corridor. Kapetanović et al. (2018) propose a dynamic programming solution for this problem. Similarly, Wang et al. (2016) consider accept-reject decisions for a barge transportation network, including some customers with long term commitments. Luo et al. (2016) include demand forecasting and supply leasing in their accept-reject decisions for different fare classes. None of these consider long-term commitments for accepted cargo. Finally, in Van Riessen et al. (2017), we introduced the framework of the CFCM problem and provided solutions for an optimal fare class mix on a single corridor. These studies all show significant revenue gains can be achieved by a pricing policy that is optimised considering the logistics planning for different geographical areas (destinations and/or corridors). However, as far as we know, none have considered the effect of multiple products with varying lead times in an intermodal network setting. Van Riessen et al. (2017) used a revenue management approach not only aimed at geographical market segments, but at different segments in time horizon as well. In this paper, we extend our earlier work on the CFCM problem. We assume that market information on demand and prices is already known, based on which we aim for finding optimal booking limits for synchromodal products.

As indicated in Table 1, our focus on product conditions differentiates our work from earlier studies into product characteristics of synchromodal transportation. Although our work is specifically focused on a multi-corridor network with multiple modes, we do not specifically consider the impact of differences in mode. Instead, our work focuses on selecting the best route and time of transportation from the perspective of the transportation network operator.

3 Methodology for solving the CFCM problem in intermodal networks

Our research builds on earlier work in Van Riessen et al. (2017) for a single corridor Cargo Fare Class Mix problem. Figure 2 provides a schematic overview of the methodology proposed in this paper. In Sect. 3.1, we provide an extension of our earlier work with a more efficient solution method and optimality proofs are given. In order to quantify the optimality gap of the proposed heuristic, in Sect. 3.2, an analytical result for a multimodal corridor version is derived, i.e. two different routes represent a barge and a rail connection. We show that we get close to the optimum with our proposed approximation method. In Sect. 3.3 an approach for an intermodal corridor with r corridors is proposed, by iteratively using the single corridor optimisation and a network rerouting heuristic. As in Talluri and Van Ryzin (2004, Ch 3.3), the large dimensionality of this network capacity control problem requires approximation methods. Section 3.4 provides numerical results and a sensitivity analysis for various settings of the two-corridor case in which the upper and lower bounds of Sect. 3.3 are compared with the optimal results obtained with the analytical approach of Sect. 3.2.

Fig. 2
figure 2

Structure of the methodology and contribution of this paper

3.1 Improved solution method for single corridor CFCM (1, d, 2)

In Van Riessen et al. (2017), we introduced an analytical solution to the CFCM (1, d, 2) problem. For the sake of completeness, the main aspects of the earlier proposed approach are compactly presented here.

In the revenue management objective of the CFCM (1, d, 2) model, we focus on optimising revenue for a fixed capacity C on one route to one destination. The cost of transportation c is considered constant, since all capacity is fixed and is operated according to a predefined schedule. However, on this corridor, two differently priced products are offered: Express and Standard, at a fare \(f_{\text{E}}\) and \(f_{\text{S}}\), respectively, with the available demand in the market per period denoted by random variables \(D_{\text{E}} \left( t \right)\) and \(D_{\text{S}} \left( t \right)\). The demand distribution is considered stationary and can have any form. Let · (t) denote the value of a random variable at a given time period t. Express must be transported within one period, while the demand for Standard transportation can be postponed one period. As the transportation company gives long-term commitments, we need to find optimal booking limits \(L_{\text{E}} ,L_{\text{S}}\) for each class at the tactical level. Demand is accepted if within the booking limits and rejected else, before the operational transportation plan is constructed. Hence, at the time of accepting or rejecting a booking, it is not yet known whether actual capacity at the time of loading will suffice. All accepted transportation requests are referred to as accepted demand, or transportation volume, denoted by random variables \(T_{\text{E}} \left( t \right)\) and \(T_{\text{S}} \left( t \right)\), respectively.

$$T_{\text{E}} \left( t \right) = \mathop {\hbox{min} }\limits_{{}} \left( {D_{\text{E}} \left( t \right),L_{\text{E}} } \right), T_{\text{S}} \left( t \right) = \mathop {\hbox{min} }\limits_{{}} \left( {D_{\text{S}} \left( t \right),L_{\text{S}} } \right)$$

Any standard not transported intermodally within two periods, is denoted as overflow O(t), which must be transported by sending a truck directly to the destination at a (very high) cost exceeding the potential revenue. The additional cost of this truck transport on top of the regular transportation costs c is denoted by p. We assume that all travel times are within one period, hence, selecting the day of departure within the guaranteed delivery period is sufficient: for Express within 1 period or for Standard within 2 periods. Any slots not used are denoted as surplus (or slack) slots S. Consider the network in Fig. 3, with one origin 0, two products \(s \in \left\{ {{\text{E}},{\text{S}}} \right\}\), an intermodal corridor i and destinations \(j \in \left\{ {{\text{A}},{\text{B}}, \ldots ,d} \right\}\). For easier notation, we leave out the time indicator (t) in the remainder of the paper.

Fig. 3
figure 3

Network of a CFCM (1, d, 2)-problem (schematic)

In order to find the optimal booking limits \(L_{\text{E}}\) and \(L_{\text{S}}\), we need to solve for the maximum expected profit J:

$$\mathop {\hbox{max} }\limits_{{L_{\text{E}} ,L_{\text{S}} }} J = (f_{\text{E}} - c){\mathbb{E}}T_{\text{E}} + \left( {f_{\text{S}} - c} \right){\mathbb{E}}T_{\text{S}} - \left( {p - c} \right){\mathbb{E}}O_{{}} + {\mathbb{E}}\left[ {\psi \left( {L_{\text{E}} ,L_{\text{S}} } \right)} \right],$$
(1)

subject to the condition that all accepted demand must be transported in time, either by an intermodal connection, or by a truck move for excess cargo not fitting on available intermodal capacity. With \(\psi \left( {L_{\text{E}} ,L_{\text{S}} } \right)\), we denote the potential value of slack slots. In subsequent sections, we will use this for estimating the value of slack slots for rerouting. For a single corridor, this can be ignored, so in the remainder of this section, we will consider ψ = 0. In Van Riessen et al. (2017), the optimal solution was found by enumerating the value of (1) for all feasible values of \(L_{{{\text{E}},i}}\) and \(L_{{{\text{S}},i}}\) for a corridor i. We will use the subscript i in the remainder to denote a single corridor, since we will reuse the formulation for situations with multiple corridors later. Each iteration was solved using a Markov Chain for the amount of Standard demand postponed to the next period, denoted by Ri, with transition probabilities pi(vw) denoting \(P\left( {R_{i} \left( {t + 1} \right) = w |R_{i} \left( t \right) = v} \right)\) for corridor i:

$$p_{i} \left( {v,w} \right) = \left\{ {\begin{array}{*{20}l} {P\left( {T_{{{\text{S}},i}} = 0} \right)P\left( {T_{{{\text{E}},i}} > C - v} \right) + \mathop \sum \nolimits_{z = 0}^{C - v} P\left( {T_{{{\text{E}},i}} + v = C - z} \right)P\left( {T_{{{\text{S}},i}} \le z} \right)} \hfill & {w = 0} \hfill \\ {P\left( {T_{{{\text{S}},i}} = w} \right)P\left( {T_{{{\text{E}},i}} > C - v} \right) + \mathop \sum \nolimits_{z = 0}^{C - v} P\left( {T_{{{\text{E}},i}} + v = C - z} \right)P\left( {T_{{{\text{S}},i}} = z + w} \right)} \hfill & {w > 0} \hfill \\ \end{array} } \right.$$
(2)

We denote the steady-state distribution of the Markov state of corridor i (Ri) as πi(w) = P(R i  = w), i.e. πi(w) denotes for corridor i the probability in the long run of postponing w transportation orders to the next period. To find the distribution of πi, we need to find a solution to the Markov equilibrium equations, as in Kelly (1975):

$$\pi_{i} \left( w \right) = \mathop \sum \limits_{i}^{{}} \pi_{i} \left( v \right)p_{i} \left( {v,w} \right),$$
(3)
$$\mathop \sum \limits_{w}^{{}} \pi_{i} \left( w \right) = 1.$$
(4)

The probability distributions of overflow cargo and slack slots are provided by:

$${\mathbb{P}}\left( {O_{i} = y} \right) = \left\{ {\begin{array}{*{20}l} {\sum\nolimits_{q = 0}^{{C_{i} }} {\pi_{i} } \left( q \right) \, {\mathbb{P}}\left( {T_{E,i} \le C_{i} - q} \right)} \hfill & {y = 0} \hfill \\ {\sum\nolimits_{q = 0}^{{C_{i} }} {\pi_{i} } \left( q \right) \, {\mathbb{P}}\left( {T_{E,i} = C_{i} + y - q} \right)} \hfill & {y > 0} \hfill \\ \end{array} } \right.$$
(5)
$${\mathbb{P}}\left( {{\text{S}}_{i} = z} \right) = \left\{ {\begin{array}{*{20}l} {\sum\nolimits_{q = 0}^{{C_{i} }} {\pi_{i} } \left( q \right)\sum\nolimits_{e = 0}^{{C_{i} }} {\mathbb{P}} \left( {T_{{{\text{S}},i}} \ge C_{i} - q - e} \right){\mathbb{P}}\left( {T_{{{\text{E}},i}} = e} \right)} \hfill & {z = 0} \hfill \\ {\sum\nolimits_{q = 0}^{{C_{i} }} {\pi_{i} } \left( q \right)\sum\nolimits_{e = 0}^{{C_{i} - q}} {\mathbb{P}} \left( {T_{{{\text{S}},i}} = C_{i} - z - q - e} \right){\mathbb{P}}\left( {T_{{{\text{E}},i}} = e} \right)} \hfill & {z > 0} \hfill \\ \end{array} } \right.$$
(6)

The derivation of (5) and (6) can be found in “Appendix 1”. With the distribution of πj, we obtain the following expression for the expected value of the overflow, by summing over all potential overflow values (denoted by m):

$${\mathbb{E}}\left( {O_{i} } \right) = \mathop \sum \limits_{m = 1}^{{L_{{{\text{S}},i}} }} m\mathop \sum \limits_{q = 0}^{{L_{{{\text{S}},i}} }} P\left( {T_{{{\text{E}},i}} = C_{i} + m - q} \right)\pi_{i} \left( q \right)$$
(7)

Furthermore, we have

$${\mathbb{E}}\left( {T_{{{\text{E}},i}} } \right) = \mathop \sum \limits_{k = 1}^{{L_{{{\text{E}},i}} - 1}} kp_{{{\text{E}},i}} \left( k \right) + L_{{{\text{E}},i}} \left( {1 - \mathop \sum \limits_{k = 0}^{{L_{{{\text{E}},i}} - 1}} p_{{{\text{E}},i}} \left( k \right)} \right)$$
(8)

and, similarly,

$${\mathbb{E}}\left( {T_{{{\text{S}},i}} } \right) = \mathop \sum \limits_{l = 1}^{{L_{{{\text{S}},i}} - 1}} lp_{{{\text{S}},i}} \left( l \right) + L_{{{\text{S}},i}} \left( {1 - \mathop \sum \limits_{l = 0}^{{L_{{{\text{S}},i}} - 1}} p_{{{\text{S}},i}} \left( l \right)} \right).$$
(9)

Given certain limits for the express and standard demand, the expected profit, based on the distribution of overflow and slack slots can be determined. In the enumeration approach of Van Riessen et al. (2017), (2)–(9) need to be computed for every iteration consecutively to obtain the results for (1). Here, we provide a much faster optimal algorithm. We propose an algorithm that searches optimal solutions by increasing the limits step-by-step. The selection of the limit that is best increased is based on an estimate of the additional profit. As the solution space is not convex, such a search is not sufficient to find a maximum. In order to efficiently search the solution space, we use several rules to structurally eliminate potential combinations of limits.

The proposed procedure to find the optimal limits \(L_{{{\text{E}},i}} ,L_{{{\text{S}},i}}\) is given in Algorithm 1. The algorithm excludes combinations of limits that will never be the optimal solution. Firstly, if the sum of both limits is less than the capacity in a period, there will always be slack slots. It is without risk of a penalty to increase the limits up to at least the capacity. Therefore, there will always be an optimal solution that satisfies \(L_{{{\text{E}},i}} + L_{{{\text{S}},i}} \ge C_{i}\). Secondly, if the expectation of the average accepted demand for a certain combination of limits is higher than the capacity, then on the long-term this will result in structural Excess. Since the cost of Excess is higher than any expected revenues, this can never be optimal. Therefore, in the optimal solution, it will always hold that \({\mathbb{E}}_{{L_{{{\text{E}},i}} }} \left( {T_{{{\text{E}},i}} } \right) + {\mathbb{E}}_{{L_{{{\text{S}},i}} }} \left( {T_{{{\text{S}},i}} } \right) \le C_{i} .\) Thirdly, if increasing a limit does no longer result in additional demand, we do not explore further. I.e. for a sufficiently small number \(\varepsilon\), we exclude combinations of limits for which either express or standard satisfies \({\mathbb{E}}_{{L_{s,i} + 1}} \left( {T_{s,i} } \right) - {\mathbb{E}}_{{L_{s,i} }} \left( {T_{s,i} } \right) < \varepsilon .\) The remaining combinations of limits must be explored to find the optimum. We use three additional results to search the remaining combinations efficiently. Firstly, we can reduce the search with the following result: the expected profit has a single maximum for one variable limit, if the other limit is fixed (Proof 1, “Appendix 2”). Then, we can exclude more potential combinations using the following:

$${\text{if}}\,J_{{L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} }} \ge J_{{L_{{{\text{E}},i}} - 1,L_{\text{S}} }} \,{\text{and}} \,J_{{L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} }} \ge J_{{L_{{{\text{E}},i}} ,L_{\text{S}} - 1}} \,{\text{then}} \,J_{{L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} }} \ge J_{{L_{{{\text{E}},i}} - x,L_{{{\text{S}},i}} - y}} ,\,\,\,\,\forall x,y \ge 0$$

i.e. if the expected profit for two given limits is larger than the profits obtained when one of the limits is reduced by 1, then this profit exceeds all scenarios with limits lower than or equal to the given limits (Proof 2, “Appendix 2”). Likewise, this also holds for increasing limits (Proof 3, “Appendix 2”):

$${\text{if}}\,\,\,J_{{L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} }} \ge J_{{L_{{{\text{E}},i}} + 1,L_{\text{S}} }} \,{\text{and }}\,J_{{L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} }} \ge J_{{L_{{{\text{E}},i}} ,L_{\text{S}} + 1}} \,{\text{then}}\, J_{{L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} }} \ge J_{{L_{{{\text{E}},i}} + x,L_{{{\text{S}},i}} + y}} .\,\,\,\,\,\forall x,y \ge 0$$

With these results, if a local optimum is found, then the lower corner and upper corner of the search space can be excluded. We use these results in Algorithm 1.

Algorithm 1 Optimal solutions for the CFCM (1, d, 2) problem

1

Create a list of all combinations of potential limits \(L_{{{\text{E}},i}} \in \left\{ {0,1, \ldots ,C_{i} } \right\}\) and \(L_{{{\text{S}},i}} \in \left\{ {0,1, \ldots ,2C_{i} } \right\}\).

2

Remove from that list all combinations that satisfy one or more of the following:

 

\(L_{{{\text{E}},i}} + L_{{{\text{S}},i}} < C_{i}\)

\({\mathbb{E}}_{{L_{{{\text{E}},i}} }} \left( {T_{{{\text{E}},i}} } \right) + {\mathbb{E}}_{{L_{{{\text{S}},i}} }} \left( {T_{{{\text{S}},i}} } \right) > C_{i}\)

\({\mathbb{E}}_{{L_{s,i} + 1}} \left( {T_{s,i} } \right) - {\mathbb{E}}_{{L_{s,i} }} \left( {T_{s,i} } \right) < \varepsilon.\)

3

Determine \(\max_{{L_{i,s} }} J_{i}\) considering all remaining combinations of limits as (cf. Proofs 1–3, “Appendix 2”):

 

a.

Find a local optimum of the expected profit \(J_{i} \left( {L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} } \right)\) based on (3)–(10) in the list of all remaining combinations of limits, and store the value.

 

b.

Apply results from Proof 1-3 for the current values \(L_{{{\text{E}},i}}\) and \(L_{{{\text{S}},i}}\):

  

          Remove all combinations that satisfy \(L_{{{\text{E}},i}} + x,L_{{{\text{S}},i}} + y\,\,\,\,\forall x,y \ge 0\)

  

          Remove all combinations that satisfy \(L_{{{\text{E}},i}} - x,L_{{{\text{S}},i}} - y\,\,\,\,\forall x,y \ge 0\)

 

c.

Go to step 3\({\text{a}}.\), until no more combinations of limits remain.

4

Select the limit combination that result in the highest expected profit.

We apply Algorithm 1 and for step 3a. We use a greedy search algorithm, by iteratively increasing limits. Let L +1s,i denote increasing the limit Ls,i with 1 (\(s \in \left\{ {{\text{E}},{\text{S}}} \right\}\)), then an estimate for the expected change in profit is given by:

$$\Delta J = \left( {f_{s} - c_{i} } \right){\mathbb{P}}\left( {T_{s,i} = L_{s,i}^{ + 1} } \right) - \widehat{{\Delta O}}_{i} ,$$

in which \(\widehat{{\Delta O}}_{i}\) is an estimator of the expected change in overflow cost of the demand. For the estimator \(\widehat{{\Delta O}}_{i}\) we use the distribution of slack slots of the current solution. In case we consider incrementing an express limit (\(L_{\text{E}}^{ + 1}\)), we consider that if no slack slots are available for \(L_{\text{E}}\), the additional demand accepted due to increment could not be transported. Therefore, in these cases, this results in an overflow unit:

$$\widehat{{\Delta O}}_{i} = p{\mathbb{P}}\left( {S_{i} = 0} \right){\mathbb{P}}\left( {T_{{{\text{E}},i}} = L_{{{\text{E}},i}}^{ + 1} } \right)$$

For standard, this is the case if no slack slots are available twice in a row:

$$\begin{aligned} \widehat{{\Delta O}}_{i} & = p{\mathbb{P}}\left( {S_{i} = 0} \right){\mathbb{P}}\left( {S_{i}^{t + 1} = 0|S_{i} = 0} \right){\mathbb{P}}\left( {T_{{{\text{S}},i}} = L_{{{\text{S}},i}}^{ + 1} } \right) \\ & \approx p{\mathbb{P}}\left( {S_{i} = 0} \right)^{2} {\mathbb{P}}\left( {T_{{{\text{S}},i}} = L_{{{\text{S}},i}}^{ + 1} } \right), \\ \end{aligned}$$

in which S t+1i denotes the number of slack slots in the next period. Other estimators for the expected change in overflow cost can be used in Algorithm 1 as well. Note that the quality of this estimator influences the efficiency of the search, but not the optimality of the result, since we explore or exclude all combinations. At each point in which the estimate \(\Delta J\) does not show an improvement, we check whether a local optimum is found by evaluating all neighbouring limit combinations. If no improvement in expected profit can be found by increasing one of both limits, we use the results from Proofs 1–3 to exclude more combinations. We iterate until all combinations have been searched or excluded. The previously proposed solution method (Van Riessen et al. 2017) required enumerating all 2C 2i combinations of limits, for each of which a solution to Markov Chain (3) and (4) must be found. In this new approach, with every iteration we can exclude combinations in which one of the limits is the same as the found maximum (Proof 1). Therefore, our newly proposed approach is of O(Ci log Ci): with this approach maximally Ci searches have to be done with for each search, given one fixed limit, a complexity of O( log Ci). Using Proofs 2 and 3, more combinations are excluded, therefore reducing the search time per iteration and likely reducing the total number of searches even further.

3.2 Optimal solution method for the two-corridor problem CFCM (2, 2, 2)

In this section, an optimal approach for the CFCM (2, 2, 2) problem is proposed, i.e. with one origin 0, connected by two corridors, i ∊ {1, 2} with capacities Ci to 2 destinations \(d \in \left\{ {{\text{A}},{\text{B}}} \right\}\) (Fig. 4). We assume, without loss of generality, that all regular demand for destination \({\text{A}}\) is typically routed over corridor 1, and similarly, destination \({\text{B}}\) over corridor 2. The distribution of transportation requests (or independent demand) on corridor i is denoted as Di with transportation costs ci,d for transporting over corridor i to destination d. The network operator offers two transportation services \(s \in \left\{ {{\text{E}},{\text{S}}} \right\}\) for both corridors, denoting Express delivery for delivery within one period and Standard delivery for delivery of cargo within two periods, respectively. The associated fares fs,i denote the price of service s for the destination belonging to corridor i. For both services s, we need to find the optimal booking limits on each corridor i, denoted as Ls,i. Incoming transportation requests are accepted up to the booking limit. Ts,i denotes the accepted demand, i.e. the transport volume per period for corridor i on service s,

$$T_{s,i} \left( t \right) = \mathop {\hbox{max} }\limits_{{}} \left( {D_{i} \left( t \right),L_{s,i} } \right).$$

We assume that the cargo is allocated in order of urgency. Therefore, all express demand is given priority, and based on our assumption that \(T_{{{\text{E}},i}} \left( t \right) \le C_{i}\), express demand is only transported on its preferred corridor. Subsequently, the second priority is the standard demand remaining from the previous period, Ri(t). Any slots not in use by \(T_{{{\text{E}},i}} \left( t \right)\) are used for transporting this cargo. If the slots on the standard corridor are insufficient for Ri(t), we consider the remaining demand as overflow, denoted by Oi(t). If slots remain after allocating Ri(t), the third priority is the new Standard demand for this period, \(T_{{{\text{S}},i}} \left( t \right)\). Then, the last slots are considered slack slots, denoted by Si(t). These slots are available for overflow cargo of other corridors. Finally, let Ei(t) denote the amount of Excess cargo, for all cargo of Ri(t), which could not be transported on corridor i, nor on surplus slots of other corridors. This cargo could not be transported in time by any intermodal corridor and must be delivered by truck. For corridor i, the order of priority is summarised in Table 2. In the case of two corridors, the only alternative for corridor 1 is corridor 2, and vice versa. The potential planning situations are depicted schematically in Fig. 5.

Fig. 4
figure 4

Network of a CFCM (2, 2, 2)-problem (schematic)

Table 2 List of priority in allocating cargo to corridor i
Fig. 5
figure 5

Transportation plan: options for corridor 1 and interactions with corridor 2

In order to find optimal fare class limits for the CFCM (2, 2, 2) problem, we formulate an analytical model based on a Markov Chain. Our goal is to find booking limits for Express and Standard demand on each corridor (\(L_{{{\text{E}},i}} ,L_{{{\text{S}},i}}\)) that result in the maximum expected profit J:

$$\mathop {\hbox{max} }\limits_{{L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} }} J = \mathop \sum \limits_{s,i} \left[ {\left( {f_{s,i} - c_{i,d} } \right){\mathbb{E}}\left( {T_{s,i} } \right) - p{\mathbb{E}}\left( {E_{i} } \right)} \right],$$
(10)

subject to the condition that all accepted demand must be transported in time, either by an intermodal connection, or by a truck move for excess cargo not fitting on available intermodal capacity. To maximise (10), we need to determine \({\mathbb{E}}\left( {T_{s,i} } \right)\), and \({\mathbb{E}}\left( {E_{i} } \right)\). We use R ti to denote the remainder of standard demand from the period before, and R t+1i to denote the remainder of current day’s standard demand that must be transported the next period. The cargo routing rules give us the following relations (see Fig. 5) for the CFCM (2, 2, 2) problem:

$$R_{1}^{t + 1} = { \hbox{min} }\left( {{\text{T}}_{{{\text{S}},1}} ,\mathop {\hbox{max} }\limits_{{}} \left( {T_{{{\text{E}},1}} + T_{{{\text{S}},1}} + R_{1} - C_{1} ,0} \right)} \right)$$
(11)
$$O_{1} = \mathop {\hbox{max} }\limits_{{}} \left( {R_{1} + T_{{{\text{E}},1}} - C_{1} ,0} \right)$$
(12)
$$E_{1} = \mathop {\hbox{max} }\limits_{{}} \left( {R_{1} + T_{{{\text{E}},1}} - C_{1} - S_{2} ,0} \right) = \mathop {\hbox{max} }\limits_{{}} \left( {O_{1} - S_{2} ,0} \right)$$
(13)
$$S_{2} = \mathop {\hbox{max} }\limits_{{}} \left( {C_{2} - T_{{{\text{E}},2}} - T_{{{\text{S}},2}} - R_{2} ,0} \right)$$
(14)

From (11)–(14), we see that R t1 , O1 only depend on corridor 1, and \(S_{2}\) only depends on corridor 2. Note that we consider 2 corridors in this section. Generalising, R ti , Oi and \(S_{i}\) do not depend on other corridors than i. We can describe the state of a single corridor by (Ri). Only Ei depends on other corridors. Ri(t + 1) does only depend on corridor i, by demand Ti and remaining demand Ri(t).

Algorithm 2 Optimal limits for the CFCM (2, 2, 2) problem

1

Create a list of all combinations of potential limits for each of the corridors, \(L_{{{\text{E}},i}}\) and \(L_{{{\text{S}},i}}\) (i = 1, 2).

2

Compute the solution for each combination of limits (as in step 3 of Algorithm 1):

 

a.

Determine \({\mathbb{P}}\left( {O_{i} = y} \right)\) and \({\mathbb{P}}\left( {{\text{S}}_{i} = z} \right)\) using (6) and (7).

 

b.

Determine for each limit the expected additional profit for L +1s :

\(\Delta J = \left( {f_{s} - c_{i} } \right){\mathbb{P}}\left( {T_{s} = L_{s}^{ + 1} } \right) - \widehat{{\Delta O}}\)

in which \(\widehat{{\Delta O}}\) is an estimator for the penalty increase by L +1s

 

c.

Select the limit for which an increase results in the maximum expected profit and increment with 1 and solve the Markov Chain with (3)–(5) as new limits.

3

Create a list of all combinations of limits for both corridors: Ls,i \(\left( {s \in \left\{ {{\text{E}},{\text{S}}} \right\},i \in \left\{ {1,2} \right\}} \right)\).

4

Remove from that list all combinations that result in suboptimal solutions:

 

a.

The sum of all limits is less than capacity in a period

∑ s,iLs,i ≤ C1 + C2

 

b.

The expectation of the average accepted demand for a certain set of limits is higher than the capacity

\(\mathop \sum \limits_{s,i}^{{}} {\mathbb{E}}_{{L_{s,i} }} \left( {T_{s,i} } \right) > C_{1} + C_{2}\)

 

c.

The expected additional demand when incrementing a limit becomes negligible

\({\mathbb{E}}_{{L_{s,i} + 1}} \left( {T_{s,i} } \right) - {\mathbb{E}}_{{L_{s,i} }} \left( {T_{s,i} } \right) < \varepsilon,\)

where \(\varepsilon\) is an arbitrary small number.

5

Enumerate for all remaining combinations of limits the expected profit (1), based on the obtained Markov solutions in step 2 and (15).

6

Select the limit that result in the highest profit.

Therefore, we can re-use the corridor specific Eqs. (3)–(10) for the CFCM (1, d, 2) problem from Sect. 3.1. Note that these expressions do not depend on the other corridor, because of the assumed order of cargo allocation (Table 2). If overflow from other corridors would be allocated before \(T_{{{\text{S}},i}}\), R t+11 would become dependent on other corridors, resulting in a much more complex Markov Chain. Assuming the demand distributions on both corridors are independent and using (6) and (7) we can derive the probability that overflow cargo can be transported on slack slots on the alternative corridor. For corridor 1, the expression is as follows:

$${\mathbb{P}}\left( {E_{1} = k} \right) = \left\{ {\begin{array}{*{20}l} {\sum\nolimits_{y = 0}^{{2C_{1} }} {\mathbb{P}} \left( {O_{1} = y} \right){\mathbb{P}}\left( {{\text{S}}_{2} \ge y} \right)} \hfill & {k = 0} \hfill \\ {\sum\nolimits_{y = k}^{{2C_{1} }} {{\mathbb{P}}\left( {O_{1} = y} \right)} {\mathbb{P}}\left( {{\text{S}}_{2} = y - k} \right)} \hfill & {k > 0} \hfill \\ \end{array} } \right.$$
(15)

To find the optimal limits Ls,i for a CFCM (2, 2, 2) problem, we apply the procedure as shown in Algorithm 2, similar to Algorithm 1. In this case we cannot use the three rules of excluding limit combinations, since Overflow cargo could be rerouted. The computational complexity of Algorithm 2 scales exponentially with the number of corridors, since step 5 requires enumerating all combinations of limits. Therefore, in the next section, we will use (6), (7) and (15) in an approximation scheme for lower and upper bounds in a generalised intermodal network with multiple corridors.

3.3 Intermodal problem, CFCM (rr, 2)

To study the value of rerouting in a synchromodal network, we consider a network of intermodal connections, the CFCM (rr, 2) problem: multiple corridors connect from a deep-sea port to the inland. The deep-sea port and its inland corridors form a one-level tree structure, as depicted in Fig. 1. We also assume independent demand per corridor, directed to precisely one destination per corridor (i.e. we do not distinguish between multiple warehouses around an inland terminal). In this section, we propose methods for finding a lower and upper bound for the CFCM (rr, 2) problem. By doing so, an estimate is provided of the benefit of rerouting in a synchromodal network in comparison to optimising all corridors separately.

From the previous section, we know that the overflow Oi of a corridor does not depend on other corridors, and neither does the number of slack slots Si. The Excess demand Ei does depend on alternative corridors, we assume that the total amount of overflow cargo can be reduced by the expected free slots on alternative corridors. Also, we assume that if any excess trucking on a route occurs, it is not important which container on that route will be transported by Excess trucking. Therefore, to find the network optimum, we can re-use the iterations of the single-corridor optimisation to get distributions of Oi and Si. However, we need to find the number of rerouting containers to determine how much of the overflow remains as Excess Ei.

In Sect. 3.3.1, we propose a method for finding the lower bound for the optimal CFCM in such a network. This method is based on a sub problem of the original problem, in which a corridor can be the alternative to at most one other corridor. In Sect. 3.3.2, we propose method for finding an upper bound, by ignoring potential penalties.

3.3.1 Lower bound for optimal network solution, based on single alternative corridors

By considering all corridors individually, using the result from Sect. 3.1, a lower bound for the network solution is obtained, considering no rerouting at all. Here we propose a better lower bound assuming that each corridor is the alternative for at most one other corridor. We assume that the unique alternatives have been determined, based on lowest rerouting costs. See Fig. 6 for a schematic overview of corridors with single alternatives. With this approach, we only have to consider two ‘neighbouring’ corridors, in order to assess the impact of changing a limit on the lower bound. For finding the optimal limits that result in the highest expected profit J, our approach is as follows. In the first phase, we consider all corridors separately, and determine optimal limits using the approach from Sect. 3.1. We keep the result for all iterations. In the second phase, we consider the rerouting possibilities between corridors. Considering the rerouting possibilities, it is likely that the optimal limits are different. Firstly, cases exist in which it is optimal to have in total higher limits than the optimal single-corridor limits, since overflow can likely be rerouted. We consider this the reduced overflow cost effect. Second, there may exist a positive effect of decreasing a limit in one corridor, for the benefit of accepting more cargo on another corridor. We consider this the slack slot value effect. Note that changing a limit on a corridor i influences two other corridors: on the one hand, by increasing a limit on corridor i, the expected overflow \({\mathbb{E}}(O_{i})\) may be increased, which could increase the expected excess \({\mathbb{E}}(E_{i})\) as well. Depending on the price, cost and penalty parameters, there is a trade-off between increasing a limit on corridor i and reducing limits on the alternative corridor a. Let the cost of transporting cargo from corridor i via the alternative corridor a be denoted by ca,i. On the other hand, the same effect may exist with the corridor for which i is the alternative, the bequeathing corridor. Let this bequeathing corridor be denoted by b, and let \({\mathbb{E}}\left( {E_{b} } \right)\) denote the expected Excess from that corridor. A trade-off exists between increasing a limit on corridor i and reducing limits on the bequeathing corridor b.

Fig. 6
figure 6

Schematic overview of CFCM (rr, 2) problem with single alternatives

For a single corridor, the profit is denoted by:

$$\begin{aligned} J_{i} \left( {L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} } \right) & = \left( {f_{{{\text{E}},i}} - c_{i} } \right){\mathbb{E}}\left( {T_{{{\text{E}},i}} } \right) + \left( {f_{{{\text{S}},i}} - c_{i} } \right){\mathbb{E}}\left( {T_{{{\text{S}},i}} } \right) + c_{i} {\mathbb{E}}\left( {O_{i} } \right) \\ & \quad - c_{a,i} {\mathbb{E}}\left( {O_{i} - E_{i} } \right) - p{\mathbb{E}}\left( {E_{i} } \right) + \left( { p - c_{a,b} } \right){\mathbb{E}}\left( {O_{b} - E_{b} } \right) \\ \end{aligned}$$
(16)

These two effects, the reduced overflow cost effect, and the slack slot value effect can be made quantifiable by replacing the penalty value by a virtual penalty pi,v, and introducing a slack slot value si,v. The virtual penalty is the average rerouting costs per overflow unit, the slack slot value is the average cost saving per slack slot. They are provided by the following equations:

$$p_{i,v} = \left\{ {\begin{array}{*{20}l} {\frac{{c_{a,i} \left[ {{\mathbb{E}}\left( {O_{i} } \right) - {\mathbb{E}}\left( {E_{i} } \right)} \right] - p{\mathbb{E}}\left( {E_{i} } \right)}}{{{\mathbb{E}}\left( {O_{i} } \right)}}} \hfill & {if\, {\mathbb{E}}\left( {O_{i} } \right) > 0} \hfill \\ 0 \hfill & {otherwise} \hfill \\ \end{array} } \right.$$
(17)
$$s_{i,v} = \left\{ {\begin{array}{*{20}l} {\frac{{\left( { p - c_{a,b} } \right)\left[ {{\mathbb{E}}\left( {O_{b} } \right) - {\mathbb{E}}\left( {E_{b} } \right)} \right]}}{{{\mathbb{E}}\left( {S_{i} } \right)}}} \hfill & {if\, {\mathbb{E}}\left( {S_{i} } \right) > 0} \hfill \\ 0 \hfill & {otherwise} \hfill \\ \end{array} } \right.$$
(18)

Rewriting, we can use (17) and (18) to rewrite (16) to a virtual corridor profit Ji,v:

$$\begin{aligned} J_{i,v} \left( {L_{{{\text{E}},i}} ,L_{{{\text{S}},i}} } \right) & = \left( {f_{{{\text{E}},i}} - c_{i} } \right){\mathbb{E}}\left( {T_{{{\text{E}},i}} } \right) + \left( {f_{{{\text{S}},i}} - c_{i} } \right){\mathbb{E}}\left( {T_{{{\text{S}},i}} } \right) \\ & \quad - \left( {p_{i,v} - c_{i} } \right){\mathbb{E}}\left( {O_{i} } \right) + s_{i,v} {\mathbb{E}}\left( {O_{b} - E_{b} } \right) \\ \end{aligned}$$
(19)

Two key insights are important for our approach. Firstly, Eq. (19) has the same structure as the maximisation goal for a single corridor as in (1), with penalty p set to pi,v and slack slot value ψ set to \(s_{i,v} {\mathbb{E}}\left( {O_{b} - E_{b} } \right)\). In this way, we can use pi,v and si,v to include the benefits of network-rerouting in the single-corridor formulation and reuse Algorithm 1 per corridor for finding solutions fast. Secondly, the solution of the Markov Chains (step 3-iv) in Algorithm 1 does not depend on the value of pi,v and si,v, but only on the limits \(L_{{{\text{E}},i}} ,L_{{{\text{S}},i}}\). Therefore, all previously solved Markov Chains for specific limits can be reused for later computations for different values of pi,v and si,v.

Using these insights, we propose a double iterative solution algorithm: a network-wide iterative procedure aims to iteratively find optimal limits, until no more improvement to the network revenue can be found. Eh iteration considers every corridor separately, and per corridor an iterative procedure is used to estimate the values for pi,v and si,v, given the slack slot distribution of the alternative corridor a and the bequeathing corridor b. This approach is given as Algorithm 3. It works for any multi-corridor CFCM (rr, 2) network, in which a corridor has at most one bequeathing corridor. The computational complexity of Algorithm 3 increases linearly with the number of corridors r. Note that Algorithm 3 uses Algorithm 1, with a complexity per corridor of O(Ci log Ci). An extension in which a corridor is the alternative for multiple corridors is not fundamentally excluded by our assumptions but would require rewriting (16)–(19) and Algorithm 3 for a case with multiple bequeathing corridors. The computational complexity would get slightly worse as well, since the adapted algorithm would scale quadratically in the order of r2.

Although such an extension would potentially increase the value of network rerouting, the increase has limited value for real-world problems, as we will show in Sect. 4. Since such an extension would substantially complicate the notation of the analysis, we have not included it in this section.

Algorithm 3 Network solution for the CFCM (rr, 2) problem

1

Apply Algorithm 1 for each corridor i, to find corridor-optimal values for \(L_{E,i} ,L_{{{\text{S}},i}}\) and save for each corridor all solved Markov Chains for later use.

2

Determine the total network revenue J by rerouting any overflow demand—if possible. If this is the first iteration, or if the newest J exceeds the previous one, continue; else go to step 5.

3

Find for each corridor i the revenue maximising limits, provided the state of the other corridors:

 

a.

Determine the virtual corridor value Ji,v with (19), considering the rerouting between corridor b, i and a. If this is the first iteration, or if the newest Ji,v exceeds the previous one, continue; else go to step 3e.

 

b.

Determine the virtual penalty pi,v, and slack slot value si,v using (17) and (18).

 

c.

Find optimal limits given these values for pi,v and si,v, using Algorithm 1; re-use previously solved Markov Chains for specific values \(L_{E,i} ,L_{{{\text{S}},i}}\) whenever possible; save all newly solved Markov Chains.

 

d.

Go to step 3a., until converged.

 

e.

Continue for corridor i + 1, until this was the last corridor.

4

Restart at step 2, until converged.

5

Finish.

3.3.2 Upper bound for network solution, based on minimum alternative corridor cost

An upper bound is found if we consider the case in which all overflow can be rerouted over the cheapest alternative. I.e. we replace the penalty of each corridor by the rerouting cost of its alternative corridor:

$$\begin{aligned} J_{i}^{UB} \left( {L_{{{\text{E}},i}}^{{}} ,L_{{{\text{S}},i}} } \right) & = \left( {f_{{{\text{E}},i}} - c_{i} } \right){\mathbb{E}}\left( {T_{{{\text{E}},i}} } \right) + \left( {f_{{{\text{S}},i}} - c_{i} } \right){\mathbb{E}}\left( {T_{{{\text{S}},i}} } \right) \\ & \quad - \left( {c_{a,i} - c_{i} } \right){\mathbb{E}}\left( {O_{i} } \right),\,\,\,\,j \ne i \\ \end{aligned}$$

in which ca,i denotes the cost of the cheapest alternative route:

$$c_{a,i} = \mathop {\hbox{min} }\limits_{j} c_{j,i}$$

In this upper bound, only demand-routing options that are unprofitable are excluded. For cases in which the profit outweighs the rerouting costs, i.e. \(\left( {f_{{{\text{S}},i}} - c_{i} } \right) > \left( {c_{a,i} - c_{i} } \right)\), this is not a very tight bound. However, if rerouting is expensive compared to the profit per container, i.e. \(\left( {f_{{{\text{S}},i}} - c_{i} } \right) < \left( {c_{a,i} - c_{i} } \right)\) or even \(\left( {f_{{{\text{E}},i}} - c_{i} } \right) < \left( {c_{a,i} - c_{i} } \right)\), this bound is expected to be rather tight. Effectively, this is reducing the network problem to multiple single corridor problems with a penalty of ca,i.

3.3.3 Upper bound for network solution, based on maximum capacity on the alternative corridor

A tighter lower bound can be found considering the maximum available capacity on the alternative corridor. We denote the optimal limits for the single corridor case, \(L_{{{\text{E}},j}}^{*} ,L_{{{\text{S}},j}}^{*}\). In the network optimum, these limits could be lower to accommodate cargo from a bequeathing corridor.

At the same time, lowering the limits is not efficient if the expected incremental profit of an additional container on this corridor is higher than the profit of a rerouted container from the bequeathing corridor. Let corridor a be the alternative corridor for corridor i. Then, the limits on corridor j will not be lowered below the level xs,a for which \({\mathbb{P}}\left( {D_{{{\text{E}},a}} = x_{{{\text{E}},a}} } \right)\left( {f_{{{\text{E}},a}} - c_{a} } \right) > f_{{{\text{S}},i}} - c_{a,i}\) and \({\mathbb{P}}\left( {D_{{{\text{S}},a}} = x_{{{\text{S}},a}} } \right)\left( {f_{{{\text{S}},a}} - c_{a} } \right) > f_{{{\text{S}},a}} - c_{a,i}\). On corridor a, we can now conclude that the lower bound of the limits will be the minimum of \(L_{{{\text{E}},a}}^{'} = \hbox{min} \left( {L_{{{\text{E}},a}}^{*} ,x_{{{\text{E}},a}} } \right),L_{{{\text{S}},a}}^{'} = { \hbox{min} }\left( {L_{{{\text{S}},a}}^{*} ,x_{{{\text{S}},a}} } \right)\). For finding the upper bound on corridor i, we can now use a varying penalty function for the overflow slots. We use ca,i as the penalty value for all overflow slots up to \(C_{a} - L_{{{\text{E}},a}}^{'} - L_{{{\text{S}},a}}^{'}\). For all overflow slots above this level, we use the cost of the next alternative ci,k, where k is the alternative of corridor of a. This is schematically depicted in Fig. 7. For completeness, this procedure is provided as Algorithm 4. The computational complexity of this algorithm increases linearly with the number of corridors r, with a complexity of O(Ci log Ci) for each corridor.

Fig. 7
figure 7

Penalty function for overflow slots to find an upper bound

Algorithm 4 Algorithm for an upper bound for the CFCM (rr, 2) problem

1

For each corridor:

 

a.

Find cost of the cheapest alternative that can be used in case of overflow, i.e. the cost of rerouting over another corridor, or the costs of Excess trucking.

 

b.

Find the minimum limits of the alternative corridor (\(L_{{{\text{E}},j}}^{'} ;L_{{{\text{S}},j}}^{'}\))

 

c.

Set the penalty value to ca,i for all slots up to \(C_{j} - L_{{{\text{E}},j}}^{'} - L_{{{\text{S}},j}}^{'}\), and to ck,i above that.

 

d.

Apply Algorithm 1 to get an upper bound of the profit on that corridor

2

Take the sum of the profits of all corridors to obtain the network upper bound.

3.4 Numerical results and sensitivity analysis

In order to get more insight in relevant aspects of the problem that influence the network effect, we performed a sensitivity analysis in a stylised setting with two corridors. For different settings, we compare the baseline of individual corridor optimums with the result of using rerouting. We compare four results for the network setting: using rerouting based on corridor optimums, the lower and upper bounds of Sect. 3.3 and the network optimum based on the results of Sect. 3.2. Additionally, to show the benefits of the studied product combination, we also consider the case of using first-come-first-serve (FCFS) routing, i.e. when only the standard product is available. In a FCFS setting, no express product is offered, since it represents a product with a long-term commitment of fast transportation in our analysis. In Van Riessen et al. (2017) we showed in more detail the effect of introducing an Express product. We consider two corridors in which one has a moderate profit margin, and one a significant profit margin (see Table 3). In the table, three parameters are denoted by (xyz); for each experiment, one of these parameters is changed to one of the alternative values indicated in the table; changing one parameter at a time. With parameter x, we study the sensitivity for excess trucking costs (the cost of excess trucking is changed for both corridors simultaneously). Parameter y is used for changing only corridor 1: the demand on this corridor is varied in a wide range to see its effect on the network profitability and effectiveness of our proposed method. Finally, parameter z is used to study the sensitivity for the ratio between Express and Standard demand. All other settings are denoted in Table 3, the standard settings for (xyz) are denoted between brackets. The FCFS setting is determined using no penalty (x = 0), the demand of the Standard setting (y = 70%) and no Express demand (z = 0).

Table 3 Standard experiment setting sensitivity analysis

Figure 8 shows the resulting profits for the Standard case of Table 3. More details are provided in Table 4. By applying Algorithm 1 to both corridors individually, the optimums per corridor are found. The sum of this gives the corridor optimum (CO) of 12.79. In the corridor optimum, rerouting (RR) provides little additional profit (12.87, + 0.6%). Applying Algorithm 2 gives the network optimum (NO) of 13.04 (+ 1.3%, compared to RR). Algorithm 2 provides the global optimum, but the computation time is only feasible for a simple benchmark case such as this one. Applying Algorithm 3—which is more scalable to larger problems—results in a lower bound, in this case close to the optimum: 12.97. Still, this is only +0.8% over the result based on corridor optimums with rerouting (RR). An upper bound can be found with Algorithm 4, resulting in 13.17. For this setting, the benefit of a network solution is negligible.

Fig. 8
figure 8

Profit for standard setting (basis for sensitivity analysis, normalised to corridor optimum)

Table 4 Results of Algorithms 1–4 for CFCM (2, 2, 2) problem

With a low cost of Excess trucking, the quality of the bounds is better than in a situation with very high Excess trucking. This effect can be seen in Fig. 9a: the lower and upper bounds of the network gain is largest for higher values of excess trucking costs. However, the effect of excess trucking costs is limited for the network optimum. For all cases, the potential benefit of a network solution is just below 2%. Figure 9b shows the effect of demand volume in comparison with capacity. For corridor 1, demand is varied between 20% and 150% of its capacity, while demand on the second corridor is kept constant. The effects on our methods for the lower and upper bound are different. If demand < 1, the lower bound on the network optimum is higher than the result of rerouting only. The actual network optimum appears to be equal to the upper bound. It shows that our lower bound method is beneficial to exploit available capacity for these situations. On the other hand, for cases with demand > 1, the network optimum does not provide an advantage compared to the case of using the individual corridor optimums (with rerouting). However, in these cases, the upper bound method is not very tight.

Fig. 9
figure 9

Results sensitivity analysis

Finally, Fig. 9c shows the effect of express demand. From the figure, we can see that from low to high fractions of express, rerouting and network solutions provide similar benefit. Also, the lower and upper bound methods are close to the optimum for all variations in Express demand fractions.

4 Case study of the CFCM problem in the EGS network

In this section, the procedure proposed for the CFCM (rr, 2) problem is applied to two cases. The cases represent two different parts of the synchromodal transportation network of EGS (Fig. 10). Case 1 considers the transportation of containers from the port of Rotterdam towards two destinations in the industrial Ruhr area: Venlo and Duisburg. Case 2 represents transportation to Central Europe, i.e. 5 corridors from Rotterdam to inland terminals in Southern Germany and France. Table 5 provides a general overview of the two corridors and the main differences. Case 1 represents a two-corridor network structure with high volume and relatively short distances. Therefore, the costs for trucking excess demand, and the additional costs for rerouting are tolerable. On the other hand, case two represents a 5-corridor network with much lower throughput to a more distant and wider dispersed area. Therefore, both excess trucking and rerouting come at significant additional costs. The areas that these two cases represent are considered as two very different business settings. The different settings are represented by differences in (1) distance to the port (2) distance between locations, also relative to the port distance and (3) volume, see Table 5. In the remainder of this section we consider all parameters, such as capacity and prices, based on 40-foot containers, or forty-foot equivalent units (FEU). We consider the import flow, i.e. from the deep-sea port towards the inland terminal. We make a comparison between these two cases, and how the effect of a network approach for the fare class limits differs between these cases.

Fig. 10
figure 10

Case study locations EGS network

Table 5 Two case studies with the CFCM (rr, 2) model

4.1 Network solution high demand target area: Rotterdam–Ruhr area

EGS operates two high volume corridors between the port of Rotterdam and the Ruhr area, Venlo, and Duisburg. On the corridors both rail and barge services operate, but we ignore transportation time and do not distinguish between the modes. The average distance from the port of Rotterdam is 219 km. The distance between both locations is 53 km. In order to apply Algorithm 3, we make the following assumptions. For the capacity, we take the average available slots per period on each corridor. The transportation cost per FEU is based on the average slot costs of all rail and barge slots. For demand and prices, we will use input from EGS’s internal research into the market for synchromodal products. We assume Poisson distributed demand per day.

The transportation cost matrix is determined as follows: if a container is transported on the regular corridor, i.e. towards a final destination towards the end of that corridor, we use the slot costs of a direct transport on that corridor. If an alternative route is selected, this will incur different slot costs for the corridor transport, and on top of that the local delivery is more expensive: the container must be rerouted to its original destination area. Therefore, for an alternative route, we use the slot costs on the alternative route, and in addition the extra costs for local truck delivery. The cost matrix for Case 1 is provided in Table 6. For confidentiality reasons, cost information is normalised to the lowest costs, and demand is normalised to the destination with the highest expected demand. For prices, we will use input from EGS’s internal research into the market for synchromodal products.

Table 6 Parameters case 1—high demand target area

The results are provided in Table 7 and the expected profits are visualised in Fig. 11a. By applying Algorithm 1 to both corridors separately, the optimal limits for these corridors are found. Together, these corridors give an expected profit per period of 45.33. Applying Algorithm 3 to this case, does not provide a higher expected profit and gives the same solution as individually optimising the corridors. This is also a lower bound for the network optimum. Algorithm 4 gives an upper bound for the network optimum of 45.79, a maximum increase of 1.1% over the corridor optimum.

Table 7 Results for case 1—high demand target area
Fig. 11
figure 11

Profit per period for cases 1 and 2 (normalised to the corridor optimums)

4.2 Network solution dispersed long-distance area: Rotterdam–Central Europe

In the second case, we consider container transportation between Rotterdam and 5 inland terminals in Central Europe, Nuremberg, Munich, Aschaffenburg, Stuttgart and Strasbourg. The average distance of these location from the port of Rotterdam is 635 km. No barge transport is considered, for each of the five locations we consider the rail connection. The distance between the 5 inland locations ranges from 169 to 676 km. For this case, we consider a horizon for Express of 3 days, and for Standard twice that, 6 days. Therefore, in order to apply Algorithm 3, we make the following assumptions. For the capacity, we take the average available slots on 3 days on each corridor. The transportation cost per FEU is based on the average slot costs of all rail slots. For demand and prices, we will use input from EGS’s internal research into the market for synchromodal products. We assume Poisson distributed demand. The transportation cost matrix is determined as in the previous case, provided in Table 8.

Table 8 Parameter setting case 2—dispersed demand in long-distance area

The results are tabularised in Table 9, and the profits are shown in Fig. 11b. By applying Algorithm 1 to each corridor individually, we get a total expected profit of 7.54. Subsequently, we apply Algorithm 3, to consider the benefits of the network. After step 2 of Algorithm 3, we have the expected profit considering network rerouting, based on the limits of the individual corridor optima. This gives a slight increase of 0.5%, to an expected profit of 7.58. By finishing Algorithm 3, we obtained an improved network solution, 7.60 (+ 0.8%), which is a lower bound for the network optimum. The upper bound for the network optimum is obtained by Algorithm 4 and equals 7.73, an increase of 2.4% over the corridor optimum.

Table 9 Results for case 2—dispersed destinations in a long-distance area

The proposed methods provide results for both cases within seconds or minutes. For the application of determining booking limits in practice, that is sufficiently fast. The two cases from the EGS network represent different realistic settings from practice, and the corridor optimum gives a good result for both. Figure 11 shows the network solution mostly adds benefit for the Central Europe area, whereas for the Ruhr area it does not. Therefore, practical applicants should start with computing the corridor optimum using Algorithm 1 and subsequently check the improvement potential with our proposed network solution (Algorithm 3).

5 Conclusions and future research

With the introduction of the Cargo Fare Class Mix problem, we aimed to create a bridge between the operations management of optimising transportation planning and the revenue management of optimising the service portfolio in synchromodal container networks. So far, only methods for smaller single corridor problems have been studied. In this article we provided a method that is faster than earlier methods and suitable for larger corridors. Secondly, we proposed an approach for finding limits in the CFCM (rr, 2) problem. This approach is suitable for use in practice, as we showed in a case study of two parts of the EGS network. We also showed how sensitive the problem is for various settings:

  • For higher excess trucking cost levels, the network approach is beneficial. If the cost of excess trucking is low relative to the intermodal transportation costs, the proposed network method provides little improvement.

  • For low demand levels on one corridor, the improvement by considering the network approach is significant. If demand on this corridor is high compared to the available capacity, the benefit of our lower bound method for a network solution is limited, but the upper bound is high.

  • The fraction of express demand is not very important: For all express fractions, network rerouting becomes relevant, making the network approach significant.

The above shows that an intermodal operator has multiple options to adjust demand to available capacity. Our approach aims at balancing the available express and standard demand in an optimal way, leveraging the flexibility in the network. Alternatively, the operator can focus on flexibility within the corridor, e.g. by aiming on large parts of demand that can be postponed such as the Standard fare class. Hence, we showed that revenue management for synchromodal transportation, as proposed in this article, is beneficial in some cases, as it supports offering a higher priced express service, while at the same time increasing capacity utilisation.

A series of mathematical proofs was used for a new approach that reduced the computational complexity from O(C2) to O(C log C). For the realistic cases considered in this paper, the new approach was very fast. Furthermore, a generalised framework was presented to assess the optimal combination of two fare classes in an intermodal network. The improved corridor approach was used in methods for finding lower and upper bounds for the subset of network problems. This subset considered cases with r destinations and r corridors, considering one alternative corridor per destination. It was shown with sensitivity analyses that lower and upper bounds are tight for some settings.

The results from this study are based on specific assumptions on the demand distribution: We assume independent distributions for both service types, ignoring the possibilities of substitution. We assume independent demand distributions per corridor, ignoring potential seasonal or market effects that influence multiple corridors simultaneously. Also, our method is aimed at cases in which a corridor is the alternative for at most one corridor. In practice, our approach is not fundamentally limited to this situation: Algorithm 3 can be applied to a more complex rerouting algorithm as well. However, this would not add significant benefit to the class of transport problems considered in this paper but would substantially complicate the notation of the analysis. It will be interesting, however, to study as part of future research the impact of more advanced rerouting in more complex networks. In future research, we aim to develop models for the CFCM problem that consider multiple customers per corridor. In such a situation, the intermodal operator may want to create an optimal portfolio of selected customers that match his available capacity as good as possible. Two alternative modelling strategies for such a problem are provided in “Appendix 3”.

From our experience with EGS we know that the industry has only recently started considering the product portfolio in conjunction with the operational network management. Further integration of several aspects, such as network scheduling, dynamic updates, capacity sourcing and transportation product definitions requires continuous research on the topic.